@angular-architects/ngrx-toolkit 19.2.0 → 20.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/fesm2022/angular-architects-ngrx-toolkit-redux-connector.mjs +3 -3
  2. package/fesm2022/angular-architects-ngrx-toolkit-redux-connector.mjs.map +1 -1
  3. package/fesm2022/angular-architects-ngrx-toolkit.mjs +36 -34
  4. package/fesm2022/angular-architects-ngrx-toolkit.mjs.map +1 -1
  5. package/index.d.ts +938 -24
  6. package/package.json +5 -5
  7. package/redux-connector/index.d.ts +59 -2
  8. package/lib/assertions/assertions.d.ts +0 -2
  9. package/lib/devtools/features/with-disabled-name-indicies.d.ts +0 -27
  10. package/lib/devtools/features/with-glitch-tracking.d.ts +0 -30
  11. package/lib/devtools/features/with-mapper.d.ts +0 -28
  12. package/lib/devtools/internal/current-action-names.d.ts +0 -1
  13. package/lib/devtools/internal/default-tracker.d.ts +0 -13
  14. package/lib/devtools/internal/devtools-feature.d.ts +0 -24
  15. package/lib/devtools/internal/devtools-syncer.service.d.ts +0 -35
  16. package/lib/devtools/internal/glitch-tracker.service.d.ts +0 -18
  17. package/lib/devtools/internal/models.d.ts +0 -24
  18. package/lib/devtools/provide-devtools-config.d.ts +0 -20
  19. package/lib/devtools/rename-devtools-name.d.ts +0 -7
  20. package/lib/devtools/update-state.d.ts +0 -16
  21. package/lib/devtools/with-dev-tools-stub.d.ts +0 -5
  22. package/lib/devtools/with-devtools.d.ts +0 -24
  23. package/lib/immutable-state/deep-freeze.d.ts +0 -11
  24. package/lib/immutable-state/is-dev-mode.d.ts +0 -1
  25. package/lib/immutable-state/with-immutable-state.d.ts +0 -60
  26. package/lib/shared/prettify.d.ts +0 -3
  27. package/lib/shared/signal-store-models.d.ts +0 -26
  28. package/lib/shared/throw-if-null.d.ts +0 -1
  29. package/lib/storage-sync/features/with-indexed-db.d.ts +0 -2
  30. package/lib/storage-sync/features/with-local-storage.d.ts +0 -3
  31. package/lib/storage-sync/internal/indexeddb.service.d.ts +0 -29
  32. package/lib/storage-sync/internal/local-storage.service.d.ts +0 -8
  33. package/lib/storage-sync/internal/models.d.ts +0 -34
  34. package/lib/storage-sync/internal/session-storage.service.d.ts +0 -8
  35. package/lib/storage-sync/with-storage-sync.d.ts +0 -45
  36. package/lib/with-call-state.d.ts +0 -58
  37. package/lib/with-conditional.d.ts +0 -50
  38. package/lib/with-data-service.d.ts +0 -109
  39. package/lib/with-feature-factory.d.ts +0 -28
  40. package/lib/with-pagination.d.ts +0 -101
  41. package/lib/with-redux.d.ts +0 -147
  42. package/lib/with-reset.d.ts +0 -29
  43. package/lib/with-undo-redo.d.ts +0 -31
  44. package/redux-connector/src/lib/create-redux.d.ts +0 -13
  45. package/redux-connector/src/lib/model.d.ts +0 -40
  46. package/redux-connector/src/lib/rxjs-interop/redux-method.d.ts +0 -14
  47. package/redux-connector/src/lib/signal-redux-store.d.ts +0 -11
  48. package/redux-connector/src/lib/util.d.ts +0 -5
@@ -42,10 +42,10 @@ class SignalReduxStore {
42
42
  resultMethod: mapper.resultMethod,
43
43
  })));
44
44
  }
