@ngxs/store 3.8.1-dev.master-94c82c4 → 3.8.1-dev.master-c9c7f9e
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.
- package/bundles/ngxs-store.umd.js +19 -13
- package/bundles/ngxs-store.umd.js.map +1 -1
- package/esm2015/src/selectors/create-model-selector.js +11 -9
- package/esm2015/src/selectors/create-pick-selector.js +5 -3
- package/esm2015/src/selectors/create-property-selectors.js +8 -6
- package/fesm2015/ngxs-store.js +21 -15
- package/fesm2015/ngxs-store.js.map +1 -1
- package/package.json +1 -1
|
@@ -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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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,
|
|
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
|
-
|
|
4
|
+
if (typeof ngDevMode === 'undefined' || ngDevMode) {
|
|
5
|
+
ensureValidSelector(selector, { prefix: '[createPickSelector]' });
|
|
6
|
+
}
|
|
5
7
|
const validKeys = keys.filter(Boolean);
|
|
6
|
-
const selectors = validKeys.map(
|
|
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,
|
|
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
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXByb3BlcnR5LXNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9zZWxlY3RvcnMvY3JlYXRlLXByb3BlcnR5LXNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFTN0QsTUFBTSxVQUFVLHVCQUF1QixDQUNyQyxjQUFtQztJQUVuQyxJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLEVBQUU7UUFDakQsbUJBQW1CLENBQUMsY0FBYyxFQUFFO1lBQ2xDLE1BQU0sRUFBRSwyQkFBMkI7WUFDbkMsSUFBSSxFQUFFLGlCQUFpQjtTQUN4QixDQUFDLENBQUM7S0FDSjtJQUNELE1BQU0sS0FBSyxHQUF1QyxFQUFFLENBQUM7SUFDckQsT0FBTyxJQUFJLEtBQUssQ0FDZCxFQUEwQyxFQUMxQztRQUNFLEdBQUcsQ0FBQyxPQUFZLEVBQUUsSUFBa0I7WUFDbEMsTUFBTSxRQUFRLEdBQ1osS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDVixjQUFjLENBQ2IsQ0FBQyxjQUFjLENBQUMsRUFDaEIsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsYUFBRCxDQUFDLHVCQUFELENBQUMsQ0FBRyxJQUFJLENBQUMsQ0FDa0IsQ0FBQztZQUMvQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDO1lBQ3ZCLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7S0FDeUMsQ0FDN0MsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVTZWxlY3RvciB9IGZyb20gJy4vY3JlYXRlLXNlbGVjdG9yJztcbmltcG9ydCB7IGVuc3VyZVZhbGlkU2VsZWN0b3IgfSBmcm9tICcuL3NlbGVjdG9yLWNoZWNrcy51dGlsJztcbmltcG9ydCB7IFNlbGVjdG9yRGVmIH0gZnJvbSAnLi9zZWxlY3Rvci10eXBlcy51dGlsJztcblxuZXhwb3J0IHR5cGUgUHJvcGVydHlTZWxlY3RvcnM8VE1vZGVsPiA9IHtcbiAgW1AgaW4ga2V5b2YgTm9uTnVsbGFibGU8VE1vZGVsPl0tPzogKFxuICAgIG1vZGVsOiBUTW9kZWxcbiAgKSA9PiBUTW9kZWwgZXh0ZW5kcyBudWxsIHwgdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogTm9uTnVsbGFibGU8VE1vZGVsPltQXTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcm9wZXJ0eVNlbGVjdG9yczxUTW9kZWw+KFxuICBwYXJlbnRTZWxlY3RvcjogU2VsZWN0b3JEZWY8VE1vZGVsPlxuKTogUHJvcGVydHlTZWxlY3RvcnM8VE1vZGVsPiB7XG4gIGlmICh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpIHtcbiAgICBlbnN1cmVWYWxpZFNlbGVjdG9yKHBhcmVudFNlbGVjdG9yLCB7XG4gICAgICBwcmVmaXg6ICdbY3JlYXRlUHJvcGVydHlTZWxlY3RvcnNdJyxcbiAgICAgIG5vdW46ICdwYXJlbnQgc2VsZWN0b3InXG4gICAgfSk7XG4gIH1cbiAgY29uc3QgY2FjaGU6IFBhcnRpYWw8UHJvcGVydHlTZWxlY3RvcnM8VE1vZGVsPj4gPSB7fTtcbiAgcmV0dXJuIG5ldyBQcm94eTxQcm9wZXJ0eVNlbGVjdG9yczxUTW9kZWw+PihcbiAgICB7fSBhcyB1bmtub3duIGFzIFByb3BlcnR5U2VsZWN0b3JzPFRNb2RlbD4sXG4gICAge1xuICAgICAgZ2V0KF90YXJnZXQ6IGFueSwgcHJvcDoga2V5b2YgVE1vZGVsKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdG9yID1cbiAgICAgICAgICBjYWNoZVtwcm9wXSB8fFxuICAgICAgICAgIChjcmVhdGVTZWxlY3RvcihcbiAgICAgICAgICAgIFtwYXJlbnRTZWxlY3Rvcl0sXG4gICAgICAgICAgICAoczogVE1vZGVsKSA9PiBzPy5bcHJvcF1cbiAgICAgICAgICApIGFzIFByb3BlcnR5U2VsZWN0b3JzPFRNb2RlbD5bdHlwZW9mIHByb3BdKTtcbiAgICAgICAgY2FjaGVbcHJvcF0gPSBzZWxlY3RvcjtcbiAgICAgICAgcmV0dXJuIHNlbGVjdG9yO1xuICAgICAgfVxuICAgIH0gYXMgUHJveHlIYW5kbGVyPFByb3BlcnR5U2VsZWN0b3JzPFRNb2RlbD4+XG4gICk7XG59XG4iXX0=
|
package/fesm2015/ngxs-store.js
CHANGED
|
@@ -2224,12 +2224,14 @@ function ensureValueProvided(value, context = {}) {
|
|
|
2224
2224
|
function createModelSelector(selectorMap) {
|
|
2225
2225
|
const selectorKeys = Object.keys(selectorMap);
|
|
2226
2226
|
const selectors = Object.values(selectorMap);
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2227
|
+
if (typeof ngDevMode === 'undefined' || ngDevMode) {
|
|
2228
|
+
ensureValidSelectorMap({
|
|
2229
|
+
prefix: '[createModelSelector]',
|
|
2230
|
+
selectorMap,
|
|
2231
|
+
selectorKeys,
|
|
2232
|
+
selectors
|
|
2233
|
+
});
|
|
2234
|
+
}
|
|
2233
2235
|
return createSelector(selectors, (...args) => {
|
|
2234
2236
|
return selectorKeys.reduce((obj, key, index) => {
|
|
2235
2237
|
obj[key] = args[index];
|
|
@@ -2237,20 +2239,22 @@ function createModelSelector(selectorMap) {
|
|
|
2237
2239
|
}, {});
|
|
2238
2240
|
});
|
|
2239
2241
|
}
|
|
2240
|
-
function ensureValidSelectorMap({ prefix, selectorMap, selectorKeys, selectors
|
|
2242
|
+
function ensureValidSelectorMap({ prefix, selectorMap, selectorKeys, selectors }) {
|
|
2241
2243
|
ensureValueProvided(selectorMap, { prefix, noun: 'selector map' });
|
|
2242
2244
|
ensureValueProvided(typeof selectorMap === 'object', { prefix, noun: 'valid selector map' });
|
|
2243
2245
|
ensureValueProvided(selectorKeys.length, { prefix, noun: 'non-empty selector map' });
|
|
2244
2246
|
selectors.forEach((selector, index) => ensureValidSelector(selector, {
|
|
2245
2247
|
prefix,
|
|
2246
|
-
noun: `selector for the '${selectorKeys[index]}' property
|
|
2248
|
+
noun: `selector for the '${selectorKeys[index]}' property`
|
|
2247
2249
|
}));
|
|
2248
2250
|
}
|
|
2249
2251
|
|
|
2250
2252
|
function createPickSelector(selector, keys) {
|
|
2251
|
-
|
|
2253
|
+
if (typeof ngDevMode === 'undefined' || ngDevMode) {
|
|
2254
|
+
ensureValidSelector(selector, { prefix: '[createPickSelector]' });
|
|
2255
|
+
}
|
|
2252
2256
|
const validKeys = keys.filter(Boolean);
|
|
2253
|
-
const selectors = validKeys.map(
|
|
2257
|
+
const selectors = validKeys.map(key => createSelector([selector], (s) => s[key]));
|
|
2254
2258
|
return createSelector([...selectors], (...props) => {
|
|
2255
2259
|
return validKeys.reduce((acc, key, index) => {
|
|
2256
2260
|
acc[key] = props[index];
|
|
@@ -2260,10 +2264,12 @@ function createPickSelector(selector, keys) {
|
|
|
2260
2264
|
}
|
|
2261
2265
|
|
|
2262
2266
|
function createPropertySelectors(parentSelector) {
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
|
|
2267
|
+
if (typeof ngDevMode === 'undefined' || ngDevMode) {
|
|
2268
|
+
ensureValidSelector(parentSelector, {
|
|
2269
|
+
prefix: '[createPropertySelectors]',
|
|
2270
|
+
noun: 'parent selector'
|
|
2271
|
+
});
|
|
2272
|
+
}
|
|
2267
2273
|
const cache = {};
|
|
2268
2274
|
return new Proxy({}, {
|
|
2269
2275
|
get(_target, prop) {
|
|
@@ -2271,7 +2277,7 @@ function createPropertySelectors(parentSelector) {
|
|
|
2271
2277
|
createSelector([parentSelector], (s) => s === null || s === void 0 ? void 0 : s[prop]);
|
|
2272
2278
|
cache[prop] = selector;
|
|
2273
2279
|
return selector;
|
|
2274
|
-
}
|
|
2280
|
+
}
|
|
2275
2281
|
});
|
|
2276
2282
|
}
|
|
2277
2283
|
|