react-elegant-ui
Version:
Elegant UI components, made by BEM best practices for react
21 lines (20 loc) • 837 B
TypeScript
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;