argo-0.2021.11.11: 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 -> () #

ToValue Value Source # 
Instance details

Defined in Argo.Class.ToValue

Methods

toValue :: Value -> Value Source #

FromValue Value Source # 
Instance details

Defined in Argo.Class.FromValue

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 #

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) #

type Rep Name Source # 
Instance details

Defined in Argo.Json.Name

type Rep Name = D1 ('MetaData "Name" "Argo.Json.Name" "argo-0.2021.11.11-78at1tuxIEfHBneO5Hki" '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.11-78at1tuxIEfHBneO5Hki" '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 FromValue a where Source #

Instances

Instances details
FromValue Bool Source # 
Instance details

Defined in Argo.Class.FromValue

FromValue Char Source # 
Instance details

Defined in Argo.Class.FromValue

FromValue Double Source # 
Instance details

Defined in Argo.Class.FromValue

FromValue Float Source # 
Instance details

Defined in Argo.Class.FromValue

FromValue Int Source # 
Instance details

Defined in Argo.Class.FromValue

FromValue Int8 Source # 
Instance details

Defined in Argo.Class.FromValue

FromValue Int16 Source # 
Instance details

Defined in Argo.Class.FromValue

FromValue Int32 Source # 
Instance details

Defined in Argo.Class.FromValue

FromValue Int64 Source # 
Instance details

Defined in Argo.Class.FromValue

FromValue Integer Source # 
Instance details

Defined in Argo.Class.FromValue

FromValue Word Source # 
Instance details

Defined in Argo.Class.FromValue

FromValue Word8 Source # 
Instance details

Defined in Argo.Class.FromValue

FromValue Word16 Source # 
Instance details

Defined in Argo.Class.FromValue

FromValue Word32 Source # 
Instance details

Defined in Argo.Class.FromValue

FromValue Word64 Source # 
Instance details

Defined in Argo.Class.FromValue

FromValue () Source # 
Instance details

Defined in Argo.Class.FromValue

FromValue String Source # 
Instance details

Defined in Argo.Class.FromValue

FromValue Text Source # 
Instance details

Defined in Argo.Class.FromValue

FromValue Value Source # 
Instance details

Defined in Argo.Class.FromValue

FromValue Pointer Source # 
Instance details

Defined in Argo.Class.FromValue

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

Defined in Argo.Class.FromValue

Methods

fromValue :: Value -> Either String [a] Source #

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

Defined in Argo.Class.FromValue

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

Defined in Argo.Class.FromValue

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

Defined in Argo.Class.FromValue

Methods

fromValue :: Value -> Either String (a, b) Source #

FromValue a => FromValue (Map Text a) Source # 
Instance details

Defined in Argo.Class.FromValue

class ToValue a where Source #

Methods

toValue :: a -> Value Source #

Instances

Instances details
ToValue Bool Source # 
Instance details

Defined in Argo.Class.ToValue

Methods

toValue :: Bool -> Value Source #

ToValue Char Source # 
Instance details

Defined in Argo.Class.ToValue

Methods

toValue :: Char -> Value Source #

ToValue Double Source # 
Instance details

Defined in Argo.Class.ToValue

Methods

toValue :: Double -> Value Source #

ToValue Float Source # 
Instance details

Defined in Argo.Class.ToValue

Methods

toValue :: Float -> Value Source #

ToValue Int Source # 
Instance details

Defined in Argo.Class.ToValue

Methods

toValue :: Int -> Value Source #

ToValue Int8 Source # 
Instance details

Defined in Argo.Class.ToValue

Methods

toValue :: Int8 -> Value Source #

ToValue Int16 Source # 
Instance details

Defined in Argo.Class.ToValue

Methods

toValue :: Int16 -> Value Source #

ToValue Int32 Source # 
Instance details

Defined in Argo.Class.ToValue

Methods

toValue :: Int32 -> Value Source #

ToValue Int64 Source # 
Instance details

Defined in Argo.Class.ToValue

Methods

toValue :: Int64 -> Value Source #

ToValue Integer Source # 
Instance details

Defined in Argo.Class.ToValue

ToValue Word Source # 
Instance details

Defined in Argo.Class.ToValue

Methods

toValue :: Word -> Value Source #

ToValue Word8 Source # 
Instance details

Defined in Argo.Class.ToValue

Methods

toValue :: Word8 -> Value Source #

ToValue Word16 Source # 
Instance details

Defined in Argo.Class.ToValue

Methods

toValue :: Word16 -> Value Source #

ToValue Word32 Source # 
Instance details

Defined in Argo.Class.ToValue

Methods

toValue :: Word32 -> Value Source #

ToValue Word64 Source # 
Instance details

Defined in Argo.Class.ToValue

Methods

toValue :: Word64 -> Value Source #

ToValue () Source # 
Instance details

Defined in Argo.Class.ToValue

Methods

toValue :: () -> Value Source #

ToValue String Source # 
Instance details

Defined in Argo.Class.ToValue

Methods

toValue :: String -> Value Source #

ToValue Text Source # 
Instance details

Defined in Argo.Class.ToValue

Methods

toValue :: Text -> Value Source #

ToValue Value Source # 
Instance details

Defined in Argo.Class.ToValue

Methods

toValue :: Value -> Value Source #

ToValue Pointer Source # 
Instance details

Defined in Argo.Class.ToValue

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

Defined in Argo.Class.ToValue

Methods

toValue :: [a] -> Value Source #

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

Defined in Argo.Class.ToValue

Methods

toValue :: Maybe a -> Value Source #

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

Defined in Argo.Class.ToValue

Methods

toValue :: NonEmpty a -> Value Source #

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

Defined in Argo.Class.ToValue

Methods

toValue :: (a, b) -> Value Source #

ToValue a => ToValue (Map Text a) Source # 
Instance details

Defined in Argo.Class.ToValue

Methods

toValue :: Map Text a -> Value Source #

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 -> () #

ToValue Pointer Source # 
Instance details

Defined in Argo.Class.ToValue

FromValue Pointer Source # 
Instance details

Defined in Argo.Class.FromValue

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.11-78at1tuxIEfHBneO5Hki" '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.11-78at1tuxIEfHBneO5Hki" '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 -> () #

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.11-78at1tuxIEfHBneO5Hki" '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)))