UNPKG

stream-chain

Version:

Chain functions, generators, Node streams, and Web streams into a pipeline with backpressure support.

25 lines (21 loc) 538 B
// @ts-self-types="./takeWhile.d.ts" import {none} from '../defs.js'; const takeWhile = (fn, finalValue = none) => { let test = true; return value => { if (!test) return finalValue; const result = fn(value); if (result && typeof result.then == 'function') { return result.then(result => { if (result) return value; test = false; return finalValue; }); } if (result) return value; test = false; return finalValue; }; }; export default takeWhile; export {takeWhile};