@ngxs/store 3.8.1-dev.master-c0944d0 → 3.8.1-dev.master-84a340f

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.
@@ -1,4 +1,5 @@
1
1
  import { Injectable } from '@angular/core';
2
+ import { isStateOperator } from '@ngxs/store/operators';
2
3
  import { setValue, getValue } from '../utils/utils';
3
4
  import { InternalStateOperations } from '../internal/state-operations';
4
5
  import { simplePatch } from './state-operators';
@@ -17,43 +18,21 @@ export class StateContextFactory {
17
18
  */
18
19
  createStateContext(mappedStore) {
19
20
  const root = this._internalStateOperations.getRootStateOperations();
20
- function getState(currentAppState) {
21
- return getValue(currentAppState, mappedStore.path);
22
- }
23
- function setStateValue(currentAppState, newValue) {
24
- const newAppState = setValue(currentAppState, mappedStore.path, newValue);
25
- root.setState(newAppState);
26
- return newAppState;
27
- // In doing this refactoring I noticed that there is a 'bug' where the
28
- // application state is returned instead of this state slice.
29
- // This has worked this way since the beginning see:
30
- // https://github.com/ngxs/store/blame/324c667b4b7debd8eb979006c67ca0ae347d88cd/src/state-factory.ts
31
- // This needs to be fixed, but is a 'breaking' change.
32
- // I will do this fix in a subsequent PR and we can decide how to handle it.
33
- }
34
- function setStateFromOperator(currentAppState, stateOperator) {
35
- const local = getState(currentAppState);
36
- const newValue = stateOperator(local);
37
- return setStateValue(currentAppState, newValue);
38
- }
39
- function isStateOperator(value) {
40
- return typeof value === 'function';
41
- }
42
21
  return {
43
22
  getState() {
44
23
  const currentAppState = root.getState();
45
- return getState(currentAppState);
24
+ return getState(currentAppState, mappedStore.path);
46
25
  },
47
26
  patchState(val) {
48
27
  const currentAppState = root.getState();
49
28
  const patchOperator = simplePatch(val);
50
- return setStateFromOperator(currentAppState, patchOperator);
29
+ return setStateFromOperator(root, currentAppState, patchOperator, mappedStore.path);
51
30
  },
52
31
  setState(val) {
53
32
  const currentAppState = root.getState();
54
33
  return isStateOperator(val)
55
- ? setStateFromOperator(currentAppState, val)
56
- : setStateValue(currentAppState, val);
34
+ ? setStateFromOperator(root, currentAppState, val, mappedStore.path)
35
+ : setStateValue(root, currentAppState, val, mappedStore.path);
57
36
  },
58
37
  dispatch(actions) {
59
38
  return root.dispatch(actions);
@@ -67,4 +46,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
67
46
  type: Injectable,
68
47
  args: [{ providedIn: 'root' }]
69
48
  }], ctorParameters: function () { return [{ type: i1.InternalStateOperations }]; } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtY29udGV4dC1mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL2ludGVybmFsL3N0YXRlLWNvbnRleHQtZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTzNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFFaEQ7OztHQUdHO0FBRUgsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUFvQix3QkFBaUQ7UUFBakQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUF5QjtJQUFHLENBQUM7SUFFekU7O09BRUc7SUFDSCxrQkFBa0IsQ0FBSSxXQUF3QjtRQUM1QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUVwRSxTQUFTLFFBQVEsQ0FBQyxlQUFvQjtZQUNwQyxPQUFPLFFBQVEsQ0FBQyxlQUFlLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFFRCxTQUFTLGFBQWEsQ0FBQyxlQUFvQixFQUFFLFFBQVc7WUFDdEQsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDM0IsT0FBTyxXQUFXLENBQUM7WUFDbkIsc0VBQXNFO1lBQ3RFLDZEQUE2RDtZQUM3RCxvREFBb0Q7WUFDcEQsb0dBQW9HO1lBQ3BHLHNEQUFzRDtZQUN0RCw0RUFBNEU7UUFDOUUsQ0FBQztRQUVELFNBQVMsb0JBQW9CLENBQUMsZUFBb0IsRUFBRSxhQUErQjtZQUNqRixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDeEMsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDLEtBQXlCLENBQUMsQ0FBQztZQUMxRCxPQUFPLGFBQWEsQ0FBQyxlQUFlLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUVELFNBQVMsZUFBZSxDQUFDLEtBQTJCO1lBQ2xELE9BQU8sT0FBTyxLQUFLLEtBQUssVUFBVSxDQUFDO1FBQ3JDLENBQUM7UUFFRCxPQUFPO1lBQ0wsUUFBUTtnQkFDTixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3hDLE9BQU8sUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFDRCxVQUFVLENBQUMsR0FBZTtnQkFDeEIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN4QyxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUksR0FBRyxDQUFDLENBQUM7Z0JBQzFDLE9BQU8sb0JBQW9CLENBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQzlELENBQUM7WUFDRCxRQUFRLENBQUMsR0FBeUI7Z0JBQ2hDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDeEMsT0FBTyxlQUFlLENBQUMsR0FBRyxDQUFDO29CQUN6QixDQUFDLENBQUMsb0JBQW9CLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQztvQkFDNUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDMUMsQ0FBQztZQUNELFFBQVEsQ0FBQyxPQUFvQjtnQkFDM0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hDLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQzs7b0lBdkRVLG1CQUFtQjt3SUFBbkIsbUJBQW1CLGNBRE4sTUFBTTs0RkFDbkIsbUJBQW1CO2tCQUQvQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRXhpc3RpbmdTdGF0ZSwgU3RhdGVPcGVyYXRvciB9IGZyb20gJ0BuZ3hzL3N0b3JlL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFN0YXRlQ29udGV4dCB9IGZyb20gJy4uL3N5bWJvbHMnO1xuaW1wb3J0IHsgTWFwcGVkU3RvcmUgfSBmcm9tICcuLi9pbnRlcm5hbC9pbnRlcm5hbHMnO1xuaW1wb3J0IHsgc2V0VmFsdWUsIGdldFZhbHVlIH0gZnJvbSAnLi4vdXRpbHMvdXRpbHMnO1xuaW1wb3J0IHsgSW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMgfSBmcm9tICcuLi9pbnRlcm5hbC9zdGF0ZS1vcGVyYXRpb25zJztcbmltcG9ydCB7IHNpbXBsZVBhdGNoIH0gZnJvbSAnLi9zdGF0ZS1vcGVyYXRvcnMnO1xuXG4vKipcbiAqIFN0YXRlIENvbnRleHQgZmFjdG9yeSBjbGFzc1xuICogQGlnbm9yZVxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFN0YXRlQ29udGV4dEZhY3Rvcnkge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9pbnRlcm5hbFN0YXRlT3BlcmF0aW9uczogSW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMpIHt9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSB0aGUgc3RhdGUgY29udGV4dFxuICAgKi9cbiAgY3JlYXRlU3RhdGVDb250ZXh0PFQ+KG1hcHBlZFN0b3JlOiBNYXBwZWRTdG9yZSk6IFN0YXRlQ29udGV4dDxUPiB7XG4gICAgY29uc3Qgcm9vdCA9IHRoaXMuX2ludGVybmFsU3RhdGVPcGVyYXRpb25zLmdldFJvb3RTdGF0ZU9wZXJhdGlvbnMoKTtcblxuICAgIGZ1bmN0aW9uIGdldFN0YXRlKGN1cnJlbnRBcHBTdGF0ZTogYW55KTogVCB7XG4gICAgICByZXR1cm4gZ2V0VmFsdWUoY3VycmVudEFwcFN0YXRlLCBtYXBwZWRTdG9yZS5wYXRoKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBzZXRTdGF0ZVZhbHVlKGN1cnJlbnRBcHBTdGF0ZTogYW55LCBuZXdWYWx1ZTogVCk6IGFueSB7XG4gICAgICBjb25zdCBuZXdBcHBTdGF0ZSA9IHNldFZhbHVlKGN1cnJlbnRBcHBTdGF0ZSwgbWFwcGVkU3RvcmUucGF0aCwgbmV3VmFsdWUpO1xuICAgICAgcm9vdC5zZXRTdGF0ZShuZXdBcHBTdGF0ZSk7XG4gICAgICByZXR1cm4gbmV3QXBwU3RhdGU7XG4gICAgICAvLyBJbiBkb2luZyB0aGlzIHJlZmFjdG9yaW5nIEkgbm90aWNlZCB0aGF0IHRoZXJlIGlzIGEgJ2J1Zycgd2hlcmUgdGhlXG4gICAgICAvLyBhcHBsaWNhdGlvbiBzdGF0ZSBpcyByZXR1cm5lZCBpbnN0ZWFkIG9mIHRoaXMgc3RhdGUgc2xpY2UuXG4gICAgICAvLyBUaGlzIGhhcyB3b3JrZWQgdGhpcyB3YXkgc2luY2UgdGhlIGJlZ2lubmluZyBzZWU6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vbmd4cy9zdG9yZS9ibGFtZS8zMjRjNjY3YjRiN2RlYmQ4ZWI5NzkwMDZjNjdjYTBhZTM0N2Q4OGNkL3NyYy9zdGF0ZS1mYWN0b3J5LnRzXG4gICAgICAvLyBUaGlzIG5lZWRzIHRvIGJlIGZpeGVkLCBidXQgaXMgYSAnYnJlYWtpbmcnIGNoYW5nZS5cbiAgICAgIC8vIEkgd2lsbCBkbyB0aGlzIGZpeCBpbiBhIHN1YnNlcXVlbnQgUFIgYW5kIHdlIGNhbiBkZWNpZGUgaG93IHRvIGhhbmRsZSBpdC5cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBzZXRTdGF0ZUZyb21PcGVyYXRvcihjdXJyZW50QXBwU3RhdGU6IGFueSwgc3RhdGVPcGVyYXRvcjogU3RhdGVPcGVyYXRvcjxUPikge1xuICAgICAgY29uc3QgbG9jYWwgPSBnZXRTdGF0ZShjdXJyZW50QXBwU3RhdGUpO1xuICAgICAgY29uc3QgbmV3VmFsdWUgPSBzdGF0ZU9wZXJhdG9yKGxvY2FsIGFzIEV4aXN0aW5nU3RhdGU8VD4pO1xuICAgICAgcmV0dXJuIHNldFN0YXRlVmFsdWUoY3VycmVudEFwcFN0YXRlLCBuZXdWYWx1ZSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaXNTdGF0ZU9wZXJhdG9yKHZhbHVlOiBUIHwgU3RhdGVPcGVyYXRvcjxUPik6IHZhbHVlIGlzIFN0YXRlT3BlcmF0b3I8VD4ge1xuICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJztcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgZ2V0U3RhdGUoKTogVCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRBcHBTdGF0ZSA9IHJvb3QuZ2V0U3RhdGUoKTtcbiAgICAgICAgcmV0dXJuIGdldFN0YXRlKGN1cnJlbnRBcHBTdGF0ZSk7XG4gICAgICB9LFxuICAgICAgcGF0Y2hTdGF0ZSh2YWw6IFBhcnRpYWw8VD4pOiBUIHtcbiAgICAgICAgY29uc3QgY3VycmVudEFwcFN0YXRlID0gcm9vdC5nZXRTdGF0ZSgpO1xuICAgICAgICBjb25zdCBwYXRjaE9wZXJhdG9yID0gc2ltcGxlUGF0Y2g8VD4odmFsKTtcbiAgICAgICAgcmV0dXJuIHNldFN0YXRlRnJvbU9wZXJhdG9yKGN1cnJlbnRBcHBTdGF0ZSwgcGF0Y2hPcGVyYXRvcik7XG4gICAgICB9LFxuICAgICAgc2V0U3RhdGUodmFsOiBUIHwgU3RhdGVPcGVyYXRvcjxUPik6IFQge1xuICAgICAgICBjb25zdCBjdXJyZW50QXBwU3RhdGUgPSByb290LmdldFN0YXRlKCk7XG4gICAgICAgIHJldHVybiBpc1N0YXRlT3BlcmF0b3IodmFsKVxuICAgICAgICAgID8gc2V0U3RhdGVGcm9tT3BlcmF0b3IoY3VycmVudEFwcFN0YXRlLCB2YWwpXG4gICAgICAgICAgOiBzZXRTdGF0ZVZhbHVlKGN1cnJlbnRBcHBTdGF0ZSwgdmFsKTtcbiAgICAgIH0sXG4gICAgICBkaXNwYXRjaChhY3Rpb25zOiBhbnkgfCBhbnlbXSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gcm9vdC5kaXNwYXRjaChhY3Rpb25zKTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG59XG4iXX0=
49
+ function setStateValue(root, currentAppState, newValue, path) {
50
+ const newAppState = setValue(currentAppState, path, newValue);
51
+ root.setState(newAppState);
52
+ return newAppState;
53
+ // In doing this refactoring I noticed that there is a 'bug' where the
54
+ // application state is returned instead of this state slice.
55
+ // This has worked this way since the beginning see:
56
+ // https://github.com/ngxs/store/blame/324c667b4b7debd8eb979006c67ca0ae347d88cd/src/state-factory.ts
57
+ // This needs to be fixed, but is a 'breaking' change.
58
+ // I will do this fix in a subsequent PR and we can decide how to handle it.
59
+ }
60
+ function setStateFromOperator(root, currentAppState, stateOperator, path) {
61
+ const local = getState(currentAppState, path);
62
+ const newValue = stateOperator(local);
63
+ return setStateValue(root, currentAppState, newValue, path);
64
+ }
65
+ function getState(currentAppState, path) {
66
+ return getValue(currentAppState, path);
67
+ }
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtY29udGV4dC1mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL2ludGVybmFsL3N0YXRlLWNvbnRleHQtZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBZ0MsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJdEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQUVoRDs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQW9CLHdCQUFpRDtRQUFqRCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQXlCO0lBQUcsQ0FBQztJQUV6RTs7T0FFRztJQUNILGtCQUFrQixDQUFJLFdBQXdCO1FBQzVDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBRXBFLE9BQU87WUFDTCxRQUFRO2dCQUNOLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDeEMsT0FBTyxRQUFRLENBQUMsZUFBZSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyRCxDQUFDO1lBQ0QsVUFBVSxDQUFDLEdBQWU7Z0JBQ3hCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDeEMsTUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFJLEdBQUcsQ0FBQyxDQUFDO2dCQUMxQyxPQUFPLG9CQUFvQixDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0RixDQUFDO1lBQ0QsUUFBUSxDQUFDLEdBQXlCO2dCQUNoQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3hDLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQztvQkFDekIsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUM7b0JBQ3BFLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxHQUFHLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xFLENBQUM7WUFDRCxRQUFRLENBQUMsT0FBb0I7Z0JBQzNCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoQyxDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7O29JQTdCVSxtQkFBbUI7d0lBQW5CLG1CQUFtQixjQUROLE1BQU07NEZBQ25CLG1CQUFtQjtrQkFEL0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O0FBaUNsQyxTQUFTLGFBQWEsQ0FDcEIsSUFBMEIsRUFDMUIsZUFBb0IsRUFDcEIsUUFBVyxFQUNYLElBQVk7SUFFWixNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzNCLE9BQU8sV0FBVyxDQUFDO0lBQ25CLHNFQUFzRTtJQUN0RSw2REFBNkQ7SUFDN0Qsb0RBQW9EO0lBQ3BELG9HQUFvRztJQUNwRyxzREFBc0Q7SUFDdEQsNEVBQTRFO0FBQzlFLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUMzQixJQUEwQixFQUMxQixlQUFvQixFQUNwQixhQUErQixFQUMvQixJQUFZO0lBRVosTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QyxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsS0FBeUIsQ0FBQyxDQUFDO0lBQzFELE9BQU8sYUFBYSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFFRCxTQUFTLFFBQVEsQ0FBSSxlQUFvQixFQUFFLElBQVk7SUFDckQsT0FBTyxRQUFRLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEV4aXN0aW5nU3RhdGUsIFN0YXRlT3BlcmF0b3IsIGlzU3RhdGVPcGVyYXRvciB9IGZyb20gJ0BuZ3hzL3N0b3JlL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFN0YXRlQ29udGV4dCB9IGZyb20gJy4uL3N5bWJvbHMnO1xuaW1wb3J0IHsgTWFwcGVkU3RvcmUsIFN0YXRlT3BlcmF0aW9ucyB9IGZyb20gJy4uL2ludGVybmFsL2ludGVybmFscyc7XG5pbXBvcnQgeyBzZXRWYWx1ZSwgZ2V0VmFsdWUgfSBmcm9tICcuLi91dGlscy91dGlscyc7XG5pbXBvcnQgeyBJbnRlcm5hbFN0YXRlT3BlcmF0aW9ucyB9IGZyb20gJy4uL2ludGVybmFsL3N0YXRlLW9wZXJhdGlvbnMnO1xuaW1wb3J0IHsgc2ltcGxlUGF0Y2ggfSBmcm9tICcuL3N0YXRlLW9wZXJhdG9ycyc7XG5cbi8qKlxuICogU3RhdGUgQ29udGV4dCBmYWN0b3J5IGNsYXNzXG4gKiBAaWdub3JlXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU3RhdGVDb250ZXh0RmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2ludGVybmFsU3RhdGVPcGVyYXRpb25zOiBJbnRlcm5hbFN0YXRlT3BlcmF0aW9ucykge31cblxuICAvKipcbiAgICogQ3JlYXRlIHRoZSBzdGF0ZSBjb250ZXh0XG4gICAqL1xuICBjcmVhdGVTdGF0ZUNvbnRleHQ8VD4obWFwcGVkU3RvcmU6IE1hcHBlZFN0b3JlKTogU3RhdGVDb250ZXh0PFQ+IHtcbiAgICBjb25zdCByb290ID0gdGhpcy5faW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMuZ2V0Um9vdFN0YXRlT3BlcmF0aW9ucygpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGdldFN0YXRlKCk6IFQge1xuICAgICAgICBjb25zdCBjdXJyZW50QXBwU3RhdGUgPSByb290LmdldFN0YXRlKCk7XG4gICAgICAgIHJldHVybiBnZXRTdGF0ZShjdXJyZW50QXBwU3RhdGUsIG1hcHBlZFN0b3JlLnBhdGgpO1xuICAgICAgfSxcbiAgICAgIHBhdGNoU3RhdGUodmFsOiBQYXJ0aWFsPFQ+KTogVCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRBcHBTdGF0ZSA9IHJvb3QuZ2V0U3RhdGUoKTtcbiAgICAgICAgY29uc3QgcGF0Y2hPcGVyYXRvciA9IHNpbXBsZVBhdGNoPFQ+KHZhbCk7XG4gICAgICAgIHJldHVybiBzZXRTdGF0ZUZyb21PcGVyYXRvcihyb290LCBjdXJyZW50QXBwU3RhdGUsIHBhdGNoT3BlcmF0b3IsIG1hcHBlZFN0b3JlLnBhdGgpO1xuICAgICAgfSxcbiAgICAgIHNldFN0YXRlKHZhbDogVCB8IFN0YXRlT3BlcmF0b3I8VD4pOiBUIHtcbiAgICAgICAgY29uc3QgY3VycmVudEFwcFN0YXRlID0gcm9vdC5nZXRTdGF0ZSgpO1xuICAgICAgICByZXR1cm4gaXNTdGF0ZU9wZXJhdG9yKHZhbClcbiAgICAgICAgICA/IHNldFN0YXRlRnJvbU9wZXJhdG9yKHJvb3QsIGN1cnJlbnRBcHBTdGF0ZSwgdmFsLCBtYXBwZWRTdG9yZS5wYXRoKVxuICAgICAgICAgIDogc2V0U3RhdGVWYWx1ZShyb290LCBjdXJyZW50QXBwU3RhdGUsIHZhbCwgbWFwcGVkU3RvcmUucGF0aCk7XG4gICAgICB9LFxuICAgICAgZGlzcGF0Y2goYWN0aW9uczogYW55IHwgYW55W10pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHJvb3QuZGlzcGF0Y2goYWN0aW9ucyk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzZXRTdGF0ZVZhbHVlPFQ+KFxuICByb290OiBTdGF0ZU9wZXJhdGlvbnM8YW55PixcbiAgY3VycmVudEFwcFN0YXRlOiBhbnksXG4gIG5ld1ZhbHVlOiBULFxuICBwYXRoOiBzdHJpbmdcbik6IGFueSB7XG4gIGNvbnN0IG5ld0FwcFN0YXRlID0gc2V0VmFsdWUoY3VycmVudEFwcFN0YXRlLCBwYXRoLCBuZXdWYWx1ZSk7XG4gIHJvb3Quc2V0U3RhdGUobmV3QXBwU3RhdGUpO1xuICByZXR1cm4gbmV3QXBwU3RhdGU7XG4gIC8vIEluIGRvaW5nIHRoaXMgcmVmYWN0b3JpbmcgSSBub3RpY2VkIHRoYXQgdGhlcmUgaXMgYSAnYnVnJyB3aGVyZSB0aGVcbiAgLy8gYXBwbGljYXRpb24gc3RhdGUgaXMgcmV0dXJuZWQgaW5zdGVhZCBvZiB0aGlzIHN0YXRlIHNsaWNlLlxuICAvLyBUaGlzIGhhcyB3b3JrZWQgdGhpcyB3YXkgc2luY2UgdGhlIGJlZ2lubmluZyBzZWU6XG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9uZ3hzL3N0b3JlL2JsYW1lLzMyNGM2NjdiNGI3ZGViZDhlYjk3OTAwNmM2N2NhMGFlMzQ3ZDg4Y2Qvc3JjL3N0YXRlLWZhY3RvcnkudHNcbiAgLy8gVGhpcyBuZWVkcyB0byBiZSBmaXhlZCwgYnV0IGlzIGEgJ2JyZWFraW5nJyBjaGFuZ2UuXG4gIC8vIEkgd2lsbCBkbyB0aGlzIGZpeCBpbiBhIHN1YnNlcXVlbnQgUFIgYW5kIHdlIGNhbiBkZWNpZGUgaG93IHRvIGhhbmRsZSBpdC5cbn1cblxuZnVuY3Rpb24gc2V0U3RhdGVGcm9tT3BlcmF0b3I8VD4oXG4gIHJvb3Q6IFN0YXRlT3BlcmF0aW9uczxhbnk+LFxuICBjdXJyZW50QXBwU3RhdGU6IGFueSxcbiAgc3RhdGVPcGVyYXRvcjogU3RhdGVPcGVyYXRvcjxUPixcbiAgcGF0aDogc3RyaW5nXG4pIHtcbiAgY29uc3QgbG9jYWwgPSBnZXRTdGF0ZShjdXJyZW50QXBwU3RhdGUsIHBhdGgpO1xuICBjb25zdCBuZXdWYWx1ZSA9IHN0YXRlT3BlcmF0b3IobG9jYWwgYXMgRXhpc3RpbmdTdGF0ZTxUPik7XG4gIHJldHVybiBzZXRTdGF0ZVZhbHVlKHJvb3QsIGN1cnJlbnRBcHBTdGF0ZSwgbmV3VmFsdWUsIHBhdGgpO1xufVxuXG5mdW5jdGlvbiBnZXRTdGF0ZTxUPihjdXJyZW50QXBwU3RhdGU6IGFueSwgcGF0aDogc3RyaW5nKTogVCB7XG4gIHJldHVybiBnZXRWYWx1ZShjdXJyZW50QXBwU3RhdGUsIHBhdGgpO1xufVxuIl19
@@ -3,12 +3,14 @@ import { ensureValidSelector, ensureValueProvided } from './selector-checks.util
3
3
  export function createModelSelector(selectorMap) {
4
4
  const selectorKeys = Object.keys(selectorMap);
5
5
  const selectors = Object.values(selectorMap);
6
- ensureValidSelectorMap({
7
- prefix: '[createModelSelector]',
8
- selectorMap,
9
- selectorKeys,
10
- selectors,
11
- });
6
+ if (typeof ngDevMode === 'undefined' || ngDevMode) {
7
+ ensureValidSelectorMap({
8
+ prefix: '[createModelSelector]',
9
+ selectorMap,
10
+ selectorKeys,
11
+ selectors
12
+ });
13
+ }
12
14
  return createSelector(selectors, (...args) => {
13
15
  return selectorKeys.reduce((obj, key, index) => {
14
16
  obj[key] = args[index];
@@ -16,13 +18,13 @@ export function createModelSelector(selectorMap) {
16
18
  }, {});
17
19
  });
18
20
  }
19
- function ensureValidSelectorMap({ prefix, selectorMap, selectorKeys, selectors, }) {
21
+ function ensureValidSelectorMap({ prefix, selectorMap, selectorKeys, selectors }) {
20
22
  ensureValueProvided(selectorMap, { prefix, noun: 'selector map' });
21
23
  ensureValueProvided(typeof selectorMap === 'object', { prefix, noun: 'valid selector map' });
22
24
  ensureValueProvided(selectorKeys.length, { prefix, noun: 'non-empty selector map' });
23
25
  selectors.forEach((selector, index) => ensureValidSelector(selector, {
24
26
  prefix,
25
- noun: `selector for the '${selectorKeys[index]}' property`,
27
+ noun: `selector for the '${selectorKeys[index]}' property`
26
28
  }));
27
29
  }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1vZGVsLXNlbGVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL3NlbGVjdG9ycy9jcmVhdGUtbW9kZWwtc2VsZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBYWxGLE1BQU0sVUFBVSxtQkFBbUIsQ0FBd0IsV0FBYztJQUN2RSxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0Msc0JBQXNCLENBQUk7UUFDeEIsTUFBTSxFQUFFLHVCQUF1QjtRQUMvQixXQUFXO1FBQ1gsWUFBWTtRQUNaLFNBQVM7S0FDVixDQUFDLENBQUM7SUFFSCxPQUFPLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFO1FBQzNDLE9BQU8sWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDNUMsR0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoQyxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUFxQixDQUFDLENBQUM7SUFDNUIsQ0FBQyxDQUFxQixDQUFDO0FBQ3pCLENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUF3QixFQUNyRCxNQUFNLEVBQ04sV0FBVyxFQUNYLFlBQVksRUFDWixTQUFTLEdBTVY7SUFDQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDbkUsbUJBQW1CLENBQUMsT0FBTyxXQUFXLEtBQUssUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDN0YsbUJBQW1CLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQyxDQUFDO0lBQ3JGLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDcEMsbUJBQW1CLENBQUMsUUFBUSxFQUFFO1FBQzVCLE1BQU07UUFDTixJQUFJLEVBQUUscUJBQXFCLFlBQVksQ0FBQyxLQUFLLENBQUMsWUFBWTtLQUMzRCxDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVTZWxlY3RvciB9IGZyb20gJy4vY3JlYXRlLXNlbGVjdG9yJztcbmltcG9ydCB7IGVuc3VyZVZhbGlkU2VsZWN0b3IsIGVuc3VyZVZhbHVlUHJvdmlkZWQgfSBmcm9tICcuL3NlbGVjdG9yLWNoZWNrcy51dGlsJztcbmltcG9ydCB7IFR5cGVkU2VsZWN0b3IgfSBmcm9tICcuL3NlbGVjdG9yLXR5cGVzLnV0aWwnO1xuXG5pbnRlcmZhY2UgU2VsZWN0b3JNYXAge1xuICBba2V5OiBzdHJpbmddOiBUeXBlZFNlbGVjdG9yPGFueT47XG59XG5cbnR5cGUgTW9kZWxTZWxlY3RvcjxUIGV4dGVuZHMgU2VsZWN0b3JNYXA+ID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBNYXBwZWRSZXN1bHQ8VD47XG5cbnR5cGUgTWFwcGVkUmVzdWx0PFRTZWxlY3Rvck1hcD4gPSB7XG4gIFtQIGluIGtleW9mIFRTZWxlY3Rvck1hcF06IFRTZWxlY3Rvck1hcFtQXSBleHRlbmRzIFR5cGVkU2VsZWN0b3I8aW5mZXIgUj4gPyBSIDogbmV2ZXI7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTW9kZWxTZWxlY3RvcjxUIGV4dGVuZHMgU2VsZWN0b3JNYXA+KHNlbGVjdG9yTWFwOiBUKTogTW9kZWxTZWxlY3RvcjxUPiB7XG4gIGNvbnN0IHNlbGVjdG9yS2V5cyA9IE9iamVjdC5rZXlzKHNlbGVjdG9yTWFwKTtcbiAgY29uc3Qgc2VsZWN0b3JzID0gT2JqZWN0LnZhbHVlcyhzZWxlY3Rvck1hcCk7XG4gIGVuc3VyZVZhbGlkU2VsZWN0b3JNYXA8VD4oe1xuICAgIHByZWZpeDogJ1tjcmVhdGVNb2RlbFNlbGVjdG9yXScsXG4gICAgc2VsZWN0b3JNYXAsXG4gICAgc2VsZWN0b3JLZXlzLFxuICAgIHNlbGVjdG9ycyxcbiAgfSk7XG5cbiAgcmV0dXJuIGNyZWF0ZVNlbGVjdG9yKHNlbGVjdG9ycywgKC4uLmFyZ3MpID0+IHtcbiAgICByZXR1cm4gc2VsZWN0b3JLZXlzLnJlZHVjZSgob2JqLCBrZXksIGluZGV4KSA9PiB7XG4gICAgICAob2JqIGFzIGFueSlba2V5XSA9IGFyZ3NbaW5kZXhdO1xuICAgICAgcmV0dXJuIG9iajtcbiAgICB9LCB7fSBhcyBNYXBwZWRSZXN1bHQ8VD4pO1xuICB9KSBhcyBNb2RlbFNlbGVjdG9yPFQ+O1xufVxuXG5mdW5jdGlvbiBlbnN1cmVWYWxpZFNlbGVjdG9yTWFwPFQgZXh0ZW5kcyBTZWxlY3Rvck1hcD4oe1xuICBwcmVmaXgsXG4gIHNlbGVjdG9yTWFwLFxuICBzZWxlY3RvcktleXMsXG4gIHNlbGVjdG9ycyxcbn06IHtcbiAgcHJlZml4OiBzdHJpbmc7XG4gIHNlbGVjdG9yTWFwOiBUO1xuICBzZWxlY3RvcktleXM6IHN0cmluZ1tdO1xuICBzZWxlY3RvcnM6IFR5cGVkU2VsZWN0b3I8YW55PltdO1xufSkge1xuICBlbnN1cmVWYWx1ZVByb3ZpZGVkKHNlbGVjdG9yTWFwLCB7IHByZWZpeCwgbm91bjogJ3NlbGVjdG9yIG1hcCcgfSk7XG4gIGVuc3VyZVZhbHVlUHJvdmlkZWQodHlwZW9mIHNlbGVjdG9yTWFwID09PSAnb2JqZWN0JywgeyBwcmVmaXgsIG5vdW46ICd2YWxpZCBzZWxlY3RvciBtYXAnIH0pO1xuICBlbnN1cmVWYWx1ZVByb3ZpZGVkKHNlbGVjdG9yS2V5cy5sZW5ndGgsIHsgcHJlZml4LCBub3VuOiAnbm9uLWVtcHR5IHNlbGVjdG9yIG1hcCcgfSk7XG4gIHNlbGVjdG9ycy5mb3JFYWNoKChzZWxlY3RvciwgaW5kZXgpID0+XG4gICAgZW5zdXJlVmFsaWRTZWxlY3RvcihzZWxlY3Rvciwge1xuICAgICAgcHJlZml4LFxuICAgICAgbm91bjogYHNlbGVjdG9yIGZvciB0aGUgJyR7c2VsZWN0b3JLZXlzW2luZGV4XX0nIHByb3BlcnR5YCxcbiAgICB9KVxuICApO1xufVxuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1vZGVsLXNlbGVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL3NlbGVjdG9ycy9jcmVhdGUtbW9kZWwtc2VsZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBYWxGLE1BQU0sVUFBVSxtQkFBbUIsQ0FBd0IsV0FBYztJQUN2RSxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFN0MsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxFQUFFO1FBQ2pELHNCQUFzQixDQUFJO1lBQ3hCLE1BQU0sRUFBRSx1QkFBdUI7WUFDL0IsV0FBVztZQUNYLFlBQVk7WUFDWixTQUFTO1NBQ1YsQ0FBQyxDQUFDO0tBQ0o7SUFFRCxPQUFPLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFO1FBQzNDLE9BQU8sWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDNUMsR0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoQyxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUFxQixDQUFDLENBQUM7SUFDNUIsQ0FBQyxDQUFxQixDQUFDO0FBQ3pCLENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUF3QixFQUNyRCxNQUFNLEVBQ04sV0FBVyxFQUNYLFlBQVksRUFDWixTQUFTLEVBTVY7SUFDQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDbkUsbUJBQW1CLENBQUMsT0FBTyxXQUFXLEtBQUssUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDN0YsbUJBQW1CLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQyxDQUFDO0lBQ3JGLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDcEMsbUJBQW1CLENBQUMsUUFBUSxFQUFFO1FBQzVCLE1BQU07UUFDTixJQUFJLEVBQUUscUJBQXFCLFlBQVksQ0FBQyxLQUFLLENBQUMsWUFBWTtLQUMzRCxDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVTZWxlY3RvciB9IGZyb20gJy4vY3JlYXRlLXNlbGVjdG9yJztcbmltcG9ydCB7IGVuc3VyZVZhbGlkU2VsZWN0b3IsIGVuc3VyZVZhbHVlUHJvdmlkZWQgfSBmcm9tICcuL3NlbGVjdG9yLWNoZWNrcy51dGlsJztcbmltcG9ydCB7IFR5cGVkU2VsZWN0b3IgfSBmcm9tICcuL3NlbGVjdG9yLXR5cGVzLnV0aWwnO1xuXG5pbnRlcmZhY2UgU2VsZWN0b3JNYXAge1xuICBba2V5OiBzdHJpbmddOiBUeXBlZFNlbGVjdG9yPGFueT47XG59XG5cbnR5cGUgTW9kZWxTZWxlY3RvcjxUIGV4dGVuZHMgU2VsZWN0b3JNYXA+ID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBNYXBwZWRSZXN1bHQ8VD47XG5cbnR5cGUgTWFwcGVkUmVzdWx0PFRTZWxlY3Rvck1hcD4gPSB7XG4gIFtQIGluIGtleW9mIFRTZWxlY3Rvck1hcF06IFRTZWxlY3Rvck1hcFtQXSBleHRlbmRzIFR5cGVkU2VsZWN0b3I8aW5mZXIgUj4gPyBSIDogbmV2ZXI7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTW9kZWxTZWxlY3RvcjxUIGV4dGVuZHMgU2VsZWN0b3JNYXA+KHNlbGVjdG9yTWFwOiBUKTogTW9kZWxTZWxlY3RvcjxUPiB7XG4gIGNvbnN0IHNlbGVjdG9yS2V5cyA9IE9iamVjdC5rZXlzKHNlbGVjdG9yTWFwKTtcbiAgY29uc3Qgc2VsZWN0b3JzID0gT2JqZWN0LnZhbHVlcyhzZWxlY3Rvck1hcCk7XG5cbiAgaWYgKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkge1xuICAgIGVuc3VyZVZhbGlkU2VsZWN0b3JNYXA8VD4oe1xuICAgICAgcHJlZml4OiAnW2NyZWF0ZU1vZGVsU2VsZWN0b3JdJyxcbiAgICAgIHNlbGVjdG9yTWFwLFxuICAgICAgc2VsZWN0b3JLZXlzLFxuICAgICAgc2VsZWN0b3JzXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0b3JzLCAoLi4uYXJncykgPT4ge1xuICAgIHJldHVybiBzZWxlY3RvcktleXMucmVkdWNlKChvYmosIGtleSwgaW5kZXgpID0+IHtcbiAgICAgIChvYmogYXMgYW55KVtrZXldID0gYXJnc1tpbmRleF07XG4gICAgICByZXR1cm4gb2JqO1xuICAgIH0sIHt9IGFzIE1hcHBlZFJlc3VsdDxUPik7XG4gIH0pIGFzIE1vZGVsU2VsZWN0b3I8VD47XG59XG5cbmZ1bmN0aW9uIGVuc3VyZVZhbGlkU2VsZWN0b3JNYXA8VCBleHRlbmRzIFNlbGVjdG9yTWFwPih7XG4gIHByZWZpeCxcbiAgc2VsZWN0b3JNYXAsXG4gIHNlbGVjdG9yS2V5cyxcbiAgc2VsZWN0b3JzXG59OiB7XG4gIHByZWZpeDogc3RyaW5nO1xuICBzZWxlY3Rvck1hcDogVDtcbiAgc2VsZWN0b3JLZXlzOiBzdHJpbmdbXTtcbiAgc2VsZWN0b3JzOiBUeXBlZFNlbGVjdG9yPGFueT5bXTtcbn0pIHtcbiAgZW5zdXJlVmFsdWVQcm92aWRlZChzZWxlY3Rvck1hcCwgeyBwcmVmaXgsIG5vdW46ICdzZWxlY3RvciBtYXAnIH0pO1xuICBlbnN1cmVWYWx1ZVByb3ZpZGVkKHR5cGVvZiBzZWxlY3Rvck1hcCA9PT0gJ29iamVjdCcsIHsgcHJlZml4LCBub3VuOiAndmFsaWQgc2VsZWN0b3IgbWFwJyB9KTtcbiAgZW5zdXJlVmFsdWVQcm92aWRlZChzZWxlY3RvcktleXMubGVuZ3RoLCB7IHByZWZpeCwgbm91bjogJ25vbi1lbXB0eSBzZWxlY3RvciBtYXAnIH0pO1xuICBzZWxlY3RvcnMuZm9yRWFjaCgoc2VsZWN0b3IsIGluZGV4KSA9PlxuICAgIGVuc3VyZVZhbGlkU2VsZWN0b3Ioc2VsZWN0b3IsIHtcbiAgICAgIHByZWZpeCxcbiAgICAgIG5vdW46IGBzZWxlY3RvciBmb3IgdGhlICcke3NlbGVjdG9yS2V5c1tpbmRleF19JyBwcm9wZXJ0eWBcbiAgICB9KVxuICApO1xufVxuIl19
@@ -1,9 +1,11 @@
1
1
  import { createSelector } from './create-selector';
2
2
  import { ensureValidSelector } from './selector-checks.util';
3
3
  export function createPickSelector(selector, keys) {
4
- ensureValidSelector(selector, { prefix: '[createPickSelector]' });
4
+ if (typeof ngDevMode === 'undefined' || ngDevMode) {
5
+ ensureValidSelector(selector, { prefix: '[createPickSelector]' });
6
+ }
5
7
  const validKeys = keys.filter(Boolean);
6
- const selectors = validKeys.map((key) => createSelector([selector], (s) => s[key]));
8
+ const selectors = validKeys.map(key => createSelector([selector], (s) => s[key]));
7
9
  return createSelector([...selectors], (...props) => {
8
10
  return validKeys.reduce((acc, key, index) => {
9
11
  acc[key] = props[index];
@@ -11,4 +13,4 @@ export function createPickSelector(selector, keys) {
11
13
  }, {});
12
14
  });
13
15
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXBpY2stc2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvc2VsZWN0b3JzL2NyZWF0ZS1waWNrLXNlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQU83RCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLFFBQStCLEVBQy9CLElBQWU7SUFFZixtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkMsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUYsT0FBTyxjQUFjLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFpQyxFQUFFLEVBQUU7UUFDN0UsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUMxQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hCLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLEVBQWdDLENBQUMsQ0FBQztJQUN2QyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVTZWxlY3RvciB9IGZyb20gJy4vY3JlYXRlLXNlbGVjdG9yJztcbmltcG9ydCB7IGVuc3VyZVZhbGlkU2VsZWN0b3IgfSBmcm9tICcuL3NlbGVjdG9yLWNoZWNrcy51dGlsJztcbmltcG9ydCB7IFR5cGVkU2VsZWN0b3IgfSBmcm9tICcuL3NlbGVjdG9yLXR5cGVzLnV0aWwnO1xuXG50eXBlIEtleXNUb1ZhbHVlczxULCBLZXlzIGV4dGVuZHMgKGtleW9mIFQpW10+ID0ge1xuICBbSW5kZXggaW4ga2V5b2YgS2V5c106IEtleXNbSW5kZXhdIGV4dGVuZHMga2V5b2YgVCA/IFRbS2V5c1tJbmRleF1dIDogbmV2ZXI7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUGlja1NlbGVjdG9yPFRNb2RlbCwgS2V5cyBleHRlbmRzIChrZXlvZiBUTW9kZWwpW10+KFxuICBzZWxlY3RvcjogVHlwZWRTZWxlY3RvcjxUTW9kZWw+LFxuICBrZXlzOiBbLi4uS2V5c11cbikge1xuICBlbnN1cmVWYWxpZFNlbGVjdG9yKHNlbGVjdG9yLCB7IHByZWZpeDogJ1tjcmVhdGVQaWNrU2VsZWN0b3JdJyB9KTtcbiAgY29uc3QgdmFsaWRLZXlzID0ga2V5cy5maWx0ZXIoQm9vbGVhbik7XG4gIGNvbnN0IHNlbGVjdG9ycyA9IHZhbGlkS2V5cy5tYXAoKGtleSkgPT4gY3JlYXRlU2VsZWN0b3IoW3NlbGVjdG9yXSwgKHM6IFRNb2RlbCkgPT4gc1trZXldKSk7XG4gIHJldHVybiBjcmVhdGVTZWxlY3RvcihbLi4uc2VsZWN0b3JzXSwgKC4uLnByb3BzOiBLZXlzVG9WYWx1ZXM8VE1vZGVsLCBLZXlzPikgPT4ge1xuICAgIHJldHVybiB2YWxpZEtleXMucmVkdWNlKChhY2MsIGtleSwgaW5kZXgpID0+IHtcbiAgICAgIGFjY1trZXldID0gcHJvcHNbaW5kZXhdO1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSBhcyBQaWNrPFRNb2RlbCwgS2V5c1tudW1iZXJdPik7XG4gIH0pO1xufVxuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXBpY2stc2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvc2VsZWN0b3JzL2NyZWF0ZS1waWNrLXNlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQU83RCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLFFBQStCLEVBQy9CLElBQWU7SUFFZixJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLEVBQUU7UUFDakQsbUJBQW1CLENBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLHNCQUFzQixFQUFFLENBQUMsQ0FBQztLQUNuRTtJQUNELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkMsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFGLE9BQU8sY0FBYyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBaUMsRUFBRSxFQUFFO1FBQzdFLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDMUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUFnQyxDQUFDLENBQUM7SUFDdkMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlU2VsZWN0b3IgfSBmcm9tICcuL2NyZWF0ZS1zZWxlY3Rvcic7XG5pbXBvcnQgeyBlbnN1cmVWYWxpZFNlbGVjdG9yIH0gZnJvbSAnLi9zZWxlY3Rvci1jaGVja3MudXRpbCc7XG5pbXBvcnQgeyBUeXBlZFNlbGVjdG9yIH0gZnJvbSAnLi9zZWxlY3Rvci10eXBlcy51dGlsJztcblxudHlwZSBLZXlzVG9WYWx1ZXM8VCwgS2V5cyBleHRlbmRzIChrZXlvZiBUKVtdPiA9IHtcbiAgW0luZGV4IGluIGtleW9mIEtleXNdOiBLZXlzW0luZGV4XSBleHRlbmRzIGtleW9mIFQgPyBUW0tleXNbSW5kZXhdXSA6IG5ldmVyO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVBpY2tTZWxlY3RvcjxUTW9kZWwsIEtleXMgZXh0ZW5kcyAoa2V5b2YgVE1vZGVsKVtdPihcbiAgc2VsZWN0b3I6IFR5cGVkU2VsZWN0b3I8VE1vZGVsPixcbiAga2V5czogWy4uLktleXNdXG4pIHtcbiAgaWYgKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkge1xuICAgIGVuc3VyZVZhbGlkU2VsZWN0b3Ioc2VsZWN0b3IsIHsgcHJlZml4OiAnW2NyZWF0ZVBpY2tTZWxlY3Rvcl0nIH0pO1xuICB9XG4gIGNvbnN0IHZhbGlkS2V5cyA9IGtleXMuZmlsdGVyKEJvb2xlYW4pO1xuICBjb25zdCBzZWxlY3RvcnMgPSB2YWxpZEtleXMubWFwKGtleSA9PiBjcmVhdGVTZWxlY3Rvcihbc2VsZWN0b3JdLCAoczogVE1vZGVsKSA9PiBzW2tleV0pKTtcbiAgcmV0dXJuIGNyZWF0ZVNlbGVjdG9yKFsuLi5zZWxlY3RvcnNdLCAoLi4ucHJvcHM6IEtleXNUb1ZhbHVlczxUTW9kZWwsIEtleXM+KSA9PiB7XG4gICAgcmV0dXJuIHZhbGlkS2V5cy5yZWR1Y2UoKGFjYywga2V5LCBpbmRleCkgPT4ge1xuICAgICAgYWNjW2tleV0gPSBwcm9wc1tpbmRleF07XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9IGFzIFBpY2s8VE1vZGVsLCBLZXlzW251bWJlcl0+KTtcbiAgfSk7XG59XG4iXX0=
@@ -1,10 +1,12 @@
1
1
  import { createSelector } from './create-selector';
2
2
  import { ensureValidSelector } from './selector-checks.util';
3
3
  export function createPropertySelectors(parentSelector) {
4
- ensureValidSelector(parentSelector, {
5
- prefix: '[createPropertySelectors]',
6
- noun: 'parent selector',
7
- });
4
+ if (typeof ngDevMode === 'undefined' || ngDevMode) {
5
+ ensureValidSelector(parentSelector, {
6
+ prefix: '[createPropertySelectors]',
7
+ noun: 'parent selector'
8
+ });
9
+ }
8
10
  const cache = {};
9
11
  return new Proxy({}, {
10
12
  get(_target, prop) {
@@ -12,7 +14,7 @@ export function createPropertySelectors(parentSelector) {
12
14
  createSelector([parentSelector], (s) => s === null || s === void 0 ? void 0 : s[prop]);
13
15
  cache[prop] = selector;
14
16
  return selector;
15
- },
17
+ }
16
18
  });
17
19
  }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXByb3BlcnR5LXNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9zZWxlY3RvcnMvY3JlYXRlLXByb3BlcnR5LXNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFTN0QsTUFBTSxVQUFVLHVCQUF1QixDQUNyQyxjQUFtQztJQUVuQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUU7UUFDbEMsTUFBTSxFQUFFLDJCQUEyQjtRQUNuQyxJQUFJLEVBQUUsaUJBQWlCO0tBQ3hCLENBQUMsQ0FBQztJQUNILE1BQU0sS0FBSyxHQUF1QyxFQUFFLENBQUM7SUFDckQsT0FBTyxJQUFJLEtBQUssQ0FDZCxFQUEwQyxFQUMxQztRQUNFLEdBQUcsQ0FBQyxPQUFZLEVBQUUsSUFBa0I7WUFDbEMsTUFBTSxRQUFRLEdBQ1osS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDVixjQUFjLENBQ2IsQ0FBQyxjQUFjLENBQUMsRUFDaEIsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsYUFBRCxDQUFDLHVCQUFELENBQUMsQ0FBRyxJQUFJLENBQUMsQ0FDa0IsQ0FBQztZQUMvQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDO1lBQ3ZCLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7S0FDeUMsQ0FDN0MsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVTZWxlY3RvciB9IGZyb20gJy4vY3JlYXRlLXNlbGVjdG9yJztcbmltcG9ydCB7IGVuc3VyZVZhbGlkU2VsZWN0b3IgfSBmcm9tICcuL3NlbGVjdG9yLWNoZWNrcy51dGlsJztcbmltcG9ydCB7IFNlbGVjdG9yRGVmIH0gZnJvbSAnLi9zZWxlY3Rvci10eXBlcy51dGlsJztcblxuZXhwb3J0IHR5cGUgUHJvcGVydHlTZWxlY3RvcnM8VE1vZGVsPiA9IHtcbiAgW1AgaW4ga2V5b2YgTm9uTnVsbGFibGU8VE1vZGVsPl0tPzogKFxuICAgIG1vZGVsOiBUTW9kZWxcbiAgKSA9PiBUTW9kZWwgZXh0ZW5kcyBudWxsIHwgdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogTm9uTnVsbGFibGU8VE1vZGVsPltQXTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcm9wZXJ0eVNlbGVjdG9yczxUTW9kZWw+KFxuICBwYXJlbnRTZWxlY3RvcjogU2VsZWN0b3JEZWY8VE1vZGVsPlxuKTogUHJvcGVydHlTZWxlY3RvcnM8VE1vZGVsPiB7XG4gIGVuc3VyZVZhbGlkU2VsZWN0b3IocGFyZW50U2VsZWN0b3IsIHtcbiAgICBwcmVmaXg6ICdbY3JlYXRlUHJvcGVydHlTZWxlY3RvcnNdJyxcbiAgICBub3VuOiAncGFyZW50IHNlbGVjdG9yJyxcbiAgfSk7XG4gIGNvbnN0IGNhY2hlOiBQYXJ0aWFsPFByb3BlcnR5U2VsZWN0b3JzPFRNb2RlbD4+ID0ge307XG4gIHJldHVybiBuZXcgUHJveHk8UHJvcGVydHlTZWxlY3RvcnM8VE1vZGVsPj4oXG4gICAge30gYXMgdW5rbm93biBhcyBQcm9wZXJ0eVNlbGVjdG9yczxUTW9kZWw+LFxuICAgIHtcbiAgICAgIGdldChfdGFyZ2V0OiBhbnksIHByb3A6IGtleW9mIFRNb2RlbCkge1xuICAgICAgICBjb25zdCBzZWxlY3RvciA9XG4gICAgICAgICAgY2FjaGVbcHJvcF0gfHxcbiAgICAgICAgICAoY3JlYXRlU2VsZWN0b3IoXG4gICAgICAgICAgICBbcGFyZW50U2VsZWN0b3JdLFxuICAgICAgICAgICAgKHM6IFRNb2RlbCkgPT4gcz8uW3Byb3BdXG4gICAgICAgICAgKSBhcyBQcm9wZXJ0eVNlbGVjdG9yczxUTW9kZWw+W3R5cGVvZiBwcm9wXSk7XG4gICAgICAgIGNhY2hlW3Byb3BdID0gc2VsZWN0b3I7XG4gICAgICAgIHJldHVybiBzZWxlY3RvcjtcbiAgICAgIH0sXG4gICAgfSBhcyBQcm94eUhhbmRsZXI8UHJvcGVydHlTZWxlY3RvcnM8VE1vZGVsPj5cbiAgKTtcbn1cbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXByb3BlcnR5LXNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9zZWxlY3RvcnMvY3JlYXRlLXByb3BlcnR5LXNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFTN0QsTUFBTSxVQUFVLHVCQUF1QixDQUNyQyxjQUFtQztJQUVuQyxJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLEVBQUU7UUFDakQsbUJBQW1CLENBQUMsY0FBYyxFQUFFO1lBQ2xDLE1BQU0sRUFBRSwyQkFBMkI7WUFDbkMsSUFBSSxFQUFFLGlCQUFpQjtTQUN4QixDQUFDLENBQUM7S0FDSjtJQUNELE1BQU0sS0FBSyxHQUF1QyxFQUFFLENBQUM7SUFDckQsT0FBTyxJQUFJLEtBQUssQ0FDZCxFQUEwQyxFQUMxQztRQUNFLEdBQUcsQ0FBQyxPQUFZLEVBQUUsSUFBa0I7WUFDbEMsTUFBTSxRQUFRLEdBQ1osS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDVixjQUFjLENBQ2IsQ0FBQyxjQUFjLENBQUMsRUFDaEIsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsYUFBRCxDQUFDLHVCQUFELENBQUMsQ0FBRyxJQUFJLENBQUMsQ0FDa0IsQ0FBQztZQUMvQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDO1lBQ3ZCLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7S0FDeUMsQ0FDN0MsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVTZWxlY3RvciB9IGZyb20gJy4vY3JlYXRlLXNlbGVjdG9yJztcbmltcG9ydCB7IGVuc3VyZVZhbGlkU2VsZWN0b3IgfSBmcm9tICcuL3NlbGVjdG9yLWNoZWNrcy51dGlsJztcbmltcG9ydCB7IFNlbGVjdG9yRGVmIH0gZnJvbSAnLi9zZWxlY3Rvci10eXBlcy51dGlsJztcblxuZXhwb3J0IHR5cGUgUHJvcGVydHlTZWxlY3RvcnM8VE1vZGVsPiA9IHtcbiAgW1AgaW4ga2V5b2YgTm9uTnVsbGFibGU8VE1vZGVsPl0tPzogKFxuICAgIG1vZGVsOiBUTW9kZWxcbiAgKSA9PiBUTW9kZWwgZXh0ZW5kcyBudWxsIHwgdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogTm9uTnVsbGFibGU8VE1vZGVsPltQXTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcm9wZXJ0eVNlbGVjdG9yczxUTW9kZWw+KFxuICBwYXJlbnRTZWxlY3RvcjogU2VsZWN0b3JEZWY8VE1vZGVsPlxuKTogUHJvcGVydHlTZWxlY3RvcnM8VE1vZGVsPiB7XG4gIGlmICh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpIHtcbiAgICBlbnN1cmVWYWxpZFNlbGVjdG9yKHBhcmVudFNlbGVjdG9yLCB7XG4gICAgICBwcmVmaXg6ICdbY3JlYXRlUHJvcGVydHlTZWxlY3RvcnNdJyxcbiAgICAgIG5vdW46ICdwYXJlbnQgc2VsZWN0b3InXG4gICAgfSk7XG4gIH1cbiAgY29uc3QgY2FjaGU6IFBhcnRpYWw8UHJvcGVydHlTZWxlY3RvcnM8VE1vZGVsPj4gPSB7fTtcbiAgcmV0dXJuIG5ldyBQcm94eTxQcm9wZXJ0eVNlbGVjdG9yczxUTW9kZWw+PihcbiAgICB7fSBhcyB1bmtub3duIGFzIFByb3BlcnR5U2VsZWN0b3JzPFRNb2RlbD4sXG4gICAge1xuICAgICAgZ2V0KF90YXJnZXQ6IGFueSwgcHJvcDoga2V5b2YgVE1vZGVsKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdG9yID1cbiAgICAgICAgICBjYWNoZVtwcm9wXSB8fFxuICAgICAgICAgIChjcmVhdGVTZWxlY3RvcihcbiAgICAgICAgICAgIFtwYXJlbnRTZWxlY3Rvcl0sXG4gICAgICAgICAgICAoczogVE1vZGVsKSA9PiBzPy5bcHJvcF1cbiAgICAgICAgICApIGFzIFByb3BlcnR5U2VsZWN0b3JzPFRNb2RlbD5bdHlwZW9mIHByb3BdKTtcbiAgICAgICAgY2FjaGVbcHJvcF0gPSBzZWxlY3RvcjtcbiAgICAgICAgcmV0dXJuIHNlbGVjdG9yO1xuICAgICAgfVxuICAgIH0gYXMgUHJveHlIYW5kbGVyPFByb3BlcnR5U2VsZWN0b3JzPFRNb2RlbD4+XG4gICk7XG59XG4iXX0=
@@ -5,6 +5,7 @@ import { memoize, INITIAL_STATE_TOKEN, NgxsBootstrapper, ɵNGXS_STATE_CONTEXT_FA
5
5
  import { isPlatformServer } from '@angular/common';
6
6
  import { Observable, Subject, BehaviorSubject, of, forkJoin, throwError, EMPTY, from, isObservable } from 'rxjs';
7
7
  import { filter, map, share, shareReplay, take, exhaustMap, mergeMap, defaultIfEmpty, catchError, takeUntil, distinctUntilChanged, tap, startWith, pairwise } from 'rxjs/operators';
8
+ import { isStateOperator } from '@ngxs/store/operators';
8
9
 
9
10
  /**
10
11
  * Returns the type from an action instance/class.
@@ -1137,43 +1138,21 @@ class StateContextFactory {
1137
1138
  */
1138
1139
  createStateContext(mappedStore) {
1139
1140
  const root = this._internalStateOperations.getRootStateOperations();
1140
- function getState(currentAppState) {
1141
- return getValue(currentAppState, mappedStore.path);
1142
- }
1143
- function setStateValue(currentAppState, newValue) {
1144
- const newAppState = setValue(currentAppState, mappedStore.path, newValue);
1145
- root.setState(newAppState);
1146
- return newAppState;
1147
- // In doing this refactoring I noticed that there is a 'bug' where the
1148
- // application state is returned instead of this state slice.
1149
- // This has worked this way since the beginning see:
1150
- // https://github.com/ngxs/store/blame/324c667b4b7debd8eb979006c67ca0ae347d88cd/src/state-factory.ts
1151
- // This needs to be fixed, but is a 'breaking' change.
1152
- // I will do this fix in a subsequent PR and we can decide how to handle it.
1153
- }
1154
- function setStateFromOperator(currentAppState, stateOperator) {
1155
- const local = getState(currentAppState);
1156
- const newValue = stateOperator(local);
1157
- return setStateValue(currentAppState, newValue);
1158
- }
1159
- function isStateOperator(value) {
1160
- return typeof value === 'function';
1161
- }
1162
1141
  return {
1163
1142
  getState() {
1164
1143
  const currentAppState = root.getState();
1165
- return getState(currentAppState);
1144
+ return getState(currentAppState, mappedStore.path);
1166
1145
  },
1167
1146
  patchState(val) {
1168
1147
  const currentAppState = root.getState();
1169
1148
  const patchOperator = simplePatch(val);
1170
- return setStateFromOperator(currentAppState, patchOperator);
1149
+ return setStateFromOperator(root, currentAppState, patchOperator, mappedStore.path);
1171
1150
  },
1172
1151
  setState(val) {
1173
1152
  const currentAppState = root.getState();
1174
1153
  return isStateOperator(val)
1175
- ? setStateFromOperator(currentAppState, val)
1176
- : setStateValue(currentAppState, val);
1154
+ ? setStateFromOperator(root, currentAppState, val, mappedStore.path)
1155
+ : setStateValue(root, currentAppState, val, mappedStore.path);
1177
1156
  },
1178
1157
  dispatch(actions) {
1179
1158
  return root.dispatch(actions);
@@ -1187,6 +1166,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
1187
1166
  type: Injectable,
1188
1167
  args: [{ providedIn: 'root' }]
1189
1168
  }], ctorParameters: function () { return [{ type: InternalStateOperations }]; } });
1169
+ function setStateValue(root, currentAppState, newValue, path) {
1170
+ const newAppState = setValue(currentAppState, path, newValue);
1171
+ root.setState(newAppState);
1172
+ return newAppState;
1173
+ // In doing this refactoring I noticed that there is a 'bug' where the
1174
+ // application state is returned instead of this state slice.
1175
+ // This has worked this way since the beginning see:
1176
+ // https://github.com/ngxs/store/blame/324c667b4b7debd8eb979006c67ca0ae347d88cd/src/state-factory.ts
1177
+ // This needs to be fixed, but is a 'breaking' change.
1178
+ // I will do this fix in a subsequent PR and we can decide how to handle it.
1179
+ }
1180
+ function setStateFromOperator(root, currentAppState, stateOperator, path) {
1181
+ const local = getState(currentAppState, path);
1182
+ const newValue = stateOperator(local);
1183
+ return setStateValue(root, currentAppState, newValue, path);
1184
+ }
1185
+ function getState(currentAppState, path) {
1186
+ return getValue(currentAppState, path);
1187
+ }
1190
1188
 
1191
1189
  const stateNameRegex = new RegExp('^[a-zA-Z0-9_]+$');
1192
1190
  function ensureStateNameIsValid(name) {
@@ -2226,12 +2224,14 @@ function ensureValueProvided(value, context = {}) {
2226
2224
  function createModelSelector(selectorMap) {
2227
2225
  const selectorKeys = Object.keys(selectorMap);
2228
2226
  const selectors = Object.values(selectorMap);
2229
- ensureValidSelectorMap({
2230
- prefix: '[createModelSelector]',
2231
- selectorMap,
2232
- selectorKeys,
2233
- selectors,
2234
- });
2227
+ if (typeof ngDevMode === 'undefined' || ngDevMode) {
2228
+ ensureValidSelectorMap({
2229
+ prefix: '[createModelSelector]',
2230
+ selectorMap,
2231
+ selectorKeys,
2232
+ selectors
2233
+ });
2234
+ }
2235
2235
  return createSelector(selectors, (...args) => {
2236
2236
  return selectorKeys.reduce((obj, key, index) => {
2237
2237
  obj[key] = args[index];
@@ -2239,20 +2239,22 @@ function createModelSelector(selectorMap) {
2239
2239
  }, {});
2240
2240
  });
2241
2241
  }
2242
- function ensureValidSelectorMap({ prefix, selectorMap, selectorKeys, selectors, }) {
2242
+ function ensureValidSelectorMap({ prefix, selectorMap, selectorKeys, selectors }) {
2243
2243
  ensureValueProvided(selectorMap, { prefix, noun: 'selector map' });
2244
2244
  ensureValueProvided(typeof selectorMap === 'object', { prefix, noun: 'valid selector map' });
2245
2245
  ensureValueProvided(selectorKeys.length, { prefix, noun: 'non-empty selector map' });
2246
2246
  selectors.forEach((selector, index) => ensureValidSelector(selector, {
2247
2247
  prefix,
2248
- noun: `selector for the '${selectorKeys[index]}' property`,
2248
+ noun: `selector for the '${selectorKeys[index]}' property`
2249
2249
  }));
2250
2250
  }
2251
2251
 
2252
2252
  function createPickSelector(selector, keys) {
2253
- ensureValidSelector(selector, { prefix: '[createPickSelector]' });
2253
+ if (typeof ngDevMode === 'undefined' || ngDevMode) {
2254
+ ensureValidSelector(selector, { prefix: '[createPickSelector]' });
2255
+ }
2254
2256
  const validKeys = keys.filter(Boolean);
2255
- const selectors = validKeys.map((key) => createSelector([selector], (s) => s[key]));
2257
+ const selectors = validKeys.map(key => createSelector([selector], (s) => s[key]));
2256
2258
  return createSelector([...selectors], (...props) => {
2257
2259
  return validKeys.reduce((acc, key, index) => {
2258
2260
  acc[key] = props[index];
@@ -2262,10 +2264,12 @@ function createPickSelector(selector, keys) {
2262
2264
  }
2263
2265
 
2264
2266
  function createPropertySelectors(parentSelector) {
2265
- ensureValidSelector(parentSelector, {
2266
- prefix: '[createPropertySelectors]',
2267
- noun: 'parent selector',
2268
- });
2267
+ if (typeof ngDevMode === 'undefined' || ngDevMode) {
2268
+ ensureValidSelector(parentSelector, {
2269
+ prefix: '[createPropertySelectors]',
2270
+ noun: 'parent selector'
2271
+ });
2272
+ }
2269
2273
  const cache = {};
2270
2274
  return new Proxy({}, {
2271
2275
  get(_target, prop) {
@@ -2273,7 +2277,7 @@ function createPropertySelectors(parentSelector) {
2273
2277
  createSelector([parentSelector], (s) => s === null || s === void 0 ? void 0 : s[prop]);
2274
2278
  cache[prop] = selector;
2275
2279
  return selector;
2276
- },
2280
+ }
2277
2281
  });
2278
2282
  }
2279
2283