Module

Data.Argonaut

Package
purescript-argonaut
Repository
purescript-contrib/purescript-argonaut

Re-exports from Data.Argonaut.Core

#Json Source

data Json :: Type

The type of JSON data. The underlying representation is the same as what would be returned from JavaScript's JSON.parse function; that is, ordinary JavaScript booleans, strings, arrays, objects, etc.

Instances

#stringify Source

#jsonZero Source

#jsonTrue Source

#jsonSingletonObject Source

#jsonSingletonArray Source

#jsonNull Source

#jsonFalse Source

#jsonEmptyString Source

#jsonEmptyObject Source

#jsonEmptyArray Source

#isBoolean Source

#fromString Source

#fromNumber Source

#fromBoolean Source

#caseJsonString Source

caseJsonString :: forall a. a -> (String -> a) -> Json -> a

A simpler version of caseJson which accepts a callback for when the Json argument was a String, and a default value for all other cases.

#caseJsonObject Source

caseJsonObject :: forall a. a -> (Object Json -> a) -> Json -> a

A simpler version of caseJson which accepts a callback for when the Json argument was an Object, and a default value for all other cases.

#caseJsonNumber Source

caseJsonNumber :: forall a. a -> (Number -> a) -> Json -> a

A simpler version of caseJson which accepts a callback for when the Json argument was a Number, and a default value for all other cases.

#caseJsonNull Source

caseJsonNull :: forall a. a -> (Unit -> a) -> Json -> a

A simpler version of caseJson which accepts a callback for when the Json argument was null, and a default value for all other cases.

#caseJsonBoolean Source

caseJsonBoolean :: forall a. a -> (Boolean -> a) -> Json -> a

A simpler version of caseJson which accepts a callback for when the Json argument was a Boolean, and a default value for all other cases.

#caseJsonArray Source

caseJsonArray :: forall a. a -> (Array Json -> a) -> Json -> a

A simpler version of caseJson which accepts a callback for when the Json argument was a Array Json, and a default value for all other cases.

#caseJson Source

caseJson :: forall a. (Unit -> a) -> (Boolean -> a) -> (Number -> a) -> (String -> a) -> (Array Json -> a) -> (Object Json -> a) -> Json -> a

Case analysis for Json values. See the README for more information.

Re-exports from Data.Argonaut.Decode

#DecodeJson

class DecodeJson a  where

Members

  • decodeJson :: Json -> Either String a

Instances

  • (DecodeJson a) => DecodeJson (Maybe a)
  • (DecodeJson a, DecodeJson b) => DecodeJson (Tuple a b)
  • (DecodeJson a, DecodeJson b) => DecodeJson (Either a b)
  • DecodeJson Unit
  • DecodeJson Boolean
  • DecodeJson Number
  • DecodeJson Int
  • DecodeJson String
  • DecodeJson Json
  • DecodeJson CodePoint
  • (DecodeJson a) => DecodeJson (Object a)
  • (DecodeJson a) => DecodeJson (Array a)
  • (DecodeJson a) => DecodeJson (List a)
  • (Ord a, DecodeJson a, DecodeJson b) => DecodeJson (Map a b)
  • DecodeJson Void

#getFieldOptional

getFieldOptional :: forall a. DecodeJson a => Object Json -> String -> Either String (Maybe a)

#getField

getField :: forall a. DecodeJson a => Object Json -> String -> Either String a

#defaultField

defaultField :: forall a. Either String (Maybe a) -> a -> Either String a

#(.??)

Operator alias for Data.Argonaut.Decode.Combinators.getFieldOptional (non-associative / precedence 7)

#(.?=)

Operator alias for Data.Argonaut.Decode.Combinators.defaultField (non-associative / precedence 6)

#(.?)

Operator alias for Data.Argonaut.Decode.Combinators.getField (non-associative / precedence 7)

Re-exports from Data.Argonaut.Encode

#EncodeJson

class EncodeJson a  where

Members

  • encodeJson :: a -> Json

