simplex-lang
Version:
SimplEx - simple expression language
37 lines • 1.19 kB
JavaScript
import { typeOf } from './tools/index.js';
export class ExpressionError extends Error {
expression;
location;
constructor(message, expression, location, options) {
super(message, options);
this.expression = expression;
this.location = location;
}
}
export class CompileError extends Error {
expression;
location;
constructor(message, expression, location, options) {
super(message, options);
this.expression = expression;
this.location = location;
}
}
export class UnexpectedTypeError extends TypeError {
expectedTypes;
receivedValue;
I18N_STRING = 'UNEXPECTED_TYPE';
constructor(expectedTypes, receivedValue) {
super(`Expected ${expectedTypes.length === 1
? expectedTypes[0]
: expectedTypes
.flatMap((t, index) => {
return [t, index === expectedTypes.length - 2 ? ' or ' : ', '];
})
.slice(0, -1)
.join('')}, but got ${typeOf(receivedValue)} instead`);
this.expectedTypes = expectedTypes;
this.receivedValue = receivedValue;
}
}
//# sourceMappingURL=errors.js.map