pooppy
Version:
A state management portfolio for personal use only
20 lines (19 loc) • 708 B
TypeScript
import { Draft } from 'immer';
import createContainer from "constate";
declare type Recipe<S = any> = (this: Draft<S>, draftState: Draft<S>) => void | S;
declare type Update<S = any> = (recipe: Recipe<S>) => void;
declare type UseImmer<S = any> = (p: S) => [S, Update<S>];
/**
* immer: https://github.com/mweststrate/immer
*/
declare const useImmer: UseImmer;
/**
* like recompose#nest
* nest(MainCounter.Provider, DynamicImportedRoutePage)
*/
declare const nest: (...components: any[]) => (props: any) => any;
/**
* Some useful collections Hooks!
*/
declare const useWhyDidYouUpdate: (name: string, props: any) => void;
export { createContainer, nest, useImmer, useWhyDidYouUpdate };