106 lines
3.7 KiB
JavaScript
106 lines
3.7 KiB
JavaScript
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
var _exportNames = {
|
|
ParseErrorEnum: true,
|
|
Errors: true
|
|
};
|
|
exports.Errors = void 0;
|
|
exports.ParseErrorEnum = ParseErrorEnum;
|
|
var _location = require("./util/location");
|
|
var _credentials = require("./parse-error/credentials");
|
|
Object.keys(_credentials).forEach(function (key) {
|
|
if (key === "default" || key === "__esModule") return;
|
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
if (key in exports && exports[key] === _credentials[key]) return;
|
|
Object.defineProperty(exports, key, {
|
|
enumerable: true,
|
|
get: function () {
|
|
return _credentials[key];
|
|
}
|
|
});
|
|
});
|
|
var _moduleErrors = require("./parse-error/module-errors");
|
|
var _standardErrors = require("./parse-error/standard-errors");
|
|
var _strictModeErrors = require("./parse-error/strict-mode-errors");
|
|
var _pipelineOperatorErrors = require("./parse-error/pipeline-operator-errors");
|
|
const _excluded = ["toMessage"],
|
|
_excluded2 = ["message"];
|
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
function toParseErrorConstructor(_ref) {
|
|
let {
|
|
toMessage
|
|
} = _ref,
|
|
properties = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
return function constructor({
|
|
loc,
|
|
details
|
|
}) {
|
|
return (0, _credentials.instantiate)(SyntaxError, Object.assign({}, properties, {
|
|
loc
|
|
}), {
|
|
clone(overrides = {}) {
|
|
const loc = overrides.loc || {};
|
|
return constructor({
|
|
loc: new _location.Position("line" in loc ? loc.line : this.loc.line, "column" in loc ? loc.column : this.loc.column, "index" in loc ? loc.index : this.loc.index),
|
|
details: Object.assign({}, this.details, overrides.details)
|
|
});
|
|
},
|
|
details: {
|
|
value: details,
|
|
enumerable: false
|
|
},
|
|
message: {
|
|
get() {
|
|
return `${toMessage(this.details)} (${this.loc.line}:${this.loc.column})`;
|
|
},
|
|
set(value) {
|
|
Object.defineProperty(this, "message", {
|
|
value
|
|
});
|
|
}
|
|
},
|
|
pos: {
|
|
reflect: "loc.index",
|
|
enumerable: true
|
|
},
|
|
missingPlugin: "missingPlugin" in details && {
|
|
reflect: "details.missingPlugin",
|
|
enumerable: true
|
|
}
|
|
});
|
|
};
|
|
}
|
|
function ParseErrorEnum(argument, syntaxPlugin) {
|
|
if (Array.isArray(argument)) {
|
|
return parseErrorTemplates => ParseErrorEnum(parseErrorTemplates, argument[0]);
|
|
}
|
|
const ParseErrorConstructors = {};
|
|
for (const reasonCode of Object.keys(argument)) {
|
|
const template = argument[reasonCode];
|
|
const _ref2 = typeof template === "string" ? {
|
|
message: () => template
|
|
} : typeof template === "function" ? {
|
|
message: template
|
|
} : template,
|
|
{
|
|
message
|
|
} = _ref2,
|
|
rest = _objectWithoutPropertiesLoose(_ref2, _excluded2);
|
|
const toMessage = typeof message === "string" ? () => message : message;
|
|
ParseErrorConstructors[reasonCode] = toParseErrorConstructor(Object.assign({
|
|
code: _credentials.ParseErrorCode.SyntaxError,
|
|
reasonCode,
|
|
toMessage
|
|
}, syntaxPlugin ? {
|
|
syntaxPlugin
|
|
} : {}, rest));
|
|
}
|
|
return ParseErrorConstructors;
|
|
}
|
|
const Errors = Object.assign({}, ParseErrorEnum(_moduleErrors.default), ParseErrorEnum(_standardErrors.default), ParseErrorEnum(_strictModeErrors.default), ParseErrorEnum`pipelineOperator`(_pipelineOperatorErrors.default));
|
|
exports.Errors = Errors;
|
|
|
|
//# sourceMappingURL=parse-error.js.map
|