fets
Version:
TypeScript HTTP Framework focusing on e2e type-safety, easy setup, performance & great developer experience
34 lines (33 loc) • 1.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.asyncIterationUntilReturn = asyncIterationUntilReturn;
exports.isBlob = isBlob;
const server_1 = require("@whatwg-node/server");
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 ((0, server_1.isPromise)(callbackResult$)) {
return callbackResult$.then(callbackResult => {
if (callbackResult) {
return callbackResult;
}
return iterate();
});
}
if (callbackResult$) {
return callbackResult$;
}
return iterate();
}
}
return iterate();
}
function isBlob(value) {
return value.arrayBuffer !== undefined;
}