(gen)
| 54351 | var _awaitValueJs = require("./AwaitValue.js"); |
| 54352 | var _awaitValueJsDefault = parcelHelpers.interopDefault(_awaitValueJs); |
| 54353 | function AsyncGenerator(gen) { |
| 54354 | var front, back; |
| 54355 | function send(key, arg) { |
| 54356 | return new Promise(function(resolve, reject) { |
| 54357 | var request = { |
| 54358 | key: key, |
| 54359 | arg: arg, |
| 54360 | resolve: resolve, |
| 54361 | reject: reject, |
| 54362 | next: null |
| 54363 | }; |
| 54364 | if (back) back = back.next = request; |
| 54365 | else { |
| 54366 | front = back = request; |
| 54367 | resume(key, arg); |
| 54368 | } |
| 54369 | }); |
| 54370 | } |
| 54371 | function resume(key, arg1) { |
| 54372 | try { |
| 54373 | var result = gen[key](arg1); |
| 54374 | var value = result.value; |
| 54375 | var wrappedAwait = value instanceof (0, _awaitValueJsDefault.default); |
| 54376 | Promise.resolve(wrappedAwait ? value.wrapped : value).then(function(arg) { |
| 54377 | if (wrappedAwait) { |
| 54378 | resume(key === "return" ? "return" : "next", arg); |
| 54379 | return; |
| 54380 | } |
| 54381 | settle(result.done ? "return" : "normal", arg); |
| 54382 | }, function(err) { |
| 54383 | resume("throw", err); |
| 54384 | }); |
| 54385 | } catch (err) { |
| 54386 | settle("throw", err); |
| 54387 | } |
| 54388 | } |
| 54389 | function settle(type, value) { |
| 54390 | switch(type){ |
| 54391 | case "return": |
| 54392 | front.resolve({ |
| 54393 | value: value, |
| 54394 | done: true |
| 54395 | }); |
| 54396 | break; |
| 54397 | case "throw": |
| 54398 | front.reject(value); |
| 54399 | break; |
| 54400 | default: |
| 54401 | front.resolve({ |
| 54402 | value: value, |
| 54403 | done: false |
| 54404 | }); |
| 54405 | break; |
| 54406 | } |
| 54407 | front = front.next; |
| 54408 | if (front) resume(front.key, front.arg); |
| 54409 | else back = null; |
| 54410 | } |
nothing calls this directly
no outgoing calls
no test coverage detected