File: //home/arjun/projects/good-life-be/node_modules/jsdom/lib/jsdom/living/webidl/DOMException-impl.js
"use strict";
const idlUtils = require("../generated/utils");
const legacyErrorCodes = {
IndexSizeError: 1,
HierarchyRequestError: 3,
WrongDocumentError: 4,
InvalidCharacterError: 5,
NoModificationAllowedError: 7,
NotFoundError: 8,
NotSupportedError: 9,
InUseAttributeError: 10,
InvalidStateError: 11,
SyntaxError: 12,
InvalidModificationError: 13,
NamespaceError: 14,
InvalidAccessError: 15,
TypeMismatchError: 17,
SecurityError: 18,
NetworkError: 19,
AbortError: 20,
URLMismatchError: 21,
QuotaExceededError: 22,
TimeoutError: 23,
InvalidNodeTypeError: 24,
DataCloneError: 25
};
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);
}
};