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

Argo

Synopsis

Documentation

data Value where Source #

A JSON (JavaScript Object Notation) value, as described by RFC 8259. https://datatracker.ietf.org/doc/html/rfc8259

Bundled Patterns

pattern Null :: Value 
pattern Boolean :: Bool -> Value 
pattern Number :: Decimal -> Value 
pattern String :: Text -> Value 
pattern Array :: [Value] -> Value 
pattern Object :: [MemberOf Value] -> Value 

Instances

Instances details
Eq Value Source # 
Instance details

Defined in Argo.Json.Value

Methods

(==) :: Value -> Value -> Bool #

(/=) :: Value -> Value -> Bool #

Show Value Source # 
Instance details

Defined in Argo.Json.Value

Methods

showsPrec :: Int -> Value -> ShowS #

show :: Value -> String #

showList :: [Value] -> ShowS #

IsString Value Source # 
Instance details

Defined in Argo.Json.Value

Methods

fromString :: String -> Value #

Generic Value Source # 
Instance details

Defined in Argo.Json.Value

Associated Types

type Rep Value :: Type -> Type #

Methods

from :: Value -> Rep Value x #

to :: Rep Value x -> Value #

NFData Value Source # 
Instance details

Defined in Argo.Json.Value

Methods

rnf :: Value -> () #

HasCodec Value Source # 
Instance details

Defined in Argo.Class.HasCodec

Lift Value Source # 
Instance details

Defined in Argo.Json.Value

Methods

lift :: Value -> Q Exp #

liftTyped :: Value -> Q (TExp Value) #

type Rep Value Source # 
Instance details

Defined in Argo.Json.Value

data Name where Source #

Bundled Patterns

pattern Name :: Text -> Name 

Instances

Instances details
Eq Name Source # 
Instance details

Defined in Argo.Json.Name

Methods

(==) :: Name -> Name -> Bool #

(/=) :: Name -> Name -> Bool #

Ord Name Source # 
Instance details

Defined in Argo.Json.Name

Methods

compare :: Name -> Name -> Ordering #

(<) :: Name -> Name -> Bool #

(<=) :: Name -> Name -> Bool #

(>) :: Name -> Name -> Bool #

(>=) :: Name -> Name -> Bool #

max :: Name -> Name -> Name #

min :: Name -> Name -> Name #

Show Name Source # 
Instance details

Defined in Argo.Json.Name

Methods

showsPrec :: Int -> Name -> ShowS #

show :: Name -> String #

showList :: [Name] -> ShowS #

IsString Name Source # 
Instance details

Defined in Argo.Json.Name

Methods

fromString :: String -> Name #

Generic Name Source # 
Instance details

Defined in Argo.Json.Name

Associated Types

type Rep Name :: Type -> Type #

Methods

from :: Name -> Rep Name x #

to :: Rep Name x -> Name #

NFData Name Source # 
Instance details

Defined in Argo.Json.Name

Methods

rnf :: Name -> () #

Lift Name Source # 
Instance details

Defined in Argo.Json.Name

Methods

lift :: Name -> Q Exp #

liftTyped :: Name -> Q (TExp Name) #

HasCodec a => HasCodec (Map Name a) Source # 
Instance details

Defined in Argo.Class.HasCodec

type Rep Name Source # 
Instance details

Defined in Argo.Json.Name

