UNPKG

pullstate

Version:

Simple state stores using immer and React hooks

25 lines (24 loc) 1.48 kB
import React from "react"; import { IAsyncActionBeckonOptions, IAsyncActionWatchOptions, IOCreateAsyncActionOutput, TPullstateAsyncBeckonResponse, TPullstateAsyncWatchResponse } from "./async-types"; import { IPullstateAllStores } from "./PullstateCore"; export declare enum EAsyncActionInjectType { WATCH = "watch", BECKON = "beckon" } interface IPropsInjectAsyncActionBase<A, R, T extends string, N> { action: IOCreateAsyncActionOutput<A, R, T, N>; args?: A; } export interface IPropsInjectAsyncActionBeckon<A = any, R = any, T extends string = string, N = any, S extends IPullstateAllStores = IPullstateAllStores> extends IPropsInjectAsyncActionBase<A, R, T, N> { type: EAsyncActionInjectType.BECKON; options?: IAsyncActionBeckonOptions<A, R, T, N, S>; children: (response: TPullstateAsyncBeckonResponse<R, T>) => React.ReactElement; } export interface IPropsInjectAsyncActionWatch<A = any, R = any, T extends string = string, N = any, S extends IPullstateAllStores = IPullstateAllStores> extends IPropsInjectAsyncActionBase<A, R, T, N> { type: EAsyncActionInjectType.WATCH; children: (response: TPullstateAsyncWatchResponse<R, T, N>) => React.ReactElement; options?: IAsyncActionWatchOptions<A, R, T, N, S>; } export type TInjectAsyncActionProps = IPropsInjectAsyncActionBeckon | IPropsInjectAsyncActionWatch; export declare function InjectAsyncAction(props: TInjectAsyncActionProps): React.ReactElement; export {};