@angular-architects/ngrx-toolkit 18.1.0 → 19.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 (53) hide show
  1. package/README.md +4 -12
  2. package/fesm2022/angular-architects-ngrx-toolkit-redux-connector.mjs +15 -15
  3. package/fesm2022/angular-architects-ngrx-toolkit-redux-connector.mjs.map +1 -1
  4. package/fesm2022/angular-architects-ngrx-toolkit.mjs +487 -78
  5. package/fesm2022/angular-architects-ngrx-toolkit.mjs.map +1 -1
  6. package/index.d.ts +9 -2
  7. package/lib/devtools/features/with-disabled-name-indicies.d.ts +27 -0
  8. package/lib/devtools/features/with-glitch-tracking.d.ts +30 -0
  9. package/lib/devtools/features/with-mapper.d.ts +28 -0
  10. package/lib/devtools/internal/current-action-names.d.ts +1 -0
  11. package/lib/devtools/internal/default-tracker.d.ts +13 -0
  12. package/lib/devtools/internal/devtools-feature.d.ts +24 -0
  13. package/lib/devtools/internal/devtools-syncer.service.d.ts +35 -0
  14. package/lib/devtools/internal/glitch-tracker.service.d.ts +18 -0
  15. package/lib/devtools/internal/models.d.ts +25 -0
  16. package/lib/devtools/rename-devtools-name.d.ts +7 -0
  17. package/lib/devtools/update-state.d.ts +17 -0
  18. package/lib/devtools/with-dev-tools-stub.d.ts +5 -0
  19. package/lib/devtools/with-devtools.d.ts +30 -0
  20. package/lib/shared/prettify.d.ts +1 -1
  21. package/lib/shared/throw-if-null.d.ts +1 -0
  22. package/lib/with-call-state.d.ts +2 -2
  23. package/lib/with-data-service.d.ts +3 -3
  24. package/lib/with-pagination.d.ts +4 -4
  25. package/lib/with-reset.d.ts +29 -0
  26. package/lib/with-storage-sync.d.ts +2 -2
  27. package/lib/with-undo-redo.d.ts +4 -3
  28. package/package.json +6 -7
  29. package/redux-connector/src/lib/create-redux.d.ts +4 -4
  30. package/redux-connector/src/lib/model.d.ts +5 -0
  31. package/redux-connector/src/lib/rxjs-interop/redux-method.d.ts +5 -2
  32. package/redux-connector/src/lib/signal-redux-store.d.ts +10 -2
  33. package/redux-connector/src/lib/util.d.ts +2 -2
  34. package/esm2022/angular-architects-ngrx-toolkit.mjs +0 -5
  35. package/esm2022/index.mjs +0 -8
  36. package/esm2022/lib/assertions/assertions.mjs +0 -6
  37. package/esm2022/lib/shared/prettify.mjs +0 -2
  38. package/esm2022/lib/shared/signal-store-models.mjs +0 -2
  39. package/esm2022/lib/with-call-state.mjs +0 -60
  40. package/esm2022/lib/with-data-service.mjs +0 -202
  41. package/esm2022/lib/with-devtools.mjs +0 -92
  42. package/esm2022/lib/with-pagination.mjs +0 -209
  43. package/esm2022/lib/with-redux.mjs +0 -100
  44. package/esm2022/lib/with-storage-sync.mjs +0 -56
  45. package/esm2022/lib/with-undo-redo.mjs +0 -113
  46. package/esm2022/redux-connector/angular-architects-ngrx-toolkit-redux-connector.mjs +0 -5
  47. package/esm2022/redux-connector/index.mjs +0 -3
  48. package/esm2022/redux-connector/src/lib/create-redux.mjs +0 -41
  49. package/esm2022/redux-connector/src/lib/model.mjs +0 -2
  50. package/esm2022/redux-connector/src/lib/rxjs-interop/redux-method.mjs +0 -22
  51. package/esm2022/redux-connector/src/lib/signal-redux-store.mjs +0 -43
  52. package/esm2022/redux-connector/src/lib/util.mjs +0 -13
  53. package/lib/with-devtools.d.ts +0 -38
