Browse Source

Don't actually construct real Errors with stacktraces, for performance reasons

master
Sven Slootweg 1 year ago
parent
commit
73838db4b5
  1. 21
      index.js
  2. 5
      package.json

21
index.js

@ -1,12 +1,19 @@
"use strict";
const createError = require("create-error");
// NOTE: We don't actually inherit from the real Error here, because collecting stacktraces is very expensive and largely useless for our purposes. Validatem's own error reporting is clear enough, and if not, that's a bug in Validatem anyway.
function ValidationError(message, properties) {
this.message = message;
module.exports = createError("ValidationError", {
path: [],
// NOTE: The below are for potential future compatibility logic.
___validatem_isValidationError: true,
___validatem_errorVersion: 1
});
Object.assign(this, {
path: [],
___validatem_isValidationError: true,
___validatem_errorVersion: 1
});
Object.assign(this, properties);
}
ValidationError.prototype.name = "ValidationError";
module.exports = ValidationError;
module.exports.__modulePath = __dirname;

5
package.json

@ -4,8 +4,5 @@
"main": "index.js",
"repository": "http://git.cryto.net/validatem/error.git",
"author": "Sven Slootweg <admin@cryto.net>",
"license": "WTFPL OR CC0-1.0",
"dependencies": {
"create-error": "^0.3.1"
}
"license": "WTFPL OR CC0-1.0"
}
Loading…
Cancel
Save