yaml-unscrambler-0.1.0.5: Flexible declarative YAML parsing toolkit
Safe HaskellNone
LanguageHaskell2010

YamlUnscrambler

Synopsis

Execution

getExpectations :: Value a -> Value Source #

Get a tree of expectations, which can then be converted into documentation for people working with the YAML document or into one of the spec formats (e.g., YAML Spec, JSON Spec).

DSL

Value

data Value a Source #

Instances

Instances details
Functor Value Source # 
Instance details

Defined in YamlUnscrambler

Methods

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

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

value :: [Scalar a] -> Maybe (Mapping a) -> Maybe (Sequence a) -> Value a Source #

Helpers

Scalar

data Scalar a Source #

Instances

Instances details
Functor Scalar Source # 
Instance details

Defined in YamlUnscrambler

Methods

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

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

Mapping

data Mapping a Source #

Instances

Instances details
Functor Mapping Source # 
Instance details

Defined in YamlUnscrambler

Methods

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

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

foldMapping :: (key -> val -> assoc) -> Fold assoc a -> String key -> Value val -> Mapping a Source #

Sequence

data Sequence a Source #

Instances

Instances details
Functor Sequence Source # 
Instance details

Defined in YamlUnscrambler

Methods

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

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

String

data String a Source #

Instances

Instances details
Functor String Source # 
Instance details

Defined in YamlUnscrambler

Methods

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

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

ByKey

data ByKey key a Source #

Instances

Instances details
Functor (ByKey key) Source # 
Instance details

Defined in YamlUnscrambler

Methods

fmap :: (a -> b) -> ByKey key a -> ByKey key b #

(<$) :: a -> ByKey key b -> ByKey key a #

Applicative (ByKey key) Source # 
Instance details

Defined in YamlUnscrambler

Methods

pure :: a -> ByKey key a #

(<*>) :: ByKey key (a -> b) -> ByKey key a -> ByKey key b #

liftA2 :: (a -> b -> c) -> ByKey key a -> ByKey key b -> ByKey key c #

(*>) :: ByKey key a -> ByKey key b -> ByKey key b #

(<*) :: ByKey key a -> ByKey key b -> ByKey key a #

Alternative (ByKey key) Source # 
Instance details

Defined in YamlUnscrambler

Methods

empty :: ByKey key a #

(<|>) :: ByKey key a -> ByKey key a -> ByKey key a #

some :: ByKey key a -> ByKey key [a] #

many :: ByKey key a -> ByKey key [a] #

Selective (ByKey key) Source # 
Instance details

Defined in YamlUnscrambler

Methods

select :: ByKey key (Either a b) -> ByKey key (a -> b) -> ByKey key b #

atByKey :: key -> Value a -> ByKey key a Source #

atOneOfByKey :: [key] -> Value a -> ByKey key a Source #

ByOrder

data ByOrder a Source #

Instances

Instances details
Functor ByOrder Source # 
Instance details

Defined in YamlUnscrambler

Methods

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

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

Applicative ByOrder Source # 
Instance details

Defined in YamlUnscrambler

Methods

pure :: a -> ByOrder a #

(<*>) :: ByOrder (a -> b) -> ByOrder a -> ByOrder b #

liftA2 :: (a -> b -> c) -> ByOrder a -> ByOrder b -> ByOrder c #

(*>) :: ByOrder a -> ByOrder b -> ByOrder b #

(<*) :: ByOrder a -> ByOrder b -> ByOrder a #

Selective ByOrder Source # 
Instance details

Defined in YamlUnscrambler

Methods

select :: ByOrder (Either a b) -> ByOrder (a -> b) -> ByOrder b #

Value types

newtype MaxInputSize Source #

Specification of the maximum allowed length for the input. A safety measure to ensure that the parser doesn't exhaust memory when parsing to unlimited datatypes.

Constructors

MaxInputSize Int 

newtype Signed Source #

Constructors

Signed Bool 

newtype CaseSensitive Source #

Constructors

CaseSensitive Bool