Copyright | Aleksandr Krupenkin 2016-2024 |
---|---|
License | Apache-2.0 |
Maintainer | mail@akru.me |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Network.Polkadot.Metadata.Type.Discovery
Description
Runtime type discovery for generic metadata structures.
Synopsis
- data DiscoveryContext
- class Discovery a where
- discovery :: MonadState DiscoveryContext m => a -> m a
- runDiscovery :: (Discovery a, Traversable t) => (a -> Text) -> t a -> (t a, Set Type)
- prefix :: Lens' DiscoveryContext Text
- types :: Lens' DiscoveryContext (Set Type)
Documentation
data DiscoveryContext Source #
Contains information about types and current context.
Instances
Monoid DiscoveryContext Source # | |
Defined in Network.Polkadot.Metadata.Type.Discovery Methods mappend :: DiscoveryContext -> DiscoveryContext -> DiscoveryContext # mconcat :: [DiscoveryContext] -> DiscoveryContext # | |
Semigroup DiscoveryContext Source # | |
Defined in Network.Polkadot.Metadata.Type.Discovery Methods (<>) :: DiscoveryContext -> DiscoveryContext -> DiscoveryContext # sconcat :: NonEmpty DiscoveryContext -> DiscoveryContext # stimes :: Integral b => b -> DiscoveryContext -> DiscoveryContext # | |
Show DiscoveryContext Source # | |
Defined in Network.Polkadot.Metadata.Type.Discovery Methods showsPrec :: Int -> DiscoveryContext -> ShowS # show :: DiscoveryContext -> String # showList :: [DiscoveryContext] -> ShowS # | |
Eq DiscoveryContext Source # | |
Defined in Network.Polkadot.Metadata.Type.Discovery Methods (==) :: DiscoveryContext -> DiscoveryContext -> Bool # (/=) :: DiscoveryContext -> DiscoveryContext -> Bool # |
class Discovery a where Source #
Collects information about runtime types.
Methods
Arguments
:: MonadState DiscoveryContext m | |
=> a | Input data structure that contains type information. |
-> m a | Returns the same structure wrapped with registry state monad. |
Discover metadata structure for type information.
Instances
Discovery Word8 Source # | Skip |
Defined in Network.Polkadot.Metadata.Type.Discovery Methods discovery :: MonadState DiscoveryContext m => Word8 -> m Word8 Source # | |
Discovery HexString Source # | Skip |
Defined in Network.Polkadot.Metadata.Type.Discovery Methods discovery :: MonadState DiscoveryContext m => HexString -> m HexString Source # | |
Discovery Text Source # | Skip |
Defined in Network.Polkadot.Metadata.Type.Discovery Methods discovery :: MonadState DiscoveryContext m => Text -> m Text Source # | |
Discovery Type Source # | Register |
Defined in Network.Polkadot.Metadata.Type.Discovery Methods discovery :: MonadState DiscoveryContext m => Type -> m Type Source # | |
(Generic a, GDiscovery (NS (NP I) (Code a))) => Discovery a Source # | If input type is generic structure, let's go deep using generics. |
Defined in Network.Polkadot.Metadata.Type.Discovery Methods discovery :: MonadState DiscoveryContext m => a -> m a Source # |
runDiscovery :: (Discovery a, Traversable t) => (a -> Text) -> t a -> (t a, Set Type) Source #
Discovery types and returns sanitized metadata and set of discovered types.