@ngrx/signals 18.0.0-rc.2 → 18.0.0-rc.3

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 (46) hide show
  1. package/entities/src/index.d.ts +1 -1
  2. package/entities/src/with-entities.d.ts +4 -16
  3. package/esm2022/entities/src/index.mjs +1 -1
  4. package/esm2022/entities/src/with-entities.mjs +1 -1
  5. package/esm2022/rxjs-interop/src/rx-method.mjs +1 -1
  6. package/esm2022/src/index.mjs +2 -3
  7. package/esm2022/src/signal-state.mjs +7 -7
  8. package/esm2022/src/signal-store-assertions.mjs +15 -0
  9. package/esm2022/src/signal-store-feature.mjs +1 -1
  10. package/esm2022/src/signal-store-models.mjs +1 -1
  11. package/esm2022/src/signal-store.mjs +13 -10
  12. package/esm2022/src/state-source.mjs +48 -0
  13. package/esm2022/src/with-computed.mjs +3 -7
  14. package/esm2022/src/with-hooks.mjs +6 -6
  15. package/esm2022/src/with-methods.mjs +5 -9
  16. package/esm2022/src/with-state.mjs +6 -9
  17. package/fesm2022/ngrx-signals-entities.mjs.map +1 -1
  18. package/fesm2022/ngrx-signals-rxjs-interop.mjs.map +1 -1
  19. package/fesm2022/ngrx-signals.mjs +83 -51
  20. package/fesm2022/ngrx-signals.mjs.map +1 -1
  21. package/migrations/18_0_0-rc_3-protected-state/index.js +93 -0
  22. package/migrations/18_0_0-rc_3-protected-state/index.js.map +1 -0
  23. package/migrations/18_0_0-rc_3-writablestatesource/index.js +43 -0
  24. package/migrations/18_0_0-rc_3-writablestatesource/index.js.map +1 -0
  25. package/migrations/migration.json +12 -1
  26. package/package.json +1 -1
  27. package/rxjs-interop/src/rx-method.d.ts +1 -2
  28. package/src/index.d.ts +4 -5
  29. package/src/signal-state.d.ts +2 -3
  30. package/src/signal-store-assertions.d.ts +2 -0
  31. package/src/signal-store-feature.d.ts +26 -19
  32. package/src/signal-store-models.d.ts +2 -21
  33. package/src/signal-store.d.ts +139 -88
  34. package/src/state-source.d.ts +18 -0
  35. package/src/with-computed.d.ts +4 -2
  36. package/src/with-hooks.d.ts +3 -3
  37. package/src/with-methods.d.ts +5 -3
  38. package/src/with-state.d.ts +6 -2
  39. package/esm2022/src/get-state.mjs +0 -5
  40. package/esm2022/src/helpers.mjs +0 -9
  41. package/esm2022/src/patch-state.mjs +0 -8
  42. package/esm2022/src/state-signal.mjs +0 -2
  43. package/src/get-state.d.ts +0 -2
  44. package/src/helpers.d.ts +0 -1
  45. package/src/patch-state.d.ts +0 -4
  46. package/src/state-signal.d.ts +0 -5
