MCPcopy Create free account
hub / github.com/microsoft/SandDance / AsyncIterator

Function AsyncIterator

docs/app/js/sanddance-app.js:53252–53278  ·  view source on GitHub ↗
(generator, PromiseImpl)

Source from the content-addressed store, hash-verified

53250 });
53251 }
53252 function AsyncIterator(generator, PromiseImpl) {
53253 function invoke(method, arg, resolve, reject) {
53254 var record = tryCatch(generator[method], generator, arg);
53255 if ("throw" !== record.type) {
53256 var result = record.arg, value1 = result.value;
53257 return value1 && "object" == _typeof(value1) && hasOwn.call(value1, "__await") ? PromiseImpl.resolve(value1.__await).then(function(value) {
53258 invoke("next", value, resolve, reject);
53259 }, function(err) {
53260 invoke("throw", err, resolve, reject);
53261 }) : PromiseImpl.resolve(value1).then(function(unwrapped) {
53262 result.value = unwrapped, resolve(result);
53263 }, function(error) {
53264 return invoke("throw", error, resolve, reject);
53265 });
53266 }
53267 reject(record.arg);
53268 }
53269 var previousPromise;
53270 this._invoke = function(method, arg) {
53271 function callInvokeWithMethodAndArg() {
53272 return new PromiseImpl(function(resolve, reject) {
53273 invoke(method, arg, resolve, reject);
53274 });
53275 }
53276 return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
53277 };
53278 }
53279 function maybeInvokeDelegate(delegate, context) {
53280 var method = delegate.iterator[context.method];
53281 if (undefined === method) {

Callers

nothing calls this directly

Calls 1

Tested by

no test coverage detected