{"version":3,"file":"index.cjs","names":["_init","_interopRequireDefault","require","_actionTypes","exports","REMEMBER_REHYDRATED","REMEMBER_PERSISTED","_redux","_errors","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","_types","e","__esModule","ownKeys","r","t","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","rememberReducer","reducer","data","state","action","_action$type","type","startsWith","rootReducer","combineReducers","rehydratedState","payload","rememberEnhancer","driver","rememberedKeys","_temp","_ref","_ref$prefix","prefix","_ref$serialize","serialize","JSON","stringify","_ref$unserialize","unserialize","parse","_ref$migrate","migrate","_ref$persistThrottle","persistThrottle","persistDebounce","_ref$persistWholeStor","persistWholeStore","initActionType","_ref$errorHandler","errorHandler","console","warn","storeCreator","createStore","preloadedState","enhancer","isInitialized","initialize","store","init","setTimeout"],"sources":["../../src/index.ts"],"sourcesContent":["import init from './init.ts';\nimport { REMEMBER_REHYDRATED, REMEMBER_PERSISTED } from './action-types.ts';\nimport type { Driver, Options } from './types.ts';\nimport type {\n  Action,\n  StoreEnhancer,\n  Reducer,\n  Store,\n  StoreCreator,\n  ReducersMapObject,\n  UnknownAction\n} from 'redux';\nimport { combineReducers } from 'redux';\n\nexport * from './errors.ts';\nexport * from './types.ts';\n\nconst rememberReducer = <S = any, A extends Action = UnknownAction, PreloadedState = S>(\n  reducer: Reducer<S, A, PreloadedState> | ReducersMapObject<S, A, PreloadedState>\n): Reducer<S, A, PreloadedState> => {\n  const data: any = {\n    state: {}\n  };\n\n  return (state: any = data.state, action: any) => {\n    if (action.type && (\n      action?.type === '@@INIT'\n      || action?.type?.startsWith('@@redux/INIT')\n    )) {\n      data.state = { ...state };\n    }\n\n    const rootReducer = typeof reducer === 'function'\n      ? reducer\n      : combineReducers(reducer);\n\n    switch (action.type) {\n      case REMEMBER_REHYDRATED: {\n        const rehydratedState = {\n          ...data.state,\n          ...(action?.payload || {})\n        };\n\n        data.state = rootReducer(\n          rehydratedState,\n          {\n            type: REMEMBER_REHYDRATED,\n            payload: rehydratedState\n          } as any\n        );\n\n        return data.state;\n      }\n      default:\n        return rootReducer(\n          state,\n          action\n        );\n    }\n  };\n};\n\nconst rememberEnhancer = <Ext extends {} = {}, StateExt extends {} = {}>(\n  driver: Driver,\n  rememberedKeys: string[],\n  {\n    prefix = '@@remember-',\n    serialize = (data) => JSON.stringify(data),\n    unserialize = (data) => JSON.parse(data),\n    migrate = (state) => state,\n    persistThrottle = 100,\n    persistDebounce,\n    persistWholeStore = false,\n    initActionType,\n    errorHandler = console.warn\n  }: Partial<Options> = {}\n): StoreEnhancer<Ext, StateExt> => {\n  const storeCreator = (createStore: StoreCreator): StoreCreator => (\n    rootReducer: Reducer<any>,\n    preloadedState?: any,\n    enhancer?: StoreEnhancer\n  ): Store => {\n    let isInitialized = false;\n    const initialize = (store: Store) => init(\n      store,\n      rememberedKeys,\n      {\n        driver,\n        prefix,\n        serialize,\n        unserialize,\n        migrate,\n        persistThrottle,\n        persistDebounce,\n        persistWholeStore,\n        errorHandler\n      }\n    );\n\n    const store = createStore(\n      (state, action) => {\n        if (!isInitialized\n          && initActionType\n          && action.type === initActionType\n        ) {\n          isInitialized = true;\n          setTimeout(() => initialize(store), 0);\n        }\n\n        return rootReducer(state, action);\n      },\n      preloadedState,\n      enhancer\n    );\n\n    if (!initActionType) {\n      isInitialized = true;\n      void initialize(store);\n    }\n\n    return store;\n  };\n\n  return storeCreator;\n};\n\nexport {\n  rememberReducer,\n  rememberEnhancer,\n  REMEMBER_REHYDRATED,\n  REMEMBER_PERSISTED\n};\n"],"mappings":"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","ignoreList":[]}