UNPKG

@voiceflow/common

Version:

Junk drawer of utility functions

25 lines 2.01 kB
import type { Nullish } from '../types.js'; export declare const isFunction: <T extends (...args: any[]) => any = (...args: any[]) => any>(value: unknown) => value is T; export type Transform<T = any, R = T> = (value: T) => R; export interface Compose { <R, T1>(t0: Transform<T1, R>): (value: T1) => R; <R, T1, T2>(t0: Transform<T1, T2>, t1: Transform<T2, R>): (value: T1) => R; <R, T1, T2, T3>(t0: Transform<T1, T2>, t1: Transform<T2, T3>, t2: Transform<T3, R>): (value: T1) => R; <R, T1, T2, T3, T4>(t0: Transform<T1, T2>, t1: Transform<T2, T3>, t2: Transform<T3, T4>, t3: Transform<T4, R>): (value: T1) => R; <R, T1, T2, T3, T4, T5>(t0: Transform<T1, T2>, t1: Transform<T2, T3>, t2: Transform<T3, T4>, t3: Transform<T4, T5>, t4: Transform<T5, R>): (value: T1) => R; <R, T1, T2, T3, T4, T5, T6>(t0: Transform<T1, T2>, t1: Transform<T2, T3>, t2: Transform<T3, T4>, t3: Transform<T4, T5>, t4: Transform<T5, T6>, t5: Transform<T6, R>): (value: T1) => R; (...transforms: Transform[]): <T extends object>(value: T) => T; } export declare const compose: Compose; export type VoidFunction = () => void; export declare const noop: VoidFunction; export declare const identity: <T>(value: T) => T; export declare const stringify: (value: any) => string; type ChainCallback<A extends any[]> = (...args: A) => void; export declare const chain: <A extends any[]>(fns_0: Nullish<ChainCallback<A>>, ...fns_1: Nullish<ChainCallback<A>>[]) => (...args: A) => void; export declare const chainVoid: (fns_0: Nullish<VoidFunction>, ...fns_1: Nullish<VoidFunction>[]) => () => void; export declare const chainAsync: <A extends any[]>(fns_0: Nullish<ChainCallback<A>>, ...fns_1: Nullish<ChainCallback<A>>[]) => (...args: A) => Promise<void>; export declare const chainVoidAsync: (fns_0: Nullish<VoidFunction>, ...fns_1: Nullish<VoidFunction>[]) => () => Promise<void>; export declare const withEffect: <T>(callback: (value: T) => void) => (value: T) => T; export {}; //# sourceMappingURL=functional.d.ts.map