UNPKG

@graphql-mesh/utils

Version:
28 lines (27 loc) 819 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.iterateAsync = iterateAsync; const utils_1 = require("@graphql-tools/utils"); function iterateAsync(iterable, callback, results) { const iterator = iterable[Symbol.iterator](); function iterate() { const { done: endOfIterator, value } = iterator.next(); if (endOfIterator) { return; } let endedEarly = false; function endEarly() { endedEarly = true; } return (0, utils_1.mapMaybePromise)(callback(value, endEarly), result => { if (endedEarly) { return; } if (result) { results?.push(result); } return iterate(); }); } return iterate(); }