index.ts 559 B

123456789101112131415161718192021
  1. import type { StateCreator } from "zustand";
  2. import { create } from "zustand";
  3. const storeResetFns = new Set<() => void>();
  4. const resetAllStores = () => {
  5. storeResetFns.forEach((resetFn) => {
  6. resetFn();
  7. });
  8. };
  9. export const actualCreate = (<T>() => {
  10. return (stateCreator: StateCreator<T>) => {
  11. const store = create(stateCreator);
  12. const initialState = store.getInitialState();
  13. storeResetFns.add(() => {
  14. store.setState(initialState, true);
  15. });
  16. return store;
  17. };
  18. }) as typeof create;