ifc-expressions
Version:
Parsing and evaluation of IFC expressions
22 lines (21 loc) • 1.21 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ValidationExceptionMapper = void 0;
const ExprEvalResult_js_1 = require("../../expression/ExprEvalResult.js");
const InvalidSyntaxException_js_1 = require("../InvalidSyntaxException.js");
const ExpressionTypeError_js_1 = require("../ExpressionTypeError.js");
const TextSpan_js_1 = require("../../util/TextSpan.js");
class ValidationExceptionMapper {
mapException(exception) {
let status = ExprEvalResult_js_1.ExprEvalStatus.VALIDATION_ERROR;
if (exception instanceof InvalidSyntaxException_js_1.InvalidSyntaxException) {
status = ExprEvalResult_js_1.ExprEvalStatus.SYNTAX_ERROR;
}
else if (exception instanceof ExpressionTypeError_js_1.ExpressionTypeError) {
status = ExprEvalResult_js_1.ExprEvalStatus.STATIC_TYPE_ERROR;
}
return new ExprEvalResult_js_1.ExprEvalValidationErrorObj(status, exception.message, TextSpan_js_1.TextSpan.of(exception.fromLine, exception.fromColumn + 1, exception.toLine, exception.toColumn + 1));
}
}
exports.ValidationExceptionMapper = ValidationExceptionMapper;
//# sourceMappingURL=ValidationExceptionMapper.js.map