@ngrx/signals 17.0.0-beta.0

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.
Files changed (80) hide show
  1. package/LICENSE +25 -0
  2. package/README.md +3 -0
  3. package/esm2022/index.mjs +2 -0
  4. package/esm2022/ngrx-signals.mjs +5 -0
  5. package/esm2022/rxjs-interop/index.mjs +2 -0
  6. package/esm2022/rxjs-interop/ngrx-signals-rxjs-interop.mjs +5 -0
  7. package/esm2022/rxjs-interop/src/index.mjs +2 -0
  8. package/esm2022/rxjs-interop/src/rx-method.mjs +31 -0
  9. package/esm2022/src/deep-signal.mjs +22 -0
  10. package/esm2022/src/helpers.mjs +4 -0
  11. package/esm2022/src/index.mjs +9 -0
  12. package/esm2022/src/patch-state.mjs +8 -0
  13. package/esm2022/src/signal-state.mjs +12 -0
  14. package/esm2022/src/signal-store-feature.mjs +10 -0
  15. package/esm2022/src/signal-store-models.mjs +2 -0
  16. package/esm2022/src/signal-store.mjs +47 -0
  17. package/esm2022/src/ts-helpers.mjs +2 -0
  18. package/esm2022/src/with-computed.mjs +16 -0
  19. package/esm2022/src/with-hooks.mjs +30 -0
  20. package/esm2022/src/with-methods.mjs +22 -0
  21. package/esm2022/src/with-state.mjs +27 -0
  22. package/fesm2022/ngrx-signals-rxjs-interop.mjs +38 -0
  23. package/fesm2022/ngrx-signals-rxjs-interop.mjs.map +1 -0
  24. package/fesm2022/ngrx-signals.mjs +192 -0
  25. package/fesm2022/ngrx-signals.mjs.map +1 -0
  26. package/index.d.ts +1 -0
  27. package/migrations/migration.json +4 -0
  28. package/package.json +72 -0
  29. package/rxjs-interop/index.d.ts +1 -0
  30. package/rxjs-interop/src/index.d.ts +1 -0
  31. package/rxjs-interop/src/rx-method.d.ts +8 -0
  32. package/schematics/collection.json +10 -0
  33. package/schematics/ng-add/index.js +21 -0
  34. package/schematics/ng-add/index.js.map +1 -0
  35. package/schematics/ng-add/schema.js +3 -0
  36. package/schematics/ng-add/schema.js.map +1 -0
  37. package/schematics/ng-add/schema.json +14 -0
  38. package/schematics-core/index.js +77 -0
  39. package/schematics-core/index.js.map +1 -0
  40. package/schematics-core/utility/ast-utils.js +705 -0
  41. package/schematics-core/utility/ast-utils.js.map +1 -0
  42. package/schematics-core/utility/change.js +162 -0
  43. package/schematics-core/utility/change.js.map +1 -0
  44. package/schematics-core/utility/config.js +21 -0
  45. package/schematics-core/utility/config.js.map +1 -0
  46. package/schematics-core/utility/find-component.js +101 -0
  47. package/schematics-core/utility/find-component.js.map +1 -0
  48. package/schematics-core/utility/find-module.js +102 -0
  49. package/schematics-core/utility/find-module.js.map +1 -0
  50. package/schematics-core/utility/json-utilts.js +37 -0
  51. package/schematics-core/utility/json-utilts.js.map +1 -0
  52. package/schematics-core/utility/libs-version.js +5 -0
  53. package/schematics-core/utility/libs-version.js.map +1 -0
  54. package/schematics-core/utility/ngrx-utils.js +248 -0
  55. package/schematics-core/utility/ngrx-utils.js.map +1 -0
  56. package/schematics-core/utility/package.js +23 -0
  57. package/schematics-core/utility/package.js.map +1 -0
  58. package/schematics-core/utility/parse-name.js +14 -0
  59. package/schematics-core/utility/parse-name.js.map +1 -0
  60. package/schematics-core/utility/project.js +48 -0
  61. package/schematics-core/utility/project.js.map +1 -0
  62. package/schematics-core/utility/strings.js +138 -0
  63. package/schematics-core/utility/strings.js.map +1 -0
  64. package/schematics-core/utility/update.js +34 -0
  65. package/schematics-core/utility/update.js.map +1 -0
  66. package/schematics-core/utility/visitors.js +250 -0
  67. package/schematics-core/utility/visitors.js.map +1 -0
  68. package/src/deep-signal.d.ts +6 -0
  69. package/src/helpers.d.ts +1 -0
  70. package/src/index.d.ts +8 -0
  71. package/src/patch-state.d.ts +3 -0
  72. package/src/signal-state.d.ts +11 -0
  73. package/src/signal-store-feature.d.ts +22 -0
  74. package/src/signal-store-models.d.ts +49 -0
  75. package/src/signal-store.d.ts +21 -0
  76. package/src/ts-helpers.d.ts +11 -0
  77. package/src/with-computed.d.ts +5 -0
  78. package/src/with-hooks.d.ts +9 -0
  79. package/src/with-methods.d.ts +6 -0
  80. package/src/with-state.d.ts +10 -0
