@quenk/preconditions
Version:
Make data satisfy constraints before using.
23 lines (22 loc) • 664 B
TypeScript
import * as lazy from '@quenk/noni/lib/data/lazy';
import { Precondition } from '../async';
/**
* filter (async).
*/
export declare const filter: <A, B>(p: Precondition<A, B>) => Precondition<A[], B[]>;
/**
* map (async).
*/
export declare const map: <A, B>(p: Precondition<A, B>) => Precondition<A[], B[]>;
/**
* tuple (async)
*/
export declare const tuple: <A, B>(list: Precondition<A, B>[]) => Precondition<A[], B[]>;
/**
* Reducer (async version)
*/
export type Reducer<A, B> = (accum: B) => Precondition<A, B>;
/**
* reduce (async version)
*/
export declare const reduce: <A, B>(getAccum: lazy.Lazy<B>, func: Reducer<A, B>) => Precondition<A[], B>;