jsdom-se
Version:
jsdom fork for silent errors - A JavaScript implementation of the DOM and HTML standards
33 lines (27 loc) • 1.54 kB
JavaScript
;
module.exports.mixin = function mixin(target, source) {
const keys = Object.getOwnPropertyNames(source);
for (let i = 0; i < keys.length; ++i) {
Object.defineProperty(target, keys[i], Object.getOwnPropertyDescriptor(source, keys[i]));
}
};
module.exports.wrapperSymbol = Symbol("wrapper");
module.exports.implSymbols = {};
module.exports.wrapperForImpl = function (impl) {
return impl[module.exports.wrapperSymbol];
};
module.exports.implForWrapper = function (wrapper, name) {
return wrapper[module.exports.implSymbols[name]];
};
module.exports.implSymbols["CustomEvent"] = Symbol("CustomEvent implementation");
module.exports.implSymbols["ErrorEvent"] = Symbol("ErrorEvent implementation");
module.exports.implSymbols["Event"] = Symbol("Event implementation");
module.exports.implSymbols["EventTarget"] = Symbol("EventTarget implementation");
module.exports.implSymbols["HashChangeEvent"] = Symbol("HashChangeEvent implementation");
module.exports.implSymbols["KeyboardEvent"] = Symbol("KeyboardEvent implementation");
module.exports.implSymbols["MessageEvent"] = Symbol("MessageEvent implementation");
module.exports.implSymbols["MouseEvent"] = Symbol("MouseEvent implementation");
module.exports.implSymbols["MutationEvent"] = Symbol("MutationEvent implementation");
module.exports.implSymbols["ProgressEvent"] = Symbol("ProgressEvent implementation");
module.exports.implSymbols["TouchEvent"] = Symbol("TouchEvent implementation");
module.exports.implSymbols["UIEvent"] = Symbol("UIEvent implementation");