UNPKG

exome

Version:

State manager for deeply nested states

32 lines (31 loc) 780 B
/** * @module exome/angular */ import { type Signal } from "@angular/core"; import { type Exome } from "exome"; /** * Creates Angular signal and subscribes to store instance update events and trigger updates to component accordingly. * * @example: * ```ts * import { useStore } from "exome/angular" * import { counterStore } from "./counter.store.ts" * * @Component({ * selector: 'my-app', * template: ` * <button (click)="increment()"> * {{count}} * </button> * `, * }) * export class App { * public count = useStore(counterStore, (s) => s.count) * * public increment() { * counterStore.increment() * } * } * ``` */ export declare function useStore<T extends Exome, R = T>(store: T, selector?: (state: T) => R): Signal<R>;