module YamlUnscrambler.Err
( ErrAtPath (..),
Err (..),
atSegment,
MaxInputSize (..),
Signed (..),
NumeralSystem (..),
CaseSensitive (..),
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
Text
Text
| NoneOfMappingKeysFoundErr
(Ex.ByKey Text)
CaseSensitive
[Text]
[Text]
| NoneOfSequenceKeysFoundErr
(Ex.ByKey Int)
[Int]
| ScalarErr
[Ex.Scalar]
ByteString
Libyaml.Tag
Libyaml.Style
(Maybe Text)
| UnexpectedScalarErr
Ex.Value
| UnexpectedMappingErr
Ex.Value
| UnexpectedSequenceErr
Ex.Value
| UnknownAnchorErr
Text
| NotEnoughElementsErr
Ex.ByOrder
Int
atSegment :: Text -> ErrAtPath -> ErrAtPath
atSegment :: Text -> ErrAtPath -> ErrAtPath
atSegment Text
seg (ErrAtPath [Text]
path Err
err) =
[Text] -> Err -> ErrAtPath
ErrAtPath (Text
seg forall a. a -> [a] -> [a]
: [Text]
path) Err
err