Module
Codec.Codec
- Package
- purescript-json-codecs
- Repository
- jordanmartinez/purescript-json-codecs
Note: this module is the same as purescript-codec@v6.0.0
with the following changes:
Codec
'sdecode
andencode
functions were converted to an uncurried representation viaFn*
types- The decode function includes additional parts that enable custom decoding errors.
- The decoding monad was hard-coded to
V e
decode
andencode
were renamed todecoder
andencoder
#Codec Source
data Codec decodePath decodeHandlers decodeError extra decodeInput encodeOutput encodeInput decodeOutputEncodeAccumulator
Constructors
Codec (DecoderFn decodePath decodeHandlers decodeError extra decodeInput decodeOutputEncodeAccumulator) (Fn2 extra encodeInput (Tuple encodeOutput decodeOutputEncodeAccumulator))
Instances
Functor (Codec decodePath decodeHandlers decodeError extra decodeInput encodeOutput encodeInput)
Invariant (Codec decodePath decodeHandlers decodeError extra decodeInput encodeOutput encodeInput)
(Semigroup encodeOutput) => Apply (Codec decodePath decodeHandlers decodeError extra decodeInput encodeOutput encodeInput)
(Monoid encodeOutput) => Applicative (Codec decodePath decodeHandlers decodeError extra decodeInput encodeOutput encodeInput)
Profunctor (Codec decodePath decodeHandlers decodeError extra decodeInput encodeOutput)
#codec Source
codec :: forall decodePath decodeHandlers decodeError extra decodeInput encodeOutput encodeInput. (DecoderFn decodePath decodeHandlers decodeError extra decodeInput encodeInput) -> (Fn2 extra encodeInput encodeOutput) -> Codec decodePath decodeHandlers decodeError extra decodeInput encodeOutput encodeInput encodeInput
#codec' Source
codec' :: forall decodePath decodeHandlers decodeError extra decodeFromEncodeTo decodeToEncodeFrom. (DecoderFn decodePath decodeHandlers decodeError extra decodeFromEncodeTo decodeToEncodeFrom) -> (Fn2 extra decodeToEncodeFrom decodeFromEncodeTo) -> Codec' decodePath decodeHandlers decodeError extra decodeFromEncodeTo decodeToEncodeFrom
#decoder Source
decoder :: forall decodePath decodeHandlers decodeError extra decodeInput encodeOutput encodeInput decodeOutputEncodeAccumulator. Codec decodePath decodeHandlers decodeError extra decodeInput encodeOutput encodeInput decodeOutputEncodeAccumulator -> DecoderFn decodePath decodeHandlers decodeError extra decodeInput decodeOutputEncodeAccumulator
#encoder Source
encoder :: forall decodePath decodeHandlers decodeError extra decodeInput encodeOutput encodeInput decodeOutputEncodeAccumulator. Codec decodePath decodeHandlers decodeError extra decodeInput encodeOutput encodeInput decodeOutputEncodeAccumulator -> Fn2 extra encodeInput (Tuple encodeOutput decodeOutputEncodeAccumulator)
#composeFlipped Source
composeFlipped :: forall decodePath decodeHandlers decodeError extra a d f b e c. Codec decodePath decodeHandlers decodeError extra a b c d -> Codec decodePath decodeHandlers decodeError extra d c e f -> Codec decodePath decodeHandlers decodeError extra a b e f
#(~) Source
Operator alias for Data.Profunctor.lcmap (left-associative / precedence 5)
Codec
is defined as a Profunctor
so that lcmap
can be used to target
specific fields when defining a codec for a product type. This operator
is a convenience for that:
tupleCodec =
Tuple
<$> fst ~ fstCodec
<*> snd ~ sndCodec
#mapDecodeError Source
mapDecodeError :: forall decodePath decodeHandlers decodeError extra decodeInput encodeOutput encodeInput decodeOutputEncodeAccumulator. (DecoderFn decodePath decodeHandlers decodeError extra decodeInput decodeOutputEncodeAccumulator -> DecoderFn decodePath decodeHandlers decodeError extra decodeInput decodeOutputEncodeAccumulator) -> Codec decodePath decodeHandlers decodeError extra decodeInput encodeOutput encodeInput decodeOutputEncodeAccumulator -> Codec decodePath decodeHandlers decodeError extra decodeInput encodeOutput encodeInput decodeOutputEncodeAccumulator
- 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