@ngxs/store 3.7.6-dev.master-f234866 → 3.7.6-dev.master-daef739

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.
@@ -2084,41 +2084,8 @@
2084
2084
  }] }];
2085
2085
  } });
2086
2086
 
2087
- var SELECTOR_OPTIONS_META_KEY = 'NGXS_SELECTOR_OPTIONS_META';
2088
- var selectorOptionsMetaAccessor = {
2089
- getOptions: function (target) {
2090
- return (target && target[SELECTOR_OPTIONS_META_KEY]) || {};
2091
- },
2092
- defineOptions: function (target, options) {
2093
- if (!target)
2094
- return;
2095
- target[SELECTOR_OPTIONS_META_KEY] = options;
2096
- }
2097
- };
2098
- /**
2099
- * Function for creating a selector
2100
- * @param selectors The selectors to use to create the arguments of this function
2101
- * @param originalFn The original function being made into a selector
2102
- * @param creationMetadata
2103
- */
2104
- function createSelector(selectors, originalFn, creationMetadata) {
2105
- var containerClass = creationMetadata && creationMetadata.containerClass;
2106
- var wrappedFn = function wrappedSelectorFn() {
2107
- var args = [];
2108
- for (var _i = 0; _i < arguments.length; _i++) {
2109
- args[_i] = arguments[_i];
2110
- }
2111
- var returnValue = originalFn.apply(containerClass, args);
2112
- if (returnValue instanceof Function) {
2113
- var innerMemoizedFn = i5.memoize.apply(null, [returnValue]);
2114
- return innerMemoizedFn;
2115
- }
2116
- return returnValue;
2117
- };
2118
- var memoizedFn = i5.memoize(wrappedFn);
2119
- Object.setPrototypeOf(memoizedFn, originalFn);
2120
- var selectorMetaData = setupSelectorMetadata(originalFn, creationMetadata);
2121
- var makeRootSelector = function (context) {
2087
+ function createRootSelectorFactory(selectorMetaData, selectors, memoizedSelectorFn) {
2088
+ return function (context) {
2122
2089
  var _a = getRuntimeSelectorInfo(context, selectorMetaData, selectors), argumentSelectorFunctions = _a.argumentSelectorFunctions, selectorOptions = _a.selectorOptions;
2123
2090
  return function selectFromRoot(rootState) {
2124
2091
  // Determine arguments from the app state using the selectors
@@ -2127,7 +2094,7 @@
2127
2094
  // state that doesn't exist, it will throw a TypeError.
2128
2095
  // since this is quite usual behaviour, we simply return undefined if so.
2129
2096
  try {
2130
- return memoizedFn.apply(void 0, __spreadArray([], __read(results)));
2097
+ return memoizedSelectorFn.apply(void 0, __spreadArray([], __read(results)));
2131
2098
  }
2132
2099
  catch (ex) {
2133
2100
  if (ex instanceof TypeError && selectorOptions.suppressErrors) {
@@ -2137,22 +2104,24 @@
2137
2104
  }
2138
2105
  };
2139
2106
  };
2140
- selectorMetaData.makeRootSelector = makeRootSelector;
2141
- return memoizedFn;
2142
2107
  }
2143
- function setupSelectorMetadata(originalFn, creationMetadata) {
2144
- var selectorMetaData = ensureSelectorMetadata$1(originalFn);
2145
- selectorMetaData.originalFn = originalFn;
2146
- var getExplicitSelectorOptions = function () { return ({}); };
2147
- if (creationMetadata) {
2148
- selectorMetaData.containerClass = creationMetadata.containerClass;
2149
- selectorMetaData.selectorName = creationMetadata.selectorName;
2150
- getExplicitSelectorOptions =
2151
- creationMetadata.getSelectorOptions || getExplicitSelectorOptions;
2152
- }
2153
- var selectorMetaDataClone = Object.assign({}, selectorMetaData);
2154
- selectorMetaData.getSelectorOptions = function () { return getLocalSelectorOptions(selectorMetaDataClone, getExplicitSelectorOptions()); };
2155
- return selectorMetaData;
2108
+ function createMemoizedSelectorFn(originalFn, creationMetadata) {
2109
+ var containerClass = creationMetadata && creationMetadata.containerClass;
2110
+ var wrappedFn = function wrappedSelectorFn() {
2111
+ var args = [];
2112
+ for (var _i = 0; _i < arguments.length; _i++) {
2113
+ args[_i] = arguments[_i];
2114
+ }
2115
+ var returnValue = originalFn.apply(containerClass, args);
2116
+ if (returnValue instanceof Function) {
2117
+ var innerMemoizedFn = i5.memoize.apply(null, [returnValue]);
2118
+ return innerMemoizedFn;
2119
+ }
2120
+ return returnValue;
2121
+ };
2122
+ var memoizedFn = i5.memoize(wrappedFn);
2123
+ Object.setPrototypeOf(memoizedFn, originalFn);
2124
+ return memoizedFn;
2156
2125
  }
2157
2126
  function getRuntimeSelectorInfo(context, selectorMetaData, selectors) {
2158
2127
  if (selectors === void 0) { selectors = []; }
@@ -2165,12 +2134,9 @@
2165
2134
  });
2166
2135
  return {
2167
2136
  selectorOptions: selectorOptions,
2168
- argumentSelectorFunctions: argumentSelectorFunctions
2137
+ argumentSelectorFunctions: argumentSelectorFunctions,
2169
2138
  };
2170
2139
  }
2171
- function getLocalSelectorOptions(selectorMetaData, explicitOptions) {
2172
- return Object.assign(Object.assign(Object.assign(Object.assign({}, (selectorOptionsMetaAccessor.getOptions(selectorMetaData.containerClass) || {})), (selectorOptionsMetaAccessor.getOptions(selectorMetaData.originalFn) || {})), (selectorMetaData.getSelectorOptions() || {})), explicitOptions);
2173
- }
2174
2140
  function getSelectorsToApply(selectors, selectorOptions, containerClass) {
2175
2141
  if (selectors === void 0) { selectors = []; }
2176
2142
  var selectorsToApply = [];
@@ -2714,6 +2680,35 @@
2714
2680
  };
2715
2681
  }
2716
2682
 
2683
+ var SELECTOR_OPTIONS_META_KEY = 'NGXS_SELECTOR_OPTIONS_META';
2684
+ var selectorOptionsMetaAccessor = {
2685
+ getOptions: function (target) {
2686
+ return (target && target[SELECTOR_OPTIONS_META_KEY]) || {};
2687
+ },
2688
+ defineOptions: function (target, options) {
2689
+ if (!target)
2690
+ return;
2691
+ target[SELECTOR_OPTIONS_META_KEY] = options;
2692
+ },
2693
+ };
2694
+ function setupSelectorMetadata(originalFn, creationMetadata) {
2695
+ var selectorMetaData = ensureSelectorMetadata$1(originalFn);
2696
+ selectorMetaData.originalFn = originalFn;
2697
+ var getExplicitSelectorOptions = function () { return ({}); };
2698
+ if (creationMetadata) {
2699
+ selectorMetaData.containerClass = creationMetadata.containerClass;
2700
+ selectorMetaData.selectorName = creationMetadata.selectorName || null;
2701
+ getExplicitSelectorOptions =
2702
+ creationMetadata.getSelectorOptions || getExplicitSelectorOptions;
2703
+ }
2704
+ var selectorMetaDataClone = Object.assign({}, selectorMetaData);
2705
+ selectorMetaData.getSelectorOptions = function () { return getLocalSelectorOptions(selectorMetaDataClone, getExplicitSelectorOptions()); };
2706
+ return selectorMetaData;
2707
+ }
2708
+ function getLocalSelectorOptions(selectorMetaData, explicitOptions) {
2709
+ return Object.assign(Object.assign(Object.assign(Object.assign({}, (selectorOptionsMetaAccessor.getOptions(selectorMetaData.containerClass) || {})), (selectorOptionsMetaAccessor.getOptions(selectorMetaData.originalFn) || {})), (selectorMetaData.getSelectorOptions() || {})), explicitOptions);
2710
+ }
2711
+
2717
2712
  /**
2718
2713
  * Decorator for setting selector options at a method or class level.
2719
2714
  */
@@ -2747,9 +2742,13 @@
2747
2742
  return getSelectorMetadata$1(target);
2748
2743
  }
2749
2744
 
2750
- /**
2751
- * Decorator for memoizing a state selector.
2752
- */
2745
+ function createSelector(selectors, projector, creationMetadata) {
2746
+ var memoizedFn = createMemoizedSelectorFn(projector, creationMetadata);
2747
+ var selectorMetaData = setupSelectorMetadata(projector, creationMetadata);
2748
+ selectorMetaData.makeRootSelector = createRootSelectorFactory(selectorMetaData, selectors, memoizedFn);
2749
+ return memoizedFn;
2750
+ }
2751
+
2753
2752
  function Selector(selectors) {
2754
2753
  return function (target, key, descriptor) {
2755
2754
  descriptor || (descriptor = Object.getOwnPropertyDescriptor(target, key));