Instances

  • (EncodeJson a) => EncodeJson (Maybe a)
  • (EncodeJson a, EncodeJson b) => EncodeJson (Tuple a b)
  • (EncodeJson a, EncodeJson b) => EncodeJson (Either a b)
  • EncodeJson Unit
  • EncodeJson Boolean
  • EncodeJson Number
  • EncodeJson Int
  • EncodeJson String
  • EncodeJson Json
  • EncodeJson CodePoint
  • EncodeJson Char
  • (EncodeJson a) => EncodeJson (Array a)
  • (EncodeJson a) => EncodeJson (List a)
  • (EncodeJson a) => EncodeJson (Object a)
  • (Ord a, EncodeJson a, EncodeJson b) => EncodeJson (Map a b)
  • EncodeJson Void

#extend

extend :: forall a. EncodeJson a => Tuple String Json -> a -> Json

The named implementation of the (~>) operator.

#assoc

assoc :: forall a. EncodeJson a => String -> a -> Tuple String Json

The named implementation of the (:=) operator.

#(~>)

Operator alias for Data.Argonaut.Encode.Combinators.extend (right-associative / precedence 6)

Extends a Json object with a Tuple String Json property.

#(:=)

Operator alias for Data.Argonaut.Encode.Combinators.assoc (non-associative / precedence 7)

Creates a Tuple String Json entry, representing a key/value pair for an object.

Re-exports from Data.Argonaut.JCursor

#JsonPrim

newtype JsonPrim

Constructors

  • JsonPrim (forall a. (Unit -> a) -> (Boolean -> a) -> (Number -> a) -> (String -> a) -> a)

Instances

  • Show JsonPrim

#JCursor

data JCursor

Constructors

  • JCursorTop
  • JField String JCursor
  • JIndex Int JCursor

Instances

  • Eq JCursor
  • Ord JCursor
  • Show JCursor
  • Semigroup JCursor
  • Monoid JCursor
  • EncodeJson JCursor
  • DecodeJson JCursor

#toPrims

toPrims :: Json -> List (Tuple JCursor JsonPrim)

#runJsonPrim

runJsonPrim :: JsonPrim -> (forall a. (Unit -> a) -> (Boolean -> a) -> (Number -> a) -> (String -> a) -> a)

#primToJson

primToJson :: JsonPrim -> Json

#primStr

primStr :: String -> JsonPrim

#primNum

primNum :: Number -> JsonPrim

#primNull

primNull :: JsonPrim

#primBool

primBool :: Boolean -> JsonPrim

#insideOut

insideOut :: JCursor -> JCursor

#inferEmpty

inferEmpty :: JCursor -> Json

#fromPrims

fromPrims :: List (Tuple JCursor JsonPrim) -> Maybe Json

#fail

fail :: forall b a. Show a => a -> Either String b

#downIndex

downIndex :: Int -> JCursor -> JCursor

#downField

downField :: String -> JCursor -> JCursor

#cursorSet

cursorSet :: JCursor -> Json -> Json -> Maybe Json

#cursorGet

cursorGet :: JCursor -> Json -> Maybe Json

Re-exports from Data.Argonaut.Parser

Re-exports from Data.Argonaut.Prisms

#_String

_String :: Prism' Json String

#_Object

_Object :: Prism' Json (Object Json)

#_Number

_Number :: Prism' Json Number

#_Null

_Null :: Prism' Json Unit

#_Boolean

_Boolean :: Prism' Json Boolean

#_Array

_Array :: Prism' Json (Array Json)

Re-exports from Data.Argonaut.Traversals

#_JsonString

_JsonString :: Traversal' Json Json

#_JsonObject

_JsonObject :: Traversal' Json Json

#_JsonNumber

_JsonNumber :: Traversal' Json Json

#_JsonNull

_JsonNull :: Traversal' Json Json

#_JsonBoolean

_JsonBoolean :: Traversal' Json Json

#_JsonArray

_JsonArray :: Traversal' Json Json
Modules
Data.Argonaut