UNPKG

react-elegant-ui

Version:

Elegant UI components, made by BEM best practices for react

21 lines (20 loc) 837 B
export type MergeHandlerArguments<T = any> = { key: string; currentValue: T; value: T; setValue: (newValue: T) => void; }; export type MergeHandler<T = any> = (req: MergeHandlerArguments<T>, storage: Record<any, any>) => T; export type HandlerObjectLifecycleStart<T = any> = (objects: T[], storage: Record<any, any>) => void; export type HandlerObjectLifecycleEnd<T = any> = (result: T, storage: Record<any, any>) => void; export type MergeHandlerObject<T = any> = { fn: MergeHandler<T>; onStart?: HandlerObjectLifecycleStart<T>; onEnd?: HandlerObjectLifecycleEnd<T>; }; /** * Constructor of merge function */ export declare const configure: <V = any, PGen extends {} = {}>({ handlers, }: { handlers: (MergeHandler<V> | MergeHandlerObject<V>)[]; }) => <P extends PGen>(...args: (P | undefined)[]) => P;