UNPKG

state-management-utilities

Version:
41 lines (40 loc) 2.54 kB
import { TaskManagerCore } from "task-manager-core"; import { StateManager } from "./state-manager"; import type { HydratedEntry } from "./center"; import type { TypeStateManagerConfigs } from "./state-manager"; import type { RequestConfigBase, RequestDataRecordType, TaskManagerCoreConfig } from "task-manager-core"; export declare class TaskManager<Task extends (...args: any) => Promise<any>, DataManager extends StateManager<Awaited<ReturnType<Task>> | null>, ErrorManager extends StateManager<TaskError | null>, IsProcessingManager extends StateManager<boolean>, RequestParamsManager extends StateManager<RequestDataRecordType<Task>>, TaskError = any, Meta = Record<string, any>> extends TaskManagerCore<Task, TaskError, Meta> { protected _initializeManager<Manager>({ name, initialValue, configs, }: { name: string; initialValue: any; configs: StateManagerConfigs<any>; }): Manager; protected _uid: string; readonly state: DataManager; readonly error: ErrorManager; readonly isProcessing: IsProcessingManager; protected _requestDetails_: RequestParamsManager; get uid(): string; get requestDetails(): Readonly<{ value: RequestDataRecordType<Task>; }>; protected _setRequestDetails(updater: (prev: RequestDataRecordType<Task>) => RequestDataRecordType<Task>): void; constructor({ uid, stateConfig, errorConfig, isProcessingConfig, requestParamsConfig, ...configs }: TaskManagerConfig<Task, TaskError, Meta>); reset(): this; protected _isPrevented({ hash, config, }: { hash: string; config: RequestConfigBase<Task, TaskError, Meta>; }): boolean; hydrate(...parameters: Parameters<Task>): Promise<HydratedEntry>; } export type StateManagerConfigs<StateType> = { initialValue?: StateType; } & Omit<TypeStateManagerConfigs<StateType>, "uid">; export type TaskManagerConfig<Task extends (...args: any) => Promise<any>, TaskError = any, Meta = Record<string, any>> = { uid?: string; stateConfig?: StateManagerConfigs<Awaited<ReturnType<Task>> | undefined | null>; errorConfig?: StateManagerConfigs<TaskError | undefined>; isProcessingConfig?: StateManagerConfigs<boolean>; requestParamsConfig?: StateManagerConfigs<RequestDataRecordType<Task>>; } & TaskManagerCoreConfig<Task, TaskError, Meta>; export type { RequestConfigBase, RequestConfigs, RequestDataRecordType, RequestEventHandlersType, RequestStatus, SharedConfigs, TaskManagerCoreConfig, TaskManagerInterceptorsType, } from "task-manager-core";