@@ -1 +1 @@
1
- {"version":3,"file":"ngrx-signals.mjs","sources":["../../../../modules/signals/src/state-signal.ts","../../../../modules/signals/src/get-state.ts","../../../../modules/signals/src/patch-state.ts","../../../../modules/signals/src/deep-signal.ts","../../../../modules/signals/src/signal-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 { WritableSignal } from '@angular/core';\n\nexport const STATE_SIGNAL = Symbol('STATE_SIGNAL');\n\nexport type StateSignal<State extends object> = {\n [STATE_SIGNAL]: WritableSignal<State>;\n};\n","import { STATE_SIGNAL, StateSignal } from './state-signal';\n\nexport function getState<State extends object>(\n stateSignal: StateSignal<State>\n): State {\n return stateSignal[STATE_SIGNAL]();\n}\n","import { STATE_SIGNAL, StateSignal } from './state-signal';\nimport { Prettify } from './ts-helpers';\n\nexport type PartialStateUpdater<State extends object> = (\n state: State\n) => Partial<State>;\n\nexport function patchState<State extends object>(\n stateSignal: StateSignal<State>,\n ...updaters: Array<\n Partial<Prettify<State>> | PartialStateUpdater<Prettify<State>>\n >\n): void {\n stateSignal[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 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\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value?.constructor === Object;\n}\n","import { signal } from '@angular/core';\nimport { STATE_SIGNAL, StateSignal } from './state-signal';\nimport { DeepSignal, toDeepSignal } from './deep-signal';\n\ntype SignalState<State extends object> = DeepSignal<State> & StateSignal<State>;\n\nexport function signalState<State extends object>(\n initialState: 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 { DestroyRef, inject, Injectable, signal, Type } from '@angular/core';\nimport { STATE_SIGNAL, StateSignal } from './state-signal';\nimport {\n EmptyFeatureResult,\n InnerSignalStore,\n MergeFeatureResults,\n SignalStoreConfig,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n SignalStoreProps,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\n\nexport function signalStore<F1 extends SignalStoreFeatureResult>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>\n): Type<SignalStoreProps<F1> & StateSignal<Prettify<F1['state']>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = MergeFeatureResults<[F1, F2]>\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>\n): Type<SignalStoreProps<R> & StateSignal<Prettify<R['state']>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = MergeFeatureResults<[F1, F2, F3]>\n>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<MergeFeatureResults<[F1, F2]>, F3>\n): Type<SignalStoreProps<R> & StateSignal<Prettify<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 = MergeFeatureResults<[F1, F2, F3, F4]>\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<SignalStoreProps<R> & StateSignal<Prettify<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 = MergeFeatureResults<[F1, F2, F3, F4, F5]>\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<SignalStoreProps<R> & StateSignal<Prettify<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 = MergeFeatureResults<\n [F1, F2, F3, F4, F5, F6]\n >\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<SignalStoreProps<R> & StateSignal<Prettify<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 = MergeFeatureResults<\n [F1, F2, F3, F4, F5, F6, F7]\n >\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<SignalStoreProps<R> & StateSignal<Prettify<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 = MergeFeatureResults<\n [F1, F2, F3, F4, F5, F6, F7, F8]\n >\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<SignalStoreProps<R> & StateSignal<Prettify<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 = MergeFeatureResults<\n [F1, F2, F3, F4, F5, F6, F7, F8, F9]\n >\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<SignalStoreProps<R> & StateSignal<Prettify<R['state']>>>;\n\nexport function signalStore<F1 extends SignalStoreFeatureResult>(\n config: SignalStoreConfig,\n f1: SignalStoreFeature<EmptyFeatureResult, F1>\n): Type<SignalStoreProps<F1> & StateSignal<Prettify<F1['state']>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = MergeFeatureResults<[F1, F2]>\n>(\n config: SignalStoreConfig,\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>\n): Type<SignalStoreProps<R> & StateSignal<Prettify<R['state']>>>;\nexport function signalStore<\n F1 extends SignalStoreFeatureResult,\n F2 extends SignalStoreFeatureResult,\n F3 extends SignalStoreFeatureResult,\n R extends SignalStoreFeatureResult = MergeFeatureResults<[F1, F2, F3]>\n>(\n config: SignalStoreConfig,\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<MergeFeatureResults<[F1, F2]>, F3>\n): Type<SignalStoreProps<R> & StateSignal<Prettify<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 = MergeFeatureResults<[F1, F2, F3, F4]>\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<SignalStoreProps<R> & StateSignal<Prettify<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 = MergeFeatureResults<[F1, F2, F3, F4, F5]>\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<SignalStoreProps<R> & StateSignal<Prettify<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 = MergeFeatureResults<\n [F1, F2, F3, F4, F5, F6]\n >\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<SignalStoreProps<R> & StateSignal<Prettify<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 = MergeFeatureResults<\n [F1, F2, F3, F4, F5, F6, F7]\n >\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<SignalStoreProps<R> & StateSignal<Prettify<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 = MergeFeatureResults<\n [F1, F2, F3, F4, F5, F6, F7, F8]\n >\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<SignalStoreProps<R> & StateSignal<Prettify<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 = MergeFeatureResults<\n [F1, F2, F3, F4, F5, F6, F7, F8, F9]\n >\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<SignalStoreProps<R> & StateSignal<Prettify<R['state']>>>;\n\nexport function signalStore(\n ...args: [SignalStoreConfig, ...SignalStoreFeature[]] | SignalStoreFeature[]\n): Type<SignalStoreProps<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 { stateSignals, computedSignals, methods, hooks } = innerStore;\n const props = { ...stateSignals, ...computedSignals, ...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 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_SIGNAL]: signal({}),\n stateSignals: {},\n computedSignals: {},\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<Record<string, unknown>>((acc, key) => {\n if (!keys.includes(key)) {\n acc[key] = obj[key];\n }\n return acc;\n }, {}) as Omit<Obj, Keys[number]>;\n}\n","import { excludeKeys } from './helpers';\nimport {\n EmptyFeatureResult,\n InnerSignalStore,\n SignalsDictionary,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\n\nexport function withComputed<\n Input extends SignalStoreFeatureResult,\n ComputedSignals extends SignalsDictionary\n>(\n signalsFactory: (\n store: Prettify<StateSignals<Input['state']> & Input['computed']>\n ) => ComputedSignals\n): SignalStoreFeature<\n Input,\n EmptyFeatureResult & { computed: ComputedSignals }\n> {\n return (store) => {\n const computedSignals = signalsFactory({\n ...store.stateSignals,\n ...store.computedSignals,\n });\n const computedSignalsKeys = Object.keys(computedSignals);\n const stateSignals = excludeKeys(store.stateSignals, computedSignalsKeys);\n const methods = excludeKeys(store.methods, computedSignalsKeys);\n\n return {\n ...store,\n stateSignals,\n computedSignals: { ...store.computedSignals, ...computedSignals },\n methods,\n } as InnerSignalStore<Record<string, unknown>, ComputedSignals>;\n };\n}\n","import { STATE_SIGNAL, StateSignal } from './state-signal';\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['computed'] &\n Input['methods'] &\n StateSignal<Prettify<Input['state']>>\n >\n) => void;\n\ntype HooksFactory<Input extends SignalStoreFeatureResult> = (\n store: Prettify<\n StateSignals<Input['state']> &\n Input['computed'] &\n Input['methods'] &\n StateSignal<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 storeProps = {\n [STATE_SIGNAL]: store[STATE_SIGNAL],\n ...store.stateSignals,\n ...store.computedSignals,\n ...store.methods,\n };\n const hooks =\n typeof hooksOrFactory === 'function'\n ? hooksOrFactory(storeProps)\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(storeProps);\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, StateSignal } from './state-signal';\nimport {\n EmptyFeatureResult,\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['computed'] &\n Input['methods'] &\n StateSignal<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.stateSignals,\n ...store.computedSignals,\n ...store.methods,\n });\n const methodsKeys = Object.keys(methods);\n const stateSignals = excludeKeys(store.stateSignals, methodsKeys);\n const computedSignals = excludeKeys(store.computedSignals, methodsKeys);\n\n return {\n ...store,\n stateSignals,\n computedSignals,\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 './state-signal';\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 EmptyFeatureResult & { state: State }\n>;\nexport function withState<State extends object>(\n state: State\n): SignalStoreFeature<\n EmptyFeatureResult,\n EmptyFeatureResult & { state: State }\n>;\nexport function withState<State extends object>(\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 stateSignals = stateKeys.reduce((acc, key) => {\n const sliceSignal = computed(\n () => (store[STATE_SIGNAL]() as Record<string, unknown>)[key]\n );\n return { ...acc, [key]: toDeepSignal(sliceSignal) };\n }, {} as SignalsDictionary);\n const computedSignals = excludeKeys(store.computedSignals, stateKeys);\n const methods = excludeKeys(store.methods, stateKeys);\n\n return {\n ...store,\n stateSignals: { ...store.stateSignals, ...stateSignals },\n computedSignals,\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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"}
1
+ {"version":3,"file":"ngrx-signals.mjs","sources":["../../../../modules/signals/src/state-source.ts","../../../../modules/signals/src/deep-signal.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-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 {\n assertInInjectionContext,\n DestroyRef,\n inject,\n Injector,\n Signal,\n untracked,\n WritableSignal,\n} from '@angular/core';\nimport { SIGNAL } from '@angular/core/primitives/signals';\nimport { Prettify } from './ts-helpers';\n\nconst STATE_WATCHERS = new WeakMap<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 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][SIGNAL] as object) || [];\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][SIGNAL] as object, [\n ...watchers,\n watcher,\n ]);\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][SIGNAL] as object,\n watchers.filter((w) => w !== watcher)\n );\n}\n","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\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value?.constructor === Object;\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 { Prettify } from './ts-helpers';\n\ntype SignalStoreConfig = { providedIn?: 'root'; protectedState?: boolean };\n\ntype SignalStoreMembers<FeatureResult extends SignalStoreFeatureResult> =\n Prettify<\n StateSignals<FeatureResult['state']> &\n FeatureResult['computed'] &\n FeatureResult['methods']\n >;\n\nexport function signalStore<F1 extends SignalStoreFeatureResult>(\n f1: SignalStoreFeature<EmptyFeatureResult, F1>\n): Type<SignalStoreMembers<F1> & StateSource<Prettify<F1['state']>>>;\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<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<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<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<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<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<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<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<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<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<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<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<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<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<R['state']>>>;\n\nexport function signalStore<F1 extends SignalStoreFeatureResult>(\n config: { providedIn?: 'root'; protectedState?: true },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>\n): Type<SignalStoreMembers<F1> & StateSource<Prettify<F1['state']>>>;\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<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<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<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<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<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<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<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<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<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<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<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<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<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<R['state']>>>;\n\nexport function signalStore<F1 extends SignalStoreFeatureResult>(\n config: { providedIn?: 'root'; protectedState: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>\n): Type<SignalStoreMembers<F1> & WritableStateSource<Prettify<F1['state']>>>;\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<SignalStoreMembers<R> & WritableStateSource<Prettify<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: false },\n f1: SignalStoreFeature<EmptyFeatureResult, F1>,\n f2: SignalStoreFeature<{} & F1, F2>,\n f3: SignalStoreFeature<F1 & F2, F3>\n): Type<SignalStoreMembers<R> & WritableStateSource<Prettify<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: 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<SignalStoreMembers<R> & WritableStateSource<Prettify<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: 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<SignalStoreMembers<R> & WritableStateSource<Prettify<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: 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<SignalStoreMembers<R> & WritableStateSource<Prettify<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: 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<SignalStoreMembers<R> & WritableStateSource<Prettify<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: 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<SignalStoreMembers<R> & WritableStateSource<Prettify<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: 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<SignalStoreMembers<R> & WritableStateSource<Prettify<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: 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<SignalStoreMembers<R> & WritableStateSource<Prettify<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: 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<SignalStoreMembers<R> & WritableStateSource<Prettify<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: 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<SignalStoreMembers<R> & WritableStateSource<Prettify<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: 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<SignalStoreMembers<R> & WritableStateSource<Prettify<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: 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<SignalStoreMembers<R> & WritableStateSource<Prettify<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: 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<SignalStoreMembers<R> & WritableStateSource<Prettify<R['state']>>>;\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, computedSignals, methods, hooks } = innerStore;\n const storeMembers = { ...stateSignals, ...computedSignals, ...methods };\n\n (this as any)[STATE_SOURCE] =\n config.protectedState === false\n ? innerStore[STATE_SOURCE]\n : innerStore[STATE_SOURCE].asReadonly();\n\n for (const key in 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 computedSignals: {},\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 computed: Prettify<Result['computed']>;\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: string[]\n): void {\n if (!ngDevMode) {\n return;\n }\n\n const storeMembers = {\n ...store.stateSignals,\n ...store.computedSignals,\n ...store.methods,\n };\n const overriddenKeys = Object.keys(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.join(', ')\n );\n }\n}\n","import { assertUniqueStoreMembers } from './signal-store-assertions';\nimport {\n InnerSignalStore,\n SignalsDictionary,\n SignalStoreFeature,\n SignalStoreFeatureResult,\n StateSignals,\n} from './signal-store-models';\nimport { Prettify } from './ts-helpers';\n\nexport function withComputed<\n Input extends SignalStoreFeatureResult,\n ComputedSignals extends SignalsDictionary\n>(\n signalsFactory: (\n store: Prettify<StateSignals<Input['state']> & Input['computed']>\n ) => ComputedSignals\n): SignalStoreFeature<\n Input,\n { state: {}; computed: ComputedSignals; methods: {} }\n> {\n return (store) => {\n const computedSignals = signalsFactory({\n ...store.stateSignals,\n ...store.computedSignals,\n });\n assertUniqueStoreMembers(store, Object.keys(computedSignals));\n\n return {\n ...store,\n computedSignals: { ...store.computedSignals, ...computedSignals },\n } as InnerSignalStore<Record<string, unknown>, ComputedSignals>;\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['computed'] &\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['computed'] &\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.computedSignals,\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['computed'] &\n Input['methods'] &\n WritableStateSource<Prettify<Input['state']>>\n >\n ) => Methods\n): SignalStoreFeature<Input, { state: {}; computed: {}; methods: Methods }> {\n return (store) => {\n const methods = methodsFactory({\n [STATE_SOURCE]: store[STATE_SOURCE],\n ...store.stateSignals,\n ...store.computedSignals,\n ...store.methods,\n });\n assertUniqueStoreMembers(store, Object.keys(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; computed: {}; methods: {} }\n>;\nexport function withState<State extends object>(\n state: State\n): SignalStoreFeature<\n EmptyFeatureResult,\n { state: State; computed: {}; methods: {} }\n>;\nexport function withState<State extends object>(\n stateOrFactory: State | (() => State)\n): SignalStoreFeature<\n SignalStoreFeatureResult,\n { state: State; computed: {}; methods: {} }\n> {\n return (store) => {\n const state =\n typeof stateOrFactory === 'function' ? stateOrFactory() : stateOrFactory;\n const stateKeys = Object.keys(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, 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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"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var schematics_core_1 = require("../../schematics-core");
4
+ var ts = require("typescript");
5
+ var schematics_core_2 = require("../../schematics-core");
6
+ function migrateWritableStateSource() {
7
+ return function (tree, ctx) {
8
+ (0, schematics_core_1.visitTSSourceFiles)(tree, function (sourceFile) {
9
+ var signalStoreImportedName = findImportedName(sourceFile);
10
+ if (!signalStoreImportedName) {
11
+ return;
12
+ }
13
+ var changes = [];
14
+ visitCallExpression(sourceFile, signalStoreImportedName, function (node) {
15
+ if (node.arguments.length > 0) {
16
+ if (ts.isObjectLiteralExpression(node.arguments[0])) {
17
+ // signalStore({ providedIn: 'root' })
18
+ var providedInProperty = node.arguments[0].properties[0];
19
+ if (ts.isPropertyAssignment(providedInProperty) &&
20
+ ts.isIdentifier(providedInProperty.name) &&
21
+ providedInProperty.name.text === 'providedIn') {
22
+ changes.push((0, schematics_core_1.createReplaceChange)(sourceFile, providedInProperty, providedInProperty.getText(), "".concat(providedInProperty.getText(), ", protectedState: false")));
23
+ }
24
+ }
25
+ else {
26
+ // signalStore(withState({}))
27
+ var firstFeature = node.arguments[0];
28
+ changes.push((0, schematics_core_1.createReplaceChange)(sourceFile, firstFeature, firstFeature.getText(), "{ protectedState: false }, ".concat(firstFeature.getText())));
29
+ }
30
+ }
31
+ else {
32
+ // signalStore()
33
+ changes.push((0, schematics_core_1.createReplaceChange)(sourceFile, node, node.getText(), "".concat(signalStoreImportedName, "({ protectedState: false })")));
34
+ }
35
+ });
36
+ if (changes.length) {
37
+ (0, schematics_core_2.commitChanges)(tree, sourceFile.fileName, changes);
38
+ ctx.logger.info("[@ngrx/signals] Disable protected state in ".concat(sourceFile.fileName));
39
+ }
40
+ });
41
+ };
42
+ }
43
+ exports.default = migrateWritableStateSource;
44
+ function visitCallExpression(node, name, callback) {
45
+ if (ts.isCallExpression(node) &&
46
+ ts.isIdentifier(node.expression) &&
47
+ node.expression.text === name) {
48
+ callback(node);
49
+ }
50
+ ts.forEachChild(node, function (child) {
51
+ visitCallExpression(child, name, callback);
52
+ });
53
+ }
54
+ function visitImportDeclaration(node, callback) {
55
+ if (ts.isImportDeclaration(node)) {
56
+ callback(node);
57
+ }
58
+ ts.forEachChild(node, function (child) {
59
+ visitImportDeclaration(child, callback);
60
+ });
61
+ }
62
+ function findImportedName(source) {
63
+ var importedName = '';
64
+ visitImportDeclaration(source, function (importDeclaration) {
65
+ var _a;
66
+ if (importDeclaration.moduleSpecifier.getText().includes('@ngrx/signals')) {
67
+ if (importedName) {
68
+ return;
69
+ }
70
+ var namedBindings = (_a = importDeclaration.importClause) === null || _a === void 0 ? void 0 : _a.namedBindings;
71
+ if (namedBindings && ts.isNamedImports(namedBindings)) {
72
+ var foundImportedName = namedBindings.elements
73
+ .map(function (importSpecifier) {
74
+ if (importSpecifier.propertyName &&
75
+ importSpecifier.propertyName.text === 'signalStore') {
76
+ return importSpecifier.name.text;
77
+ }
78
+ else if (importSpecifier.name.text === 'signalStore') {
79
+ return 'signalStore';
80
+ }
81
+ return undefined;
82
+ })
83
+ .find(Boolean);
84
+ if (foundImportedName) {
85
+ importedName = foundImportedName;
86
+ return;
87
+ }
88
+ }
89
+ }
90
+ });
91
+ return importedName;
92
+ }
93
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../modules/signals/migrations/18_0_0-rc_3-protected-state/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Change,\n createReplaceChange,\n visitTSSourceFiles,\n} from '../../schematics-core';\nimport { Rule, SchematicContext, Tree } from '@angular-devkit/schematics';\nimport * as ts from 'typescript';\nimport { commitChanges } from '../../schematics-core';\n\nexport default function migrateWritableStateSource(): Rule {\n return (tree: Tree, ctx: SchematicContext) => {\n visitTSSourceFiles(tree, (sourceFile) => {\n const signalStoreImportedName = findImportedName(sourceFile);\n if (!signalStoreImportedName) {\n return;\n }\n\n const changes: Change[] = [];\n visitCallExpression(sourceFile, signalStoreImportedName, (node) => {\n if (node.arguments.length > 0) {\n if (ts.isObjectLiteralExpression(node.arguments[0])) {\n // signalStore({ providedIn: 'root' })\n const providedInProperty = node.arguments[0].properties[0];\n\n if (\n ts.isPropertyAssignment(providedInProperty) &&\n ts.isIdentifier(providedInProperty.name) &&\n providedInProperty.name.text === 'providedIn'\n ) {\n changes.push(\n createReplaceChange(\n sourceFile,\n providedInProperty,\n providedInProperty.getText(),\n `${providedInProperty.getText()}, protectedState: false`\n )\n );\n }\n } else {\n // signalStore(withState({}))\n const firstFeature = node.arguments[0];\n changes.push(\n createReplaceChange(\n sourceFile,\n firstFeature,\n firstFeature.getText(),\n `{ protectedState: false }, ${firstFeature.getText()}`\n )\n );\n }\n } else {\n // signalStore()\n changes.push(\n createReplaceChange(\n sourceFile,\n node,\n node.getText(),\n `${signalStoreImportedName}({ protectedState: false })`\n )\n );\n }\n });\n\n if (changes.length) {\n commitChanges(tree, sourceFile.fileName, changes);\n ctx.logger.info(\n `[@ngrx/signals] Disable protected state in ${sourceFile.fileName}`\n );\n }\n });\n };\n}\n\nfunction visitCallExpression(\n node: ts.Node,\n name: string,\n callback: (callExpression: ts.CallExpression) => void\n) {\n if (\n ts.isCallExpression(node) &&\n ts.isIdentifier(node.expression) &&\n node.expression.text === name\n ) {\n callback(node);\n }\n\n ts.forEachChild(node, (child) => {\n visitCallExpression(child, name, callback);\n });\n}\n\nfunction visitImportDeclaration(\n node: ts.Node,\n callback: (importDeclaration: ts.ImportDeclaration) => void\n) {\n if (ts.isImportDeclaration(node)) {\n callback(node);\n }\n\n ts.forEachChild(node, (child) => {\n visitImportDeclaration(child, callback);\n });\n}\n\nfunction findImportedName(source: ts.SourceFile) {\n let importedName = '';\n visitImportDeclaration(source, (importDeclaration) => {\n if (importDeclaration.moduleSpecifier.getText().includes('@ngrx/signals')) {\n if (importedName) {\n return;\n }\n\n const namedBindings = importDeclaration.importClause?.namedBindings;\n if (namedBindings && ts.isNamedImports(namedBindings)) {\n const foundImportedName = namedBindings.elements\n .map((importSpecifier) => {\n if (\n importSpecifier.propertyName &&\n importSpecifier.propertyName.text === 'signalStore'\n ) {\n return importSpecifier.name.text;\n } else if (importSpecifier.name.text === 'signalStore') {\n return 'signalStore';\n }\n return undefined;\n })\n .find(Boolean);\n\n if (foundImportedName) {\n importedName = foundImportedName;\n return;\n }\n }\n }\n });\n\n return importedName;\n}\n"]}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.migrateWritableStateSource = void 0;
4
+ var ts = require("typescript");
5
+ var schematics_1 = require("@angular-devkit/schematics");
6
+ var schematics_core_1 = require("../../schematics-core");
7
+ function migrateWritableStateSource() {
8
+ return function (tree, ctx) {
9
+ var updateCounter = 0;
10
+ ctx.logger.info("[@ngrx/signals] Migrating 'StateSignal' to 'WritableStateSource'");
11
+ (0, schematics_core_1.visitTSSourceFiles)(tree, function (sourceFile) {
12
+ var changes = (0, schematics_core_1.replaceImport)(sourceFile, sourceFile.fileName, '@ngrx/signals', 'StateSignal', 'WritableStateSource');
13
+ if (changes.length) {
14
+ visitIdentifiers(sourceFile, function (node) {
15
+ if (node.getText() === 'StateSignal' &&
16
+ !ts.isImportSpecifier(node.parent)) {
17
+ changes.push((0, schematics_core_1.createReplaceChange)(sourceFile, node, 'StateSignal', 'WritableStateSource'));
18
+ updateCounter++;
19
+ }
20
+ });
21
+ }
22
+ (0, schematics_core_1.commitChanges)(tree, sourceFile.fileName, changes);
23
+ });
24
+ if (updateCounter) {
25
+ ctx.logger.info("[@ngrx/signals] Updated ".concat(updateCounter, " references from 'StateSignal' to 'WritableStateSource'"));
26
+ }
27
+ else {
28
+ ctx.logger.info("[@ngrx/signals] No 'StateSignal' refences found to, skipping the migration");
29
+ }
30
+ };
31
+ }
32
+ exports.migrateWritableStateSource = migrateWritableStateSource;
33
+ function visitIdentifiers(node, visitor) {
34
+ if (ts.isIdentifier(node)) {
35
+ visitor(node);
36
+ }
37
+ ts.forEachChild(node, function (childNode) { return visitIdentifiers(childNode, visitor); });
38
+ }
39
+ function default_1() {
40
+ return (0, schematics_1.chain)([migrateWritableStateSource()]);
41
+ }
42
+ exports.default = default_1;
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../modules/signals/migrations/18_0_0-rc_3-writablestatesource/index.ts"],"names":[],"mappings":";;;AAAA,+BAAiC;AACjC,yDAKoC;AACpC,yDAK+B;AAG/B,SAAgB,0BAA0B;IACxC,OAAO,UAAC,IAAU,EAAE,GAAqB;QACvC,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,kEAAkE,CACnE,CAAC;QAEF,IAAA,oCAAkB,EAAC,IAAI,EAAE,UAAC,UAAU;YAClC,IAAM,OAAO,GAAG,IAAA,+BAAa,EAC3B,UAAU,EACV,UAAU,CAAC,QAAgB,EAC3B,eAAe,EACf,aAAa,EACb,qBAAqB,CACtB,CAAC;YAEF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,gBAAgB,CAAC,UAAU,EAAE,UAAC,IAAI;oBAChC,IACE,IAAI,CAAC,OAAO,EAAE,KAAK,aAAa;wBAChC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,EAClC,CAAC;wBACD,OAAO,CAAC,IAAI,CACV,IAAA,qCAAmB,EACjB,UAAU,EACV,IAAI,EACJ,aAAa,EACb,qBAAqB,CACtB,CACF,CAAC;wBACF,aAAa,EAAE,CAAC;oBAClB,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAA,+BAAa,EAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,IAAI,aAAa,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,kCAA2B,aAAa,4DAAyD,CAClG,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,4EAA4E,CAC7E,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAhDD,gEAgDC;AAED,SAAS,gBAAgB,CACvB,IAAa,EACb,OAAsC;IAEtC,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,UAAC,SAAS,IAAK,OAAA,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,EAApC,CAAoC,CAAC,CAAC;AAC7E,CAAC;AAED;IACE,OAAO,IAAA,kBAAK,EAAC,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;AAC/C,CAAC;AAFD,4BAEC","sourcesContent":["import * as ts from 'typescript';\nimport {\n Tree,\n Rule,\n chain,\n SchematicContext,\n} from '@angular-devkit/schematics';\nimport {\n commitChanges,\n createReplaceChange,\n replaceImport,\n visitTSSourceFiles,\n} from '../../schematics-core';\nimport { Path } from '@angular-devkit/core';\n\nexport function migrateWritableStateSource(): Rule {\n return (tree: Tree, ctx: SchematicContext) => {\n let updateCounter = 0;\n ctx.logger.info(\n `[@ngrx/signals] Migrating 'StateSignal' to 'WritableStateSource'`\n );\n\n visitTSSourceFiles(tree, (sourceFile) => {\n const changes = replaceImport(\n sourceFile,\n sourceFile.fileName as Path,\n '@ngrx/signals',\n 'StateSignal',\n 'WritableStateSource'\n );\n\n if (changes.length) {\n visitIdentifiers(sourceFile, (node) => {\n if (\n node.getText() === 'StateSignal' &&\n !ts.isImportSpecifier(node.parent)\n ) {\n changes.push(\n createReplaceChange(\n sourceFile,\n node,\n 'StateSignal',\n 'WritableStateSource'\n )\n );\n updateCounter++;\n }\n });\n }\n\n commitChanges(tree, sourceFile.fileName, changes);\n });\n\n if (updateCounter) {\n ctx.logger.info(\n `[@ngrx/signals] Updated ${updateCounter} references from 'StateSignal' to 'WritableStateSource'`\n );\n } else {\n ctx.logger.info(\n `[@ngrx/signals] No 'StateSignal' refences found to, skipping the migration`\n );\n }\n };\n}\n\nfunction visitIdentifiers(\n node: ts.Node,\n visitor: (node: ts.Identifier) => void\n) {\n if (ts.isIdentifier(node)) {\n visitor(node);\n }\n\n ts.forEachChild(node, (childNode) => visitIdentifiers(childNode, visitor));\n}\n\nexport default function (): Rule {\n return chain([migrateWritableStateSource()]);\n}\n"]}
@@ -1,4 +1,15 @@
1
1
  {
2
2
  "$schema": "../../../node_modules/@angular-devkit/schematics/collection-schema.json",
3
- "schematics": {}
3
+ "schematics": {
4
+ "18_0_0-rc_3-protected-state": {
5
+ "description": "Make the state of all existing SignalStores unprotected",
6
+ "version": "18.0.0-rc.3",
7
+ "factory": "./18_0_0-rc_3-protected-state/index"
8
+ },
9
+ "18_0_0-rc_3-writablestatesource": {
10
+ "description": "Replace StateSignal usages with WritableStateSource",
11
+ "version": "18.0.0-rc.3",
12
+ "factory": "./18_0_0-rc_3-writablestatesource/index"
13
+ }
14
+ }
4
15
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngrx/signals",
3
- "version": "18.0.0-rc.2",
3
+ "version": "18.0.0-rc.3",
4
4
  "description": "Reactive Store and Set of Utilities for Angular Signals",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,7 +1,6 @@
1
1
  import { Injector, Signal } from '@angular/core';
2
2
  import { Observable, Unsubscribable } from 'rxjs';
3
- type RxMethodInput<Input> = Input | Observable<Input> | Signal<Input>;
4
- type RxMethod<Input> = ((input: RxMethodInput<Input>) => Unsubscribable) & Unsubscribable;
3
+ type RxMethod<Input> = ((input: Input | Signal<Input> | Observable<Input>) => Unsubscribable) & Unsubscribable;
5
4
  export declare function rxMethod<Input>(generator: (source$: Observable<Input>) => Observable<unknown>, config?: {
6
5
  injector?: Injector;
7
6
  }): RxMethod<Input>;
package/src/index.d.ts CHANGED
@@ -1,11 +1,10 @@
1
1
  export { DeepSignal } from './deep-signal';
2
- export { getState } from './get-state';
3
- export { PartialStateUpdater, patchState } from './patch-state';
4
- export { signalState } from './signal-state';
2
+ export { signalState, SignalState } from './signal-state';
5
3
  export { signalStore } from './signal-store';
6
4
  export { signalStoreFeature, type } from './signal-store-feature';
7
- export { SignalStoreFeature } from './signal-store-models';
8
- export { StateSignal } from './state-signal';
5
+ export { EmptyFeatureResult, SignalStoreFeature, SignalStoreFeatureResult, StateSignals, } from './signal-store-models';
6
+ export { getState, PartialStateUpdater, patchState, StateSource, watchState, WritableStateSource, } from './state-source';
7
+ export { Prettify } from './ts-helpers';
9
8
  export { withComputed } from './with-computed';
10
9
  export { withHooks } from './with-hooks';
11
10
  export { withMethods } from './with-methods';
@@ -1,5 +1,4 @@
1
- import { StateSignal } from './state-signal';
1
+ import { WritableStateSource } from './state-source';
2
2
  import { DeepSignal } from './deep-signal';
3
- type SignalState<State extends object> = DeepSignal<State> & StateSignal<State>;
3
+ export type SignalState<State extends object> = DeepSignal<State> & WritableStateSource<State>;
4
4
  export declare function signalState<State extends object>(initialState: State): SignalState<State>;
5
- export {};
@@ -0,0 +1,2 @@
1
+ import { InnerSignalStore } from './signal-store-models';
2
+ export declare function assertUniqueStoreMembers(store: InnerSignalStore, newMemberKeys: string[]): void;