@ngrx/signals 19.1.0 → 19.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ export * from './src/index';
@@ -0,0 +1,20 @@
1
+ import { PartialStateUpdater } from '@ngrx/signals';
2
+ import { EventCreator } from './event-creator';
3
+ export type CaseReducerResult<State extends object, EventCreators extends EventCreator<string, any>[]> = {
4
+ reducer: CaseReducer<State, EventCreators>;
5
+ events: EventCreators;
6
+ };
7
+ type CaseReducer<State extends object, EventCreators extends EventCreator<string, any>[]> = (event: {
8
+ [K in keyof EventCreators]: ReturnType<EventCreators[K]>;
9
+ }[number], state: State) => Partial<State> | PartialStateUpdater<State> | Array<Partial<State> | PartialStateUpdater<State>>;
10
+ /**
11
+ * @experimental
12
+ * @description
13
+ *
14
+ * Creates a case reducer that can be used with the `withReducer` feature.
15
+ */
16
+ export declare function on<State extends object, EventCreators extends EventCreator<string, any>[]>(...args: [
17
+ ...events: [...EventCreators],
18
+ reducer: CaseReducer<NoInfer<State>, NoInfer<EventCreators>>
19
+ ]): CaseReducerResult<State, EventCreators>;
20
+ export {};
@@ -0,0 +1,33 @@
1
+ import { EventInstance } from './event-instance';
2
+ import { Events, ReducerEvents } from './events-service';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * @experimental
6
+ * @description
7
+ *
8
+ * Globally provided service for dispatching events.
9
+ *
10
+ * @usageNotes
11
+ *
12
+ * ```ts
13
+ * import { Dispatcher, event } from '@ngrx/signals/events';
14
+ *
15
+ * const increment = event('[Counter Page] Increment');
16
+ *
17
+ * \@Component({ \/* ... *\/ })
18
+ * class Counter {
19
+ * readonly #dispatcher = inject(Dispatcher);
20
+ *
21
+ * increment(): void {
22
+ * this.#dispatcher.dispatch(increment());
23
+ * }
24
+ * }
25
+ * ```
26
+ */
27
+ export declare class Dispatcher {
28
+ protected readonly reducerEvents: ReducerEvents;
29
+ protected readonly events: Events;
30
+ dispatch(event: EventInstance<string, unknown>): void;
31
+ static ɵfac: i0.ɵɵFactoryDeclaration<Dispatcher, never>;
32
+ static ɵprov: i0.ɵɵInjectableDeclaration<Dispatcher>;
33
+ }
@@ -0,0 +1,33 @@
1
+ import { Prettify } from '@ngrx/signals';
2
+ import { EventCreator } from './event-creator';
3
+ type EventType<Source extends string, EventName extends string> = `[${Source}] ${EventName}`;
4
+ type EventCreatorGroup<Source extends string, Events extends Record<string, any>> = {
5
+ [EventName in keyof Events]: EventName extends string ? EventCreator<EventType<Source, EventName>, Events[EventName]> : never;
6
+ };
7
+ /**
8
+ * @experimental
9
+ * @description
10
+ *
11
+ * Creates a group of event creators.
12
+ *
13
+ * @usageNotes
14
+ *
15
+ * ```ts
16
+ * import { type } from '@ngrx/signals';
17
+ * import { eventGroup } from '@ngrx/signals/events';
18
+ *
19
+ * const counterPageEvents = eventGroup({
20
+ * source: 'Counter Page',
21
+ * events: {
22
+ * increment: type<void>(),
23
+ * decrement: type<void>(),
24
+ * set: type<number>(),
25
+ * },
26
+ * });
27
+ * ```
28
+ */
29
+ export declare function eventGroup<Source extends string, Events extends Record<string, unknown>>(config: {
30
+ source: Source;
31
+ events: Events;
32
+ }): Prettify<EventCreatorGroup<Source, Events>>;
33
+ export {};
@@ -0,0 +1,9 @@
1
+ import { EventInstance } from './event-instance';
2
+ /**
3
+ * @experimental
4
+ */
5
+ export type EventCreator<Type extends string, Payload> = ((payload: Payload) => EventInstance<Type, Payload>) & {
6
+ type: Type;
7
+ };
8
+ export declare function event<Type extends string>(type: Type): EventCreator<Type, void>;
9
+ export declare function event<Type extends string, Payload>(type: Type, payload: Payload): EventCreator<Type, Payload>;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @experimental
3
+ */
4
+ export type EventInstance<Type extends string, Payload> = {
5
+ type: Type;
6
+ payload: Payload;
7
+ };
8
+ export declare function isEventInstance(value: unknown): value is EventInstance<string, unknown>;
@@ -0,0 +1,47 @@
1
+ import { Observable } from 'rxjs';
2
+ import { EventInstance } from './event-instance';
3
+ import { EventCreator } from './event-creator';
4
+ import * as i0 from "@angular/core";
5
+ export declare const EVENTS: unique symbol;
6
+ export declare const SOURCE_TYPE: unique symbol;
7
+ declare abstract class BaseEvents {
8
+ on(): Observable<EventInstance<string, unknown>>;
9
+ on<EventCreators extends EventCreator<string, any>[]>(...events: [...EventCreators]): Observable<{
10
+ [K in keyof EventCreators]: ReturnType<EventCreators[K]>;
11
+ }[number]>;
12
+ }
13
+ /**
14
+ * @experimental
15
+ * @description
16
+ *
17
+ * Globally provided service for listening to dispatched events.
18
+ *
19
+ * @usageNotes
20
+ *
21
+ * ```ts
22
+ * import { event, Events } from '@ngrx/signals/events';
23
+ *
24
+ * const increment = event('[Counter Page] Increment');
25
+ *
26
+ * \@Component({ \/* ... *\/ })
27
+ * class Counter {
28
+ * readonly #events = inject(Events);
29
+ *
30
+ * constructor() {
31
+ * this.#events
32
+ * .on(increment)
33
+ * .pipe(takeUntilDestroyed())
34
+ * .subscribe(() => \/* handle increment event *\/);
35
+ * }
36
+ * }
37
+ * ```
38
+ */
39
+ export declare class Events extends BaseEvents {
40
+ static ɵfac: i0.ɵɵFactoryDeclaration<Events, never>;
41
+ static ɵprov: i0.ɵɵInjectableDeclaration<Events>;
42
+ }
43
+ export declare class ReducerEvents extends BaseEvents {
44
+ static ɵfac: i0.ɵɵFactoryDeclaration<ReducerEvents, never>;
45
+ static ɵprov: i0.ɵɵInjectableDeclaration<ReducerEvents>;
46
+ }
47
+ export {};
@@ -0,0 +1,9 @@
1
+ export { on } from './case-reducer';
2
+ export { Dispatcher } from './dispatcher';
3
+ export { event, EventCreator } from './event-creator';
4
+ export { eventGroup } from './event-creator-group';
5
+ export { EventInstance } from './event-instance';
6
+ export { Events } from './events-service';
7
+ export { injectDispatch } from './inject-dispatch';
8
+ export { withEffects } from './with-effects';
9
+ export { withReducer } from './with-reducer';
@@ -0,0 +1,46 @@
1
+ import { Injector } from '@angular/core';
2
+ import { Prettify } from '@ngrx/signals';
3
+ import { EventCreator } from './event-creator';
4
+ type InjectDispatchResult<EventGroup extends Record<string, EventCreator<string, any>>> = {
5
+ [EventName in keyof EventGroup]: Parameters<EventGroup[EventName]> extends [
6
+ infer Payload
7
+ ] ? (payload: Payload) => void : () => void;
8
+ };
9
+ /**
10
+ * @experimental
11
+ * @description
12
+ *
13
+ * Creates self-dispatching events for a given event group.
14
+ *
15
+ * @usageNotes
16
+ *
17
+ * ```ts
18
+ * import { type } from '@ngrx/signals';
19
+ * import { eventGroup, injectDispatch } from '@ngrx/signals/events';
20
+ *
21
+ * const counterPageEvents = eventGroup({
22
+ * source: 'Counter Page',
23
+ * events: {
24
+ * increment: type<void>(),
25
+ * decrement: type<void>(),
26
+ * },
27
+ * });
28
+ *
29
+ * \@Component({ \/* ... *\/ })
30
+ * class Counter {
31
+ * readonly dispatch = injectDispatch(counterPageEvents);
32
+ *
33
+ * increment(): void {
34
+ * this.dispatch.increment();
35
+ * }
36
+ *
37
+ * decrement(): void {
38
+ * this.dispatch.decrement();
39
+ * }
40
+ * }
41
+ * ```
42
+ */
43
+ export declare function injectDispatch<EventGroup extends Record<string, EventCreator<string, any>>>(events: EventGroup, config?: {
44
+ injector?: Injector;
45
+ }): Prettify<InjectDispatchResult<EventGroup>>;
46
+ export {};
@@ -0,0 +1,28 @@
1
+ import { Observable } from 'rxjs';
2
+ import { EmptyFeatureResult, Prettify, SignalStoreFeature, SignalStoreFeatureResult, StateSignals, WritableStateSource } from '@ngrx/signals';
3
+ /**
4
+ * @experimental
5
+ * @description
6
+ *
7
+ * SignalStore feature for defining side effects.
8
+ *
9
+ * @usageNotes
10
+ *
11
+ * ```ts
12
+ * import { signalStore, withState } from '@ngrx/signals';
13
+ * import { event, Events, withEffects } from '@ngrx/signals/events';
14
+ *
15
+ * const increment = event('[Counter Page] Increment');
16
+ * const decrement = event('[Counter Page] Decrement');
17
+ *
18
+ * const CounterStore = signalStore(
19
+ * withState({ count: 0 }),
20
+ * withEffects(({ count }, events = inject(Events)) => ({
21
+ * logCount$: events.on(increment, decrement).pipe(
22
+ * tap(({ type }) => console.log(type, count())),
23
+ * ),
24
+ * })),
25
+ * );
26
+ * ```
27
+ */
28
+ 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>;
@@ -0,0 +1,30 @@
1
+ import { EmptyFeatureResult, SignalStoreFeature } from '@ngrx/signals';
2
+ import { CaseReducerResult } from './case-reducer';
3
+ import { EventCreator } from './event-creator';
4
+ /**
5
+ * @experimental
6
+ * @description
7
+ *
8
+ * SignalStore feature for defining state changes based on dispatched events.
9
+ *
10
+ * @usageNotes
11
+ *
12
+ * ```ts
13
+ * import { signalStore, type, withState } from '@ngrx/signals';
14
+ * import { event, on, withReducer } from '@ngrx/signals/events';
15
+ *
16
+ * const set = event('[Counter Page] Set', type<number>());
17
+ *
18
+ * const CounterStore = signalStore(
19
+ * withState({ count: 0 }),
20
+ * withReducer(
21
+ * on(set, ({ payload }) => ({ count: payload })),
22
+ * ),
23
+ * );
24
+ * ```
25
+ */
26
+ export declare function withReducer<State extends object>(...caseReducers: CaseReducerResult<State, EventCreator<string, any>[]>[]): SignalStoreFeature<{
27
+ state: State;
28
+ props: {};
29
+ methods: {};
30
+ }, EmptyFeatureResult>;
@@ -0,0 +1,321 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, inject, assertInInjectionContext, Injector, untracked } from '@angular/core';
3
+ import { Subject, filter, map, tap, merge } from 'rxjs';
4
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
+ import { signalStoreFeature, type, withHooks, getState, patchState } from '@ngrx/signals';
6
+
7
+ /**
8
+ * @experimental
9
+ * @description
10
+ *
11
+ * Creates a case reducer that can be used with the `withReducer` feature.
12
+ */
13
+ function on(...args) {
14
+ const reducer = args.pop();
15
+ const events = args;
16
+ return { reducer, events };
17
+ }
18
+
19
+ const EVENTS = Symbol();
20
+ const SOURCE_TYPE = Symbol();
21
+ class BaseEvents {
22
+ /**
23
+ * @internal
24
+ */
25
+ [EVENTS] = new Subject();
26
+ on(...events) {
27
+ return this[EVENTS].pipe(filterByType(events), withSourceType());
28
+ }
29
+ }
30
+ /**
31
+ * @experimental
32
+ * @description
33
+ *
34
+ * Globally provided service for listening to dispatched events.
35
+ *
36
+ * @usageNotes
37
+ *
38
+ * ```ts
39
+ * import { event, Events } from '@ngrx/signals/events';
40
+ *
41
+ * const increment = event('[Counter Page] Increment');
42
+ *
43
+ * \@Component({ \/* ... *\/ })
44
+ * class Counter {
45
+ * readonly #events = inject(Events);
46
+ *
47
+ * constructor() {
48
+ * this.#events
49
+ * .on(increment)
50
+ * .pipe(takeUntilDestroyed())
51
+ * .subscribe(() => \/* handle increment event *\/);
52
+ * }
53
+ * }
54
+ * ```
55
+ */
56
+ class Events extends BaseEvents {
57
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: Events, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
58
+ /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: Events, providedIn: 'root' });
59
+ }
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: Events, decorators: [{
61
+ type: Injectable,
62
+ args: [{ providedIn: 'root' }]
63
+ }] });
64
+ class ReducerEvents extends BaseEvents {
65
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: ReducerEvents, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
66
+ /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: ReducerEvents, providedIn: 'root' });
67
+ }
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: ReducerEvents, decorators: [{
69
+ type: Injectable,
70
+ args: [{ providedIn: 'root' }]
71
+ }] });
72
+ function filterByType(events) {
73
+ if (events.length === 0) {
74
+ return (source$) => source$;
75
+ }
76
+ const eventMap = toEventCreatorMap(events);
77
+ return filter(({ type }) => !!eventMap[type]);
78
+ }
79
+ function toEventCreatorMap(events) {
80
+ return events.reduce((acc, event) => ({ ...acc, [event.type]: event }), {});
81
+ }
82
+ function withSourceType() {
83
+ return map(({ ...event }) => {
84
+ Object.defineProperty(event, SOURCE_TYPE, { value: event.type });
85
+ return event;
86
+ });
87
+ }
88
+
89
+ /**
90
+ * @experimental
91
+ * @description
92
+ *
93
+ * Globally provided service for dispatching events.
94
+ *
95
+ * @usageNotes
96
+ *
97
+ * ```ts
98
+ * import { Dispatcher, event } from '@ngrx/signals/events';
99
+ *
100
+ * const increment = event('[Counter Page] Increment');
101
+ *
102
+ * \@Component({ \/* ... *\/ })
103
+ * class Counter {
104
+ * readonly #dispatcher = inject(Dispatcher);
105
+ *
106
+ * increment(): void {
107
+ * this.#dispatcher.dispatch(increment());
108
+ * }
109
+ * }
110
+ * ```
111
+ */
112
+ class Dispatcher {
113
+ reducerEvents = inject(ReducerEvents);
114
+ events = inject(Events);
115
+ dispatch(event) {
116
+ this.reducerEvents[EVENTS].next(event);
117
+ this.events[EVENTS].next(event);
118
+ }
119
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: Dispatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
120
+ /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: Dispatcher, providedIn: 'root' });
121
+ }
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: Dispatcher, decorators: [{
123
+ type: Injectable,
124
+ args: [{ providedIn: 'root' }]
125
+ }] });
126
+
127
+ /**
128
+ * @experimental
129
+ * @description
130
+ *
131
+ * Creates an event creator.
132
+ *
133
+ * @usageNotes
134
+ *
135
+ * ### Creating an event creator without payload
136
+ *
137
+ * ```ts
138
+ * import { event } from '@ngrx/signals/events';
139
+ *
140
+ * const increment = event('[Counter Page] Increment');
141
+ * ```
142
+ *
143
+ * ### Creating an event creator with payload
144
+ *
145
+ * ```ts
146
+ * import { type } from '@ngrx/signals';
147
+ * import { event } from '@ngrx/signals/events';
148
+ *
149
+ * const set = event('[Counter Page] Set', type<number>());
150
+ * ```
151
+ */
152
+ function event(type) {
153
+ const creator = (payload) => ({ type, payload });
154
+ creator.type = type;
155
+ return creator;
156
+ }
157
+
158
+ /**
159
+ * @experimental
160
+ * @description
161
+ *
162
+ * Creates a group of event creators.
163
+ *
164
+ * @usageNotes
165
+ *
166
+ * ```ts
167
+ * import { type } from '@ngrx/signals';
168
+ * import { eventGroup } from '@ngrx/signals/events';
169
+ *
170
+ * const counterPageEvents = eventGroup({
171
+ * source: 'Counter Page',
172
+ * events: {
173
+ * increment: type<void>(),
174
+ * decrement: type<void>(),
175
+ * set: type<number>(),
176
+ * },
177
+ * });
178
+ * ```
179
+ */
180
+ function eventGroup(config) {
181
+ return Object.entries(config.events).reduce((acc, [eventName]) => {
182
+ const eventType = `[${config.source}] ${eventName}`;
183
+ return { ...acc, [eventName]: event(eventType) };
184
+ }, {});
185
+ }
186
+
187
+ /**
188
+ * @experimental
189
+ * @description
190
+ *
191
+ * Creates self-dispatching events for a given event group.
192
+ *
193
+ * @usageNotes
194
+ *
195
+ * ```ts
196
+ * import { type } from '@ngrx/signals';
197
+ * import { eventGroup, injectDispatch } from '@ngrx/signals/events';
198
+ *
199
+ * const counterPageEvents = eventGroup({
200
+ * source: 'Counter Page',
201
+ * events: {
202
+ * increment: type<void>(),
203
+ * decrement: type<void>(),
204
+ * },
205
+ * });
206
+ *
207
+ * \@Component({ \/* ... *\/ })
208
+ * class Counter {
209
+ * readonly dispatch = injectDispatch(counterPageEvents);
210
+ *
211
+ * increment(): void {
212
+ * this.dispatch.increment();
213
+ * }
214
+ *
215
+ * decrement(): void {
216
+ * this.dispatch.decrement();
217
+ * }
218
+ * }
219
+ * ```
220
+ */
221
+ function injectDispatch(events, config) {
222
+ if (!config?.injector) {
223
+ assertInInjectionContext(injectDispatch);
224
+ }
225
+ const injector = config?.injector ?? inject(Injector);
226
+ const dispatcher = injector.get(Dispatcher);
227
+ return Object.entries(events).reduce((acc, [eventName, eventCreator]) => ({
228
+ ...acc,
229
+ [eventName]: (payload) => untracked(() => dispatcher.dispatch(eventCreator(payload))),
230
+ }), {});
231
+ }
232
+
233
+ function isEventInstance(value) {
234
+ return typeof value === 'object' && value !== null && 'type' in value;
235
+ }
236
+
237
+ /**
238
+ * @experimental
239
+ * @description
240
+ *
241
+ * SignalStore feature for defining side effects.
242
+ *
243
+ * @usageNotes
244
+ *
245
+ * ```ts
246
+ * import { signalStore, withState } from '@ngrx/signals';
247
+ * import { event, Events, withEffects } from '@ngrx/signals/events';
248
+ *
249
+ * const increment = event('[Counter Page] Increment');
250
+ * const decrement = event('[Counter Page] Decrement');
251
+ *
252
+ * const CounterStore = signalStore(
253
+ * withState({ count: 0 }),
254
+ * withEffects(({ count }, events = inject(Events)) => ({
255
+ * logCount$: events.on(increment, decrement).pipe(
256
+ * tap(({ type }) => console.log(type, count())),
257
+ * ),
258
+ * })),
259
+ * );
260
+ * ```
261
+ */
262
+ function withEffects(effectsFactory) {
263
+ return signalStoreFeature(type(), withHooks({
264
+ onInit(store, dispatcher = inject(Dispatcher)) {
265
+ const effectSources = effectsFactory(store);
266
+ const effects = Object.values(effectSources).map((effectSource$) => effectSource$.pipe(tap((value) => {
267
+ if (isEventInstance(value) && !(SOURCE_TYPE in value)) {
268
+ dispatcher.dispatch(value);
269
+ }
270
+ })));
271
+ merge(...effects)
272
+ .pipe(takeUntilDestroyed())
273
+ .subscribe();
274
+ },
275
+ }));
276
+ }
277
+
278
+ /**
279
+ * @experimental
280
+ * @description
281
+ *
282
+ * SignalStore feature for defining state changes based on dispatched events.
283
+ *
284
+ * @usageNotes
285
+ *
286
+ * ```ts
287
+ * import { signalStore, type, withState } from '@ngrx/signals';
288
+ * import { event, on, withReducer } from '@ngrx/signals/events';
289
+ *
290
+ * const set = event('[Counter Page] Set', type<number>());
291
+ *
292
+ * const CounterStore = signalStore(
293
+ * withState({ count: 0 }),
294
+ * withReducer(
295
+ * on(set, ({ payload }) => ({ count: payload })),
296
+ * ),
297
+ * );
298
+ * ```
299
+ */
300
+ function withReducer(...caseReducers) {
301
+ return signalStoreFeature({ state: type() }, withHooks({
302
+ onInit(store, events = inject(ReducerEvents)) {
303
+ const updates = caseReducers.map((caseReducer) => events.on(...caseReducer.events).pipe(tap((event) => {
304
+ const state = untracked(() => getState(store));
305
+ const result = caseReducer.reducer(event, state);
306
+ const updaters = Array.isArray(result) ? result : [result];
307
+ patchState(store, ...updaters);
308
+ })));
309
+ merge(...updates)
310
+ .pipe(takeUntilDestroyed())
311
+ .subscribe();
312
+ },
313
+ }));
314
+ }
315
+
316
+ /**
317
+ * Generated bundle index. Do not edit.
318
+ */
319
+
320
+ export { Dispatcher, Events, event, eventGroup, injectDispatch, on, withEffects, withReducer };
321
+ //# sourceMappingURL=ngrx-signals-events.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngrx-signals-events.mjs","sources":["../../../../modules/signals/events/src/case-reducer.ts","../../../../modules/signals/events/src/events-service.ts","../../../../modules/signals/events/src/dispatcher.ts","../../../../modules/signals/events/src/event-creator.ts","../../../../modules/signals/events/src/event-creator-group.ts","../../../../modules/signals/events/src/inject-dispatch.ts","../../../../modules/signals/events/src/event-instance.ts","../../../../modules/signals/events/src/with-effects.ts","../../../../modules/signals/events/src/with-reducer.ts","../../../../modules/signals/events/ngrx-signals-events.ts"],"sourcesContent":["import { PartialStateUpdater } from '@ngrx/signals';\nimport { EventCreator } from './event-creator';\n\nexport type CaseReducerResult<\n State extends object,\n EventCreators extends EventCreator<string, any>[]\n> = {\n reducer: CaseReducer<State, EventCreators>;\n events: EventCreators;\n};\n\ntype CaseReducer<\n State extends object,\n EventCreators extends EventCreator<string, any>[]\n> = (\n event: { [K in keyof EventCreators]: ReturnType<EventCreators[K]> }[number],\n state: State\n) =>\n | Partial<State>\n | PartialStateUpdater<State>\n | Array<Partial<State> | PartialStateUpdater<State>>;\n\n/**\n * @experimental\n * @description\n *\n * Creates a case reducer that can be used with the `withReducer` feature.\n */\nexport function on<\n State extends object,\n EventCreators extends EventCreator<string, any>[]\n>(\n ...args: [\n ...events: [...EventCreators],\n reducer: CaseReducer<NoInfer<State>, NoInfer<EventCreators>>\n ]\n): CaseReducerResult<State, EventCreators> {\n const reducer = args.pop() as CaseReducer<State, EventCreators>;\n const events = args as unknown as EventCreators;\n\n return { reducer, events };\n}\n","import { Injectable } from '@angular/core';\nimport {\n filter,\n map,\n MonoTypeOperatorFunction,\n Observable,\n Subject,\n} from 'rxjs';\nimport { EventInstance } from './event-instance';\nimport { EventCreator } from './event-creator';\n\nexport const EVENTS = Symbol();\nexport const SOURCE_TYPE = Symbol();\n\nabstract class BaseEvents {\n /**\n * @internal\n */\n readonly [EVENTS] = new Subject<EventInstance<string, unknown>>();\n\n on(): Observable<EventInstance<string, unknown>>;\n on<EventCreators extends EventCreator<string, any>[]>(\n ...events: [...EventCreators]\n ): Observable<\n { [K in keyof EventCreators]: ReturnType<EventCreators[K]> }[number]\n >;\n on(\n ...events: EventCreator<string, unknown>[]\n ): Observable<EventInstance<string, unknown>> {\n return this[EVENTS].pipe(filterByType(events), withSourceType());\n }\n}\n\n/**\n * @experimental\n * @description\n *\n * Globally provided service for listening to dispatched events.\n *\n * @usageNotes\n *\n * ```ts\n * import { event, Events } from '@ngrx/signals/events';\n *\n * const increment = event('[Counter Page] Increment');\n *\n * \\@Component({ \\/* ... *\\/ })\n * class Counter {\n * readonly #events = inject(Events);\n *\n * constructor() {\n * this.#events\n * .on(increment)\n * .pipe(takeUntilDestroyed())\n * .subscribe(() => \\/* handle increment event *\\/);\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class Events extends BaseEvents {}\n\n@Injectable({ providedIn: 'root' })\nexport class ReducerEvents extends BaseEvents {}\n\nfunction filterByType<T extends EventInstance<string, unknown>>(\n events: EventCreator<string, unknown>[]\n): MonoTypeOperatorFunction<T> {\n if (events.length === 0) {\n return (source$) => source$;\n }\n\n const eventMap = toEventCreatorMap(events);\n return filter<T>(({ type }) => !!eventMap[type]);\n}\n\nfunction toEventCreatorMap(\n events: EventCreator<string, unknown>[]\n): Record<string, EventCreator<string, unknown>> {\n return events.reduce((acc, event) => ({ ...acc, [event.type]: event }), {});\n}\n\nfunction withSourceType<\n T extends EventInstance<string, unknown>\n>(): MonoTypeOperatorFunction<T> {\n return map(({ ...event }) => {\n Object.defineProperty(event, SOURCE_TYPE, { value: event.type });\n return event;\n });\n}\n","import { inject, Injectable } from '@angular/core';\nimport { EventInstance } from './event-instance';\nimport { Events, EVENTS, ReducerEvents } from './events-service';\n\n/**\n * @experimental\n * @description\n *\n * Globally provided service for dispatching events.\n *\n * @usageNotes\n *\n * ```ts\n * import { Dispatcher, event } from '@ngrx/signals/events';\n *\n * const increment = event('[Counter Page] Increment');\n *\n * \\@Component({ \\/* ... *\\/ })\n * class Counter {\n * readonly #dispatcher = inject(Dispatcher);\n *\n * increment(): void {\n * this.#dispatcher.dispatch(increment());\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class Dispatcher {\n protected readonly reducerEvents = inject(ReducerEvents);\n protected readonly events = inject(Events);\n\n dispatch(event: EventInstance<string, unknown>): void {\n this.reducerEvents[EVENTS].next(event);\n this.events[EVENTS].next(event);\n }\n}\n","import { EventInstance } from './event-instance';\n\n/**\n * @experimental\n */\nexport type EventCreator<Type extends string, Payload> = ((\n payload: Payload\n) => EventInstance<Type, Payload>) & { type: Type };\n\nexport function event<Type extends string>(\n type: Type\n): EventCreator<Type, void>;\nexport function event<Type extends string, Payload>(\n type: Type,\n payload: Payload\n): EventCreator<Type, Payload>;\n/**\n * @experimental\n * @description\n *\n * Creates an event creator.\n *\n * @usageNotes\n *\n * ### Creating an event creator without payload\n *\n * ```ts\n * import { event } from '@ngrx/signals/events';\n *\n * const increment = event('[Counter Page] Increment');\n * ```\n *\n * ### Creating an event creator with payload\n *\n * ```ts\n * import { type } from '@ngrx/signals';\n * import { event } from '@ngrx/signals/events';\n *\n * const set = event('[Counter Page] Set', type<number>());\n * ```\n */\nexport function event(type: string): EventCreator<string, any> {\n const creator = (payload?: unknown) => ({ type, payload });\n (creator as any).type = type;\n\n return creator as EventCreator<string, unknown>;\n}\n","import { Prettify } from '@ngrx/signals';\nimport { event, EventCreator } from './event-creator';\n\ntype EventType<\n Source extends string,\n EventName extends string\n> = `[${Source}] ${EventName}`;\n\ntype EventCreatorGroup<\n Source extends string,\n Events extends Record<string, any>\n> = {\n [EventName in keyof Events]: EventName extends string\n ? EventCreator<EventType<Source, EventName>, Events[EventName]>\n : never;\n};\n\n/**\n * @experimental\n * @description\n *\n * Creates a group of event creators.\n *\n * @usageNotes\n *\n * ```ts\n * import { type } from '@ngrx/signals';\n * import { eventGroup } from '@ngrx/signals/events';\n *\n * const counterPageEvents = eventGroup({\n * source: 'Counter Page',\n * events: {\n * increment: type<void>(),\n * decrement: type<void>(),\n * set: type<number>(),\n * },\n * });\n * ```\n */\nexport function eventGroup<\n Source extends string,\n Events extends Record<string, unknown>\n>(config: {\n source: Source;\n events: Events;\n}): Prettify<EventCreatorGroup<Source, Events>> {\n return Object.entries(config.events).reduce((acc, [eventName]) => {\n const eventType = `[${config.source}] ${eventName}`;\n return { ...acc, [eventName]: event(eventType) };\n }, {} as EventCreatorGroup<Source, Events>);\n}\n","import {\n assertInInjectionContext,\n inject,\n Injector,\n untracked,\n} from '@angular/core';\nimport { Prettify } from '@ngrx/signals';\nimport { Dispatcher } from './dispatcher';\nimport { EventCreator } from './event-creator';\n\ntype InjectDispatchResult<\n EventGroup extends Record<string, EventCreator<string, any>>\n> = {\n [EventName in keyof EventGroup]: Parameters<EventGroup[EventName]> extends [\n infer Payload\n ]\n ? (payload: Payload) => void\n : () => void;\n};\n\n/**\n * @experimental\n * @description\n *\n * Creates self-dispatching events for a given event group.\n *\n * @usageNotes\n *\n * ```ts\n * import { type } from '@ngrx/signals';\n * import { eventGroup, injectDispatch } from '@ngrx/signals/events';\n *\n * const counterPageEvents = eventGroup({\n * source: 'Counter Page',\n * events: {\n * increment: type<void>(),\n * decrement: type<void>(),\n * },\n * });\n *\n * \\@Component({ \\/* ... *\\/ })\n * class Counter {\n * readonly dispatch = injectDispatch(counterPageEvents);\n *\n * increment(): void {\n * this.dispatch.increment();\n * }\n *\n * decrement(): void {\n * this.dispatch.decrement();\n * }\n * }\n * ```\n */\nexport function injectDispatch<\n EventGroup extends Record<string, EventCreator<string, any>>\n>(\n events: EventGroup,\n config?: { injector?: Injector }\n): Prettify<InjectDispatchResult<EventGroup>> {\n if (!config?.injector) {\n assertInInjectionContext(injectDispatch);\n }\n\n const injector = config?.injector ?? inject(Injector);\n const dispatcher = injector.get(Dispatcher);\n\n return Object.entries(events).reduce(\n (acc, [eventName, eventCreator]) => ({\n ...acc,\n [eventName]: (payload?: unknown) =>\n untracked(() => dispatcher.dispatch(eventCreator(payload))),\n }),\n {} as InjectDispatchResult<EventGroup>\n );\n}\n","/**\n * @experimental\n */\nexport type EventInstance<Type extends string, Payload> = {\n type: Type;\n payload: Payload;\n};\n\nexport function isEventInstance(\n value: unknown\n): value is EventInstance<string, unknown> {\n return typeof value === 'object' && value !== null && 'type' in value;\n}\n","import { inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { merge, Observable, tap } from 'rxjs';\nimport {\n EmptyFeatureResult,\n Prettify,\n signalStoreFeature,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n type,\n withHooks,\n WritableStateSource,\n} from '@ngrx/signals';\nimport { Dispatcher } from './dispatcher';\nimport { isEventInstance } from './event-instance';\nimport { SOURCE_TYPE } from './events-service';\n\n/**\n * @experimental\n * @description\n *\n * SignalStore feature for defining side effects.\n *\n * @usageNotes\n *\n * ```ts\n * import { signalStore, withState } from '@ngrx/signals';\n * import { event, Events, withEffects } from '@ngrx/signals/events';\n *\n * const increment = event('[Counter Page] Increment');\n * const decrement = event('[Counter Page] Decrement');\n *\n * const CounterStore = signalStore(\n * withState({ count: 0 }),\n * withEffects(({ count }, events = inject(Events)) => ({\n * logCount$: events.on(increment, decrement).pipe(\n * tap(({ type }) => console.log(type, count())),\n * ),\n * })),\n * );\n * ```\n */\nexport function withEffects<Input extends SignalStoreFeatureResult>(\n effectsFactory: (\n store: Prettify<\n StateSignals<Input['state']> &\n Input['props'] &\n Input['methods'] &\n WritableStateSource<Prettify<Input['state']>>\n >\n ) => Record<string, Observable<unknown>>\n): SignalStoreFeature<Input, EmptyFeatureResult> {\n return signalStoreFeature(\n type<Input>(),\n withHooks({\n onInit(store, dispatcher = inject(Dispatcher)) {\n const effectSources = effectsFactory(store);\n const effects = Object.values(effectSources).map((effectSource$) =>\n effectSource$.pipe(\n tap((value) => {\n if (isEventInstance(value) && !(SOURCE_TYPE in value)) {\n dispatcher.dispatch(value);\n }\n })\n )\n );\n\n merge(...effects)\n .pipe(takeUntilDestroyed())\n .subscribe();\n },\n })\n );\n}\n","import { inject, untracked } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { merge, tap } from 'rxjs';\nimport {\n EmptyFeatureResult,\n getState,\n patchState,\n SignalStoreFeature,\n signalStoreFeature,\n type,\n withHooks,\n} from '@ngrx/signals';\nimport { CaseReducerResult } from './case-reducer';\nimport { EventCreator } from './event-creator';\nimport { ReducerEvents } from './events-service';\n\n/**\n * @experimental\n * @description\n *\n * SignalStore feature for defining state changes based on dispatched events.\n *\n * @usageNotes\n *\n * ```ts\n * import { signalStore, type, withState } from '@ngrx/signals';\n * import { event, on, withReducer } from '@ngrx/signals/events';\n *\n * const set = event('[Counter Page] Set', type<number>());\n *\n * const CounterStore = signalStore(\n * withState({ count: 0 }),\n * withReducer(\n * on(set, ({ payload }) => ({ count: payload })),\n * ),\n * );\n * ```\n */\nexport function withReducer<State extends object>(\n ...caseReducers: CaseReducerResult<State, EventCreator<string, any>[]>[]\n): SignalStoreFeature<\n { state: State; props: {}; methods: {} },\n EmptyFeatureResult\n> {\n return signalStoreFeature(\n { state: type<State>() },\n withHooks({\n onInit(store, events = inject(ReducerEvents)) {\n const updates = caseReducers.map((caseReducer) =>\n events.on(...caseReducer.events).pipe(\n tap((event) => {\n const state = untracked(() => getState(store));\n const result = caseReducer.reducer(event, state);\n const updaters = Array.isArray(result) ? result : [result];\n\n patchState(store, ...updaters);\n })\n )\n );\n\n merge(...updates)\n .pipe(takeUntilDestroyed())\n .subscribe();\n },\n })\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -276,6 +276,7 @@ function withComputed(signalsFactory) {
276
276
  function withFeature(featureFactory) {
277
277
  return (store) => {
278
278
  const storeForFactory = {
279
+ [STATE_SOURCE]: store[STATE_SOURCE],
279
280
  ...store['stateSignals'],
280
281
  ...store['props'],
281
282
  ...store['methods'],
@@ -1 +1 @@
1
- {"version":3,"file":"ngrx-signals.mjs","sources":["../../../../modules/signals/src/deep-signal.ts","../../../../modules/signals/src/deep-computed.ts","../../../../modules/signals/src/signal-method.ts","../../../../modules/signals/src/state-source.ts","../../../../modules/signals/src/signal-state.ts","../../../../modules/signals/src/signal-store.ts","../../../../modules/signals/src/signal-store-feature.ts","../../../../modules/signals/src/signal-store-assertions.ts","../../../../modules/signals/src/with-props.ts","../../../../modules/signals/src/with-computed.ts","../../../../modules/signals/src/with-feature.ts","../../../../modules/signals/src/with-hooks.ts","../../../../modules/signals/src/with-methods.ts","../../../../modules/signals/src/with-state.ts","../../../../modules/signals/ngrx-signals.ts"],"sourcesContent":["import {\n computed,\n isSignal,\n Signal as NgSignal,\n untracked,\n} from '@angular/core';\nimport { IsKnownRecord } from './ts-helpers';\n\n// An extended Signal type that enables the correct typing\n// of nested signals with the `name` or `length` key.\nexport interface Signal<T> extends NgSignal<T> {\n name: unknown;\n length: unknown;\n}\n\nexport type DeepSignal<T> = Signal<T> &\n (IsKnownRecord<T> extends true\n ? Readonly<{\n [K in keyof T]: IsKnownRecord<T[K]> extends true\n ? DeepSignal<T[K]>\n : Signal<T[K]>;\n }>\n : unknown);\n\nexport function toDeepSignal<T>(signal: Signal<T>): DeepSignal<T> {\n const value = untracked(() => signal());\n if (!isRecord(value)) {\n return signal as DeepSignal<T>;\n }\n\n return new Proxy(signal, {\n get(target: any, prop) {\n if (!(prop in value)) {\n return target[prop];\n }\n\n if (!isSignal(target[prop])) {\n Object.defineProperty(target, prop, {\n value: computed(() => target()[prop]),\n configurable: true,\n });\n }\n\n return toDeepSignal(target[prop]);\n },\n });\n}\n\nconst nonRecords = [\n WeakSet,\n WeakMap,\n Promise,\n Date,\n Error,\n RegExp,\n ArrayBuffer,\n DataView,\n Function,\n];\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n if (value === null || typeof value !== 'object' || isIterable(value)) {\n return false;\n }\n\n let proto = Object.getPrototypeOf(value);\n if (proto === Object.prototype) {\n return true;\n }\n\n while (proto && proto !== Object.prototype) {\n if (nonRecords.includes(proto.constructor)) {\n return false;\n }\n proto = Object.getPrototypeOf(proto);\n }\n\n return proto === Object.prototype;\n}\n\nfunction isIterable(value: any): value is Iterable<any> {\n return typeof value?.[Symbol.iterator] === 'function';\n}\n","import { computed } from '@angular/core';\nimport { DeepSignal, toDeepSignal } from './deep-signal';\n\nexport function deepComputed<T extends object>(\n computation: () => T\n): DeepSignal<T> {\n return toDeepSignal(computed(computation));\n}\n","import {\n assertInInjectionContext,\n DestroyRef,\n effect,\n EffectRef,\n inject,\n Injector,\n isSignal,\n Signal,\n untracked,\n} from '@angular/core';\n\ndeclare const ngDevMode: unknown;\n\nexport type SignalMethod<Input> = ((\n input: Input | Signal<Input>,\n config?: { injector?: Injector }\n) => EffectRef) &\n EffectRef;\n\nexport function signalMethod<Input>(\n processingFn: (value: Input) => void,\n config?: { injector?: Injector }\n): SignalMethod<Input> {\n if (!config?.injector) {\n assertInInjectionContext(signalMethod);\n }\n\n const watchers: EffectRef[] = [];\n const sourceInjector = config?.injector ?? inject(Injector);\n\n const signalMethodFn = (\n input: Input | Signal<Input>,\n config?: { injector?: Injector }\n ): EffectRef => {\n if (isSignal(input)) {\n const callerInjector = getCallerInjector();\n if (\n typeof ngDevMode !== 'undefined' &&\n ngDevMode &&\n config?.injector === undefined &&\n callerInjector === undefined\n ) {\n console.warn(\n '@ngrx/signals: The function returned by signalMethod was called',\n 'outside the injection context with a signal. This may lead to',\n 'a memory leak. Make sure to call it within the injection context',\n '(e.g. in a constructor or field initializer) or pass an injector',\n 'explicitly via the config parameter.\\n\\nFor more information, see:',\n 'https://ngrx.io/guide/signals/signal-method#automatic-cleanup'\n );\n }\n\n const instanceInjector =\n config?.injector ?? callerInjector ?? sourceInjector;\n\n const watcher = effect(\n () => {\n const value = input();\n untracked(() => processingFn(value));\n },\n { injector: instanceInjector }\n );\n watchers.push(watcher);\n\n instanceInjector.get(DestroyRef).onDestroy(() => {\n const ix = watchers.indexOf(watcher);\n if (ix !== -1) {\n watchers.splice(ix, 1);\n }\n });\n\n return watcher;\n } else {\n processingFn(input);\n return { destroy: () => void true };\n }\n };\n\n signalMethodFn.destroy = () =>\n watchers.forEach((watcher) => watcher.destroy());\n\n return signalMethodFn;\n}\n\nfunction getCallerInjector(): Injector | undefined {\n try {\n return inject(Injector);\n } catch {\n return undefined;\n }\n}\n","import {\n assertInInjectionContext,\n DestroyRef,\n inject,\n Injector,\n isSignal,\n Signal,\n untracked,\n WritableSignal,\n} from '@angular/core';\nimport { Prettify } from './ts-helpers';\n\nconst STATE_WATCHERS = new WeakMap<Signal<object>, Array<StateWatcher<any>>>();\n\nexport const STATE_SOURCE = Symbol('STATE_SOURCE');\n\nexport type WritableStateSource<State extends object> = {\n [STATE_SOURCE]: WritableSignal<State>;\n};\n\nexport type StateSource<State extends object> = {\n [STATE_SOURCE]: Signal<State>;\n};\n\nexport type PartialStateUpdater<State extends object> = (\n state: State\n) => Partial<State>;\n\nexport type StateWatcher<State extends object> = (\n state: NoInfer<State>\n) => void;\n\nexport function isWritableStateSource<State extends object>(\n stateSource: StateSource<State>\n): stateSource is WritableStateSource<State> {\n return (\n 'set' in stateSource[STATE_SOURCE] &&\n 'update' in stateSource[STATE_SOURCE] &&\n typeof stateSource[STATE_SOURCE].set === 'function' &&\n typeof stateSource[STATE_SOURCE].update === 'function'\n );\n}\n\nexport function patchState<State extends object>(\n stateSource: WritableStateSource<State>,\n ...updaters: Array<\n Partial<Prettify<State>> | PartialStateUpdater<Prettify<State>>\n >\n): void {\n stateSource[STATE_SOURCE].update((currentState) =>\n updaters.reduce(\n (nextState: State, updater) => ({\n ...nextState,\n ...(typeof updater === 'function' ? updater(nextState) : updater),\n }),\n currentState\n )\n );\n\n notifyWatchers(stateSource);\n}\n\nexport function getState<State extends object>(\n stateSource: StateSource<State>\n): State {\n return stateSource[STATE_SOURCE]();\n}\n\nexport function watchState<State extends object>(\n stateSource: StateSource<State>,\n watcher: StateWatcher<State>,\n config?: { injector?: Injector }\n): { destroy(): void } {\n if (!config?.injector) {\n assertInInjectionContext(watchState);\n }\n\n const injector = config?.injector ?? inject(Injector);\n const destroyRef = injector.get(DestroyRef);\n\n addWatcher(stateSource, watcher);\n watcher(getState(stateSource));\n\n const destroy = () => removeWatcher(stateSource, watcher);\n destroyRef.onDestroy(destroy);\n\n return { destroy };\n}\n\nfunction getWatchers<State extends object>(\n stateSource: StateSource<State>\n): Array<StateWatcher<State>> {\n return STATE_WATCHERS.get(stateSource[STATE_SOURCE]) || [];\n}\n\nfunction notifyWatchers<State extends object>(\n stateSource: StateSource<State>\n): void {\n const watchers = getWatchers(stateSource);\n\n for (const watcher of watchers) {\n const state = untracked(() => getState(stateSource));\n watcher(state);\n }\n}\n\nfunction addWatcher<State extends object>(\n stateSource: StateSource<State>,\n watcher: StateWatcher<State>\n): void {\n const watchers = getWatchers(stateSource);\n STATE_WATCHERS.set(stateSource[STATE_SOURCE], [...watchers, watcher]);\n}\n\nfunction removeWatcher<State extends object>(\n stateSource: StateSource<State>,\n watcher: StateWatcher<State>\n): void {\n const watchers = getWatchers(stateSource);\n STATE_WATCHERS.set(\n stateSource[STATE_SOURCE],\n watchers.filter((w) => w !== watcher)\n );\n}\n","import { signal } from '@angular/core';\nimport { STATE_SOURCE, WritableStateSource } from './state-source';\nimport { DeepSignal, toDeepSignal } from './deep-signal';\n\nexport type SignalState<State extends object> = DeepSignal<State> &\n WritableStateSource<State>;\n\nexport function signalState<State extends object>(\n initialState: State\n): SignalState<State> {\n const stateSource = signal(initialState as State);\n const signalState = toDeepSignal(stateSource.asReadonly());\n Object.defineProperty(signalState, STATE_SOURCE, {\n value: stateSource,\n });\n\n return signalState as SignalState<State>;\n}\n","import { DestroyRef, inject, Injectable, signal, Type } from '@angular/core';\nimport { STATE_SOURCE, StateSource, WritableStateSource } from './state-source';\nimport {\n EmptyFeatureResult,\n InnerSignalStore,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { OmitPrivate, Prettify } from './ts-helpers';\n\ntype SignalStoreConfig = { providedIn?: 'root'; protectedState?: boolean };\n\ntype SignalStoreMembers<FeatureResult extends SignalStoreFeatureResult> =\n Prettify<\n OmitPrivate<\n StateSignals<FeatureResult['state']> &\n FeatureResult['props'] &\n FeatureResult['methods']\n >\n >;\n\nexport function signalStore<F1 extends SignalStoreFeatureResult>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>\n): Type<\n SignalStoreMembers<F1> & StateSource<Prettify<OmitPrivate<F1['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10, F11>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n F15 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14 &\n F15\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >,\n f15: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13 & F14,\n F15\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\n\nexport function signalStore<F1 extends SignalStoreFeatureResult>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>\n): Type<\n SignalStoreMembers<F1> & StateSource<Prettify<OmitPrivate<F1['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10, F11>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n F15 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14 &\n F15\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >,\n f15: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13 & F14,\n F15\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\n\nexport function signalStore<F1 extends SignalStoreFeatureResult>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>\n): Type<\n SignalStoreMembers<F1> &\n WritableStateSource<Prettify<OmitPrivate<F1['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10, F11>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n F15 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14 &\n F15\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >,\n f15: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13 & F14,\n F15\n >\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\n\nexport function signalStore(\n ...args: [SignalStoreConfig, ...SignalStoreFeature[]] | SignalStoreFeature[]\n): Type<SignalStoreMembers<any>> {\n const signalStoreArgs = [...args];\n\n const config =\n typeof signalStoreArgs[0] === 'function'\n ? {}\n : (signalStoreArgs.shift() as SignalStoreConfig);\n const features = signalStoreArgs as SignalStoreFeature[];\n\n @Injectable({ providedIn: config.providedIn || null })\n class SignalStore {\n constructor() {\n const innerStore = features.reduce(\n (store, feature) => feature(store),\n getInitialInnerStore()\n );\n const { stateSignals, props, methods, hooks } = innerStore;\n const storeMembers: Record<string | symbol, unknown> = {\n ...stateSignals,\n ...props,\n ...methods,\n };\n\n (this as any)[STATE_SOURCE] = innerStore[STATE_SOURCE];\n\n for (const key of Reflect.ownKeys(storeMembers)) {\n (this as any)[key] = storeMembers[key];\n }\n\n const { onInit, onDestroy } = hooks;\n\n if (onInit) {\n onInit();\n }\n\n if (onDestroy) {\n inject(DestroyRef).onDestroy(onDestroy);\n }\n }\n }\n\n return SignalStore;\n}\n\nexport function getInitialInnerStore(): InnerSignalStore {\n return {\n [STATE_SOURCE]: signal({}),\n stateSignals: {},\n props: {},\n methods: {},\n hooks: {},\n };\n}\n","import {\n EmptyFeatureResult,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\n\ntype PrettifyFeatureResult<Result extends SignalStoreFeatureResult> = Prettify<{\n state: Prettify<Result['state']>;\n props: Prettify<Result['props']>;\n methods: Prettify<Result['methods']>;\n}>;\n\nexport function signalStoreFeature<F1 extends SignalStoreFeatureResult>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>\n): SignalStoreFeature<EmptyFeatureResult, F1>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>\n): SignalStoreFeature<EmptyFeatureResult, PrettifyFeatureResult<F1 & F2>>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>\n): SignalStoreFeature<EmptyFeatureResult, PrettifyFeatureResult<F1 & F2 & F3>>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4>\n>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5>\n>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6>\n>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7>\n>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8>\n>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9>\n>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10>\n>;\n\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>\n): SignalStoreFeature<Prettify<EmptyFeatureResult & Input>, F1>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult\n>(\n Input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4, F5>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5, F6>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6, F7>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<\n NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8,\n F9\n >\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<\n NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8,\n F9\n >,\n f10: SignalStoreFeature<\n NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9,\n F10\n >\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10>\n>;\n\nexport function signalStoreFeature(\n featureOrInput: SignalStoreFeature | Partial<SignalStoreFeatureResult>,\n ...restFeatures: SignalStoreFeature[]\n): SignalStoreFeature {\n const features =\n typeof featureOrInput === 'function'\n ? [featureOrInput, ...restFeatures]\n : restFeatures;\n\n return (inputStore) =>\n features.reduce((store, feature) => feature(store), inputStore);\n}\n\nexport function type<T>(): T {\n return undefined as T;\n}\n","import { InnerSignalStore } from './signal-store-models';\n\ndeclare const ngDevMode: unknown;\n\nexport function assertUniqueStoreMembers(\n store: InnerSignalStore,\n newMemberKeys: Array<string | symbol>\n): void {\n if (typeof ngDevMode === 'undefined' || !ngDevMode) {\n return;\n }\n\n const storeMembers = {\n ...store.stateSignals,\n ...store.props,\n ...store.methods,\n };\n const overriddenKeys = Reflect.ownKeys(storeMembers).filter((memberKey) =>\n newMemberKeys.includes(memberKey)\n );\n\n if (overriddenKeys.length > 0) {\n console.warn(\n '@ngrx/signals: SignalStore members cannot be overridden.',\n 'Trying to override:',\n overriddenKeys.map((key) => String(key)).join(', ')\n );\n }\n}\n","import { STATE_SOURCE, WritableStateSource } from './state-source';\nimport { assertUniqueStoreMembers } from './signal-store-assertions';\nimport {\n InnerSignalStore,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\n\nexport function withProps<\n Input extends SignalStoreFeatureResult,\n Props extends object\n>(\n propsFactory: (\n store: Prettify<\n StateSignals<Input['state']> &\n Input['props'] &\n Input['methods'] &\n WritableStateSource<Prettify<Input['state']>>\n >\n ) => Props\n): SignalStoreFeature<Input, { state: {}; props: Props; methods: {} }> {\n return (store) => {\n const props = propsFactory({\n [STATE_SOURCE]: store[STATE_SOURCE],\n ...store.stateSignals,\n ...store.props,\n ...store.methods,\n });\n assertUniqueStoreMembers(store, Reflect.ownKeys(props));\n\n return {\n ...store,\n props: { ...store.props, ...props },\n } as InnerSignalStore<object, Props>;\n };\n}\n","import {\n SignalsDictionary,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\nimport { withProps } from './with-props';\n\nexport function withComputed<\n Input extends SignalStoreFeatureResult,\n ComputedSignals extends SignalsDictionary\n>(\n signalsFactory: (\n store: Prettify<StateSignals<Input['state']> & Input['props']>\n ) => ComputedSignals\n): SignalStoreFeature<\n Input,\n { state: {}; props: ComputedSignals; methods: {} }\n> {\n return withProps(signalsFactory);\n}\n","import {\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\n\n/**\n * @description\n * Allows passing properties, methods, or signals from a SignalStore\n * to a feature.\n *\n * @usageNotes\n * ```typescript\n * signalStore(\n * withMethods((store) => ({\n * load(id: number): Observable<Entity> {\n * return of({ id, name: 'John' });\n * },\n * })),\n * withFeature(\n * // 👇 has full access to the store\n * (store) => withEntityLoader((id) => firstValueFrom(store.load(id)))\n * )\n * );\n * ```\n *\n * @param featureFactory function returning the actual feature\n */\nexport function withFeature<\n Input extends SignalStoreFeatureResult,\n Output extends SignalStoreFeatureResult\n>(\n featureFactory: (\n store: Prettify<\n StateSignals<Input['state']> & Input['props'] & Input['methods']\n >\n ) => SignalStoreFeature<Input, Output>\n): SignalStoreFeature<Input, Output> {\n return (store) => {\n const storeForFactory = {\n ...store['stateSignals'],\n ...store['props'],\n ...store['methods'],\n };\n\n return featureFactory(storeForFactory)(store);\n };\n}\n","import { STATE_SOURCE, WritableStateSource } from './state-source';\nimport {\n EmptyFeatureResult,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\n\ntype HookFn<Input extends SignalStoreFeatureResult> = (\n store: Prettify<\n StateSignals<Input['state']> &\n Input['props'] &\n Input['methods'] &\n WritableStateSource<Prettify<Input['state']>>\n >\n) => void;\n\ntype HooksFactory<Input extends SignalStoreFeatureResult> = (\n store: Prettify<\n StateSignals<Input['state']> &\n Input['props'] &\n Input['methods'] &\n WritableStateSource<Prettify<Input['state']>>\n >\n) => {\n onInit?: () => void;\n onDestroy?: () => void;\n};\n\nexport function withHooks<Input extends SignalStoreFeatureResult>(hooks: {\n onInit?: HookFn<Input>;\n onDestroy?: HookFn<Input>;\n}): SignalStoreFeature<Input, EmptyFeatureResult>;\nexport function withHooks<Input extends SignalStoreFeatureResult>(\n hooks: HooksFactory<Input>\n): SignalStoreFeature<Input, EmptyFeatureResult>;\n\nexport function withHooks<Input extends SignalStoreFeatureResult>(\n hooksOrFactory:\n | {\n onInit?: HookFn<Input>;\n onDestroy?: HookFn<Input>;\n }\n | HooksFactory<Input>\n): SignalStoreFeature<Input, EmptyFeatureResult> {\n return (store) => {\n const storeMembers = {\n [STATE_SOURCE]: store[STATE_SOURCE],\n ...store.stateSignals,\n ...store.props,\n ...store.methods,\n };\n const hooks =\n typeof hooksOrFactory === 'function'\n ? hooksOrFactory(storeMembers)\n : hooksOrFactory;\n const createHook = (name: keyof typeof hooks) => {\n const hook = hooks[name];\n const currentHook = store.hooks[name];\n\n return hook\n ? () => {\n if (currentHook) {\n currentHook();\n }\n\n hook(storeMembers);\n }\n : currentHook;\n };\n\n return {\n ...store,\n hooks: {\n onInit: createHook('onInit'),\n onDestroy: createHook('onDestroy'),\n },\n };\n };\n}\n","import { STATE_SOURCE, WritableStateSource } from './state-source';\nimport { assertUniqueStoreMembers } from './signal-store-assertions';\nimport {\n InnerSignalStore,\n MethodsDictionary,\n SignalsDictionary,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\n\nexport function withMethods<\n Input extends SignalStoreFeatureResult,\n Methods extends MethodsDictionary\n>(\n methodsFactory: (\n store: Prettify<\n StateSignals<Input['state']> &\n Input['props'] &\n Input['methods'] &\n WritableStateSource<Prettify<Input['state']>>\n >\n ) => Methods\n): SignalStoreFeature<Input, { state: {}; props: {}; methods: Methods }> {\n return (store) => {\n const methods = methodsFactory({\n [STATE_SOURCE]: store[STATE_SOURCE],\n ...store.stateSignals,\n ...store.props,\n ...store.methods,\n });\n assertUniqueStoreMembers(store, Reflect.ownKeys(methods));\n\n return {\n ...store,\n methods: { ...store.methods, ...methods },\n } as InnerSignalStore<Record<string, unknown>, SignalsDictionary, Methods>;\n };\n}\n","import { computed } from '@angular/core';\nimport { assertUniqueStoreMembers } from './signal-store-assertions';\nimport { toDeepSignal } from './deep-signal';\nimport { STATE_SOURCE } from './state-source';\nimport {\n EmptyFeatureResult,\n InnerSignalStore,\n SignalsDictionary,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n} from './signal-store-models';\n\nexport function withState<State extends object>(\n stateFactory: () => State\n): SignalStoreFeature<\n EmptyFeatureResult,\n { state: State; props: {}; methods: {} }\n>;\nexport function withState<State extends object>(\n state: State\n): SignalStoreFeature<\n EmptyFeatureResult,\n { state: State; props: {}; methods: {} }\n>;\nexport function withState<State extends object>(\n stateOrFactory: State | (() => State)\n): SignalStoreFeature<\n SignalStoreFeatureResult,\n { state: State; props: {}; methods: {} }\n> {\n return (store) => {\n const state =\n typeof stateOrFactory === 'function' ? stateOrFactory() : stateOrFactory;\n const stateKeys = Reflect.ownKeys(state);\n\n assertUniqueStoreMembers(store, stateKeys);\n\n store[STATE_SOURCE].update((currentState) => ({\n ...currentState,\n ...state,\n }));\n\n const stateSignals = stateKeys.reduce((acc, key) => {\n const sliceSignal = computed(\n () => (store[STATE_SOURCE]() as Record<string | symbol, unknown>)[key]\n );\n return { ...acc, [key]: toDeepSignal(sliceSignal) };\n }, {} as SignalsDictionary);\n\n return {\n ...store,\n stateSignals: { ...store.stateSignals, ...stateSignals },\n } as InnerSignalStore<State>;\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngrx-signals.mjs","sources":["../../../../modules/signals/src/deep-signal.ts","../../../../modules/signals/src/deep-computed.ts","../../../../modules/signals/src/signal-method.ts","../../../../modules/signals/src/state-source.ts","../../../../modules/signals/src/signal-state.ts","../../../../modules/signals/src/signal-store.ts","../../../../modules/signals/src/signal-store-feature.ts","../../../../modules/signals/src/signal-store-assertions.ts","../../../../modules/signals/src/with-props.ts","../../../../modules/signals/src/with-computed.ts","../../../../modules/signals/src/with-feature.ts","../../../../modules/signals/src/with-hooks.ts","../../../../modules/signals/src/with-methods.ts","../../../../modules/signals/src/with-state.ts","../../../../modules/signals/ngrx-signals.ts"],"sourcesContent":["import {\n computed,\n isSignal,\n Signal as NgSignal,\n untracked,\n} from '@angular/core';\nimport { IsKnownRecord } from './ts-helpers';\n\n// An extended Signal type that enables the correct typing\n// of nested signals with the `name` or `length` key.\nexport interface Signal<T> extends NgSignal<T> {\n name: unknown;\n length: unknown;\n}\n\nexport type DeepSignal<T> = Signal<T> &\n (IsKnownRecord<T> extends true\n ? Readonly<{\n [K in keyof T]: IsKnownRecord<T[K]> extends true\n ? DeepSignal<T[K]>\n : Signal<T[K]>;\n }>\n : unknown);\n\nexport function toDeepSignal<T>(signal: Signal<T>): DeepSignal<T> {\n const value = untracked(() => signal());\n if (!isRecord(value)) {\n return signal as DeepSignal<T>;\n }\n\n return new Proxy(signal, {\n get(target: any, prop) {\n if (!(prop in value)) {\n return target[prop];\n }\n\n if (!isSignal(target[prop])) {\n Object.defineProperty(target, prop, {\n value: computed(() => target()[prop]),\n configurable: true,\n });\n }\n\n return toDeepSignal(target[prop]);\n },\n });\n}\n\nconst nonRecords = [\n WeakSet,\n WeakMap,\n Promise,\n Date,\n Error,\n RegExp,\n ArrayBuffer,\n DataView,\n Function,\n];\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n if (value === null || typeof value !== 'object' || isIterable(value)) {\n return false;\n }\n\n let proto = Object.getPrototypeOf(value);\n if (proto === Object.prototype) {\n return true;\n }\n\n while (proto && proto !== Object.prototype) {\n if (nonRecords.includes(proto.constructor)) {\n return false;\n }\n proto = Object.getPrototypeOf(proto);\n }\n\n return proto === Object.prototype;\n}\n\nfunction isIterable(value: any): value is Iterable<any> {\n return typeof value?.[Symbol.iterator] === 'function';\n}\n","import { computed } from '@angular/core';\nimport { DeepSignal, toDeepSignal } from './deep-signal';\n\nexport function deepComputed<T extends object>(\n computation: () => T\n): DeepSignal<T> {\n return toDeepSignal(computed(computation));\n}\n","import {\n assertInInjectionContext,\n DestroyRef,\n effect,\n EffectRef,\n inject,\n Injector,\n isSignal,\n Signal,\n untracked,\n} from '@angular/core';\n\ndeclare const ngDevMode: unknown;\n\nexport type SignalMethod<Input> = ((\n input: Input | Signal<Input>,\n config?: { injector?: Injector }\n) => EffectRef) &\n EffectRef;\n\nexport function signalMethod<Input>(\n processingFn: (value: Input) => void,\n config?: { injector?: Injector }\n): SignalMethod<Input> {\n if (!config?.injector) {\n assertInInjectionContext(signalMethod);\n }\n\n const watchers: EffectRef[] = [];\n const sourceInjector = config?.injector ?? inject(Injector);\n\n const signalMethodFn = (\n input: Input | Signal<Input>,\n config?: { injector?: Injector }\n ): EffectRef => {\n if (isSignal(input)) {\n const callerInjector = getCallerInjector();\n if (\n typeof ngDevMode !== 'undefined' &&\n ngDevMode &&\n config?.injector === undefined &&\n callerInjector === undefined\n ) {\n console.warn(\n '@ngrx/signals: The function returned by signalMethod was called',\n 'outside the injection context with a signal. This may lead to',\n 'a memory leak. Make sure to call it within the injection context',\n '(e.g. in a constructor or field initializer) or pass an injector',\n 'explicitly via the config parameter.\\n\\nFor more information, see:',\n 'https://ngrx.io/guide/signals/signal-method#automatic-cleanup'\n );\n }\n\n const instanceInjector =\n config?.injector ?? callerInjector ?? sourceInjector;\n\n const watcher = effect(\n () => {\n const value = input();\n untracked(() => processingFn(value));\n },\n { injector: instanceInjector }\n );\n watchers.push(watcher);\n\n instanceInjector.get(DestroyRef).onDestroy(() => {\n const ix = watchers.indexOf(watcher);\n if (ix !== -1) {\n watchers.splice(ix, 1);\n }\n });\n\n return watcher;\n } else {\n processingFn(input);\n return { destroy: () => void true };\n }\n };\n\n signalMethodFn.destroy = () =>\n watchers.forEach((watcher) => watcher.destroy());\n\n return signalMethodFn;\n}\n\nfunction getCallerInjector(): Injector | undefined {\n try {\n return inject(Injector);\n } catch {\n return undefined;\n }\n}\n","import {\n assertInInjectionContext,\n DestroyRef,\n inject,\n Injector,\n isSignal,\n Signal,\n untracked,\n WritableSignal,\n} from '@angular/core';\nimport { Prettify } from './ts-helpers';\n\nconst STATE_WATCHERS = new WeakMap<Signal<object>, Array<StateWatcher<any>>>();\n\nexport const STATE_SOURCE = Symbol('STATE_SOURCE');\n\nexport type WritableStateSource<State extends object> = {\n [STATE_SOURCE]: WritableSignal<State>;\n};\n\nexport type StateSource<State extends object> = {\n [STATE_SOURCE]: Signal<State>;\n};\n\nexport type PartialStateUpdater<State extends object> = (\n state: State\n) => Partial<State>;\n\nexport type StateWatcher<State extends object> = (\n state: NoInfer<State>\n) => void;\n\nexport function isWritableStateSource<State extends object>(\n stateSource: StateSource<State>\n): stateSource is WritableStateSource<State> {\n return (\n 'set' in stateSource[STATE_SOURCE] &&\n 'update' in stateSource[STATE_SOURCE] &&\n typeof stateSource[STATE_SOURCE].set === 'function' &&\n typeof stateSource[STATE_SOURCE].update === 'function'\n );\n}\n\nexport function patchState<State extends object>(\n stateSource: WritableStateSource<State>,\n ...updaters: Array<\n Partial<Prettify<State>> | PartialStateUpdater<Prettify<State>>\n >\n): void {\n stateSource[STATE_SOURCE].update((currentState) =>\n updaters.reduce(\n (nextState: State, updater) => ({\n ...nextState,\n ...(typeof updater === 'function' ? updater(nextState) : updater),\n }),\n currentState\n )\n );\n\n notifyWatchers(stateSource);\n}\n\nexport function getState<State extends object>(\n stateSource: StateSource<State>\n): State {\n return stateSource[STATE_SOURCE]();\n}\n\nexport function watchState<State extends object>(\n stateSource: StateSource<State>,\n watcher: StateWatcher<State>,\n config?: { injector?: Injector }\n): { destroy(): void } {\n if (!config?.injector) {\n assertInInjectionContext(watchState);\n }\n\n const injector = config?.injector ?? inject(Injector);\n const destroyRef = injector.get(DestroyRef);\n\n addWatcher(stateSource, watcher);\n watcher(getState(stateSource));\n\n const destroy = () => removeWatcher(stateSource, watcher);\n destroyRef.onDestroy(destroy);\n\n return { destroy };\n}\n\nfunction getWatchers<State extends object>(\n stateSource: StateSource<State>\n): Array<StateWatcher<State>> {\n return STATE_WATCHERS.get(stateSource[STATE_SOURCE]) || [];\n}\n\nfunction notifyWatchers<State extends object>(\n stateSource: StateSource<State>\n): void {\n const watchers = getWatchers(stateSource);\n\n for (const watcher of watchers) {\n const state = untracked(() => getState(stateSource));\n watcher(state);\n }\n}\n\nfunction addWatcher<State extends object>(\n stateSource: StateSource<State>,\n watcher: StateWatcher<State>\n): void {\n const watchers = getWatchers(stateSource);\n STATE_WATCHERS.set(stateSource[STATE_SOURCE], [...watchers, watcher]);\n}\n\nfunction removeWatcher<State extends object>(\n stateSource: StateSource<State>,\n watcher: StateWatcher<State>\n): void {\n const watchers = getWatchers(stateSource);\n STATE_WATCHERS.set(\n stateSource[STATE_SOURCE],\n watchers.filter((w) => w !== watcher)\n );\n}\n","import { signal } from '@angular/core';\nimport { STATE_SOURCE, WritableStateSource } from './state-source';\nimport { DeepSignal, toDeepSignal } from './deep-signal';\n\nexport type SignalState<State extends object> = DeepSignal<State> &\n WritableStateSource<State>;\n\nexport function signalState<State extends object>(\n initialState: State\n): SignalState<State> {\n const stateSource = signal(initialState as State);\n const signalState = toDeepSignal(stateSource.asReadonly());\n Object.defineProperty(signalState, STATE_SOURCE, {\n value: stateSource,\n });\n\n return signalState as SignalState<State>;\n}\n","import { DestroyRef, inject, Injectable, signal, Type } from '@angular/core';\nimport { STATE_SOURCE, StateSource, WritableStateSource } from './state-source';\nimport {\n EmptyFeatureResult,\n InnerSignalStore,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { OmitPrivate, Prettify } from './ts-helpers';\n\ntype SignalStoreConfig = { providedIn?: 'root'; protectedState?: boolean };\n\ntype SignalStoreMembers<FeatureResult extends SignalStoreFeatureResult> =\n Prettify<\n OmitPrivate<\n StateSignals<FeatureResult['state']> &\n FeatureResult['props'] &\n FeatureResult['methods']\n >\n >;\n\nexport function signalStore<F1 extends SignalStoreFeatureResult>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>\n): Type<\n SignalStoreMembers<F1> & StateSource<Prettify<OmitPrivate<F1['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10, F11>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n F15 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14 &\n F15\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >,\n f15: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13 & F14,\n F15\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\n\nexport function signalStore<F1 extends SignalStoreFeatureResult>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>\n): Type<\n SignalStoreMembers<F1> & StateSource<Prettify<OmitPrivate<F1['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10, F11>\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n F15 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14 &\n F15\n>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >,\n f15: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13 & F14,\n F15\n >\n): Type<SignalStoreMembers<R> & StateSource<Prettify<OmitPrivate<R['state']>>>>;\n\nexport function signalStore<F1 extends SignalStoreFeatureResult>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>\n): Type<\n SignalStoreMembers<F1> &\n WritableStateSource<Prettify<OmitPrivate<F1['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10, F11>\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult,\n F11 extends SignalStoreFeatureResult,\n F12 extends SignalStoreFeatureResult,\n F13 extends SignalStoreFeatureResult,\n F14 extends SignalStoreFeatureResult,\n F15 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = F1 &\n F2 &\n F3 &\n F4 &\n F5 &\n F6 &\n F7 &\n F8 &\n F9 &\n F10 &\n F11 &\n F12 &\n F13 &\n F14 &\n F15\n>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>,\n f11: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10,\n F11\n >,\n f12: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11,\n F12\n >,\n f13: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12,\n F13\n >,\n f14: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13,\n F14\n >,\n f15: SignalStoreFeature<\n F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10 & F11 & F12 & F13 & F14,\n F15\n >\n): Type<\n SignalStoreMembers<R> & WritableStateSource<Prettify<OmitPrivate<R['state']>>>\n>;\n\nexport function signalStore(\n ...args: [SignalStoreConfig, ...SignalStoreFeature[]] | SignalStoreFeature[]\n): Type<SignalStoreMembers<any>> {\n const signalStoreArgs = [...args];\n\n const config =\n typeof signalStoreArgs[0] === 'function'\n ? {}\n : (signalStoreArgs.shift() as SignalStoreConfig);\n const features = signalStoreArgs as SignalStoreFeature[];\n\n @Injectable({ providedIn: config.providedIn || null })\n class SignalStore {\n constructor() {\n const innerStore = features.reduce(\n (store, feature) => feature(store),\n getInitialInnerStore()\n );\n const { stateSignals, props, methods, hooks } = innerStore;\n const storeMembers: Record<string | symbol, unknown> = {\n ...stateSignals,\n ...props,\n ...methods,\n };\n\n (this as any)[STATE_SOURCE] = innerStore[STATE_SOURCE];\n\n for (const key of Reflect.ownKeys(storeMembers)) {\n (this as any)[key] = storeMembers[key];\n }\n\n const { onInit, onDestroy } = hooks;\n\n if (onInit) {\n onInit();\n }\n\n if (onDestroy) {\n inject(DestroyRef).onDestroy(onDestroy);\n }\n }\n }\n\n return SignalStore;\n}\n\nexport function getInitialInnerStore(): InnerSignalStore {\n return {\n [STATE_SOURCE]: signal({}),\n stateSignals: {},\n props: {},\n methods: {},\n hooks: {},\n };\n}\n","import {\n EmptyFeatureResult,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\n\ntype PrettifyFeatureResult<Result extends SignalStoreFeatureResult> = Prettify<{\n state: Prettify<Result['state']>;\n props: Prettify<Result['props']>;\n methods: Prettify<Result['methods']>;\n}>;\n\nexport function signalStoreFeature<F1 extends SignalStoreFeatureResult>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>\n): SignalStoreFeature<EmptyFeatureResult, F1>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>\n): SignalStoreFeature<EmptyFeatureResult, PrettifyFeatureResult<F1 & F2>>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>\n): SignalStoreFeature<EmptyFeatureResult, PrettifyFeatureResult<F1 & F2 & F3>>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4>\n>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5>\n>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6>\n>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7>\n>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8>\n>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9>\n>;\nexport function signalStoreFeature<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>,\n f4: SignalStoreFeature<F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8, F9>,\n f10: SignalStoreFeature<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9, F10>\n): SignalStoreFeature<\n EmptyFeatureResult,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10>\n>;\n\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>\n): SignalStoreFeature<Prettify<EmptyFeatureResult & Input>, F1>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult\n>(\n Input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4, F5>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5, F6>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6, F7>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<\n NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8,\n F9\n >\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9>\n>;\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult,\n F6 extends SignalStoreFeatureResult,\n F7 extends SignalStoreFeatureResult,\n F8 extends SignalStoreFeatureResult,\n F9 extends SignalStoreFeatureResult,\n F10 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<EmptyFeatureResult & NoInfer<Input>, F1>,\n f2: SignalStoreFeature<NoInfer<Input> & F1, F2>,\n f3: SignalStoreFeature<NoInfer<Input> & F1 & F2, F3>,\n f4: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3, F4>,\n f5: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4, F5>,\n f6: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5, F6>,\n f7: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6, F7>,\n f8: SignalStoreFeature<NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6 & F7, F8>,\n f9: SignalStoreFeature<\n NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8,\n F9\n >,\n f10: SignalStoreFeature<\n NoInfer<Input> & F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9,\n F10\n >\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n PrettifyFeatureResult<F1 & F2 & F3 & F4 & F5 & F6 & F7 & F8 & F9 & F10>\n>;\n\nexport function signalStoreFeature(\n featureOrInput: SignalStoreFeature | Partial<SignalStoreFeatureResult>,\n ...restFeatures: SignalStoreFeature[]\n): SignalStoreFeature {\n const features =\n typeof featureOrInput === 'function'\n ? [featureOrInput, ...restFeatures]\n : restFeatures;\n\n return (inputStore) =>\n features.reduce((store, feature) => feature(store), inputStore);\n}\n\nexport function type<T>(): T {\n return undefined as T;\n}\n","import { InnerSignalStore } from './signal-store-models';\n\ndeclare const ngDevMode: unknown;\n\nexport function assertUniqueStoreMembers(\n store: InnerSignalStore,\n newMemberKeys: Array<string | symbol>\n): void {\n if (typeof ngDevMode === 'undefined' || !ngDevMode) {\n return;\n }\n\n const storeMembers = {\n ...store.stateSignals,\n ...store.props,\n ...store.methods,\n };\n const overriddenKeys = Reflect.ownKeys(storeMembers).filter((memberKey) =>\n newMemberKeys.includes(memberKey)\n );\n\n if (overriddenKeys.length > 0) {\n console.warn(\n '@ngrx/signals: SignalStore members cannot be overridden.',\n 'Trying to override:',\n overriddenKeys.map((key) => String(key)).join(', ')\n );\n }\n}\n","import { STATE_SOURCE, WritableStateSource } from './state-source';\nimport { assertUniqueStoreMembers } from './signal-store-assertions';\nimport {\n InnerSignalStore,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\n\nexport function withProps<\n Input extends SignalStoreFeatureResult,\n Props extends object\n>(\n propsFactory: (\n store: Prettify<\n StateSignals<Input['state']> &\n Input['props'] &\n Input['methods'] &\n WritableStateSource<Prettify<Input['state']>>\n >\n ) => Props\n): SignalStoreFeature<Input, { state: {}; props: Props; methods: {} }> {\n return (store) => {\n const props = propsFactory({\n [STATE_SOURCE]: store[STATE_SOURCE],\n ...store.stateSignals,\n ...store.props,\n ...store.methods,\n });\n assertUniqueStoreMembers(store, Reflect.ownKeys(props));\n\n return {\n ...store,\n props: { ...store.props, ...props },\n } as InnerSignalStore<object, Props>;\n };\n}\n","import {\n SignalsDictionary,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\nimport { withProps } from './with-props';\n\nexport function withComputed<\n Input extends SignalStoreFeatureResult,\n ComputedSignals extends SignalsDictionary\n>(\n signalsFactory: (\n store: Prettify<StateSignals<Input['state']> & Input['props']>\n ) => ComputedSignals\n): SignalStoreFeature<\n Input,\n { state: {}; props: ComputedSignals; methods: {} }\n> {\n return withProps(signalsFactory);\n}\n","import {\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { STATE_SOURCE, WritableStateSource } from './state-source';\nimport { Prettify } from './ts-helpers';\n\n/**\n * @description\n * Allows passing properties, methods, or signals from a SignalStore\n * to a feature.\n *\n * @usageNotes\n * ```typescript\n * signalStore(\n * withMethods((store) => ({\n * load(id: number): Observable<Entity> {\n * return of({ id, name: 'John' });\n * },\n * })),\n * withFeature(\n * // 👇 has full access to the store\n * (store) => withEntityLoader((id) => firstValueFrom(store.load(id)))\n * )\n * );\n * ```\n *\n * @param featureFactory function returning the actual feature\n */\nexport function withFeature<\n Input extends SignalStoreFeatureResult,\n Output extends SignalStoreFeatureResult\n>(\n featureFactory: (\n store: Prettify<\n StateSignals<Input['state']> &\n Input['props'] &\n Input['methods'] &\n WritableStateSource<Prettify<Input['state']>>\n >\n ) => SignalStoreFeature<Input, Output>\n): SignalStoreFeature<Input, Output> {\n return (store) => {\n const storeForFactory = {\n [STATE_SOURCE]: store[STATE_SOURCE],\n ...store['stateSignals'],\n ...store['props'],\n ...store['methods'],\n };\n\n return featureFactory(storeForFactory)(store);\n };\n}\n","import { STATE_SOURCE, WritableStateSource } from './state-source';\nimport {\n EmptyFeatureResult,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\n\ntype HookFn<Input extends SignalStoreFeatureResult> = (\n store: Prettify<\n StateSignals<Input['state']> &\n Input['props'] &\n Input['methods'] &\n WritableStateSource<Prettify<Input['state']>>\n >\n) => void;\n\ntype HooksFactory<Input extends SignalStoreFeatureResult> = (\n store: Prettify<\n StateSignals<Input['state']> &\n Input['props'] &\n Input['methods'] &\n WritableStateSource<Prettify<Input['state']>>\n >\n) => {\n onInit?: () => void;\n onDestroy?: () => void;\n};\n\nexport function withHooks<Input extends SignalStoreFeatureResult>(hooks: {\n onInit?: HookFn<Input>;\n onDestroy?: HookFn<Input>;\n}): SignalStoreFeature<Input, EmptyFeatureResult>;\nexport function withHooks<Input extends SignalStoreFeatureResult>(\n hooks: HooksFactory<Input>\n): SignalStoreFeature<Input, EmptyFeatureResult>;\n\nexport function withHooks<Input extends SignalStoreFeatureResult>(\n hooksOrFactory:\n | {\n onInit?: HookFn<Input>;\n onDestroy?: HookFn<Input>;\n }\n | HooksFactory<Input>\n): SignalStoreFeature<Input, EmptyFeatureResult> {\n return (store) => {\n const storeMembers = {\n [STATE_SOURCE]: store[STATE_SOURCE],\n ...store.stateSignals,\n ...store.props,\n ...store.methods,\n };\n const hooks =\n typeof hooksOrFactory === 'function'\n ? hooksOrFactory(storeMembers)\n : hooksOrFactory;\n const createHook = (name: keyof typeof hooks) => {\n const hook = hooks[name];\n const currentHook = store.hooks[name];\n\n return hook\n ? () => {\n if (currentHook) {\n currentHook();\n }\n\n hook(storeMembers);\n }\n : currentHook;\n };\n\n return {\n ...store,\n hooks: {\n onInit: createHook('onInit'),\n onDestroy: createHook('onDestroy'),\n },\n };\n };\n}\n","import { STATE_SOURCE, WritableStateSource } from './state-source';\nimport { assertUniqueStoreMembers } from './signal-store-assertions';\nimport {\n InnerSignalStore,\n MethodsDictionary,\n SignalsDictionary,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\n\nexport function withMethods<\n Input extends SignalStoreFeatureResult,\n Methods extends MethodsDictionary\n>(\n methodsFactory: (\n store: Prettify<\n StateSignals<Input['state']> &\n Input['props'] &\n Input['methods'] &\n WritableStateSource<Prettify<Input['state']>>\n >\n ) => Methods\n): SignalStoreFeature<Input, { state: {}; props: {}; methods: Methods }> {\n return (store) => {\n const methods = methodsFactory({\n [STATE_SOURCE]: store[STATE_SOURCE],\n ...store.stateSignals,\n ...store.props,\n ...store.methods,\n });\n assertUniqueStoreMembers(store, Reflect.ownKeys(methods));\n\n return {\n ...store,\n methods: { ...store.methods, ...methods },\n } as InnerSignalStore<Record<string, unknown>, SignalsDictionary, Methods>;\n };\n}\n","import { computed } from '@angular/core';\nimport { assertUniqueStoreMembers } from './signal-store-assertions';\nimport { toDeepSignal } from './deep-signal';\nimport { STATE_SOURCE } from './state-source';\nimport {\n EmptyFeatureResult,\n InnerSignalStore,\n SignalsDictionary,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n} from './signal-store-models';\n\nexport function withState<State extends object>(\n stateFactory: () => State\n): SignalStoreFeature<\n EmptyFeatureResult,\n { state: State; props: {}; methods: {} }\n>;\nexport function withState<State extends object>(\n state: State\n): SignalStoreFeature<\n EmptyFeatureResult,\n { state: State; props: {}; methods: {} }\n>;\nexport function withState<State extends object>(\n stateOrFactory: State | (() => State)\n): SignalStoreFeature<\n SignalStoreFeatureResult,\n { state: State; props: {}; methods: {} }\n> {\n return (store) => {\n const state =\n typeof stateOrFactory === 'function' ? stateOrFactory() : stateOrFactory;\n const stateKeys = Reflect.ownKeys(state);\n\n assertUniqueStoreMembers(store, stateKeys);\n\n store[STATE_SOURCE].update((currentState) => ({\n ...currentState,\n ...state,\n }));\n\n const stateSignals = stateKeys.reduce((acc, key) => {\n const sliceSignal = computed(\n () => (store[STATE_SOURCE]() as Record<string | symbol, unknown>)[key]\n );\n return { ...acc, [key]: toDeepSignal(sliceSignal) };\n }, {} as SignalsDictionary);\n\n return {\n ...store,\n stateSignals: { ...store.stateSignals, ...stateSignals },\n } as InnerSignalStore<State>;\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngrx/signals",
3
- "version": "19.1.0",
3
+ "version": "19.2.1",
4
4
  "description": "Reactive Store and Set of Utilities for Angular Signals",
5
5
  "repository": {
6
6
  "type": "git",
@@ -62,14 +62,18 @@
62
62
  "types": "./index.d.ts",
63
63
  "default": "./fesm2022/ngrx-signals.mjs"
64
64
  },
65
- "./entities": {
66
- "types": "./entities/index.d.ts",
67
- "default": "./fesm2022/ngrx-signals-entities.mjs"
65
+ "./events": {
66
+ "types": "./events/index.d.ts",
67
+ "default": "./fesm2022/ngrx-signals-events.mjs"
68
68
  },
69
69
  "./rxjs-interop": {
70
70
  "types": "./rxjs-interop/index.d.ts",
71
71
  "default": "./fesm2022/ngrx-signals-rxjs-interop.mjs"
72
72
  },
73
+ "./entities": {
74
+ "types": "./entities/index.d.ts",
75
+ "default": "./fesm2022/ngrx-signals-entities.mjs"
76
+ },
73
77
  "./testing": {
74
78
  "types": "./testing/index.d.ts",
75
79
  "default": "./fesm2022/ngrx-signals-testing.mjs"
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.platformVersion = void 0;
4
- exports.platformVersion = '^19.1.0';
4
+ exports.platformVersion = '^19.2.1';
5
5
  //# sourceMappingURL=libs-version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"libs-version.js","sourceRoot":"","sources":["../../../../../modules/signals/schematics-core/utility/libs-version.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,SAAS,CAAC","sourcesContent":["export const platformVersion = '^19.1.0';\n"]}
1
+ {"version":3,"file":"libs-version.js","sourceRoot":"","sources":["../../../../../modules/signals/schematics-core/utility/libs-version.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,SAAS,CAAC","sourcesContent":["export const platformVersion = '^19.2.1';\n"]}
@@ -1,4 +1,5 @@
1
1
  import { SignalStoreFeature, SignalStoreFeatureResult, StateSignals } from './signal-store-models';
2
+ import { WritableStateSource } from './state-source';
2
3
  import { Prettify } from './ts-helpers';
3
4
  /**
4
5
  * @description
@@ -22,4 +23,4 @@ import { Prettify } from './ts-helpers';
22
23
  *
23
24
  * @param featureFactory function returning the actual feature
24
25
  */
25
- export declare function withFeature<Input extends SignalStoreFeatureResult, Output extends SignalStoreFeatureResult>(featureFactory: (store: Prettify<StateSignals<Input['state']> & Input['props'] & Input['methods']>) => SignalStoreFeature<Input, Output>): SignalStoreFeature<Input, Output>;
26
+ export declare function withFeature<Input extends SignalStoreFeatureResult, Output extends SignalStoreFeatureResult>(featureFactory: (store: Prettify<StateSignals<Input['state']> & Input['props'] & Input['methods'] & WritableStateSource<Prettify<Input['state']>>>) => SignalStoreFeature<Input, Output>): SignalStoreFeature<Input, Output>;