UNPKG

@mini-rx/signal-store

Version:
24 lines (23 loc) 1 kB
import { Signal, WritableSignal } from '@angular/core'; import { SignalSelector } from './signal-selector'; type StateSelector<T, R> = (state: T) => R; export declare function createSelectableSignal<StateType extends object>(state: Signal<StateType>): { select: { (): Signal<StateType>; <R>(mapFn: SignalSelector<StateType, R>): Signal<R>; <R_1>(mapFn: StateSelector<StateType, R_1>): Signal<R_1>; <KeyType extends keyof StateType>(key: KeyType): Signal<StateType[KeyType]>; }; get: () => StateType; }; export declare function createSelectableWritableSignal<StateType extends object>(state: WritableSignal<StateType>): { select: { (): Signal<StateType>; <R>(mapFn: SignalSelector<StateType, R>): Signal<R>; <R_1>(mapFn: StateSelector<StateType, R_1>): Signal<R_1>; <KeyType extends keyof StateType>(key: KeyType): Signal<StateType[KeyType]>; }; get: () => StateType; set: (v: StateType) => void; }; export {};