UNPKG

little-state-machine

Version:
30 lines (29 loc) 1.04 kB
import { PERSIST_OPTION } from './constants'; export interface GlobalState { } export type AnyCallback = (state: GlobalState, payload: any) => GlobalState; export type AnyActions<TCallback> = Record<string, TCallback>; export type ActionsOutput<TCallback extends AnyCallback, TActions extends AnyActions<TCallback>> = { [K in keyof TActions]: (payload?: Parameters<TActions[K]>[1], options?: { skipRender: boolean; }) => void; }; export type MiddleWare = (state: GlobalState, payload: any, callbackName: string) => GlobalState; export type StateMachineOptions = Partial<{ name: string; middleWares: MiddleWare[]; storageType: Storage; persist: (typeof PERSIST_OPTION)[keyof typeof PERSIST_OPTION]; }>; declare global { interface Window { __LSM_NAME__: any; __LSM__: any; __LSM_DEBUG__: any; __LSM_RESET__: any; __LSM_GET_STORE__: any; __LSM_SAVE_TO__: any; __LSM_LOAD__: any; __LSM_DEBUG_NAME__: any; } }