type Rep Name = D1 ('MetaData "Name" "Argo.Json.Name" "argo-0.2021.11.13-1TtZ14vgzh82izzBXuBqZ0" 'True) (C1 ('MetaCons "Name" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

data MemberOf value Source #

Constructors

Member Name value 

Instances

Instances details
Lift value => Lift (MemberOf value :: Type) Source # 
Instance details

Defined in Argo.Json.Member

Methods

lift :: MemberOf value -> Q Exp #

liftTyped :: MemberOf value -> Q (TExp (MemberOf value)) #

Eq value => Eq (MemberOf value) Source # 
Instance details

Defined in Argo.Json.Member

Methods

(==) :: MemberOf value -> MemberOf value -> Bool #

(/=) :: MemberOf value -> MemberOf value -> Bool #

Show value => Show (MemberOf value) Source # 
Instance details

Defined in Argo.Json.Member

Methods

showsPrec :: Int -> MemberOf value -> ShowS #

show :: MemberOf value -> String #

showList :: [MemberOf value] -> ShowS #

Generic (MemberOf value) Source # 
Instance details

Defined in Argo.Json.Member

Associated Types

type Rep (MemberOf value) :: Type -> Type #

Methods

from :: MemberOf value -> Rep (MemberOf value) x #

to :: Rep (MemberOf value) x -> MemberOf value #

NFData value => NFData (MemberOf value) Source # 
Instance details

Defined in Argo.Json.Member

Methods

rnf :: MemberOf value -> () #

type Rep (MemberOf value) Source # 
Instance details

Defined in Argo.Json.Member

type Rep (MemberOf value) = D1 ('MetaData "MemberOf" "Argo.Json.Member" "argo-0.2021.11.13-1TtZ14vgzh82izzBXuBqZ0" 'False) (C1 ('MetaCons "Member" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Name) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 value)))

data Indent Source #

Constructors

Spaces Int 
Tab 

Instances

Instances details
Eq Indent Source # 
Instance details

Defined in Argo.Type.Indent

Methods

(==) :: Indent -> Indent -> Bool #

(/=) :: Indent -> Indent -> Bool #

Show Indent Source # 
Instance details

Defined in Argo.Type.Indent

class HasCodec a where Source #

Methods

codec :: ValueCodec a Source #

Instances

Instances details
HasCodec Bool Source # 
Instance details

Defined in Argo.Class.HasCodec

HasCodec Char Source # 
Instance details

Defined in Argo.Class.HasCodec

HasCodec Double Source # 
Instance details

Defined in Argo.Class.HasCodec

HasCodec Float Source # 
Instance details

Defined in Argo.Class.HasCodec

HasCodec Int Source # 
Instance details

Defined in Argo.Class.HasCodec

HasCodec Int8 Source # 
Instance details

Defined in Argo.Class.HasCodec

HasCodec Int16 Source # 
Instance details

Defined in Argo.Class.HasCodec

HasCodec Int32 Source # 
Instance details

Defined in Argo.Class.HasCodec

HasCodec Int64 Source # 
Instance details

Defined in Argo.Class.HasCodec

HasCodec Integer Source # 
Instance details

Defined in Argo.Class.HasCodec

HasCodec Word Source # 
Instance details

Defined in Argo.Class.HasCodec

HasCodec Word8 Source # 
Instance details

Defined in Argo.Class.HasCodec

HasCodec Word16 Source # 
Instance details

Defined in Argo.Class.HasCodec

HasCodec Word32 Source # 
Instance details

Defined in Argo.Class.HasCodec

HasCodec Word64 Source # 
Instance details

Defined in Argo.Class.HasCodec

HasCodec () Source # 
Instance details

Defined in Argo.Class.HasCodec

Methods

codec :: ValueCodec () Source #

HasCodec String Source # 
Instance details

Defined in Argo.Class.HasCodec

HasCodec Text Source # 
Instance details

Defined in Argo.Class.HasCodec

HasCodec Decimal Source # 
Instance details

Defined in Argo.Class.HasCodec

HasCodec String Source # 
Instance details

Defined in Argo.Class.HasCodec

HasCodec Number Source # 
Instance details

Defined in Argo.Class.HasCodec

HasCodec Null Source # 
Instance details

Defined in Argo.Class.HasCodec

HasCodec Boolean Source # 
Instance details

Defined in Argo.Class.HasCodec

HasCodec Value Source # 
Instance details

Defined in Argo.Class.HasCodec

HasCodec Pointer Source # 
Instance details

Defined in Argo.Class.HasCodec

HasCodec a => HasCodec [a] Source # 
Instance details

Defined in Argo.Class.HasCodec

Methods

codec :: ValueCodec [a] Source #

HasCodec a => HasCodec (Maybe a) Source # 
Instance details

Defined in Argo.Class.HasCodec

Methods

codec :: ValueCodec (Maybe a) Source #

HasCodec a => HasCodec (NonEmpty a) Source # 
Instance details

Defined in Argo.Class.HasCodec

HasCodec a => HasCodec (ObjectOf a) Source # 
Instance details

Defined in Argo.Class.HasCodec

HasCodec a => HasCodec (ArrayOf a) Source # 
Instance details

Defined in Argo.Class.HasCodec

(HasCodec a, HasCodec b) => HasCodec (Either a b) Source # 
Instance details

Defined in Argo.Class.HasCodec

Methods

codec :: ValueCodec (Either a b) Source #

(HasCodec a, HasCodec b) => HasCodec (a, b) Source # 
Instance details

Defined in Argo.Class.HasCodec

Methods

codec :: ValueCodec (a, b) Source #

HasCodec a => HasCodec (Map Name a) Source # 
Instance details

Defined in Argo.Class.HasCodec

newtype Pointer Source #

A JSON pointer, as described by RFC 6901. https://datatracker.ietf.org/doc/html/rfc6901

Constructors

Pointer [Token] 

Instances

Instances details
Eq Pointer Source # 
Instance details

Defined in Argo.Pointer.Pointer

Methods

(==) :: Pointer -> Pointer -> Bool #

(/=) :: Pointer -> Pointer -> Bool #

Show Pointer Source # 
Instance details

Defined in Argo.Pointer.Pointer

Generic Pointer Source # 
Instance details

Defined in Argo.Pointer.Pointer

Associated Types

type Rep Pointer :: Type -> Type #

Methods

from :: Pointer -> Rep Pointer x #

to :: Rep Pointer x -> Pointer #

NFData Pointer Source # 
Instance details

Defined in Argo.Pointer.Pointer

Methods

rnf :: Pointer -> () #

HasCodec Pointer Source # 
Instance details

Defined in Argo.Class.HasCodec

Lift Pointer Source # 
Instance details

Defined in Argo.Pointer.Pointer

Methods

lift :: Pointer -> Q Exp #

liftTyped :: Pointer -> Q (TExp Pointer) #

type Rep Pointer Source # 
Instance details

Defined in Argo.Pointer.Pointer

type Rep Pointer = D1 ('MetaData "Pointer" "Argo.Pointer.Pointer" "argo-0.2021.11.13-1TtZ14vgzh82izzBXuBqZ0" 'True) (C1 ('MetaCons "Pointer" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Token])))

newtype Token Source #

Constructors

Token Text 

Instances

Instances details
Eq Token Source # 
Instance details

Defined in Argo.Pointer.Token

Methods

(==) :: Token -> Token -> Bool #

(/=) :: Token -> Token -> Bool #

Show Token Source # 
Instance details

Defined in Argo.Pointer.Token

Methods

showsPrec :: Int -> Token -> ShowS #

show :: Token -> String #

showList :: [Token] -> ShowS #

IsString Token Source # 
Instance details

Defined in Argo.Pointer.Token

Methods

fromString :: String -> Token #

Generic Token Source # 
Instance details

Defined in Argo.Pointer.Token

Associated Types

type Rep Token :: Type -> Type #

Methods

from :: Token -> Rep Token x #

to :: Rep Token x -> Token #

NFData Token Source # 
Instance details

Defined in Argo.Pointer.Token

Methods

rnf :: Token -> () #

Lift Token Source # 
Instance details

Defined in Argo.Pointer.Token

Methods

lift :: Token -> Q Exp #

liftTyped :: Token -> Q (TExp Token) #

type Rep Token Source # 
Instance details

Defined in Argo.Pointer.Token

type Rep Token = D1 ('MetaData "Token" "Argo.Pointer.Token" "argo-0.2021.11.13-1TtZ14vgzh82izzBXuBqZ0" 'True) (C1 ('MetaCons "Token" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data Decimal where Source #

Bundled Patterns

pattern Decimal :: Integer -> Integer -> Decimal 

Instances

Instances details
Eq Decimal Source # 
Instance details

Defined in Argo.Type.Decimal

Methods

(==) :: Decimal -> Decimal -> Bool #

(/=) :: Decimal -> Decimal -> Bool #

Show Decimal Source # 
Instance details

Defined in Argo.Type.Decimal

Generic Decimal Source # 
Instance details

Defined in Argo.Type.Decimal

Associated Types

type Rep Decimal :: Type -> Type #

Methods

from :: Decimal -> Rep Decimal x #

to :: Rep Decimal x -> Decimal #

NFData Decimal Source # 
Instance details

Defined in Argo.Type.Decimal

Methods

rnf :: Decimal -> () #

HasCodec Decimal Source # 
Instance details

Defined in Argo.Class.HasCodec

Lift Decimal Source # 
Instance details

Defined in Argo.Type.Decimal

Methods

lift :: Decimal -> Q Exp #

liftTyped :: Decimal -> Q (TExp Decimal) #

type Rep Decimal Source # 
Instance details

Defined in Argo.Type.Decimal

type Rep Decimal = D1 ('MetaData "Decimal" "Argo.Type.Decimal" "argo-0.2021.11.13-1TtZ14vgzh82izzBXuBqZ0" 'False) (C1 ('MetaCons "Decimal" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)))