swarm-0.5.0.0: 2D resource gathering game with programmable robots
LicenseBSD-3-Clause
Safe HaskellSafe-Inferred
LanguageHaskell2010

Swarm.Doc.Schema.Refined

Description

Refined JSON schema after converting all JSON Value types to their specific sum types

Synopsis

Basic

data SchemaRaw Source #

A single record that encompasses all possible objects in a JSON schema. All fields are optional.

Instances

Instances details
FromJSON SchemaRaw Source # 
Instance details

Defined in Swarm.Doc.Schema.Refined

Generic SchemaRaw Source # 
Instance details

Defined in Swarm.Doc.Schema.Refined

Associated Types

type Rep SchemaRaw :: Type -> Type #

Show SchemaRaw Source # 
Instance details

Defined in Swarm.Doc.Schema.Refined

Eq SchemaRaw Source # 
Instance details

Defined in Swarm.Doc.Schema.Refined

Ord SchemaRaw Source # 
Instance details

Defined in Swarm.Doc.Schema.Refined

type Rep SchemaRaw Source # 
Instance details

Defined in Swarm.Doc.Schema.Refined

type Rep SchemaRaw = D1 ('MetaData "SchemaRaw" "Swarm.Doc.Schema.Refined" "swarm-0.5.0.0-6qXEbhCmuXA4wRndqqhBu" 'False) (C1 ('MetaCons "SchemaRaw" 'PrefixI 'True) (((S1 ('MetaSel ('Just "_description") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "_default") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Value)) :*: S1 ('MetaSel ('Just "_title") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))) :*: (S1 ('MetaSel ('Just "_type") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (SingleOrList Text))) :*: (S1 ('MetaSel ('Just "_name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "_properties") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (Map Text SwarmSchema)))))) :*: ((S1 ('MetaSel ('Just "_items") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (ItemDescription SwarmSchema))) :*: (S1 ('MetaSel ('Just "_examples") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [Value])) :*: S1 ('MetaSel ('Just "_Sref") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))) :*: (S1 ('MetaSel ('Just "_oneOf") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [SchemaRaw])) :*: (S1 ('MetaSel ('Just "_footers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [FilePath])) :*: S1 ('MetaSel ('Just "_additionalProperties") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)))))))

Refined

data SwarmSchema Source #

A subset of all JSON schemas, conforming to internal Swarm conventions.

Conveniently, this extra representation layer is able to enforce (via toSwarmSchema) that all "object" definitions in the schema contain the "additionalProperties": true attribute.

Utilities

extractReferences :: SwarmSchema -> Set SchemaIdReference Source #

Recursively extract references to other schemas