Module
Data.Codec.Argonaut.Variant
- Package
- purescript-codec-argonaut
- Repository
- garyb/purescript-codec-argonaut
#VariantCodec Source
class VariantCodec (rl :: RowList) (ri :: Row Type) (ro :: Row Type) | rl -> ri ro where
Members
variantCodec :: RLProxy rl -> Record ri -> JsonCodec (Variant ro)
Instances
VariantCodec Nil () ()
(VariantCodec rs ri' ro', RowCons sym (Either a (JsonCodec a)) ri' ri, RowCons sym a ro' ro, IsSymbol sym, TypeEquals co (Either a (JsonCodec a))) => VariantCodec (Cons sym co rs) ri ro
#variantMatch Source
variantMatch :: forall ro ri rl. RowToList ri rl => VariantCodec rl ri ro => Record ri -> JsonCodec (Variant ro)