aeson-schema-0.4.1.2: Haskell JSON schema validator and parser generator

Safe HaskellNone
LanguageHaskell98

Data.Aeson.Schema.Types

Synopsis

Documentation

data Pattern Source #

Compiled regex and its source

Constructors

Pattern 
Instances
Eq Pattern Source # 
Instance details

Defined in Data.Aeson.Schema.Types

Methods

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

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

Show Pattern Source # 
Instance details

Defined in Data.Aeson.Schema.Types

Lift Pattern Source # 
Instance details

Defined in Data.Aeson.Schema.Types

Methods

lift :: Pattern -> Q Exp #

FromJSON Pattern Source # 
Instance details

Defined in Data.Aeson.Schema.Types

mkPattern :: Monad m => Text -> m Pattern Source #

Compile a regex to a pattern, reporting errors with fail

data SchemaType Source #

Primitive JSON types

Instances
Bounded SchemaType Source # 
Instance details

Defined in Data.Aeson.Schema.Types

Enum SchemaType Source # 
Instance details

Defined in Data.Aeson.Schema.Types

Eq SchemaType Source # 
Instance details

Defined in Data.Aeson.Schema.Types

Ord SchemaType Source # 
Instance details

Defined in Data.Aeson.Schema.Types

Read SchemaType Source # 
Instance details

Defined in Data.Aeson.Schema.Types

Show SchemaType Source # 
Instance details

Defined in Data.Aeson.Schema.Types

Lift SchemaType Source # 
Instance details

Defined in Data.Aeson.Schema.Types

Methods

lift :: SchemaType -> Q Exp #

FromJSON SchemaType Source # 
Instance details

Defined in Data.Aeson.Schema.Types

data Schema ref Source #

 JSON Schema (Draft 3) Core Schema Definition

Constructors

Schema 

Fields

Instances
Functor Schema Source # 
Instance details

Defined in Data.Aeson.Schema.Types

Methods

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

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

Foldable Schema Source # 
Instance details

Defined in Data.Aeson.Schema.Types

Methods

fold :: Monoid m => Schema m -> m #

foldMap :: Monoid m => (a -> m) -> Schema a -> m #

foldr :: (a -> b -> b) -> b -> Schema a -> b #

foldr' :: (a -> b -> b) -> b -> Schema a -> b #

foldl :: (b -> a -> b) -> b -> Schema a -> b #

foldl' :: (b -> a -> b) -> b -> Schema a -> b #

foldr1 :: (a -> a -> a) -> Schema a -> a #

foldl1 :: (a -> a -> a) -> Schema a -> a #

toList :: Schema a -> [a] #

null :: Schema a -> Bool #

length :: Schema a -> Int #

elem :: Eq a => a -> Schema a -> Bool #

maximum :: Ord a => Schema a -> a #

minimum :: Ord a => Schema a -> a #

sum :: Num a => Schema a -> a #

product :: Num a => Schema a -> a #

Eq ref => Eq (Schema ref) Source # 
Instance details

Defined in Data.Aeson.Schema.Types

Methods

(==) :: Schema ref -> Schema ref -> Bool #

(/=) :: Schema ref -> Schema ref -> Bool #

Show ref => Show (Schema ref) Source # 
Instance details

Defined in Data.Aeson.Schema.Types

Methods

showsPrec :: Int -> Schema ref -> ShowS #

show :: Schema ref -> String #

showList :: [Schema ref] -> ShowS #

(Eq ref, Lift ref) => Lift (Schema ref) Source # 
Instance details

Defined in Data.Aeson.Schema.Types

Methods

lift :: Schema ref -> Q Exp #

FromJSON ref => FromJSON (Schema ref) Source # 
Instance details

Defined in Data.Aeson.Schema.Types

Methods

parseJSON :: Value -> Parser (Schema ref) #

parseJSONList :: Value -> Parser [Schema ref] #

type Graph f ref = Map ref (f ref) Source #

Set of potentially mutually recursive schemas

empty :: Schema ref Source #

 The empty schema accepts any JSON value.

schemaQQ :: QuasiQuoter Source #

 QuasiQuoter for schemas in JSON (e.g. [schemaQQ| { "type": "number", "minimum": 0 } |])