/ cloudformation-templates / node_modules / jsdom / lib / jsdom / living / generated / XMLHttpRequestUpload.js
XMLHttpRequestUpload.js
  1  "use strict";
  2  
  3  const conversions = require("webidl-conversions");
  4  const utils = require("./utils.js");
  5  
  6  const implSymbol = utils.implSymbol;
  7  const ctorRegistrySymbol = utils.ctorRegistrySymbol;
  8  const XMLHttpRequestEventTarget = require("./XMLHttpRequestEventTarget.js");
  9  
 10  const interfaceName = "XMLHttpRequestUpload";
 11  
 12  exports.is = value => {
 13    return utils.isObject(value) && utils.hasOwn(value, implSymbol) && value[implSymbol] instanceof Impl.implementation;
 14  };
 15  exports.isImpl = value => {
 16    return utils.isObject(value) && value instanceof Impl.implementation;
 17  };
 18  exports.convert = (value, { context = "The provided value" } = {}) => {
 19    if (exports.is(value)) {
 20      return utils.implForWrapper(value);
 21    }
 22    throw new TypeError(`${context} is not of type 'XMLHttpRequestUpload'.`);
 23  };
 24  
 25  function makeWrapper(globalObject) {
 26    if (globalObject[ctorRegistrySymbol] === undefined) {
 27      throw new Error("Internal error: invalid global object");
 28    }
 29  
 30    const ctor = globalObject[ctorRegistrySymbol]["XMLHttpRequestUpload"];
 31    if (ctor === undefined) {
 32      throw new Error("Internal error: constructor XMLHttpRequestUpload is not installed on the passed global object");
 33    }
 34  
 35    return Object.create(ctor.prototype);
 36  }
 37  
 38  exports.create = (globalObject, constructorArgs, privateData) => {
 39    const wrapper = makeWrapper(globalObject);
 40    return exports.setup(wrapper, globalObject, constructorArgs, privateData);
 41  };
 42  
 43  exports.createImpl = (globalObject, constructorArgs, privateData) => {
 44    const wrapper = exports.create(globalObject, constructorArgs, privateData);
 45    return utils.implForWrapper(wrapper);
 46  };
 47  
 48  exports._internalSetup = (wrapper, globalObject) => {
 49    XMLHttpRequestEventTarget._internalSetup(wrapper, globalObject);
 50  };
 51  
 52  exports.setup = (wrapper, globalObject, constructorArgs = [], privateData = {}) => {
 53    privateData.wrapper = wrapper;
 54  
 55    exports._internalSetup(wrapper, globalObject);
 56    Object.defineProperty(wrapper, implSymbol, {
 57      value: new Impl.implementation(globalObject, constructorArgs, privateData),
 58      configurable: true
 59    });
 60  
 61    wrapper[implSymbol][utils.wrapperSymbol] = wrapper;
 62    if (Impl.init) {
 63      Impl.init(wrapper[implSymbol]);
 64    }
 65    return wrapper;
 66  };
 67  
 68  exports.new = globalObject => {
 69    const wrapper = makeWrapper(globalObject);
 70  
 71    exports._internalSetup(wrapper, globalObject);
 72    Object.defineProperty(wrapper, implSymbol, {
 73      value: Object.create(Impl.implementation.prototype),
 74      configurable: true
 75    });
 76  
 77    wrapper[implSymbol][utils.wrapperSymbol] = wrapper;
 78    if (Impl.init) {
 79      Impl.init(wrapper[implSymbol]);
 80    }
 81    return wrapper[implSymbol];
 82  };
 83  
 84  const exposed = new Set(["Window", "DedicatedWorker", "SharedWorker"]);
 85  
 86  exports.install = (globalObject, globalNames) => {
 87    if (!globalNames.some(globalName => exposed.has(globalName))) {
 88      return;
 89    }
 90  
 91    if (globalObject.XMLHttpRequestEventTarget === undefined) {
 92      throw new Error("Internal error: attempting to evaluate XMLHttpRequestUpload before XMLHttpRequestEventTarget");
 93    }
 94    class XMLHttpRequestUpload extends globalObject.XMLHttpRequestEventTarget {
 95      constructor() {
 96        throw new TypeError("Illegal constructor");
 97      }
 98    }
 99    Object.defineProperties(XMLHttpRequestUpload.prototype, {
100      [Symbol.toStringTag]: { value: "XMLHttpRequestUpload", configurable: true }
101    });
102    if (globalObject[ctorRegistrySymbol] === undefined) {
103      globalObject[ctorRegistrySymbol] = Object.create(null);
104    }
105    globalObject[ctorRegistrySymbol][interfaceName] = XMLHttpRequestUpload;
106  
107    Object.defineProperty(globalObject, interfaceName, {
108      configurable: true,
109      writable: true,
110      value: XMLHttpRequestUpload
111    });
112  };
113  
114  const Impl = require("../xhr/XMLHttpRequestUpload-impl.js");