UNPKG

@ngrx/signals

Version:

Reactive Store and Set of Utilities for Angular Signals

29 lines (28 loc) 1.13 kB
import { Observable } from 'rxjs'; import { EmptyFeatureResult, Prettify, SignalStoreFeature, SignalStoreFeatureResult, StateSignals, WritableStateSource } from '@ngrx/signals'; /** * @experimental * @description * * SignalStore feature for defining side effects. * * @usageNotes * * ```ts * import { signalStore, withState } from '@ngrx/signals'; * import { event, Events, withEffects } from '@ngrx/signals/events'; * * const increment = event('[Counter Page] Increment'); * const decrement = event('[Counter Page] Decrement'); * * const CounterStore = signalStore( * withState({ count: 0 }), * withEffects(({ count }, events = inject(Events)) => ({ * logCount$: events.on(increment, decrement).pipe( * tap(({ type }) => console.log(type, count())), * ), * })), * ); * ``` */ export declare function withEffects<Input extends SignalStoreFeatureResult>(effectsFactory: (store: Prettify<StateSignals<Input['state']> & Input['props'] & Input['methods'] & WritableStateSource<Prettify<Input['state']>>>) => Record<string, Observable<unknown>>): SignalStoreFeature<Input, EmptyFeatureResult>;