argo-0.2021.11.13: Parse and render JSON.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Argo.Type.Codec

Documentation

project :: (i -> f) -> CodecOf r w f o -> CodecOf r w i o Source #

data CodecOf r w i o Source #

Constructors

Codec 

Fields

Instances

Instances details
(Functor r, Functor w) => Functor (CodecOf r w i) Source # 
Instance details

Defined in Argo.Type.Codec

Methods

fmap :: (a -> b) -> CodecOf r w i a -> CodecOf r w i b #

(<$) :: a -> CodecOf r w i b -> CodecOf r w i a #

(Applicative r, Applicative w) => Applicative (CodecOf r w i) Source # 
Instance details

Defined in Argo.Type.Codec

Methods

pure :: a -> CodecOf r w i a #

(<*>) :: CodecOf r w i (a -> b) -> CodecOf r w i a -> CodecOf r w i b #

liftA2 :: (a -> b -> c) -> CodecOf r w i a -> CodecOf r w i b -> CodecOf r w i c #

(*>) :: CodecOf r w i a -> CodecOf r w i b -> CodecOf r w i b #

(<*) :: CodecOf r w i a -> CodecOf r w i b -> CodecOf r w i a #

(Alternative r, Alternative w) => Alternative (CodecOf r w i) Source # 
Instance details

Defined in Argo.Type.Codec

Methods

empty :: CodecOf r w i a #

(<|>) :: CodecOf r w i a -> CodecOf r w i a -> CodecOf r w i a #

some :: CodecOf r w i a -> CodecOf r w i [a] #

many :: CodecOf r w i a -> CodecOf r w i [a] #

type Codec r w a = CodecOf r w a a Source #

dimap :: (Functor r, Functor w) => (a -> b) -> (b -> a) -> Codec r w a -> Codec r w b Source #

tap :: Functor f => (a -> f b) -> a -> f a Source #

mapMaybe :: (Alternative r, Alternative w, Monad r, Monad w) => (o2 -> Maybe o1) -> (i1 -> Maybe i2) -> CodecOf r w i2 o2 -> CodecOf r w i1 o1 Source #