UNPKG

redux-persist

Version:

persist and rehydrate redux stores

82 lines (66 loc) 1.78 kB
// @flow export type PersistState = { version: number, rehydrated: boolean, } export type PersistedState = { _persist: PersistState, } | void export type PersistConfig = { version?: number, storage: Object, key: string, keyPrefix?: string, // @TODO remove in v6 blacklist?: Array<string>, whitelist?: Array<string>, transforms?: Array<Transform>, throttle?: number, migrate?: (PersistedState, number) => Promise<PersistedState>, stateReconciler?: false | Function, getStoredState?: PersistConfig => Promise<PersistedState>, // used for migrations debug?: boolean, } export type PersistorOptions = { enhancer?: Function, } export type Storage = { getItem: (string, ?(string) => any) => any, setItem: (string, string, ?() => any) => any, removeItem: (string, ?() => any) => any, } export type MigrationManifest = { [number | string]: (PersistedState) => PersistedState, } export type Transform = { in: (Object, string) => Object, out: (Object, string) => Object, config?: PersistConfig, } export type RehydrateErrorType = any export type RehydrateAction = { type: 'redux-persist/REHYDRATE', key: string, payload: ?Object, err: ?RehydrateErrorType, } export type Persistoid = { update: Object => void, flush: () => Promise<any>, } type RegisterAction = { type: 'redux-persist/REGISTER', key: string, } type PersistorAction = RehydrateAction | RegisterAction type PersistorState = { registry: Array<string>, bootstrapped: boolean, } type PersistorSubscribeCallback = () => any export type Persistor = { purge: () => Promise<any>, flush: () => Promise<any>, +dispatch: PersistorAction => PersistorAction, +getState: () => PersistorState, +subscribe: PersistorSubscribeCallback => () => any, }