@ngxs/store 3.7.6-dev.master-2d80aec → 3.7.6-dev.master-4d7e301
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 +16 -14
- package/bundles/ngxs-store.umd.js.map +1 -1
- package/esm2015/src/decorators/selector/selector.js +6 -6
- package/esm2015/src/decorators/selector-options.js +2 -1
- package/esm2015/src/internal/state-operators.js +11 -10
- package/fesm2015/ngxs-store.js +16 -14
- package/fesm2015/ngxs-store.js.map +1 -1
- package/package.json +1 -1
- package/src/internal/state-operators.d.ts +1 -1
|
@@ -5,31 +5,31 @@ import { createSelector } from '../../utils/selector-utils';
|
|
|
5
5
|
*/
|
|
6
6
|
export function Selector(selectors) {
|
|
7
7
|
return (target, key, descriptor) => {
|
|
8
|
+
descriptor || (descriptor = Object.getOwnPropertyDescriptor(target, key));
|
|
9
|
+
const originalFn = descriptor === null || descriptor === void 0 ? void 0 : descriptor.value;
|
|
8
10
|
// Caretaker note: we have still left the `typeof` condition in order to avoid
|
|
9
11
|
// creating a breaking change for projects that still use the View Engine.
|
|
10
12
|
if (typeof ngDevMode === 'undefined' || ngDevMode) {
|
|
11
|
-
|
|
12
|
-
if (isNotMethod) {
|
|
13
|
+
if (originalFn && typeof originalFn !== 'function') {
|
|
13
14
|
throwSelectorDecoratorError();
|
|
14
15
|
}
|
|
15
16
|
}
|
|
16
|
-
const originalFn = descriptor.value;
|
|
17
17
|
const memoizedFn = createSelector(selectors, originalFn, {
|
|
18
18
|
containerClass: target,
|
|
19
19
|
selectorName: key.toString(),
|
|
20
20
|
getSelectorOptions() {
|
|
21
21
|
return {};
|
|
22
|
-
}
|
|
22
|
+
},
|
|
23
23
|
});
|
|
24
24
|
const newDescriptor = {
|
|
25
25
|
configurable: true,
|
|
26
26
|
get() {
|
|
27
27
|
return memoizedFn;
|
|
28
|
-
}
|
|
28
|
+
},
|
|
29
29
|
};
|
|
30
30
|
// Add hidden property to descriptor
|
|
31
31
|
newDescriptor['originalFn'] = originalFn;
|
|
32
32
|
return newDescriptor;
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvZGVjb3JhdG9ycy9zZWxlY3Rvci9zZWxlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHNUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUFJLFNBQWU7SUFDekMsT0FBTyxDQUNMLE1BQVcsRUFDWCxHQUFvQixFQUNwQixVQUF1RCxFQUNILEVBQUU7UUFDdEQsVUFBVSxLQUFWLFVBQVUsR0FBSyxNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBRSxFQUFDO1FBRTdELE1BQU0sVUFBVSxHQUFHLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxLQUFLLENBQUM7UUFFckMsOEVBQThFO1FBQzlFLDBFQUEwRTtRQUMxRSxJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLEVBQUU7WUFDakQsSUFBSSxVQUFVLElBQUksT0FBTyxVQUFVLEtBQUssVUFBVSxFQUFFO2dCQUNsRCwyQkFBMkIsRUFBRSxDQUFDO2FBQy9CO1NBQ0Y7UUFFRCxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsU0FBUyxFQUFFLFVBQWlCLEVBQUU7WUFDOUQsY0FBYyxFQUFFLE1BQU07WUFDdEIsWUFBWSxFQUFFLEdBQUcsQ0FBQyxRQUFRLEVBQUU7WUFDNUIsa0JBQWtCO2dCQUNoQixPQUFPLEVBQUUsQ0FBQztZQUNaLENBQUM7U0FDRixDQUFDLENBQUM7UUFDSCxNQUFNLGFBQWEsR0FBRztZQUNwQixZQUFZLEVBQUUsSUFBSTtZQUNsQixHQUFHO2dCQUNELE9BQU8sVUFBVSxDQUFDO1lBQ3BCLENBQUM7U0FDRixDQUFDO1FBQ0Ysb0NBQW9DO1FBQzlCLGFBQWMsQ0FBQyxZQUFZLENBQUMsR0FBRyxVQUFVLENBQUM7UUFDaEQsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRocm93U2VsZWN0b3JEZWNvcmF0b3JFcnJvciB9IGZyb20gJy4uLy4uL2NvbmZpZ3MvbWVzc2FnZXMuY29uZmlnJztcbmltcG9ydCB7IGNyZWF0ZVNlbGVjdG9yIH0gZnJvbSAnLi4vLi4vdXRpbHMvc2VsZWN0b3ItdXRpbHMnO1xuaW1wb3J0IHsgU2VsZWN0b3JTcGVjLCBTZWxlY3RvclR5cGUgfSBmcm9tICcuL3N5bWJvbHMnO1xuXG4vKipcbiAqIERlY29yYXRvciBmb3IgbWVtb2l6aW5nIGEgc3RhdGUgc2VsZWN0b3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZWxlY3RvcjxUPihzZWxlY3RvcnM/OiBUW10pOiBTZWxlY3RvclR5cGU8VD4ge1xuICByZXR1cm4gPFU+KFxuICAgIHRhcmdldDogYW55LFxuICAgIGtleTogc3RyaW5nIHwgc3ltYm9sLFxuICAgIGRlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPFNlbGVjdG9yU3BlYzxULCBVPj5cbiAgKTogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8U2VsZWN0b3JTcGVjPFQsIFU+PiB8IHZvaWQgPT4ge1xuICAgIGRlc2NyaXB0b3IgfHw9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpITtcblxuICAgIGNvbnN0IG9yaWdpbmFsRm4gPSBkZXNjcmlwdG9yPy52YWx1ZTtcblxuICAgIC8vIENhcmV0YWtlciBub3RlOiB3ZSBoYXZlIHN0aWxsIGxlZnQgdGhlIGB0eXBlb2ZgIGNvbmRpdGlvbiBpbiBvcmRlciB0byBhdm9pZFxuICAgIC8vIGNyZWF0aW5nIGEgYnJlYWtpbmcgY2hhbmdlIGZvciBwcm9qZWN0cyB0aGF0IHN0aWxsIHVzZSB0aGUgVmlldyBFbmdpbmUuXG4gICAgaWYgKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkge1xuICAgICAgaWYgKG9yaWdpbmFsRm4gJiYgdHlwZW9mIG9yaWdpbmFsRm4gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhyb3dTZWxlY3RvckRlY29yYXRvckVycm9yKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgbWVtb2l6ZWRGbiA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdG9ycywgb3JpZ2luYWxGbiBhcyBhbnksIHtcbiAgICAgIGNvbnRhaW5lckNsYXNzOiB0YXJnZXQsXG4gICAgICBzZWxlY3Rvck5hbWU6IGtleS50b1N0cmluZygpLFxuICAgICAgZ2V0U2VsZWN0b3JPcHRpb25zKCkge1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9LFxuICAgIH0pO1xuICAgIGNvbnN0IG5ld0Rlc2NyaXB0b3IgPSB7XG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICBnZXQoKSB7XG4gICAgICAgIHJldHVybiBtZW1vaXplZEZuO1xuICAgICAgfSxcbiAgICB9O1xuICAgIC8vIEFkZCBoaWRkZW4gcHJvcGVydHkgdG8gZGVzY3JpcHRvclxuICAgICg8YW55Pm5ld0Rlc2NyaXB0b3IpWydvcmlnaW5hbEZuJ10gPSBvcmlnaW5hbEZuO1xuICAgIHJldHVybiBuZXdEZXNjcmlwdG9yO1xuICB9O1xufVxuIl19
|
|
@@ -5,6 +5,7 @@ import { selectorOptionsMetaAccessor } from '../utils/selector-utils';
|
|
|
5
5
|
export function SelectorOptions(options) {
|
|
6
6
|
return (function decorate(target, methodName, descriptor) {
|
|
7
7
|
if (methodName) {
|
|
8
|
+
descriptor || (descriptor = Object.getOwnPropertyDescriptor(target, methodName));
|
|
8
9
|
// Method Decorator
|
|
9
10
|
const originalFn = descriptor.value || descriptor.originalFn;
|
|
10
11
|
if (originalFn) {
|
|
@@ -17,4 +18,4 @@ export function SelectorOptions(options) {
|
|
|
17
18
|
}
|
|
18
19
|
});
|
|
19
20
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3Itb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9kZWNvcmF0b3JzL3NlbGVjdG9yLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdEU7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLE9BQThCO0lBQzVELE9BQXlDLENBQ3ZDLFNBQVMsUUFBUSxDQUNmLE1BQVcsRUFDWCxVQUFrQixFQUNsQixVQUFzQztRQUV0QyxJQUFJLFVBQVUsRUFBRTtZQUNkLFVBQVUsS0FBVixVQUFVLEdBQUssTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUUsRUFBQztZQUNwRSxtQkFBbUI7WUFDbkIsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLEtBQUssSUFBVSxVQUFXLENBQUMsVUFBVSxDQUFDO1lBQ3BFLElBQUksVUFBVSxFQUFFO2dCQUNkLDJCQUEyQixDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDaEU7U0FDRjthQUFNO1lBQ0wsa0JBQWtCO1lBQ2xCLDJCQUEyQixDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDNUQ7SUFDSCxDQUFDLENBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTaGFyZWRTZWxlY3Rvck9wdGlvbnMgfSBmcm9tICcuLi9pbnRlcm5hbC9pbnRlcm5hbHMnO1xuaW1wb3J0IHsgc2VsZWN0b3JPcHRpb25zTWV0YUFjY2Vzc29yIH0gZnJvbSAnLi4vdXRpbHMvc2VsZWN0b3ItdXRpbHMnO1xuXG4vKipcbiAqIERlY29yYXRvciBmb3Igc2V0dGluZyBzZWxlY3RvciBvcHRpb25zIGF0IGEgbWV0aG9kIG9yIGNsYXNzIGxldmVsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gU2VsZWN0b3JPcHRpb25zKG9wdGlvbnM6IFNoYXJlZFNlbGVjdG9yT3B0aW9ucykge1xuICByZXR1cm4gPENsYXNzRGVjb3JhdG9yICYgTWV0aG9kRGVjb3JhdG9yPihcbiAgICBmdW5jdGlvbiBkZWNvcmF0ZTxUPihcbiAgICAgIHRhcmdldDogYW55LFxuICAgICAgbWV0aG9kTmFtZTogc3RyaW5nLFxuICAgICAgZGVzY3JpcHRvcjogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8VD5cbiAgICApIHtcbiAgICAgIGlmIChtZXRob2ROYW1lKSB7XG4gICAgICAgIGRlc2NyaXB0b3IgfHw9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBtZXRob2ROYW1lKSE7XG4gICAgICAgIC8vIE1ldGhvZCBEZWNvcmF0b3JcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxGbiA9IGRlc2NyaXB0b3IudmFsdWUgfHwgKDxhbnk+ZGVzY3JpcHRvcikub3JpZ2luYWxGbjtcbiAgICAgICAgaWYgKG9yaWdpbmFsRm4pIHtcbiAgICAgICAgICBzZWxlY3Rvck9wdGlvbnNNZXRhQWNjZXNzb3IuZGVmaW5lT3B0aW9ucyhvcmlnaW5hbEZuLCBvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQ2xhc3MgRGVjb3JhdG9yXG4gICAgICAgIHNlbGVjdG9yT3B0aW9uc01ldGFBY2Nlc3Nvci5kZWZpbmVPcHRpb25zKHRhcmdldCwgb3B0aW9ucyk7XG4gICAgICB9XG4gICAgfVxuICApO1xufVxuIl19
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import { throwPatchingArrayError, throwPatchingPrimitiveError } from '../configs/messages.config';
|
|
2
|
-
export function simplePatch(
|
|
2
|
+
export function simplePatch(value) {
|
|
3
3
|
return (existingState) => {
|
|
4
|
-
if (
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
if (typeof ngDevMode === 'undefined' || ngDevMode) {
|
|
5
|
+
if (Array.isArray(value)) {
|
|
6
|
+
throwPatchingArrayError();
|
|
7
|
+
}
|
|
8
|
+
else if (typeof value !== 'object') {
|
|
9
|
+
throwPatchingPrimitiveError();
|
|
10
|
+
}
|
|
9
11
|
}
|
|
10
12
|
const newState = Object.assign({}, existingState);
|
|
11
|
-
for (const key in
|
|
13
|
+
for (const key in value) {
|
|
12
14
|
// deep clone for patch compatibility
|
|
13
|
-
|
|
14
|
-
newState[key] = val[key];
|
|
15
|
+
newState[key] = value[key];
|
|
15
16
|
}
|
|
16
17
|
return newState;
|
|
17
18
|
};
|
|
18
19
|
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtb3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL2ludGVybmFsL3N0YXRlLW9wZXJhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLDJCQUEyQixFQUM1QixNQUFNLDRCQUE0QixDQUFDO0FBR3BDLE1BQU0sVUFBVSxXQUFXLENBQUksS0FBaUI7SUFDOUMsT0FBTyxDQUFDLGFBQStCLEVBQUUsRUFBRTtRQUN6QyxJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLEVBQUU7WUFDakQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUN4Qix1QkFBdUIsRUFBRSxDQUFDO2FBQzNCO2lCQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO2dCQUNwQywyQkFBMkIsRUFBRSxDQUFDO2FBQy9CO1NBQ0Y7UUFFRCxNQUFNLFFBQVEscUJBQWMsYUFBcUIsQ0FBRSxDQUFDO1FBQ3BELEtBQUssTUFBTSxHQUFHLElBQUksS0FBSyxFQUFFO1lBQ3ZCLHFDQUFxQztZQUNyQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUksS0FBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3JDO1FBRUQsT0FBTyxRQUFhLENBQUM7SUFDdkIsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHRocm93UGF0Y2hpbmdBcnJheUVycm9yLFxuICB0aHJvd1BhdGNoaW5nUHJpbWl0aXZlRXJyb3Jcbn0gZnJvbSAnLi4vY29uZmlncy9tZXNzYWdlcy5jb25maWcnO1xuaW1wb3J0IHsgRXhpc3RpbmdTdGF0ZSwgU3RhdGVPcGVyYXRvciB9IGZyb20gJ0BuZ3hzL3N0b3JlL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzaW1wbGVQYXRjaDxUPih2YWx1ZTogUGFydGlhbDxUPik6IFN0YXRlT3BlcmF0b3I8VD4ge1xuICByZXR1cm4gKGV4aXN0aW5nU3RhdGU6IEV4aXN0aW5nU3RhdGU8VD4pID0+IHtcbiAgICBpZiAodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgdGhyb3dQYXRjaGluZ0FycmF5RXJyb3IoKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0Jykge1xuICAgICAgICB0aHJvd1BhdGNoaW5nUHJpbWl0aXZlRXJyb3IoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBuZXdTdGF0ZTogYW55ID0geyAuLi4oZXhpc3RpbmdTdGF0ZSBhcyBhbnkpIH07XG4gICAgZm9yIChjb25zdCBrZXkgaW4gdmFsdWUpIHtcbiAgICAgIC8vIGRlZXAgY2xvbmUgZm9yIHBhdGNoIGNvbXBhdGliaWxpdHlcbiAgICAgIG5ld1N0YXRlW2tleV0gPSAodmFsdWUgYXMgYW55KVtrZXldO1xuICAgIH1cblxuICAgIHJldHVybiBuZXdTdGF0ZSBhcyBUO1xuICB9O1xufVxuIl19
|
package/fesm2015/ngxs-store.js
CHANGED
|
@@ -1037,19 +1037,20 @@ function ensureStateAndActionsAreImmutable(root) {
|
|
|
1037
1037
|
};
|
|
1038
1038
|
}
|
|
1039
1039
|
|
|
1040
|
-
function simplePatch(
|
|
1040
|
+
function simplePatch(value) {
|
|
1041
1041
|
return (existingState) => {
|
|
1042
|
-
if (
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1042
|
+
if (typeof ngDevMode === 'undefined' || ngDevMode) {
|
|
1043
|
+
if (Array.isArray(value)) {
|
|
1044
|
+
throwPatchingArrayError();
|
|
1045
|
+
}
|
|
1046
|
+
else if (typeof value !== 'object') {
|
|
1047
|
+
throwPatchingPrimitiveError();
|
|
1048
|
+
}
|
|
1047
1049
|
}
|
|
1048
1050
|
const newState = Object.assign({}, existingState);
|
|
1049
|
-
for (const key in
|
|
1051
|
+
for (const key in value) {
|
|
1050
1052
|
// deep clone for patch compatibility
|
|
1051
|
-
|
|
1052
|
-
newState[key] = val[key];
|
|
1053
|
+
newState[key] = value[key];
|
|
1053
1054
|
}
|
|
1054
1055
|
return newState;
|
|
1055
1056
|
};
|
|
@@ -2066,6 +2067,7 @@ function Select(rawSelector, ...paths) {
|
|
|
2066
2067
|
function SelectorOptions(options) {
|
|
2067
2068
|
return (function decorate(target, methodName, descriptor) {
|
|
2068
2069
|
if (methodName) {
|
|
2070
|
+
descriptor || (descriptor = Object.getOwnPropertyDescriptor(target, methodName));
|
|
2069
2071
|
// Method Decorator
|
|
2070
2072
|
const originalFn = descriptor.value || descriptor.originalFn;
|
|
2071
2073
|
if (originalFn) {
|
|
@@ -2097,27 +2099,27 @@ function getSelectorMetadata(target) {
|
|
|
2097
2099
|
*/
|
|
2098
2100
|
function Selector(selectors) {
|
|
2099
2101
|
return (target, key, descriptor) => {
|
|
2102
|
+
descriptor || (descriptor = Object.getOwnPropertyDescriptor(target, key));
|
|
2103
|
+
const originalFn = descriptor === null || descriptor === void 0 ? void 0 : descriptor.value;
|
|
2100
2104
|
// Caretaker note: we have still left the `typeof` condition in order to avoid
|
|
2101
2105
|
// creating a breaking change for projects that still use the View Engine.
|
|
2102
2106
|
if (typeof ngDevMode === 'undefined' || ngDevMode) {
|
|
2103
|
-
|
|
2104
|
-
if (isNotMethod) {
|
|
2107
|
+
if (originalFn && typeof originalFn !== 'function') {
|
|
2105
2108
|
throwSelectorDecoratorError();
|
|
2106
2109
|
}
|
|
2107
2110
|
}
|
|
2108
|
-
const originalFn = descriptor.value;
|
|
2109
2111
|
const memoizedFn = createSelector(selectors, originalFn, {
|
|
2110
2112
|
containerClass: target,
|
|
2111
2113
|
selectorName: key.toString(),
|
|
2112
2114
|
getSelectorOptions() {
|
|
2113
2115
|
return {};
|
|
2114
|
-
}
|
|
2116
|
+
},
|
|
2115
2117
|
});
|
|
2116
2118
|
const newDescriptor = {
|
|
2117
2119
|
configurable: true,
|
|
2118
2120
|
get() {
|
|
2119
2121
|
return memoizedFn;
|
|
2120
|
-
}
|
|
2122
|
+
},
|
|
2121
2123
|
};
|
|
2122
2124
|
// Add hidden property to descriptor
|
|
2123
2125
|
newDescriptor['originalFn'] = originalFn;
|