45
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SignalReduxStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
46
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SignalReduxStore, providedIn: 'root' }); }
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: SignalReduxStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
46
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: SignalReduxStore, providedIn: 'root' }); }
47
47
  }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SignalReduxStore, decorators: [{
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: SignalReduxStore, decorators: [{
49
49
  type: Injectable,
50
50
  args: [{
51
51
  providedIn: 'root',
@@ -1 +1 @@
1
- {"version":3,"file":"angular-architects-ngrx-toolkit-redux-connector.mjs","sources":["../../../../libs/ngrx-toolkit/redux-connector/src/lib/util.ts","../../../../libs/ngrx-toolkit/redux-connector/src/lib/signal-redux-store.ts","../../../../libs/ngrx-toolkit/redux-connector/src/lib/create-redux.ts","../../../../libs/ngrx-toolkit/redux-connector/src/lib/rxjs-interop/redux-method.ts","../../../../libs/ngrx-toolkit/redux-connector/angular-architects-ngrx-toolkit-redux-connector.ts"],"sourcesContent":["import { ActionCreator } from '@ngrx/store';\nimport { Unsubscribable } from 'rxjs';\n\nexport function isUnsubscribable<F extends (...args: unknown[]) => unknown>(\n fn: F | (F & Unsubscribable),\n): fn is F & Unsubscribable {\n return !!(fn as F & Unsubscribable)?.unsubscribe;\n}\n\nexport function capitalize(str: string): string {\n return str ? str[0].toUpperCase() + str.substring(1) : str;\n}\n\nexport function isActionCreator(action: unknown): action is ActionCreator {\n return Boolean(\n typeof action === 'function' &&\n action &&\n 'type' in action &&\n action.type &&\n typeof action.type === 'string',\n );\n}\n","import { Injectable, inject } from '@angular/core';\nimport { rxMethod } from '@ngrx/signals/rxjs-interop';\nimport { Action, ActionCreator } from '@ngrx/store';\nimport { pipe, tap } from 'rxjs';\nimport { MapperTypes } from './model';\nimport { isUnsubscribable } from './util';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SignalReduxStore {\n private mapperDict: Record<\n string,\n {\n storeMethod: (...args: unknown[]) => unknown;\n resultMethod?: (...args: unknown[]) => unknown;\n }\n > = {};\n\n dispatch = rxMethod<Action>(\n pipe(\n tap((action: Action) => {\n const callbacks = this.mapperDict[action.type];\n if (callbacks?.storeMethod) {\n if (\n isUnsubscribable(callbacks.storeMethod) &&\n callbacks.resultMethod\n ) {\n return callbacks.storeMethod(action, (a: Action) => {\n const resultAction = callbacks.resultMethod?.(a) as Action;\n this.dispatch(resultAction);\n });\n }\n\n return callbacks?.storeMethod(action);\n }\n\n return;\n }),\n ),\n );\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n connectFeatureStore(mappers: MapperTypes<ActionCreator<any, any>[]>[]): void {\n mappers.forEach((mapper) =>\n mapper.types.forEach(\n (action) =>\n (this.mapperDict[action] = {\n storeMethod: mapper.storeMethod,\n resultMethod: mapper.resultMethod,\n }),\n ),\n );\n }\n}\n\nexport function injectReduxDispatch() {\n return inject(SignalReduxStore).dispatch;\n}\n","import {\n inject,\n makeEnvironmentProviders,\n provideEnvironmentInitializer,\n} from '@angular/core';\nimport { ActionCreator, ActionType } from '@ngrx/store/src/models';\nimport {\n CreateReduxState,\n ExtractActionTypes,\n MapperTypes,\n ServiceWithDecorator,\n Store,\n} from './model';\nimport { SignalReduxStore, injectReduxDispatch } from './signal-redux-store';\nimport { capitalize, isActionCreator } from './util';\n\nexport function mapAction<Creators extends readonly ActionCreator[]>(\n ...args: [\n ...creators: Creators,\n storeMethod: (action: ActionType<Creators[number]>) => unknown,\n ]\n): MapperTypes<Creators>;\nexport function mapAction<Creators extends readonly ActionCreator[], T>(\n ...args: [\n ...creators: Creators,\n storeMethod: (\n action: ActionType<Creators[number]>,\n resultMethod: (input: T) => unknown,\n ) => unknown,\n resultMethod: (input: T) => unknown,\n ]\n): MapperTypes<Creators>;\nexport function mapAction<Creators extends readonly ActionCreator[]>(\n ...args: [\n ...creators: Creators,\n storeMethod: (action: ActionType<Creators[number]>) => unknown,\n resultMethod?: (input: unknown) => unknown,\n ]\n): MapperTypes<Creators> {\n let resultMethod = args.pop() as unknown as\n | ((input: unknown) => unknown)\n | undefined;\n let storeMethod = args.pop() as unknown as (\n action: ActionType<Creators[number]>,\n ) => unknown;\n\n if (isActionCreator(storeMethod)) {\n args.push(storeMethod);\n storeMethod = resultMethod || storeMethod;\n resultMethod = undefined;\n }\n\n const types = (args as unknown as Creators).map(\n (creator) => creator.type,\n ) as unknown as ExtractActionTypes<Creators>;\n\n return {\n types,\n storeMethod,\n resultMethod,\n };\n}\n\nexport function withActionMappers(\n ...mappers: MapperTypes<ActionCreator[]>[]\n): MapperTypes<ActionCreator[]>[] {\n return mappers;\n}\n\nexport function createReduxState<StoreName extends string, STORE extends Store>(\n storeName: StoreName,\n signalStore: STORE,\n withActionMappers: (\n store: InstanceType<STORE>,\n ) => MapperTypes<ActionCreator[]>[],\n): CreateReduxState<StoreName, STORE> {\n const isRootProvider =\n (signalStore as ServiceWithDecorator)?.ɵprov?.providedIn === 'root';\n return {\n [`provide${capitalize(storeName)}Store`]: (connectReduxDevtools = false) =>\n makeEnvironmentProviders([\n isRootProvider ? [] : signalStore,\n provideEnvironmentInitializer(() => {\n const initializerFn = (\n (\n signalReduxStore = inject(SignalReduxStore),\n store = inject(signalStore),\n ) =>\n () => {\n if (connectReduxDevtools) {\n // addStoreToReduxDevtools(store, storeName, false);\n }\n signalReduxStore.connectFeatureStore(withActionMappers(store));\n }\n )();\n return initializerFn();\n }),\n ]),\n [`inject${capitalize(storeName)}Store`]: () =>\n Object.assign(inject(signalStore), { dispatch: injectReduxDispatch() }),\n } as CreateReduxState<StoreName, STORE>;\n}\n","import { Injector, Signal, inject } from '@angular/core';\nimport { rxMethod } from '@ngrx/signals/rxjs-interop';\nimport { Observable, Unsubscribable, map, pipe } from 'rxjs';\n\ntype RxMethodInput<Input> = Input | Observable<Input> | Signal<Input>;\n\ntype RxMethodRef = {\n destroy: () => void;\n};\n\ntype RxMethod<Input, MethodInput = Input, MethodResult = unknown> = ((\n input: RxMethodInput<Input>,\n resultMethod: (input: MethodInput) => MethodResult,\n) => RxMethodRef) &\n RxMethodRef;\n\nexport function reduxMethod<Input, MethodInput = Input>(\n generator: (source$: Observable<Input>) => Observable<MethodInput>,\n config?: { injector?: Injector },\n): RxMethod<Input, MethodInput>;\nexport function reduxMethod<Input, MethodInput = Input, MethodResult = unknown>(\n generator: (source$: Observable<Input>) => Observable<MethodInput>,\n resultMethod: (input: MethodInput) => MethodResult,\n config?: {\n injector?: Injector;\n },\n): RxMethod<Input, MethodInput, MethodResult>;\nexport function reduxMethod<Input, MethodInput = Input, MethodResult = unknown>(\n generator: (source$: Observable<Input>) => Observable<MethodInput>,\n resultMethodOrConfig?:\n | ((input: MethodInput) => MethodResult)\n | {\n injector?: Injector;\n },\n config?: {\n injector?: Injector;\n },\n): RxMethod<Input, MethodInput, MethodResult> {\n const injector = inject(Injector);\n\n if (typeof resultMethodOrConfig === 'function') {\n let unsubscribable: Unsubscribable;\n const inputResultFn = ((\n input: RxMethodInput<Input>,\n resultMethod = resultMethodOrConfig,\n ) => {\n const rxMethodWithResult = rxMethod<Input>(\n pipe(generator, map(resultMethod)),\n {\n ...(config || {}),\n injector: config?.injector || injector,\n },\n );\n const rxWithInput = rxMethodWithResult(input);\n unsubscribable = { unsubscribe: rxWithInput.destroy.bind(rxWithInput) };\n\n return rxWithInput;\n }) as RxMethod<Input, MethodInput, MethodResult>;\n\n inputResultFn.destroy = () => unsubscribable?.unsubscribe();\n\n return inputResultFn;\n }\n\n return rxMethod<Input>(generator, resultMethodOrConfig);\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":"angular-architects-ngrx-toolkit-redux-connector.mjs","sources":["../tmp-esm2022/redux-connector/src/lib/util.js","../tmp-esm2022/redux-connector/src/lib/signal-redux-store.js","../tmp-esm2022/redux-connector/src/lib/create-redux.js","../tmp-esm2022/redux-connector/src/lib/rxjs-interop/redux-method.js","../tmp-esm2022/redux-connector/angular-architects-ngrx-toolkit-redux-connector.js"],"sourcesContent":["export function isUnsubscribable(fn) {\n return !!fn?.unsubscribe;\n}\nexport function capitalize(str) {\n return str ? str[0].toUpperCase() + str.substring(1) : str;\n}\nexport function isActionCreator(action) {\n return Boolean(typeof action === 'function' &&\n action &&\n 'type' in action &&\n action.type &&\n typeof action.type === 'string');\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10b29sa2l0L3JlZHV4LWNvbm5lY3Rvci9zcmMvbGliL3V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixFQUE0QjtJQUU1QixPQUFPLENBQUMsQ0FBRSxFQUF5QixFQUFFLFdBQVcsQ0FBQztBQUNuRCxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxHQUFXO0lBQ3BDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQzdELENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLE1BQWU7SUFDN0MsT0FBTyxPQUFPLENBQ1osT0FBTyxNQUFNLEtBQUssVUFBVTtRQUMxQixNQUFNO1FBQ04sTUFBTSxJQUFJLE1BQU07UUFDaEIsTUFBTSxDQUFDLElBQUk7UUFDWCxPQUFPLE1BQU0sQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUNsQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbkNyZWF0b3IgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBVbnN1YnNjcmliYWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNVbnN1YnNjcmliYWJsZTxGIGV4dGVuZHMgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gdW5rbm93bj4oXG4gIGZuOiBGIHwgKEYgJiBVbnN1YnNjcmliYWJsZSksXG4pOiBmbiBpcyBGICYgVW5zdWJzY3JpYmFibGUge1xuICByZXR1cm4gISEoZm4gYXMgRiAmIFVuc3Vic2NyaWJhYmxlKT8udW5zdWJzY3JpYmU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYXBpdGFsaXplKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHN0ciA/IHN0clswXS50b1VwcGVyQ2FzZSgpICsgc3RyLnN1YnN0cmluZygxKSA6IHN0cjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQWN0aW9uQ3JlYXRvcihhY3Rpb246IHVua25vd24pOiBhY3Rpb24gaXMgQWN0aW9uQ3JlYXRvciB7XG4gIHJldHVybiBCb29sZWFuKFxuICAgIHR5cGVvZiBhY3Rpb24gPT09ICdmdW5jdGlvbicgJiZcbiAgICAgIGFjdGlvbiAmJlxuICAgICAgJ3R5cGUnIGluIGFjdGlvbiAmJlxuICAgICAgYWN0aW9uLnR5cGUgJiZcbiAgICAgIHR5cGVvZiBhY3Rpb24udHlwZSA9PT0gJ3N0cmluZycsXG4gICk7XG59XG4iXX0=","import { Injectable, inject } from '@angular/core';\nimport { rxMethod } from '@ngrx/signals/rxjs-interop';\nimport { pipe, tap } from 'rxjs';\nimport { isUnsubscribable } from './util';\nimport * as i0 from \"@angular/core\";\nexport class SignalReduxStore {\n constructor() {\n this.mapperDict = {};\n this.dispatch = rxMethod(pipe(tap((action) => {\n const callbacks = this.mapperDict[action.type];\n if (callbacks?.storeMethod) {\n if (isUnsubscribable(callbacks.storeMethod) &&\n callbacks.resultMethod) {\n return callbacks.storeMethod(action, (a) => {\n const resultAction = callbacks.resultMethod?.(a);\n this.dispatch(resultAction);\n });\n }\n return callbacks?.storeMethod(action);\n }\n return;\n })));\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n connectFeatureStore(mappers) {\n mappers.forEach((mapper) => mapper.types.forEach((action) => (this.mapperDict[action] = {\n storeMethod: mapper.storeMethod,\n resultMethod: mapper.resultMethod,\n })));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: SignalReduxStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: SignalReduxStore, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: SignalReduxStore, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\nexport function injectReduxDispatch() {\n return inject(SignalReduxStore).dispatch;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsLXJlZHV4LXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRvb2xraXQvcmVkdXgtY29ubmVjdG9yL3NyYy9saWIvc2lnbmFsLXJlZHV4LXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxRQUFRLENBQUM7O0FBSzFDLE1BQU0sT0FBTyxnQkFBZ0I7SUFIN0I7UUFJVSxlQUFVLEdBTWQsRUFBRSxDQUFDO1FBRVAsYUFBUSxHQUFHLFFBQVEsQ0FDakIsSUFBSSxDQUNGLEdBQUcsQ0FBQyxDQUFDLE1BQWMsRUFBRSxFQUFFO1lBQ3JCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9DLElBQUksU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDO2dCQUMzQixJQUNFLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUM7b0JBQ3ZDLFNBQVMsQ0FBQyxZQUFZLEVBQ3RCLENBQUM7b0JBQ0QsT0FBTyxTQUFTLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQVMsRUFBRSxFQUFFO3dCQUNqRCxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFXLENBQUM7d0JBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQzlCLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBRUQsT0FBTyxTQUFTLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hDLENBQUM7WUFFRCxPQUFPO1FBQ1QsQ0FBQyxDQUFDLENBQ0gsQ0FDRixDQUFDO0tBY0g7SUFaQyw4REFBOEQ7SUFDOUQsbUJBQW1CLENBQUMsT0FBaUQ7UUFDbkUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ3pCLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUNsQixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ1QsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHO1lBQ3pCLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztZQUMvQixZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVk7U0FDbEMsQ0FBQyxDQUNMLENBQ0YsQ0FBQztJQUNKLENBQUM7OEdBM0NVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7QUErQ0QsTUFBTSxVQUFVLG1CQUFtQjtJQUNqQyxPQUFPLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQztBQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyByeE1ldGhvZCB9IGZyb20gJ0BuZ3J4L3NpZ25hbHMvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEFjdGlvbiwgQWN0aW9uQ3JlYXRvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IHBpcGUsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWFwcGVyVHlwZXMgfSBmcm9tICcuL21vZGVsJztcbmltcG9ydCB7IGlzVW5zdWJzY3JpYmFibGUgfSBmcm9tICcuL3V0aWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2lnbmFsUmVkdXhTdG9yZSB7XG4gIHByaXZhdGUgbWFwcGVyRGljdDogUmVjb3JkPFxuICAgIHN0cmluZyxcbiAgICB7XG4gICAgICBzdG9yZU1ldGhvZDogKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gdW5rbm93bjtcbiAgICAgIHJlc3VsdE1ldGhvZD86ICguLi5hcmdzOiB1bmtub3duW10pID0+IHVua25vd247XG4gICAgfVxuICA+ID0ge307XG5cbiAgZGlzcGF0Y2ggPSByeE1ldGhvZDxBY3Rpb24+KFxuICAgIHBpcGUoXG4gICAgICB0YXAoKGFjdGlvbjogQWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IGNhbGxiYWNrcyA9IHRoaXMubWFwcGVyRGljdFthY3Rpb24udHlwZV07XG4gICAgICAgIGlmIChjYWxsYmFja3M/LnN0b3JlTWV0aG9kKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgaXNVbnN1YnNjcmliYWJsZShjYWxsYmFja3Muc3RvcmVNZXRob2QpICYmXG4gICAgICAgICAgICBjYWxsYmFja3MucmVzdWx0TWV0aG9kXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gY2FsbGJhY2tzLnN0b3JlTWV0aG9kKGFjdGlvbiwgKGE6IEFjdGlvbikgPT4ge1xuICAgICAgICAgICAgICBjb25zdCByZXN1bHRBY3Rpb24gPSBjYWxsYmFja3MucmVzdWx0TWV0aG9kPy4oYSkgYXMgQWN0aW9uO1xuICAgICAgICAgICAgICB0aGlzLmRpc3BhdGNoKHJlc3VsdEFjdGlvbik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gY2FsbGJhY2tzPy5zdG9yZU1ldGhvZChhY3Rpb24pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSksXG4gICAgKSxcbiAgKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBjb25uZWN0RmVhdHVyZVN0b3JlKG1hcHBlcnM6IE1hcHBlclR5cGVzPEFjdGlvbkNyZWF0b3I8YW55LCBhbnk+W10+W10pOiB2b2lkIHtcbiAgICBtYXBwZXJzLmZvckVhY2goKG1hcHBlcikgPT5cbiAgICAgIG1hcHBlci50eXBlcy5mb3JFYWNoKFxuICAgICAgICAoYWN0aW9uKSA9PlxuICAgICAgICAgICh0aGlzLm1hcHBlckRpY3RbYWN0aW9uXSA9IHtcbiAgICAgICAgICAgIHN0b3JlTWV0aG9kOiBtYXBwZXIuc3RvcmVNZXRob2QsXG4gICAgICAgICAgICByZXN1bHRNZXRob2Q6IG1hcHBlci5yZXN1bHRNZXRob2QsXG4gICAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFJlZHV4RGlzcGF0Y2goKSB7XG4gIHJldHVybiBpbmplY3QoU2lnbmFsUmVkdXhTdG9yZSkuZGlzcGF0Y2g7XG59XG4iXX0=","import { inject, makeEnvironmentProviders, provideEnvironmentInitializer, } from '@angular/core';\nimport { SignalReduxStore, injectReduxDispatch } from './signal-redux-store';\nimport { capitalize, isActionCreator } from './util';\nexport function mapAction(...args) {\n let resultMethod = args.pop();\n let storeMethod = args.pop();\n if (isActionCreator(storeMethod)) {\n args.push(storeMethod);\n storeMethod = resultMethod || storeMethod;\n resultMethod = undefined;\n }\n const types = args.map((creator) => creator.type);\n return {\n types,\n storeMethod,\n resultMethod,\n };\n}\nexport function withActionMappers(...mappers) {\n return mappers;\n}\nexport function createReduxState(storeName, signalStore, withActionMappers) {\n const isRootProvider = signalStore?.ɵprov?.providedIn === 'root';\n return {\n [`provide${capitalize(storeName)}Store`]: (connectReduxDevtools = false) => makeEnvironmentProviders([\n isRootProvider ? [] : signalStore,\n provideEnvironmentInitializer(() => {\n const initializerFn = ((signalReduxStore = inject(SignalReduxStore), store = inject(signalStore)) => () => {\n if (connectReduxDevtools) {\n // addStoreToReduxDevtools(store, storeName, false);\n }\n signalReduxStore.connectFeatureStore(withActionMappers(store));\n })();\n return initializerFn();\n }),\n ]),\n [`inject${capitalize(storeName)}Store`]: () => Object.assign(inject(signalStore), { dispatch: injectReduxDispatch() }),\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXJlZHV4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRvb2xraXQvcmVkdXgtY29ubmVjdG9yL3NyYy9saWIvY3JlYXRlLXJlZHV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxNQUFNLEVBQ04sd0JBQXdCLEVBQ3hCLDZCQUE2QixHQUM5QixNQUFNLGVBQWUsQ0FBQztBQVN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQWtCckQsTUFBTSxVQUFVLFNBQVMsQ0FDdkIsR0FBRyxJQUlGO0lBRUQsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFFZCxDQUFDO0lBQ2QsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFFZCxDQUFDO0lBRWIsSUFBSSxlQUFlLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZCLFdBQVcsR0FBRyxZQUFZLElBQUksV0FBVyxDQUFDO1FBQzFDLFlBQVksR0FBRyxTQUFTLENBQUM7SUFDM0IsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFJLElBQTRCLENBQUMsR0FBRyxDQUM3QyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDaUIsQ0FBQztJQUU3QyxPQUFPO1FBQ0wsS0FBSztRQUNMLFdBQVc7UUFDWCxZQUFZO0tBQ2IsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQy9CLEdBQUcsT0FBdUM7SUFFMUMsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsU0FBb0IsRUFDcEIsV0FBa0IsRUFDbEIsaUJBRW1DO0lBRW5DLE1BQU0sY0FBYyxHQUNqQixXQUFvQyxFQUFFLEtBQUssRUFBRSxVQUFVLEtBQUssTUFBTSxDQUFDO0lBQ3RFLE9BQU87UUFDTCxDQUFDLFVBQVUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLG9CQUFvQixHQUFHLEtBQUssRUFBRSxFQUFFLENBQ3pFLHdCQUF3QixDQUFDO1lBQ3ZCLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXO1lBQ2pDLDZCQUE2QixDQUFDLEdBQUcsRUFBRTtnQkFDakMsTUFBTSxhQUFhLEdBQUcsQ0FDcEIsQ0FDRSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsRUFDM0MsS0FBSyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFDM0IsRUFBRSxDQUNKLEdBQUcsRUFBRTtvQkFDSCxJQUFJLG9CQUFvQixFQUFFLENBQUM7d0JBQ3pCLG9EQUFvRDtvQkFDdEQsQ0FBQztvQkFDRCxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUNqRSxDQUFDLENBQ0YsRUFBRSxDQUFDO2dCQUNKLE9BQU8sYUFBYSxFQUFFLENBQUM7WUFDekIsQ0FBQyxDQUFDO1NBQ0gsQ0FBQztRQUNKLENBQUMsU0FBUyxVQUFVLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUM1QyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQUM7S0FDcEMsQ0FBQztBQUMxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgaW5qZWN0LFxuICBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMsXG4gIHByb3ZpZGVFbnZpcm9ubWVudEluaXRpYWxpemVyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbkNyZWF0b3IsIEFjdGlvblR5cGUgfSBmcm9tICdAbmdyeC9zdG9yZS9zcmMvbW9kZWxzJztcbmltcG9ydCB7XG4gIENyZWF0ZVJlZHV4U3RhdGUsXG4gIEV4dHJhY3RBY3Rpb25UeXBlcyxcbiAgTWFwcGVyVHlwZXMsXG4gIFNlcnZpY2VXaXRoRGVjb3JhdG9yLFxuICBTdG9yZSxcbn0gZnJvbSAnLi9tb2RlbCc7XG5pbXBvcnQgeyBTaWduYWxSZWR1eFN0b3JlLCBpbmplY3RSZWR1eERpc3BhdGNoIH0gZnJvbSAnLi9zaWduYWwtcmVkdXgtc3RvcmUnO1xuaW1wb3J0IHsgY2FwaXRhbGl6ZSwgaXNBY3Rpb25DcmVhdG9yIH0gZnJvbSAnLi91dGlsJztcblxuZXhwb3J0IGZ1bmN0aW9uIG1hcEFjdGlvbjxDcmVhdG9ycyBleHRlbmRzIHJlYWRvbmx5IEFjdGlvbkNyZWF0b3JbXT4oXG4gIC4uLmFyZ3M6IFtcbiAgICAuLi5jcmVhdG9yczogQ3JlYXRvcnMsXG4gICAgc3RvcmVNZXRob2Q6IChhY3Rpb246IEFjdGlvblR5cGU8Q3JlYXRvcnNbbnVtYmVyXT4pID0+IHVua25vd24sXG4gIF1cbik6IE1hcHBlclR5cGVzPENyZWF0b3JzPjtcbmV4cG9ydCBmdW5jdGlvbiBtYXBBY3Rpb248Q3JlYXRvcnMgZXh0ZW5kcyByZWFkb25seSBBY3Rpb25DcmVhdG9yW10sIFQ+KFxuICAuLi5hcmdzOiBbXG4gICAgLi4uY3JlYXRvcnM6IENyZWF0b3JzLFxuICAgIHN0b3JlTWV0aG9kOiAoXG4gICAgICBhY3Rpb246IEFjdGlvblR5cGU8Q3JlYXRvcnNbbnVtYmVyXT4sXG4gICAgICByZXN1bHRNZXRob2Q6IChpbnB1dDogVCkgPT4gdW5rbm93bixcbiAgICApID0+IHVua25vd24sXG4gICAgcmVzdWx0TWV0aG9kOiAoaW5wdXQ6IFQpID0+IHVua25vd24sXG4gIF1cbik6IE1hcHBlclR5cGVzPENyZWF0b3JzPjtcbmV4cG9ydCBmdW5jdGlvbiBtYXBBY3Rpb248Q3JlYXRvcnMgZXh0ZW5kcyByZWFkb25seSBBY3Rpb25DcmVhdG9yW10+KFxuICAuLi5hcmdzOiBbXG4gICAgLi4uY3JlYXRvcnM6IENyZWF0b3JzLFxuICAgIHN0b3JlTWV0aG9kOiAoYWN0aW9uOiBBY3Rpb25UeXBlPENyZWF0b3JzW251bWJlcl0+KSA9PiB1bmtub3duLFxuICAgIHJlc3VsdE1ldGhvZD86IChpbnB1dDogdW5rbm93bikgPT4gdW5rbm93bixcbiAgXVxuKTogTWFwcGVyVHlwZXM8Q3JlYXRvcnM+IHtcbiAgbGV0IHJlc3VsdE1ldGhvZCA9IGFyZ3MucG9wKCkgYXMgdW5rbm93biBhc1xuICAgIHwgKChpbnB1dDogdW5rbm93bikgPT4gdW5rbm93bilcbiAgICB8IHVuZGVmaW5lZDtcbiAgbGV0IHN0b3JlTWV0aG9kID0gYXJncy5wb3AoKSBhcyB1bmtub3duIGFzIChcbiAgICBhY3Rpb246IEFjdGlvblR5cGU8Q3JlYXRvcnNbbnVtYmVyXT4sXG4gICkgPT4gdW5rbm93bjtcblxuICBpZiAoaXNBY3Rpb25DcmVhdG9yKHN0b3JlTWV0aG9kKSkge1xuICAgIGFyZ3MucHVzaChzdG9yZU1ldGhvZCk7XG4gICAgc3RvcmVNZXRob2QgPSByZXN1bHRNZXRob2QgfHwgc3RvcmVNZXRob2Q7XG4gICAgcmVzdWx0TWV0aG9kID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgdHlwZXMgPSAoYXJncyBhcyB1bmtub3duIGFzIENyZWF0b3JzKS5tYXAoXG4gICAgKGNyZWF0b3IpID0+IGNyZWF0b3IudHlwZSxcbiAgKSBhcyB1bmtub3duIGFzIEV4dHJhY3RBY3Rpb25UeXBlczxDcmVhdG9ycz47XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlcyxcbiAgICBzdG9yZU1ldGhvZCxcbiAgICByZXN1bHRNZXRob2QsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3aXRoQWN0aW9uTWFwcGVycyhcbiAgLi4ubWFwcGVyczogTWFwcGVyVHlwZXM8QWN0aW9uQ3JlYXRvcltdPltdXG4pOiBNYXBwZXJUeXBlczxBY3Rpb25DcmVhdG9yW10+W10ge1xuICByZXR1cm4gbWFwcGVycztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlZHV4U3RhdGU8U3RvcmVOYW1lIGV4dGVuZHMgc3RyaW5nLCBTVE9SRSBleHRlbmRzIFN0b3JlPihcbiAgc3RvcmVOYW1lOiBTdG9yZU5hbWUsXG4gIHNpZ25hbFN0b3JlOiBTVE9SRSxcbiAgd2l0aEFjdGlvbk1hcHBlcnM6IChcbiAgICBzdG9yZTogSW5zdGFuY2VUeXBlPFNUT1JFPixcbiAgKSA9PiBNYXBwZXJUeXBlczxBY3Rpb25DcmVhdG9yW10+W10sXG4pOiBDcmVhdGVSZWR1eFN0YXRlPFN0b3JlTmFtZSwgU1RPUkU+IHtcbiAgY29uc3QgaXNSb290UHJvdmlkZXIgPVxuICAgIChzaWduYWxTdG9yZSBhcyBTZXJ2aWNlV2l0aERlY29yYXRvcik/Lsm1cHJvdj8ucHJvdmlkZWRJbiA9PT0gJ3Jvb3QnO1xuICByZXR1cm4ge1xuICAgIFtgcHJvdmlkZSR7Y2FwaXRhbGl6ZShzdG9yZU5hbWUpfVN0b3JlYF06IChjb25uZWN0UmVkdXhEZXZ0b29scyA9IGZhbHNlKSA9PlxuICAgICAgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcbiAgICAgICAgaXNSb290UHJvdmlkZXIgPyBbXSA6IHNpZ25hbFN0b3JlLFxuICAgICAgICBwcm92aWRlRW52aXJvbm1lbnRJbml0aWFsaXplcigoKSA9PiB7XG4gICAgICAgICAgY29uc3QgaW5pdGlhbGl6ZXJGbiA9IChcbiAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgc2lnbmFsUmVkdXhTdG9yZSA9IGluamVjdChTaWduYWxSZWR1eFN0b3JlKSxcbiAgICAgICAgICAgICAgc3RvcmUgPSBpbmplY3Qoc2lnbmFsU3RvcmUpLFxuICAgICAgICAgICAgKSA9PlxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoY29ubmVjdFJlZHV4RGV2dG9vbHMpIHtcbiAgICAgICAgICAgICAgICAvLyBhZGRTdG9yZVRvUmVkdXhEZXZ0b29scyhzdG9yZSwgc3RvcmVOYW1lLCBmYWxzZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgc2lnbmFsUmVkdXhTdG9yZS5jb25uZWN0RmVhdHVyZVN0b3JlKHdpdGhBY3Rpb25NYXBwZXJzKHN0b3JlKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgKSgpO1xuICAgICAgICAgIHJldHVybiBpbml0aWFsaXplckZuKCk7XG4gICAgICAgIH0pLFxuICAgICAgXSksXG4gICAgW2BpbmplY3Qke2NhcGl0YWxpemUoc3RvcmVOYW1lKX1TdG9yZWBdOiAoKSA9PlxuICAgICAgT2JqZWN0LmFzc2lnbihpbmplY3Qoc2lnbmFsU3RvcmUpLCB7IGRpc3BhdGNoOiBpbmplY3RSZWR1eERpc3BhdGNoKCkgfSksXG4gIH0gYXMgQ3JlYXRlUmVkdXhTdGF0ZTxTdG9yZU5hbWUsIFNUT1JFPjtcbn1cbiJdfQ==","import { Injector, inject } from '@angular/core';\nimport { rxMethod } from '@ngrx/signals/rxjs-interop';\nimport { map, pipe } from 'rxjs';\nexport function reduxMethod(generator, resultMethodOrConfig, config) {\n const injector = inject(Injector);\n if (typeof resultMethodOrConfig === 'function') {\n let unsubscribable;\n const inputResultFn = ((input, resultMethod = resultMethodOrConfig) => {\n const rxMethodWithResult = rxMethod(pipe(generator, map(resultMethod)), {\n ...(config || {}),\n injector: config?.injector || injector,\n });\n const rxWithInput = rxMethodWithResult(input);\n unsubscribable = { unsubscribe: rxWithInput.destroy.bind(rxWithInput) };\n return rxWithInput;\n });\n inputResultFn.destroy = () => unsubscribable?.unsubscribe();\n return inputResultFn;\n }\n return rxMethod(generator, resultMethodOrConfig);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdXgtbWV0aG9kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRvb2xraXQvcmVkdXgtY29ubmVjdG9yL3NyYy9saWIvcnhqcy1pbnRlcm9wL3JlZHV4LW1ldGhvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUE4QixHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBeUI3RCxNQUFNLFVBQVUsV0FBVyxDQUN6QixTQUFrRSxFQUNsRSxvQkFJSyxFQUNMLE1BRUM7SUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFbEMsSUFBSSxPQUFPLG9CQUFvQixLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQy9DLElBQUksY0FBOEIsQ0FBQztRQUNuQyxNQUFNLGFBQWEsR0FBRyxDQUFDLENBQ3JCLEtBQTJCLEVBQzNCLFlBQVksR0FBRyxvQkFBb0IsRUFDbkMsRUFBRTtZQUNGLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUNqQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUNsQztnQkFDRSxHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztnQkFDakIsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLElBQUksUUFBUTthQUN2QyxDQUNGLENBQUM7WUFDRixNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QyxjQUFjLEdBQUcsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUV4RSxPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDLENBQStDLENBQUM7UUFFakQsYUFBYSxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUUsQ0FBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFFNUQsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVELE9BQU8sUUFBUSxDQUFRLFNBQVMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0FBQzFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgU2lnbmFsLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHJ4TWV0aG9kIH0gZnJvbSAnQG5ncngvc2lnbmFscy9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgVW5zdWJzY3JpYmFibGUsIG1hcCwgcGlwZSB9IGZyb20gJ3J4anMnO1xuXG50eXBlIFJ4TWV0aG9kSW5wdXQ8SW5wdXQ+ID0gSW5wdXQgfCBPYnNlcnZhYmxlPElucHV0PiB8IFNpZ25hbDxJbnB1dD47XG5cbnR5cGUgUnhNZXRob2RSZWYgPSB7XG4gIGRlc3Ryb3k6ICgpID0+IHZvaWQ7XG59O1xuXG50eXBlIFJ4TWV0aG9kPElucHV0LCBNZXRob2RJbnB1dCA9IElucHV0LCBNZXRob2RSZXN1bHQgPSB1bmtub3duPiA9ICgoXG4gIGlucHV0OiBSeE1ldGhvZElucHV0PElucHV0PixcbiAgcmVzdWx0TWV0aG9kOiAoaW5wdXQ6IE1ldGhvZElucHV0KSA9PiBNZXRob2RSZXN1bHQsXG4pID0+IFJ4TWV0aG9kUmVmKSAmXG4gIFJ4TWV0aG9kUmVmO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVkdXhNZXRob2Q8SW5wdXQsIE1ldGhvZElucHV0ID0gSW5wdXQ+KFxuICBnZW5lcmF0b3I6IChzb3VyY2UkOiBPYnNlcnZhYmxlPElucHV0PikgPT4gT2JzZXJ2YWJsZTxNZXRob2RJbnB1dD4sXG4gIGNvbmZpZz86IHsgaW5qZWN0b3I/OiBJbmplY3RvciB9LFxuKTogUnhNZXRob2Q8SW5wdXQsIE1ldGhvZElucHV0PjtcbmV4cG9ydCBmdW5jdGlvbiByZWR1eE1ldGhvZDxJbnB1dCwgTWV0aG9kSW5wdXQgPSBJbnB1dCwgTWV0aG9kUmVzdWx0ID0gdW5rbm93bj4oXG4gIGdlbmVyYXRvcjogKHNvdXJjZSQ6IE9ic2VydmFibGU8SW5wdXQ+KSA9PiBPYnNlcnZhYmxlPE1ldGhvZElucHV0PixcbiAgcmVzdWx0TWV0aG9kOiAoaW5wdXQ6IE1ldGhvZElucHV0KSA9PiBNZXRob2RSZXN1bHQsXG4gIGNvbmZpZz86IHtcbiAgICBpbmplY3Rvcj86IEluamVjdG9yO1xuICB9LFxuKTogUnhNZXRob2Q8SW5wdXQsIE1ldGhvZElucHV0LCBNZXRob2RSZXN1bHQ+O1xuZXhwb3J0IGZ1bmN0aW9uIHJlZHV4TWV0aG9kPElucHV0LCBNZXRob2RJbnB1dCA9IElucHV0LCBNZXRob2RSZXN1bHQgPSB1bmtub3duPihcbiAgZ2VuZXJhdG9yOiAoc291cmNlJDogT2JzZXJ2YWJsZTxJbnB1dD4pID0+IE9ic2VydmFibGU8TWV0aG9kSW5wdXQ+LFxuICByZXN1bHRNZXRob2RPckNvbmZpZz86XG4gICAgfCAoKGlucHV0OiBNZXRob2RJbnB1dCkgPT4gTWV0aG9kUmVzdWx0KVxuICAgIHwge1xuICAgICAgICBpbmplY3Rvcj86IEluamVjdG9yO1xuICAgICAgfSxcbiAgY29uZmlnPzoge1xuICAgIGluamVjdG9yPzogSW5qZWN0b3I7XG4gIH0sXG4pOiBSeE1ldGhvZDxJbnB1dCwgTWV0aG9kSW5wdXQsIE1ldGhvZFJlc3VsdD4ge1xuICBjb25zdCBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgaWYgKHR5cGVvZiByZXN1bHRNZXRob2RPckNvbmZpZyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGxldCB1bnN1YnNjcmliYWJsZTogVW5zdWJzY3JpYmFibGU7XG4gICAgY29uc3QgaW5wdXRSZXN1bHRGbiA9ICgoXG4gICAgICBpbnB1dDogUnhNZXRob2RJbnB1dDxJbnB1dD4sXG4gICAgICByZXN1bHRNZXRob2QgPSByZXN1bHRNZXRob2RPckNvbmZpZyxcbiAgICApID0+IHtcbiAgICAgIGNvbnN0IHJ4TWV0aG9kV2l0aFJlc3VsdCA9IHJ4TWV0aG9kPElucHV0PihcbiAgICAgICAgcGlwZShnZW5lcmF0b3IsIG1hcChyZXN1bHRNZXRob2QpKSxcbiAgICAgICAge1xuICAgICAgICAgIC4uLihjb25maWcgfHwge30pLFxuICAgICAgICAgIGluamVjdG9yOiBjb25maWc/LmluamVjdG9yIHx8IGluamVjdG9yLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICAgIGNvbnN0IHJ4V2l0aElucHV0ID0gcnhNZXRob2RXaXRoUmVzdWx0KGlucHV0KTtcbiAgICAgIHVuc3Vic2NyaWJhYmxlID0geyB1bnN1YnNjcmliZTogcnhXaXRoSW5wdXQuZGVzdHJveS5iaW5kKHJ4V2l0aElucHV0KSB9O1xuXG4gICAgICByZXR1cm4gcnhXaXRoSW5wdXQ7XG4gICAgfSkgYXMgUnhNZXRob2Q8SW5wdXQsIE1ldGhvZElucHV0LCBNZXRob2RSZXN1bHQ+O1xuXG4gICAgaW5wdXRSZXN1bHRGbi5kZXN0cm95ID0gKCkgPT4gdW5zdWJzY3JpYmFibGU/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICByZXR1cm4gaW5wdXRSZXN1bHRGbjtcbiAgfVxuXG4gIHJldHVybiByeE1ldGhvZDxJbnB1dD4oZ2VuZXJhdG9yLCByZXN1bHRNZXRob2RPckNvbmZpZyk7XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1hcmNoaXRlY3RzLW5ncngtdG9vbGtpdC1yZWR1eC1jb25uZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdG9vbGtpdC9yZWR1eC1jb25uZWN0b3IvYW5ndWxhci1hcmNoaXRlY3RzLW5ncngtdG9vbGtpdC1yZWR1eC1jb25uZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
@@ -90,10 +90,10 @@ class GlitchTrackerService {
90
90
  this.#callback({ [id]: getState(this.#stores[id].store) });
91
91
  }
92
92
  }
93
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: GlitchTrackerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
94
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: GlitchTrackerService, providedIn: 'root' }); }
93
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: GlitchTrackerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
94
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: GlitchTrackerService, providedIn: 'root' }); }
95
95
  }
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: GlitchTrackerService, decorators: [{
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: GlitchTrackerService, decorators: [{
97
97
  type: Injectable,
98
98
  args: [{ providedIn: 'root' }]
99
99
  }] });
@@ -177,7 +177,7 @@ function provideDevtoolsConfig(config) {
177
177
  const REDUX_DEVTOOLS_CONFIG = new InjectionToken('ReduxDevtoolsConfig');
178
178
 
179
179
  class DefaultTracker {
180
- #stores = signal({});
180
+ #stores = signal({}, ...(ngDevMode ? [{ debugName: "#stores" }] : []));
181
181
  get stores() {
182
182
  return this.#stores();
183
183
  }
@@ -191,7 +191,7 @@ class DefaultTracker {
191
191
  return { ...acc, [id]: getState(store) };
192
192
  }, {});
193
193
  this.#trackCallback(fullState);
194
- });
194
+ }, ...(ngDevMode ? [{ debugName: "#trackingEffect" }] : []));
195
195
  track(id, store) {
196
196
  this.#stores.update((value) => ({
197
197
  ...value,
@@ -216,10 +216,10 @@ class DefaultTracker {
216
216
  });
