UNPKG

@itsmworkbench/utils

Version:

The usual utility functions

14 lines (13 loc) 955 B
export interface PartialFunction<From, To> { isDefinedAt: (from: From) => boolean; apply: (from: From) => To; } export interface PartialFunction2<Opt, From, To> { isDefinedAt: (from: Opt) => boolean; apply: (from: From, opt: Opt) => To; } export declare const chainOfResponsibility2: <From, Opt, To>(defaultFn: (from: From, opt: Opt) => To, ...fns: PartialFunction2<Opt, From, To>[]) => (from: From, opt: Opt) => To; export declare const chainOfResponsibility: <From, To>(defaultFn: (from: From) => To, ...fns: PartialFunction<From, To>[]) => (from: From) => To; export type PartialFnFromUndefined<From, To> = (from: From | undefined) => To | undefined; export declare const chainFromDoItOrUndefined: <From, To>(defaultFn: (from: From) => To, ...fns: PartialFnFromUndefined<From, To>[]) => (from: From) => To; export declare const partial: (isDefinedAt: (from: any) => boolean) => (apply: (from: any) => any) => PartialFunction<any, any>;