@ngxs/store 3.7.6-dev.master-5f9405c → 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.
@@ -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
- const isNotMethod = !(descriptor && descriptor.value !== null);
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvZGVjb3JhdG9ycy9zZWxlY3Rvci9zZWxlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHNUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUFJLFNBQWU7SUFDekMsT0FBTyxDQUNMLE1BQVcsRUFDWCxHQUFvQixFQUNwQixVQUF1RCxFQUNILEVBQUU7UUFDdEQsOEVBQThFO1FBQzlFLDBFQUEwRTtRQUMxRSxJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLEVBQUU7WUFDakQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDO1lBRS9ELElBQUksV0FBVyxFQUFFO2dCQUNmLDJCQUEyQixFQUFFLENBQUM7YUFDL0I7U0FDRjtRQUVELE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDcEMsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLFNBQVMsRUFBRSxVQUFpQixFQUFFO1lBQzlELGNBQWMsRUFBRSxNQUFNO1lBQ3RCLFlBQVksRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFO1lBQzVCLGtCQUFrQjtnQkFDaEIsT0FBTyxFQUFFLENBQUM7WUFDWixDQUFDO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxhQUFhLEdBQUc7WUFDcEIsWUFBWSxFQUFFLElBQUk7WUFDbEIsR0FBRztnQkFDRCxPQUFPLFVBQVUsQ0FBQztZQUNwQixDQUFDO1NBQ0YsQ0FBQztRQUNGLG9DQUFvQztRQUM5QixhQUFjLENBQUMsWUFBWSxDQUFDLEdBQUcsVUFBVSxDQUFDO1FBQ2hELE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0aHJvd1NlbGVjdG9yRGVjb3JhdG9yRXJyb3IgfSBmcm9tICcuLi8uLi9jb25maWdzL21lc3NhZ2VzLmNvbmZpZyc7XG5pbXBvcnQgeyBjcmVhdGVTZWxlY3RvciB9IGZyb20gJy4uLy4uL3V0aWxzL3NlbGVjdG9yLXV0aWxzJztcbmltcG9ydCB7IFNlbGVjdG9yU3BlYywgU2VsZWN0b3JUeXBlIH0gZnJvbSAnLi9zeW1ib2xzJztcblxuLyoqXG4gKiBEZWNvcmF0b3IgZm9yIG1lbW9pemluZyBhIHN0YXRlIHNlbGVjdG9yLlxuICovXG5leHBvcnQgZnVuY3Rpb24gU2VsZWN0b3I8VD4oc2VsZWN0b3JzPzogVFtdKTogU2VsZWN0b3JUeXBlPFQ+IHtcbiAgcmV0dXJuIDxVPihcbiAgICB0YXJnZXQ6IGFueSxcbiAgICBrZXk6IHN0cmluZyB8IHN5bWJvbCxcbiAgICBkZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxTZWxlY3RvclNwZWM8VCwgVT4+XG4gICk6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPFNlbGVjdG9yU3BlYzxULCBVPj4gfCB2b2lkID0+IHtcbiAgICAvLyBDYXJldGFrZXIgbm90ZTogd2UgaGF2ZSBzdGlsbCBsZWZ0IHRoZSBgdHlwZW9mYCBjb25kaXRpb24gaW4gb3JkZXIgdG8gYXZvaWRcbiAgICAvLyBjcmVhdGluZyBhIGJyZWFraW5nIGNoYW5nZSBmb3IgcHJvamVjdHMgdGhhdCBzdGlsbCB1c2UgdGhlIFZpZXcgRW5naW5lLlxuICAgIGlmICh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpIHtcbiAgICAgIGNvbnN0IGlzTm90TWV0aG9kID0gIShkZXNjcmlwdG9yICYmIGRlc2NyaXB0b3IudmFsdWUgIT09IG51bGwpO1xuXG4gICAgICBpZiAoaXNOb3RNZXRob2QpIHtcbiAgICAgICAgdGhyb3dTZWxlY3RvckRlY29yYXRvckVycm9yKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgb3JpZ2luYWxGbiA9IGRlc2NyaXB0b3IudmFsdWU7XG4gICAgY29uc3QgbWVtb2l6ZWRGbiA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdG9ycywgb3JpZ2luYWxGbiBhcyBhbnksIHtcbiAgICAgIGNvbnRhaW5lckNsYXNzOiB0YXJnZXQsXG4gICAgICBzZWxlY3Rvck5hbWU6IGtleS50b1N0cmluZygpLFxuICAgICAgZ2V0U2VsZWN0b3JPcHRpb25zKCkge1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgbmV3RGVzY3JpcHRvciA9IHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIG1lbW9pemVkRm47XG4gICAgICB9XG4gICAgfTtcbiAgICAvLyBBZGQgaGlkZGVuIHByb3BlcnR5IHRvIGRlc2NyaXB0b3JcbiAgICAoPGFueT5uZXdEZXNjcmlwdG9yKVsnb3JpZ2luYWxGbiddID0gb3JpZ2luYWxGbjtcbiAgICByZXR1cm4gbmV3RGVzY3JpcHRvcjtcbiAgfTtcbn1cbiJdfQ==
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3Itb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9kZWNvcmF0b3JzL3NlbGVjdG9yLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdEU7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLE9BQThCO0lBQzVELE9BQXlDLENBQ3ZDLFNBQVMsUUFBUSxDQUNmLE1BQVcsRUFDWCxVQUFrQixFQUNsQixVQUFzQztRQUV0QyxJQUFJLFVBQVUsRUFBRTtZQUNkLG1CQUFtQjtZQUNuQixNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsS0FBSyxJQUFVLFVBQVcsQ0FBQyxVQUFVLENBQUM7WUFDcEUsSUFBSSxVQUFVLEVBQUU7Z0JBQ2QsMkJBQTJCLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQzthQUNoRTtTQUNGO2FBQU07WUFDTCxrQkFBa0I7WUFDbEIsMkJBQTJCLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztTQUM1RDtJQUNILENBQUMsQ0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNoYXJlZFNlbGVjdG9yT3B0aW9ucyB9IGZyb20gJy4uL2ludGVybmFsL2ludGVybmFscyc7XG5pbXBvcnQgeyBzZWxlY3Rvck9wdGlvbnNNZXRhQWNjZXNzb3IgfSBmcm9tICcuLi91dGlscy9zZWxlY3Rvci11dGlscyc7XG5cbi8qKlxuICogRGVjb3JhdG9yIGZvciBzZXR0aW5nIHNlbGVjdG9yIG9wdGlvbnMgYXQgYSBtZXRob2Qgb3IgY2xhc3MgbGV2ZWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZWxlY3Rvck9wdGlvbnMob3B0aW9uczogU2hhcmVkU2VsZWN0b3JPcHRpb25zKSB7XG4gIHJldHVybiA8Q2xhc3NEZWNvcmF0b3IgJiBNZXRob2REZWNvcmF0b3I+KFxuICAgIGZ1bmN0aW9uIGRlY29yYXRlPFQ+KFxuICAgICAgdGFyZ2V0OiBhbnksXG4gICAgICBtZXRob2ROYW1lOiBzdHJpbmcsXG4gICAgICBkZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxUPlxuICAgICkge1xuICAgICAgaWYgKG1ldGhvZE5hbWUpIHtcbiAgICAgICAgLy8gTWV0aG9kIERlY29yYXRvclxuICAgICAgICBjb25zdCBvcmlnaW5hbEZuID0gZGVzY3JpcHRvci52YWx1ZSB8fCAoPGFueT5kZXNjcmlwdG9yKS5vcmlnaW5hbEZuO1xuICAgICAgICBpZiAob3JpZ2luYWxGbikge1xuICAgICAgICAgIHNlbGVjdG9yT3B0aW9uc01ldGFBY2Nlc3Nvci5kZWZpbmVPcHRpb25zKG9yaWdpbmFsRm4sIG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBDbGFzcyBEZWNvcmF0b3JcbiAgICAgICAgc2VsZWN0b3JPcHRpb25zTWV0YUFjY2Vzc29yLmRlZmluZU9wdGlvbnModGFyZ2V0LCBvcHRpb25zKTtcbiAgICAgIH1cbiAgICB9XG4gICk7XG59XG4iXX0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3Itb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9kZWNvcmF0b3JzL3NlbGVjdG9yLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdEU7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLE9BQThCO0lBQzVELE9BQXlDLENBQ3ZDLFNBQVMsUUFBUSxDQUNmLE1BQVcsRUFDWCxVQUFrQixFQUNsQixVQUFzQztRQUV0QyxJQUFJLFVBQVUsRUFBRTtZQUNkLFVBQVUsS0FBVixVQUFVLEdBQUssTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUUsRUFBQztZQUNwRSxtQkFBbUI7WUFDbkIsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLEtBQUssSUFBVSxVQUFXLENBQUMsVUFBVSxDQUFDO1lBQ3BFLElBQUksVUFBVSxFQUFFO2dCQUNkLDJCQUEyQixDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDaEU7U0FDRjthQUFNO1lBQ0wsa0JBQWtCO1lBQ2xCLDJCQUEyQixDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDNUQ7SUFDSCxDQUFDLENBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTaGFyZWRTZWxlY3Rvck9wdGlvbnMgfSBmcm9tICcuLi9pbnRlcm5hbC9pbnRlcm5hbHMnO1xuaW1wb3J0IHsgc2VsZWN0b3JPcHRpb25zTWV0YUFjY2Vzc29yIH0gZnJvbSAnLi4vdXRpbHMvc2VsZWN0b3ItdXRpbHMnO1xuXG4vKipcbiAqIERlY29yYXRvciBmb3Igc2V0dGluZyBzZWxlY3RvciBvcHRpb25zIGF0IGEgbWV0aG9kIG9yIGNsYXNzIGxldmVsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gU2VsZWN0b3JPcHRpb25zKG9wdGlvbnM6IFNoYXJlZFNlbGVjdG9yT3B0aW9ucykge1xuICByZXR1cm4gPENsYXNzRGVjb3JhdG9yICYgTWV0aG9kRGVjb3JhdG9yPihcbiAgICBmdW5jdGlvbiBkZWNvcmF0ZTxUPihcbiAgICAgIHRhcmdldDogYW55LFxuICAgICAgbWV0aG9kTmFtZTogc3RyaW5nLFxuICAgICAgZGVzY3JpcHRvcjogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8VD5cbiAgICApIHtcbiAgICAgIGlmIChtZXRob2ROYW1lKSB7XG4gICAgICAgIGRlc2NyaXB0b3IgfHw9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBtZXRob2ROYW1lKSE7XG4gICAgICAgIC8vIE1ldGhvZCBEZWNvcmF0b3JcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxGbiA9IGRlc2NyaXB0b3IudmFsdWUgfHwgKDxhbnk+ZGVzY3JpcHRvcikub3JpZ2luYWxGbjtcbiAgICAgICAgaWYgKG9yaWdpbmFsRm4pIHtcbiAgICAgICAgICBzZWxlY3Rvck9wdGlvbnNNZXRhQWNjZXNzb3IuZGVmaW5lT3B0aW9ucyhvcmlnaW5hbEZuLCBvcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQ2xhc3MgRGVjb3JhdG9yXG4gICAgICAgIHNlbGVjdG9yT3B0aW9uc01ldGFBY2Nlc3Nvci5kZWZpbmVPcHRpb25zKHRhcmdldCwgb3B0aW9ucyk7XG4gICAgICB9XG4gICAgfVxuICApO1xufVxuIl19
@@ -2067,6 +2067,7 @@ function Select(rawSelector, ...paths) {
2067
2067
  function SelectorOptions(options) {
2068
2068
  return (function decorate(target, methodName, descriptor) {
2069
2069
  if (methodName) {
2070
+ descriptor || (descriptor = Object.getOwnPropertyDescriptor(target, methodName));
2070
2071
  // Method Decorator
2071
2072
  const originalFn = descriptor.value || descriptor.originalFn;
2072
2073
  if (originalFn) {
@@ -2098,27 +2099,27 @@ function getSelectorMetadata(target) {
2098
2099
  */
2099
2100
  function Selector(selectors) {
2100
2101
  return (target, key, descriptor) => {
2102
+ descriptor || (descriptor = Object.getOwnPropertyDescriptor(target, key));
2103
+ const originalFn = descriptor === null || descriptor === void 0 ? void 0 : descriptor.value;
2101
2104
  // Caretaker note: we have still left the `typeof` condition in order to avoid
2102
2105
  // creating a breaking change for projects that still use the View Engine.
2103
2106
  if (typeof ngDevMode === 'undefined' || ngDevMode) {
2104
- const isNotMethod = !(descriptor && descriptor.value !== null);
2105
- if (isNotMethod) {
2107
+ if (originalFn && typeof originalFn !== 'function') {
2106
2108
  throwSelectorDecoratorError();
2107
2109
  }
2108
2110
  }
2109
- const originalFn = descriptor.value;
2110
2111
  const memoizedFn = createSelector(selectors, originalFn, {
2111
2112
  containerClass: target,
2112
2113
  selectorName: key.toString(),
2113
2114
  getSelectorOptions() {
2114
2115
  return {};
2115
- }
2116
+ },
2116
2117
  });
2117
2118
  const newDescriptor = {
2118
2119
  configurable: true,
2119
2120
  get() {
2120
2121
  return memoizedFn;
2121
- }
2122
+ },
2122
2123
  };
2123
2124
  // Add hidden property to descriptor
2124
2125
  newDescriptor['originalFn'] = originalFn;