Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data JSONError
- type JSONWarning = JSONError
- data Expected
- data FormatExpected
- type Position = [Step]
- data Step
- inField :: FieldName -> Step
- prettyJSONErrorPositions :: [(JSONError, Position)] -> String
- prettyJSONError :: JSONError -> String
- prettyStep :: Step -> String
- expectedArray :: Value -> JSONError
- expectedBool :: Value -> JSONError
- expectedInt :: Value -> JSONError
- expectedObject :: Value -> JSONError
- expectedString :: Value -> JSONError
- badFormat :: String -> Text -> JSONError
- data ValueError
- data ValidateFailure
- = ChangelogOutOfOrder { }
- | CannotDowngrade { }
- | ApiInvalid { }
- | ChangelogEntryInvalid { }
- | ChangelogIncomplete { }
- data ValidateWarning
- data ApplyFailure
- = TypeExists { }
- | TypeDoesNotExist { }
- | TypeWrongKind { }
- | TypeInUse { }
- | TypeMalformed { }
- | DeclMalformed { }
- | FieldExists { }
- | FieldDoesNotExist { }
- | FieldBadDefaultValue { }
- | DefaultMissing { }
- | TableChangeError { }
- data TypeKind
- data MigrateFailure
- type MigrateWarning = ValidateWarning
- prettyMigrateFailure :: MigrateFailure -> String
- prettyValidateFailure :: ValidateFailure -> String
- prettyValueError :: ValueError -> String
- prettyValueErrorPosition :: (ValueError, Position) -> String
Representation of JSON parsing errors
Represents an error that can be encountered while parsing
type JSONWarning = JSONError Source #
At present, we do not distinguish between errors and warnings
JSON type expected at a particular position, when a value of a different type was encountered
data FormatExpected Source #
Special format expected of a string
type Position = [Step] Source #
A position inside a JSON value is a list of steps, ordered innermost first (so going inside an object prepends a step).
Each step may be into a field of an object, or a specific element of an array.
prettyJSONErrorPositions :: [(JSONError, Position)] -> String Source #
Human-readable presentation of a list of parse errors with their positions
prettyJSONError :: JSONError -> String Source #
Human-readable description of a JSON parse error
prettyStep :: Step -> String Source #
Human-readable description of a single step in a position
JSON parse error construction
expectedArray :: Value -> JSONError Source #
expectedBool :: Value -> JSONError Source #
expectedInt :: Value -> JSONError Source #
expectedObject :: Value -> JSONError Source #
expectedString :: Value -> JSONError Source #
Validation and migration errors
data ValueError Source #
Errors that can be discovered when migrating data values
JSONError JSONError | Data doesn't match schema |
CustomMigrationError String Value | Error generated during custom migration |
InvalidAPI ApplyFailure | An API change was invalid |
data ValidateFailure Source #
Errors that may be discovered when validating a changelog
ChangelogOutOfOrder | the changelog must be in descending order of versions |
CannotDowngrade | forbid migrating from one version to an earlier version |
ApiInvalid | an API uses types that are not declared |
ChangelogEntryInvalid | changelog entry does not apply |
ChangelogIncomplete | changelog is incomplete (ie all entries apply ok but result isn't the target api) |
data ApplyFailure Source #
Errors that may occur applying a single API change
TypeExists | for adding or renaming type |
TypeDoesNotExist | for deleting or renaming a type |
TypeWrongKind | e.g. it's not a record type |
TypeInUse | cannot delete/modify types that are still used |
TypeMalformed | type refers to a non-existent type |
| |
DeclMalformed | decl refers to a non-existent type |
FieldExists | for adding or renaming a field |
FieldDoesNotExist | for deleting or renaming a field |
FieldBadDefaultValue | for adding a field, must be a default value compatible with the type |
DefaultMissing | for adding a field to a table |
TableChangeError | custom error in tableChange |
data MigrateFailure Source #
type MigrateWarning = ValidateWarning Source #
prettyValueError :: ValueError -> String Source #
prettyValueErrorPosition :: (ValueError, Position) -> String Source #