UNPKG

react-global-state-hooks

Version:

This is a package to easily handling global-state across your react components No-redux, No-context.

30 lines (29 loc) 1.8 kB
import { ActionCollectionConfig, BaseMetadata, GlobalStoreCallbacks, StateChanges, StoreTools } from 'react-hooks-global-states/types'; import { GlobalStoreAbstract } from 'react-hooks-global-states/GlobalStoreAbstract'; import { LocalStorageConfig } from './types'; export declare class GlobalStore<State, Metadata extends BaseMetadata | unknown, ActionsConfig extends ActionCollectionConfig<State, Metadata> | undefined | unknown> extends GlobalStoreAbstract<State, Metadata, ActionsConfig> { protected localStorage: LocalStorageConfig | null; constructor(state: State); constructor(state: State, args: { metadata?: Metadata; callbacks?: GlobalStoreCallbacks<State, Metadata>; actions?: ActionsConfig; name?: string; localStorage?: LocalStorageConfig; }); protected isLocalStorageAvailable: (config: LocalStorageConfig | null) => config is LocalStorageConfig; protected _onInitialize: ({ setState, getState }: StoreTools<State, Metadata>) => void; protected _onChange: ({ getState }: StoreTools<State, Metadata> & StateChanges<State>) => void; /** * We set it to null so the instances of the GlobalStoreAbstract can override it. */ protected onInitialize: (args: StoreTools<State, Metadata>) => void; protected onChange: (args: StoreTools<State, Metadata> & StateChanges<State>) => void; /** * Instead of calling onInitialize and onChange directly, we call the _onInitialize and _onChange * This allows the concat the logic of the GlobalStore with the logic of the extension class. */ protected onInit: (parameters: StoreTools<State, Metadata>) => void; protected onStateChanged: (args: StoreTools<State, Metadata> & StateChanges<State>) => void; } export default GlobalStore;