aboutsummaryrefslogtreecommitdiff
path: root/node_modules/jsdom/lib/jsdom/living/generated/Plugin.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/jsdom/lib/jsdom/living/generated/Plugin.js')
-rw-r--r--node_modules/jsdom/lib/jsdom/living/generated/Plugin.js361
1 files changed, 361 insertions, 0 deletions
diff --git a/node_modules/jsdom/lib/jsdom/living/generated/Plugin.js b/node_modules/jsdom/lib/jsdom/living/generated/Plugin.js
new file mode 100644
index 0000000..a3eba56
--- /dev/null
+++ b/node_modules/jsdom/lib/jsdom/living/generated/Plugin.js
@@ -0,0 +1,361 @@
+"use strict";
+
+const conversions = require("webidl-conversions");
+const utils = require("./utils.js");
+
+const implSymbol = utils.implSymbol;
+const ctorRegistrySymbol = utils.ctorRegistrySymbol;
+
+const interfaceName = "Plugin";
+
+exports.is = value => {
+ return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;
+};
+exports.isImpl = value => {
+ return utils.isObject(value) && value instanceof Impl.implementation;
+};
+exports.convert = (value, { context = "The provided value" } = {}) => {
+ if (exports.is(value)) {
+ return utils.implForWrapper(value);
+ }
+ throw new TypeError(`${context} is not of type 'Plugin'.`);
+};
+
+function makeWrapper(globalObject) {
+ if (globalObject[ctorRegistrySymbol] === undefined) {
+ throw new Error("Internal error: invalid global object");
+ }
+
+ const ctor = globalObject[ctorRegistrySymbol]["Plugin"];
+ if (ctor === undefined) {
+ throw new Error("Internal error: constructor Plugin is not installed on the passed global object");
+ }
+
+ return Object.create(ctor.prototype);
+}
+
+exports.create = (globalObject, constructorArgs, privateData) => {
+ const wrapper = makeWrapper(globalObject);
+ return exports.setup(wrapper, globalObject, constructorArgs, privateData);
+};
+
+exports.createImpl = (globalObject, constructorArgs, privateData) => {
+ const wrapper = exports.create(globalObject, constructorArgs, privateData);
+ return utils.implForWrapper(wrapper);
+};
+
+exports._internalSetup = (wrapper, globalObject) => {};
+
+exports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {
+ privateData.wrapper = wrapper;
+
+ exports._internalSetup(wrapper, globalObject);
+ Object.defineProperty(wrapper, implSymbol, {
+ value: new Impl.implementation(globalObject, constructorArgs, privateData),
+ configurable: true
+ });
+
+ wrapper = new Proxy(wrapper, proxyHandler);
+
+ wrapper[implSymbol][utils.wrapperSymbol] = wrapper;
+ if (Impl.init) {
+ Impl.init(wrapper[implSymbol]);
+ }
+ return wrapper;
+};
+
+exports.new = globalObject => {
+ let wrapper = makeWrapper(globalObject);
+
+ exports._internalSetup(wrapper, globalObject);
+ Object.defineProperty(wrapper, implSymbol, {
+ value: Object.create(Impl.implementation.prototype),
+ configurable: true
+ });
+
+ wrapper = new Proxy(wrapper, proxyHandler);
+
+ wrapper[implSymbol][utils.wrapperSymbol] = wrapper;
+ if (Impl.init) {
+ Impl.init(wrapper[implSymbol]);
+ }
+ return wrapper[implSymbol];
+};
+
+const exposed = new Set(["Window"]);
+
+exports.install = (globalObject, globalNames) => {
+ if (!globalNames.some(globalName => exposed.has(globalName))) {
+ return;
+ }
+ class Plugin {
+ constructor() {
+ throw new TypeError("Illegal constructor");
+ }
+
+ item(index) {
+ const esValue = this !== null && this !== undefined ? this : globalObject;
+ if (!exports.is(esValue)) {
+ throw new TypeError("'item' called on an object that is not a valid instance of Plugin.");
+ }
+
+ if (arguments.length < 1) {
+ throw new TypeError(
+ "Failed to execute 'item' on 'Plugin': 1 argument required, but only " + arguments.length + " present."
+ );
+ }
+ const args = [];
+ {
+ let curArg = arguments[0];
+ curArg = conversions["unsigned long"](curArg, { context: "Failed to execute 'item' on 'Plugin': parameter 1" });
+ args.push(curArg);
+ }
+ return utils.tryWrapperForImpl(esValue[implSymbol].item(...args));
+ }
+
+ namedItem(name) {
+ const esValue = this !== null && this !== undefined ? this : globalObject;
+ if (!exports.is(esValue)) {
+ throw new TypeError("'namedItem' called on an object that is not a valid instance of Plugin.");
+ }
+
+ if (arguments.length < 1) {
+ throw new TypeError(
+ "Failed to execute 'namedItem' on 'Plugin': 1 argument required, but only " + arguments.length + " present."
+ );
+ }
+ const args = [];
+ {
+ let curArg = arguments[0];
+ curArg = conversions["DOMString"](curArg, {
+ context: "Failed to execute 'namedItem' on 'Plugin': parameter 1"
+ });
+ args.push(curArg);
+ }
+ return utils.tryWrapperForImpl(esValue[implSymbol].namedItem(...args));
+ }
+
+ get name() {
+ const esValue = this !== null && this !== undefined ? this : globalObject;
+
+ if (!exports.is(esValue)) {
+ throw new TypeError("'get name' called on an object that is not a valid instance of Plugin.");
+ }
+
+ return utils.tryWrapperForImpl(esValue[implSymbol]["name"]);
+ }
+
+ get description() {
+ const esValue = this !== null && this !== undefined ? this : globalObject;
+
+ if (!exports.is(esValue)) {
+ throw new TypeError("'get description' called on an object that is not a valid instance of Plugin.");
+ }
+
+ return utils.tryWrapperForImpl(esValue[implSymbol]["description"]);
+ }
+
+ get filename() {
+ const esValue = this !== null && this !== undefined ? this : globalObject;
+
+ if (!exports.is(esValue)) {
+ throw new TypeError("'get filename' called on an object that is not a valid instance of Plugin.");
+ }
+
+ return utils.tryWrapperForImpl(esValue[implSymbol]["filename"]);
+ }
+
+ get length() {
+ const esValue = this !== null && this !== undefined ? this : globalObject;
+
+ if (!exports.is(esValue)) {
+ throw new TypeError("'get length' called on an object that is not a valid instance of Plugin.");
+ }
+
+ return utils.tryWrapperForImpl(esValue[implSymbol]["length"]);
+ }
+ }
+ Object.defineProperties(Plugin.prototype, {
+ item: { enumerable: true },
+ namedItem: { enumerable: true },
+ name: { enumerable: true },
+ description: { enumerable: true },
+ filename: { enumerable: true },
+ length: { enumerable: true },
+ [Symbol.toStringTag]: { value: "Plugin", configurable: true },
+ [Symbol.iterator]: { value: Array.prototype[Symbol.iterator], configurable: true, writable: true }
+ });
+ if (globalObject[ctorRegistrySymbol] === undefined) {
+ globalObject[ctorRegistrySymbol] = Object.create(null);
+ }
+ globalObject[ctorRegistrySymbol][interfaceName] = Plugin;
+
+ Object.defineProperty(globalObject, interfaceName, {
+ configurable: true,
+ writable: true,
+ value: Plugin
+ });
+};
+
+const proxyHandler = {
+ get(target, P, receiver) {
+ if (typeof P === "symbol") {
+ return Reflect.get(target, P, receiver);
+ }
+ const desc = this.getOwnPropertyDescriptor(target, P);
+ if (desc === undefined) {
+ const parent = Object.getPrototypeOf(target);
+ if (parent === null) {
+ return undefined;
+ }
+ return Reflect.get(target, P, receiver);
+ }
+ if (!desc.get && !desc.set) {
+ return desc.value;
+ }
+ const getter = desc.get;
+ if (getter === undefined) {
+ return undefined;
+ }
+ return Reflect.apply(getter, receiver, []);
+ },
+
+ has(target, P) {
+ if (typeof P === "symbol") {
+ return Reflect.has(target, P);
+ }
+ const desc = this.getOwnPropertyDescriptor(target, P);
+ if (desc !== undefined) {
+ return true;
+ }
+ const parent = Object.getPrototypeOf(target);
+ if (parent !== null) {
+ return Reflect.has(parent, P);
+ }
+ return false;
+ },
+
+ ownKeys(target) {
+ const keys = new Set();
+
+ for (const key of target[implSymbol][utils.supportedPropertyIndices]) {
+ keys.add(`${key}`);
+ }
+
+ for (const key of Reflect.ownKeys(target)) {
+ keys.add(key);
+ }
+ return [...keys];
+ },
+
+ getOwnPropertyDescriptor(target, P) {
+ if (typeof P === "symbol") {
+ return Reflect.getOwnPropertyDescriptor(target, P);
+ }
+ let ignoreNamedProps = false;
+
+ if (utils.isArrayIndexPropName(P)) {
+ const index = P >>> 0;
+
+ if (target[implSymbol][utils.supportsPropertyIndex](index)) {
+ const indexedValue = target[implSymbol].item(index);
+ return {
+ writable: false,
+ enumerable: true,
+ configurable: true,
+ value: utils.tryWrapperForImpl(indexedValue)
+ };
+ }
+ ignoreNamedProps = true;
+ }
+
+ return Reflect.getOwnPropertyDescriptor(target, P);
+ },
+
+ set(target, P, V, receiver) {
+ if (typeof P === "symbol") {
+ return Reflect.set(target, P, V, receiver);
+ }
+ // The `receiver` argument refers to the Proxy exotic object or an object
+ // that inherits from it, whereas `target` refers to the Proxy target:
+ if (target[implSymbol][utils.wrapperSymbol] === receiver) {
+ }
+ let ownDesc;
+
+ if (utils.isArrayIndexPropName(P)) {
+ const index = P >>> 0;
+
+ if (target[implSymbol][utils.supportsPropertyIndex](index)) {
+ const indexedValue = target[implSymbol].item(index);
+ ownDesc = {
+ writable: false,
+ enumerable: true,
+ configurable: true,
+ value: utils.tryWrapperForImpl(indexedValue)
+ };
+ }
+ }
+
+ if (ownDesc === undefined) {
+ ownDesc = Reflect.getOwnPropertyDescriptor(target, P);
+ }
+ if (ownDesc === undefined) {
+ const parent = Reflect.getPrototypeOf(target);
+ if (parent !== null) {
+ return Reflect.set(parent, P, V, receiver);
+ }
+ ownDesc = { writable: true, enumerable: true, configurable: true, value: undefined };
+ }
+ if (!ownDesc.writable) {
+ return false;
+ }
+ if (!utils.isObject(receiver)) {
+ return false;
+ }
+ const existingDesc = Reflect.getOwnPropertyDescriptor(receiver, P);
+ let valueDesc;
+ if (existingDesc !== undefined) {
+ if (existingDesc.get || existingDesc.set) {
+ return false;
+ }
+ if (!existingDesc.writable) {
+ return false;
+ }
+ valueDesc = { value: V };
+ } else {
+ valueDesc = { writable: true, enumerable: true, configurable: true, value: V };
+ }
+ return Reflect.defineProperty(receiver, P, valueDesc);
+ },
+
+ defineProperty(target, P, desc) {
+ if (typeof P === "symbol") {
+ return Reflect.defineProperty(target, P, desc);
+ }
+
+ if (utils.isArrayIndexPropName(P)) {
+ return false;
+ }
+
+ return Reflect.defineProperty(target, P, desc);
+ },
+
+ deleteProperty(target, P) {
+ if (typeof P === "symbol") {
+ return Reflect.deleteProperty(target, P);
+ }
+
+ if (utils.isArrayIndexPropName(P)) {
+ const index = P >>> 0;
+ return !target[implSymbol][utils.supportsPropertyIndex](index);
+ }
+
+ return Reflect.deleteProperty(target, P);
+ },
+
+ preventExtensions() {
+ return false;
+ }
+};
+
+const Impl = require("../navigator/Plugin-impl.js");