argo-0.2021.11.7: 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 :: Integer -> Integer -> Value 
pattern String :: Text -> Value 
pattern Array :: Array -> Value 
pattern Object :: Object -> 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 #

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

FromValue Value Source # 
Instance details

Defined in Argo.Class.FromValue

ToValue Value Source # 
Instance details

Defined in Argo.Class.ToValue

Methods

toValue :: Value -> Value Source #

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

type Array = [Value] Source #

data Name Source #

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 #

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.7-9j0sCBbyLtLBlzqpZ8NEi5" 'True) (C1 ('MetaCons "Name" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))

pattern Name :: Text -> Name Source #

pattern Member :: Name -> Value -> Member Source #

data Indent Source #

Constructors

Spaces Int 
Tab 

Instances

Instances details
Eq Indent Source # 
Instance details

Defined in Argo.Encoder

Methods

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

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

Show Indent Source # 
Instance details

Defined in Argo.Encoder

class FromValue a where Source #

Methods

fromValue :: Value -> Result a 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

Methods

fromValue :: Value -> Result () Source #

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 -> Result [a] Source #

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

Defined in Argo.Class.FromValue

Methods

fromValue :: Value -> Result (Maybe a) Source #

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 -> Result (a, b) Source #

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

Defined in Argo.Class.FromValue

Methods

fromValue :: Value -> Result (Map Text a) Source #

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 #

data Result a Source #

Constructors

Failure String 
Success a 

Instances

Instances details
Monad Result Source # 
Instance details

Defined in Argo.Result

Methods

(>>=) :: Result a -> (a -> Result b) -> Result b #

(>>) :: Result a -> Result b -> Result b #

return :: a -> Result a #

Functor Result Source # 
Instance details

Defined in Argo.Result

Methods

fmap :: (a -> b) -> Result a -> Result b #

(<$) :: a -> Result b -> Result a #

MonadFail Result Source # 
Instance details

Defined in Argo.Result

Methods

fail :: String -> Result a #

Applicative Result Source # 
Instance details

Defined in Argo.Result

Methods

pure :: a -> Result a #

(<*>) :: Result (a -> b) -> Result a -> Result b #

liftA2 :: (a -> b -> c) -> Result a -> Result b -> Result c #

(*>) :: Result a -> Result b -> Result b #

(<*) :: Result a -> Result b -> Result a #

Alternative Result Source # 
Instance details

Defined in Argo.Result

Methods

empty :: Result a #

(<|>) :: Result a -> Result a -> Result a #

some :: Result a -> Result [a] #

many :: Result a -> Result [a] #

Eq a => Eq (Result a) Source # 
Instance details

Defined in Argo.Result

Methods

(==) :: Result a -> Result a -> Bool #

(/=) :: Result a -> Result a -> Bool #

Show a => Show (Result a) Source # 
Instance details

Defined in Argo.Result

Methods

showsPrec :: Int -> Result a -> ShowS #

show :: Result a -> String #

showList :: [Result a] -> ShowS #

Generic (Result a) Source # 
Instance details

Defined in Argo.Result

Associated Types

type Rep (Result a) :: Type -> Type #

Methods

from :: Result a -> Rep (Result a) x #

to :: Rep (Result a) x -> Result a #

NFData a => NFData (Result a) Source # 
Instance details

Defined in Argo.Result

Methods

rnf :: Result a -> () #

type Rep (Result a) Source # 
Instance details

Defined in Argo.Result

type Rep (Result a) = D1 ('MetaData "Result" "Argo.Result" "argo-0.2021.11.7-9j0sCBbyLtLBlzqpZ8NEi5" 'False) (C1 ('MetaCons "Failure" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :+: C1 ('MetaCons "Success" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

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

FromValue Pointer Source # 
Instance details

Defined in Argo.Class.FromValue

ToValue Pointer Source # 
Instance details

Defined in Argo.Class.ToValue

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.7-9j0sCBbyLtLBlzqpZ8NEi5" '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 #

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.7-9j0sCBbyLtLBlzqpZ8NEi5" 'True) (C1 ('MetaCons "Token" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))