IdrisDoc: TParsec.Combinators.JSON

TParsec.Combinators.JSON

array : Monad mn => Alternative mn => Inspect (Toks p) (Tok p) => Eq (Tok p) => Subset Char (Tok p) => All (Box (Parser mn p JSON) :-> Parser mn p (List JSON))

Subparser for JSON arrays, provided a subparser for smaller JSON objects
According to the RFC:
array = begin-array [ value *( value-separator value ) ] end-array

beginArray : Monad mn => Alternative mn => Inspect (Toks p) (Tok p) => Eq (Tok p) => Subset Char (Tok p) => All (Parser mn p ())
beginObject : Monad mn => Alternative mn => Inspect (Toks p) (Tok p) => Eq (Tok p) => Subset Char (Tok p) => All (Parser mn p ())
endArray : Monad mn => Alternative mn => Inspect (Toks p) (Tok p) => Eq (Tok p) => Subset Char (Tok p) => All (Parser mn p ())
endObject : Monad mn => Alternative mn => Inspect (Toks p) (Tok p) => Eq (Tok p) => Subset Char (Tok p) => All (Parser mn p ())
member : Monad mn => Alternative mn => Inspect (Toks p) (Tok p) => Eq (Tok p) => Subset Char (Tok p) => Subset (Tok p) Char => All (Box (Parser mn p JSON) :-> Parser mn p (String, JSON))

Subparser for members, provided a subparser for smaller JSON objects
According to the RFC:
member = string name-separator value

nameSeparator : Monad mn => Alternative mn => Inspect (Toks p) (Tok p) => Eq (Tok p) => Subset Char (Tok p) => All (Parser mn p ())
object : Monad mn => Alternative mn => Inspect (Toks p) (Tok p) => Eq (Tok p) => Subset Char (Tok p) => Subset (Tok p) Char => All (Box (Parser mn p JSON) :-> Parser mn p (List (String, JSON)))

Subparser for JSON objects, provided a subparser for smaller JSON objects
According to the RFC:
object = begin-object [ member *( value-separator member ) ] end-object

value : Monad mn => Alternative mn => Inspect (Toks p) (Tok p) => Eq (Tok p) => Subset Char (Tok p) => Subset (Tok p) Char => All (Parser mn p JSON)

Parsing JSON values

valueSeparator : Monad mn => Alternative mn => Inspect (Toks p) (Tok p) => Eq (Tok p) => Subset Char (Tok p) => All (Parser mn p ())