Module
Codec.Json.Unidirectional.Encode.Class
- Package
- purescript-json-codecs
- Repository
- jordanmartinez/purescript-json-codecs
#EncodeJson Source
class EncodeJson extra a where
Members
encodeJsonFn :: Fn2 extra a Json
Instances
EncodeJson extra Json
EncodeJson extra Void
EncodeJson extra Unit
EncodeJson extra Boolean
EncodeJson extra Int
EncodeJson extra Char
EncodeJson extra Number
EncodeJson extra String
EncodeJson extra NonEmptyString
(EncodeJson extra a) => EncodeJson extra (Array a)
(EncodeJson extra a) => EncodeJson extra (NonEmptyArray a)
(EncodeJson extra a) => EncodeJson extra (Object a)
(EncodeJson extra a) => EncodeJson extra (Nullable a)
(Coercible a (Identity a), EncodeJson extra a) => EncodeJson extra (Identity a)
(EncodeJson extra a) => EncodeJson extra (Maybe a)
(EncodeJson extra l, EncodeJson extra r) => EncodeJson extra (Either l r)
(EncodeJson extra l, EncodeJson extra r) => EncodeJson extra (Tuple l r)
(EncodeJson extra l, EncodeJson extra r) => EncodeJson extra (These l r)
(EncodeJson extra a, EncodeJson extra (f a)) => EncodeJson extra (NonEmpty f a)
(EncodeJson extra a) => EncodeJson extra (List a)
(EncodeJson extra a) => EncodeJson extra (NonEmptyList a)
(Ord k, EncodeJson extra k, EncodeJson extra v) => EncodeJson extra (Map k v)
(Ord a, EncodeJson extra a) => EncodeJson extra (Set a)
(Ord a, EncodeJson extra a) => EncodeJson extra (NonEmptySet a)
EncodeJson extra CodePoint
(Newtype extra (Record rows), Cons sym (ExistentialEncoder0 a) tail rows, IsSymbol sym) => EncodeJson extra (K0 sym a)
(Newtype extra (Record rows), Cons sym (ExistentialEncoder1 f) tail rows, EncodeJson extra a, IsSymbol sym) => EncodeJson extra (K1 sym (f a))
(Newtype extra (Record rows), Cons sym (ExistentialEncoder2 f) tail rows, EncodeJson extra a, EncodeJson extra b, IsSymbol sym) => EncodeJson extra (K2 sym (f a b))
(Newtype extra (Record rows), Cons sym (ExistentialEncoder3 f) tail rows, EncodeJson extra a, EncodeJson extra b, EncodeJson extra c, IsSymbol sym) => EncodeJson extra (K3 sym (f a b c))
(RowToList rows rl, EncodeRecordInput rl extra (Record rows)) => EncodeJson extra (Record rows)
#encodeJson Source
encodeJson :: forall a. EncodeJson Unit a => a -> Json
#encodeJson' Source
encodeJson' :: forall extra a. EncodeJson extra a => extra -> a -> Json
#ExistentialEncoder0 Source
data ExistentialEncoder0 t0
Build a value via mkExistentialEncoder0
.
#mkExistentialEncoder0 Source
mkExistentialEncoder0 :: forall extra a. (Fn2 extra a Json) -> ExistentialEncoder0 a
#ExistentialEncoder1 Source
data ExistentialEncoder1 :: (Type -> Type) -> Type
data ExistentialEncoder1 t0
Build a value via mkExistentialEncoder1
.
#mkExistentialEncoder1 Source
mkExistentialEncoder1 :: forall extra f a. (Fn2 extra a Json) -> (Fn2 extra (f a) Json) -> ExistentialEncoder1 f
#ExistentialEncoder2 Source
data ExistentialEncoder2 :: (Type -> Type -> Type) -> Type
data ExistentialEncoder2 t0
Build a value via mkExistentialEncoder2
.
#mkExistentialEncoder2 Source
mkExistentialEncoder2 :: forall extra f a b. ((Fn2 extra a Json) -> (Fn2 extra b Json) -> (Fn2 extra (f a b) Json)) -> ExistentialEncoder2 f
#ExistentialEncoder3 Source
data ExistentialEncoder3 :: (Type -> Type -> Type -> Type) -> Type
data ExistentialEncoder3 t0
Build a value via mkExistentialEncoder3
.
#mkExistentialEncoder3 Source
mkExistentialEncoder3 :: forall extra f a b c. ((Fn2 extra a Json) -> (Fn2 extra b Json) -> (Fn2 extra c Json) -> (Fn2 extra (f a b c) Json)) -> ExistentialEncoder3 f
#RowListRecord Source
newtype RowListRecord :: RowList Type -> Type -> Type
newtype RowListRecord rl rec
#EncodeRecordInput Source
class EncodeRecordInput :: RowList Type -> Type -> Type -> Constraint
class EncodeRecordInput rl extra rec | rl -> extra rec where
Members
encodeRecordInput :: Fn2 (RowListRecord rl rec) extra (Object Json)
Instances
EncodeRecordInput Nil extra (Record ())
(EncodeJson extra a, EncodeRecordInput tailList extra (Record tailRows), Cons sym (Optional (Maybe a)) tailRows outRows, IsSymbol sym) => EncodeRecordInput (Cons sym (Optional (Maybe a)) tailList) extra (Record outRows)
(EncodeJson extra a, EncodeRecordInput tailList extra (Record tailRows), Cons sym a tailRows outRows, IsSymbol sym) => EncodeRecordInput (Cons sym a tailList) extra (Record outRows)
- Modules
- Codec.
Codec - Codec.
Decoder - Codec.
Decoder. Qualified - Codec.
Json. Bidirectional. Class - Codec.
Json. Bidirectional. Value - Codec.
Json. Errors. AnsiDodoError - Codec.
Json. Errors. DecodeMessages - Codec.
Json. Errors. NoError - Codec.
Json. Errors. PlainDodoError - Codec.
Json. Errors. PrimitiveJsonError - Codec.
Json. Errors. Tree - Codec.
Json. JsonCodec - Codec.
Json. JsonDecoder - Codec.
Json. Newtypes - Codec.
Json. Types - Codec.
Json. Unidirectional. Decode. Class - Codec.
Json. Unidirectional. Decode. Value - Codec.
Json. Unidirectional. Encode. Class - Codec.
Json. Unidirectional. Encode. Value - Data.
V. Semigroup. Qualified
Local overrides for types with kind
Type
. Implementation for types annotated with theK3
type are provided via theextra
label inJsonDecoderInput
. Value forextra
must be a newtyped record. Thesym
inK3 sym a
must be the label name witin that newtyped record that contains the function,EncodeJsonInput extra a -> EncodeJsonInput extra b -> EncodeJsonInput extra c -> EncodeJsonInput extra (f a b c)
. The input arguments are the correspondingDecodeJson
implementations fora
,b
, andc
. Thus, one is only overriding the implementation forf
, nota
,b
, andc
as well.