Skip to content

Latest commit

 

History

History
292 lines (170 loc) · 3.56 KB

File metadata and controls

292 lines (170 loc) · 3.56 KB

Module Documentation

Module Data.JSON

JObject

type JObject = M.Map String JValue

JArray

type JArray = [JValue]

JParser

type JParser = Either String

JValue

data JValue
  = JObject JObject
  | JArray JArray
  | JString String
  | JNumber Number
  | JBool Boolean
  | JNull 

showValue

instance showValue :: Show JValue

eqValue

instance eqValue :: Eq JValue

FromJSON

class FromJSON a where
  parseJSON :: JValue -> JParser a

eitherDecode

eitherDecode :: forall a. (FromJSON a) => String -> Either String a

decode

decode :: forall a. (FromJSON a) => String -> Maybe a

fail

fail :: forall a. String -> JParser a

valueFromJSON

instance valueFromJSON :: FromJSON JValue

boolFromJSON

instance boolFromJSON :: FromJSON Boolean

numberFromJSON

instance numberFromJSON :: FromJSON Number

unitFromJSON

instance unitFromJSON :: FromJSON Unit

stringFromJSON

instance stringFromJSON :: FromJSON String

arrayFromJSON

instance arrayFromJSON :: (FromJSON a) => FromJSON [a]

tupleFromJSON

instance tupleFromJSON :: (FromJSON a, FromJSON b) => FromJSON (Tuple a b)

eitherFromJSON

instance eitherFromJSON :: (FromJSON a, FromJSON b) => FromJSON (Either a b)

maybeFromJSON

instance maybeFromJSON :: (FromJSON a) => FromJSON (Maybe a)

setFromJSON

instance setFromJSON :: (Ord a, FromJSON a) => FromJSON (S.Set a)

mapFromJSON

instance mapFromJSON :: (FromJSON a) => FromJSON (M.Map String a)

(.:)

(.:) :: forall a. (FromJSON a) => JObject -> String -> JParser a

(.:?)

(.:?) :: forall a. (FromJSON a) => JObject -> String -> JParser (Maybe a)

(.!=)

(.!=) :: forall a. JParser (Maybe a) -> a -> JParser a

ToJSON

class ToJSON a where
  toJSON :: a -> JValue

Pair

type Pair = Tuple String JValue

(.=)

(.=) :: forall a. (ToJSON a) => String -> a -> Pair

object

object :: [Pair] -> JValue

encode

encode :: forall a. (ToJSON a) => a -> String

boolToJSON

instance boolToJSON :: ToJSON Boolean

numberToJSON

instance numberToJSON :: ToJSON Number

stringToJSON

instance stringToJSON :: ToJSON String

unitToJSON

instance unitToJSON :: ToJSON Unit

arrayToJSON

instance arrayToJSON :: (ToJSON a) => ToJSON [a]

eitherToJSON

instance eitherToJSON :: (ToJSON a, ToJSON b) => ToJSON (Either a b)

mapToJSON

instance mapToJSON :: (ToJSON a) => ToJSON (M.Map String a)

maybeToJSON

instance maybeToJSON :: (ToJSON a) => ToJSON (Maybe a)

setToJSON

instance setToJSON :: (ToJSON a) => ToJSON (S.Set a)

tupleToJSON

instance tupleToJSON :: (ToJSON a, ToJSON b) => ToJSON (Tuple a b)

valueToJSON

instance valueToJSON :: ToJSON JValue