| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190 | "use strict";// Returns "Type(value) is Object" in ES terminology.function isObject(value) {  return (typeof value === "object" && value !== null) || typeof value === "function";}const hasOwn = Function.prototype.call.bind(Object.prototype.hasOwnProperty);// Like `Object.assign`, but using `[[GetOwnProperty]]` and `[[DefineOwnProperty]]`// instead of `[[Get]]` and `[[Set]]` and only allowing objectsfunction define(target, source) {  for (const key of Reflect.ownKeys(source)) {    const descriptor = Reflect.getOwnPropertyDescriptor(source, key);    if (descriptor && !Reflect.defineProperty(target, key, descriptor)) {      throw new TypeError(`Cannot redefine property: ${String(key)}`);    }  }}function newObjectInRealm(globalObject, object) {  const ctorRegistry = initCtorRegistry(globalObject);  return Object.defineProperties(    Object.create(ctorRegistry["%Object.prototype%"]),    Object.getOwnPropertyDescriptors(object)  );}const wrapperSymbol = Symbol("wrapper");const implSymbol = Symbol("impl");const sameObjectCaches = Symbol("SameObject caches");const ctorRegistrySymbol = Symbol.for("[webidl2js] constructor registry");const AsyncIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf(async function* () {}).prototype);function initCtorRegistry(globalObject) {  if (hasOwn(globalObject, ctorRegistrySymbol)) {    return globalObject[ctorRegistrySymbol];  }  const ctorRegistry = Object.create(null);  // In addition to registering all the WebIDL2JS-generated types in the constructor registry,  // we also register a few intrinsics that we make use of in generated code, since they are not  // easy to grab from the globalObject variable.  ctorRegistry["%Object.prototype%"] = globalObject.Object.prototype;  ctorRegistry["%IteratorPrototype%"] = Object.getPrototypeOf(    Object.getPrototypeOf(new globalObject.Array()[Symbol.iterator]())  );  try {    ctorRegistry["%AsyncIteratorPrototype%"] = Object.getPrototypeOf(      Object.getPrototypeOf(        globalObject.eval("(async function* () {})").prototype      )    );  } catch {    ctorRegistry["%AsyncIteratorPrototype%"] = AsyncIteratorPrototype;  }  globalObject[ctorRegistrySymbol] = ctorRegistry;  return ctorRegistry;}function getSameObject(wrapper, prop, creator) {  if (!wrapper[sameObjectCaches]) {    wrapper[sameObjectCaches] = Object.create(null);  }  if (prop in wrapper[sameObjectCaches]) {    return wrapper[sameObjectCaches][prop];  }  wrapper[sameObjectCaches][prop] = creator();  return wrapper[sameObjectCaches][prop];}function wrapperForImpl(impl) {  return impl ? impl[wrapperSymbol] : null;}function implForWrapper(wrapper) {  return wrapper ? wrapper[implSymbol] : null;}function tryWrapperForImpl(impl) {  const wrapper = wrapperForImpl(impl);  return wrapper ? wrapper : impl;}function tryImplForWrapper(wrapper) {  const impl = implForWrapper(wrapper);  return impl ? impl : wrapper;}const iterInternalSymbol = Symbol("internal");function isArrayIndexPropName(P) {  if (typeof P !== "string") {    return false;  }  const i = P >>> 0;  if (i === 2 ** 32 - 1) {    return false;  }  const s = `${i}`;  if (P !== s) {    return false;  }  return true;}const byteLengthGetter =    Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, "byteLength").get;function isArrayBuffer(value) {  try {    byteLengthGetter.call(value);    return true;  } catch (e) {    return false;  }}function iteratorResult([key, value], kind) {  let result;  switch (kind) {    case "key":      result = key;      break;    case "value":      result = value;      break;    case "key+value":      result = [key, value];      break;  }  return { value: result, done: false };}const supportsPropertyIndex = Symbol("supports property index");const supportedPropertyIndices = Symbol("supported property indices");const supportsPropertyName = Symbol("supports property name");const supportedPropertyNames = Symbol("supported property names");const indexedGet = Symbol("indexed property get");const indexedSetNew = Symbol("indexed property set new");const indexedSetExisting = Symbol("indexed property set existing");const namedGet = Symbol("named property get");const namedSetNew = Symbol("named property set new");const namedSetExisting = Symbol("named property set existing");const namedDelete = Symbol("named property delete");const asyncIteratorNext = Symbol("async iterator get the next iteration result");const asyncIteratorReturn = Symbol("async iterator return steps");const asyncIteratorInit = Symbol("async iterator initialization steps");const asyncIteratorEOI = Symbol("async iterator end of iteration");module.exports = exports = {  isObject,  hasOwn,  define,  newObjectInRealm,  wrapperSymbol,  implSymbol,  getSameObject,  ctorRegistrySymbol,  initCtorRegistry,  wrapperForImpl,  implForWrapper,  tryWrapperForImpl,  tryImplForWrapper,  iterInternalSymbol,  isArrayBuffer,  isArrayIndexPropName,  supportsPropertyIndex,  supportedPropertyIndices,  supportsPropertyName,  supportedPropertyNames,  indexedGet,  indexedSetNew,  indexedSetExisting,  namedGet,  namedSetNew,  namedSetExisting,  namedDelete,  asyncIteratorNext,  asyncIteratorReturn,  asyncIteratorInit,  asyncIteratorEOI,  iteratorResult};
 |