ngrx-run
Version:
Return side-effects as data from your NgRx reducers
47 lines (46 loc) • 2.86 kB
TypeScript
import { Observable } from 'rxjs';
import { InjectionToken, Type } from '@angular/core';
import { Dependencies, ImmediateEffectDefinition, Instances, ObservableEffectDefinition, PromiseEffectDefinition } from './effect';
export declare function inject<T>(token: InjectionToken<any>): Type<T>;
export declare function createEffect<TParams, TDeps extends Dependencies, TResult>(type: string, config: {
call: (...dep: Instances<TDeps>) => (params: TParams) => Observable<TResult>;
using: readonly [...TDeps];
}): (params: TParams) => ObservableEffectDefinition<TDeps, TResult>;
export declare function createEffect<TDeps extends Dependencies, TResult>(type: string, config: {
call: (...dep: Instances<TDeps>) => Observable<TResult>;
using: readonly [...TDeps];
}): () => ObservableEffectDefinition<TDeps, TResult>;
export declare function createEffect<TResult>(type: string, config: {
call: () => Observable<TResult>;
}): () => ObservableEffectDefinition<[], TResult>;
export declare function createEffect<TParams, TResult>(type: string, config: {
call: (params: TParams) => Observable<TResult>;
}): (params: TParams) => ObservableEffectDefinition<[], TResult>;
export declare function createEffect<TParams, TDeps extends Dependencies, TResult>(type: string, config: {
call: (...dep: Instances<TDeps>) => (params: TParams) => Promise<TResult>;
using?: readonly [...TDeps];
}): (params: TParams) => PromiseEffectDefinition<TDeps, TResult>;
export declare function createEffect<TDeps extends Dependencies, TResult>(type: string, config: {
call: (...dep: Instances<TDeps>) => Promise<TResult>;
using: readonly [...TDeps];
}): () => PromiseEffectDefinition<TDeps, TResult>;
export declare function createEffect<TResult>(type: string, config: {
call: () => Promise<TResult>;
}): () => PromiseEffectDefinition<[], TResult>;
export declare function createEffect<TParams, TResult>(type: string, config: {
call: (params: TParams) => Promise<TResult>;
}): (params: TParams) => PromiseEffectDefinition<[], TResult>;
export declare function createEffect<TParams, TDeps extends Dependencies>(type: string, config: {
call: (...dep: Instances<TDeps>) => (params: TParams) => void;
using: readonly [...TDeps];
}): (params: TParams) => ImmediateEffectDefinition<TDeps>;
export declare function createEffect<TDeps extends Dependencies>(type: string, config: {
call: (...dep: Instances<TDeps>) => void;
using: readonly [...TDeps];
}): () => ImmediateEffectDefinition<TDeps>;
export declare function createEffect<TParams>(type: string, config: {
call: () => void;
}): () => ImmediateEffectDefinition<[]>;
export declare function createEffect<TParams>(type: string, config: {
call: (params: TParams) => void;
}): (params: TParams) => ImmediateEffectDefinition<[]>;