json-schema-0.7.4.1: Types and type classes for defining JSON schemas.

Safe HaskellNone
LanguageHaskell98

Data.JSON.Schema.Types

Description

Types for defining JSON schemas.

Synopsis

Documentation

class JSONSchema a where Source

Class representing JSON schemas

Methods

schema :: Proxy a -> Schema Source

Instances

JSONSchema Bool Source 
JSONSchema Double Source 
JSONSchema Float Source 
JSONSchema Int Source 
JSONSchema Int8 Source 
JSONSchema Int16 Source 
JSONSchema Int32 Source 
JSONSchema Int64 Source 
JSONSchema Integer Source 
JSONSchema Word Source 
JSONSchema Word8 Source 
JSONSchema Word16 Source 
JSONSchema Word32 Source 
JSONSchema Word64 Source 
JSONSchema () Source 
JSONSchema Scientific Source 
JSONSchema Text Source 
JSONSchema UTCTime Source 
JSONSchema Value Source 
JSONSchema Text Source 
JSONSchema a => JSONSchema [a] Source 
JSONSchema a => JSONSchema (Maybe a) Source 
HasResolution a => JSONSchema (Fixed a) Source 
JSONSchema a => JSONSchema (Set a) Source 
JSONSchema a => JSONSchema (Vector a) Source 
(JSONSchema a, JSONSchema b) => JSONSchema (a, b) Source 
(IsString k, JSONSchema v) => JSONSchema (HashMap k v) Source 
(IsString k, JSONSchema v) => JSONSchema (Map k v) Source 
(JSONSchema a, JSONSchema b, JSONSchema c) => JSONSchema (a, b, c) Source 
(JSONSchema a, JSONSchema b, JSONSchema c, JSONSchema d) => JSONSchema (a, b, c, d) Source 
(JSONSchema a, JSONSchema b, JSONSchema c, JSONSchema d, JSONSchema e) => JSONSchema (a, b, c, d, e) Source 
(JSONSchema a, JSONSchema b, JSONSchema c, JSONSchema d, JSONSchema e, JSONSchema f) => JSONSchema (a, b, c, d, e, f) Source 
(JSONSchema a, JSONSchema b, JSONSchema c, JSONSchema d, JSONSchema e, JSONSchema f, JSONSchema g) => JSONSchema (a, b, c, d, e, f, g) Source 
(JSONSchema a, JSONSchema b, JSONSchema c, JSONSchema d, JSONSchema e, JSONSchema f, JSONSchema g, JSONSchema h) => JSONSchema (a, b, c, d, e, f, g, h) Source 
(JSONSchema a, JSONSchema b, JSONSchema c, JSONSchema d, JSONSchema e, JSONSchema f, JSONSchema g, JSONSchema h, JSONSchema i) => JSONSchema (a, b, c, d, e, f, g, h, i) Source 
(JSONSchema a, JSONSchema b, JSONSchema c, JSONSchema d, JSONSchema e, JSONSchema f, JSONSchema g, JSONSchema h, JSONSchema i, JSONSchema j) => JSONSchema (a, b, c, d, e, f, g, h, i, j) Source 
(JSONSchema a, JSONSchema b, JSONSchema c, JSONSchema d, JSONSchema e, JSONSchema f, JSONSchema g, JSONSchema h, JSONSchema i, JSONSchema j, JSONSchema k) => JSONSchema (a, b, c, d, e, f, g, h, i, j, k) Source 
(JSONSchema a, JSONSchema b, JSONSchema c, JSONSchema d, JSONSchema e, JSONSchema f, JSONSchema g, JSONSchema h, JSONSchema i, JSONSchema j, JSONSchema k, JSONSchema l) => JSONSchema (a, b, c, d, e, f, g, h, i, j, k, l) Source 
(JSONSchema a, JSONSchema b, JSONSchema c, JSONSchema d, JSONSchema e, JSONSchema f, JSONSchema g, JSONSchema h, JSONSchema i, JSONSchema j, JSONSchema k, JSONSchema l, JSONSchema m) => JSONSchema (a, b, c, d, e, f, g, h, i, j, k, l, m) Source 
(JSONSchema a, JSONSchema b, JSONSchema c, JSONSchema d, JSONSchema e, JSONSchema f, JSONSchema g, JSONSchema h, JSONSchema i, JSONSchema j, JSONSchema k, JSONSchema l, JSONSchema m, JSONSchema n) => JSONSchema (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source 
(JSONSchema a, JSONSchema b, JSONSchema c, JSONSchema d, JSONSchema e, JSONSchema f, JSONSchema g, JSONSchema h, JSONSchema i, JSONSchema j, JSONSchema k, JSONSchema l, JSONSchema m, JSONSchema n, JSONSchema o) => JSONSchema (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source 

data Schema Source

A schema for a JSON value.

Constructors

Choice [Schema]

A choice of multiple values, e.g. for sum types.

Object [Field]

A JSON object.

Map Schema

A JSON object with arbitrary keys.

Array LengthBound Bool Schema

An array. The LengthBound represent the lower and upper bound of the array size. The value unboundedLength indicates no bound. The boolean denotes whether items have to be unique.

Tuple [Schema]

A fixed-length tuple of different values.

Value LengthBound

A string. The LengthBound denote the lower and upper bound of the length of the string. The value unboundedLength indicates no bound.

Boolean

A Bool.

Number Bound

A number. The Bound denote the lower and upper bound on the value. The value unbounded indicates no bound.

Constant Value

A Value that never changes. Can be combined with Choice to create enumerables.

Any

Any value is allowed.

data Field Source

A field in an object.

Constructors

Field 

Fields

key :: Text
 
required :: Bool
 
content :: Schema
 

data Bound Source

A type for bounds on number domains. Use Nothing when no lower or upper bound makes sense

Constructors

Bound 

Fields

lower :: Maybe Int
 
upper :: Maybe Int
 

data LengthBound Source

A type for bounds on lengths for strings and arrays. Use Nothing when no lower or upper bound makes sense

Constructors

LengthBound