aboutsummaryrefslogtreecommitdiff
path: root/node_modules/es6-error/src
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/es6-error/src')
-rw-r--r--node_modules/es6-error/src/index.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/node_modules/es6-error/src/index.js b/node_modules/es6-error/src/index.js
new file mode 100644
index 000000000..e52b1613c
--- /dev/null
+++ b/node_modules/es6-error/src/index.js
@@ -0,0 +1,34 @@
+class ExtendableError extends Error {
+ constructor(message = '') {
+ super(message);
+
+ // extending Error is weird and does not propagate `message`
+ Object.defineProperty(this, 'message', {
+ configurable: true,
+ enumerable : false,
+ value : message,
+ writable : true,
+ });
+
+ Object.defineProperty(this, 'name', {
+ configurable: true,
+ enumerable : false,
+ value : this.constructor.name,
+ writable : true,
+ });
+
+ if (Error.hasOwnProperty('captureStackTrace')) {
+ Error.captureStackTrace(this, this.constructor);
+ return;
+ }
+
+ Object.defineProperty(this, 'stack', {
+ configurable: true,
+ enumerable : false,
+ value : (new Error(message)).stack,
+ writable : true,
+ });
+ }
+}
+
+export default ExtendableError;