UNPKG

evt

Version:

Type safe replacement for node's EventEmitter

14 lines (13 loc) 703 B
import { ReduceArguments } from "./reduceify"; export declare type ArrDiff<T> = { added: readonly T[]; removed: readonly T[]; }; /** WARNING: Providing areEquals significantly impact performances */ export declare function arrDiff<ArrOf>(arr: readonly ArrOf[], newArr: readonly ArrOf[], areEquals?: (e1: ArrOf, e2: ArrOf) => boolean): ArrDiff<ArrOf>; export declare function diff<ArrOf>(newArr: readonly ArrOf[], areEquals?: (e1: ArrOf, e2: ArrOf) => boolean): ReduceArguments<ArrOf, ArrDiff<ArrOf>>; export declare function diffFactory({ areEquals }: { areEquals: <T>(e1: T, e2: T) => boolean; }): { diff: <ArrOf>(newArr: readonly ArrOf[]) => ReduceArguments<ArrOf, ArrDiff<ArrOf>>; };