UNPKG

fets

Version:

TypeScript HTTP Framework focusing on e2e type-safety, easy setup, performance & great developer experience

30 lines (29 loc) 891 B
import { isPromise } from '@whatwg-node/server'; export function asyncIterationUntilReturn(iterable, callback) { const iterator = iterable[Symbol.iterator](); function iterate() { const { value, done } = iterator.next(); if (done) { return; } if (value) { const callbackResult$ = callback(value); if (isPromise(callbackResult$)) { return callbackResult$.then(callbackResult => { if (callbackResult) { return callbackResult; } return iterate(); }); } if (callbackResult$) { return callbackResult$; } return iterate(); } } return iterate(); } export function isBlob(value) { return value.arrayBuffer !== undefined; }