aboutsummaryrefslogtreecommitdiff
path: root/node_modules/es6-error/src
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-05-28 00:38:50 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-05-28 00:40:43 +0200
commit7fff4499fd915bcea3fa93b1aa8b35f4fe7a6027 (patch)
tree6de9a1aebd150a23b7f8c273ec657a5d0a18fe3e /node_modules/es6-error/src
parent963b7a41feb29cc4be090a2446bdfe0c1f1bcd81 (diff)
add linting (and some initial fixes)
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;