@@ -1,100 +0,0 @@
1
- import { Subject } from 'rxjs';
2
- import { assertActionFnSpecs } from './assertions/assertions';
3
- export function payload() {
4
- return {};
5
- }
6
- export const noPayload = {};
7
- function createActionFns(actionFnSpecs, reducerRegistry, effectsRegistry, state) {
8
- const actionFns = {};
9
- for (const type in actionFnSpecs) {
10
- const actionFn = (payload) => {
11
- const fullPayload = { ...payload, type };
12
- const reducer = reducerRegistry[type];
13
- if (reducer) {
14
- reducer(state, fullPayload);
15
- }
16
- const effectSubjects = effectsRegistry[type];
17
- if (effectSubjects?.length) {
18
- for (const effectSubject of effectSubjects) {
19
- effectSubject.next(fullPayload);
20
- }
21
- }
22
- return fullPayload;
23
- };
24
- actionFn.type = type.toString();
25
- actionFns[type] = actionFn;
26
- }
27
- return actionFns;
28
- }
29
- function createPublicAndAllActionsFns(actionFnSpecs, reducerRegistry, effectsRegistry, state) {
30
- if ('public' in actionFnSpecs || 'private' in actionFnSpecs) {
31
- const privates = actionFnSpecs['private'] || {};
32
- const publics = actionFnSpecs['public'] || {};
33
- assertActionFnSpecs(privates);
34
- assertActionFnSpecs(publics);
35
- const privateActionFns = createActionFns(privates, reducerRegistry, effectsRegistry, state);
36
- const publicActionFns = createActionFns(publics, reducerRegistry, effectsRegistry, state);
37
- return {
38
- all: { ...privateActionFns, ...publicActionFns },
39
- publics: publicActionFns,
40
- };
41
- }
42
- const actionFns = createActionFns(actionFnSpecs, reducerRegistry, effectsRegistry, state);
43
- return { all: actionFns, publics: actionFns };
44
- }
45
- function fillReducerRegistry(reducer, actionFns, reducerRegistry) {
46
- function on(action, reducerFn) {
47
- reducerRegistry[action.type] = reducerFn;
48
- }
49
- reducer(actionFns, on);
50
- return reducerRegistry;
51
- }
52
- function fillEffects(effects, actionFns, effectsRegistry = {}) {
53
- function create(action) {
54
- const subject = new Subject();
55
- if (!(action.type in effectsRegistry)) {
56
- effectsRegistry[action.type] = [];
57
- }
58
- effectsRegistry[action.type].push(subject);
59
- return subject.asObservable();
60
- }
61
- const effectObservables = effects(actionFns, create);
62
- return Object.values(effectObservables);
63
- }
64
- function startSubscriptions(observables) {
65
- return observables.map((observable) => observable.subscribe());
66
- }
67
- function processRedux(actionFnSpecs, reducer, effects, store) {
68
- const reducerRegistry = {};
69
- const effectsRegistry = {};
70
- const actionsMap = createPublicAndAllActionsFns(actionFnSpecs, reducerRegistry, effectsRegistry, store);
71
- const actionFns = actionsMap.all;
72
- const publicActionsFns = actionsMap.publics;
73
- fillReducerRegistry(reducer, actionFns, reducerRegistry);
74
- const effectObservables = fillEffects(effects, actionFns, effectsRegistry);
75
- const subscriptions = startSubscriptions(effectObservables);
76
- return {
77
- methods: publicActionsFns,
78
- subscriptions: subscriptions,
79
- };
80
- }
81
- /**
82
- * @param redux redux
83
- *
84
- * properties do not start with `with` since they are not extension functions on their own.
85
- *
86
- * no dependency to NgRx
87
- *
88
- * actions are passed to reducer and effects, but it is also possible to use other actions.
89
- * effects provide forAction and do not return anything. that is important because effects should stay inaccessible
90
- */
91
- export function withRedux(redux) {
92
- return (store) => {
93
- const { methods } = processRedux(redux.actions, redux.reducer, redux.effects, store);
94
- return {
95
- ...store,
96
- methods,
97
- };
98
- };
99
- }
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1yZWR1eC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10b29sa2l0L3NyYy9saWIvd2l0aC1yZWR1eC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBTzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBNEM5RCxNQUFNLFVBQVUsT0FBTztJQUNyQixPQUFPLEVBQVUsQ0FBQztBQUNwQixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztBQW1DNUIsU0FBUyxlQUFlLENBQ3RCLGFBQW1CLEVBQ25CLGVBR0MsRUFDRCxlQUFnQyxFQUNoQyxLQUFjO0lBRWQsTUFBTSxTQUFTLEdBQTZCLEVBQUUsQ0FBQztJQUUvQyxLQUFLLE1BQU0sSUFBSSxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sUUFBUSxHQUFHLENBQUMsT0FBZ0IsRUFBRSxFQUFFO1lBQ3BDLE1BQU0sV0FBVyxHQUFHLEVBQUUsR0FBRyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDekMsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RDLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ1gsT0FBc0QsQ0FDckQsS0FBSyxFQUNMLFdBQXNCLENBQ3ZCLENBQUM7WUFDSixDQUFDO1lBQ0QsTUFBTSxjQUFjLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdDLElBQUksY0FBYyxFQUFFLE1BQU0sRUFBRSxDQUFDO2dCQUMzQixLQUFLLE1BQU0sYUFBYSxJQUFJLGNBQWMsRUFBRSxDQUFDO29CQUMxQyxhQUE2QyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDbkUsQ0FBQztZQUNILENBQUM7WUFDRCxPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFD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VUFBVSxHQUFHLDRCQUE0QixDQUM3QyxhQUFhLEVBQ2IsZUFBZSxFQUNmLGVBQWUsRUFDZixLQUFLLENBQ04sQ0FBQztJQUNGLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUM7SUFDakMsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO0lBRTVDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDekQsTUFBTSxpQkFBaUIsR0FBRyxXQUFXLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUMzRSxNQUFNLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRTVELE9BQU87UUFDTCxPQUFPLEVBQUUsZ0JBQThCO1FBQ3ZDLGFBQWEsRUFBRSxhQUFhO0tBQzdCLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FLdkIsS0FJRDtJQUlDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUNmLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxZQUFZLENBQzlCLEtBQUssQ0FBQyxPQUFPLEVBQ2IsS0FBSyxDQUFDLE9BQTZDLEVBQ25ELEtBQUssQ0FBQyxPQUFvQyxFQUMxQyxLQUFLLENBQ04sQ0FBQztRQUNGLE9BQU87WUFDTCxHQUFHLEtBQUs7WUFDUixPQUFPO1NBQ1IsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBFbXB0eUZlYXR1cmVSZXN1bHQsXG4gIFNpZ25hbFN0b3JlRmVhdHVyZSxcbiAgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBXcml0YWJsZVN0YXRlU291cmNlLFxufSBmcm9tICdAbmdyeC9zaWduYWxzJztcbmltcG9ydCB7IGFzc2VydEFjdGlvbkZuU3BlY3MgfSBmcm9tICcuL2Fzc2VydGlvbnMvYXNzZXJ0aW9ucyc7XG5cbi8qKiBBY3Rpb25zICoqL1xuXG50eXBlIFBheWxvYWQgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxudHlwZSBBY3Rpb25GbjxcbiAgVHlwZSBleHRlbmRzIHN0cmluZyA9IHN0cmluZyxcbiAgQWN0aW9uUGF5bG9hZCBleHRlbmRzIFBheWxvYWQgPSBQYXlsb2FkXG4+ID0gKChwYXlsb2FkOiBBY3Rpb25QYXlsb2FkKSA9PiBBY3Rpb25QYXlsb2FkICYgeyB0eXBlOiBUeXBlIH0pICYge1xuICB0eXBlOiBUeXBlO1xufTtcblxudHlwZSBBY3Rpb25GbnMgPSBSZWNvcmQ8c3RyaW5nLCBBY3Rpb25Gbj47XG5cbmV4cG9ydCB0eXBlIEFjdGlvbnNGblNwZWNzID0gUmVjb3JkPHN0cmluZywgUGF5bG9hZD47XG5cbnR5cGUgQWN0aW9uRm5DcmVhdG9yPFNwZWMgZXh0ZW5kcyBBY3Rpb25zRm5TcGVjcz4gPSB7XG4gIFtBY3Rpb25OYW1lIGluIGtleW9mIFNwZWNdOiAoUmVjb3JkPG5ldmVyLCBuZXZlcj4gZXh0ZW5kcyBTcGVjW0FjdGlvbk5hbWVdXG4gICAgPyAoKSA9PiBTcGVjW0FjdGlvbk5hbWVdICYgeyB0eXBlOiBBY3Rpb25OYW1lIH1cbiAgICA6IChcbiAgICAgICAgcGF5bG9hZDogU3BlY1tBY3Rpb25OYW1lXVxuICAgICAgKSA9PiBTcGVjW0FjdGlvbk5hbWVdICYgeyB0eXBlOiBBY3Rpb25OYW1lIH0pICYge1xuICAgIHR5cGU6IEFjdGlvbk5hbWUgJiBzdHJpbmc7XG4gIH07XG59O1xuXG50eXBlIEFjdGlvbkZuUGF5bG9hZDxBY3Rpb24+ID0gQWN0aW9uIGV4dGVuZHMgKHBheWxvYWQ6IGluZmVyIFBheWxvYWQpID0+IHZvaWRcbiAgPyBQYXlsb2FkXG4gIDogbmV2ZXI7XG5cbnR5cGUgQWN0aW9uRm5zQ3JlYXRvcjxTcGVjIGV4dGVuZHMgQWN0aW9uc0ZuU3BlY3M+ID0gU3BlYyBleHRlbmRzIHtcbiAgcHJpdmF0ZTogUmVjb3JkPHN0cmluZywgUGF5bG9hZD47XG4gIHB1YmxpYzogUmVjb3JkPHN0cmluZywgUGF5bG9hZD47XG59XG4gID8gQWN0aW9uRm5DcmVhdG9yPFNwZWNbJ3ByaXZhdGUnXT4gJiBBY3Rpb25GbkNyZWF0b3I8U3BlY1sncHVibGljJ10+XG4gIDogQWN0aW9uRm5DcmVhdG9yPFNwZWM+O1xuXG50eXBlIFB1YmxpY0FjdGlvbkZuczxTcGVjIGV4dGVuZHMgQWN0aW9uc0ZuU3BlY3M+ID0gU3BlYyBleHRlbmRzIHtcbiAgcHVibGljOiBSZWNvcmQ8c3RyaW5nLCBQYXlsb2FkPjtcbn1cbiAgPyBBY3Rpb25GbkNyZWF0b3I8U3BlY1sncHVibGljJ10+XG4gIDogQWN0aW9uRm5DcmVhdG9yPFNwZWM+O1xuXG5leHBvcnQgZnVuY3Rpb24gcGF5bG9hZDxUeXBlIGV4dGVuZHMgUGF5bG9hZD4oKTogVHlwZSB7XG4gIHJldHVybiB7fSBhcyBUeXBlO1xufVxuXG5leHBvcnQgY29uc3Qgbm9QYXlsb2FkID0ge307XG5cbi8qKiBSZWR1Y2VyICoqL1xuXG50eXBlIFJlZHVjZXJGdW5jdGlvbjxSZWR1Y2VyQWN0aW9uLCBTdGF0ZT4gPSAoXG4gIHN0YXRlOiBTdGF0ZSxcbiAgYWN0aW9uOiBBY3Rpb25GblBheWxvYWQ8UmVkdWNlckFjdGlvbj5cbikgPT4gdm9pZDtcblxudHlwZSBSZWR1Y2VyRmFjdG9yeTxTdGF0ZUFjdGlvbkZucyBleHRlbmRzIEFjdGlvbkZucywgU3RhdGU+ID0gKFxuICBhY3Rpb25zOiBTdGF0ZUFjdGlvbkZucyxcbiAgb246IDxSZWR1Y2VyQWN0aW9uIGV4dGVuZHMgeyB0eXBlOiBzdHJpbmcgfT4oXG4gICAgYWN0aW9uOiBSZWR1Y2VyQWN0aW9uLFxuICAgIHJlZHVjZXJGbjogUmVkdWNlckZ1bmN0aW9uPFJlZHVjZXJBY3Rpb24sIFN0YXRlPlxuICApID0+IHZvaWRcbikgPT4gdm9pZDtcblxuLyoqIEVmZmVjdCAqKi9cblxudHlwZSBFZmZlY3RzRmFjdG9yeTxTdGF0ZUFjdGlvbkZucyBleHRlbmRzIEFjdGlvbkZucz4gPSAoXG4gIGFjdGlvbnM6IFN0YXRlQWN0aW9uRm5zLFxuICBjcmVhdGU6IDxFZmZlY3RBY3Rpb24gZXh0ZW5kcyB7IHR5cGU6IHN0cmluZyB9PihcbiAgICBhY3Rpb246IEVmZmVjdEFjdGlvblxuICApID0+IE9ic2VydmFibGU8QWN0aW9uRm5QYXlsb2FkPEVmZmVjdEFjdGlvbj4+XG4pID0+IFJlY29yZDxzdHJpbmcsIE9ic2VydmFibGU8dW5rbm93bj4+O1xuXG4vLyBpbnRlcm5hbCB0eXBlc1xuXG4vKipcbiAqIFJlY29yZCB3aGljaCBob2xkcyBhbGwgZWZmZWN0cyBmb3IgYSBzcGVjaWZpYyBhY3Rpb24gdHlwZS5cbiAqIFRoZSB2YWx1ZXMgYXJlIFN1YmplY3Qgd2hpY2ggdGhlIGVmZmVjdCBhcmUgc3Vic2NyaWJlZCB0by5cbiAqIGBjcmVhdGVBY3Rpb25GbnNgIHdpbGwgY2FsbCBuZXh0IG9uIHRoZXNlIHN1YmplY3RzLlxuICovXG50eXBlIEVmZmVjdHNSZWdpc3RyeSA9IFJlY29yZDxzdHJpbmcsIFN1YmplY3Q8QWN0aW9uRm5QYXlsb2FkPHVua25vd24+PltdPjtcblxuZnVuY3Rpb24gY3JlYXRlQWN0aW9uRm5zPFNwZWMgZXh0ZW5kcyBBY3Rpb25zRm5TcGVjcz4oXG4gIGFjdGlvbkZuU3BlY3M6IFNwZWMsXG4gIHJlZHVjZXJSZWdpc3RyeTogUmVjb3JkPFxuICAgIHN0cmluZyxcbiAgICAoc3RhdGU6IHVua25vd24sIHBheWxvYWQ6IEFjdGlvbkZuUGF5bG9hZDx1bmtub3duPikgPT4gdm9pZFxuICA+LFxuICBlZmZlY3RzUmVnaXN0cnk6IEVmZmVjdHNSZWdpc3RyeSxcbiAgc3RhdGU6IHVua25vd25cbikge1xuICBjb25zdCBhY3Rpb25GbnM6IFJlY29yZDxzdHJpbmcsIEFjdGlvbkZuPiA9IHt9O1xuXG4gIGZvciAoY29uc3QgdHlwZSBpbiBhY3Rpb25GblNwZWNzKSB7XG4gICAgY29uc3QgYWN0aW9uRm4gPSAocGF5bG9hZDogUGF5bG9hZCkgPT4ge1xuICAgICAgY29uc3QgZnVsbFBheWxvYWQgPSB7IC4uLnBheWxvYWQsIHR5cGUgfTtcbiAgICAgIGNvbnN0IHJlZHVjZXIgPSByZWR1Y2VyUmVnaXN0cnlbdHlwZV07XG4gICAgICBpZiAocmVkdWNlcikge1xuICAgICAgICAocmVkdWNlciBhcyAoc3RhdGU6IHVua25vd24sIHBheWxvYWQ6IHVua25vd24pID0+IHZvaWQpKFxuICAgICAgICAgIHN0YXRlLFxuICAgICAgICAgIGZ1bGxQYXlsb2FkIGFzIHVua25vd25cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGVmZmVjdFN1YmplY3RzID0gZWZmZWN0c1JlZ2lzdHJ5W3R5cGVdO1xuICAgICAgaWYgKGVmZmVjdFN1YmplY3RzPy5sZW5ndGgpIHtcbiAgICAgICAgZm9yIChjb25zdCBlZmZlY3RTdWJqZWN0IG9mIGVmZmVjdFN1YmplY3RzKSB7XG4gICAgICAgICAgKGVmZmVjdFN1YmplY3QgYXMgdW5rbm93biBhcyBTdWJqZWN0PHVua25vd24+KS5uZXh0KGZ1bGxQYXlsb2FkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGZ1bGxQYXlsb2FkO1xuICAgIH07XG4gICAgYWN0aW9uRm4udHlwZSA9IHR5cGUudG9TdHJpbmcoKTtcbiAgICBhY3Rpb25GbnNbdHlwZV0gPSBhY3Rpb25GbjtcbiAgfVxuXG4gIHJldHVybiBhY3Rpb25GbnM7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVB1YmxpY0FuZEFsbEFjdGlvbnNGbnM8U3BlYyBleHRlbmRzIEFjdGlvbnNGblNwZWNzPihcbiAgYWN0aW9uRm5TcGVjczogU3BlYyxcbiAgcmVkdWNlclJlZ2lzdHJ5OiBSZWNvcmQ8XG4gICAgc3RyaW5nLFxuICAgIChzdGF0ZTogdW5rbm93biwgcGF5bG9hZDogQWN0aW9uRm5QYXlsb2FkPHVua25vd24+KSA9PiB2b2lkXG4gID4sXG4gIGVmZmVjdHNSZWdpc3RyeTogRWZmZWN0c1JlZ2lzdHJ5LFxuICBzdGF0ZTogdW5rbm93blxuKTogeyBhbGw6IEFjdGlvbkZuczsgcHVibGljczogQWN0aW9uRm5zIH0ge1xuICBpZiAoJ3B1YmxpYycgaW4gYWN0aW9uRm5TcGVjcyB8fCAncHJpdmF0ZScgaW4gYWN0aW9uRm5TcGVjcykge1xuICAgIGNvbnN0IHByaXZhdGVzID0gYWN0aW9uRm5TcGVjc1sncHJpdmF0ZSddIHx8IHt9O1xuICAgIGNvbnN0IHB1YmxpY3MgPSBhY3Rpb25GblNwZWNzWydwdWJsaWMnXSB8fCB7fTtcblxuICAgIGFzc2VydEFjdGlvbkZuU3BlY3MocHJpdmF0ZXMpO1xuICAgIGFzc2VydEFjdGlvbkZuU3BlY3MocHVibGljcyk7XG5cbiAgICBjb25zdCBwcml2YXRlQWN0aW9uRm5zID0gY3JlYXRlQWN0aW9uRm5zKFxuICAgICAgcHJpdmF0ZXMsXG4gICAgICByZWR1Y2VyUmVnaXN0cnksXG4gICAgICBlZmZlY3RzUmVnaXN0cnksXG4gICAgICBzdGF0ZVxuICAgICk7XG4gICAgY29uc3QgcHVibGljQWN0aW9uRm5zID0gY3JlYXRlQWN0aW9uRm5zKFxuICAgICAgcHVibGljcyxcbiAgICAgIHJlZHVjZXJSZWdpc3RyeSxcbiAgICAgIGVmZmVjdHNSZWdpc3RyeSxcbiAgICAgIHN0YXRlXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBhbGw6IHsgLi4ucHJpdmF0ZUFjdGlvbkZucywgLi4ucHVibGljQWN0aW9uRm5zIH0sXG4gICAgICBwdWJsaWNzOiBwdWJsaWNBY3Rpb25GbnMsXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IGFjdGlvbkZucyA9IGNyZWF0ZUFjdGlvbkZucyhcbiAgICBhY3Rpb25GblNwZWNzLFxuICAgIHJlZHVjZXJSZWdpc3RyeSxcbiAgICBlZmZlY3RzUmVnaXN0cnksXG4gICAgc3RhdGVcbiAgKTtcblxuICByZXR1cm4geyBhbGw6IGFjdGlvbkZucywgcHVibGljczogYWN0aW9uRm5zIH07XG59XG5cbmZ1bmN0aW9uIGZpbGxSZWR1Y2VyUmVnaXN0cnkoXG4gIHJlZHVjZXI6IFJlZHVjZXJGYWN0b3J5PEFjdGlvbkZucywgdW5rbm93bj4sXG4gIGFjdGlvbkZuczogQWN0aW9uRm5zLFxuICByZWR1Y2VyUmVnaXN0cnk6IFJlY29yZDxcbiAgICBzdHJpbmcsXG4gICAgKHN0YXRlOiB1bmtub3duLCBwYXlsb2FkOiBBY3Rpb25GblBheWxvYWQ8dW5rbm93bj4pID0+IHZvaWRcbiAgPlxuKSB7XG4gIGZ1bmN0aW9uIG9uKFxuICAgIGFjdGlvbjogeyB0eXBlOiBzdHJpbmcgfSxcbiAgICByZWR1Y2VyRm46IChzdGF0ZTogdW5rbm93biwgcGF5bG9hZDogQWN0aW9uRm5QYXlsb2FkPHVua25vd24+KSA9PiB2b2lkXG4gICkge1xuICAgIHJlZHVjZXJSZWdpc3RyeVthY3Rpb24udHlwZV0gPSByZWR1Y2VyRm47XG4gIH1cblxuICByZWR1Y2VyKGFjdGlvbkZucywgb24pO1xuXG4gIHJldHVybiByZWR1Y2VyUmVnaXN0cnk7XG59XG5cbmZ1bmN0aW9uIGZpbGxFZmZlY3RzKFxuICBlZmZlY3RzOiBFZmZlY3RzRmFjdG9yeTxBY3Rpb25GbnM+LFxuICBhY3Rpb25GbnM6IEFjdGlvbkZucyxcbiAgZWZmZWN0c1JlZ2lzdHJ5OiBFZmZlY3RzUmVnaXN0cnkgPSB7fVxuKTogT2JzZXJ2YWJsZTx1bmtub3duPltdIHtcbiAgZnVuY3Rpb24gY3JlYXRlKGFjdGlvbjogeyB0eXBlOiBzdHJpbmcgfSkge1xuICAgIGNvbnN0IHN1YmplY3QgPSBuZXcgU3ViamVjdDxBY3Rpb25GblBheWxvYWQ8dW5rbm93bj4+KCk7XG4gICAgaWYgKCEoYWN0aW9uLnR5cGUgaW4gZWZmZWN0c1JlZ2lzdHJ5KSkge1xuICAgICAgZWZmZWN0c1JlZ2lzdHJ5W2FjdGlvbi50eXBlXSA9IFtdO1xuICAgIH1cbiAgICBlZmZlY3RzUmVnaXN0cnlbYWN0aW9uLnR5cGVdLnB1c2goc3ViamVjdCk7XG4gICAgcmV0dXJuIHN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBjb25zdCBlZmZlY3RPYnNlcnZhYmxlcyA9IGVmZmVjdHMoYWN0aW9uRm5zLCBjcmVhdGUpO1xuICByZXR1cm4gT2JqZWN0LnZhbHVlcyhlZmZlY3RPYnNlcnZhYmxlcyk7XG59XG5cbmZ1bmN0aW9uIHN0YXJ0U3Vic2NyaXB0aW9ucyhvYnNlcnZhYmxlczogT2JzZXJ2YWJsZTx1bmtub3duPltdKSB7XG4gIHJldHVybiBvYnNlcnZhYmxlcy5tYXAoKG9ic2VydmFibGUpID0+IG9ic2VydmFibGUuc3Vic2NyaWJlKCkpO1xufVxuXG5mdW5jdGlvbiBwcm9jZXNzUmVkdXg8U3BlYyBleHRlbmRzIEFjdGlvbnNGblNwZWNzLCBSZXR1cm5UeXBlPihcbiAgYWN0aW9uRm5TcGVjczogU3BlYyxcbiAgcmVkdWNlcjogUmVkdWNlckZhY3Rvcnk8QWN0aW9uRm5zLCB1bmtub3duPixcbiAgZWZmZWN0czogRWZmZWN0c0ZhY3Rvcnk8QWN0aW9uRm5zPixcbiAgc3RvcmU6IHVua25vd25cbikge1xuICBjb25zdCByZWR1Y2VyUmVnaXN0cnk6IFJlY29yZDxcbiAgICBzdHJpbmcsXG4gICAgKHN0YXRlOiB1bmtub3duLCBwYXlsb2FkOiBBY3Rpb25GblBheWxvYWQ8dW5rbm93bj4pID0+IHZvaWRcbiAgPiA9IHt9O1xuICBjb25zdCBlZmZlY3RzUmVnaXN0cnk6IFJlY29yZDxzdHJpbmcsIFN1YmplY3Q8QWN0aW9uRm5QYXlsb2FkPHVua25vd24+PltdPiA9XG4gICAge307XG4gIGNvbnN0IGFjdGlvbnNNYXAgPSBjcmVhdGVQdWJsaWNBbmRBbGxBY3Rpb25zRm5zKFxuICAgIGFjdGlvbkZuU3BlY3MsXG4gICAgcmVkdWNlclJlZ2lzdHJ5LFxuICAgIGVmZmVjdHNSZWdpc3RyeSxcbiAgICBzdG9yZVxuICApO1xuICBjb25zdCBhY3Rpb25GbnMgPSBhY3Rpb25zTWFwLmFsbDtcbiAgY29uc3QgcHVibGljQWN0aW9uc0ZucyA9IGFjdGlvbnNNYXAucHVibGljcztcblxuICBmaWxsUmVkdWNlclJlZ2lzdHJ5KHJlZHVjZXIsIGFjdGlvbkZucywgcmVkdWNlclJlZ2lzdHJ5KTtcbiAgY29uc3QgZWZmZWN0T2JzZXJ2YWJsZXMgPSBmaWxsRWZmZWN0cyhlZmZlY3RzLCBhY3Rpb25GbnMsIGVmZmVjdHNSZWdpc3RyeSk7XG4gIGNvbnN0IHN1YnNjcmlwdGlvbnMgPSBzdGFydFN1YnNjcmlwdGlvbnMoZWZmZWN0T2JzZXJ2YWJsZXMpO1xuXG4gIHJldHVybiB7XG4gICAgbWV0aG9kczogcHVibGljQWN0aW9uc0ZucyBhcyBSZXR1cm5UeXBlLFxuICAgIHN1YnNjcmlwdGlvbnM6IHN1YnNjcmlwdGlvbnMsXG4gIH07XG59XG5cbi8qKlxuICogQHBhcmFtIHJlZHV4IHJlZHV4XG4gKlxuICogcHJvcGVydGllcyBkbyBub3Qgc3RhcnQgd2l0aCBgd2l0aGAgc2luY2UgdGhleSBhcmUgbm90IGV4dGVuc2lvbiBmdW5jdGlvbnMgb24gdGhlaXIgb3duLlxuICpcbiAqIG5vIGRlcGVuZGVuY3kgdG8gTmdSeFxuICpcbiAqIGFjdGlvbnMgYXJlIHBhc3NlZCB0byByZWR1Y2VyIGFuZCBlZmZlY3RzLCBidXQgaXQgaXMgYWxzbyBwb3NzaWJsZSB0byB1c2Ugb3RoZXIgYWN0aW9ucy5cbiAqIGVmZmVjdHMgcHJvdmlkZSBmb3JBY3Rpb24gYW5kIGRvIG5vdCByZXR1cm4gYW55dGhpbmcuIHRoYXQgaXMgaW1wb3J0YW50IGJlY2F1c2UgZWZmZWN0cyBzaG91bGQgc3RheSBpbmFjY2Vzc2libGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdpdGhSZWR1eDxcbiAgU3BlYyBleHRlbmRzIEFjdGlvbnNGblNwZWNzLFxuICBJbnB1dCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgU3RhdGVBY3Rpb25GbnMgZXh0ZW5kcyBBY3Rpb25GbnNDcmVhdG9yPFNwZWM+ID0gQWN0aW9uRm5zQ3JlYXRvcjxTcGVjPixcbiAgUHVibGljU3RvcmVBY3Rpb25GbnMgZXh0ZW5kcyBQdWJsaWNBY3Rpb25GbnM8U3BlYz4gPSBQdWJsaWNBY3Rpb25GbnM8U3BlYz5cbj4ocmVkdXg6IHtcbiAgYWN0aW9uczogU3BlYztcbiAgcmVkdWNlcjogUmVkdWNlckZhY3Rvcnk8U3RhdGVBY3Rpb25GbnMsIFdyaXRhYmxlU3RhdGVTb3VyY2U8SW5wdXRbJ3N0YXRlJ10+PjtcbiAgZWZmZWN0czogRWZmZWN0c0ZhY3Rvcnk8U3RhdGVBY3Rpb25GbnM+O1xufSk6IFNpZ25hbFN0b3JlRmVhdHVyZTxcbiAgSW5wdXQsXG4gIEVtcHR5RmVhdHVyZVJlc3VsdCAmIHsgbWV0aG9kczogUHVibGljU3RvcmVBY3Rpb25GbnMgfVxuPiB7XG4gIHJldHVybiAoc3RvcmUpID0+IHtcbiAgICBjb25zdCB7IG1ldGhvZHMgfSA9IHByb2Nlc3NSZWR1eDxTcGVjLCBQdWJsaWNTdG9yZUFjdGlvbkZucz4oXG4gICAgICByZWR1eC5hY3Rpb25zLFxuICAgICAgcmVkdXgucmVkdWNlciBhcyBSZWR1Y2VyRmFjdG9yeTxBY3Rpb25GbnMsIHVua25vd24+LFxuICAgICAgcmVkdXguZWZmZWN0cyBhcyBFZmZlY3RzRmFjdG9yeTxBY3Rpb25GbnM+LFxuICAgICAgc3RvcmVcbiAgICApO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdG9yZSxcbiAgICAgIG1ldGhvZHMsXG4gICAgfTtcbiAgfTtcbn1cbiJdfQ==
@@ -1,56 +0,0 @@
1
- import { isPlatformServer } from '@angular/common';
2
- import { PLATFORM_ID, effect, inject } from '@angular/core';
3
- import { getState, patchState, signalStoreFeature, withHooks, withMethods, } from '@ngrx/signals';
4
- const NOOP = () => { };
5
- const StorageSyncStub = {
6
- clearStorage: NOOP,
7
- readFromStorage: NOOP,
8
- writeToStorage: NOOP,
9
- };
10
- export function withStorageSync(configOrKey) {
11
- const { key, autoSync = true, select = (state) => state, parse = JSON.parse, stringify = JSON.stringify, storage: storageFactory = () => localStorage, } = typeof configOrKey === 'string' ? { key: configOrKey } : configOrKey;
12
- return signalStoreFeature(withMethods((store, platformId = inject(PLATFORM_ID)) => {
13
- if (isPlatformServer(platformId)) {
14
- console.warn(`'withStorageSync' provides non-functional implementation due to server-side execution`);
15
- return StorageSyncStub;
16
- }
17
- const storage = storageFactory();
18
- return {
19
- /**
20
- * Removes the item stored in storage.
21
- */
22
- clearStorage() {
23
- storage.removeItem(key);
24
- },
25
- /**
26
- * Reads item from storage and patches the state.
27
- */
28
- readFromStorage() {
29
- const stateString = storage.getItem(key);
30
- if (stateString) {
31
- patchState(store, parse(stateString));
32
- }
33
- },
34
- /**
35
- * Writes selected portion to storage.
36
- */
37
- writeToStorage() {
38
- const slicedState = select(getState(store));
39
- storage.setItem(key, stringify(slicedState));
40
- },
41
- };
42
- }), withHooks({
43
- onInit(store, platformId = inject(PLATFORM_ID)) {
44
- if (isPlatformServer(platformId)) {
45
- return;
46
- }
47
- if (autoSync) {
48
- store.readFromStorage();
49
- effect(() => {
50
- store.writeToStorage();
51
- });
52
- }
53
- },
54
- }));
55
- }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1zdG9yYWdlLXN5bmMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdG9vbGtpdC9zcmMvbGliL3dpdGgtc3RvcmFnZS1zeW5jLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBRUwsUUFBUSxFQUNSLFVBQVUsRUFDVixrQkFBa0IsRUFDbEIsU0FBUyxFQUNULFdBQVcsR0FHWixNQUFNLGVBQWUsQ0FBQztBQUV2QixNQUFNLElBQUksR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7QUFVdEIsTUFBTSxlQUFlLEdBR047SUFDYixZQUFZLEVBQUUsSUFBSTtJQUNsQixlQUFlLEVBQUUsSUFBSTtJQUNyQixjQUFjLEVBQUUsSUFBSTtDQUNyQixDQUFDO0FBc0RGLE1BQU0sVUFBVSxlQUFlLENBSTdCLFdBQWdEO0lBRWhELE1BQU0sRUFDSixHQUFHLEVBQ0gsUUFBUSxHQUFHLElBQUksRUFDZixNQUFNLEdBQUcsQ0FBQyxLQUFZLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFDaEMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQ2xCLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUMxQixPQUFPLEVBQUUsY0FBYyxHQUFHLEdBQUcsRUFBRSxDQUFDLFlBQVksR0FDN0MsR0FBRyxPQUFPLFdBQVcsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFFekUsT0FBTyxrQkFBa0IsQ0FDdkIsV0FBVyxDQUFDLENBQUMsS0FBSyxFQUFFLFVBQVUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsRUFBRTtRQUN0RCxJQUFJLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDakMsT0FBTyxDQUFDLElBQUksQ0FDVix1RkFBdUYsQ0FDeEYsQ0FBQztZQUNGLE9BQU8sZUFBZSxDQUFDO1FBQ3pCLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxjQUFjLEVBQUUsQ0FBQztRQUVqQyxPQUFPO1lBQ0w7O2VBRUc7WUFDSCxZQUFZO2dCQUNWLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDMUIsQ0FBQztZQUNEOztlQUVHO1lBQ0gsZUFBZTtnQkFDYixNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN6QyxJQUFJLFdBQVcsRUFBRSxDQUFDO29CQUNoQixVQUFVLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO2dCQUN4QyxDQUFDO1lBQ0gsQ0FBQztZQUNEOztlQUVHO1lBQ0gsY0FBYztnQkFDWixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBVSxDQUFDLENBQUM7Z0JBQ3JELE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQy9DLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDO1FBQ1IsTUFBTSxDQUFDLEtBQUssRUFBRSxVQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztZQUM1QyxJQUFJLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pDLE9BQU87WUFDVCxDQUFDO1lBRUQsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDYixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBRXhCLE1BQU0sQ0FBQyxHQUFHLEVBQUU7b0JBQ1YsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN6QixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO0tBQ0YsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybVNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBQTEFURk9STV9JRCwgZWZmZWN0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNpZ25hbFN0b3JlRmVhdHVyZSxcbiAgZ2V0U3RhdGUsXG4gIHBhdGNoU3RhdGUsXG4gIHNpZ25hbFN0b3JlRmVhdHVyZSxcbiAgd2l0aEhvb2tzLFxuICB3aXRoTWV0aG9kcyxcbiAgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0LFxuICBFbXB0eUZlYXR1cmVSZXN1bHQsXG59IGZyb20gJ0BuZ3J4L3NpZ25hbHMnO1xuXG5jb25zdCBOT09QID0gKCkgPT4ge307XG5cbnR5cGUgV2l0aFN0b3JhZ2VTeW5jRmVhdHVyZVJlc3VsdCA9IEVtcHR5RmVhdHVyZVJlc3VsdCAmIHtcbiAgbWV0aG9kczoge1xuICAgIGNsZWFyU3RvcmFnZSgpOiB2b2lkO1xuICAgIHJlYWRGcm9tU3RvcmFnZSgpOiB2b2lkO1xuICAgIHdyaXRlVG9TdG9yYWdlKCk6IHZvaWQ7XG4gIH07XG59O1xuXG5jb25zdCBTdG9yYWdlU3luY1N0dWI6IFBpY2s8XG4gIFdpdGhTdG9yYWdlU3luY0ZlYXR1cmVSZXN1bHQsXG4gICdtZXRob2RzJ1xuPlsnbWV0aG9kcyddID0ge1xuICBjbGVhclN0b3JhZ2U6IE5PT1AsXG4gIHJlYWRGcm9tU3RvcmFnZTogTk9PUCxcbiAgd3JpdGVUb1N0b3JhZ2U6IE5PT1AsXG59O1xuXG5leHBvcnQgdHlwZSBTeW5jQ29uZmlnPFN0YXRlPiA9IHtcbiAgLyoqXG4gICAqIFRoZSBrZXkgd2hpY2ggaXMgdXNlZCB0byBhY2Nlc3MgdGhlIHN0b3JhZ2UuXG4gICAqL1xuICBrZXk6IHN0cmluZztcbiAgLyoqXG4gICAqIEZsYWcgaW5kaWNhdGluZyBpZiB0aGUgc3RvcmUgc2hvdWxkIHJlYWQgZnJvbSBzdG9yYWdlIG9uIGluaXQgYW5kIHdyaXRlIHRvIHN0b3JhZ2Ugb24gZXZlcnkgc3RhdGUgY2hhbmdlLlxuICAgKlxuICAgKiBgdHJ1ZWAgYnkgZGVmYXVsdFxuICAgKi9cbiAgYXV0b1N5bmM/OiBib29sZWFuO1xuICAvKipcbiAgICogRnVuY3Rpb24gdG8gc2VsZWN0IHRoYXQgcG9ydGlvbiBvZiB0aGUgc3RhdGUgd2hpY2ggc2hvdWxkIGJlIHN0b3JlZC5cbiAgICpcbiAgICogUmV0dXJucyB0aGUgd2hvbGUgc3RhdGUgb2JqZWN0IGJ5IGRlZmF1bHRcbiAgICovXG4gIHNlbGVjdD86IChzdGF0ZTogU3RhdGUpID0+IFBhcnRpYWw8U3RhdGU+O1xuICAvKipcbiAgICogRnVuY3Rpb24gdXNlZCB0byBwYXJzZSB0aGUgc3RhdGUgY29taW5nIGZyb20gc3RvcmFnZS5cbiAgICpcbiAgICogYEpTT04ucGFyc2UoKWAgYnkgZGVmYXVsdFxuICAgKi9cbiAgcGFyc2U/OiAoc3RhdGVTdHJpbmc6IHN0cmluZykgPT4gU3RhdGU7XG4gIC8qKlxuICAgKiBGdW5jdGlvbiB1c2VkIHRvIHRyYW5mb3JtIHRoZSBzdGF0ZSBpbnRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uLlxuICAgKlxuICAgKiBgSlNPTi5zdHJpbmdpZnkoKWAgYnkgZGVmYXVsdFxuICAgKi9cbiAgc3RyaW5naWZ5PzogKHN0YXRlOiBTdGF0ZSkgPT4gc3RyaW5nO1xuICAvKipcbiAgICogRmFjdG9yeSBmdW5jdGlvbiB1c2VkIHRvIHNlbGVjdCB0aGUgc3RvcmFnZS5cbiAgICpcbiAgICogYGxvY2Fsc3RvcmFnZWAgYnkgZGVmYXVsdFxuICAgKi9cbiAgc3RvcmFnZT86ICgpID0+IFN0b3JhZ2U7XG59O1xuXG4vKipcbiAqIEVuYWJsZXMgc3RvcmUgc3luY2hyb25pemF0aW9uIHdpdGggc3RvcmFnZS5cbiAqXG4gKiBPbmx5IHdvcmtzIG9uIGJyb3dzZXIgcGxhdGZvcm0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3aXRoU3RvcmFnZVN5bmM8XG4gIFN0YXRlIGV4dGVuZHMgb2JqZWN0LFxuICBJbnB1dCBleHRlbmRzIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdFxuPihrZXk6IHN0cmluZyk6IFNpZ25hbFN0b3JlRmVhdHVyZTxJbnB1dCwgV2l0aFN0b3JhZ2VTeW5jRmVhdHVyZVJlc3VsdD47XG5leHBvcnQgZnVuY3Rpb24gd2l0aFN0b3JhZ2VTeW5jPFxuICBTdGF0ZSBleHRlbmRzIG9iamVjdCxcbiAgSW5wdXQgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHRcbj4oXG4gIGNvbmZpZzogU3luY0NvbmZpZzxJbnB1dFsnc3RhdGUnXT5cbik6IFNpZ25hbFN0b3JlRmVhdHVyZTxJbnB1dCwgV2l0aFN0b3JhZ2VTeW5jRmVhdHVyZVJlc3VsdD47XG5leHBvcnQgZnVuY3Rpb24gd2l0aFN0b3JhZ2VTeW5jPFxuICBTdGF0ZSBleHRlbmRzIG9iamVjdCxcbiAgSW5wdXQgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHRcbj4oXG4gIGNvbmZpZ09yS2V5OiBTeW5jQ29uZmlnPElucHV0WydzdGF0ZSddPiB8IHN0cmluZ1xuKTogU2lnbmFsU3RvcmVGZWF0dXJlPElucHV0LCBXaXRoU3RvcmFnZVN5bmNGZWF0dXJlUmVzdWx0PiB7XG4gIGNvbnN0IHtcbiAgICBrZXksXG4gICAgYXV0b1N5bmMgPSB0cnVlLFxuICAgIHNlbGVjdCA9IChzdGF0ZTogU3RhdGUpID0+IHN0YXRlLFxuICAgIHBhcnNlID0gSlNPTi5wYXJzZSxcbiAgICBzdHJpbmdpZnkgPSBKU09OLnN0cmluZ2lmeSxcbiAgICBzdG9yYWdlOiBzdG9yYWdlRmFjdG9yeSA9ICgpID0+IGxvY2FsU3RvcmFnZSxcbiAgfSA9IHR5cGVvZiBjb25maWdPcktleSA9PT0gJ3N0cmluZycgPyB7IGtleTogY29uZmlnT3JLZXkgfSA6IGNvbmZpZ09yS2V5O1xuXG4gIHJldHVybiBzaWduYWxTdG9yZUZlYXR1cmUoXG4gICAgd2l0aE1ldGhvZHMoKHN0b3JlLCBwbGF0Zm9ybUlkID0gaW5qZWN0KFBMQVRGT1JNX0lEKSkgPT4ge1xuICAgICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIocGxhdGZvcm1JZCkpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgIGAnd2l0aFN0b3JhZ2VTeW5jJyBwcm92aWRlcyBub24tZnVuY3Rpb25hbCBpbXBsZW1lbnRhdGlvbiBkdWUgdG8gc2VydmVyLXNpZGUgZXhlY3V0aW9uYFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gU3RvcmFnZVN5bmNTdHViO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzdG9yYWdlID0gc3RvcmFnZUZhY3RvcnkoKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFJlbW92ZXMgdGhlIGl0ZW0gc3RvcmVkIGluIHN0b3JhZ2UuXG4gICAgICAgICAqL1xuICAgICAgICBjbGVhclN0b3JhZ2UoKTogdm9pZCB7XG4gICAgICAgICAgc3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBSZWFkcyBpdGVtIGZyb20gc3RvcmFnZSBhbmQgcGF0Y2hlcyB0aGUgc3RhdGUuXG4gICAgICAgICAqL1xuICAgICAgICByZWFkRnJvbVN0b3JhZ2UoKTogdm9pZCB7XG4gICAgICAgICAgY29uc3Qgc3RhdGVTdHJpbmcgPSBzdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgICAgICAgICBpZiAoc3RhdGVTdHJpbmcpIHtcbiAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHBhcnNlKHN0YXRlU3RyaW5nKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAvKipcbiAgICAgICAgICogV3JpdGVzIHNlbGVjdGVkIHBvcnRpb24gdG8gc3RvcmFnZS5cbiAgICAgICAgICovXG4gICAgICAgIHdyaXRlVG9TdG9yYWdlKCk6IHZvaWQge1xuICAgICAgICAgIGNvbnN0IHNsaWNlZFN0YXRlID0gc2VsZWN0KGdldFN0YXRlKHN0b3JlKSBhcyBTdGF0ZSk7XG4gICAgICAgICAgc3RvcmFnZS5zZXRJdGVtKGtleSwgc3RyaW5naWZ5KHNsaWNlZFN0YXRlKSk7XG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH0pLFxuICAgIHdpdGhIb29rcyh7XG4gICAgICBvbkluaXQoc3RvcmUsIHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpKSB7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtU2VydmVyKHBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGF1dG9TeW5jKSB7XG4gICAgICAgICAgc3RvcmUucmVhZEZyb21TdG9yYWdlKCk7XG5cbiAgICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgc3RvcmUud3JpdGVUb1N0b3JhZ2UoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9KVxuICApO1xufVxuIl19
@@ -1,113 +0,0 @@
1
- import { patchState, signalStoreFeature, withComputed, withHooks, withMethods } from '@ngrx/signals';
2
- import { effect, signal, untracked, isSignal } from '@angular/core';
3
- import { capitalize } from './with-data-service';
4
- const defaultOptions = {
5
- maxStackSize: 100,
6
- keys: [],
7
- skip: 0,
8
- };
9
- export function getUndoRedoKeys(collections) {
10
- if (collections) {
11
- return collections.flatMap((c) => [
12
- `${c}EntityMap`,
13
- `${c}Ids`,
14
- `selected${capitalize(c)}Ids`,
15
- `${c}Filter`,
16
- ]);
17
- }
18
- return ['entityMap', 'ids', 'selectedIds', 'filter'];
19
- }
20
- export function withUndoRedo(options) {
21
- let previous = null;
22
- let skipOnce = false;
23
- const normalized = {
24
- ...defaultOptions,
25
- ...options,
26
- };
27
- //
28
- // Design Decision: This feature has its own
29
- // internal state.
30
- //
31
- const undoStack = [];
32
- const redoStack = [];
33
- const canUndo = signal(false);
34
- const canRedo = signal(false);
35
- const updateInternal = () => {
36
- canUndo.set(undoStack.length !== 0);
37
- canRedo.set(redoStack.length !== 0);
38
- };
39
- const keys = [...getUndoRedoKeys(normalized.collections), ...normalized.keys];
40
- return signalStoreFeature(withComputed(() => ({
41
- canUndo: canUndo.asReadonly(),
42
- canRedo: canRedo.asReadonly(),
43
- })), withMethods((store) => ({
44
- undo() {
45
- const item = undoStack.pop();
46
- if (item && previous) {
47
- redoStack.push(previous);
48
- }
49
- if (item) {
50
- skipOnce = true;
51
- patchState(store, item);
52
- previous = item;
53
- }
54
- updateInternal();
55
- },
56
- redo() {
57
- const item = redoStack.pop();
58
- if (item && previous) {
59
- undoStack.push(previous);
60
- }
61
- if (item) {
62
- skipOnce = true;
63
- patchState(store, item);
64
- previous = item;
65
- }
66
- updateInternal();
67
- },
68
- })), withHooks({
69
- onInit(store) {
70
- effect(() => {
71
- const cand = keys.reduce((acc, key) => {
72
- const s = store[key];
73
- if (s && isSignal(s)) {
74
- return {
75
- ...acc,
76
- [key]: s(),
77
- };
78
- }
79
- return acc;
80
- }, {});
81
- if (normalized.skip > 0) {
82
- normalized.skip--;
83
- return;
84
- }
85
- if (skipOnce) {
86
- skipOnce = false;
87
- return;
88
- }
89
- //
90
- // Deep Comparison to prevent duplicated entries
91
- // on the stack. This can e.g. happen after an undo
92
- // if the component sends back the undone filter
93
- // to the store.
94
- //
95
- if (JSON.stringify(cand) === JSON.stringify(previous)) {
96
- return;
97
- }
98
- // Clear redoStack after recorded action
99
- redoStack.splice(0);
100
- if (previous) {
101
- undoStack.push(previous);
102
- }
103
- if (redoStack.length > normalized.maxStackSize) {
104
- undoStack.unshift();
105
- }
106
- previous = cand;
107
- // Don't propogate current reactive context
108
- untracked(() => updateInternal());
109
- });
110
- },
111
- }));
112
- }
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC11bmRvLXJlZG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdG9vbGtpdC9zcmMvbGliL3dpdGgtdW5kby1yZWRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxVQUFVLEVBQ1Ysa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixTQUFTLEVBQ1QsV0FBVyxFQUVaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBVSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBV2pELE1BQU0sY0FBYyxHQUE4QjtJQUNoRCxZQUFZLEVBQUUsR0FBRztJQUNqQixJQUFJLEVBQUUsRUFBRTtJQUNSLElBQUksRUFBRSxDQUFDO0NBQ1IsQ0FBQztBQUVGLE1BQU0sVUFBVSxlQUFlLENBQUMsV0FBc0I7SUFDcEQsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNoQixPQUFPLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2hDLEdBQUcsQ0FBQyxXQUFXO1lBQ2YsR0FBRyxDQUFDLEtBQUs7WUFDVCxXQUFXLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUM3QixHQUFHLENBQUMsUUFBUTtTQUNiLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQWVELE1BQU0sVUFBVSxZQUFZLENBQ1EsT0FBZ0M7SUFhbEUsSUFBSSxRQUFRLEdBQXFCLElBQUksQ0FBQztJQUN0QyxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFckIsTUFBTSxVQUFVLEdBQUc7UUFDakIsR0FBRyxjQUFjO1FBQ2pCLEdBQUcsT0FBTztLQUNYLENBQUM7SUFFRixFQUFFO0lBQ0YsNENBQTRDO0lBQzVDLGtCQUFrQjtJQUNsQixFQUFFO0lBRUYsTUFBTSxTQUFTLEdBQWdCLEVBQUUsQ0FBQztJQUNsQyxNQUFNLFNBQVMsR0FBZ0IsRUFBRSxDQUFDO0lBRWxDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFOUIsTUFBTSxjQUFjLEdBQUcsR0FBRyxFQUFFO1FBQzFCLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNwQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdEMsQ0FBQyxDQUFDO0lBRUYsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUUsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFOUUsT0FBTyxrQkFBa0IsQ0FDdkIsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDbEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUU7UUFDN0IsT0FBTyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUU7S0FDOUIsQ0FBQyxDQUFDLEVBQ0gsV0FBVyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLElBQUk7WUFDRixNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7WUFFN0IsSUFBSSxJQUFJLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQ3JCLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0IsQ0FBQztZQUVELElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1QsUUFBUSxHQUFHLElBQUksQ0FBQztnQkFDaEIsVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDeEIsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNsQixDQUFDO1lBRUQsY0FBYyxFQUFFLENBQUM7UUFDbkIsQ0FBQztRQUNELElBQUk7WUFDRixNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7WUFFN0IsSUFBSSxJQUFJLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQ3JCLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0IsQ0FBQztZQUVELElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1QsUUFBUSxHQUFHLElBQUksQ0FBQztnQkFDaEIsVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDeEIsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNsQixDQUFDO1lBRUQsY0FBYyxFQUFFLENBQUM7UUFDbkIsQ0FBQztLQUNGLENBQUMsQ0FBQyxFQUNILFNBQVMsQ0FBQztRQUNSLE1BQU0sQ0FBQyxLQUFLO1lBQ1YsTUFBTSxDQUFDLEdBQUcsRUFBRTtnQkFDVixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO29CQUNwQyxNQUFNLENBQUMsR0FBSSxLQUF3RCxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUN6RSxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzt3QkFDckIsT0FBTzs0QkFDTCxHQUFHLEdBQUc7NEJBQ04sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUU7eUJBQ1gsQ0FBQztvQkFDSixDQUFDO29CQUNELE9BQU8sR0FBRyxDQUFDO2dCQUNiLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFFUCxJQUFJLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQ3hCLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDbEIsT0FBTztnQkFDVCxDQUFDO2dCQUVELElBQUksUUFBUSxFQUFFLENBQUM7b0JBQ2IsUUFBUSxHQUFHLEtBQUssQ0FBQztvQkFDakIsT0FBTztnQkFDVCxDQUFDO2dCQUVELEVBQUU7Z0JBQ0YsZ0RBQWdEO2dCQUNoRCxtREFBbUQ7Z0JBQ25ELGdEQUFnRDtnQkFDaEQsZ0JBQWdCO2dCQUNoQixFQUFFO2dCQUNGLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7b0JBQ3RELE9BQU87Z0JBQ1QsQ0FBQztnQkFFRCx3Q0FBd0M7Z0JBQ3hDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBRXBCLElBQUksUUFBUSxFQUFFLENBQUM7b0JBQ2IsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDM0IsQ0FBQztnQkFFRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO29CQUMvQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3RCLENBQUM7Z0JBRUQsUUFBUSxHQUFHLElBQUksQ0FBQztnQkFFaEIsMkNBQTJDO2dCQUMzQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztZQUNwQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FDRixDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTaWduYWxTdG9yZUZlYXR1cmUsXG4gIHBhdGNoU3RhdGUsXG4gIHNpZ25hbFN0b3JlRmVhdHVyZSxcbiAgd2l0aENvbXB1dGVkLFxuICB3aXRoSG9va3MsXG4gIHdpdGhNZXRob2RzLFxuICBFbXB0eUZlYXR1cmVSZXN1bHQsIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdFxufSBmcm9tICdAbmdyeC9zaWduYWxzJztcbmltcG9ydCB7IFNpZ25hbCwgZWZmZWN0LCBzaWduYWwsIHVudHJhY2tlZCwgaXNTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNhcGl0YWxpemUgfSBmcm9tICcuL3dpdGgtZGF0YS1zZXJ2aWNlJztcblxuZXhwb3J0IHR5cGUgU3RhY2tJdGVtID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbmV4cG9ydCB0eXBlIE5vcm1hbGl6ZWRVbmRvUmVkb09wdGlvbnMgPSB7XG4gIG1heFN0YWNrU2l6ZTogbnVtYmVyO1xuICBjb2xsZWN0aW9ucz86IHN0cmluZ1tdO1xuICBrZXlzOiBzdHJpbmdbXTtcbiAgc2tpcDogbnVtYmVyLFxufTtcblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IE5vcm1hbGl6ZWRVbmRvUmVkb09wdGlvbnMgPSB7XG4gIG1heFN0YWNrU2l6ZTogMTAwLFxuICBrZXlzOiBbXSxcbiAgc2tpcDogMCxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRVbmRvUmVkb0tleXMoY29sbGVjdGlvbnM/OiBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgaWYgKGNvbGxlY3Rpb25zKSB7XG4gICAgcmV0dXJuIGNvbGxlY3Rpb25zLmZsYXRNYXAoKGMpID0+IFtcbiAgICAgIGAke2N9RW50aXR5TWFwYCxcbiAgICAgIGAke2N9SWRzYCxcbiAgICAgIGBzZWxlY3RlZCR7Y2FwaXRhbGl6ZShjKX1JZHNgLFxuICAgICAgYCR7Y31GaWx0ZXJgLFxuICAgIF0pO1xuICB9XG4gIHJldHVybiBbJ2VudGl0eU1hcCcsICdpZHMnLCAnc2VsZWN0ZWRJZHMnLCAnZmlsdGVyJ107XG59XG5cbnR5cGUgTm9uTmV2ZXI8VD4gPSBUIGV4dGVuZHMgbmV2ZXIgPyBuZXZlciA6IFQ7XG5cbnR5cGUgRXh0cmFjdEVudGl0eUNvbGxlY3Rpb248VD4gPSBUIGV4dGVuZHMgYCR7aW5mZXIgVX1FbnRpdGllc2AgPyBVIDogbmV2ZXI7XG5cbnR5cGUgRXh0cmFjdEVudGl0eUNvbGxlY3Rpb25zPFN0b3JlIGV4dGVuZHMgU2lnbmFsU3RvcmVGZWF0dXJlUmVzdWx0PiA9IE5vbk5ldmVyPHtcbiAgW0sgaW4ga2V5b2YgU3RvcmVbJ2NvbXB1dGVkJ11dOiBFeHRyYWN0RW50aXR5Q29sbGVjdGlvbjxLPjtcbn1ba2V5b2YgU3RvcmVbJ2NvbXB1dGVkJ11dPjtcblxudHlwZSBPcHRpb25zRm9yU3RhdGU8U3RvcmUgZXh0ZW5kcyBTaWduYWxTdG9yZUZlYXR1cmVSZXN1bHQ+ID0gUGFydGlhbDxPbWl0PE5vcm1hbGl6ZWRVbmRvUmVkb09wdGlvbnMsICdjb2xsZWN0aW9ucycgfCAna2V5cyc+PiAmIHtcbiAgY29sbGVjdGlvbnM/OiBFeHRyYWN0RW50aXR5Q29sbGVjdGlvbnM8U3RvcmU+W107XG4gIGtleXM/OiAoa2V5b2YgU3RvcmVbJ3N0YXRlJ10pW107XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gd2l0aFVuZG9SZWRvPFxuICBJbnB1dCBleHRlbmRzIEVtcHR5RmVhdHVyZVJlc3VsdD4ob3B0aW9ucz86IE9wdGlvbnNGb3JTdGF0ZTxJbnB1dD4pOiBTaWduYWxTdG9yZUZlYXR1cmU8XG4gIElucHV0LFxuICBFbXB0eUZlYXR1cmVSZXN1bHQgJiB7XG4gIGNvbXB1dGVkOiB7XG4gICAgY2FuVW5kbzogU2lnbmFsPGJvb2xlYW4+O1xuICAgIGNhblJlZG86IFNpZ25hbDxib29sZWFuPjtcbiAgfTtcbiAgbWV0aG9kczoge1xuICAgIHVuZG86ICgpID0+IHZvaWQ7XG4gICAgcmVkbzogKCkgPT4gdm9pZDtcbiAgfTtcbn1cbj4ge1xuICBsZXQgcHJldmlvdXM6IFN0YWNrSXRlbSB8IG51bGwgPSBudWxsO1xuICBsZXQgc2tpcE9uY2UgPSBmYWxzZTtcblxuICBjb25zdCBub3JtYWxpemVkID0ge1xuICAgIC4uLmRlZmF1bHRPcHRpb25zLFxuICAgIC4uLm9wdGlvbnMsXG4gIH07XG5cbiAgLy9cbiAgLy8gRGVzaWduIERlY2lzaW9uOiBUaGlzIGZlYXR1cmUgaGFzIGl0cyBvd25cbiAgLy8gaW50ZXJuYWwgc3RhdGUuXG4gIC8vXG5cbiAgY29uc3QgdW5kb1N0YWNrOiBTdGFja0l0ZW1bXSA9IFtdO1xuICBjb25zdCByZWRvU3RhY2s6IFN0YWNrSXRlbVtdID0gW107XG5cbiAgY29uc3QgY2FuVW5kbyA9IHNpZ25hbChmYWxzZSk7XG4gIGNvbnN0IGNhblJlZG8gPSBzaWduYWwoZmFsc2UpO1xuXG4gIGNvbnN0IHVwZGF0ZUludGVybmFsID0gKCkgPT4ge1xuICAgIGNhblVuZG8uc2V0KHVuZG9TdGFjay5sZW5ndGggIT09IDApO1xuICAgIGNhblJlZG8uc2V0KHJlZG9TdGFjay5sZW5ndGggIT09IDApO1xuICB9O1xuXG4gIGNvbnN0IGtleXMgPSBbLi4uZ2V0VW5kb1JlZG9LZXlzKG5vcm1hbGl6ZWQuY29sbGVjdGlvbnMpLCAuLi5ub3JtYWxpemVkLmtleXNdO1xuXG4gIHJldHVybiBzaWduYWxTdG9yZUZlYXR1cmUoXG4gICAgd2l0aENvbXB1dGVkKCgpID0+ICh7XG4gICAgICBjYW5VbmRvOiBjYW5VbmRvLmFzUmVhZG9ubHkoKSxcbiAgICAgIGNhblJlZG86IGNhblJlZG8uYXNSZWFkb25seSgpLFxuICAgIH0pKSxcbiAgICB3aXRoTWV0aG9kcygoc3RvcmUpID0+ICh7XG4gICAgICB1bmRvKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpdGVtID0gdW5kb1N0YWNrLnBvcCgpO1xuXG4gICAgICAgIGlmIChpdGVtICYmIHByZXZpb3VzKSB7XG4gICAgICAgICAgcmVkb1N0YWNrLnB1c2gocHJldmlvdXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICBza2lwT25jZSA9IHRydWU7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgaXRlbSk7XG4gICAgICAgICAgcHJldmlvdXMgPSBpdGVtO1xuICAgICAgICB9XG5cbiAgICAgICAgdXBkYXRlSW50ZXJuYWwoKTtcbiAgICAgIH0sXG4gICAgICByZWRvKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpdGVtID0gcmVkb1N0YWNrLnBvcCgpO1xuXG4gICAgICAgIGlmIChpdGVtICYmIHByZXZpb3VzKSB7XG4gICAgICAgICAgdW5kb1N0YWNrLnB1c2gocHJldmlvdXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICBza2lwT25jZSA9IHRydWU7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgaXRlbSk7XG4gICAgICAgICAgcHJldmlvdXMgPSBpdGVtO1xuICAgICAgICB9XG5cbiAgICAgICAgdXBkYXRlSW50ZXJuYWwoKTtcbiAgICAgIH0sXG4gICAgfSkpLFxuICAgIHdpdGhIb29rcyh7XG4gICAgICBvbkluaXQoc3RvcmUpIHtcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICBjb25zdCBjYW5kID0ga2V5cy5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzID0gKHN0b3JlIGFzIFJlY29yZDxzdHJpbmcgfCBrZXlvZiBJbnB1dFsnc3RhdGUnXSwgdW5rbm93bj4pW2tleV07XG4gICAgICAgICAgICBpZiAocyAmJiBpc1NpZ25hbChzKSkge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICAgICAgICBba2V5XTogcygpLFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICB9LCB7fSk7XG5cbiAgICAgICAgICBpZiAobm9ybWFsaXplZC5za2lwID4gMCkge1xuICAgICAgICAgICAgbm9ybWFsaXplZC5za2lwLS07XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHNraXBPbmNlKSB7XG4gICAgICAgICAgICBza2lwT25jZSA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vXG4gICAgICAgICAgLy8gRGVlcCBDb21wYXJpc29uIHRvIHByZXZlbnQgZHVwbGljYXRlZCBlbnRyaWVzXG4gICAgICAgICAgLy8gb24gdGhlIHN0YWNrLiBUaGlzIGNhbiBlLmcuIGhhcHBlbiBhZnRlciBhbiB1bmRvXG4gICAgICAgICAgLy8gaWYgdGhlIGNvbXBvbmVudCBzZW5kcyBiYWNrIHRoZSB1bmRvbmUgZmlsdGVyXG4gICAgICAgICAgLy8gdG8gdGhlIHN0b3JlLlxuICAgICAgICAgIC8vXG4gICAgICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGNhbmQpID09PSBKU09OLnN0cmluZ2lmeShwcmV2aW91cykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBDbGVhciByZWRvU3RhY2sgYWZ0ZXIgcmVjb3JkZWQgYWN0aW9uXG4gICAgICAgICAgcmVkb1N0YWNrLnNwbGljZSgwKTtcblxuICAgICAgICAgIGlmIChwcmV2aW91cykge1xuICAgICAgICAgICAgdW5kb1N0YWNrLnB1c2gocHJldmlvdXMpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChyZWRvU3RhY2subGVuZ3RoID4gbm9ybWFsaXplZC5tYXhTdGFja1NpemUpIHtcbiAgICAgICAgICAgIHVuZG9TdGFjay51bnNoaWZ0KCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcHJldmlvdXMgPSBjYW5kO1xuXG4gICAgICAgICAgLy8gRG9uJ3QgcHJvcG9nYXRlIGN1cnJlbnQgcmVhY3RpdmUgY29udGV4dFxuICAgICAgICAgIHVudHJhY2tlZCgoKSA9PiB1cGRhdGVJbnRlcm5hbCgpKTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgIH0pXG4gICk7XG59XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1hcmNoaXRlY3RzLW5ncngtdG9vbGtpdC1yZWR1eC1jb25uZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdG9vbGtpdC9yZWR1eC1jb25uZWN0b3IvYW5ndWxhci1hcmNoaXRlY3RzLW5ncngtdG9vbGtpdC1yZWR1eC1jb25uZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,3 +0,0 @@
1
- export { createReduxState, mapAction, withActionMappers, } from './src/lib/create-redux';
2
- export { reduxMethod } from './src/lib/rxjs-interop/redux-method';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdG9vbGtpdC9yZWR1eC1jb25uZWN0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtcbiAgY3JlYXRlUmVkdXhTdGF0ZSxcbiAgbWFwQWN0aW9uLFxuICB3aXRoQWN0aW9uTWFwcGVycyxcbn0gZnJvbSAnLi9zcmMvbGliL2NyZWF0ZS1yZWR1eCc7XG5leHBvcnQgeyByZWR1eE1ldGhvZCB9IGZyb20gJy4vc3JjL2xpYi9yeGpzLWludGVyb3AvcmVkdXgtbWV0aG9kJztcbiJdfQ==
@@ -1,41 +0,0 @@
1
- import { ENVIRONMENT_INITIALIZER, inject, makeEnvironmentProviders } from "@angular/core";
2
- import { SignalReduxStore, injectReduxDispatch } from "./signal-redux-store";
3
- import { capitalize, isActionCreator } from "./util";
4
- export function mapAction(...args) {
5
- let resultMethod = args.pop();
6
- let storeMethod = args.pop();
7
- if (isActionCreator(storeMethod)) {
8
- args.push(storeMethod);
9
- storeMethod = resultMethod || storeMethod;
10
- resultMethod = undefined;
11
- }
12
- const types = args.map((creator) => creator.type);
13
- return {
14
- types,
15
- storeMethod,
16
- resultMethod
17
- };
18
- }
19
- export function withActionMappers(...mappers) {
20
- return mappers;
21
- }
22
- export function createReduxState(storeName, signalStore, withActionMappers) {
23
- const isRootProvider = signalStore?.ɵprov?.providedIn === 'root';
24
- return {
25
- [`provide${capitalize(storeName)}Store`]: (connectReduxDevtools = false) => makeEnvironmentProviders([
26
- isRootProvider ? [] : signalStore,
27
- {
28
- provide: ENVIRONMENT_INITIALIZER,
29
- multi: true,
30
- useFactory: (signalReduxStore = inject(SignalReduxStore), store = inject(signalStore)) => () => {
31
- if (connectReduxDevtools) {
32
- // addStoreToReduxDevtools(store, storeName, false);
33
- }
34
- signalReduxStore.connectFeatureStore(withActionMappers(store));
35
- }
36
- }
37
- ]),
38
- [`inject${capitalize(storeName)}Store`]: () => Object.assign(inject(signalStore), { dispatch: injectReduxDispatch() })
39
- };
40
- }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXJlZHV4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRvb2xraXQvcmVkdXgtY29ubmVjdG9yL3NyYy9saWIvY3JlYXRlLXJlZHV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFxQnJELE1BQU0sVUFBVSxTQUFTLENBR3ZCLEdBQUcsSUFJRjtJQUVELElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQTJELENBQUM7SUFDdkYsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBa0UsQ0FBQztJQUU3RixJQUFJLGVBQWUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkIsV0FBVyxHQUFHLFlBQVksSUFBSSxXQUFXLENBQUM7UUFDMUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUksSUFBNEIsQ0FBQyxHQUFHLENBQzdDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNpQixDQUFDO0lBRTdDLE9BQU87UUFDTCxLQUFLO1FBQ0wsV0FBVztRQUNYLFlBQVk7S0FDYixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsR0FBRyxPQUFpRDtJQUVwRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUk5QixTQUFvQixFQUNwQixXQUFrQixFQUNsQixpQkFBMkY7SUFFM0YsTUFBTSxjQUFjLEdBQUksV0FBbUIsRUFBRSxLQUFLLEVBQUUsVUFBVSxLQUFLLE1BQU0sQ0FBQztJQUMxRSxPQUFPO1FBQ0wsQ0FBQyxVQUFVLFVBQVUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDLHdCQUF3QixDQUFDO1lBQ25HLGNBQWMsQ0FBQSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXO1lBQ2hDO2dCQUNFLE9BQU8sRUFBRSx1QkFBdUI7Z0JBQ2hDLEtBQUssRUFBRSxJQUFJO2dCQUNYLFVBQVUsRUFBRSxDQUNWLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUMzQyxLQUFLLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUMzQixFQUFFLENBQUMsR0FBRyxFQUFFO29CQUNSLElBQUksb0JBQW9CLEVBQUUsQ0FBQzt3QkFDekIsb0RBQW9EO29CQUN0RCxDQUFDO29CQUNELGdCQUFnQixDQUFDLG1CQUFtQixDQUNsQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FDekIsQ0FBQztnQkFDSixDQUFDO2FBQ0Y7U0FDRixDQUFDO1FBQ0YsQ0FBQyxTQUFTLFVBQVUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FDMUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUNuQixFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxFQUFFLENBQ3BDO0tBQ29DLENBQUM7QUFDMUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVOVklST05NRU5UX0lOSVRJQUxJWkVSLCBpbmplY3QsIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBY3Rpb25DcmVhdG9yLCBBY3Rpb25UeXBlIH0gZnJvbSBcIkBuZ3J4L3N0b3JlL3NyYy9tb2RlbHNcIjtcbmltcG9ydCB7IENyZWF0ZVJlZHV4U3RhdGUsIEV4dHJhY3RBY3Rpb25UeXBlcywgTWFwcGVyVHlwZXMsIFN0b3JlIH0gZnJvbSBcIi4vbW9kZWxcIjtcbmltcG9ydCB7IFNpZ25hbFJlZHV4U3RvcmUsIGluamVjdFJlZHV4RGlzcGF0Y2ggfSBmcm9tIFwiLi9zaWduYWwtcmVkdXgtc3RvcmVcIjtcbmltcG9ydCB7IGNhcGl0YWxpemUsIGlzQWN0aW9uQ3JlYXRvciB9IGZyb20gXCIuL3V0aWxcIjtcblxuXG5leHBvcnQgZnVuY3Rpb24gbWFwQWN0aW9uPFxuICBDcmVhdG9ycyBleHRlbmRzIHJlYWRvbmx5IEFjdGlvbkNyZWF0b3JbXVxuPihcbiAgLi4uYXJnczogW1xuICAgIC4uLmNyZWF0b3JzOiBDcmVhdG9ycyxcbiAgICBzdG9yZU1ldGhvZDogKGFjdGlvbjogQWN0aW9uVHlwZTxDcmVhdG9yc1tudW1iZXJdPikgPT4gdW5rbm93blxuICBdXG4pOiBNYXBwZXJUeXBlczxDcmVhdG9ycz47XG5leHBvcnQgZnVuY3Rpb24gbWFwQWN0aW9uPFxuICBDcmVhdG9ycyBleHRlbmRzIHJlYWRvbmx5IEFjdGlvbkNyZWF0b3JbXSxcbiAgVFxuPihcbiAgLi4uYXJnczogW1xuICAgIC4uLmNyZWF0b3JzOiBDcmVhdG9ycyxcbiAgICBzdG9yZU1ldGhvZDogKGFjdGlvbjogQWN0aW9uVHlwZTxDcmVhdG9yc1tudW1iZXJdPiwgcmVzdWx0TWV0aG9kOiAoaW5wdXQ6IFQpID0+IHVua25vd24pID0+IHVua25vd24sXG4gICAgcmVzdWx0TWV0aG9kOiAoaW5wdXQ6IFQpID0+IHVua25vd25cbiAgXVxuKTogTWFwcGVyVHlwZXM8Q3JlYXRvcnM+O1xuZXhwb3J0IGZ1bmN0aW9uIG1hcEFjdGlvbjxcbiAgQ3JlYXRvcnMgZXh0ZW5kcyByZWFkb25seSBBY3Rpb25DcmVhdG9yW11cbj4oXG4gIC4uLmFyZ3M6IFtcbiAgICAuLi5jcmVhdG9yczogQ3JlYXRvcnMsXG4gICAgc3RvcmVNZXRob2Q6IChhY3Rpb246IEFjdGlvblR5cGU8Q3JlYXRvcnNbbnVtYmVyXT4pID0+IHVua25vd24sXG4gICAgcmVzdWx0TWV0aG9kPzogKGlucHV0OiB1bmtub3duKSA9PiB1bmtub3duXG4gIF1cbik6IE1hcHBlclR5cGVzPENyZWF0b3JzPiB7XG4gIGxldCByZXN1bHRNZXRob2QgPSBhcmdzLnBvcCgpIGFzIHVua25vd24gYXMgKChpbnB1dDogdW5rbm93bikgPT4gdW5rbm93biApIHwgdW5kZWZpbmVkO1xuICBsZXQgc3RvcmVNZXRob2QgPSBhcmdzLnBvcCgpIGFzIHVua25vd24gYXMgKGFjdGlvbjogQWN0aW9uVHlwZTxDcmVhdG9yc1tudW1iZXJdPikgPT4gdW5rbm93bjtcblxuICBpZiAoaXNBY3Rpb25DcmVhdG9yKHN0b3JlTWV0aG9kKSkge1xuICAgIGFyZ3MucHVzaChzdG9yZU1ldGhvZCk7XG4gICAgc3RvcmVNZXRob2QgPSByZXN1bHRNZXRob2QgfHwgc3RvcmVNZXRob2Q7XG4gICAgcmVzdWx0TWV0aG9kID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgdHlwZXMgPSAoYXJncyBhcyB1bmtub3duIGFzIENyZWF0b3JzKS5tYXAoXG4gICAgKGNyZWF0b3IpID0+IGNyZWF0b3IudHlwZVxuICApIGFzIHVua25vd24gYXMgRXh0cmFjdEFjdGlvblR5cGVzPENyZWF0b3JzPjtcblxuICByZXR1cm4ge1xuICAgIHR5cGVzLFxuICAgIHN0b3JlTWV0aG9kLFxuICAgIHJlc3VsdE1ldGhvZFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2l0aEFjdGlvbk1hcHBlcnMoXG4gIC4uLm1hcHBlcnM6IE1hcHBlclR5cGVzPEFjdGlvbkNyZWF0b3I8YW55LCBhbnk+W10+W11cbik6IE1hcHBlclR5cGVzPEFjdGlvbkNyZWF0b3I8YW55LCBhbnk+W10+W10ge1xuICByZXR1cm4gbWFwcGVycztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlZHV4U3RhdGU8XG4gIFN0b3JlTmFtZSBleHRlbmRzIHN0cmluZyxcbiAgU1RPUkUgZXh0ZW5kcyBTdG9yZVxuPihcbiAgc3RvcmVOYW1lOiBTdG9yZU5hbWUsXG4gIHNpZ25hbFN0b3JlOiBTVE9SRSxcbiAgd2l0aEFjdGlvbk1hcHBlcnM6IChzdG9yZTogSW5zdGFuY2VUeXBlPFNUT1JFPikgPT4gTWFwcGVyVHlwZXM8QWN0aW9uQ3JlYXRvcjxhbnksIGFueT5bXT5bXSxcbik6IENyZWF0ZVJlZHV4U3RhdGU8U3RvcmVOYW1lLCBTVE9SRT4ge1xuICBjb25zdCBpc1Jvb3RQcm92aWRlciA9IChzaWduYWxTdG9yZSBhcyBhbnkpPy7JtXByb3Y/LnByb3ZpZGVkSW4gPT09ICdyb290JztcbiAgcmV0dXJuIHtcbiAgICBbYHByb3ZpZGUke2NhcGl0YWxpemUoc3RvcmVOYW1lKX1TdG9yZWBdOiAoY29ubmVjdFJlZHV4RGV2dG9vbHMgPSBmYWxzZSkgPT4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcbiAgICAgIGlzUm9vdFByb3ZpZGVyPyBbXSA6IHNpZ25hbFN0b3JlLFxuICAgICAge1xuICAgICAgICBwcm92aWRlOiBFTlZJUk9OTUVOVF9JTklUSUFMSVpFUixcbiAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIHVzZUZhY3Rvcnk6IChcbiAgICAgICAgICBzaWduYWxSZWR1eFN0b3JlID0gaW5qZWN0KFNpZ25hbFJlZHV4U3RvcmUpLFxuICAgICAgICAgIHN0b3JlID0gaW5qZWN0KHNpZ25hbFN0b3JlKVxuICAgICAgICApID0+ICgpID0+IHtcbiAgICAgICAgICBpZiAoY29ubmVjdFJlZHV4RGV2dG9vbHMpIHtcbiAgICAgICAgICAgIC8vIGFkZFN0b3JlVG9SZWR1eERldnRvb2xzKHN0b3JlLCBzdG9yZU5hbWUsIGZhbHNlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc2lnbmFsUmVkdXhTdG9yZS5jb25uZWN0RmVhdHVyZVN0b3JlKFxuICAgICAgICAgICAgd2l0aEFjdGlvbk1hcHBlcnMoc3RvcmUpXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIF0pLFxuICAgIFtgaW5qZWN0JHtjYXBpdGFsaXplKHN0b3JlTmFtZSl9U3RvcmVgXTogKCkgPT4gT2JqZWN0LmFzc2lnbihcbiAgICAgIGluamVjdChzaWduYWxTdG9yZSksXG4gICAgICB7IGRpc3BhdGNoOiBpbmplY3RSZWR1eERpc3BhdGNoKCkgfVxuICAgIClcbiAgfSBhcyBDcmVhdGVSZWR1eFN0YXRlPFN0b3JlTmFtZSwgU1RPUkU+O1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdG9vbGtpdC9yZWR1eC1jb25uZWN0b3Ivc3JjL2xpYi9tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnRQcm92aWRlcnMsIFNpZ25hbCwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVlcFNpZ25hbCB9IGZyb20gJ0BuZ3J4L3NpZ25hbHMvc3JjL2RlZXAtc2lnbmFsJztcbmltcG9ydCB7XG4gIFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdCxcbiAgU3RhdGVTaWduYWxzLFxufSBmcm9tICdAbmdyeC9zaWduYWxzL3NyYy9zaWduYWwtc3RvcmUtbW9kZWxzJztcbmltcG9ydCB7XG4gIEFjdGlvbixcbiAgQWN0aW9uQ3JlYXRvcixcbiAgQWN0aW9uVHlwZSxcbiAgUHJldHRpZnksXG59IGZyb20gJ0BuZ3J4L3N0b3JlL3NyYy9tb2RlbHMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgVW5zdWJzY3JpYmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IHR5cGUgSW5jbHVkZVByb3BUeXBlPFxuICBULFxuICBWLFxuICBXaXRoTmV2ZXJzID0ge1xuICAgIFtLIGluIGtleW9mIFRdOiBFeGNsdWRlPFRbS10sIHVuZGVmaW5lZD4gZXh0ZW5kcyBWXG4gICAgICA/IFRbS10gZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgICAgICA/IEluY2x1ZGVQcm9wVHlwZTxUW0tdLCBWPlxuICAgICAgICA6IFRbS11cbiAgICAgIDogbmV2ZXI7XG4gIH1cbj4gPSBQcmV0dGlmeTxcbiAgUGljazxcbiAgICBXaXRoTmV2ZXJzLFxuICAgIHtcbiAgICAgIFtLIGluIGtleW9mIFdpdGhOZXZlcnNdOiBXaXRoTmV2ZXJzW0tdIGV4dGVuZHMgbmV2ZXJcbiAgICAgICAgPyBuZXZlclxuICAgICAgICA6IEsgZXh0ZW5kcyBzdHJpbmdcbiAgICAgICAgPyBLXG4gICAgICAgIDogbmV2ZXI7XG4gICAgfVtrZXlvZiBXaXRoTmV2ZXJzXVxuICA+XG4+O1xuXG5leHBvcnQgdHlwZSBTdG9yZSA9IFR5cGU8XG4gIFJlY29yZDxzdHJpbmcsIHVua25vd24+ICYgU3RhdGVTaWduYWxzPFNpZ25hbFN0b3JlRmVhdHVyZVJlc3VsdFsnc3RhdGUnXT5cbj47XG5cbmV4cG9ydCB0eXBlIENyZWF0ZVJlZHV4U3RhdGU8U3RvcmVOYW1lIGV4dGVuZHMgc3RyaW5nLCBTVE9SRSBleHRlbmRzIFN0b3JlPiA9IHtcbiAgW0sgaW4gU3RvcmVOYW1lIGFzIGBwcm92aWRlJHtDYXBpdGFsaXplPEs+fVN0b3JlYF06IChcbiAgICBjb25uZWN0UmVkdXhEZXZ0b29scz86IGJvb2xlYW5cbiAgKSA9PiBFbnZpcm9ubWVudFByb3ZpZGVycztcbn0gJiB7XG4gIFtLIGluIFN0b3JlTmFtZSBhcyBgaW5qZWN0JHtDYXBpdGFsaXplPEs+fVN0b3JlYF06ICgpID0+IEluamVjdGFibGVSZWR1eFNsaWNlPFNUT1JFPjtcbn07XG5cbmV4cG9ydCB0eXBlIFNlbGVjdG9yczxTVE9SRSBleHRlbmRzIFN0b3JlPiA9IEluY2x1ZGVQcm9wVHlwZTxcbiAgSW5zdGFuY2VUeXBlPFNUT1JFPixcbiAgU2lnbmFsPHVua25vd24+IHwgRGVlcFNpZ25hbDx1bmtub3duPlxuPjtcbmV4cG9ydCB0eXBlIERpc3BhdGNoID0ge1xuICBkaXNwYXRjaDogKFxuICAgIGlucHV0OiBBY3Rpb24gfCBPYnNlcnZhYmxlPEFjdGlvbj4gfCBTaWduYWw8QWN0aW9uPlxuICApID0+IFVuc3Vic2NyaWJhYmxlO1xufTtcbmV4cG9ydCB0eXBlIEluamVjdGFibGVSZWR1eFNsaWNlPFNUT1JFIGV4dGVuZHMgU3RvcmU+ID0gU2VsZWN0b3JzPFNUT1JFPiAmXG4gIERpc3BhdGNoO1xuXG5leHBvcnQgdHlwZSBFeHRyYWN0QWN0aW9uVHlwZXM8Q3JlYXRvcnMgZXh0ZW5kcyByZWFkb25seSBBY3Rpb25DcmVhdG9yW10+ID0ge1xuICBbS2V5IGluIGtleW9mIENyZWF0b3JzXTogQ3JlYXRvcnNbS2V5XSBleHRlbmRzIEFjdGlvbkNyZWF0b3I8aW5mZXIgVD5cbiAgICA/IFRcbiAgICA6IG5ldmVyO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25NZXRob2Q8VCwgViBleHRlbmRzIEFjdGlvbiA9IEFjdGlvbj4ge1xuICAoYWN0aW9uOiBWKTogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdG9yZU1ldGhvZDxcbiAgQ3JlYXRvcnMgZXh0ZW5kcyByZWFkb25seSBBY3Rpb25DcmVhdG9yW10sXG4gIFJlc3VsdFN0YXRlID0gdW5rbm93blxuPiB7XG4gIChhY3Rpb246IEFjdGlvblR5cGU8Q3JlYXRvcnNbbnVtYmVyXT4pOiBSZXN1bHRTdGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBwZXJUeXBlczxDcmVhdG9ycyBleHRlbmRzIHJlYWRvbmx5IEFjdGlvbkNyZWF0b3JbXT4ge1xuICB0eXBlczogRXh0cmFjdEFjdGlvblR5cGVzPENyZWF0b3JzPjtcbiAgc3RvcmVNZXRob2Q6IFN0b3JlTWV0aG9kPENyZWF0b3JzPjtcbiAgcmVzdWx0TWV0aG9kPzogKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gdW5rbm93bjtcbn1cbiJdfQ==
@@ -1,22 +0,0 @@
1
- import { Injector, inject } from "@angular/core";
2
- import { rxMethod } from "@ngrx/signals/rxjs-interop";
3
- import { map, pipe } from "rxjs";
4
- export function reduxMethod(generator, resultMethodOrConfig, config) {
5
- const injector = inject(Injector);
6
- if (typeof resultMethodOrConfig === 'function') {
7
- let unsubscribable;
8
- const inputResultFn = ((input, resultMethod = resultMethodOrConfig) => {
9
- const rxMethodWithResult = rxMethod(pipe(generator, map(resultMethod)), {
10
- ...(config || {}),
11
- injector: config?.injector || injector
12
- });
13
- const rxWithInput = rxMethodWithResult(input);
14
- unsubscribable = { unsubscribe: rxWithInput.unsubscribe.bind(rxWithInput) };
15
- return rxWithInput;
16
- });
17
- inputResultFn.unsubscribe = () => unsubscribable?.unsubscribe();
18
- return inputResultFn;
19
- }
20
- return rxMethod(generator, resultMethodOrConfig);
21
- }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdXgtbWV0aG9kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRvb2xraXQvcmVkdXgtY29ubmVjdG9yL3NyYy9saWIvcnhqcy1pbnRlcm9wL3JlZHV4LW1ldGhvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUE4QixHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBcUI3RCxNQUFNLFVBQVUsV0FBVyxDQUN6QixTQUFrRSxFQUNsRSxvQkFFQyxFQUNELE1BRUM7SUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFbEMsSUFBSSxPQUFPLG9CQUFvQixLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQy9DLElBQUksY0FBOEIsQ0FBQztRQUNuQyxNQUFNLGFBQWEsR0FBRyxDQUFDLENBQ3JCLEtBQTJCLEVBQzNCLFlBQVksR0FBRyxvQkFBb0IsRUFDbkMsRUFBRTtZQUVGLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFRLElBQUksQ0FDN0MsU0FBUyxFQUNULEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FDbEIsRUFBRTtnQkFDRCxHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztnQkFDakIsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLElBQUksUUFBUTthQUN2QyxDQUFDLENBQUM7WUFDSCxNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QyxjQUFjLEdBQUcsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUU1RSxPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDLENBQStDLENBQUM7UUFFakQsYUFBYSxDQUFDLFdBQVcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFFaEUsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVELE9BQU8sUUFBUSxDQUFRLFNBQVMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0FBQzFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgU2lnbmFsLCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgcnhNZXRob2QgfSBmcm9tIFwiQG5ncngvc2lnbmFscy9yeGpzLWludGVyb3BcIjtcbmltcG9ydCB7IE9ic2VydmFibGUsIFVuc3Vic2NyaWJhYmxlLCBtYXAsIHBpcGUgfSBmcm9tIFwicnhqc1wiO1xuXG5cbnR5cGUgUnhNZXRob2RJbnB1dDxJbnB1dD4gPSBJbnB1dCB8IE9ic2VydmFibGU8SW5wdXQ+IHwgU2lnbmFsPElucHV0PjtcblxudHlwZSBSeE1ldGhvZDxJbnB1dCwgTWV0aG9kSW5wdXQgPSBJbnB1dCwgTWV0aG9kUmVzdWx0ID0gdW5rbm93bj4gPSAoKFxuICBpbnB1dDogUnhNZXRob2RJbnB1dDxJbnB1dD4sXG4gIHJlc3VsdE1ldGhvZDogKGlucHV0OiBNZXRob2RJbnB1dCkgPT4gTWV0aG9kUmVzdWx0XG4pID0+IFVuc3Vic2NyaWJhYmxlKSAmIFVuc3Vic2NyaWJhYmxlO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVkdXhNZXRob2Q8SW5wdXQsIE1ldGhvZElucHV0ID0gSW5wdXQ+KFxuICBnZW5lcmF0b3I6IChzb3VyY2UkOiBPYnNlcnZhYmxlPElucHV0PikgPT4gT2JzZXJ2YWJsZTxNZXRob2RJbnB1dD4sXG4gIGNvbmZpZz86IHsgaW5qZWN0b3I/OiBJbmplY3RvciB9XG4pOiBSeE1ldGhvZDxJbnB1dCwgTWV0aG9kSW5wdXQ+O1xuZXhwb3J0IGZ1bmN0aW9uIHJlZHV4TWV0aG9kPElucHV0LCBNZXRob2RJbnB1dCA9IElucHV0LCBNZXRob2RSZXN1bHQgPSB1bmtub3duPihcbiAgZ2VuZXJhdG9yOiAoc291cmNlJDogT2JzZXJ2YWJsZTxJbnB1dD4pID0+IE9ic2VydmFibGU8TWV0aG9kSW5wdXQ+LFxuICByZXN1bHRNZXRob2Q6IChpbnB1dDogTWV0aG9kSW5wdXQpID0+IE1ldGhvZFJlc3VsdCxcbiAgY29uZmlnPzoge1xuICAgIGluamVjdG9yPzogSW5qZWN0b3JcbiAgfVxuKTogUnhNZXRob2Q8SW5wdXQsIE1ldGhvZElucHV0LCBNZXRob2RSZXN1bHQ+O1xuZXhwb3J0IGZ1bmN0aW9uIHJlZHV4TWV0aG9kPElucHV0LCBNZXRob2RJbnB1dCA9IElucHV0LCBNZXRob2RSZXN1bHQgPSB1bmtub3duPihcbiAgZ2VuZXJhdG9yOiAoc291cmNlJDogT2JzZXJ2YWJsZTxJbnB1dD4pID0+IE9ic2VydmFibGU8TWV0aG9kSW5wdXQ+LFxuICByZXN1bHRNZXRob2RPckNvbmZpZz86ICgoaW5wdXQ6IE1ldGhvZElucHV0KSA9PiBNZXRob2RSZXN1bHQpIHwge1xuICAgIGluamVjdG9yPzogSW5qZWN0b3JcbiAgfSxcbiAgY29uZmlnPzoge1xuICAgIGluamVjdG9yPzogSW5qZWN0b3JcbiAgfVxuKTogUnhNZXRob2Q8SW5wdXQsIE1ldGhvZElucHV0LCBNZXRob2RSZXN1bHQ+ICB7XG4gIGNvbnN0IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICBpZiAodHlwZW9mIHJlc3VsdE1ldGhvZE9yQ29uZmlnID09PSAnZnVuY3Rpb24nKSB7XG4gICAgbGV0IHVuc3Vic2NyaWJhYmxlOiBVbnN1YnNjcmliYWJsZTtcbiAgICBjb25zdCBpbnB1dFJlc3VsdEZuID0gKChcbiAgICAgIGlucHV0OiBSeE1ldGhvZElucHV0PElucHV0PixcbiAgICAgIHJlc3VsdE1ldGhvZCA9IHJlc3VsdE1ldGhvZE9yQ29uZmlnXG4gICAgKSA9PiB7XG5cbiAgICAgIGNvbnN0IHJ4TWV0aG9kV2l0aFJlc3VsdCA9IHJ4TWV0aG9kPElucHV0PihwaXBlKFxuICAgICAgICBnZW5lcmF0b3IsXG4gICAgICAgIG1hcChyZXN1bHRNZXRob2QpXG4gICAgICApLCB7XG4gICAgICAgIC4uLihjb25maWcgfHwge30pLFxuICAgICAgICBpbmplY3RvcjogY29uZmlnPy5pbmplY3RvciB8fCBpbmplY3RvclxuICAgICAgfSk7XG4gICAgICBjb25zdCByeFdpdGhJbnB1dCA9IHJ4TWV0aG9kV2l0aFJlc3VsdChpbnB1dCk7XG4gICAgICB1bnN1YnNjcmliYWJsZSA9IHsgdW5zdWJzY3JpYmU6IHJ4V2l0aElucHV0LnVuc3Vic2NyaWJlLmJpbmQocnhXaXRoSW5wdXQpIH07XG5cbiAgICAgIHJldHVybiByeFdpdGhJbnB1dDtcbiAgICB9KSBhcyBSeE1ldGhvZDxJbnB1dCwgTWV0aG9kSW5wdXQsIE1ldGhvZFJlc3VsdD47XG5cbiAgICBpbnB1dFJlc3VsdEZuLnVuc3Vic2NyaWJlID0gKCkgPT4gdW5zdWJzY3JpYmFibGU/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICByZXR1cm4gaW5wdXRSZXN1bHRGbjtcbiAgfVxuXG4gIHJldHVybiByeE1ldGhvZDxJbnB1dD4oZ2VuZXJhdG9yLCByZXN1bHRNZXRob2RPckNvbmZpZyk7XG59XG4iXX0=
@@ -1,43 +0,0 @@
1
- import { Injectable, inject } from "@angular/core";
2
- import { rxMethod } from "@ngrx/signals/rxjs-interop";
3
- import { pipe, tap } from "rxjs";
4
- import { isUnsubscribable } from "./util";
5
- import * as i0 from "@angular/core";
6
- export class SignalReduxStore {
7
- constructor() {
8
- this.mapperDict = {};
9
- this.dispatch = rxMethod(pipe(tap((action) => {
10
- const callbacks = this.mapperDict[action.type];
11
- if (callbacks?.storeMethod) {
12
- if (isUnsubscribable(callbacks.storeMethod) &&
13
- callbacks.resultMethod) {
14
- return callbacks.storeMethod(action, (a) => {
15
- const resultAction = callbacks.resultMethod?.(a);
16
- this.dispatch(resultAction);
17
- });
18
- }
19
- return callbacks?.storeMethod(action);
20
- }
21
- return;
22
- })));
23
- }
24
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
25
- connectFeatureStore(mappers) {
26
- mappers.forEach(mapper => mapper.types.forEach(action => this.mapperDict[action] = {
27
- storeMethod: mapper.storeMethod,
28
- resultMethod: mapper.resultMethod
29
- }));
30
- }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SignalReduxStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
32
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SignalReduxStore, providedIn: 'root' }); }
33
- }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SignalReduxStore, decorators: [{
35
- type: Injectable,
36
- args: [{
37
- providedIn: 'root'
38
- }]
39
- }] });
40
- export function injectReduxDispatch() {
41
- return inject(SignalReduxStore).dispatch;
42
- }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsLXJlZHV4LXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRvb2xraXQvcmVkdXgtY29ubmVjdG9yL3NyYy9saWIvc2lnbmFsLXJlZHV4LXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxRQUFRLENBQUM7O0FBTTFDLE1BQU0sT0FBTyxnQkFBZ0I7SUFIN0I7UUFJVSxlQUFVLEdBR2IsRUFBRSxDQUFDO1FBRVIsYUFBUSxHQUFHLFFBQVEsQ0FBUyxJQUFJLENBQzlCLEdBQUcsQ0FBQyxDQUFDLE1BQWMsRUFBRSxFQUFFO1lBQ3JCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9DLElBQUksU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDO2dCQUMzQixJQUNFLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUM7b0JBQ3ZDLFNBQVMsQ0FBQyxZQUFZLEVBQ3RCLENBQUM7b0JBQ0QsT0FBTyxTQUFTLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQVMsRUFBRSxFQUFFO3dCQUNqRCxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFXLENBQUM7d0JBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQzlCLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBRUQsT0FBTyxTQUFTLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hDLENBQUM7WUFFRCxPQUFPO1FBQ1QsQ0FBQyxDQUFDLENBQ0gsQ0FBQyxDQUFDO0tBYUo7SUFYQyw4REFBOEQ7SUFDOUQsbUJBQW1CLENBQUMsT0FBaUQ7UUFDbkUsT0FBTyxDQUFDLE9BQU8sQ0FDYixNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUM1QixNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUc7WUFDbEMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXO1lBQy9CLFlBQVksRUFBRSxNQUFNLENBQUMsWUFBWTtTQUNsQyxDQUNGLENBQ0YsQ0FBQztJQUNKLENBQUM7OEdBckNVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7QUF5Q0QsTUFBTSxVQUFVLG1CQUFtQjtJQUNqQyxPQUFPLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQztBQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IHJ4TWV0aG9kIH0gZnJvbSBcIkBuZ3J4L3NpZ25hbHMvcnhqcy1pbnRlcm9wXCI7XG5pbXBvcnQgeyBBY3Rpb24sIEFjdGlvbkNyZWF0b3IgfSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcbmltcG9ydCB7IHBpcGUsIHRhcCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBNYXBwZXJUeXBlcyB9IGZyb20gXCIuL21vZGVsXCI7XG5pbXBvcnQgeyBpc1Vuc3Vic2NyaWJhYmxlIH0gZnJvbSBcIi4vdXRpbFwiO1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNpZ25hbFJlZHV4U3RvcmUge1xuICBwcml2YXRlIG1hcHBlckRpY3Q6IFJlY29yZDxzdHJpbmcsIHtcbiAgICBzdG9yZU1ldGhvZDogKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gdW5rbm93bixcbiAgICByZXN1bHRNZXRob2Q/OiAoLi4uYXJnczogdW5rbm93bltdKSA9PiB1bmtub3duLFxuICB9PiA9IHt9O1xuXG4gIGRpc3BhdGNoID0gcnhNZXRob2Q8QWN0aW9uPihwaXBlKFxuICAgIHRhcCgoYWN0aW9uOiBBY3Rpb24pID0+IHtcbiAgICAgIGNvbnN0IGNhbGxiYWNrcyA9IHRoaXMubWFwcGVyRGljdFthY3Rpb24udHlwZV07XG4gICAgICBpZiAoY2FsbGJhY2tzPy5zdG9yZU1ldGhvZCkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgaXNVbnN1YnNjcmliYWJsZShjYWxsYmFja3Muc3RvcmVNZXRob2QpICYmXG4gICAgICAgICAgY2FsbGJhY2tzLnJlc3VsdE1ldGhvZFxuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm4gY2FsbGJhY2tzLnN0b3JlTWV0aG9kKGFjdGlvbiwgKGE6IEFjdGlvbikgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0QWN0aW9uID0gY2FsbGJhY2tzLnJlc3VsdE1ldGhvZD8uKGEpIGFzIEFjdGlvbjtcbiAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2gocmVzdWx0QWN0aW9uKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjYWxsYmFja3M/LnN0b3JlTWV0aG9kKGFjdGlvbik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcbiAgICB9KVxuICApKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBjb25uZWN0RmVhdHVyZVN0b3JlKG1hcHBlcnM6IE1hcHBlclR5cGVzPEFjdGlvbkNyZWF0b3I8YW55LCBhbnk+W10+W10pOiB2b2lkIHtcbiAgICBtYXBwZXJzLmZvckVhY2goXG4gICAgICBtYXBwZXIgPT4gbWFwcGVyLnR5cGVzLmZvckVhY2goXG4gICAgICAgIGFjdGlvbiA9PiB0aGlzLm1hcHBlckRpY3RbYWN0aW9uXSA9IHtcbiAgICAgICAgICBzdG9yZU1ldGhvZDogbWFwcGVyLnN0b3JlTWV0aG9kLFxuICAgICAgICAgIHJlc3VsdE1ldGhvZDogbWFwcGVyLnJlc3VsdE1ldGhvZFxuICAgICAgICB9XG4gICAgICApXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UmVkdXhEaXNwYXRjaCgpIHtcbiAgcmV0dXJuIGluamVjdChTaWduYWxSZWR1eFN0b3JlKS5kaXNwYXRjaDtcbn1cbiJdfQ==
@@ -1,13 +0,0 @@
1
- export function isUnsubscribable(fn) {
2
- return !!fn?.unsubscribe;
3
- }
4
- export function capitalize(str) {
5
- return str ? str[0].toUpperCase() + str.substring(1) : str;
6
- }
7
- export function isActionCreator(action) {
8
- return (typeof action === 'function' &&
9
- action &&
10
- action.type &&
11
- typeof action.type === 'string');
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10b29sa2l0L3JlZHV4LWNvbm5lY3Rvci9zcmMvbGliL3V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixFQUE0QjtJQUU1QixPQUFPLENBQUMsQ0FBRSxFQUFnQyxFQUFFLFdBQVcsQ0FBQztBQUMxRCxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxHQUFXO0lBQ3BDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQzdELENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLE1BQVc7SUFDekMsT0FBTyxDQUNMLE9BQU8sTUFBTSxLQUFLLFVBQVU7UUFDNUIsTUFBTTtRQUNOLE1BQU0sQ0FBQyxJQUFJO1FBQ1gsT0FBTyxNQUFNLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FDaEMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBVbnN1YnNjcmliYWJsZSB9IGZyb20gJ3J4anMnO1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBpc1Vuc3Vic2NyaWJhYmxlPEYgZXh0ZW5kcyAoLi4uYXJnczogdW5rbm93bltdKSA9PiB1bmtub3duPihcbiAgZm46IEYgfCAoRiAmIFVuc3Vic2NyaWJhYmxlKVxuKTogZm4gaXMgRiAmIFVuc3Vic2NyaWJhYmxlIHtcbiAgcmV0dXJuICEhKGZuIGFzIGFueSBhcyBGICYgVW5zdWJzY3JpYmFibGUpPy51bnN1YnNjcmliZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhcGl0YWxpemUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gc3RyID8gc3RyWzBdLnRvVXBwZXJDYXNlKCkgKyBzdHIuc3Vic3RyaW5nKDEpIDogc3RyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNBY3Rpb25DcmVhdG9yKGFjdGlvbjogYW55KTogYWN0aW9uIGlzIEFjdGlvbiB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIGFjdGlvbiA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgIGFjdGlvbiAmJlxuICAgIGFjdGlvbi50eXBlICYmXG4gICAgdHlwZW9mIGFjdGlvbi50eXBlID09PSAnc3RyaW5nJ1xuICApO1xufVxuIl19
@@ -1,38 +0,0 @@
1
- import { EmptyFeatureResult, PartialStateUpdater, patchState as originalPatchState, SignalStoreFeature, WritableStateSource } from '@ngrx/signals';
2
- import { Prettify } from './shared/prettify';
3
- declare global {
4
- interface Window {
5
- __REDUX_DEVTOOLS_EXTENSION__: {
6
- connect: (options: {
7
- name: string;
8
- }) => {
9
- send: (action: Action, state: Record<string, unknown>) => void;
10
- };
11
- } | undefined;
12
- }
13
- }
14
- export type Action = {
15
- type: string;
16
- };
17
- /**
18
- * required for testing. is not exported during build
19
- */
20
- export declare function reset(): void;
21
- /**
22
- * @param name store's name as it should appear in the DevTools
23
- */
24
- export declare function withDevtools<Input extends EmptyFeatureResult>(name: string): SignalStoreFeature<Input, EmptyFeatureResult>;
25
- type PatchFn = typeof originalPatchState extends (arg1: infer First, ...args: infer Rest) => infer Returner ? (state: First, action: string, ...rest: Rest) => Returner : never;
26
- /**
27
- * @deprecated Has been renamed to `updateState`
28
- */
29
- export declare const patchState: PatchFn;
30
- /**
31
- * Wrapper of `patchState` for DevTools integration. Next to updating the state,
32
- * it also sends the action to the DevTools.
33
- * @param stateSource state of Signal Store
34
- * @param action name of action how it will show in DevTools
35
- * @param updaters updater functions or objects
36
- */
37
- export declare function updateState<State extends object>(stateSource: WritableStateSource<State>, action: string, ...updaters: Array<Partial<Prettify<State>> | PartialStateUpdater<Prettify<State>>>): void;
38
- export {};