Module

Data.Codec.Argonaut.Record

Package
purescript-codec-argonaut
Repository
garyb/purescript-codec-argonaut

#RowListCodec Source

class RowListCodec (rl :: RowList) (ri :: Row Type) (ro :: Row Type) | rl -> ri ro where

Members

Instances

#record Source

record :: forall rl ro ri. RowToList ri rl => RowListCodec rl ri ro => Record ri -> JPropCodec (Record ro)

Constructs a record codec from a record of codecs.

type Person = { name ∷ String, age ∷ Int }

personCodec ∷ CA.JsonCodec Person
personCodec = CA.object "Person" (record { name: CA.string, age: CA.int })

decode personCodec "{ name: \"Carl\", age:\"25\" }" == Right { name: "Carl", age: 25 }