UNPKG

1.58 kBTypeScriptView Raw
1import { Action } from '@ngrx/store';
2import { Observable, OperatorFunction } from 'rxjs';
3/** Represents config with named parameters for act */
4export interface ActConfig<Input, OutputAction extends Action, ErrorAction extends Action, CompleteAction extends Action, UnsubscribeAction extends Action> {
5 project: (input: Input, index: number) => Observable<OutputAction>;
6 error: (error: any, input: Input) => ErrorAction;
7 complete?: (count: number, input: Input) => CompleteAction;
8 operator?: <Input, OutputAction>(project: (input: Input, index: number) => Observable<OutputAction>) => OperatorFunction<Input, OutputAction>;
9 unsubscribe?: (count: number, input: Input) => UnsubscribeAction;
10}
11/**
12 * Wraps project fn with error handling making it safe to use in Effects.
13 * Takes either config with named properties that represent different possible
14 * callbacks or project/error callbacks that are required.
15 */
16export declare function act<Input, OutputAction extends Action, ErrorAction extends Action>(project: (input: Input, index: number) => Observable<OutputAction>, error: (error: any, input: Input) => ErrorAction): (source: Observable<Input>) => Observable<OutputAction | ErrorAction>;
17export declare function act<Input, OutputAction extends Action, ErrorAction extends Action, CompleteAction extends Action = never, UnsubscribeAction extends Action = never>(config: ActConfig<Input, OutputAction, ErrorAction, CompleteAction, UnsubscribeAction>): (source: Observable<Input>) => Observable<OutputAction | ErrorAction | CompleteAction | UnsubscribeAction>;