UNPKG

react-native-global-state-hooks

Version:

This is a package to easily handling global-state across your react-native-components No-redux... The library now includes @react-native-async-storage/async-storage to persist your state across sessions... if you want to keep using the old version without

22 lines (21 loc) 1.43 kB
import type { StateHook, StateSetter, ActionCollectionConfig, ActionCollectionResult, GlobalStoreCallbacks } from "react-hooks-global-states/types"; import { AsyncStorageConfig, BaseMetadata, StateMeta } from "./types"; export interface CreateGlobalState { <State>(state: State): StateHook<State, StateSetter<State>, BaseMetadata>; <State, Metadata extends BaseMetadata | unknown, ActionsConfig extends ActionCollectionConfig<State, Metadata> | null | {}, PublicStateMutator = keyof ActionsConfig extends never | undefined ? StateSetter<State> : ActionCollectionResult<State, Metadata, NonNullable<ActionsConfig>>>(state: State, args: { name?: string; metadata?: Metadata; callbacks?: GlobalStoreCallbacks<State, Metadata>; actions?: ActionsConfig; asyncStorage?: AsyncStorageConfig; }): StateHook<State, PublicStateMutator, StateMeta<Metadata>>; <State, Metadata extends BaseMetadata | unknown, ActionsConfig extends ActionCollectionConfig<State, StateMeta<Metadata>>>(state: State, args: { name?: string; metadata?: Metadata; callbacks?: GlobalStoreCallbacks<State, Metadata>; actions: ActionsConfig; asyncStorage?: AsyncStorageConfig; }): StateHook<State, ActionCollectionResult<State, StateMeta<Metadata>, ActionsConfig>, Metadata>; } export declare const createGlobalState: CreateGlobalState; export default createGlobalState;