context-state
Version:
Like unstated-next, but Pro
11 lines (9 loc) • 489 B
text/typescript
type ShallowEqualFn<T = any> = (prev: T, current: T) => boolean;
type EqualityFn<T = any> = (prev: T, current: T, shallowEqual: ShallowEqualFn<T>) => boolean;
type SelectorFn<Value, Selected> = (value: Value) => Selected;
type UseHookType<InitialValue, Value> = (initialValue: InitialValue) => Value;
type Middleware<Value> = {
onInit?: (value: Value) => void;
onChange?: (value: Value) => void;
};
export type { EqualityFn, Middleware, SelectorFn, ShallowEqualFn, UseHookType };