217
217
  }
218
218
  }
219
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DefaultTracker, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
220
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DefaultTracker, providedIn: 'root' }); }
219
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DefaultTracker, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
220
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DefaultTracker, providedIn: 'root' }); }
221
221
  }
222
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DefaultTracker, decorators: [{
222
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DefaultTracker, decorators: [{
223
223
  type: Injectable,
224
224
  args: [{ providedIn: 'root' }]
225
225
  }] });
@@ -373,10 +373,10 @@ Enable automatic indexing via withDevTools('${storeName}', { indexNames: true })
373
373
  }, {});
374
374
  this.#trackers.forEach((tracker) => tracker.notifyRenamedStore(id));
375
375
  }
376
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DevtoolsSyncer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
377
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DevtoolsSyncer, providedIn: 'root' }); }
376
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DevtoolsSyncer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
377
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DevtoolsSyncer, providedIn: 'root' }); }
378
378
  }
379
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DevtoolsSyncer, decorators: [{
379
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: DevtoolsSyncer, decorators: [{
380
380
  type: Injectable,
381
381
  args: [{ providedIn: 'root' }]
382
382
  }], ctorParameters: () => [] });
@@ -1021,21 +1021,21 @@ function setPageSize(pageSize, options) {
1021
1021
  }
1022
1022
  function nextPage(options) {
1023
1023
  const { pageKey } = createPaginationKeys(options);
1024
- return {
1025
- [pageKey]: (currentPage) => currentPage + 1,
1024
+ return (state) => {
1025
+ const currentPage = state[pageKey];
1026
+ return { [pageKey]: currentPage + 1 };
1026
1027
  };
1027
1028
  }
1028
1029
  function previousPage(options) {
1029
1030
  const { pageKey } = createPaginationKeys(options);
1030
- return {
1031
- [pageKey]: (currentPage) => Math.max(currentPage - 1, 1),
1031
+ return (state) => {
1032
+ const currentPage = state[pageKey];
1033
+ return { [pageKey]: currentPage - 1 };
1032
1034
  };
1033
1035
  }
1034
1036
  function firstPage(options) {
1035
1037
  const { pageKey } = createPaginationKeys(options);
1036
- return {
1037
- [pageKey]: 1,
1038
- };
1038
+ return { [pageKey]: 0 };
1039
1039
  }
1040
1040
  function setMaxPageNavigationArrayItems(maxPageNavigationArrayItems, options) {
1041
1041
  const { pageNavigationArrayMaxKey } = createPaginationKeys(options);
@@ -1188,8 +1188,8 @@ function withUndoRedo(options) {
1188
1188
  //
1189
1189
  const undoStack = [];
1190
1190
  const redoStack = [];
1191
- const canUndo = signal(false);
1192
- const canRedo = signal(false);
1191
+ const canUndo = signal(false, ...(ngDevMode ? [{ debugName: "canUndo" }] : []));
1192
+ const canRedo = signal(false, ...(ngDevMode ? [{ debugName: "canRedo" }] : []));
1193
1193
  const updateInternal = () => {
1194
1194
  canUndo.set(undoStack.length !== 0);
1195
1195
  canRedo.set(redoStack.length !== 0);
@@ -1332,13 +1332,13 @@ function withImmutableState(stateOrFactory, options) {
1332
1332
  * of potential mutations outside the SignalStore
1333
1333
  *
1334
1334
  * ```ts
1335
- * const initialState = {id: 1};
1335
+ * const initialState = {user: {id: 1}};
1336
1336
  * signalStore(withImmutableState(initialState));
1337
1337
  *
1338
- * initialState.id = 2; // must throw immutability
1338
+ * initialState.user.id = 2; // must throw immutability
1339
1339
  * ```
1340
1340
  */
1341
- Object.freeze(immutableState);
1341
+ deepFreeze(getState(store), stateKeys);
1342
1342
  watchState(store, (state) => {
1343
1343
  deepFreeze(state, stateKeys);
1344
1344
  });
@@ -1440,10 +1440,10 @@ class IndexedDBService {
1440
1440
  };
1441
1441
  });
1442
1442
  }
1443
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: IndexedDBService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1444
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: IndexedDBService, providedIn: 'root' }); }
1443
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: IndexedDBService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1444
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: IndexedDBService, providedIn: 'root' }); }
1445
1445
  }
