UNPKG

ts-action-operators

Version:

TypeScript action operators for NgRx and redux-observable

12 lines (11 loc) 1.4 kB
import { Observable, OperatorFunction } from "rxjs"; import { Action } from "ts-action"; export declare type ActConfig<InputAction extends Action, OutputAction extends Action, ErrorAction extends Action, CompleteAction extends Action, UnsubscribeAction extends Action> = { complete?: (count: number, action: InputAction) => CompleteAction; error: (error: any, action: InputAction) => ErrorAction; operator?: <I, O>(project: (input: I, index: number) => Observable<O>) => OperatorFunction<I, O>; project: (action: InputAction, index: number) => Observable<OutputAction>; unsubscribe?: (count: number, action: InputAction) => UnsubscribeAction; }; export declare function act<InputAction extends Action, OutputAction extends Action, ErrorAction extends Action>(project: (action: InputAction, index: number) => Observable<OutputAction>, error: (error: any, action: InputAction) => ErrorAction): (source: Observable<InputAction>) => Observable<OutputAction | ErrorAction>; export declare function act<InputAction extends Action, OutputAction extends Action, ErrorAction extends Action, CompleteAction extends Action = never, UnsubscribeAction extends Action = never>(config: ActConfig<InputAction, OutputAction, ErrorAction, CompleteAction, UnsubscribeAction>): (source: Observable<InputAction>) => Observable<OutputAction | ErrorAction | CompleteAction | UnsubscribeAction>;