yaml-unscrambler-0.1.0.7: library/YamlUnscrambler/Err.hs
module YamlUnscrambler.Err
( ErrAtPath (..),
Err (..),
atSegment,
-- *
MaxInputSize (..),
Signed (..),
NumeralSystem (..),
CaseSensitive (..),
-- * Reexports from \"libyaml\"
Libyaml.Tag (..),
Libyaml.Style (..),
)
where
import qualified Text.Libyaml as Libyaml
import qualified YamlUnscrambler.Expectations as Ex
import YamlUnscrambler.Model
import YamlUnscrambler.Prelude hiding (String)
data ErrAtPath
= ErrAtPath [Text] Err
data Err
= KeyErr
Ex.String
-- ^ Key expectation.
Text
-- ^ Key input.
Text
-- ^ String parsing error.
| NoneOfMappingKeysFoundErr
(Ex.ByKey Text)
CaseSensitive
[Text]
-- ^ Available keys.
[Text]
-- ^ Keys looked up.
| NoneOfSequenceKeysFoundErr
(Ex.ByKey Int)
[Int]
| ScalarErr
[Ex.Scalar]
-- ^ Expected formats.
ByteString
-- ^ Input.
Libyaml.Tag
-- ^ Tag.
Libyaml.Style
-- ^ Style.
(Maybe Text)
-- ^ Last error.
| UnexpectedScalarErr
Ex.Value
| UnexpectedMappingErr
Ex.Value
| UnexpectedSequenceErr
Ex.Value
| UnknownAnchorErr
Text
| NotEnoughElementsErr
Ex.ByOrder
Int
atSegment :: Text -> ErrAtPath -> ErrAtPath
atSegment seg (ErrAtPath path err) =
ErrAtPath (seg : path) err