| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792 | "use strict";Object.defineProperty(exports, "__esModule", {  value: true});exports.default = void 0;var _template = require("@babel/template");var _helpersGenerated = require("./helpers-generated");const helpers = Object.assign({  __proto__: null}, _helpersGenerated.default);var _default = helpers;exports.default = _default;const helper = minVersion => tpl => ({  minVersion,  ast: () => _template.default.program.ast(tpl)});{  helpers.AwaitValue = helper("7.0.0-beta.0")`    export default function _AwaitValue(value) {      this.wrapped = value;    }  `;}helpers.wrapAsyncGenerator = helper("7.0.0-beta.0")`  import AsyncGenerator from "AsyncGenerator";  export default function _wrapAsyncGenerator(fn) {    return function () {      return new AsyncGenerator(fn.apply(this, arguments));    };  }`;helpers.asyncToGenerator = helper("7.0.0-beta.0")`  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {    try {      var info = gen[key](arg);      var value = info.value;    } catch (error) {      reject(error);      return;    }    if (info.done) {      resolve(value);    } else {      Promise.resolve(value).then(_next, _throw);    }  }  export default function _asyncToGenerator(fn) {    return function () {      var self = this, args = arguments;      return new Promise(function (resolve, reject) {        var gen = fn.apply(self, args);        function _next(value) {          asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);        }        function _throw(err) {          asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);        }        _next(undefined);      });    };  }`;helpers.classCallCheck = helper("7.0.0-beta.0")`  export default function _classCallCheck(instance, Constructor) {    if (!(instance instanceof Constructor)) {      throw new TypeError("Cannot call a class as a function");    }  }`;helpers.createClass = helper("7.0.0-beta.0")`  import toPropertyKey from "toPropertyKey";  function _defineProperties(target, props) {    for (var i = 0; i < props.length; i ++) {      var descriptor = props[i];      descriptor.enumerable = descriptor.enumerable || false;      descriptor.configurable = true;      if ("value" in descriptor) descriptor.writable = true;      Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);    }  }  export default function _createClass(Constructor, protoProps, staticProps) {    if (protoProps) _defineProperties(Constructor.prototype, protoProps);    if (staticProps) _defineProperties(Constructor, staticProps);    Object.defineProperty(Constructor, "prototype", { writable: false });    return Constructor;  }`;helpers.defineEnumerableProperties = helper("7.0.0-beta.0")`  export default function _defineEnumerableProperties(obj, descs) {    for (var key in descs) {      var desc = descs[key];      desc.configurable = desc.enumerable = true;      if ("value" in desc) desc.writable = true;      Object.defineProperty(obj, key, desc);    }    // Symbols are not enumerated over by for-in loops. If native    // Symbols are available, fetch all of the descs object's own    // symbol properties and define them on our target object too.    if (Object.getOwnPropertySymbols) {      var objectSymbols = Object.getOwnPropertySymbols(descs);      for (var i = 0; i < objectSymbols.length; i++) {        var sym = objectSymbols[i];        var desc = descs[sym];        desc.configurable = desc.enumerable = true;        if ("value" in desc) desc.writable = true;        Object.defineProperty(obj, sym, desc);      }    }    return obj;  }`;helpers.defaults = helper("7.0.0-beta.0")`  export default function _defaults(obj, defaults) {    var keys = Object.getOwnPropertyNames(defaults);    for (var i = 0; i < keys.length; i++) {      var key = keys[i];      var value = Object.getOwnPropertyDescriptor(defaults, key);      if (value && value.configurable && obj[key] === undefined) {        Object.defineProperty(obj, key, value);      }    }    return obj;  }`;helpers.defineProperty = helper("7.0.0-beta.0")`  import toPropertyKey from "toPropertyKey";  export default function _defineProperty(obj, key, value) {    key = toPropertyKey(key);    // Shortcircuit the slow defineProperty path when possible.    // We are trying to avoid issues where setters defined on the    // prototype cause side effects under the fast path of simple    // assignment. By checking for existence of the property with    // the in operator, we can optimize most of this overhead away.    if (key in obj) {      Object.defineProperty(obj, key, {        value: value,        enumerable: true,        configurable: true,        writable: true      });    } else {      obj[key] = value;    }    return obj;  }`;helpers.extends = helper("7.0.0-beta.0")`  export default function _extends() {    _extends = Object.assign ? Object.assign.bind() : function (target) {      for (var i = 1; i < arguments.length; i++) {        var source = arguments[i];        for (var key in source) {          if (Object.prototype.hasOwnProperty.call(source, key)) {            target[key] = source[key];          }        }      }      return target;    };    return _extends.apply(this, arguments);  }`;helpers.objectSpread = helper("7.0.0-beta.0")`  import defineProperty from "defineProperty";  export default function _objectSpread(target) {    for (var i = 1; i < arguments.length; i++) {      var source = (arguments[i] != null) ? Object(arguments[i]) : {};      var ownKeys = Object.keys(source);      if (typeof Object.getOwnPropertySymbols === 'function') {        ownKeys.push.apply(ownKeys, Object.getOwnPropertySymbols(source).filter(function(sym) {          return Object.getOwnPropertyDescriptor(source, sym).enumerable;        }));      }      ownKeys.forEach(function(key) {        defineProperty(target, key, source[key]);      });    }    return target;  }`;helpers.inherits = helper("7.0.0-beta.0")`  import setPrototypeOf from "setPrototypeOf";  export default function _inherits(subClass, superClass) {    if (typeof superClass !== "function" && superClass !== null) {      throw new TypeError("Super expression must either be null or a function");    }    // We can't use defineProperty to set the prototype in a single step because it    // doesn't work in Chrome <= 36. https://github.com/babel/babel/issues/14056    // V8 bug: https://bugs.chromium.org/p/v8/issues/detail?id=3334    subClass.prototype = Object.create(superClass && superClass.prototype, {      constructor: {        value: subClass,        writable: true,        configurable: true      }    });    Object.defineProperty(subClass, "prototype", { writable: false });    if (superClass) setPrototypeOf(subClass, superClass);  }`;helpers.inheritsLoose = helper("7.0.0-beta.0")`  import setPrototypeOf from "setPrototypeOf";  export default function _inheritsLoose(subClass, superClass) {    subClass.prototype = Object.create(superClass.prototype);    subClass.prototype.constructor = subClass;    setPrototypeOf(subClass, superClass);  }`;helpers.getPrototypeOf = helper("7.0.0-beta.0")`  export default function _getPrototypeOf(o) {    _getPrototypeOf = Object.setPrototypeOf      ? Object.getPrototypeOf.bind()      : function _getPrototypeOf(o) {          return o.__proto__ || Object.getPrototypeOf(o);        };    return _getPrototypeOf(o);  }`;helpers.setPrototypeOf = helper("7.0.0-beta.0")`  export default function _setPrototypeOf(o, p) {    _setPrototypeOf = Object.setPrototypeOf      ? Object.setPrototypeOf.bind()      : function _setPrototypeOf(o, p) {          o.__proto__ = p;          return o;        };    return _setPrototypeOf(o, p);  }`;helpers.isNativeReflectConstruct = helper("7.9.0")`  export default function _isNativeReflectConstruct() {    if (typeof Reflect === "undefined" || !Reflect.construct) return false;    // core-js@3    if (Reflect.construct.sham) return false;    // Proxy can't be polyfilled. Every browser implemented    // proxies before or at the same time as Reflect.construct,    // so if they support Proxy they also support Reflect.construct.    if (typeof Proxy === "function") return true;    // Since Reflect.construct can't be properly polyfilled, some    // implementations (e.g. core-js@2) don't set the correct internal slots.    // Those polyfills don't allow us to subclass built-ins, so we need to    // use our fallback implementation.    try {      // If the internal slots aren't set, this throws an error similar to      //   TypeError: this is not a Boolean object.      Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));      return true;    } catch (e) {      return false;    }  }`;helpers.construct = helper("7.0.0-beta.0")`  import setPrototypeOf from "setPrototypeOf";  import isNativeReflectConstruct from "isNativeReflectConstruct";  export default function _construct(Parent, args, Class) {    if (isNativeReflectConstruct()) {      _construct = Reflect.construct.bind();    } else {      // NOTE: If Parent !== Class, the correct __proto__ is set *after*      //       calling the constructor.      _construct = function _construct(Parent, args, Class) {        var a = [null];        a.push.apply(a, args);        var Constructor = Function.bind.apply(Parent, a);        var instance = new Constructor();        if (Class) setPrototypeOf(instance, Class.prototype);        return instance;      };    }    // Avoid issues with Class being present but undefined when it wasn't    // present in the original call.    return _construct.apply(null, arguments);  }`;helpers.isNativeFunction = helper("7.0.0-beta.0")`  export default function _isNativeFunction(fn) {    // Note: This function returns "true" for core-js functions.    return Function.toString.call(fn).indexOf("[native code]") !== -1;  }`;helpers.wrapNativeSuper = helper("7.0.0-beta.0")`  import getPrototypeOf from "getPrototypeOf";  import setPrototypeOf from "setPrototypeOf";  import isNativeFunction from "isNativeFunction";  import construct from "construct";  export default function _wrapNativeSuper(Class) {    var _cache = typeof Map === "function" ? new Map() : undefined;    _wrapNativeSuper = function _wrapNativeSuper(Class) {      if (Class === null || !isNativeFunction(Class)) return Class;      if (typeof Class !== "function") {        throw new TypeError("Super expression must either be null or a function");      }      if (typeof _cache !== "undefined") {        if (_cache.has(Class)) return _cache.get(Class);        _cache.set(Class, Wrapper);      }      function Wrapper() {        return construct(Class, arguments, getPrototypeOf(this).constructor)      }      Wrapper.prototype = Object.create(Class.prototype, {        constructor: {          value: Wrapper,          enumerable: false,          writable: true,          configurable: true,        }      });      return setPrototypeOf(Wrapper, Class);    }    return _wrapNativeSuper(Class)  }`;helpers.instanceof = helper("7.0.0-beta.0")`  export default function _instanceof(left, right) {    if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {      return !!right[Symbol.hasInstance](left);    } else {      return left instanceof right;    }  }`;helpers.interopRequireDefault = helper("7.0.0-beta.0")`  export default function _interopRequireDefault(obj) {    return obj && obj.__esModule ? obj : { default: obj };  }`;helpers.interopRequireWildcard = helper("7.14.0")`  function _getRequireWildcardCache(nodeInterop) {    if (typeof WeakMap !== "function") return null;    var cacheBabelInterop = new WeakMap();    var cacheNodeInterop = new WeakMap();    return (_getRequireWildcardCache = function (nodeInterop) {      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;    })(nodeInterop);  }  export default function _interopRequireWildcard(obj, nodeInterop) {    if (!nodeInterop && obj && obj.__esModule) {      return obj;    }    if (obj === null || (typeof obj !== "object" && typeof obj !== "function")) {      return { default: obj }    }    var cache = _getRequireWildcardCache(nodeInterop);    if (cache && cache.has(obj)) {      return cache.get(obj);    }    var newObj = {};    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;    for (var key in obj) {      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {        var desc = hasPropertyDescriptor          ? Object.getOwnPropertyDescriptor(obj, key)          : null;        if (desc && (desc.get || desc.set)) {          Object.defineProperty(newObj, key, desc);        } else {          newObj[key] = obj[key];        }      }    }    newObj.default = obj;    if (cache) {      cache.set(obj, newObj);    }    return newObj;  }`;helpers.newArrowCheck = helper("7.0.0-beta.0")`  export default function _newArrowCheck(innerThis, boundThis) {    if (innerThis !== boundThis) {      throw new TypeError("Cannot instantiate an arrow function");    }  }`;helpers.objectDestructuringEmpty = helper("7.0.0-beta.0")`  export default function _objectDestructuringEmpty(obj) {    if (obj == null) throw new TypeError("Cannot destructure " + obj);  }`;helpers.objectWithoutPropertiesLoose = helper("7.0.0-beta.0")`  export default function _objectWithoutPropertiesLoose(source, excluded) {    if (source == null) return {};    var target = {};    var sourceKeys = Object.keys(source);    var key, i;    for (i = 0; i < sourceKeys.length; i++) {      key = sourceKeys[i];      if (excluded.indexOf(key) >= 0) continue;      target[key] = source[key];    }    return target;  }`;helpers.objectWithoutProperties = helper("7.0.0-beta.0")`  import objectWithoutPropertiesLoose from "objectWithoutPropertiesLoose";  export default function _objectWithoutProperties(source, excluded) {    if (source == null) return {};    var target = objectWithoutPropertiesLoose(source, excluded);    var key, i;    if (Object.getOwnPropertySymbols) {      var sourceSymbolKeys = Object.getOwnPropertySymbols(source);      for (i = 0; i < sourceSymbolKeys.length; i++) {        key = sourceSymbolKeys[i];        if (excluded.indexOf(key) >= 0) continue;        if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;        target[key] = source[key];      }    }    return target;  }`;helpers.assertThisInitialized = helper("7.0.0-beta.0")`  export default function _assertThisInitialized(self) {    if (self === void 0) {      throw new ReferenceError("this hasn't been initialised - super() hasn't been called");    }    return self;  }`;helpers.possibleConstructorReturn = helper("7.0.0-beta.0")`  import assertThisInitialized from "assertThisInitialized";  export default function _possibleConstructorReturn(self, call) {    if (call && (typeof call === "object" || typeof call === "function")) {      return call;    } else if (call !== void 0) {      throw new TypeError("Derived constructors may only return object or undefined");    }    return assertThisInitialized(self);  }`;helpers.createSuper = helper("7.9.0")`  import getPrototypeOf from "getPrototypeOf";  import isNativeReflectConstruct from "isNativeReflectConstruct";  import possibleConstructorReturn from "possibleConstructorReturn";  export default function _createSuper(Derived) {    var hasNativeReflectConstruct = isNativeReflectConstruct();    return function _createSuperInternal() {      var Super = getPrototypeOf(Derived), result;      if (hasNativeReflectConstruct) {        // NOTE: This doesn't work if this.__proto__.constructor has been modified.        var NewTarget = getPrototypeOf(this).constructor;        result = Reflect.construct(Super, arguments, NewTarget);      } else {        result = Super.apply(this, arguments);      }      return possibleConstructorReturn(this, result);    }  } `;helpers.superPropBase = helper("7.0.0-beta.0")`  import getPrototypeOf from "getPrototypeOf";  export default function _superPropBase(object, property) {    // Yes, this throws if object is null to being with, that's on purpose.    while (!Object.prototype.hasOwnProperty.call(object, property)) {      object = getPrototypeOf(object);      if (object === null) break;    }    return object;  }`;helpers.get = helper("7.0.0-beta.0")`  import superPropBase from "superPropBase";  export default function _get() {    if (typeof Reflect !== "undefined" && Reflect.get) {      _get = Reflect.get.bind();    } else {      _get = function _get(target, property, receiver) {        var base = superPropBase(target, property);        if (!base) return;        var desc = Object.getOwnPropertyDescriptor(base, property);        if (desc.get) {          // STEP 3. If receiver is not present, then set receiver to target.          return desc.get.call(arguments.length < 3 ? target : receiver);        }        return desc.value;      };    }    return _get.apply(this, arguments);  }`;helpers.set = helper("7.0.0-beta.0")`  import superPropBase from "superPropBase";  import defineProperty from "defineProperty";  function set(target, property, value, receiver) {    if (typeof Reflect !== "undefined" && Reflect.set) {      set = Reflect.set;    } else {      set = function set(target, property, value, receiver) {        var base = superPropBase(target, property);        var desc;        if (base) {          desc = Object.getOwnPropertyDescriptor(base, property);          if (desc.set) {            desc.set.call(receiver, value);            return true;          } else if (!desc.writable) {            // Both getter and non-writable fall into this.            return false;          }        }        // Without a super that defines the property, spec boils down to        // "define on receiver" for some reason.        desc = Object.getOwnPropertyDescriptor(receiver, property);        if (desc) {          if (!desc.writable) {            // Setter, getter, and non-writable fall into this.            return false;          }          desc.value = value;          Object.defineProperty(receiver, property, desc);        } else {          // Avoid setters that may be defined on Sub's prototype, but not on          // the instance.          defineProperty(receiver, property, value);        }        return true;      };    }    return set(target, property, value, receiver);  }  export default function _set(target, property, value, receiver, isStrict) {    var s = set(target, property, value, receiver || target);    if (!s && isStrict) {      throw new TypeError('failed to set property');    }    return value;  }`;helpers.taggedTemplateLiteral = helper("7.0.0-beta.0")`  export default function _taggedTemplateLiteral(strings, raw) {    if (!raw) { raw = strings.slice(0); }    return Object.freeze(Object.defineProperties(strings, {        raw: { value: Object.freeze(raw) }    }));  }`;helpers.taggedTemplateLiteralLoose = helper("7.0.0-beta.0")`  export default function _taggedTemplateLiteralLoose(strings, raw) {    if (!raw) { raw = strings.slice(0); }    strings.raw = raw;    return strings;  }`;helpers.readOnlyError = helper("7.0.0-beta.0")`  export default function _readOnlyError(name) {    throw new TypeError("\\"" + name + "\\" is read-only");  }`;helpers.writeOnlyError = helper("7.12.13")`  export default function _writeOnlyError(name) {    throw new TypeError("\\"" + name + "\\" is write-only");  }`;helpers.classNameTDZError = helper("7.0.0-beta.0")`  export default function _classNameTDZError(name) {    throw new ReferenceError("Class \\"" + name + "\\" cannot be referenced in computed property keys.");  }`;helpers.temporalUndefined = helper("7.0.0-beta.0")`  // This function isn't mean to be called, but to be used as a reference.  // We can't use a normal object because it isn't hoisted.  export default function _temporalUndefined() {}`;helpers.tdz = helper("7.5.5")`  export default function _tdzError(name) {    throw new ReferenceError(name + " is not defined - temporal dead zone");  }`;helpers.temporalRef = helper("7.0.0-beta.0")`  import undef from "temporalUndefined";  import err from "tdz";  export default function _temporalRef(val, name) {    return val === undef ? err(name) : val;  }`;helpers.slicedToArray = helper("7.0.0-beta.0")`  import arrayWithHoles from "arrayWithHoles";  import iterableToArrayLimit from "iterableToArrayLimit";  import unsupportedIterableToArray from "unsupportedIterableToArray";  import nonIterableRest from "nonIterableRest";  export default function _slicedToArray(arr, i) {    return (      arrayWithHoles(arr) ||      iterableToArrayLimit(arr, i) ||      unsupportedIterableToArray(arr, i) ||      nonIterableRest()    );  }`;helpers.slicedToArrayLoose = helper("7.0.0-beta.0")`  import arrayWithHoles from "arrayWithHoles";  import iterableToArrayLimitLoose from "iterableToArrayLimitLoose";  import unsupportedIterableToArray from "unsupportedIterableToArray";  import nonIterableRest from "nonIterableRest";  export default function _slicedToArrayLoose(arr, i) {    return (      arrayWithHoles(arr) ||      iterableToArrayLimitLoose(arr, i) ||      unsupportedIterableToArray(arr, i) ||      nonIterableRest()    );  }`;helpers.toArray = helper("7.0.0-beta.0")`  import arrayWithHoles from "arrayWithHoles";  import iterableToArray from "iterableToArray";  import unsupportedIterableToArray from "unsupportedIterableToArray";  import nonIterableRest from "nonIterableRest";  export default function _toArray(arr) {    return (      arrayWithHoles(arr) ||      iterableToArray(arr) ||      unsupportedIterableToArray(arr) ||      nonIterableRest()    );  }`;helpers.toConsumableArray = helper("7.0.0-beta.0")`  import arrayWithoutHoles from "arrayWithoutHoles";  import iterableToArray from "iterableToArray";  import unsupportedIterableToArray from "unsupportedIterableToArray";  import nonIterableSpread from "nonIterableSpread";  export default function _toConsumableArray(arr) {    return (      arrayWithoutHoles(arr) ||      iterableToArray(arr) ||      unsupportedIterableToArray(arr) ||      nonIterableSpread()    );  }`;helpers.arrayWithoutHoles = helper("7.0.0-beta.0")`  import arrayLikeToArray from "arrayLikeToArray";  export default function _arrayWithoutHoles(arr) {    if (Array.isArray(arr)) return arrayLikeToArray(arr);  }`;helpers.arrayWithHoles = helper("7.0.0-beta.0")`  export default function _arrayWithHoles(arr) {    if (Array.isArray(arr)) return arr;  }`;helpers.maybeArrayLike = helper("7.9.0")`  import arrayLikeToArray from "arrayLikeToArray";  export default function _maybeArrayLike(next, arr, i) {    if (arr && !Array.isArray(arr) && typeof arr.length === "number") {      var len = arr.length;      return arrayLikeToArray(arr, i !== void 0 && i < len ? i : len);    }    return next(arr, i);  }`;helpers.iterableToArray = helper("7.0.0-beta.0")`  export default function _iterableToArray(iter) {    if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);  }`;helpers.unsupportedIterableToArray = helper("7.9.0")`  import arrayLikeToArray from "arrayLikeToArray";  export default function _unsupportedIterableToArray(o, minLen) {    if (!o) return;    if (typeof o === "string") return arrayLikeToArray(o, minLen);    var n = Object.prototype.toString.call(o).slice(8, -1);    if (n === "Object" && o.constructor) n = o.constructor.name;    if (n === "Map" || n === "Set") return Array.from(o);    if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))      return arrayLikeToArray(o, minLen);  }`;helpers.arrayLikeToArray = helper("7.9.0")`  export default function _arrayLikeToArray(arr, len) {    if (len == null || len > arr.length) len = arr.length;    for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];    return arr2;  }`;helpers.nonIterableSpread = helper("7.0.0-beta.0")`  export default function _nonIterableSpread() {    throw new TypeError(      "Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."    );  }`;helpers.nonIterableRest = helper("7.0.0-beta.0")`  export default function _nonIterableRest() {    throw new TypeError(      "Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."    );  }`;helpers.createForOfIteratorHelper = helper("7.9.0")`  import unsupportedIterableToArray from "unsupportedIterableToArray";  // s: start (create the iterator)  // n: next  // e: error (called whenever something throws)  // f: finish (always called at the end)  export default function _createForOfIteratorHelper(o, allowArrayLike) {    var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];    if (!it) {      // Fallback for engines without symbol support      if (        Array.isArray(o) ||        (it = unsupportedIterableToArray(o)) ||        (allowArrayLike && o && typeof o.length === "number")      ) {        if (it) o = it;        var i = 0;        var F = function(){};        return {          s: F,          n: function() {            if (i >= o.length) return { done: true };            return { done: false, value: o[i++] };          },          e: function(e) { throw e; },          f: F,        };      }      throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");    }    var normalCompletion = true, didErr = false, err;    return {      s: function() {        it = it.call(o);      },      n: function() {        var step = it.next();        normalCompletion = step.done;        return step;      },      e: function(e) {        didErr = true;        err = e;      },      f: function() {        try {          if (!normalCompletion && it.return != null) it.return();        } finally {          if (didErr) throw err;        }      }    };  }`;helpers.createForOfIteratorHelperLoose = helper("7.9.0")`  import unsupportedIterableToArray from "unsupportedIterableToArray";  export default function _createForOfIteratorHelperLoose(o, allowArrayLike) {    var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];    if (it) return (it = it.call(o)).next.bind(it);    // Fallback for engines without symbol support    if (      Array.isArray(o) ||      (it = unsupportedIterableToArray(o)) ||      (allowArrayLike && o && typeof o.length === "number")    ) {      if (it) o = it;      var i = 0;      return function() {        if (i >= o.length) return { done: true };        return { done: false, value: o[i++] };      }    }    throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");  }`;helpers.skipFirstGeneratorNext = helper("7.0.0-beta.0")`  export default function _skipFirstGeneratorNext(fn) {    return function () {      var it = fn.apply(this, arguments);      it.next();      return it;    }  }`;helpers.toPrimitive = helper("7.1.5")`  export default function _toPrimitive(    input,    hint /*: "default" | "string" | "number" | void */  ) {    if (typeof input !== "object" || input === null) return input;    var prim = input[Symbol.toPrimitive];    if (prim !== undefined) {      var res = prim.call(input, hint || "default");      if (typeof res !== "object") return res;      throw new TypeError("@@toPrimitive must return a primitive value.");    }    return (hint === "string" ? String : Number)(input);  }`;helpers.toPropertyKey = helper("7.1.5")`  import toPrimitive from "toPrimitive";  export default function _toPropertyKey(arg) {    var key = toPrimitive(arg, "string");    return typeof key === "symbol" ? key : String(key);  }`;helpers.initializerWarningHelper = helper("7.0.0-beta.0")`    export default function _initializerWarningHelper(descriptor, context){        throw new Error(          'Decorating class property failed. Please ensure that ' +          'proposal-class-properties is enabled and runs after the decorators transform.'        );    }`;helpers.initializerDefineProperty = helper("7.0.0-beta.0")`    export default function _initializerDefineProperty(target, property, descriptor, context){        if (!descriptor) return;        Object.defineProperty(target, property, {            enumerable: descriptor.enumerable,            configurable: descriptor.configurable,            writable: descriptor.writable,            value: descriptor.initializer ? descriptor.initializer.call(context) : void 0,        });    }`;helpers.applyDecoratedDescriptor = helper("7.0.0-beta.0")`    export default function _applyDecoratedDescriptor(target, property, decorators, descriptor, context){        var desc = {};        Object.keys(descriptor).forEach(function(key){            desc[key] = descriptor[key];        });        desc.enumerable = !!desc.enumerable;        desc.configurable = !!desc.configurable;        if ('value' in desc || desc.initializer){            desc.writable = true;        }        desc = decorators.slice().reverse().reduce(function(desc, decorator){            return decorator(target, property, desc) || desc;        }, desc);        if (context && desc.initializer !== void 0){            desc.value = desc.initializer ? desc.initializer.call(context) : void 0;            desc.initializer = undefined;        }        if (desc.initializer === void 0){            Object.defineProperty(target, property, desc);            desc = null;        }        return desc;    }`;helpers.classPrivateFieldLooseKey = helper("7.0.0-beta.0")`  var id = 0;  export default function _classPrivateFieldKey(name) {    return "__private_" + (id++) + "_" + name;  }`;helpers.classPrivateFieldLooseBase = helper("7.0.0-beta.0")`  export default function _classPrivateFieldBase(receiver, privateKey) {    if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) {      throw new TypeError("attempted to use private field on non-instance");    }    return receiver;  }`;helpers.classPrivateFieldGet = helper("7.0.0-beta.0")`  import classApplyDescriptorGet from "classApplyDescriptorGet";  import classExtractFieldDescriptor from "classExtractFieldDescriptor";  export default function _classPrivateFieldGet(receiver, privateMap) {    var descriptor = classExtractFieldDescriptor(receiver, privateMap, "get");    return classApplyDescriptorGet(receiver, descriptor);  }`;helpers.classPrivateFieldSet = helper("7.0.0-beta.0")`  import classApplyDescriptorSet from "classApplyDescriptorSet";  import classExtractFieldDescriptor from "classExtractFieldDescriptor";  export default function _classPrivateFieldSet(receiver, privateMap, value) {    var descriptor = classExtractFieldDescriptor(receiver, privateMap, "set");    classApplyDescriptorSet(receiver, descriptor, value);    return value;  }`;helpers.classPrivateFieldDestructureSet = helper("7.4.4")`  import classApplyDescriptorDestructureSet from "classApplyDescriptorDestructureSet";  import classExtractFieldDescriptor from "classExtractFieldDescriptor";  export default function _classPrivateFieldDestructureSet(receiver, privateMap) {    var descriptor = classExtractFieldDescriptor(receiver, privateMap, "set");    return classApplyDescriptorDestructureSet(receiver, descriptor);  }`;helpers.classExtractFieldDescriptor = helper("7.13.10")`  export default function _classExtractFieldDescriptor(receiver, privateMap, action) {    if (!privateMap.has(receiver)) {      throw new TypeError("attempted to " + action + " private field on non-instance");    }    return privateMap.get(receiver);  }`;helpers.classStaticPrivateFieldSpecGet = helper("7.0.2")`  import classApplyDescriptorGet from "classApplyDescriptorGet";  import classCheckPrivateStaticAccess from "classCheckPrivateStaticAccess";  import classCheckPrivateStaticFieldDescriptor from "classCheckPrivateStaticFieldDescriptor";  export default function _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) {    classCheckPrivateStaticAccess(receiver, classConstructor);    classCheckPrivateStaticFieldDescriptor(descriptor, "get");    return classApplyDescriptorGet(receiver, descriptor);  }`;helpers.classStaticPrivateFieldSpecSet = helper("7.0.2")`  import classApplyDescriptorSet from "classApplyDescriptorSet";  import classCheckPrivateStaticAccess from "classCheckPrivateStaticAccess";  import classCheckPrivateStaticFieldDescriptor from "classCheckPrivateStaticFieldDescriptor";  export default function _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) {    classCheckPrivateStaticAccess(receiver, classConstructor);    classCheckPrivateStaticFieldDescriptor(descriptor, "set");    classApplyDescriptorSet(receiver, descriptor, value);    return value;  }`;helpers.classStaticPrivateMethodGet = helper("7.3.2")`  import classCheckPrivateStaticAccess from "classCheckPrivateStaticAccess";  export default function _classStaticPrivateMethodGet(receiver, classConstructor, method) {    classCheckPrivateStaticAccess(receiver, classConstructor);    return method;  }`;helpers.classStaticPrivateMethodSet = helper("7.3.2")`  export default function _classStaticPrivateMethodSet() {    throw new TypeError("attempted to set read only static private field");  }`;helpers.classApplyDescriptorGet = helper("7.13.10")`  export default function _classApplyDescriptorGet(receiver, descriptor) {    if (descriptor.get) {      return descriptor.get.call(receiver);    }    return descriptor.value;  }`;helpers.classApplyDescriptorSet = helper("7.13.10")`  export default function _classApplyDescriptorSet(receiver, descriptor, value) {    if (descriptor.set) {      descriptor.set.call(receiver, value);    } else {      if (!descriptor.writable) {        // This should only throw in strict mode, but class bodies are        // always strict and private fields can only be used inside        // class bodies.        throw new TypeError("attempted to set read only private field");      }      descriptor.value = value;    }  }`;helpers.classApplyDescriptorDestructureSet = helper("7.13.10")`  export default function _classApplyDescriptorDestructureSet(receiver, descriptor) {    if (descriptor.set) {      if (!("__destrObj" in descriptor)) {        descriptor.__destrObj = {          set value(v) {            descriptor.set.call(receiver, v)          },        };      }      return descriptor.__destrObj;    } else {      if (!descriptor.writable) {        // This should only throw in strict mode, but class bodies are        // always strict and private fields can only be used inside        // class bodies.        throw new TypeError("attempted to set read only private field");      }      return descriptor;    }  }`;helpers.classStaticPrivateFieldDestructureSet = helper("7.13.10")`  import classApplyDescriptorDestructureSet from "classApplyDescriptorDestructureSet";  import classCheckPrivateStaticAccess from "classCheckPrivateStaticAccess";  import classCheckPrivateStaticFieldDescriptor from "classCheckPrivateStaticFieldDescriptor";  export default function _classStaticPrivateFieldDestructureSet(receiver, classConstructor, descriptor) {    classCheckPrivateStaticAccess(receiver, classConstructor);    classCheckPrivateStaticFieldDescriptor(descriptor, "set");    return classApplyDescriptorDestructureSet(receiver, descriptor);  }`;helpers.classCheckPrivateStaticAccess = helper("7.13.10")`  export default function _classCheckPrivateStaticAccess(receiver, classConstructor) {    if (receiver !== classConstructor) {      throw new TypeError("Private static access of wrong provenance");    }  }`;helpers.classCheckPrivateStaticFieldDescriptor = helper("7.13.10")`  export default function _classCheckPrivateStaticFieldDescriptor(descriptor, action) {    if (descriptor === undefined) {      throw new TypeError("attempted to " + action + " private static field before its declaration");    }  }`;helpers.decorate = helper("7.1.5")`  import toArray from "toArray";  import toPropertyKey from "toPropertyKey";  // These comments are stripped by @babel/template  /*::  type PropertyDescriptor =    | {        value: any,        writable: boolean,        configurable: boolean,        enumerable: boolean,      }    | {        get?: () => any,        set?: (v: any) => void,        configurable: boolean,        enumerable: boolean,      };  type FieldDescriptor ={    writable: boolean,    configurable: boolean,    enumerable: boolean,  };  type Placement = "static" | "prototype" | "own";  type Key = string | symbol; // PrivateName is not supported yet.  type ElementDescriptor =    | {        kind: "method",        key: Key,        placement: Placement,        descriptor: PropertyDescriptor      }    | {        kind: "field",        key: Key,        placement: Placement,        descriptor: FieldDescriptor,        initializer?: () => any,      };  // This is exposed to the user code  type ElementObjectInput = ElementDescriptor & {    [@@toStringTag]?: "Descriptor"  };  // This is exposed to the user code  type ElementObjectOutput = ElementDescriptor & {    [@@toStringTag]?: "Descriptor"    extras?: ElementDescriptor[],    finisher?: ClassFinisher,  };  // This is exposed to the user code  type ClassObject = {    [@@toStringTag]?: "Descriptor",    kind: "class",    elements: ElementDescriptor[],  };  type ElementDecorator = (descriptor: ElementObjectInput) => ?ElementObjectOutput;  type ClassDecorator = (descriptor: ClassObject) => ?ClassObject;  type ClassFinisher = <A, B>(cl: Class<A>) => Class<B>;  // Only used by Babel in the transform output, not part of the spec.  type ElementDefinition =    | {        kind: "method",        value: any,        key: Key,        static?: boolean,        decorators?: ElementDecorator[],      }    | {        kind: "field",        value: () => any,        key: Key,        static?: boolean,        decorators?: ElementDecorator[],    };  declare function ClassFactory<C>(initialize: (instance: C) => void): {    F: Class<C>,    d: ElementDefinition[]  }  */  /*::  // Various combinations with/without extras and with one or many finishers  type ElementFinisherExtras = {    element: ElementDescriptor,    finisher?: ClassFinisher,    extras?: ElementDescriptor[],  };  type ElementFinishersExtras = {    element: ElementDescriptor,    finishers: ClassFinisher[],    extras: ElementDescriptor[],  };  type ElementsFinisher = {    elements: ElementDescriptor[],    finisher?: ClassFinisher,  };  type ElementsFinishers = {    elements: ElementDescriptor[],    finishers: ClassFinisher[],  };  */  /*::  type Placements = {    static: Key[],    prototype: Key[],    own: Key[],  };  */  // ClassDefinitionEvaluation (Steps 26-*)  export default function _decorate(    decorators /*: ClassDecorator[] */,    factory /*: ClassFactory */,    superClass /*: ?Class<*> */,    mixins /*: ?Array<Function> */,  ) /*: Class<*> */ {    var api = _getDecoratorsApi();    if (mixins) {      for (var i = 0; i < mixins.length; i++) {        api = mixins[i](api);      }    }    var r = factory(function initialize(O) {      api.initializeInstanceElements(O, decorated.elements);    }, superClass);    var decorated = api.decorateClass(      _coalesceClassElements(r.d.map(_createElementDescriptor)),      decorators,    );    api.initializeClassElements(r.F, decorated.elements);    return api.runClassFinishers(r.F, decorated.finishers);  }  function _getDecoratorsApi() {    _getDecoratorsApi = function() {      return api;    };    var api = {      elementsDefinitionOrder: [["method"], ["field"]],      // InitializeInstanceElements      initializeInstanceElements: function(        /*::<C>*/ O /*: C */,        elements /*: ElementDescriptor[] */,      ) {        ["method", "field"].forEach(function(kind) {          elements.forEach(function(element /*: ElementDescriptor */) {            if (element.kind === kind && element.placement === "own") {              this.defineClassElement(O, element);            }          }, this);        }, this);      },      // InitializeClassElements      initializeClassElements: function(        /*::<C>*/ F /*: Class<C> */,        elements /*: ElementDescriptor[] */,      ) {        var proto = F.prototype;        ["method", "field"].forEach(function(kind) {          elements.forEach(function(element /*: ElementDescriptor */) {            var placement = element.placement;            if (              element.kind === kind &&              (placement === "static" || placement === "prototype")            ) {              var receiver = placement === "static" ? F : proto;              this.defineClassElement(receiver, element);            }          }, this);        }, this);      },      // DefineClassElement      defineClassElement: function(        /*::<C>*/ receiver /*: C | Class<C> */,        element /*: ElementDescriptor */,      ) {        var descriptor /*: PropertyDescriptor */ = element.descriptor;        if (element.kind === "field") {          var initializer = element.initializer;          descriptor = {            enumerable: descriptor.enumerable,            writable: descriptor.writable,            configurable: descriptor.configurable,            value: initializer === void 0 ? void 0 : initializer.call(receiver),          };        }        Object.defineProperty(receiver, element.key, descriptor);      },      // DecorateClass      decorateClass: function(        elements /*: ElementDescriptor[] */,        decorators /*: ClassDecorator[] */,      ) /*: ElementsFinishers */ {        var newElements /*: ElementDescriptor[] */ = [];        var finishers /*: ClassFinisher[] */ = [];        var placements /*: Placements */ = {          static: [],          prototype: [],          own: [],        };        elements.forEach(function(element /*: ElementDescriptor */) {          this.addElementPlacement(element, placements);        }, this);        elements.forEach(function(element /*: ElementDescriptor */) {          if (!_hasDecorators(element)) return newElements.push(element);          var elementFinishersExtras /*: ElementFinishersExtras */ = this.decorateElement(            element,            placements,          );          newElements.push(elementFinishersExtras.element);          newElements.push.apply(newElements, elementFinishersExtras.extras);          finishers.push.apply(finishers, elementFinishersExtras.finishers);        }, this);        if (!decorators) {          return { elements: newElements, finishers: finishers };        }        var result /*: ElementsFinishers */ = this.decorateConstructor(          newElements,          decorators,        );        finishers.push.apply(finishers, result.finishers);        result.finishers = finishers;        return result;      },      // AddElementPlacement      addElementPlacement: function(        element /*: ElementDescriptor */,        placements /*: Placements */,        silent /*: boolean */,      ) {        var keys = placements[element.placement];        if (!silent && keys.indexOf(element.key) !== -1) {          throw new TypeError("Duplicated element (" + element.key + ")");        }        keys.push(element.key);      },      // DecorateElement      decorateElement: function(        element /*: ElementDescriptor */,        placements /*: Placements */,      ) /*: ElementFinishersExtras */ {        var extras /*: ElementDescriptor[] */ = [];        var finishers /*: ClassFinisher[] */ = [];        for (          var decorators = element.decorators, i = decorators.length - 1;          i >= 0;          i--        ) {          // (inlined) RemoveElementPlacement          var keys = placements[element.placement];          keys.splice(keys.indexOf(element.key), 1);          var elementObject /*: ElementObjectInput */ = this.fromElementDescriptor(            element,          );          var elementFinisherExtras /*: ElementFinisherExtras */ = this.toElementFinisherExtras(            (0, decorators[i])(elementObject) /*: ElementObjectOutput */ ||              elementObject,          );          element = elementFinisherExtras.element;          this.addElementPlacement(element, placements);          if (elementFinisherExtras.finisher) {            finishers.push(elementFinisherExtras.finisher);          }          var newExtras /*: ElementDescriptor[] | void */ =            elementFinisherExtras.extras;          if (newExtras) {            for (var j = 0; j < newExtras.length; j++) {              this.addElementPlacement(newExtras[j], placements);            }            extras.push.apply(extras, newExtras);          }        }        return { element: element, finishers: finishers, extras: extras };      },      // DecorateConstructor      decorateConstructor: function(        elements /*: ElementDescriptor[] */,        decorators /*: ClassDecorator[] */,      ) /*: ElementsFinishers */ {        var finishers /*: ClassFinisher[] */ = [];        for (var i = decorators.length - 1; i >= 0; i--) {          var obj /*: ClassObject */ = this.fromClassDescriptor(elements);          var elementsAndFinisher /*: ElementsFinisher */ = this.toClassDescriptor(            (0, decorators[i])(obj) /*: ClassObject */ || obj,          );          if (elementsAndFinisher.finisher !== undefined) {            finishers.push(elementsAndFinisher.finisher);          }          if (elementsAndFinisher.elements !== undefined) {            elements = elementsAndFinisher.elements;            for (var j = 0; j < elements.length - 1; j++) {              for (var k = j + 1; k < elements.length; k++) {                if (                  elements[j].key === elements[k].key &&                  elements[j].placement === elements[k].placement                ) {                  throw new TypeError(                    "Duplicated element (" + elements[j].key + ")",                  );                }              }            }          }        }        return { elements: elements, finishers: finishers };      },      // FromElementDescriptor      fromElementDescriptor: function(        element /*: ElementDescriptor */,      ) /*: ElementObject */ {        var obj /*: ElementObject */ = {          kind: element.kind,          key: element.key,          placement: element.placement,          descriptor: element.descriptor,        };        var desc = {          value: "Descriptor",          configurable: true,        };        Object.defineProperty(obj, Symbol.toStringTag, desc);        if (element.kind === "field") obj.initializer = element.initializer;        return obj;      },      // ToElementDescriptors      toElementDescriptors: function(        elementObjects /*: ElementObject[] */,      ) /*: ElementDescriptor[] */ {        if (elementObjects === undefined) return;        return toArray(elementObjects).map(function(elementObject) {          var element = this.toElementDescriptor(elementObject);          this.disallowProperty(elementObject, "finisher", "An element descriptor");          this.disallowProperty(elementObject, "extras", "An element descriptor");          return element;        }, this);      },      // ToElementDescriptor      toElementDescriptor: function(        elementObject /*: ElementObject */,      ) /*: ElementDescriptor */ {        var kind = String(elementObject.kind);        if (kind !== "method" && kind !== "field") {          throw new TypeError(            'An element descriptor\\'s .kind property must be either "method" or' +              ' "field", but a decorator created an element descriptor with' +              ' .kind "' +              kind +              '"',          );        }        var key = toPropertyKey(elementObject.key);        var placement = String(elementObject.placement);        if (          placement !== "static" &&          placement !== "prototype" &&          placement !== "own"        ) {          throw new TypeError(            'An element descriptor\\'s .placement property must be one of "static",' +              ' "prototype" or "own", but a decorator created an element descriptor' +              ' with .placement "' +              placement +              '"',          );        }        var descriptor /*: PropertyDescriptor */ = elementObject.descriptor;        this.disallowProperty(elementObject, "elements", "An element descriptor");        var element /*: ElementDescriptor */ = {          kind: kind,          key: key,          placement: placement,          descriptor: Object.assign({}, descriptor),        };        if (kind !== "field") {          this.disallowProperty(elementObject, "initializer", "A method descriptor");        } else {          this.disallowProperty(            descriptor,            "get",            "The property descriptor of a field descriptor",          );          this.disallowProperty(            descriptor,            "set",            "The property descriptor of a field descriptor",          );          this.disallowProperty(            descriptor,            "value",            "The property descriptor of a field descriptor",          );          element.initializer = elementObject.initializer;        }        return element;      },      toElementFinisherExtras: function(        elementObject /*: ElementObject */,      ) /*: ElementFinisherExtras */ {        var element /*: ElementDescriptor */ = this.toElementDescriptor(          elementObject,        );        var finisher /*: ClassFinisher */ = _optionalCallableProperty(          elementObject,          "finisher",        );        var extras /*: ElementDescriptors[] */ = this.toElementDescriptors(          elementObject.extras,        );        return { element: element, finisher: finisher, extras: extras };      },      // FromClassDescriptor      fromClassDescriptor: function(        elements /*: ElementDescriptor[] */,      ) /*: ClassObject */ {        var obj = {          kind: "class",          elements: elements.map(this.fromElementDescriptor, this),        };        var desc = { value: "Descriptor", configurable: true };        Object.defineProperty(obj, Symbol.toStringTag, desc);        return obj;      },      // ToClassDescriptor      toClassDescriptor: function(        obj /*: ClassObject */,      ) /*: ElementsFinisher */ {        var kind = String(obj.kind);        if (kind !== "class") {          throw new TypeError(            'A class descriptor\\'s .kind property must be "class", but a decorator' +              ' created a class descriptor with .kind "' +              kind +              '"',          );        }        this.disallowProperty(obj, "key", "A class descriptor");        this.disallowProperty(obj, "placement", "A class descriptor");        this.disallowProperty(obj, "descriptor", "A class descriptor");        this.disallowProperty(obj, "initializer", "A class descriptor");        this.disallowProperty(obj, "extras", "A class descriptor");        var finisher = _optionalCallableProperty(obj, "finisher");        var elements = this.toElementDescriptors(obj.elements);        return { elements: elements, finisher: finisher };      },      // RunClassFinishers      runClassFinishers: function(        constructor /*: Class<*> */,        finishers /*: ClassFinisher[] */,      ) /*: Class<*> */ {        for (var i = 0; i < finishers.length; i++) {          var newConstructor /*: ?Class<*> */ = (0, finishers[i])(constructor);          if (newConstructor !== undefined) {            // NOTE: This should check if IsConstructor(newConstructor) is false.            if (typeof newConstructor !== "function") {              throw new TypeError("Finishers must return a constructor.");            }            constructor = newConstructor;          }        }        return constructor;      },      disallowProperty: function(obj, name, objectType) {        if (obj[name] !== undefined) {          throw new TypeError(objectType + " can't have a ." + name + " property.");        }      }    };    return api;  }  // ClassElementEvaluation  function _createElementDescriptor(    def /*: ElementDefinition */,  ) /*: ElementDescriptor */ {    var key = toPropertyKey(def.key);    var descriptor /*: PropertyDescriptor */;    if (def.kind === "method") {      descriptor = {        value: def.value,        writable: true,        configurable: true,        enumerable: false,      };    } else if (def.kind === "get") {      descriptor = { get: def.value, configurable: true, enumerable: false };    } else if (def.kind === "set") {      descriptor = { set: def.value, configurable: true, enumerable: false };    } else if (def.kind === "field") {      descriptor = { configurable: true, writable: true, enumerable: true };    }    var element /*: ElementDescriptor */ = {      kind: def.kind === "field" ? "field" : "method",      key: key,      placement: def.static        ? "static"        : def.kind === "field"        ? "own"        : "prototype",      descriptor: descriptor,    };    if (def.decorators) element.decorators = def.decorators;    if (def.kind === "field") element.initializer = def.value;    return element;  }  // CoalesceGetterSetter  function _coalesceGetterSetter(    element /*: ElementDescriptor */,    other /*: ElementDescriptor */,  ) {    if (element.descriptor.get !== undefined) {      other.descriptor.get = element.descriptor.get;    } else {      other.descriptor.set = element.descriptor.set;    }  }  // CoalesceClassElements  function _coalesceClassElements(    elements /*: ElementDescriptor[] */,  ) /*: ElementDescriptor[] */ {    var newElements /*: ElementDescriptor[] */ = [];    var isSameElement = function(      other /*: ElementDescriptor */,    ) /*: boolean */ {      return (        other.kind === "method" &&        other.key === element.key &&        other.placement === element.placement      );    };    for (var i = 0; i < elements.length; i++) {      var element /*: ElementDescriptor */ = elements[i];      var other /*: ElementDescriptor */;      if (        element.kind === "method" &&        (other = newElements.find(isSameElement))      ) {        if (          _isDataDescriptor(element.descriptor) ||          _isDataDescriptor(other.descriptor)        ) {          if (_hasDecorators(element) || _hasDecorators(other)) {            throw new ReferenceError(              "Duplicated methods (" + element.key + ") can't be decorated.",            );          }          other.descriptor = element.descriptor;        } else {          if (_hasDecorators(element)) {            if (_hasDecorators(other)) {              throw new ReferenceError(                "Decorators can't be placed on different accessors with for " +                  "the same property (" +                  element.key +                  ").",              );            }            other.decorators = element.decorators;          }          _coalesceGetterSetter(element, other);        }      } else {        newElements.push(element);      }    }    return newElements;  }  function _hasDecorators(element /*: ElementDescriptor */) /*: boolean */ {    return element.decorators && element.decorators.length;  }  function _isDataDescriptor(desc /*: PropertyDescriptor */) /*: boolean */ {    return (      desc !== undefined &&      !(desc.value === undefined && desc.writable === undefined)    );  }  function _optionalCallableProperty /*::<T>*/(    obj /*: T */,    name /*: $Keys<T> */,  ) /*: ?Function */ {    var value = obj[name];    if (value !== undefined && typeof value !== "function") {      throw new TypeError("Expected '" + name + "' to be a function");    }    return value;  }`;helpers.classPrivateMethodGet = helper("7.1.6")`  export default function _classPrivateMethodGet(receiver, privateSet, fn) {    if (!privateSet.has(receiver)) {      throw new TypeError("attempted to get private field on non-instance");    }    return fn;  }`;helpers.checkPrivateRedeclaration = helper("7.14.1")`  export default function _checkPrivateRedeclaration(obj, privateCollection) {    if (privateCollection.has(obj)) {      throw new TypeError("Cannot initialize the same private elements twice on an object");    }  }`;helpers.classPrivateFieldInitSpec = helper("7.14.1")`  import checkPrivateRedeclaration from "checkPrivateRedeclaration";  export default function _classPrivateFieldInitSpec(obj, privateMap, value) {    checkPrivateRedeclaration(obj, privateMap);    privateMap.set(obj, value);  }`;helpers.classPrivateMethodInitSpec = helper("7.14.1")`  import checkPrivateRedeclaration from "checkPrivateRedeclaration";  export default function _classPrivateMethodInitSpec(obj, privateSet) {    checkPrivateRedeclaration(obj, privateSet);    privateSet.add(obj);  }`;{  helpers.classPrivateMethodSet = helper("7.1.6")`    export default function _classPrivateMethodSet() {      throw new TypeError("attempted to reassign private method");    }  `;}helpers.identity = helper("7.17.0")`  export default function _identity(x) {    return x;  }`;//# sourceMappingURL=helpers.js.map
 |