UNPKG

saij

Version:
76 lines (59 loc) 5.36 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _uid = require("./utils/uid.js"); var _Errors = _interopRequireDefault(require("./Errors")); /** * @module saij/core/AssertionError */ const link = 'Assertion failed. See https://skan-io.github.io/saij/module-saij_core_Errors for details.'; const getErrorMessages = () => { const errorMap = new Map(); for (const key of Reflect.ownKeys(_Errors.default)) { errorMap.set(_Errors.default[key].code, _Errors.default[key].message); } return errorMap; }; const errorMessageMap = getErrorMessages(); /** * Error object thrown when an assertion failed. This is an ECMA-262 Error, * extended with a `code` property. * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error. */ class AssertionError extends Error { /** * @param {number} code Error code. */ constructor(code) { let message = errorMessageMap.get(code); if (!message) { message = '[UNKOWN ERROR] - The error code supplied is unknown.'; } message += ` ${link} Version: ${_uid.VERSION}`; super(message); /** * Error code. The meaning of the code can be found at * https://skan-io.github.io/saij/module-saij_core_Errors * @type {number} * @api */ this.code = code; /** * Error message. Description of the error code. * Check https://skan-io.github.io/saij/module-saij_core_Errors * @type {string} * @api */ this.message = message; /** * @type {string} */ this.name = 'AssertionError'; } } var _default = AssertionError; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zYWlqL2NvcmUvQXNzZXJ0aW9uRXJyb3IuanMiXSwibmFtZXMiOlsibGluayIsImdldEVycm9yTWVzc2FnZXMiLCJlcnJvck1hcCIsIk1hcCIsImtleSIsIlJlZmxlY3QiLCJvd25LZXlzIiwiRXJyb3JzIiwic2V0IiwiY29kZSIsIm1lc3NhZ2UiLCJlcnJvck1lc3NhZ2VNYXAiLCJBc3NlcnRpb25FcnJvciIsIkVycm9yIiwiY29uc3RydWN0b3IiLCJnZXQiLCJWRVJTSU9OIiwibmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBSUE7O0FBQ0E7O0FBSkE7OztBQU9BLE1BQU1BLElBQUksR0FBRywyRkFBYjs7QUFFQSxNQUFNQyxnQkFBZ0IsR0FBRyxNQUFLO0FBQzVCLFFBQU1DLFFBQVEsR0FBRyxJQUFJQyxHQUFKLEVBQWpCOztBQUNBLE9BQUssTUFBTUMsR0FBWCxJQUFrQkMsT0FBTyxDQUFDQyxPQUFSLENBQWdCQyxlQUFoQixDQUFsQixFQUEyQztBQUN6Q0wsSUFBQUEsUUFBUSxDQUFDTSxHQUFULENBQWFELGdCQUFPSCxHQUFQLEVBQVlLLElBQXpCLEVBQStCRixnQkFBT0gsR0FBUCxFQUFZTSxPQUEzQztBQUNEOztBQUVELFNBQU9SLFFBQVA7QUFDRCxDQVBEOztBQVNBLE1BQU1TLGVBQWUsR0FBR1YsZ0JBQWdCLEVBQXhDO0FBR0E7Ozs7OztBQUtBLE1BQU1XLGNBQU4sU0FBNkJDLEtBQTdCLENBQW1DO0FBRWpDOzs7QUFHQUMsRUFBQUEsV0FBVyxDQUFDTCxJQUFELEVBQU87QUFDaEIsUUFBSUMsT0FBTyxHQUFHQyxlQUFlLENBQUNJLEdBQWhCLENBQW9CTixJQUFwQixDQUFkOztBQUVBLFFBQUksQ0FBQ0MsT0FBTCxFQUFjO0FBQ1pBLE1BQUFBLE9BQU8sR0FBRyxzREFBVjtBQUNEOztBQUVEQSxJQUFBQSxPQUFPLElBQUssSUFBR1YsSUFBSyxhQUFZZ0IsWUFBUSxFQUF4QztBQUVBLFVBQU1OLE9BQU47QUFFQTs7Ozs7OztBQU1BLFNBQUtELElBQUwsR0FBWUEsSUFBWjtBQUVBOzs7Ozs7O0FBTUEsU0FBS0MsT0FBTCxHQUFlQSxPQUFmO0FBRUE7Ozs7QUFHQSxTQUFLTyxJQUFMLEdBQVksZ0JBQVo7QUFDRDs7QUFwQ2dDOztlQXVDcEJMLGMiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qKlxuICogQG1vZHVsZSBzYWlqL2NvcmUvQXNzZXJ0aW9uRXJyb3JcbiAqL1xuaW1wb3J0IHtWRVJTSU9OfSBmcm9tICcuL3V0aWxzL3VpZC5qcyc7XG5pbXBvcnQgRXJyb3JzIGZyb20gJy4vRXJyb3JzJztcblxuXG5jb25zdCBsaW5rID0gJ0Fzc2VydGlvbiBmYWlsZWQuIFNlZSBodHRwczovL3NrYW4taW8uZ2l0aHViLmlvL3NhaWovbW9kdWxlLXNhaWpfY29yZV9FcnJvcnMgZm9yIGRldGFpbHMuJztcblxuY29uc3QgZ2V0RXJyb3JNZXNzYWdlcyA9ICgpPT4ge1xuICBjb25zdCBlcnJvck1hcCA9IG5ldyBNYXAoKTtcbiAgZm9yIChjb25zdCBrZXkgb2YgUmVmbGVjdC5vd25LZXlzKEVycm9ycykpIHtcbiAgICBlcnJvck1hcC5zZXQoRXJyb3JzW2tleV0uY29kZSwgRXJyb3JzW2tleV0ubWVzc2FnZSk7XG4gIH1cblxuICByZXR1cm4gZXJyb3JNYXA7XG59O1xuXG5jb25zdCBlcnJvck1lc3NhZ2VNYXAgPSBnZXRFcnJvck1lc3NhZ2VzKCk7XG5cblxuLyoqXG4gKiBFcnJvciBvYmplY3QgdGhyb3duIHdoZW4gYW4gYXNzZXJ0aW9uIGZhaWxlZC4gVGhpcyBpcyBhbiBFQ01BLTI2MiBFcnJvcixcbiAqIGV4dGVuZGVkIHdpdGggYSBgY29kZWAgcHJvcGVydHkuXG4gKiBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvRXJyb3IuXG4gKi9cbmNsYXNzIEFzc2VydGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuXG4gIC8qKlxuICAgKiBAcGFyYW0ge251bWJlcn0gY29kZSBFcnJvciBjb2RlLlxuICAgKi9cbiAgY29uc3RydWN0b3IoY29kZSkge1xuICAgIGxldCBtZXNzYWdlID0gZXJyb3JNZXNzYWdlTWFwLmdldChjb2RlKTtcblxuICAgIGlmICghbWVzc2FnZSkge1xuICAgICAgbWVzc2FnZSA9ICdbVU5LT1dOIEVSUk9SXSAtIFRoZSBlcnJvciBjb2RlIHN1cHBsaWVkIGlzIHVua25vd24uJztcbiAgICB9XG5cbiAgICBtZXNzYWdlICs9IGAgJHtsaW5rfSBWZXJzaW9uOiAke1ZFUlNJT059YDtcblxuICAgIHN1cGVyKG1lc3NhZ2UpO1xuXG4gICAgLyoqXG4gICAgICogRXJyb3IgY29kZS4gVGhlIG1lYW5pbmcgb2YgdGhlIGNvZGUgY2FuIGJlIGZvdW5kIGF0XG4gICAgICogaHR0cHM6Ly9za2FuLWlvLmdpdGh1Yi5pby9zYWlqL21vZHVsZS1zYWlqX2NvcmVfRXJyb3JzXG4gICAgICogQHR5cGUge251bWJlcn1cbiAgICAgKiBAYXBpXG4gICAgICovXG4gICAgdGhpcy5jb2RlID0gY29kZTtcblxuICAgIC8qKlxuICAgICAqIEVycm9yIG1lc3NhZ2UuIERlc2NyaXB0aW9uIG9mIHRoZSBlcnJvciBjb2RlLlxuICAgICAqIENoZWNrIGh0dHBzOi8vc2thbi1pby5naXRodWIuaW8vc2Fpai9tb2R1bGUtc2Fpal9jb3JlX0Vycm9yc1xuICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICogQGFwaVxuICAgICAqL1xuICAgIHRoaXMubWVzc2FnZSA9IG1lc3NhZ2U7XG5cbiAgICAvKipcbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgICAqL1xuICAgIHRoaXMubmFtZSA9ICdBc3NlcnRpb25FcnJvcic7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQXNzZXJ0aW9uRXJyb3I7XG4iXX0=