async-states
Version:
Core of async-states
40 lines (37 loc) • 2.31 kB
TypeScript
import { StateInterface, LibraryContext, Source, ProducerConfig, CachedState, State, UpdateQueue, RunTask, LastSuccessSavedState, PromiseLike, AbortFn, Producer, PendingUpdate, PendingTimeout, StateSubscription, InstanceEvents, CreateSourceObject } from './types.js';
declare class AsyncState<TData, TArgs extends unknown[], TError> implements StateInterface<TData, TArgs, TError> {
readonly ctx: LibraryContext | null;
journal?: any[] | null;
actions: Source<TData, TArgs, TError>;
id: number;
key: string;
version: number;
config: ProducerConfig<TData, TArgs, TError>;
payload: Record<string, any> | null;
cache: Record<string, CachedState<TData, TArgs, TError>> | null;
parent: StateInterface<TData, TArgs, TError> | null;
lanes: Record<string, StateInterface<TData, TArgs, TError>> | null;
state: State<TData, TArgs, TError>;
queue: UpdateQueue<TData, TArgs, TError> | null;
latestRun: RunTask<TData, TArgs, TError> | null;
lastSuccess: LastSuccessSavedState<TData, TArgs>;
promise: PromiseLike<TData, TError> | null;
res: {
res: (data: TData) => void;
rej: (error: TError) => void;
} | null;
currentAbort: AbortFn | null;
fn: Producer<TData, TArgs, TError> | null;
pendingUpdate: PendingUpdate | null;
pendingTimeout: PendingTimeout | null;
subsIndex: number | null;
subscriptions: Record<number, StateSubscription<TData, TArgs, TError>> | null;
eventsIndex: number | null;
events: InstanceEvents<TData, TArgs, TError> | null;
global: boolean | null;
constructor(key: string, producer: Producer<TData, TArgs, TError> | undefined | null, config?: ProducerConfig<TData, TArgs, TError>);
}
declare function getSource<TData, TArgs extends unknown[], TError>(key: string, context?: unknown): Source<TData, TArgs, TError> | undefined;
declare function createSource<TData, TArgs extends unknown[] = [], TError = Error>(props: CreateSourceObject<TData, TArgs, TError>): Source<TData, TArgs, TError>;
declare function createSource<TData, TArgs extends unknown[] = [], TError = Error>(key: string, producer?: Producer<TData, TArgs, TError> | undefined | null, config?: ProducerConfig<TData, TArgs, TError>): Source<TData, TArgs, TError>;
export { AsyncState, createSource, getSource };