napkin-runtime
Safe HaskellNone
LanguageGHC2024

Napkin.Run.Metadata.KVStore

Documentation

class (FromJSON payload, Ord key, ToJSON payload) => MetadataPayload key payload | key -> payload where #

Methods

keyText :: key -> Text #

kvReadMany :: forall key payload m. (Katip m, MetadataPayload key payload, MonadIO m) => KVS -> [key] -> m (Map key payload) #

kvRead :: (Katip m, MetadataPayload key payload, MonadIO m) => KVS -> key -> m (Maybe payload) #

kvWrite :: (Katip m, MetadataPayload key payload, MonadIO m) => KVS -> key -> payload -> m () #

kvUpdate :: (Katip m, MetadataPayload key payload, MonadIO m) => KVS -> key -> (Maybe payload -> payload) -> m () #

data KVS #

Constructors

KVS 

Fields

newtype MetadataErrorInfo #

Constructors

MetadataErrorInfo Text 

Instances

Instances details
Generic MetadataErrorInfo # 
Instance details

Defined in Napkin.Run.Metadata.KVStore

Associated Types

type Rep MetadataErrorInfo 
Instance details

Defined in Napkin.Run.Metadata.KVStore

type Rep MetadataErrorInfo = D1 ('MetaData "MetadataErrorInfo" "Napkin.Run.Metadata.KVStore" "napkin-runtime-2.0.0-Jnfp0IultB031hOPo9RyGD" 'True) (C1 ('MetaCons "MetadataErrorInfo" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))
Show MetadataErrorInfo # 
Instance details

Defined in Napkin.Run.Metadata.KVStore

Eq MetadataErrorInfo # 
Instance details

Defined in Napkin.Run.Metadata.KVStore

ToNapkinError MetadataErrorInfo # 
Instance details

Defined in Napkin.Run.Metadata.KVStore

type Rep MetadataErrorInfo # 
Instance details

Defined in Napkin.Run.Metadata.KVStore

type Rep MetadataErrorInfo = D1 ('MetaData "MetadataErrorInfo" "Napkin.Run.Metadata.KVStore" "napkin-runtime-2.0.0-Jnfp0IultB031hOPo9RyGD" 'True) (C1 ('MetaCons "MetadataErrorInfo" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

type InitKVS (m :: Type -> k) = m (Either MetadataErrorInfo (KVS, IO ())) #

withKVS :: (MonadIO m, MonadResource m) => InitKVS m -> (KVS -> m a) -> m (Either MetadataErrorInfo a) #