astro-ghostcms/.pnpm-store/v3/files/1e/968e81ed46ee8951802322a3a01...

1 line
6.0 KiB
Plaintext
Raw Normal View History

2024-02-14 14:10:47 +00:00
{"version":3,"names":["_OverloadYield","require","AsyncGenerator","gen","front","back","send","key","arg","Promise","resolve","reject","request","next","resume","result","value","overloaded","OverloadYield","v","then","nextKey","k","done","settle","err","type","_invoke","return","undefined","prototype","Symbol","asyncIterator","throw"],"sources":["../../src/helpers/AsyncGenerator.js"],"sourcesContent":["/* @minVersion 7.0.0-beta.0 */\n\nimport OverloadYield from \"OverloadYield\";\n\nexport default function AsyncGenerator(gen) {\n var front, back;\n\n function send(key, arg) {\n return new Promise(function (resolve, reject) {\n var request = {\n key: key,\n arg: arg,\n resolve: resolve,\n reject: reject,\n next: null,\n };\n\n if (back) {\n back = back.next = request;\n } else {\n front = back = request;\n resume(key, arg);\n }\n });\n }\n\n function resume(key, arg) {\n try {\n var result = gen[key](arg);\n var value = result.value;\n var overloaded = value instanceof OverloadYield;\n\n Promise.resolve(overloaded ? value.v : value).then(\n function (arg) {\n if (overloaded) {\n // Overloaded yield requires calling into the generator twice:\n // - first we get the iterator result wrapped in a promise\n // (the gen[key](arg) call above)\n // - then we await it (the Promise.resolve call above)\n // - then we give the result back to the iterator, so that it can:\n // * if it was an await, use its result\n // * if it was a yield*, possibly return the `done: true` signal\n // so that yield* knows that the iterator is finished.\n // This needs to happen in the second call, because in the\n // first one `done: true` was hidden in the promise and thus\n // not visible to the (sync) yield*.\n // The other part of this implementation is in asyncGeneratorDelegate.\n var nextKey = key === \"return\" ? \"return\" : \"next\";\n if (!value.k || arg.done) {\n // await or end of yield*\n return resume(nextKey, arg);\n } else {\n // yield*, not done\n arg = gen[nextKey](arg).value;\n }\n }\n\n settle(result.done ? \"return\" : \"normal\", arg);\n },\n function (err) {\n resume(\"throw\", err);\n },\n );\n } catch (err) {\n settle(\"throw\", err);\n }\n }\n\n function settle(type, value) {\n switch (type) {\n case \"return\":\n front.resolve({ value: value, done: true });\n break;\n case \"throw\":\n front.reject(value);\n break;\n default:\n front.resolve({ value: value, done: false });\n break;\n }\n\n front = front.next;\n if (front) {\n resume(front.key, front.arg);\n } else {\n back = null;\n }\n }\n\n this._invoke = send;\n\n // Hide \"return\" method if generator return is not supported\n if (typeof gen.return !== \"function\") {\n this.return = undefined;\n }\n}\n\nAsyncGenerator.prototype[\n (typeof Symbol === \"function\" && Symbol.asyncIterator) || \"@@asyncIterator\"\n] = function () {\n return this;\n};\n\nAsyncGenerator.prototype.next = function (arg) {\n return this._invoke(\"next\", arg);\n};\nAsyncGenerator.prototype.throw = function (arg) {\n return this._invoke(\"throw\", arg);\n};\nAsyncGenerator.prototype.return = function (arg) {\n return this._invoke(\"return\", arg);\n};\n"],"mappings":";;;;;;AAEA,IAAAA,cAAA,GAAAC,OAAA;AAEe,SAASC,cAAcA,CAACC,GAAG,EAAE;EAC1C,IAAIC,KAAK,EAAEC,IAAI;EAEf,SAASC,IAAIA,CAACC,GAAG,EAAEC,GAAG,EAAE;IACtB,OAAO,IAAIC,OAAO,CAAC,UAAUC,OAAO,EAAEC,MAAM,EAAE;MAC5C,IAAIC,OAAO,GAAG;QACZL,GAAG,EAAEA,GAAG;QACRC,GAAG,EAAEA,GAAG;QACRE,OAAO,EAAEA,OAAO;QAChBC,MAAM,EAAEA,MAAM;QACdE,IAAI,EAAE;MACR,CAAC;MAED,IAAIR,IAAI,EAAE;QACRA,IAAI,GAAGA,IAAI,CAACQ,IAAI,GAAG