schematic-0.5.0.0: JSON-biased spec and validation tool

Safe HaskellNone
LanguageHaskell2010

Data.Schematic.Schema

Synopsis

Documentation

data TextConstraint Source #

Instances
Generic TextConstraint Source # 
Instance details

Defined in Data.Schematic.Schema

Associated Types

type Rep TextConstraint :: * -> * #

SingKind TextConstraint Source # 
Instance details

Defined in Data.Schematic.Schema

Associated Types

type Demote TextConstraint = (r :: *) #

KnownNat n => SingI (TEq n :: TextConstraint) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

sing :: Sing (TEq n) #

KnownNat n => SingI (TLt n :: TextConstraint) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

sing :: Sing (TLt n) #

KnownNat n => SingI (TLe n :: TextConstraint) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

sing :: Sing (TLe n) #

KnownNat n => SingI (TGt n :: TextConstraint) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

sing :: Sing (TGt n) #

KnownNat n => SingI (TGe n :: TextConstraint) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

sing :: Sing (TGe n) #

(KnownSymbol s, SingI s) => SingI (TRegex s :: TextConstraint) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

sing :: Sing (TRegex s) #

SingI ss => SingI (TEnum ss :: TextConstraint) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

sing :: Sing (TEnum ss) #

Eq (Sing (TEq n)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

(==) :: Sing (TEq n) -> Sing (TEq n) -> Bool #

(/=) :: Sing (TEq n) -> Sing (TEq n) -> Bool #

Eq (Sing (TLt n)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

(==) :: Sing (TLt n) -> Sing (TLt n) -> Bool #

(/=) :: Sing (TLt n) -> Sing (TLt n) -> Bool #

Eq (Sing (TLe n)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

(==) :: Sing (TLe n) -> Sing (TLe n) -> Bool #

(/=) :: Sing (TLe n) -> Sing (TLe n) -> Bool #

Eq (Sing (TGt n)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

(==) :: Sing (TGt n) -> Sing (TGt n) -> Bool #

(/=) :: Sing (TGt n) -> Sing (TGt n) -> Bool #

Eq (Sing (TGe n)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

(==) :: Sing (TGe n) -> Sing (TGe n) -> Bool #

(/=) :: Sing (TGe n) -> Sing (TGe n) -> Bool #

Eq (Sing (TRegex t)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

(==) :: Sing (TRegex t) -> Sing (TRegex t) -> Bool #

(/=) :: Sing (TRegex t) -> Sing (TRegex t) -> Bool #

Eq (Sing (TEnum ss)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

(==) :: Sing (TEnum ss) -> Sing (TEnum ss) -> Bool #

(/=) :: Sing (TEnum ss) -> Sing (TEnum ss) -> Bool #

type Rep TextConstraint Source # 
Instance details

Defined in Data.Schematic.Schema

data Sing (tc :: TextConstraint) Source # 
Instance details

Defined in Data.Schematic.Schema

data Sing (tc :: TextConstraint) where
type Demote TextConstraint Source # 
Instance details

Defined in Data.Schematic.Schema

data DemotedTextConstraint Source #

Instances
Eq DemotedTextConstraint Source # 
Instance details

Defined in Data.Schematic.Schema

Show DemotedTextConstraint Source # 
Instance details

Defined in Data.Schematic.Schema

Generic DemotedTextConstraint Source # 
Instance details

Defined in Data.Schematic.Schema

Associated Types

type Rep DemotedTextConstraint :: * -> * #

type Rep DemotedTextConstraint Source # 
Instance details

Defined in Data.Schematic.Schema

data NumberConstraint Source #

Constructors

NLe Nat 
NLt Nat 
NGt Nat 
NGe Nat 
NEq Nat 
Instances
Generic NumberConstraint Source # 
Instance details

Defined in Data.Schematic.Schema

Associated Types

type Rep NumberConstraint :: * -> * #

SingKind NumberConstraint Source # 
Instance details

Defined in Data.Schematic.Schema

Associated Types

type Demote NumberConstraint = (r :: *) #

KnownNat n => SingI (NLe n :: NumberConstraint) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

sing :: Sing (NLe n) #

KnownNat n => SingI (NLt n :: NumberConstraint) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

sing :: Sing (NLt n) #

KnownNat n => SingI (NGt n :: NumberConstraint) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

sing :: Sing (NGt n) #

KnownNat n => SingI (NGe n :: NumberConstraint) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

sing :: Sing (NGe n) #

KnownNat n => SingI (NEq n :: NumberConstraint) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

sing :: Sing (NEq n) #

Eq (Sing (NLe n)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

(==) :: Sing (NLe n) -> Sing (NLe n) -> Bool #

(/=) :: Sing (NLe n) -> Sing (NLe n) -> Bool #

Eq (Sing (NLt n)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

(==) :: Sing (NLt n) -> Sing (NLt n) -> Bool #

(/=) :: Sing (NLt n) -> Sing (NLt n) -> Bool #

Eq (Sing (NGt n)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

(==) :: Sing (NGt n) -> Sing (NGt n) -> Bool #

(/=) :: Sing (NGt n) -> Sing (NGt n) -> Bool #

Eq (Sing (NGe n)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

(==) :: Sing (NGe n) -> Sing (NGe n) -> Bool #

(/=) :: Sing (NGe n) -> Sing (NGe n) -> Bool #

Eq (Sing (NEq n)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

(==) :: Sing (NEq n) -> Sing (NEq n) -> Bool #

(/=) :: Sing (NEq n) -> Sing (NEq n) -> Bool #

type Rep NumberConstraint Source # 
Instance details

Defined in Data.Schematic.Schema

data Sing (nc :: NumberConstraint) Source # 
Instance details

Defined in Data.Schematic.Schema

data Sing (nc :: NumberConstraint) where
type Demote NumberConstraint Source # 
Instance details

Defined in Data.Schematic.Schema

data DemotedNumberConstraint Source #

Instances
Eq DemotedNumberConstraint Source # 
Instance details

Defined in Data.Schematic.Schema

Show DemotedNumberConstraint Source # 
Instance details

Defined in Data.Schematic.Schema

Generic DemotedNumberConstraint Source # 
Instance details

Defined in Data.Schematic.Schema

Associated Types

type Rep DemotedNumberConstraint :: * -> * #

type Rep DemotedNumberConstraint Source # 
Instance details

Defined in Data.Schematic.Schema

data ArrayConstraint Source #

Constructors

AEq Nat 
Instances
Generic ArrayConstraint Source # 
Instance details

Defined in Data.Schematic.Schema

Associated Types

type Rep ArrayConstraint :: * -> * #

SingKind ArrayConstraint Source # 
Instance details

Defined in Data.Schematic.Schema

Associated Types

type Demote ArrayConstraint = (r :: *) #

KnownNat n => SingI (AEq n :: ArrayConstraint) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

sing :: Sing (AEq n) #

Eq (Sing (AEq n)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

(==) :: Sing (AEq n) -> Sing (AEq n) -> Bool #

(/=) :: Sing (AEq n) -> Sing (AEq n) -> Bool #

type Rep ArrayConstraint Source # 
Instance details

Defined in Data.Schematic.Schema

type Rep ArrayConstraint = D1 (MetaData "ArrayConstraint" "Data.Schematic.Schema" "schematic-0.5.0.0-J36RtftksLpFmJPcZ9Dyb" False) (C1 (MetaCons "AEq" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Nat)))
data Sing (ac :: ArrayConstraint) Source # 
Instance details

Defined in Data.Schematic.Schema

data Sing (ac :: ArrayConstraint) where
type Demote ArrayConstraint Source # 
Instance details

Defined in Data.Schematic.Schema

data Schema Source #

Instances
Generic Schema Source # 
Instance details

Defined in Data.Schematic.Schema

Associated Types

type Rep Schema :: * -> * #

Methods

from :: Schema -> Rep Schema x #

to :: Rep Schema x -> Schema #

SingKind Schema Source # 
Instance details

Defined in Data.Schematic.Schema

Associated Types

type Demote Schema = (r :: *) #

SingI SchemaBoolean Source # 
Instance details

Defined in Data.Schematic.Schema

SingI SchemaNull Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

sing :: Sing SchemaNull #

SingI sl => SingI (SchemaText sl :: Schema) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

sing :: Sing (SchemaText sl) #

SingI sl => SingI (SchemaNumber sl :: Schema) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

sing :: Sing (SchemaNumber sl) #

SingI stl => SingI (SchemaObject stl :: Schema) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

sing :: Sing (SchemaObject stl) #

SingI s => SingI (SchemaOptional s :: Schema) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

sing :: Sing (SchemaOptional s) #

SingI s => SingI (SchemaUnion s :: Schema) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

sing :: Sing (SchemaUnion s) #

(KnownSymbol name, SingI schema, Serial m (JsonRepr schema)) => Serial m (FieldRepr ((,) name schema)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

series :: Series m (FieldRepr (name, schema)) #

(SingI ac, SingI s) => SingI (SchemaArray ac s :: Schema) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

sing :: Sing (SchemaArray ac s) #

FElem fn ((,) fn r ': rs) Z Source # 
Instance details

Defined in Data.Schematic.Lens

Associated Types

type ByField fn ((fn, r) ': rs) Z :: Schema Source #

Methods

flens :: Functor g => (f (fn, ByField fn ((fn, r) ': rs) Z) -> g (f (fn, ByField fn ((fn, r) ': rs) Z))) -> Rec f ((fn, r) ': rs) -> g (Rec f ((fn, r) ': rs)) Source #

fget :: FGetter fn f ((fn, r) ': rs) Z Source #

fput :: f (fn, ByField fn ((fn, r) ': rs) Z) -> Rec f ((fn, r) ': rs) -> Rec f ((fn, r) ': rs) Source #

(FIndex r (s ': rs) ~ S i, FElem r rs i) => FElem r (s ': rs) (S i) Source # 
Instance details

Defined in Data.Schematic.Lens

Associated Types

type ByField r (s ': rs) (S i) :: Schema Source #

Methods

flens :: Functor g => (f (r, ByField r (s ': rs) (S i)) -> g (f (r, ByField r (s ': rs) (S i)))) -> Rec f (s ': rs) -> g (Rec f (s ': rs)) Source #

fget :: FGetter r f (s ': rs) (S i) Source #

fput :: f (r, ByField r (s ': rs) (S i)) -> Rec f (s ': rs) -> Rec f (s ': rs) Source #

Eq (JsonRepr schema) => Eq (FieldRepr ((,) name schema)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

(==) :: FieldRepr (name, schema) -> FieldRepr (name, schema) -> Bool #

(/=) :: FieldRepr (name, schema) -> FieldRepr (name, schema) -> Bool #

Show (JsonRepr schema) => Show (FieldRepr ((,) name schema)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

showsPrec :: Int -> FieldRepr (name, schema) -> ShowS #

show :: FieldRepr (name, schema) -> String #

showList :: [FieldRepr (name, schema)] -> ShowS #

SingI (h ': tl) => Representable (SchemaUnion (h ': tl)) Source # 
Instance details

Defined in Data.Schematic.DSL

Methods

constructField :: Sing fn -> Proxy (SchemaUnion (h ': tl)) -> Repr (SchemaUnion (h ': tl)) -> FieldRepr (fn, SchemaUnion (h ': tl)) Source #

FSubset ([] :: [(Symbol, Schema)]) ss ([] :: [Nat]) Source # 
Instance details

Defined in Data.Schematic.Lens

Methods

fsubset :: Functor g => (Rec f [] -> g (Rec f [])) -> Rec f ss -> g (Rec f ss) Source #

fcast :: Rec f ss -> Rec f [] Source #

freplace :: Rec f [] -> Rec f ss -> Rec f ss Source #

Eq (Sing (SchemaText cs)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

(==) :: Sing (SchemaText cs) -> Sing (SchemaText cs) -> Bool #

(/=) :: Sing (SchemaText cs) -> Sing (SchemaText cs) -> Bool #

Eq (Sing SchemaBoolean) Source # 
Instance details

Defined in Data.Schematic.Schema

Eq (Sing (SchemaNumber cs)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

(==) :: Sing (SchemaNumber cs) -> Sing (SchemaNumber cs) -> Bool #

(/=) :: Sing (SchemaNumber cs) -> Sing (SchemaNumber cs) -> Bool #

Eq (Sing (SchemaObject cs)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

(==) :: Sing (SchemaObject cs) -> Sing (SchemaObject cs) -> Bool #

(/=) :: Sing (SchemaObject cs) -> Sing (SchemaObject cs) -> Bool #

Eq (Sing (SchemaArray as s)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

(==) :: Sing (SchemaArray as s) -> Sing (SchemaArray as s) -> Bool #

(/=) :: Sing (SchemaArray as s) -> Sing (SchemaArray as s) -> Bool #

Eq (Sing SchemaNull) Source # 
Instance details

Defined in Data.Schematic.Schema

Eq (Sing (SchemaOptional s)) Source # 
Instance details

Defined in Data.Schematic.Schema

Eq (Sing (SchemaUnion s)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

(==) :: Sing (SchemaUnion s) -> Sing (SchemaUnion s) -> Bool #

(/=) :: Sing (SchemaUnion s) -> Sing (SchemaUnion s) -> Bool #

ToJSON (Union JsonRepr as) Source # 
Instance details

Defined in Data.Schematic.Schema

(SingI a, FromJSON (Union JsonRepr as)) => FromJSON (Union JsonRepr (a ': as)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

parseJSON :: Value -> Parser (Union JsonRepr (a ': as)) #

parseJSONList :: Value -> Parser [Union JsonRepr (a ': as)] #

FromJSON (Union JsonRepr ([] :: [Schema])) Source # 
Instance details

Defined in Data.Schematic.Schema

(ByField fn ss i ~ s, FElem fn ss i, FSubset rs ss is) => FSubset ((,) fn s ': rs) ss (i ': is) Source # 
Instance details

Defined in Data.Schematic.Lens

Methods

fsubset :: Functor g => (Rec f ((fn, s) ': rs) -> g (Rec f ((fn, s) ': rs))) -> Rec f ss -> g (Rec f ss) Source #

fcast :: Rec f ss -> Rec f ((fn, s) ': rs) Source #

freplace :: Rec f ((fn, s) ': rs) -> Rec f ss -> Rec f ss Source #

type Rep Schema Source # 
Instance details

Defined in Data.Schematic.Schema

data Sing (schema :: Schema) Source # 
Instance details

Defined in Data.Schematic.Schema

type Demote Schema Source # 
Instance details

Defined in Data.Schematic.Schema

type ByField fn ((,) fn r ': rs) Z Source # 
Instance details

Defined in Data.Schematic.Lens

type ByField fn ((,) fn r ': rs) Z = r
type ByField r (s ': rs) (S i) Source # 
Instance details

Defined in Data.Schematic.Lens

type ByField r (s ': rs) (S i) = ByField r rs i

data DemotedSchema Source #

Instances
Eq DemotedSchema Source # 
Instance details

Defined in Data.Schematic.Schema

Show DemotedSchema Source # 
Instance details

Defined in Data.Schematic.Schema

Generic DemotedSchema Source # 
Instance details

Defined in Data.Schematic.Schema

Associated Types

type Rep DemotedSchema :: * -> * #

type Rep DemotedSchema Source # 
Instance details

Defined in Data.Schematic.Schema

data FieldRepr :: (Symbol, Schema) -> Type where Source #

Constructors

FieldRepr :: (SingI schema, KnownSymbol name) => JsonRepr schema -> FieldRepr '(name, schema) 
Instances
(KnownSymbol name, SingI schema, Serial m (JsonRepr schema)) => Serial m (FieldRepr ((,) name schema)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

series :: Series m (FieldRepr (name, schema)) #

Eq (JsonRepr schema) => Eq (FieldRepr ((,) name schema)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

(==) :: FieldRepr (name, schema) -> FieldRepr (name, schema) -> Bool #

(/=) :: FieldRepr (name, schema) -> FieldRepr (name, schema) -> Bool #

Show (JsonRepr schema) => Show (FieldRepr ((,) name schema)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

showsPrec :: Int -> FieldRepr (name, schema) -> ShowS #

show :: FieldRepr (name, schema) -> String #

showList :: [FieldRepr (name, schema)] -> ShowS #

toJsonRepr :: FieldRepr '(fn, sch) -> JsonRepr sch Source #

Forgetful Functor Ufr

knownFieldName :: forall proxy (fieldName :: Symbol) schema. KnownSymbol fieldName => proxy '(fieldName, schema) -> Text Source #

knownFieldSchema :: forall proxy fieldName schema. SingI schema => proxy '(fieldName, schema) -> Sing schema Source #

type family USubsets (u :: [k]) :: Constraint where ... Source #

Equations

USubsets '[] = () 
USubsets (h ': tl) = (USubset tl (h ': tl) (RImage tl (h ': tl)), USubsets tl) 

data JsonRepr :: Schema -> Type where Source #

Instances
(Monad m, Serial m (Rec FieldRepr fs)) => Serial m (JsonRepr (SchemaObject fs)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

series :: Series m (JsonRepr (SchemaObject fs)) #

Serial m (JsonRepr s) => Serial m (JsonRepr (SchemaOptional s)) Source # 
Instance details

Defined in Data.Schematic.Schema

(Serial m (JsonRepr s), Serial m (Vector (JsonRepr s)), SingI cs) => Serial m (JsonRepr (SchemaArray cs s)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

series :: Series m (JsonRepr (SchemaArray cs s)) #

Monad m => Serial m (JsonRepr SchemaNull) Source # 
Instance details

Defined in Data.Schematic.Schema

(Monad m, Serial m Scientific, SingI cs) => Serial m (JsonRepr (SchemaNumber cs)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

series :: Series m (JsonRepr (SchemaNumber cs)) #

(Monad m, Serial m Text, SingI cs) => Serial m (JsonRepr (SchemaText cs)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

series :: Series m (JsonRepr (SchemaText cs)) #

IsList (JsonRepr (SchemaArray cs s)) Source # 
Instance details

Defined in Data.Schematic.Schema

Associated Types

type Item (JsonRepr (SchemaArray cs s)) :: * #

Eq (JsonRepr (SchemaText cs)) Source # 
Instance details

Defined in Data.Schematic.Schema

Eq (JsonRepr (SchemaNumber cs)) Source # 
Instance details

Defined in Data.Schematic.Schema

Eq (Rec FieldRepr fs) => Eq (JsonRepr (SchemaObject fs)) Source # 
Instance details

Defined in Data.Schematic.Schema

Eq (JsonRepr s) => Eq (JsonRepr (SchemaArray as s)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

(==) :: JsonRepr (SchemaArray as s) -> JsonRepr (SchemaArray as s) -> Bool #

(/=) :: JsonRepr (SchemaArray as s) -> JsonRepr (SchemaArray as s) -> Bool #

Eq (JsonRepr SchemaNull) Source # 
Instance details

Defined in Data.Schematic.Schema

Eq (JsonRepr s) => Eq (JsonRepr (SchemaOptional s)) Source # 
Instance details

Defined in Data.Schematic.Schema

Num (JsonRepr (SchemaNumber cs)) Source # 
Instance details

Defined in Data.Schematic.Schema

Ord (JsonRepr (SchemaText cs)) Source # 
Instance details

Defined in Data.Schematic.Schema

Ord (JsonRepr (SchemaNumber cs)) Source # 
Instance details

Defined in Data.Schematic.Schema

Ord (Rec FieldRepr fs) => Ord (JsonRepr (SchemaObject fs)) Source # 
Instance details

Defined in Data.Schematic.Schema

Ord (JsonRepr s) => Ord (JsonRepr (SchemaArray as s)) Source # 
Instance details

Defined in Data.Schematic.Schema

Ord (JsonRepr SchemaNull) Source # 
Instance details

Defined in Data.Schematic.Schema

Ord (JsonRepr s) => Ord (JsonRepr (SchemaOptional s)) Source # 
Instance details

Defined in Data.Schematic.Schema

Show (JsonRepr (SchemaText cs)) Source #

Move to the union package

Instance details

Defined in Data.Schematic.Schema

Show (JsonRepr (SchemaNumber cs)) Source # 
Instance details

Defined in Data.Schematic.Schema

RecAll FieldRepr fs Show => Show (JsonRepr (SchemaObject fs)) Source # 
Instance details

Defined in Data.Schematic.Schema

Show (JsonRepr s) => Show (JsonRepr (SchemaArray acs s)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

showsPrec :: Int -> JsonRepr (SchemaArray acs s) -> ShowS #

show :: JsonRepr (SchemaArray acs s) -> String #

showList :: [JsonRepr (SchemaArray acs s)] -> ShowS #

Show (JsonRepr SchemaNull) Source # 
Instance details

Defined in Data.Schematic.Schema

Show (JsonRepr s) => Show (JsonRepr (SchemaOptional s)) Source # 
Instance details

Defined in Data.Schematic.Schema

IsString (JsonRepr (SchemaText cs)) Source # 
Instance details

Defined in Data.Schematic.Schema

ToJSON (JsonRepr a) Source # 
Instance details

Defined in Data.Schematic.Schema

SingI schema => FromJSON (JsonRepr schema) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

parseJSON :: Value -> Parser (JsonRepr schema) #

parseJSONList :: Value -> Parser [JsonRepr schema] #

(TopLevel a, SingI a, FromJSON (JsonRepr a)) => FromJSON (ParseResult (JsonRepr a)) # 
Instance details

Defined in Data.Schematic.Validation

ToJSON (Union JsonRepr as) Source # 
Instance details

Defined in Data.Schematic.Schema

(SingI a, FromJSON (Union JsonRepr as)) => FromJSON (Union JsonRepr (a ': as)) Source # 
Instance details

Defined in Data.Schematic.Schema

Methods

parseJSON :: Value -> Parser (Union JsonRepr (a ': as)) #

parseJSONList :: Value -> Parser [Union JsonRepr (a ': as)] #

FromJSON (Union JsonRepr ([] :: [Schema])) Source # 
Instance details

Defined in Data.Schematic.Schema

type Item (JsonRepr (SchemaArray cs s)) Source # 
Instance details

Defined in Data.Schematic.Schema

type Item (JsonRepr (SchemaArray cs s)) = JsonRepr s

type family TopLevel (schema :: Schema) :: Constraint where ... Source #

Equations

TopLevel (SchemaArray acs s) = () 
TopLevel (SchemaObject o) = () 
TopLevel spec = True ~ False