@@ -0,0 +1,192 @@
1
+ import * as i0 from '@angular/core';
2
+ import { untracked, computed, signal, inject, Injector, DestroyRef, runInInjectionContext, Injectable } from '@angular/core';
3
+
4
+ function toDeepSignal(signal) {
5
+ const value = untracked(() => signal());
6
+ if (!isRecord(value)) {
7
+ return signal;
8
+ }
9
+ return new Proxy(signal, {
10
+ get(target, prop) {
11
+ if (!(prop in value)) {
12
+ return target[prop];
13
+ }
14
+ if (!target[prop]) {
15
+ target[prop] = computed(() => target()[prop]);
16
+ }
17
+ return toDeepSignal(target[prop]);
18
+ },
19
+ });
20
+ }
21
+ function isRecord(value) {
22
+ return value?.constructor === Object;
23
+ }
24
+
25
+ const STATE_SIGNAL = Symbol('STATE_SIGNAL');
26
+ function signalState(initialState) {
27
+ const stateSignal = signal(initialState);
28
+ const deepSignal = toDeepSignal(stateSignal.asReadonly());
29
+ Object.defineProperty(deepSignal, STATE_SIGNAL, {
30
+ value: stateSignal,
31
+ });
32
+ return deepSignal;
33
+ }
34
+
35
+ function patchState(signalState, ...updaters) {
36
+ signalState[STATE_SIGNAL].update((currentState) => updaters.reduce((nextState, updater) => ({
37
+ ...nextState,
38
+ ...(typeof updater === 'function' ? updater(nextState) : updater),
39
+ }), currentState));
40
+ }
41
+
42
+ function signalStore(...args) {
43
+ const signalStoreArgs = [...args];
44
+ const config = 'providedIn' in signalStoreArgs[0]
45
+ ? signalStoreArgs.shift()
46
+ : {};
47
+ const features = signalStoreArgs;
48
+ class SignalStore {
49
+ constructor() {
50
+ const innerStore = features.reduce((store, feature) => feature(store), getInitialInnerStore());
51
+ const { slices, signals, methods, hooks } = innerStore;
52
+ const props = { ...slices, ...signals, ...methods };
53
+ this[STATE_SIGNAL] = innerStore[STATE_SIGNAL];
54
+ for (const key in props) {
55
+ this[key] = props[key];
56
+ }
57
+ if (hooks.onInit) {
58
+ hooks.onInit();
59
+ }
60
+ if (hooks.onDestroy) {
61
+ const injector = inject(Injector);
62
+ inject(DestroyRef).onDestroy(() => {
63
+ runInInjectionContext(injector, hooks.onDestroy);
64
+ });
65
+ }
66
+ }
67
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: SignalStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
68
+ /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: SignalStore, providedIn: config.providedIn || null });
69
+ }
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.8", ngImport: i0, type: SignalStore, decorators: [{
71
+ type: Injectable,
72
+ args: [{ providedIn: config.providedIn || null }]
73
+ }], ctorParameters: () => [] });
74
+ return SignalStore;
75
+ }
76
+ function getInitialInnerStore() {
77
+ return {
78
+ [STATE_SIGNAL]: signal({}),
79
+ slices: {},
80
+ signals: {},
81
+ methods: {},
82
+ hooks: {},
83
+ };
84
+ }
85
+
86
+ function signalStoreFeature(featureOrInput, ...restFeatures) {
87
+ const features = typeof featureOrInput === 'function'
88
+ ? [featureOrInput, ...restFeatures]
89
+ : restFeatures;
90
+ return (inputStore) => features.reduce((store, feature) => feature(store), inputStore);
91
+ }
92
+ function type() {
93
+ return undefined;
94
+ }
95
+
96
+ function excludeKeys(obj, keys) {
97
+ return Object.keys(obj).reduce((acc, key) => (keys.includes(key) ? acc : { ...acc, [key]: obj[key] }), {});
98
+ }
99
+
100
+ function withComputed(signalsFactory) {
101
+ return (store) => {
102
+ const signals = signalsFactory({ ...store.slices, ...store.signals });
103
+ const signalsKeys = Object.keys(signals);
104
+ const slices = excludeKeys(store.slices, signalsKeys);
105
+ const methods = excludeKeys(store.methods, signalsKeys);
106
+ return {
107
+ ...store,
108
+ slices,
109
+ signals: { ...store.signals, ...signals },
110
+ methods,
111
+ };
112
+ };
113
+ }
114
+
115
+ function withHooks(hooks) {
116
+ return (store) => {
117
+ const createHook = (name) => {
118
+ const hook = hooks[name];
119
+ const currentHook = store.hooks[name];
120
+ return hook
121
+ ? () => {
122
+ if (currentHook) {
123
+ currentHook();
124
+ }
125
+ hook({
126
+ [STATE_SIGNAL]: store[STATE_SIGNAL],
127
+ ...store.slices,
128
+ ...store.signals,
129
+ ...store.methods,
130
+ });
131
+ }
132
+ : currentHook;
133
+ };
134
+ return {
135
+ ...store,
136
+ hooks: {
137
+ onInit: createHook('onInit'),
138
+ onDestroy: createHook('onDestroy'),
139
+ },
140
+ };
141
+ };
142
+ }
143
+
144
+ function withMethods(methodsFactory) {
145
+ return (store) => {
146
+ const methods = methodsFactory({
147
+ [STATE_SIGNAL]: store[STATE_SIGNAL],
148
+ ...store.slices,
149
+ ...store.signals,
150
+ ...store.methods,
151
+ });
152
+ const methodsKeys = Object.keys(methods);
153
+ const slices = excludeKeys(store.slices, methodsKeys);
154
+ const signals = excludeKeys(store.signals, methodsKeys);
155
+ return {
156
+ ...store,
157
+ slices,
158
+ signals,
159
+ methods: { ...store.methods, ...methods },
160
+ };
161
+ };
162
+ }
163
+
164
+ function withState(stateOrFactory) {
165
+ return (store) => {
166
+ const state = typeof stateOrFactory === 'function' ? stateOrFactory() : stateOrFactory;
167
+ const stateKeys = Object.keys(state);
168
+ store[STATE_SIGNAL].update((currentState) => ({
169
+ ...currentState,
170
+ ...state,
171
+ }));
172
+ const slices = stateKeys.reduce((acc, key) => {
173
+ const slice = computed(() => store[STATE_SIGNAL]()[key]);
174
+ return { ...acc, [key]: toDeepSignal(slice) };
175
+ }, {});
176
+ const signals = excludeKeys(store.signals, stateKeys);
177
+ const methods = excludeKeys(store.methods, stateKeys);
178
+ return {
179
+ ...store,
180
+ slices: { ...store.slices, ...slices },
181
+ signals,
182
+ methods,
183
+ };
184
+ };
185
+ }
186
+
187
+ /**
188
+ * Generated bundle index. Do not edit.
189
+ */
190
+
191
+ export { patchState, signalState, signalStore, signalStoreFeature, type, withComputed, withHooks, withMethods, withState };
192
+ //# sourceMappingURL=ngrx-signals.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngrx-signals.mjs","sources":["../../../../modules/signals/src/deep-signal.ts","../../../../modules/signals/src/signal-state.ts","../../../../modules/signals/src/patch-state.ts","../../../../modules/signals/src/signal-store.ts","../../../../modules/signals/src/signal-store-feature.ts","../../../../modules/signals/src/helpers.ts","../../../../modules/signals/src/with-computed.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 { computed, Signal, untracked } from '@angular/core';\nimport { IsUnknownRecord } from './ts-helpers';\n\nexport type DeepSignal<T> = Signal<T> &\n (T extends Record<string, unknown>\n ? IsUnknownRecord<T> extends true\n ? unknown\n : Readonly<{\n [K in keyof T]: T[K] extends Record<string, unknown>\n ? IsUnknownRecord<T[K]> extends true\n ? Signal<T[K]>\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 (!target[prop]) {\n target[prop] = computed(() => target()[prop]);\n }\n\n return toDeepSignal(target[prop]);\n },\n });\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value?.constructor === Object;\n}\n","import { signal, WritableSignal } from '@angular/core';\nimport { DeepSignal, toDeepSignal } from './deep-signal';\nimport { HasFunctionKeys } from './ts-helpers';\n\nexport const STATE_SIGNAL = Symbol('STATE_SIGNAL');\n\nexport type SignalStateMeta<State extends Record<string, unknown>> = {\n [STATE_SIGNAL]: WritableSignal<State>;\n};\n\ntype SignalStateCheck<State> = HasFunctionKeys<State> extends false | undefined\n ? unknown\n : '@ngrx/signals: signal state cannot contain `Function` property or method names';\n\ntype SignalState<State extends Record<string, unknown>> = DeepSignal<State> &\n SignalStateMeta<State>;\n\nexport function signalState<State extends Record<string, unknown>>(\n initialState: State & SignalStateCheck<State>\n): SignalState<State> {\n const stateSignal = signal(initialState as State);\n const deepSignal = toDeepSignal(stateSignal.asReadonly());\n Object.defineProperty(deepSignal, STATE_SIGNAL, {\n value: stateSignal,\n });\n\n return deepSignal as SignalState<State>;\n}\n","import { STATE_SIGNAL, SignalStateMeta } from './signal-state';\n\nexport type PartialStateUpdater<State extends Record<string, unknown>> = (\n state: State\n) => Partial<State>;\n\nexport function patchState<State extends Record<string, unknown>>(\n signalState: SignalStateMeta<State>,\n ...updaters: Array<Partial<State> | PartialStateUpdater<State>>\n): void {\n signalState[STATE_SIGNAL].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","import {\n DestroyRef,\n inject,\n Injectable,\n Injector,\n runInInjectionContext,\n signal,\n Type,\n} from '@angular/core';\nimport { STATE_SIGNAL } from './signal-state';\nimport {\n EmptyFeatureResult,\n InnerSignalStore,\n MergeFeatureResults,\n SignalStore,\n SignalStoreConfig,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n} from './signal-store-models';\n\nexport function signalStore<F1 extends SignalStoreFeatureResult>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>\n): Type<SignalStore<F1>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>\n): Type<SignalStore<MergeFeatureResults<[F1, F2]>>>;\nexport function signalStore<\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<MergeFeatureResults<[F1, F2]>, F3>\n): Type<SignalStore<MergeFeatureResults<[F1, F2, F3]>>>;\nexport function signalStore<\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<MergeFeatureResults<[F1, F2]>, F3>,\n f4: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3]>, F4>\n): Type<SignalStore<MergeFeatureResults<[F1, F2, F3, F4]>>>;\nexport function signalStore<\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<MergeFeatureResults<[F1, F2]>, F3>,\n f4: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3]>, F4>,\n f5: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4]>, F5>\n): Type<SignalStore<MergeFeatureResults<[F1, F2, F3, F4, F5]>>>;\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>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<MergeFeatureResults<[F1, F2]>, F3>,\n f4: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3]>, F4>,\n f5: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4]>, F5>,\n f6: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4, F5]>, F6>\n): Type<SignalStore<MergeFeatureResults<[F1, F2, F3, F4, F5, F6]>>>;\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>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<MergeFeatureResults<[F1, F2]>, F3>,\n f4: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3]>, F4>,\n f5: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4]>, F5>,\n f6: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4, F5]>, F6>,\n f7: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4, F5, F6]>, F7>\n): Type<SignalStore<MergeFeatureResults<[F1, F2, F3, F4, F5, F6, F7]>>>;\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>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<MergeFeatureResults<[F1, F2]>, F3>,\n f4: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3]>, F4>,\n f5: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4]>, F5>,\n f6: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4, F5]>, F6>,\n f7: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4, F5, F6]>, F7>,\n f8: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4, F5, F6, F7]>, F8>\n): Type<SignalStore<MergeFeatureResults<[F1, F2, F3, F4, F5, F6, F7, F8]>>>;\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>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<MergeFeatureResults<[F1, F2]>, F3>,\n f4: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3]>, F4>,\n f5: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4]>, F5>,\n f6: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4, F5]>, F6>,\n f7: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4, F5, F6]>, F7>,\n f8: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4, F5, F6, F7]>, F8>,\n f9: SignalStoreFeature<\n MergeFeatureResults<[F1, F2, F3, F4, F5, F6, F7, F8]>,\n F9\n >\n): Type<SignalStore<MergeFeatureResults<[F1, F2, F3, F4, F5, F6, F7, F8, F9]>>>;\n\nexport function signalStore<F1 extends SignalStoreFeatureResult>(\n config: SignalStoreConfig,\n f1: SignalStoreFeature<EmptyFeatureResult, F1>\n): Type<SignalStore<F1>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult\n>(\n config: SignalStoreConfig,\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>\n): Type<SignalStore<MergeFeatureResults<[F1, F2]>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult\n>(\n config: SignalStoreConfig,\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<MergeFeatureResults<[F1, F2]>, F3>\n): Type<SignalStore<MergeFeatureResults<[F1, F2, F3]>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult\n>(\n config: SignalStoreConfig,\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<MergeFeatureResults<[F1, F2]>, F3>,\n f4: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3]>, F4>\n): Type<SignalStore<MergeFeatureResults<[F1, F2, F3, F4]>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n F4 extends SignalStoreFeatureResult,\n F5 extends SignalStoreFeatureResult\n>(\n config: SignalStoreConfig,\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<MergeFeatureResults<[F1, F2]>, F3>,\n f4: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3]>, F4>,\n f5: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4]>, F5>\n): Type<SignalStore<MergeFeatureResults<[F1, F2, F3, F4, F5]>>>;\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>(\n config: SignalStoreConfig,\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<MergeFeatureResults<[F1, F2]>, F3>,\n f4: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3]>, F4>,\n f5: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4]>, F5>,\n f6: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4, F5]>, F6>\n): Type<SignalStore<MergeFeatureResults<[F1, F2, F3, F4, F5, F6]>>>;\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>(\n config: SignalStoreConfig,\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<MergeFeatureResults<[F1, F2]>, F3>,\n f4: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3]>, F4>,\n f5: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4]>, F5>,\n f6: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4, F5]>, F6>,\n f7: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4, F5, F6]>, F7>\n): Type<SignalStore<MergeFeatureResults<[F1, F2, F3, F4, F5, F6, F7]>>>;\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>(\n config: SignalStoreConfig,\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<MergeFeatureResults<[F1, F2]>, F3>,\n f4: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3]>, F4>,\n f5: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4]>, F5>,\n f6: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4, F5]>, F6>,\n f7: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4, F5, F6]>, F7>,\n f8: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4, F5, F6, F7]>, F8>\n): Type<SignalStore<MergeFeatureResults<[F1, F2, F3, F4, F5, F6, F7, F8]>>>;\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>(\n config: SignalStoreConfig,\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<MergeFeatureResults<[F1, F2]>, F3>,\n f4: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3]>, F4>,\n f5: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4]>, F5>,\n f6: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4, F5]>, F6>,\n f7: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4, F5, F6]>, F7>,\n f8: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4, F5, F6, F7]>, F8>,\n f9: SignalStoreFeature<\n MergeFeatureResults<[F1, F2, F3, F4, F5, F6, F7, F8]>,\n F9\n >\n): Type<SignalStore<MergeFeatureResults<[F1, F2, F3, F4, F5, F6, F7, F8, F9]>>>;\n\nexport function signalStore(\n ...args: [SignalStoreConfig, ...SignalStoreFeature[]] | SignalStoreFeature[]\n): Type<SignalStore<any>> {\n const signalStoreArgs = [...args];\n\n const config: Partial<SignalStoreConfig> =\n 'providedIn' in signalStoreArgs[0]\n ? (signalStoreArgs.shift() as SignalStoreConfig)\n : {};\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 { slices, signals, methods, hooks } = innerStore;\n const props = { ...slices, ...signals, ...methods };\n\n (this as any)[STATE_SIGNAL] = innerStore[STATE_SIGNAL];\n\n for (const key in props) {\n (this as any)[key] = props[key];\n }\n\n if (hooks.onInit) {\n hooks.onInit();\n }\n\n if (hooks.onDestroy) {\n const injector = inject(Injector);\n\n inject(DestroyRef).onDestroy(() => {\n runInInjectionContext(injector, hooks.onDestroy!);\n });\n }\n }\n }\n\n return SignalStore;\n}\n\nexport function getInitialInnerStore(): InnerSignalStore {\n return {\n [STATE_SIGNAL]: signal({}),\n slices: {},\n signals: {},\n methods: {},\n hooks: {},\n };\n}\n","import {\n EmptyFeatureResult,\n MergeFeatureResults,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\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, MergeFeatureResults<[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<MergeFeatureResults<[F1, F2]>, F3>\n): SignalStoreFeature<EmptyFeatureResult, MergeFeatureResults<[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<MergeFeatureResults<[F1, F2]>, F3>,\n f4: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3]>, F4>\n): SignalStoreFeature<\n EmptyFeatureResult,\n MergeFeatureResults<[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<MergeFeatureResults<[F1, F2]>, F3>,\n f4: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3]>, F4>,\n f5: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4]>, F5>\n): SignalStoreFeature<\n EmptyFeatureResult,\n MergeFeatureResults<[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<MergeFeatureResults<[F1, F2]>, F3>,\n f4: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3]>, F4>,\n f5: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4]>, F5>,\n f6: SignalStoreFeature<MergeFeatureResults<[F1, F2, F3, F4, F5]>, F6>\n): SignalStoreFeature<\n EmptyFeatureResult,\n MergeFeatureResults<[F1, F2, F3, F4, F5, F6]>\n>;\n\nexport function signalStoreFeature<\n Input extends Partial<SignalStoreFeatureResult>,\n F1 extends SignalStoreFeatureResult\n>(\n input: Input,\n f1: SignalStoreFeature<Prettify<EmptyFeatureResult & 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<Prettify<EmptyFeatureResult & Input>, F1>,\n f2: SignalStoreFeature<\n MergeFeatureResults<[Prettify<EmptyFeatureResult & Input>, F1]>,\n F2\n >\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n MergeFeatureResults<[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<Prettify<EmptyFeatureResult & Input>, F1>,\n f2: SignalStoreFeature<\n MergeFeatureResults<[Prettify<EmptyFeatureResult & Input>, F1]>,\n F2\n >,\n f3: SignalStoreFeature<\n MergeFeatureResults<[Prettify<EmptyFeatureResult & Input>, F1, F2]>,\n F3\n >\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n MergeFeatureResults<[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<Prettify<EmptyFeatureResult & Input>, F1>,\n f2: SignalStoreFeature<\n MergeFeatureResults<[Prettify<EmptyFeatureResult & Input>, F1]>,\n F2\n >,\n f3: SignalStoreFeature<\n MergeFeatureResults<[Prettify<EmptyFeatureResult & Input>, F1, F2]>,\n F3\n >,\n f4: SignalStoreFeature<\n MergeFeatureResults<[Prettify<EmptyFeatureResult & Input>, F1, F2, F3]>,\n F4\n >\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n MergeFeatureResults<[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<Prettify<EmptyFeatureResult & Input>, F1>,\n f2: SignalStoreFeature<\n MergeFeatureResults<[Prettify<EmptyFeatureResult & Input>, F1]>,\n F2\n >,\n f3: SignalStoreFeature<\n MergeFeatureResults<[Prettify<EmptyFeatureResult & Input>, F1, F2]>,\n F3\n >,\n f4: SignalStoreFeature<\n MergeFeatureResults<[Prettify<EmptyFeatureResult & Input>, F1, F2, F3]>,\n F4\n >,\n f5: SignalStoreFeature<\n MergeFeatureResults<[Prettify<EmptyFeatureResult & Input>, F1, F2, F3, F4]>,\n F5\n >\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n MergeFeatureResults<[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<Prettify<EmptyFeatureResult & Input>, F1>,\n f2: SignalStoreFeature<\n MergeFeatureResults<[Prettify<EmptyFeatureResult & Input>, F1]>,\n F2\n >,\n f3: SignalStoreFeature<\n MergeFeatureResults<[Prettify<EmptyFeatureResult & Input>, F1, F2]>,\n F3\n >,\n f4: SignalStoreFeature<\n MergeFeatureResults<[Prettify<EmptyFeatureResult & Input>, F1, F2, F3]>,\n F4\n >,\n f5: SignalStoreFeature<\n MergeFeatureResults<[Prettify<EmptyFeatureResult & Input>, F1, F2, F3, F4]>,\n F5\n >,\n f6: SignalStoreFeature<\n MergeFeatureResults<\n [Prettify<EmptyFeatureResult & Input>, F1, F2, F3, F4, F5]\n >,\n F6\n >\n): SignalStoreFeature<\n Prettify<EmptyFeatureResult & Input>,\n MergeFeatureResults<[F1, F2, F3, F4, F5, F6]>\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","export function excludeKeys<\n Obj extends Record<string, unknown>,\n Keys extends string[]\n>(obj: Obj, keys: Keys): Omit<Obj, Keys[number]> {\n return Object.keys(obj).reduce(\n (acc, key) => (keys.includes(key) ? acc : { ...acc, [key]: obj[key] }),\n {}\n ) as Omit<Obj, Keys[number]>;\n}\n","import { excludeKeys } from './helpers';\nimport {\n EmptyFeatureResult,\n InnerSignalStore,\n SignalsDictionary,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n SignalStoreSlices,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\n\nexport function withComputed<\n Input extends SignalStoreFeatureResult,\n Signals extends SignalsDictionary\n>(\n signalsFactory: (\n store: Prettify<SignalStoreSlices<Input['state']> & Input['signals']>\n ) => Signals\n): SignalStoreFeature<Input, EmptyFeatureResult & { signals: Signals }> {\n return (store) => {\n const signals = signalsFactory({ ...store.slices, ...store.signals });\n const signalsKeys = Object.keys(signals);\n const slices = excludeKeys(store.slices, signalsKeys);\n const methods = excludeKeys(store.methods, signalsKeys);\n\n return {\n ...store,\n slices,\n signals: { ...store.signals, ...signals },\n methods,\n } as InnerSignalStore<Record<string, unknown>, Signals>;\n };\n}\n","import { STATE_SIGNAL, SignalStateMeta } from './signal-state';\nimport {\n EmptyFeatureResult,\n SignalStoreFeature,\n SignalStoreSlices,\n SignalStoreFeatureResult,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\n\ntype HooksFactory<Input extends SignalStoreFeatureResult> = (\n store: Prettify<\n SignalStoreSlices<Input['state']> &\n Input['signals'] &\n Input['methods'] &\n SignalStateMeta<Prettify<Input['state']>>\n >\n) => void;\n\nexport function withHooks<Input extends SignalStoreFeatureResult>(hooks: {\n onInit?: HooksFactory<Input>;\n onDestroy?: HooksFactory<Input>;\n}): SignalStoreFeature<Input, EmptyFeatureResult> {\n return (store) => {\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({\n [STATE_SIGNAL]: store[STATE_SIGNAL],\n ...store.slices,\n ...store.signals,\n ...store.methods,\n });\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 { excludeKeys } from './helpers';\nimport { STATE_SIGNAL, SignalStateMeta } from './signal-state';\nimport {\n EmptyFeatureResult,\n InnerSignalStore,\n MethodsDictionary,\n SignalsDictionary,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n SignalStoreSlices,\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 SignalStoreSlices<Input['state']> &\n Input['signals'] &\n Input['methods'] &\n SignalStateMeta<Prettify<Input['state']>>\n >\n ) => Methods\n): SignalStoreFeature<Input, EmptyFeatureResult & { methods: Methods }> {\n return (store) => {\n const methods = methodsFactory({\n [STATE_SIGNAL]: store[STATE_SIGNAL],\n ...store.slices,\n ...store.signals,\n ...store.methods,\n });\n const methodsKeys = Object.keys(methods);\n const slices = excludeKeys(store.slices, methodsKeys);\n const signals = excludeKeys(store.signals, methodsKeys);\n\n return {\n ...store,\n slices,\n signals,\n methods: { ...store.methods, ...methods },\n } as InnerSignalStore<Record<string, unknown>, SignalsDictionary, Methods>;\n };\n}\n","import { computed } from '@angular/core';\nimport { toDeepSignal } from './deep-signal';\nimport { excludeKeys } from './helpers';\nimport { STATE_SIGNAL } from './signal-state';\nimport {\n EmptyFeatureResult,\n InnerSignalStore,\n SignalsDictionary,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n} from './signal-store-models';\nimport {\n HasNestedFunctionKeys,\n HasOptionalProps,\n IsUnknownRecord,\n} from './ts-helpers';\n\ntype WithStateCheck<State> = IsUnknownRecord<State> extends true\n ? '@ngrx/signals: root state keys must be string literals'\n : HasOptionalProps<State> extends true\n ? '@ngrx/signals: root state slices cannot be optional'\n : HasNestedFunctionKeys<State> extends false | undefined\n ? unknown\n : '@ngrx/signals: nested state slices cannot contain `Function` property or method names';\n\nexport function withState<State extends Record<string, unknown>>(\n state: State & WithStateCheck<State>\n): SignalStoreFeature<\n EmptyFeatureResult,\n EmptyFeatureResult & { state: State }\n>;\nexport function withState<State extends Record<string, unknown>>(\n stateFactory: () => State & WithStateCheck<State>\n): SignalStoreFeature<\n EmptyFeatureResult,\n EmptyFeatureResult & { state: State }\n>;\nexport function withState<State extends Record<string, unknown>>(\n stateOrFactory: State | (() => State)\n): SignalStoreFeature<\n SignalStoreFeatureResult,\n EmptyFeatureResult & { state: State }\n> {\n return (store) => {\n const state =\n typeof stateOrFactory === 'function' ? stateOrFactory() : stateOrFactory;\n const stateKeys = Object.keys(state);\n\n store[STATE_SIGNAL].update((currentState) => ({\n ...currentState,\n ...state,\n }));\n\n const slices = stateKeys.reduce((acc, key) => {\n const slice = computed(() => store[STATE_SIGNAL]()[key]);\n return { ...acc, [key]: toDeepSignal(slice) };\n }, {} as SignalsDictionary);\n const signals = excludeKeys(store.signals, stateKeys);\n const methods = excludeKeys(store.methods, stateKeys);\n\n return {\n ...store,\n slices: { ...store.slices, ...slices },\n signals,\n methods,\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/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './src/index';
@@ -0,0 +1,4 @@
1
+ {
2
+ "$schema": "../../../node_modules/@angular-devkit/schematics/collection-schema.json",
3
+ "schematics": {}
4
+ }
package/package.json ADDED
@@ -0,0 +1,72 @@
1
+ {
2
+ "name": "@ngrx/signals",
3
+ "version": "17.0.0-beta.0",
4
+ "description": "Reactive State Management with Angular Signals",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/ngrx/platform.git"
8
+ },
9
+ "keywords": [
10
+ "Angular",
11
+ "NgRx",
12
+ "Signals",
13
+ "Signal Store",
14
+ "Signal State",
15
+ "State Management"
16
+ ],
17
+ "author": "NgRx",
18
+ "license": "MIT",
19
+ "bugs": {
20
+ "url": "https://github.com/ngrx/platform/issues"
21
+ },
22
+ "homepage": "https://github.com/ngrx/platform#readme",
23
+ "peerDependencies": {
24
+ "@angular/core": "^17.0.0-rc.0",
25
+ "rxjs": "^6.5.3 || ^7.4.0"
26
+ },
27
+ "peerDependenciesMeta": {
28
+ "rxjs": {
29
+ "optional": true
30
+ }
31
+ },
32
+ "schematics": "./schematics/collection.json",
33
+ "sideEffects": false,
34
+ "ng-update": {
35
+ "packageGroup": [
36
+ "@ngrx/store",
37
+ "@ngrx/effects",
38
+ "@ngrx/entity",
39
+ "@ngrx/router-store",
40
+ "@ngrx/data",
41
+ "@ngrx/schematics",
42
+ "@ngrx/store-devtools",
43
+ "@ngrx/component-store",
44
+ "@ngrx/component",
45
+ "@ngrx/eslint-plugin",
46
+ "@ngrx/signals"
47
+ ],
48
+ "migrations": "./migrations/migration.json"
49
+ },
50
+ "dependencies": {
51
+ "tslib": "^2.3.0"
52
+ },
53
+ "module": "fesm2022/ngrx-signals.mjs",
54
+ "typings": "index.d.ts",
55
+ "exports": {
56
+ "./package.json": {
57
+ "default": "./package.json"
58
+ },
59
+ ".": {
60
+ "types": "./index.d.ts",
61
+ "esm2022": "./esm2022/ngrx-signals.mjs",
62
+ "esm": "./esm2022/ngrx-signals.mjs",
63
+ "default": "./fesm2022/ngrx-signals.mjs"
64
+ },
65
+ "./rxjs-interop": {
66
+ "types": "./rxjs-interop/index.d.ts",
67
+ "esm2022": "./esm2022/rxjs-interop/ngrx-signals-rxjs-interop.mjs",
68
+ "esm": "./esm2022/rxjs-interop/ngrx-signals-rxjs-interop.mjs",
69
+ "default": "./fesm2022/ngrx-signals-rxjs-interop.mjs"
70
+ }
71
+ }
72
+ }
@@ -0,0 +1 @@
1
+ export * from './src/index';
@@ -0,0 +1 @@
1
+ export { rxMethod } from './rx-method';
@@ -0,0 +1,8 @@
1
+ import { Injector, Signal } from '@angular/core';
2
+ import { Observable, Unsubscribable } from 'rxjs';
3
+ type RxMethodInput<Input> = Input | Observable<Input> | Signal<Input>;
4
+ type RxMethod<Input> = ((input: RxMethodInput<Input>) => Unsubscribable) & Unsubscribable;
5
+ export declare function rxMethod<Input>(generator: (source$: Observable<Input>) => Observable<unknown>, config?: {
6
+ injector?: Injector;
7
+ }): RxMethod<Input>;
8
+ export {};
@@ -0,0 +1,10 @@
1
+ {
2
+ "schematics": {
3
+ "ng-add": {
4
+ "aliases": ["init"],
5
+ "factory": "./ng-add",
6
+ "schema": "./ng-add/schema.json",
7
+ "description": "Add @ngrx/signals to your application"
8
+ }
9
+ }
10
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var schematics_1 = require("@angular-devkit/schematics");
4
+ var tasks_1 = require("@angular-devkit/schematics/tasks");
5
+ var schematics_core_1 = require("../../schematics-core");
6
+ function addModuleToPackageJson() {
7
+ return function (host, context) {
8
+ (0, schematics_core_1.addPackageToPackageJson)(host, 'dependencies', '@ngrx/signals', schematics_core_1.platformVersion);
9
+ context.addTask(new tasks_1.NodePackageInstallTask());
10
+ return host;
11
+ };
12
+ }
13
+ function default_1(options) {
14
+ return function (host, context) {
15
+ return (0, schematics_1.chain)([
16
+ options && options.skipPackageJson ? (0, schematics_1.noop)() : addModuleToPackageJson(),
17
+ ])(host, context);
18
+ };
19
+ }
20
+ exports.default = default_1;
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../modules/signals/schematics/ng-add/index.ts"],"names":[],"mappings":";;AAAA,yDAMoC;AACpC,0DAA0E;AAC1E,yDAG+B;AAG/B,SAAS,sBAAsB;IAC7B,OAAO,UAAC,IAAU,EAAE,OAAyB;QAC3C,IAAA,yCAAuB,EACrB,IAAI,EACJ,cAAc,EACd,eAAe,EACf,iCAAe,CAChB,CAAC;QACF,OAAO,CAAC,OAAO,CAAC,IAAI,8BAAsB,EAAE,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAED,mBAAyB,OAAsB;IAC7C,OAAO,UAAC,IAAU,EAAE,OAAyB;QAC3C,OAAO,IAAA,kBAAK,EAAC;YACX,OAAO,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,IAAA,iBAAI,GAAE,CAAC,CAAC,CAAC,sBAAsB,EAAE;SACvE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC;AAND,4BAMC","sourcesContent":["import {\n Rule,\n SchematicContext,\n Tree,\n chain,\n noop,\n} from '@angular-devkit/schematics';\nimport { NodePackageInstallTask } from '@angular-devkit/schematics/tasks';\nimport {\n addPackageToPackageJson,\n platformVersion,\n} from '../../schematics-core';\nimport { Schema as SchemaOptions } from './schema';\n\nfunction addModuleToPackageJson() {\n return (host: Tree, context: SchematicContext) => {\n addPackageToPackageJson(\n host,\n 'dependencies',\n '@ngrx/signals',\n platformVersion\n );\n context.addTask(new NodePackageInstallTask());\n return host;\n };\n}\n\nexport default function (options: SchemaOptions): Rule {\n return (host: Tree, context: SchematicContext) => {\n return chain([\n options && options.skipPackageJson ? noop() : addModuleToPackageJson(),\n ])(host, context);\n };\n}\n"]}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../modules/signals/schematics/ng-add/schema.ts"],"names":[],"mappings":"","sourcesContent":["export interface Schema {\n skipPackageJson?: boolean;\n}\n"]}
@@ -0,0 +1,14 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "SchematicsNgRxSignals",
4
+ "title": "NgRx Signals Schema",
5
+ "type": "object",
6
+ "properties": {
7
+ "skipPackageJson": {
8
+ "type": "boolean",
9
+ "default": false,
10
+ "description": "Do not add @ngrx/signals as dependency to package.json (e.g., --skipPackageJson)."
11
+ }
12
+ },
13
+ "required": []
14
+ }
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.visitTemplates = exports.visitNgModules = exports.visitDecorator = exports.visitComponents = exports.visitNgModuleExports = exports.visitNgModuleImports = exports.visitTSSourceFiles = exports.platformVersion = exports.addPackageToPackageJson = exports.parseName = exports.updatePackage = exports.stringUtils = exports.isLib = exports.getProject = exports.getProjectPath = exports.getPrefix = exports.omit = exports.addReducerToActionReducerMap = exports.addReducerImportToNgModule = exports.addReducerToStateInterface = exports.addReducerToState = exports.findPropertyInAstObject = exports.buildRelativePath = exports.findModuleFromOptions = exports.findModule = exports.findComponentFromOptions = exports.getWorkspacePath = exports.getWorkspace = exports.commitChanges = exports.createChangeRecorder = exports.createReplaceChange = exports.ReplaceChange = exports.RemoveChange = exports.InsertChange = exports.NoopChange = exports.containsProperty = exports.replaceImport = exports.addProviderToModule = exports.addProviderToComponent = exports.addImportToModule = exports.addExportToModule = exports.addDeclarationToModule = exports.addBootstrapToModule = exports.insertImport = exports.insertAfterLastOccurrence = exports.getContentOfKeyLiteral = exports.getDecoratorMetadata = exports.getSourceNodes = exports.findNodes = void 0;
4
+ var strings_1 = require("./utility/strings");
5
+ var ast_utils_1 = require("./utility/ast-utils");
6
+ Object.defineProperty(exports, "findNodes", { enumerable: true, get: function () { return ast_utils_1.findNodes; } });
7
+ Object.defineProperty(exports, "getSourceNodes", { enumerable: true, get: function () { return ast_utils_1.getSourceNodes; } });
8
+ Object.defineProperty(exports, "getDecoratorMetadata", { enumerable: true, get: function () { return ast_utils_1.getDecoratorMetadata; } });
9
+ Object.defineProperty(exports, "getContentOfKeyLiteral", { enumerable: true, get: function () { return ast_utils_1.getContentOfKeyLiteral; } });
10
+ Object.defineProperty(exports, "insertAfterLastOccurrence", { enumerable: true, get: function () { return ast_utils_1.insertAfterLastOccurrence; } });
11
+ Object.defineProperty(exports, "insertImport", { enumerable: true, get: function () { return ast_utils_1.insertImport; } });
12
+ Object.defineProperty(exports, "addBootstrapToModule", { enumerable: true, get: function () { return ast_utils_1.addBootstrapToModule; } });
13
+ Object.defineProperty(exports, "addDeclarationToModule", { enumerable: true, get: function () { return ast_utils_1.addDeclarationToModule; } });
14
+ Object.defineProperty(exports, "addExportToModule", { enumerable: true, get: function () { return ast_utils_1.addExportToModule; } });
15
+ Object.defineProperty(exports, "addImportToModule", { enumerable: true, get: function () { return ast_utils_1.addImportToModule; } });
16
+ Object.defineProperty(exports, "addProviderToComponent", { enumerable: true, get: function () { return ast_utils_1.addProviderToComponent; } });
17
+ Object.defineProperty(exports, "addProviderToModule", { enumerable: true, get: function () { return ast_utils_1.addProviderToModule; } });
18
+ Object.defineProperty(exports, "replaceImport", { enumerable: true, get: function () { return ast_utils_1.replaceImport; } });
19
+ Object.defineProperty(exports, "containsProperty", { enumerable: true, get: function () { return ast_utils_1.containsProperty; } });
20
+ var change_1 = require("./utility/change");
21
+ Object.defineProperty(exports, "NoopChange", { enumerable: true, get: function () { return change_1.NoopChange; } });
22
+ Object.defineProperty(exports, "InsertChange", { enumerable: true, get: function () { return change_1.InsertChange; } });
23
+ Object.defineProperty(exports, "RemoveChange", { enumerable: true, get: function () { return change_1.RemoveChange; } });
24
+ Object.defineProperty(exports, "ReplaceChange", { enumerable: true, get: function () { return change_1.ReplaceChange; } });
25
+ Object.defineProperty(exports, "createReplaceChange", { enumerable: true, get: function () { return change_1.createReplaceChange; } });
26
+ Object.defineProperty(exports, "createChangeRecorder", { enumerable: true, get: function () { return change_1.createChangeRecorder; } });
27
+ Object.defineProperty(exports, "commitChanges", { enumerable: true, get: function () { return change_1.commitChanges; } });
28
+ var config_1 = require("./utility/config");
29
+ Object.defineProperty(exports, "getWorkspace", { enumerable: true, get: function () { return config_1.getWorkspace; } });
30
+ Object.defineProperty(exports, "getWorkspacePath", { enumerable: true, get: function () { return config_1.getWorkspacePath; } });
31
+ var find_component_1 = require("./utility/find-component");
32
+ Object.defineProperty(exports, "findComponentFromOptions", { enumerable: true, get: function () { return find_component_1.findComponentFromOptions; } });
33
+ var find_module_1 = require("./utility/find-module");
34
+ Object.defineProperty(exports, "findModule", { enumerable: true, get: function () { return find_module_1.findModule; } });
35
+ Object.defineProperty(exports, "findModuleFromOptions", { enumerable: true, get: function () { return find_module_1.findModuleFromOptions; } });
36
+ Object.defineProperty(exports, "buildRelativePath", { enumerable: true, get: function () { return find_module_1.buildRelativePath; } });
37
+ var json_utilts_1 = require("./utility/json-utilts");
38
+ Object.defineProperty(exports, "findPropertyInAstObject", { enumerable: true, get: function () { return json_utilts_1.findPropertyInAstObject; } });
39
+ var ngrx_utils_1 = require("./utility/ngrx-utils");
40
+ Object.defineProperty(exports, "addReducerToState", { enumerable: true, get: function () { return ngrx_utils_1.addReducerToState; } });
41
+ Object.defineProperty(exports, "addReducerToStateInterface", { enumerable: true, get: function () { return ngrx_utils_1.addReducerToStateInterface; } });
42
+ Object.defineProperty(exports, "addReducerImportToNgModule", { enumerable: true, get: function () { return ngrx_utils_1.addReducerImportToNgModule; } });
43
+ Object.defineProperty(exports, "addReducerToActionReducerMap", { enumerable: true, get: function () { return ngrx_utils_1.addReducerToActionReducerMap; } });
44
+ Object.defineProperty(exports, "omit", { enumerable: true, get: function () { return ngrx_utils_1.omit; } });
45
+ Object.defineProperty(exports, "getPrefix", { enumerable: true, get: function () { return ngrx_utils_1.getPrefix; } });
46
+ var project_1 = require("./utility/project");
47
+ Object.defineProperty(exports, "getProjectPath", { enumerable: true, get: function () { return project_1.getProjectPath; } });
48
+ Object.defineProperty(exports, "getProject", { enumerable: true, get: function () { return project_1.getProject; } });
49
+ Object.defineProperty(exports, "isLib", { enumerable: true, get: function () { return project_1.isLib; } });
50
+ exports.stringUtils = {
51
+ dasherize: strings_1.dasherize,
52
+ decamelize: strings_1.decamelize,
53
+ camelize: strings_1.camelize,
54
+ classify: strings_1.classify,
55
+ underscore: strings_1.underscore,
56
+ group: strings_1.group,
57
+ capitalize: strings_1.capitalize,
58
+ featurePath: strings_1.featurePath,
59
+ pluralize: strings_1.pluralize,
60
+ };
61
+ var update_1 = require("./utility/update");
62
+ Object.defineProperty(exports, "updatePackage", { enumerable: true, get: function () { return update_1.updatePackage; } });
63
+ var parse_name_1 = require("./utility/parse-name");
64
+ Object.defineProperty(exports, "parseName", { enumerable: true, get: function () { return parse_name_1.parseName; } });
65
+ var package_1 = require("./utility/package");
66
+ Object.defineProperty(exports, "addPackageToPackageJson", { enumerable: true, get: function () { return package_1.addPackageToPackageJson; } });
67
+ var libs_version_1 = require("./utility/libs-version");
68
+ Object.defineProperty(exports, "platformVersion", { enumerable: true, get: function () { return libs_version_1.platformVersion; } });
69
+ var visitors_1 = require("./utility/visitors");
70
+ Object.defineProperty(exports, "visitTSSourceFiles", { enumerable: true, get: function () { return visitors_1.visitTSSourceFiles; } });
71
+ Object.defineProperty(exports, "visitNgModuleImports", { enumerable: true, get: function () { return visitors_1.visitNgModuleImports; } });
72
+ Object.defineProperty(exports, "visitNgModuleExports", { enumerable: true, get: function () { return visitors_1.visitNgModuleExports; } });
73
+ Object.defineProperty(exports, "visitComponents", { enumerable: true, get: function () { return visitors_1.visitComponents; } });
74
+ Object.defineProperty(exports, "visitDecorator", { enumerable: true, get: function () { return visitors_1.visitDecorator; } });
75
+ Object.defineProperty(exports, "visitNgModules", { enumerable: true, get: function () { return visitors_1.visitNgModules; } });
76
+ Object.defineProperty(exports, "visitTemplates", { enumerable: true, get: function () { return visitors_1.visitTemplates; } });
77
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../modules/signals/schematics-core/index.ts"],"names":[],"mappings":";;;AAAA,6CAU2B;AAE3B,iDAe6B;AAd3B,sGAAA,SAAS,OAAA;AACT,2GAAA,cAAc,OAAA;AACd,iHAAA,oBAAoB,OAAA;AACpB,mHAAA,sBAAsB,OAAA;AACtB,sHAAA,yBAAyB,OAAA;AACzB,yGAAA,YAAY,OAAA;AACZ,iHAAA,oBAAoB,OAAA;AACpB,mHAAA,sBAAsB,OAAA;AACtB,8GAAA,iBAAiB,OAAA;AACjB,8GAAA,iBAAiB,OAAA;AACjB,mHAAA,sBAAsB,OAAA;AACtB,gHAAA,mBAAmB,OAAA;AACnB,0GAAA,aAAa,OAAA;AACb,6GAAA,gBAAgB,OAAA;AAGlB,2CAU0B;AAPxB,oGAAA,UAAU,OAAA;AACV,sGAAA,YAAY,OAAA;AACZ,sGAAA,YAAY,OAAA;AACZ,uGAAA,aAAa,OAAA;AACb,6GAAA,mBAAmB,OAAA;AACnB,8GAAA,oBAAoB,OAAA;AACpB,uGAAA,aAAa,OAAA;AAGf,2CAA6E;AAAzD,sGAAA,YAAY,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAElD,2DAAoE;AAA3D,0HAAA,wBAAwB,OAAA;AAEjC,qDAK+B;AAJ7B,yGAAA,UAAU,OAAA;AACV,oHAAA,qBAAqB,OAAA;AACrB,gHAAA,iBAAiB,OAAA;AAInB,qDAAgE;AAAvD,sHAAA,uBAAuB,OAAA;AAEhC,mDAO8B;AAN5B,+GAAA,iBAAiB,OAAA;AACjB,wHAAA,0BAA0B,OAAA;AAC1B,wHAAA,0BAA0B,OAAA;AAC1B,0HAAA,4BAA4B,OAAA;AAC5B,kGAAA,IAAI,OAAA;AACJ,uGAAA,SAAS,OAAA;AAGX,6CAAsE;AAA7D,yGAAA,cAAc,OAAA;AAAE,qGAAA,UAAU,OAAA;AAAE,gGAAA,KAAK,OAAA;AAE7B,QAAA,WAAW,GAAG;IACzB,SAAS,qBAAA;IACT,UAAU,sBAAA;IACV,QAAQ,oBAAA;IACR,QAAQ,oBAAA;IACR,UAAU,sBAAA;IACV,KAAK,iBAAA;IACL,UAAU,sBAAA;IACV,WAAW,uBAAA;IACX,SAAS,qBAAA;CACV,CAAC;AAEF,2CAAiD;AAAxC,uGAAA,aAAa,OAAA;AAEtB,mDAAiD;AAAxC,uGAAA,SAAS,OAAA;AAElB,6CAA4D;AAAnD,kHAAA,uBAAuB,OAAA;AAEhC,uDAAyD;AAAhD,+GAAA,eAAe,OAAA;AAExB,+CAQ4B;AAP1B,8GAAA,kBAAkB,OAAA;AAClB,gHAAA,oBAAoB,OAAA;AACpB,gHAAA,oBAAoB,OAAA;AACpB,2GAAA,eAAe,OAAA;AACf,0GAAA,cAAc,OAAA;AACd,0GAAA,cAAc,OAAA;AACd,0GAAA,cAAc,OAAA","sourcesContent":["import {\n dasherize,\n decamelize,\n camelize,\n classify,\n underscore,\n group,\n capitalize,\n featurePath,\n pluralize,\n} from './utility/strings';\n\nexport {\n findNodes,\n getSourceNodes,\n getDecoratorMetadata,\n getContentOfKeyLiteral,\n insertAfterLastOccurrence,\n insertImport,\n addBootstrapToModule,\n addDeclarationToModule,\n addExportToModule,\n addImportToModule,\n addProviderToComponent,\n addProviderToModule,\n replaceImport,\n containsProperty,\n} from './utility/ast-utils';\n\nexport {\n Host,\n Change,\n NoopChange,\n InsertChange,\n RemoveChange,\n ReplaceChange,\n createReplaceChange,\n createChangeRecorder,\n commitChanges,\n} from './utility/change';\n\nexport { AppConfig, getWorkspace, getWorkspacePath } from './utility/config';\n\nexport { findComponentFromOptions } from './utility/find-component';\n\nexport {\n findModule,\n findModuleFromOptions,\n buildRelativePath,\n ModuleOptions,\n} from './utility/find-module';\n\nexport { findPropertyInAstObject } from './utility/json-utilts';\n\nexport {\n addReducerToState,\n addReducerToStateInterface,\n addReducerImportToNgModule,\n addReducerToActionReducerMap,\n omit,\n getPrefix,\n} from './utility/ngrx-utils';\n\nexport { getProjectPath, getProject, isLib } from './utility/project';\n\nexport const stringUtils = {\n dasherize,\n decamelize,\n camelize,\n classify,\n underscore,\n group,\n capitalize,\n featurePath,\n pluralize,\n};\n\nexport { updatePackage } from './utility/update';\n\nexport { parseName } from './utility/parse-name';\n\nexport { addPackageToPackageJson } from './utility/package';\n\nexport { platformVersion } from './utility/libs-version';\n\nexport {\n visitTSSourceFiles,\n visitNgModuleImports,\n visitNgModuleExports,\n visitComponents,\n visitDecorator,\n visitNgModules,\n visitTemplates,\n} from './utility/visitors';\n"]}