Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- parseText :: Value a -> Text -> Either Text a
- parseByteString :: Value a -> ByteString -> Either Text a
- getExpectations :: Value a -> Value
- data Value a
- value :: [Scalar a] -> Maybe (Mapping a) -> Maybe (Sequence a) -> Value a
- nullableValue :: [Scalar a] -> Maybe (Mapping a) -> Maybe (Sequence a) -> Value (Maybe a)
- sequenceValue :: Sequence a -> Value a
- mappingValue :: Mapping a -> Value a
- scalarsValue :: [Scalar a] -> Value a
- data Scalar a
- stringScalar :: String a -> Scalar a
- nullScalar :: a -> Scalar a
- boolScalar :: Scalar Bool
- scientificScalar :: Scalar Scientific
- doubleScalar :: Scalar Double
- rationalScalar :: MaxInputSize -> Scalar Rational
- boundedIntegerScalar :: (Integral a, FiniteBits a) => Signed -> NumeralSystem -> Scalar a
- unboundedIntegerScalar :: MaxInputSize -> Signed -> NumeralSystem -> Scalar Integer
- timestampScalar :: Scalar UTCTime
- dayScalar :: Scalar Day
- timeScalar :: Scalar TimeOfDay
- uuidScalar :: Scalar UUID
- binaryScalar :: Scalar ByteString
- data Mapping a
- foldMapping :: (key -> val -> assoc) -> Fold assoc a -> String key -> Value val -> Mapping a
- byKeyMapping :: CaseSensitive -> ByKey Text a -> Mapping a
- data Sequence a
- foldSequence :: Fold a b -> Value a -> Sequence b
- byOrderSequence :: ByOrder a -> Sequence a
- byKeySequence :: ByKey Int a -> Sequence a
- data String a
- textString :: String Text
- enumString :: CaseSensitive -> [(Text, a)] -> String a
- formattedString :: Text -> (Text -> Either Text a) -> String a
- attoparsedString :: Text -> Parser a -> String a
- data ByKey key a
- atByKey :: key -> Value a -> ByKey key a
- atOneOfByKey :: [key] -> Value a -> ByKey key a
- data ByOrder a
- fetchByOrder :: Value a -> ByOrder a
- newtype MaxInputSize = MaxInputSize Int
- newtype Signed = Signed Bool
- data NumeralSystem
- newtype CaseSensitive = CaseSensitive Bool
Execution
parseByteString :: Value a -> ByteString -> Either Text a Source #
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
Helpers
sequenceValue :: Sequence a -> Value a Source #
mappingValue :: Mapping a -> Value a Source #
scalarsValue :: [Scalar a] -> Value a Source #
Scalar
stringScalar :: String a -> Scalar a Source #
nullScalar :: a -> Scalar a Source #
boolScalar :: Scalar Bool Source #
boundedIntegerScalar :: (Integral a, FiniteBits a) => Signed -> NumeralSystem -> Scalar a Source #
unboundedIntegerScalar :: MaxInputSize -> Signed -> NumeralSystem -> Scalar Integer Source #
uuidScalar :: Scalar UUID Source #
Mapping
foldMapping :: (key -> val -> assoc) -> Fold assoc a -> String key -> Value val -> Mapping a Source #
byKeyMapping :: CaseSensitive -> ByKey Text a -> Mapping a Source #
Sequence
byOrderSequence :: ByOrder a -> Sequence a Source #
String
textString :: String Text Source #
enumString :: CaseSensitive -> [(Text, a)] -> String a Source #
ByKey
atOneOfByKey :: [key] -> Value a -> ByKey key a Source #
ByOrder
fetchByOrder :: Value a -> ByOrder a Source #
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.
newtype CaseSensitive Source #