Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 1x 1x 1x 2x 2x 10x 10x 6x | import {Chooser, isSome} from 'fnxt/option'; import {Seq} from 'fnxt/fnxt-types'; import {toSequence} from '../build'; export type chooseT = <E, F>(e: Chooser<E, F>) => (seq: Seq<E>) => Seq<F> export const choose: chooseT = <E, F>(chooser: Chooser<E, F>) => (seq: Seq<E>): Seq<F> => toSequence(function* () { for (const e of seq) { const option = chooser(e); if (isSome(option)) { yield option.value; } } }); |