You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
106 lines
3.7 KiB
106 lines
3.7 KiB
"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
|
|
|