@angular-architects/ngrx-toolkit 19.2.3 → 20.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) 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 +949 -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 -15
  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/signal-store-models.d.ts +0 -26
  27. package/lib/shared/throw-if-null.d.ts +0 -1
  28. package/lib/storage-sync/features/with-indexed-db.d.ts +0 -2
  29. package/lib/storage-sync/features/with-local-storage.d.ts +0 -3
  30. package/lib/storage-sync/internal/indexeddb.service.d.ts +0 -29
  31. package/lib/storage-sync/internal/local-storage.service.d.ts +0 -8
  32. package/lib/storage-sync/internal/models.d.ts +0 -45
  33. package/lib/storage-sync/internal/session-storage.service.d.ts +0 -8
  34. package/lib/storage-sync/with-storage-sync.d.ts +0 -45
  35. package/lib/with-call-state.d.ts +0 -58
  36. package/lib/with-conditional.d.ts +0 -50
  37. package/lib/with-data-service.d.ts +0 -109
  38. package/lib/with-feature-factory.d.ts +0 -28
  39. package/lib/with-pagination.d.ts +0 -98
  40. package/lib/with-redux.d.ts +0 -147
  41. package/lib/with-reset.d.ts +0 -29
  42. package/lib/with-undo-redo.d.ts +0 -31
  43. package/redux-connector/src/lib/create-redux.d.ts +0 -13
  44. package/redux-connector/src/lib/model.d.ts +0 -40
  45. package/redux-connector/src/lib/rxjs-interop/redux-method.d.ts +0 -14
  46. package/redux-connector/src/lib/signal-redux-store.d.ts +0 -11
  47. 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
  }] });
@@ -1524,10 +1524,10 @@ class LocalStorageService {
1524
1524
  clear(key) {
1525
1525
  return localStorage.removeItem(key);
1526
1526
  }
1527
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1528
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LocalStorageService, providedIn: 'root' }); }
1527
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: LocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1528
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: LocalStorageService, providedIn: 'root' }); }
1529
1529
  }
1530
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: LocalStorageService, decorators: [{
1530
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: LocalStorageService, decorators: [{
1531
1531
  type: Injectable,
1532
1532
  args: [{
1533
1533
  providedIn: 'root',
@@ -1544,10 +1544,10 @@ class SessionStorageService {
1544
1544
  clear(key) {
1545
1545
  return sessionStorage.removeItem(key);
1546
1546
  }
1547
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SessionStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1548
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SessionStorageService, providedIn: 'root' }); }
1547
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: SessionStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1548
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: SessionStorageService, providedIn: 'root' }); }
1549
1549
  }
1550
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SessionStorageService, decorators: [{
1550
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: SessionStorageService, decorators: [{
1551
1551
  type: Injectable,
1552
1552
  args: [{
1553
1553
  providedIn: 'root',
@@ -1666,12 +1666,14 @@ function createAsyncStorageSync(factory, config) {
1666
1666
  if (isPlatformServer(platformId)) {
1667
1667
  return;
1668
1668
  }
1669
- const initialState = getState(store);
1669
+ const initialState = JSON.stringify(getState(store));
1670
1670
  if (config.autoSync) {
1671
1671
  let startWatching = false;
1672
1672
  watchState(store, () => {
1673
1673
  if (!startWatching) {
1674
- if (getState(store) === initialState) {
1674
+ const currentState = JSON.stringify(getState(store));
1675
+ // Necessary because getState returns always a new object
1676
+ if (currentState === initialState) {
1675
1677
  return;
1676
1678
  }
1677
1679
  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.');