regeneratorRuntime.js.map
42.6 KB
{"version":3,"names":["_regeneratorRuntime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","defineProperty","obj","key","desc","value","undefined","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","call","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","displayName","defineIteratorMethods","forEach","method","_invoke","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","__await","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","then","unwrapped","error","previousPromise","enqueue","callInvokeWithMethodAndArg","async","Promise","iter","next","done","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","keys","val","object","reverse","length","pop","iterable","iteratorMethod","isNaN","i","skipTempReset","prev","charAt","slice","stop","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield"],"sources":["../../src/helpers/regeneratorRuntime.js"],"sourcesContent":["/* @minVersion 7.18.0 */\n/*\n * This file is auto-generated! Do not modify it directly.\n * To re-generate, update the regenerator-runtime dependency of\n * @babel/helpers and run 'yarn gulp generate-runtime-helpers'.\n */\n\n/* eslint-disable */\nexport default function _regeneratorRuntime() {\n \"use strict\";\n\n /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n _regeneratorRuntime = function () {\n return exports;\n };\n var exports = {};\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var defineProperty =\n Object.defineProperty ||\n function (obj, key, desc) {\n obj[key] = desc.value;\n };\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true,\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function (obj, key, value) {\n return (obj[key] = value);\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator =\n outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context),\n });\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg),\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err,\n };\n }\n }\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (\n NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)\n ) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n var Gp =\n (GeneratorFunctionPrototype.prototype =\n Generator.prototype =\n Object.create(IteratorPrototype));\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: true,\n });\n defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: true,\n });\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\",\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n exports.isGeneratorFunction = function (genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n exports.mark = function (genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function (arg) {\n return {\n __await: arg,\n };\n };\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (\n value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")\n ) {\n return PromiseImpl.resolve(value.__await).then(\n function (value) {\n invoke(\"next\", value, resolve, reject);\n },\n function (err) {\n invoke(\"throw\", err, resolve, reject);\n },\n );\n }\n return PromiseImpl.resolve(value).then(\n function (unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n },\n function (error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n },\n );\n }\n }\n var previousPromise;\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return (previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise\n ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg,\n )\n : callInvokeWithMethodAndArg());\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n defineProperty(this, \"_invoke\", {\n value: enqueue,\n });\n }\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl,\n );\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n };\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n context.method = method;\n context.arg = arg;\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n context.dispatchException(context.arg);\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n state = GenStateExecuting;\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n if (record.arg === ContinueSentinel) {\n continue;\n }\n return {\n value: record.arg,\n done: context.done,\n };\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\",\n );\n }\n return ContinueSentinel;\n }\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n var info = record.arg;\n if (!info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function () {\n return this;\n });\n define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n });\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0],\n };\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [\n {\n tryLoc: \"root\",\n },\n ];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n exports.keys = function (val) {\n var object = Object(val);\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n next.value = undefined;\n next.done = true;\n return next;\n };\n return (next.next = next);\n }\n }\n\n // Return an iterator with no values.\n return {\n next: doneResult,\n };\n }\n exports.values = values;\n function doneResult() {\n return {\n value: undefined,\n done: true,\n };\n }\n Context.prototype = {\n constructor: Context,\n reset: function (skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n this.method = \"next\";\n this.arg = undefined;\n this.tryEntries.forEach(resetTryEntry);\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (\n name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))\n ) {\n this[name] = undefined;\n }\n }\n }\n },\n stop: function () {\n this.done = true;\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n return this.rval;\n },\n dispatchException: function (exception) {\n if (this.done) {\n throw exception;\n }\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n return !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n abrupt: function (type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (\n entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc\n ) {\n var finallyEntry = entry;\n break;\n }\n }\n if (\n finallyEntry &&\n (type === \"break\" || type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc\n ) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n return this.complete(record);\n },\n complete: function (record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n if (record.type === \"break\" || record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n return ContinueSentinel;\n },\n finish: function (finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n catch: function (tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function (iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc,\n };\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n return ContinueSentinel;\n },\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n}\n"],"mappings":"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"}