module YamlUnscrambler.Err
(
ErrAtPath(..),
Err(..),
atSegment,
MaxInputSize(..),
Signed(..),
NumeralSystem(..),
CaseSensitive(..),
Libyaml.Tag(..),
Libyaml.Style(..),
)
where
import YamlUnscrambler.Prelude hiding (String)
import YamlUnscrambler.Model
import qualified YamlUnscrambler.Expectations as Ex
import qualified Text.Libyaml as Libyaml
import qualified Text.Builder as TextBuilder
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 Text -> [Text] -> [Text]
forall a. a -> [a] -> [a]
: [Text]
path) Err
err