srd/plugins/srd-aedifex-router/errors.js

45 lines
1.0 KiB
JavaScript

class AedifexError extends Error {
constructor(message) {
super(message)
this.name = 'AedifexError'
}
}
class UnhandledTypeError extends AedifexError {
constructor(received) {
super(`unhandled aedifex type "${received}"`)
this.name = 'UnhandleTypeError'
}
}
class IncorrectTypeError extends AedifexError {
constructor(expected, received) {
super(`expected "${expected}", received "${received}"`)
this.name = 'IncorrectTypeError'
}
}
class IncorrectPropertyError extends AedifexError {
constructor(field, expected, received) {
super(`expected property "${field}" to be "${expected}", received type "${received}"`)
this.name = 'IncorrectPropertyError'
}
}
class MismatchedVersionError extends AedifexError {
constructor(expected, received) {
super(`expected version "${expected}", received "${received}"`)
this.name = 'MismatchedVersionError'
}
}
module.exports = {
AedifexError,
UnhandledTypeError,
IncorrectTypeError,
IncorrectPropertyError,
MismatchedVersionError,
}