spica
Version:
Supervisor, Coroutine, Channel, select, AtomicPromise, Cancellation, Cache, List, Queue, Stack, and some utils.
13 lines (11 loc) • 409 B
text/typescript
import { Sequence } from '../../core';
import { compose } from '../../../../helper/compose';
compose(Sequence, class <a, z> extends Sequence<a, z> {
public override inits(): Sequence<a[], [Sequence.Iterator<a[]>, Sequence.Iterator<a[]>]> {
return Sequence.mappend(
Sequence.from([[]]),
this
.scanl<a[]>(((b, a) => [...b, a]), [])
.dropWhile(as => as.length === 0));
}
});