UNPKG

pretur.redux

Version:
35 lines (34 loc) 1.73 kB
export declare type ValidTargetType = number | string | symbol; export interface Dispatch { (action: Action<any, any>): void; (thunk: Thunk): Promise<void>; } export interface Thunk { (dispatch: Dispatch): Promise<void>; } export interface Action<TPayload = undefined, TMeta = undefined> { type: string; payload?: TPayload; meta?: TMeta; } export interface TargetedAction<TPayload = undefined, TMeta = undefined> extends Action<TPayload, TMeta> { target?: ValidTargetType | ValidTargetType[]; broadcast: boolean; } export interface ActionDescriptor<TPayload = undefined, TMeta = undefined> { type: string; create(payload?: TPayload, meta?: TMeta): Action<TPayload, TMeta>; is(action: Action<any, any>): action is Action<TPayload, TMeta>; } export declare function createActionDescriptor<TPayload = undefined, TMeta = undefined>(type: string): ActionDescriptor<TPayload, TMeta>; export interface TargetedActionDescriptorCreator<TPayload = undefined, TMeta = undefined> { unicast(target: ValidTargetType, payload?: TPayload, meta?: TMeta): TargetedAction<TPayload, TMeta>; multicast(targets: ValidTargetType[], payload?: TPayload, meta?: TMeta): TargetedAction<TPayload, TMeta>; broadcast(payload?: TPayload, meta?: TMeta): TargetedAction<TPayload, TMeta>; } export interface TargetedActionDescriptor<TPayload = undefined, TMeta = undefined> { type: string; create: TargetedActionDescriptorCreator<TPayload, TMeta>; is(id: ValidTargetType, action: Action<any, any>): action is TargetedAction<TPayload, TMeta>; } export declare function createTargetedActionDescriptor<TPayload = undefined, TMeta = undefined>(type: string): TargetedActionDescriptor<TPayload, TMeta>;