1446
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: IndexedDBService, decorators: [{
1446
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: IndexedDBService, decorators: [{
1447
1447
  type: Injectable,
1448
1448
  args: [{ providedIn: 'root' }]
1449
1449
  }] });
@@ -1515,10 +1515,10 @@ class LocalStorageService {
1515
1515
  clear(key) {
1516
1516
  return localStorage.removeItem(key);
1517
1517
  }
1518
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1519
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LocalStorageService, providedIn: 'root' }); }
1518
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: LocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1519
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: LocalStorageService, providedIn: 'root' }); }
1520
1520
  }
1521
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LocalStorageService, decorators: [{
1521
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: LocalStorageService, decorators: [{
1522
1522
  type: Injectable,
1523
1523
  args: [{
1524
1524
  providedIn: 'root',
@@ -1535,10 +1535,10 @@ class SessionStorageService {
1535
1535
  clear(key) {
1536
1536
  return sessionStorage.removeItem(key);
1537
1537
  }
1538
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SessionStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1539
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SessionStorageService, providedIn: 'root' }); }
1538
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: SessionStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1539
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: SessionStorageService, providedIn: 'root' }); }
1540
1540
  }
1541
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SessionStorageService, decorators: [{
1541
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: SessionStorageService, decorators: [{
1542
1542
  type: Injectable,
1543
1543
  args: [{
1544
1544
  providedIn: 'root',
@@ -1657,12 +1657,14 @@ function createAsyncStorageSync(factory, config) {
1657
1657
  if (isPlatformServer(platformId)) {
1658
1658
  return;
1659
1659
  }
1660
- const initialState = getState(store);
1660
+ const initialState = JSON.stringify(getState(store));
1661
1661
  if (config.autoSync) {
1662
1662
  let startWatching = false;
1663
1663
  watchState(store, () => {
1664
1664
  if (!startWatching) {
1665
- if (getState(store) === initialState) {
1665
+ const currentState = JSON.stringify(getState(store));
1666
+ // Necessary because getState returns always a new object
1667
+ if (currentState === initialState) {
1666
1668
  return;
1667
1669
  }
1668
1670
  console.warn(`Writing to Store (${config.key}) happened before the state was initially read from storage.`, 'Please ensure that the store is not in syncing state via `store.whenSynced()` before writing to the state.', 'Alternatively, you can disable autoSync by passing `autoSync: false` in the config.');