summaryrefslogtreecommitdiff
path: root/school/node_modules/domexception/lib/DOMException-impl.js
diff options
context:
space:
mode:
Diffstat (limited to 'school/node_modules/domexception/lib/DOMException-impl.js')
-rw-r--r--school/node_modules/domexception/lib/DOMException-impl.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/school/node_modules/domexception/lib/DOMException-impl.js b/school/node_modules/domexception/lib/DOMException-impl.js
new file mode 100644
index 0000000..7395751
--- /dev/null
+++ b/school/node_modules/domexception/lib/DOMException-impl.js
@@ -0,0 +1,22 @@
+"use strict";
+const legacyErrorCodes = require("./legacy-error-codes.json");
+const idlUtils = require("./utils.js");
+
+exports.implementation = class DOMExceptionImpl {
+ constructor(globalObject, [message, name]) {
+ this.name = name;
+ this.message = message;
+ }
+
+ get code() {
+ return legacyErrorCodes[this.name] || 0;
+ }
+};
+
+// A proprietary V8 extension that causes the stack property to appear.
+exports.init = impl => {
+ if (Error.captureStackTrace) {
+ const wrapper = idlUtils.wrapperForImpl(impl);
+ Error.captureStackTrace(wrapper, wrapper.constructor);
+ }
+};