autodocodec-schema-0.1.0.3: Autodocodec interpreters for JSON Schema
Safe HaskellSafe-Inferred
LanguageHaskell2010

Autodocodec.Schema

Synopsis

Documentation

data JSONSchema Source #

A JSON Schema

http://json-schema.org/understanding-json-schema/reference/index.html

Contrary to a Codec, values of this type should be finite.

NOTE: This schema roundtrips to JSON, but it cannot expres everything that a fully-featured json-schema may be able to express.

Instances

Instances details
FromJSON JSONSchema Source # 
Instance details

Defined in Autodocodec.Schema

ToJSON JSONSchema Source # 
Instance details

Defined in Autodocodec.Schema

Generic JSONSchema Source # 
Instance details

Defined in Autodocodec.Schema

Associated Types

type Rep JSONSchema :: Type -> Type #

Show JSONSchema Source # 
Instance details

Defined in Autodocodec.Schema

Eq JSONSchema Source # 
Instance details

Defined in Autodocodec.Schema

Validity JSONSchema Source # 
Instance details

Defined in Autodocodec.Schema

type Rep JSONSchema Source # 
Instance details

Defined in Autodocodec.Schema

type Rep JSONSchema = D1 ('MetaData "JSONSchema" "Autodocodec.Schema" "autodocodec-schema-0.1.0.3-BC4mt26RUJF5nO9ENCwIni" 'False) (((C1 ('MetaCons "AnySchema" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "NullSchema" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BoolSchema" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "StringSchema" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NumberSchema" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe NumberBounds)))) :+: (C1 ('MetaCons "ArraySchema" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 JSONSchema)) :+: C1 ('MetaCons "MapSchema" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 JSONSchema))))) :+: ((C1 ('MetaCons "ObjectSchema" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ObjectSchema)) :+: (C1 ('MetaCons "ValueSchema" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Value)) :+: C1 ('MetaCons "AnyOfSchema" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (NonEmpty JSONSchema))))) :+: ((C1 ('MetaCons "OneOfSchema" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (NonEmpty JSONSchema))) :+: C1 ('MetaCons "CommentSchema" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 JSONSchema))) :+: (C1 ('MetaCons "RefSchema" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :+: C1 ('MetaCons "WithDefSchema" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map Text JSONSchema)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 JSONSchema))))))

data ObjectSchema Source #

Instances

Instances details
FromJSON ObjectSchema Source # 
Instance details

Defined in Autodocodec.Schema

ToJSON ObjectSchema Source # 
Instance details

Defined in Autodocodec.Schema

Generic ObjectSchema Source # 
Instance details

Defined in Autodocodec.Schema

Associated Types

type Rep ObjectSchema :: Type -> Type #

Show ObjectSchema Source # 
Instance details

Defined in Autodocodec.Schema

Eq ObjectSchema Source # 
Instance details

Defined in Autodocodec.Schema

Validity ObjectSchema Source # 
Instance details

Defined in Autodocodec.Schema

type Rep ObjectSchema Source # 
Instance details

Defined in Autodocodec.Schema

data KeyRequirement Source #

Constructors

Required 
Optional !(Maybe Value) 

Instances

Instances details
Generic KeyRequirement Source # 
Instance details

Defined in Autodocodec.Schema

Associated Types

type Rep KeyRequirement :: Type -> Type #

Show KeyRequirement Source # 
Instance details

Defined in Autodocodec.Schema

Eq KeyRequirement Source # 
Instance details

Defined in Autodocodec.Schema

Validity KeyRequirement Source # 
Instance details

Defined in Autodocodec.Schema

type Rep KeyRequirement Source # 
Instance details

Defined in Autodocodec.Schema

type Rep KeyRequirement = D1 ('MetaData "KeyRequirement" "Autodocodec.Schema" "autodocodec-schema-0.1.0.3-BC4mt26RUJF5nO9ENCwIni" 'False) (C1 ('MetaCons "Required" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Optional" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Value))))

uncurry3 :: (a -> b -> c -> d) -> (a, b, c) -> d Source #