@ngxs/store 3.7.4 → 3.7.5

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.
Files changed (257) hide show
  1. package/README.md +16 -16
  2. package/bundles/ngxs-store-internals-testing.umd.js +315 -315
  3. package/bundles/ngxs-store-internals-testing.umd.js.map +1 -1
  4. package/bundles/ngxs-store-internals-testing.umd.min.js.map +1 -1
  5. package/bundles/ngxs-store-internals.umd.js +192 -397
  6. package/bundles/ngxs-store-internals.umd.js.map +1 -1
  7. package/bundles/ngxs-store-internals.umd.min.js +1 -1
  8. package/bundles/ngxs-store-internals.umd.min.js.map +1 -1
  9. package/bundles/ngxs-store-operators.umd.js +310 -310
  10. package/bundles/ngxs-store-operators.umd.js.map +1 -1
  11. package/bundles/ngxs-store-operators.umd.min.js.map +1 -1
  12. package/bundles/ngxs-store.umd.js +4401 -4481
  13. package/bundles/ngxs-store.umd.js.map +1 -1
  14. package/bundles/ngxs-store.umd.min.js +1 -1
  15. package/bundles/ngxs-store.umd.min.js.map +1 -1
  16. package/esm2015/index.js +13 -13
  17. package/esm2015/internals/angular.js +20 -20
  18. package/esm2015/internals/index.js +10 -11
  19. package/esm2015/internals/initial-state.js +34 -34
  20. package/esm2015/internals/internal-tokens.js +16 -16
  21. package/esm2015/internals/memoize.js +70 -70
  22. package/esm2015/internals/ngxs-bootstrapper.js +41 -41
  23. package/esm2015/internals/ngxs-store-internals.js +9 -9
  24. package/esm2015/internals/src/symbols.js +14 -14
  25. package/esm2015/internals/symbols.js +14 -14
  26. package/esm2015/internals/testing/fresh-platform.js +110 -110
  27. package/esm2015/internals/testing/helpers/ngxs-test.component.js +22 -22
  28. package/esm2015/internals/testing/helpers/ngxs-test.module.js +24 -24
  29. package/esm2015/internals/testing/index.js +8 -8
  30. package/esm2015/internals/testing/ngxs-store-internals-testing.js +8 -8
  31. package/esm2015/internals/testing/ngxs.setup.js +76 -76
  32. package/esm2015/internals/testing/skip-console-logging.js +62 -62
  33. package/esm2015/internals/testing/symbol.js +29 -29
  34. package/esm2015/ngxs-store.js +24 -23
  35. package/esm2015/operators/append.js +31 -31
  36. package/esm2015/operators/compose.js +24 -24
  37. package/esm2015/operators/iif.js +56 -56
  38. package/esm2015/operators/index.js +18 -18
  39. package/esm2015/operators/insert-item.js +41 -41
  40. package/esm2015/operators/internals.js +5 -5
  41. package/esm2015/operators/ngxs-store-operators.js +8 -8
  42. package/esm2015/operators/patch.js +39 -39
  43. package/esm2015/operators/remove-item.js +34 -34
  44. package/esm2015/operators/update-item.js +52 -52
  45. package/esm2015/operators/utils.js +50 -50
  46. package/esm2015/src/actions/actions.js +39 -39
  47. package/esm2015/src/actions/symbols.js +39 -39
  48. package/esm2015/src/actions-stream.js +140 -140
  49. package/esm2015/src/configs/messages.config.js +79 -79
  50. package/esm2015/src/decorators/action.js +48 -48
  51. package/esm2015/src/decorators/select/select-factory.js +45 -49
  52. package/esm2015/src/decorators/select/select.js +45 -81
  53. package/esm2015/src/decorators/select/symbols.js +50 -94
  54. package/esm2015/src/decorators/selector/selector.js +59 -59
  55. package/esm2015/src/decorators/selector/symbols.js +5 -5
  56. package/esm2015/src/decorators/selector-options.js +34 -34
  57. package/esm2015/src/decorators/state.js +77 -83
  58. package/esm2015/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +103 -103
  59. package/esm2015/src/execution/internal-ngxs-execution-strategy.js +45 -45
  60. package/esm2015/src/execution/noop-ngxs-execution-strategy.js +29 -29
  61. package/esm2015/src/execution/symbols.js +52 -52
  62. package/esm2015/src/internal/dispatcher.js +219 -217
  63. package/esm2015/src/internal/internals.js +493 -493
  64. package/esm2015/src/internal/lifecycle-state-manager.js +129 -129
  65. package/esm2015/src/internal/state-context-factory.js +138 -138
  66. package/esm2015/src/internal/state-factory.js +457 -449
  67. package/esm2015/src/internal/state-operations.js +124 -133
  68. package/esm2015/src/internal/state-operators.js +33 -33
  69. package/esm2015/src/internal/state-stream.js +30 -30
  70. package/esm2015/src/ivy/ivy-enabled-in-dev-mode.js +28 -28
  71. package/esm2015/src/module.js +159 -157
  72. package/esm2015/src/modules/ngxs-feature.module.js +63 -63
  73. package/esm2015/src/modules/ngxs-root.module.js +49 -52
  74. package/esm2015/src/operators/leave-ngxs.js +58 -58
  75. package/esm2015/src/operators/of-action.js +191 -191
  76. package/esm2015/src/plugin-manager.js +70 -70
  77. package/esm2015/src/plugin_api.js +10 -10
  78. package/esm2015/src/public_api.js +29 -29
  79. package/esm2015/src/public_to_deprecate.js +64 -64
  80. package/esm2015/src/state-token/state-token.js +45 -45
  81. package/esm2015/src/state-token/symbols.js +5 -5
  82. package/esm2015/src/store.js +190 -190
  83. package/esm2015/src/symbols.js +221 -220
  84. package/esm2015/src/utils/compose.js +44 -44
  85. package/esm2015/src/utils/freeze.js +35 -35
  86. package/esm2015/src/utils/selector-utils.js +221 -221
  87. package/esm2015/src/utils/store-validators.js +60 -60
  88. package/esm2015/src/utils/utils.js +143 -143
  89. package/esm5/index.js +13 -13
  90. package/esm5/internals/angular.js +20 -20
  91. package/esm5/internals/index.js +10 -11
  92. package/esm5/internals/initial-state.js +45 -45
  93. package/esm5/internals/internal-tokens.js +16 -16
  94. package/esm5/internals/memoize.js +71 -71
  95. package/esm5/internals/ngxs-bootstrapper.js +56 -56
  96. package/esm5/internals/ngxs-store-internals.js +9 -9
  97. package/esm5/internals/src/symbols.js +14 -14
  98. package/esm5/internals/symbols.js +14 -14
  99. package/esm5/internals/testing/fresh-platform.js +121 -121
  100. package/esm5/internals/testing/helpers/ngxs-test.component.js +32 -32
  101. package/esm5/internals/testing/helpers/ngxs-test.module.js +32 -32
  102. package/esm5/internals/testing/index.js +8 -8
  103. package/esm5/internals/testing/ngxs-store-internals-testing.js +8 -8
  104. package/esm5/internals/testing/ngxs.setup.js +98 -98
  105. package/esm5/internals/testing/skip-console-logging.js +62 -62
  106. package/esm5/internals/testing/symbol.js +29 -29
  107. package/esm5/ngxs-store.js +24 -23
  108. package/esm5/operators/append.js +31 -31
  109. package/esm5/operators/compose.js +28 -28
  110. package/esm5/operators/iif.js +56 -56
  111. package/esm5/operators/index.js +18 -18
  112. package/esm5/operators/insert-item.js +41 -41
  113. package/esm5/operators/internals.js +5 -5
  114. package/esm5/operators/ngxs-store-operators.js +8 -8
  115. package/esm5/operators/patch.js +40 -40
  116. package/esm5/operators/remove-item.js +34 -34
  117. package/esm5/operators/update-item.js +52 -52
  118. package/esm5/operators/utils.js +50 -50
  119. package/esm5/src/actions/actions.js +62 -62
  120. package/esm5/src/actions/symbols.js +39 -39
  121. package/esm5/src/actions-stream.js +186 -186
  122. package/esm5/src/configs/messages.config.js +79 -79
  123. package/esm5/src/decorators/action.js +60 -60
  124. package/esm5/src/decorators/select/select-factory.js +46 -50
  125. package/esm5/src/decorators/select/select.js +50 -87
  126. package/esm5/src/decorators/select/symbols.js +51 -95
  127. package/esm5/src/decorators/selector/selector.js +59 -59
  128. package/esm5/src/decorators/selector/symbols.js +5 -5
  129. package/esm5/src/decorators/selector-options.js +34 -34
  130. package/esm5/src/decorators/state.js +78 -84
  131. package/esm5/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +123 -123
  132. package/esm5/src/execution/internal-ngxs-execution-strategy.js +54 -54
  133. package/esm5/src/execution/noop-ngxs-execution-strategy.js +43 -43
  134. package/esm5/src/execution/symbols.js +52 -52
  135. package/esm5/src/internal/dispatcher.js +255 -253
  136. package/esm5/src/internal/internals.js +495 -495
  137. package/esm5/src/internal/lifecycle-state-manager.js +177 -177
  138. package/esm5/src/internal/state-context-factory.js +146 -146
  139. package/esm5/src/internal/state-factory.js +583 -575
  140. package/esm5/src/internal/state-operations.js +134 -143
  141. package/esm5/src/internal/state-operators.js +34 -34
  142. package/esm5/src/internal/state-stream.js +37 -37
  143. package/esm5/src/ivy/ivy-enabled-in-dev-mode.js +28 -28
  144. package/esm5/src/module.js +202 -200
  145. package/esm5/src/modules/ngxs-feature.module.js +65 -65
  146. package/esm5/src/modules/ngxs-root.module.js +44 -47
  147. package/esm5/src/operators/leave-ngxs.js +58 -58
  148. package/esm5/src/operators/of-action.js +217 -217
  149. package/esm5/src/plugin-manager.js +82 -82
  150. package/esm5/src/plugin_api.js +10 -10
  151. package/esm5/src/public_api.js +29 -29
  152. package/esm5/src/public_to_deprecate.js +64 -64
  153. package/esm5/src/state-token/state-token.js +57 -57
  154. package/esm5/src/state-token/symbols.js +5 -5
  155. package/esm5/src/store.js +241 -241
  156. package/esm5/src/symbols.js +230 -229
  157. package/esm5/src/utils/compose.js +55 -55
  158. package/esm5/src/utils/freeze.js +35 -35
  159. package/esm5/src/utils/selector-utils.js +230 -230
  160. package/esm5/src/utils/store-validators.js +78 -78
  161. package/esm5/src/utils/utils.js +151 -151
  162. package/fesm2015/ngxs-store-internals-testing.js +274 -274
  163. package/fesm2015/ngxs-store-internals-testing.js.map +1 -1
  164. package/fesm2015/ngxs-store-internals.js +175 -377
  165. package/fesm2015/ngxs-store-internals.js.map +1 -1
  166. package/fesm2015/ngxs-store-operators.js +312 -312
  167. package/fesm2015/ngxs-store-operators.js.map +1 -1
  168. package/fesm2015/ngxs-store.js +3915 -3995
  169. package/fesm2015/ngxs-store.js.map +1 -1
  170. package/fesm5/ngxs-store-internals-testing.js +321 -321
  171. package/fesm5/ngxs-store-internals-testing.js.map +1 -1
  172. package/fesm5/ngxs-store-internals.js +200 -402
  173. package/fesm5/ngxs-store-internals.js.map +1 -1
  174. package/fesm5/ngxs-store-operators.js +316 -316
  175. package/fesm5/ngxs-store-operators.js.map +1 -1
  176. package/fesm5/ngxs-store.js +4410 -4491
  177. package/fesm5/ngxs-store.js.map +1 -1
  178. package/index.d.ts +8 -8
  179. package/internals/angular.d.ts +1 -1
  180. package/internals/index.d.ts +6 -7
  181. package/internals/initial-state.d.ts +8 -8
  182. package/internals/internal-tokens.d.ts +9 -9
  183. package/internals/memoize.d.ts +9 -9
  184. package/internals/ngxs-bootstrapper.d.ts +13 -13
  185. package/internals/ngxs-store-internals.d.ts +4 -4
  186. package/internals/ngxs-store-internals.metadata.json +1 -1
  187. package/internals/src/symbols.d.ts +7 -7
  188. package/internals/symbols.d.ts +7 -7
  189. package/internals/testing/fresh-platform.d.ts +1 -1
  190. package/internals/testing/helpers/ngxs-test.component.d.ts +5 -5
  191. package/internals/testing/helpers/ngxs-test.module.d.ts +4 -4
  192. package/internals/testing/index.d.ts +4 -4
  193. package/internals/testing/ngxs-store-internals-testing.d.ts +4 -4
  194. package/internals/testing/ngxs.setup.d.ts +7 -7
  195. package/internals/testing/skip-console-logging.d.ts +1 -1
  196. package/internals/testing/symbol.d.ts +14 -14
  197. package/ngxs-store.d.ts +20 -19
  198. package/ngxs-store.metadata.json +1 -1
  199. package/operators/append.d.ts +6 -6
  200. package/operators/compose.d.ts +2 -2
  201. package/operators/iif.d.ts +11 -11
  202. package/operators/index.d.ts +13 -13
  203. package/operators/insert-item.d.ts +7 -7
  204. package/operators/internals.d.ts +2 -2
  205. package/operators/ngxs-store-operators.d.ts +4 -4
  206. package/operators/patch.d.ts +10 -10
  207. package/operators/remove-item.d.ts +7 -7
  208. package/operators/update-item.d.ts +10 -10
  209. package/operators/utils.d.ts +9 -9
  210. package/package.json +1 -1
  211. package/src/actions/actions.d.ts +15 -15
  212. package/src/actions/symbols.d.ts +21 -21
  213. package/src/actions-stream.d.ts +49 -49
  214. package/src/configs/messages.config.d.ts +11 -11
  215. package/src/decorators/action.d.ts +5 -5
  216. package/src/decorators/select/select-factory.d.ts +13 -13
  217. package/src/decorators/select/select.d.ts +4 -4
  218. package/src/decorators/select/symbols.d.ts +10 -14
  219. package/src/decorators/selector/selector.d.ts +5 -5
  220. package/src/decorators/selector/symbols.d.ts +4 -4
  221. package/src/decorators/selector-options.d.ts +5 -5
  222. package/src/decorators/state.d.ts +6 -6
  223. package/src/execution/dispatch-outside-zone-ngxs-execution-strategy.d.ts +11 -11
  224. package/src/execution/internal-ngxs-execution-strategy.d.ts +7 -7
  225. package/src/execution/noop-ngxs-execution-strategy.d.ts +5 -5
  226. package/src/execution/symbols.d.ts +10 -10
  227. package/src/internal/dispatcher.d.ts +32 -32
  228. package/src/internal/internals.d.ts +166 -166
  229. package/src/internal/lifecycle-state-manager.d.ts +20 -20
  230. package/src/internal/state-context-factory.d.ts +15 -15
  231. package/src/internal/state-factory.d.ts +57 -57
  232. package/src/internal/state-operations.d.ts +19 -19
  233. package/src/internal/state-operators.d.ts +2 -2
  234. package/src/internal/state-stream.d.ts +11 -11
  235. package/src/ivy/ivy-enabled-in-dev-mode.d.ts +6 -6
  236. package/src/module.d.ts +23 -23
  237. package/src/modules/ngxs-feature.module.d.ts +13 -13
  238. package/src/modules/ngxs-root.module.d.ts +13 -13
  239. package/src/operators/leave-ngxs.d.ts +7 -7
  240. package/src/operators/of-action.d.ts +43 -43
  241. package/src/plugin-manager.d.ts +10 -10
  242. package/src/plugin_api.d.ts +5 -5
  243. package/src/public_api.d.ts +17 -17
  244. package/src/public_to_deprecate.d.ts +21 -21
  245. package/src/state-token/state-token.d.ts +7 -7
  246. package/src/state-token/symbols.d.ts +5 -5
  247. package/src/store.d.ts +59 -59
  248. package/src/symbols.d.ts +139 -138
  249. package/src/utils/compose.d.ts +23 -23
  250. package/src/utils/freeze.d.ts +5 -5
  251. package/src/utils/selector-utils.d.ts +23 -23
  252. package/src/utils/store-validators.d.ts +7 -7
  253. package/src/utils/utils.d.ts +46 -46
  254. package/types/index.d.ts +2 -2
  255. package/esm2015/internals/decorator-injector-adapter.js +0 -204
  256. package/esm5/internals/decorator-injector-adapter.js +0 -204
  257. package/internals/decorator-injector-adapter.d.ts +0 -15
@@ -1,59 +1,59 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { throwSelectorDecoratorError } from '../../configs/messages.config';
6
- import { createSelector } from '../../utils/selector-utils';
7
- /**
8
- * Decorator for memoizing a state selector.
9
- * @template T
10
- * @param {?=} selectors
11
- * @return {?}
12
- */
13
- export function Selector(selectors) {
14
- return (/**
15
- * @template U
16
- * @param {?} target
17
- * @param {?} key
18
- * @param {?} descriptor
19
- * @return {?}
20
- */
21
- function (target, key, descriptor) {
22
- // Caretaker note: we have still left the `typeof` condition in order to avoid
23
- // creating a breaking change for projects that still use the View Engine.
24
- if (typeof ngDevMode === 'undefined' || ngDevMode) {
25
- /** @type {?} */
26
- var isNotMethod = !(descriptor && descriptor.value !== null);
27
- if (isNotMethod) {
28
- throwSelectorDecoratorError();
29
- }
30
- }
31
- /** @type {?} */
32
- var originalFn = descriptor.value;
33
- /** @type {?} */
34
- var memoizedFn = createSelector(selectors, (/** @type {?} */ (originalFn)), {
35
- containerClass: target,
36
- selectorName: key.toString(),
37
- getSelectorOptions: /**
38
- * @return {?}
39
- */
40
- function () {
41
- return {};
42
- }
43
- });
44
- /** @type {?} */
45
- var newDescriptor = {
46
- configurable: true,
47
- get: /**
48
- * @return {?}
49
- */
50
- function () {
51
- return memoizedFn;
52
- }
53
- };
54
- // Add hidden property to descriptor
55
- ((/** @type {?} */ (newDescriptor)))['originalFn'] = originalFn;
56
- return newDescriptor;
57
- });
58
- }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS8iLCJzb3VyY2VzIjpbInNyYy9kZWNvcmF0b3JzL3NlbGVjdG9yL3NlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7QUFNNUQsTUFBTSxVQUFVLFFBQVEsQ0FBSSxTQUFlO0lBQ3pDOzs7Ozs7O0lBQU8sVUFDTCxNQUFXLEVBQ1gsR0FBb0IsRUFDcEIsVUFBdUQ7UUFFdkQsOEVBQThFO1FBQzlFLDBFQUEwRTtRQUMxRSxJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLEVBQUU7O2dCQUMzQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQztZQUU5RCxJQUFJLFdBQVcsRUFBRTtnQkFDZiwyQkFBMkIsRUFBRSxDQUFDO2FBQy9CO1NBQ0Y7O1lBRUssVUFBVSxHQUFHLFVBQVUsQ0FBQyxLQUFLOztZQUM3QixVQUFVLEdBQUcsY0FBYyxDQUFDLFNBQVMsRUFBRSxtQkFBQSxVQUFVLEVBQU8sRUFBRTtZQUM5RCxjQUFjLEVBQUUsTUFBTTtZQUN0QixZQUFZLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRTtZQUM1QixrQkFBa0I7Ozs7Z0JBQ2hCLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQztTQUNGLENBQUM7O1lBQ0ksYUFBYSxHQUFHO1lBQ3BCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLEdBQUc7Ozs7Z0JBQ0QsT0FBTyxVQUFVLENBQUM7WUFDcEIsQ0FBQztTQUNGO1FBQ0Qsb0NBQW9DO1FBQ3BDLENBQUMsbUJBQUssYUFBYSxFQUFBLENBQUMsQ0FBQyxZQUFZLENBQUMsR0FBRyxVQUFVLENBQUM7UUFDaEQsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQyxFQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRocm93U2VsZWN0b3JEZWNvcmF0b3JFcnJvciB9IGZyb20gJy4uLy4uL2NvbmZpZ3MvbWVzc2FnZXMuY29uZmlnJztcclxuaW1wb3J0IHsgY3JlYXRlU2VsZWN0b3IgfSBmcm9tICcuLi8uLi91dGlscy9zZWxlY3Rvci11dGlscyc7XHJcbmltcG9ydCB7IFNlbGVjdG9yU3BlYywgU2VsZWN0b3JUeXBlIH0gZnJvbSAnLi9zeW1ib2xzJztcclxuXHJcbi8qKlxyXG4gKiBEZWNvcmF0b3IgZm9yIG1lbW9pemluZyBhIHN0YXRlIHNlbGVjdG9yLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIFNlbGVjdG9yPFQ+KHNlbGVjdG9ycz86IFRbXSk6IFNlbGVjdG9yVHlwZTxUPiB7XHJcbiAgcmV0dXJuIDxVPihcclxuICAgIHRhcmdldDogYW55LFxyXG4gICAga2V5OiBzdHJpbmcgfCBzeW1ib2wsXHJcbiAgICBkZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxTZWxlY3RvclNwZWM8VCwgVT4+XHJcbiAgKTogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8U2VsZWN0b3JTcGVjPFQsIFU+PiB8IHZvaWQgPT4ge1xyXG4gICAgLy8gQ2FyZXRha2VyIG5vdGU6IHdlIGhhdmUgc3RpbGwgbGVmdCB0aGUgYHR5cGVvZmAgY29uZGl0aW9uIGluIG9yZGVyIHRvIGF2b2lkXHJcbiAgICAvLyBjcmVhdGluZyBhIGJyZWFraW5nIGNoYW5nZSBmb3IgcHJvamVjdHMgdGhhdCBzdGlsbCB1c2UgdGhlIFZpZXcgRW5naW5lLlxyXG4gICAgaWYgKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkge1xyXG4gICAgICBjb25zdCBpc05vdE1ldGhvZCA9ICEoZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLnZhbHVlICE9PSBudWxsKTtcclxuXHJcbiAgICAgIGlmIChpc05vdE1ldGhvZCkge1xyXG4gICAgICAgIHRocm93U2VsZWN0b3JEZWNvcmF0b3JFcnJvcigpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgb3JpZ2luYWxGbiA9IGRlc2NyaXB0b3IudmFsdWU7XHJcbiAgICBjb25zdCBtZW1vaXplZEZuID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0b3JzLCBvcmlnaW5hbEZuIGFzIGFueSwge1xyXG4gICAgICBjb250YWluZXJDbGFzczogdGFyZ2V0LFxyXG4gICAgICBzZWxlY3Rvck5hbWU6IGtleS50b1N0cmluZygpLFxyXG4gICAgICBnZXRTZWxlY3Rvck9wdGlvbnMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHt9O1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IG5ld0Rlc2NyaXB0b3IgPSB7XHJcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcclxuICAgICAgZ2V0KCkge1xyXG4gICAgICAgIHJldHVybiBtZW1vaXplZEZuO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgLy8gQWRkIGhpZGRlbiBwcm9wZXJ0eSB0byBkZXNjcmlwdG9yXHJcbiAgICAoPGFueT5uZXdEZXNjcmlwdG9yKVsnb3JpZ2luYWxGbiddID0gb3JpZ2luYWxGbjtcclxuICAgIHJldHVybiBuZXdEZXNjcmlwdG9yO1xyXG4gIH07XHJcbn1cclxuIl19
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { throwSelectorDecoratorError } from '../../configs/messages.config';
6
+ import { createSelector } from '../../utils/selector-utils';
7
+ /**
8
+ * Decorator for memoizing a state selector.
9
+ * @template T
10
+ * @param {?=} selectors
11
+ * @return {?}
12
+ */
13
+ export function Selector(selectors) {
14
+ return (/**
15
+ * @template U
16
+ * @param {?} target
17
+ * @param {?} key
18
+ * @param {?} descriptor
19
+ * @return {?}
20
+ */
21
+ function (target, key, descriptor) {
22
+ // Caretaker note: we have still left the `typeof` condition in order to avoid
23
+ // creating a breaking change for projects that still use the View Engine.
24
+ if (typeof ngDevMode === 'undefined' || ngDevMode) {
25
+ /** @type {?} */
26
+ var isNotMethod = !(descriptor && descriptor.value !== null);
27
+ if (isNotMethod) {
28
+ throwSelectorDecoratorError();
29
+ }
30
+ }
31
+ /** @type {?} */
32
+ var originalFn = descriptor.value;
33
+ /** @type {?} */
34
+ var memoizedFn = createSelector(selectors, (/** @type {?} */ (originalFn)), {
35
+ containerClass: target,
36
+ selectorName: key.toString(),
37
+ getSelectorOptions: /**
38
+ * @return {?}
39
+ */
40
+ function () {
41
+ return {};
42
+ }
43
+ });
44
+ /** @type {?} */
45
+ var newDescriptor = {
46
+ configurable: true,
47
+ get: /**
48
+ * @return {?}
49
+ */
50
+ function () {
51
+ return memoizedFn;
52
+ }
53
+ };
54
+ // Add hidden property to descriptor
55
+ ((/** @type {?} */ (newDescriptor)))['originalFn'] = originalFn;
56
+ return newDescriptor;
57
+ });
58
+ }
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS8iLCJzb3VyY2VzIjpbInNyYy9kZWNvcmF0b3JzL3NlbGVjdG9yL3NlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7QUFNNUQsTUFBTSxVQUFVLFFBQVEsQ0FBSSxTQUFlO0lBQ3pDOzs7Ozs7O0lBQU8sVUFDTCxNQUFXLEVBQ1gsR0FBb0IsRUFDcEIsVUFBdUQ7UUFFdkQsOEVBQThFO1FBQzlFLDBFQUEwRTtRQUMxRSxJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLEVBQUU7O2dCQUMzQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQztZQUU5RCxJQUFJLFdBQVcsRUFBRTtnQkFDZiwyQkFBMkIsRUFBRSxDQUFDO2FBQy9CO1NBQ0Y7O1lBRUssVUFBVSxHQUFHLFVBQVUsQ0FBQyxLQUFLOztZQUM3QixVQUFVLEdBQUcsY0FBYyxDQUFDLFNBQVMsRUFBRSxtQkFBQSxVQUFVLEVBQU8sRUFBRTtZQUM5RCxjQUFjLEVBQUUsTUFBTTtZQUN0QixZQUFZLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRTtZQUM1QixrQkFBa0I7Ozs7Z0JBQ2hCLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQztTQUNGLENBQUM7O1lBQ0ksYUFBYSxHQUFHO1lBQ3BCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLEdBQUc7Ozs7Z0JBQ0QsT0FBTyxVQUFVLENBQUM7WUFDcEIsQ0FBQztTQUNGO1FBQ0Qsb0NBQW9DO1FBQ3BDLENBQUMsbUJBQUssYUFBYSxFQUFBLENBQUMsQ0FBQyxZQUFZLENBQUMsR0FBRyxVQUFVLENBQUM7UUFDaEQsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQyxFQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRocm93U2VsZWN0b3JEZWNvcmF0b3JFcnJvciB9IGZyb20gJy4uLy4uL2NvbmZpZ3MvbWVzc2FnZXMuY29uZmlnJztcbmltcG9ydCB7IGNyZWF0ZVNlbGVjdG9yIH0gZnJvbSAnLi4vLi4vdXRpbHMvc2VsZWN0b3ItdXRpbHMnO1xuaW1wb3J0IHsgU2VsZWN0b3JTcGVjLCBTZWxlY3RvclR5cGUgfSBmcm9tICcuL3N5bWJvbHMnO1xuXG4vKipcbiAqIERlY29yYXRvciBmb3IgbWVtb2l6aW5nIGEgc3RhdGUgc2VsZWN0b3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZWxlY3RvcjxUPihzZWxlY3RvcnM/OiBUW10pOiBTZWxlY3RvclR5cGU8VD4ge1xuICByZXR1cm4gPFU+KFxuICAgIHRhcmdldDogYW55LFxuICAgIGtleTogc3RyaW5nIHwgc3ltYm9sLFxuICAgIGRlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPFNlbGVjdG9yU3BlYzxULCBVPj5cbiAgKTogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8U2VsZWN0b3JTcGVjPFQsIFU+PiB8IHZvaWQgPT4ge1xuICAgIC8vIENhcmV0YWtlciBub3RlOiB3ZSBoYXZlIHN0aWxsIGxlZnQgdGhlIGB0eXBlb2ZgIGNvbmRpdGlvbiBpbiBvcmRlciB0byBhdm9pZFxuICAgIC8vIGNyZWF0aW5nIGEgYnJlYWtpbmcgY2hhbmdlIGZvciBwcm9qZWN0cyB0aGF0IHN0aWxsIHVzZSB0aGUgVmlldyBFbmdpbmUuXG4gICAgaWYgKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkge1xuICAgICAgY29uc3QgaXNOb3RNZXRob2QgPSAhKGRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci52YWx1ZSAhPT0gbnVsbCk7XG5cbiAgICAgIGlmIChpc05vdE1ldGhvZCkge1xuICAgICAgICB0aHJvd1NlbGVjdG9yRGVjb3JhdG9yRXJyb3IoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBvcmlnaW5hbEZuID0gZGVzY3JpcHRvci52YWx1ZTtcbiAgICBjb25zdCBtZW1vaXplZEZuID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0b3JzLCBvcmlnaW5hbEZuIGFzIGFueSwge1xuICAgICAgY29udGFpbmVyQ2xhc3M6IHRhcmdldCxcbiAgICAgIHNlbGVjdG9yTmFtZToga2V5LnRvU3RyaW5nKCksXG4gICAgICBnZXRTZWxlY3Rvck9wdGlvbnMoKSB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBuZXdEZXNjcmlwdG9yID0ge1xuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgZ2V0KCkge1xuICAgICAgICByZXR1cm4gbWVtb2l6ZWRGbjtcbiAgICAgIH1cbiAgICB9O1xuICAgIC8vIEFkZCBoaWRkZW4gcHJvcGVydHkgdG8gZGVzY3JpcHRvclxuICAgICg8YW55Pm5ld0Rlc2NyaXB0b3IpWydvcmlnaW5hbEZuJ10gPSBvcmlnaW5hbEZuO1xuICAgIHJldHVybiBuZXdEZXNjcmlwdG9yO1xuICB9O1xufVxuIl19
@@ -1,5 +1,5 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlLyIsInNvdXJjZXMiOlsic3JjL2RlY29yYXRvcnMvc2VsZWN0b3Ivc3ltYm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGVUb2tlbiB9IGZyb20gJy4uLy4uL3N0YXRlLXRva2VuL3N0YXRlLXRva2VuJztcclxuaW1wb3J0IHsgRXh0cmFjdFRva2VuVHlwZSB9IGZyb20gJy4uLy4uL3N0YXRlLXRva2VuL3N5bWJvbHMnO1xyXG5cclxuZXhwb3J0IHR5cGUgU2VsZWN0b3JTcGVjPFQsIFU+ID0gW1RdIGV4dGVuZHMgW25ldmVyXVxyXG4gID8gKCguLi5zdGF0ZXM6IGFueVtdKSA9PiBhbnkpXHJcbiAgOiAoVCBleHRlbmRzIFN0YXRlVG9rZW48YW55PlxyXG4gICAgICA/IChzdGF0ZTogRXh0cmFjdFRva2VuVHlwZTxUPikgPT4gVVxyXG4gICAgICA6ICguLi5zdGF0ZXM6IGFueVtdKSA9PiBhbnkpO1xyXG5cclxuZXhwb3J0IHR5cGUgU2VsZWN0b3JUeXBlPFQ+ID0gPFU+KFxyXG4gIHRhcmdldDogYW55LFxyXG4gIGtleTogc3RyaW5nIHwgc3ltYm9sLFxyXG4gIGRlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPFNlbGVjdG9yU3BlYzxULCBVPj5cclxuKSA9PiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxTZWxlY3RvclNwZWM8VCwgVT4+IHwgdm9pZDtcclxuIl19
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlLyIsInNvdXJjZXMiOlsic3JjL2RlY29yYXRvcnMvc2VsZWN0b3Ivc3ltYm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGVUb2tlbiB9IGZyb20gJy4uLy4uL3N0YXRlLXRva2VuL3N0YXRlLXRva2VuJztcbmltcG9ydCB7IEV4dHJhY3RUb2tlblR5cGUgfSBmcm9tICcuLi8uLi9zdGF0ZS10b2tlbi9zeW1ib2xzJztcblxuZXhwb3J0IHR5cGUgU2VsZWN0b3JTcGVjPFQsIFU+ID0gW1RdIGV4dGVuZHMgW25ldmVyXVxuICA/ICgoLi4uc3RhdGVzOiBhbnlbXSkgPT4gYW55KVxuICA6IChUIGV4dGVuZHMgU3RhdGVUb2tlbjxhbnk+XG4gICAgICA/IChzdGF0ZTogRXh0cmFjdFRva2VuVHlwZTxUPikgPT4gVVxuICAgICAgOiAoLi4uc3RhdGVzOiBhbnlbXSkgPT4gYW55KTtcblxuZXhwb3J0IHR5cGUgU2VsZWN0b3JUeXBlPFQ+ID0gPFU+KFxuICB0YXJnZXQ6IGFueSxcbiAga2V5OiBzdHJpbmcgfCBzeW1ib2wsXG4gIGRlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPFNlbGVjdG9yU3BlYzxULCBVPj5cbikgPT4gVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8U2VsZWN0b3JTcGVjPFQsIFU+PiB8IHZvaWQ7XG4iXX0=
@@ -1,34 +1,34 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { selectorOptionsMetaAccessor } from '../utils/selector-utils';
6
- /**
7
- * Decorator for setting selector options at a method or class level.
8
- * @param {?} options
9
- * @return {?}
10
- */
11
- export function SelectorOptions(options) {
12
- return (/** @type {?} */ (((/**
13
- * @template T
14
- * @param {?} target
15
- * @param {?} methodName
16
- * @param {?} descriptor
17
- * @return {?}
18
- */
19
- function decorate(target, methodName, descriptor) {
20
- if (methodName) {
21
- // Method Decorator
22
- /** @type {?} */
23
- var originalFn = descriptor.value || ((/** @type {?} */ (descriptor))).originalFn;
24
- if (originalFn) {
25
- selectorOptionsMetaAccessor.defineOptions(originalFn, options);
26
- }
27
- }
28
- else {
29
- // Class Decorator
30
- selectorOptionsMetaAccessor.defineOptions(target, options);
31
- }
32
- }))));
33
- }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3Itb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlLyIsInNvdXJjZXMiOlsic3JjL2RlY29yYXRvcnMvc2VsZWN0b3Itb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7OztBQUt0RSxNQUFNLFVBQVUsZUFBZSxDQUFDLE9BQThCO0lBQzVELE9BQU8sbUJBQWtDOzs7Ozs7O0lBQ3ZDLFNBQVMsUUFBUSxDQUNmLE1BQVcsRUFDWCxVQUFrQixFQUNsQixVQUFzQztRQUV0QyxJQUFJLFVBQVUsRUFBRTs7O2dCQUVSLFVBQVUsR0FBRyxVQUFVLENBQUMsS0FBSyxJQUFJLENBQUMsbUJBQUssVUFBVSxFQUFBLENBQUMsQ0FBQyxVQUFVO1lBQ25FLElBQUksVUFBVSxFQUFFO2dCQUNkLDJCQUEyQixDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDaEU7U0FDRjthQUFNO1lBQ0wsa0JBQWtCO1lBQ2xCLDJCQUEyQixDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDNUQ7SUFDSCxDQUFDLEVBQ0YsRUFBQSxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNoYXJlZFNlbGVjdG9yT3B0aW9ucyB9IGZyb20gJy4uL2ludGVybmFsL2ludGVybmFscyc7XHJcbmltcG9ydCB7IHNlbGVjdG9yT3B0aW9uc01ldGFBY2Nlc3NvciB9IGZyb20gJy4uL3V0aWxzL3NlbGVjdG9yLXV0aWxzJztcclxuXHJcbi8qKlxyXG4gKiBEZWNvcmF0b3IgZm9yIHNldHRpbmcgc2VsZWN0b3Igb3B0aW9ucyBhdCBhIG1ldGhvZCBvciBjbGFzcyBsZXZlbC5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBTZWxlY3Rvck9wdGlvbnMob3B0aW9uczogU2hhcmVkU2VsZWN0b3JPcHRpb25zKSB7XHJcbiAgcmV0dXJuIDxDbGFzc0RlY29yYXRvciAmIE1ldGhvZERlY29yYXRvcj4oXHJcbiAgICBmdW5jdGlvbiBkZWNvcmF0ZTxUPihcclxuICAgICAgdGFyZ2V0OiBhbnksXHJcbiAgICAgIG1ldGhvZE5hbWU6IHN0cmluZyxcclxuICAgICAgZGVzY3JpcHRvcjogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8VD5cclxuICAgICkge1xyXG4gICAgICBpZiAobWV0aG9kTmFtZSkge1xyXG4gICAgICAgIC8vIE1ldGhvZCBEZWNvcmF0b3JcclxuICAgICAgICBjb25zdCBvcmlnaW5hbEZuID0gZGVzY3JpcHRvci52YWx1ZSB8fCAoPGFueT5kZXNjcmlwdG9yKS5vcmlnaW5hbEZuO1xyXG4gICAgICAgIGlmIChvcmlnaW5hbEZuKSB7XHJcbiAgICAgICAgICBzZWxlY3Rvck9wdGlvbnNNZXRhQWNjZXNzb3IuZGVmaW5lT3B0aW9ucyhvcmlnaW5hbEZuLCBvcHRpb25zKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gQ2xhc3MgRGVjb3JhdG9yXHJcbiAgICAgICAgc2VsZWN0b3JPcHRpb25zTWV0YUFjY2Vzc29yLmRlZmluZU9wdGlvbnModGFyZ2V0LCBvcHRpb25zKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICk7XHJcbn1cclxuIl19
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { selectorOptionsMetaAccessor } from '../utils/selector-utils';
6
+ /**
7
+ * Decorator for setting selector options at a method or class level.
8
+ * @param {?} options
9
+ * @return {?}
10
+ */
11
+ export function SelectorOptions(options) {
12
+ return (/** @type {?} */ (((/**
13
+ * @template T
14
+ * @param {?} target
15
+ * @param {?} methodName
16
+ * @param {?} descriptor
17
+ * @return {?}
18
+ */
19
+ function decorate(target, methodName, descriptor) {
20
+ if (methodName) {
21
+ // Method Decorator
22
+ /** @type {?} */
23
+ var originalFn = descriptor.value || ((/** @type {?} */ (descriptor))).originalFn;
24
+ if (originalFn) {
25
+ selectorOptionsMetaAccessor.defineOptions(originalFn, options);
26
+ }
27
+ }
28
+ else {
29
+ // Class Decorator
30
+ selectorOptionsMetaAccessor.defineOptions(target, options);
31
+ }
32
+ }))));
33
+ }
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3Itb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlLyIsInNvdXJjZXMiOlsic3JjL2RlY29yYXRvcnMvc2VsZWN0b3Itb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7OztBQUt0RSxNQUFNLFVBQVUsZUFBZSxDQUFDLE9BQThCO0lBQzVELE9BQU8sbUJBQWtDOzs7Ozs7O0lBQ3ZDLFNBQVMsUUFBUSxDQUNmLE1BQVcsRUFDWCxVQUFrQixFQUNsQixVQUFzQztRQUV0QyxJQUFJLFVBQVUsRUFBRTs7O2dCQUVSLFVBQVUsR0FBRyxVQUFVLENBQUMsS0FBSyxJQUFJLENBQUMsbUJBQUssVUFBVSxFQUFBLENBQUMsQ0FBQyxVQUFVO1lBQ25FLElBQUksVUFBVSxFQUFFO2dCQUNkLDJCQUEyQixDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDaEU7U0FDRjthQUFNO1lBQ0wsa0JBQWtCO1lBQ2xCLDJCQUEyQixDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDNUQ7SUFDSCxDQUFDLEVBQ0YsRUFBQSxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNoYXJlZFNlbGVjdG9yT3B0aW9ucyB9IGZyb20gJy4uL2ludGVybmFsL2ludGVybmFscyc7XG5pbXBvcnQgeyBzZWxlY3Rvck9wdGlvbnNNZXRhQWNjZXNzb3IgfSBmcm9tICcuLi91dGlscy9zZWxlY3Rvci11dGlscyc7XG5cbi8qKlxuICogRGVjb3JhdG9yIGZvciBzZXR0aW5nIHNlbGVjdG9yIG9wdGlvbnMgYXQgYSBtZXRob2Qgb3IgY2xhc3MgbGV2ZWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZWxlY3Rvck9wdGlvbnMob3B0aW9uczogU2hhcmVkU2VsZWN0b3JPcHRpb25zKSB7XG4gIHJldHVybiA8Q2xhc3NEZWNvcmF0b3IgJiBNZXRob2REZWNvcmF0b3I+KFxuICAgIGZ1bmN0aW9uIGRlY29yYXRlPFQ+KFxuICAgICAgdGFyZ2V0OiBhbnksXG4gICAgICBtZXRob2ROYW1lOiBzdHJpbmcsXG4gICAgICBkZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxUPlxuICAgICkge1xuICAgICAgaWYgKG1ldGhvZE5hbWUpIHtcbiAgICAgICAgLy8gTWV0aG9kIERlY29yYXRvclxuICAgICAgICBjb25zdCBvcmlnaW5hbEZuID0gZGVzY3JpcHRvci52YWx1ZSB8fCAoPGFueT5kZXNjcmlwdG9yKS5vcmlnaW5hbEZuO1xuICAgICAgICBpZiAob3JpZ2luYWxGbikge1xuICAgICAgICAgIHNlbGVjdG9yT3B0aW9uc01ldGFBY2Nlc3Nvci5kZWZpbmVPcHRpb25zKG9yaWdpbmFsRm4sIG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBDbGFzcyBEZWNvcmF0b3JcbiAgICAgICAgc2VsZWN0b3JPcHRpb25zTWV0YUFjY2Vzc29yLmRlZmluZU9wdGlvbnModGFyZ2V0LCBvcHRpb25zKTtcbiAgICAgIH1cbiAgICB9XG4gICk7XG59XG4iXX0=
@@ -1,84 +1,78 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import * as tslib_1 from "tslib";
6
- import { ensureStoreMetadata } from '../internal/internals';
7
- import { META_KEY, META_OPTIONS_KEY } from '../symbols';
8
- import { StoreValidators } from '../utils/store-validators';
9
- import { ensureStateClassIsInjectable } from '../ivy/ivy-enabled-in-dev-mode';
10
- /**
11
- * @record
12
- * @template T
13
- */
14
- function MutateMetaOptions() { }
15
- if (false) {
16
- /** @type {?} */
17
- MutateMetaOptions.prototype.meta;
18
- /** @type {?} */
19
- MutateMetaOptions.prototype.inheritedStateClass;
20
- /** @type {?} */
21
- MutateMetaOptions.prototype.optionsWithInheritance;
22
- }
23
- /**
24
- * Decorates a class with ngxs state information.
25
- * @template T
26
- * @param {?} options
27
- * @return {?}
28
- */
29
- export function State(options) {
30
- /**
31
- * @param {?} inheritedStateClass
32
- * @return {?}
33
- */
34
- function getStateOptions(inheritedStateClass) {
35
- /** @type {?} */
36
- var inheritanceOptions = inheritedStateClass[META_OPTIONS_KEY] || {};
37
- return (/** @type {?} */ (tslib_1.__assign({}, inheritanceOptions, options)));
38
- }
39
- /**
40
- * @param {?} params
41
- * @return {?}
42
- */
43
- function mutateMetaData(params) {
44
- var meta = params.meta, inheritedStateClass = params.inheritedStateClass, optionsWithInheritance = params.optionsWithInheritance;
45
- var children = optionsWithInheritance.children, defaults = optionsWithInheritance.defaults, name = optionsWithInheritance.name;
46
- /** @type {?} */
47
- var stateName = typeof name === 'string' ? name : (name && name.getName()) || null;
48
- // Caretaker note: we have still left the `typeof` condition in order to avoid
49
- // creating a breaking change for projects that still use the View Engine.
50
- if (typeof ngDevMode === 'undefined' || ngDevMode) {
51
- StoreValidators.checkThatStateIsNamedCorrectly(stateName);
52
- }
53
- if (inheritedStateClass.hasOwnProperty(META_KEY)) {
54
- /** @type {?} */
55
- var inheritedMeta = inheritedStateClass[META_KEY] || {};
56
- meta.actions = tslib_1.__assign({}, meta.actions, inheritedMeta.actions);
57
- }
58
- meta.children = children;
59
- meta.defaults = defaults;
60
- meta.name = stateName;
61
- }
62
- return (/**
63
- * @param {?} target
64
- * @return {?}
65
- */
66
- function (target) {
67
- // Caretaker note: we have still left the `typeof` condition in order to avoid
68
- // creating a breaking change for projects that still use the View Engine.
69
- if (typeof ngDevMode === 'undefined' || ngDevMode) {
70
- ensureStateClassIsInjectable(target);
71
- }
72
- /** @type {?} */
73
- var stateClass = target;
74
- /** @type {?} */
75
- var meta = ensureStoreMetadata(stateClass);
76
- /** @type {?} */
77
- var inheritedStateClass = Object.getPrototypeOf(stateClass);
78
- /** @type {?} */
79
- var optionsWithInheritance = getStateOptions(inheritedStateClass);
80
- mutateMetaData({ meta: meta, inheritedStateClass: inheritedStateClass, optionsWithInheritance: optionsWithInheritance });
81
- stateClass[META_OPTIONS_KEY] = optionsWithInheritance;
82
- });
83
- }
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS8iLCJzb3VyY2VzIjpbInNyYy9kZWNvcmF0b3JzL3N0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFxQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9GLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQWdCLE1BQU0sWUFBWSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7QUFFOUUsZ0NBSUM7OztJQUhDLGlDQUFvQjs7SUFDcEIsZ0RBQXdDOztJQUN4QyxtREFBd0M7Ozs7Ozs7O0FBTTFDLE1BQU0sVUFBVSxLQUFLLENBQUksT0FBd0I7Ozs7O0lBQy9DLFNBQVMsZUFBZSxDQUFDLG1CQUF1Qzs7WUFDeEQsa0JBQWtCLEdBQ3RCLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRTtRQUM3QyxPQUFPLHdDQUFLLGtCQUFrQixFQUFLLE9BQU8sR0FBcUIsQ0FBQztJQUNsRSxDQUFDOzs7OztJQUVELFNBQVMsY0FBYyxDQUFDLE1BQTRCO1FBQzFDLElBQUEsa0JBQUksRUFBRSxnREFBbUIsRUFBRSxzREFBc0I7UUFDakQsSUFBQSwwQ0FBUSxFQUFFLDBDQUFRLEVBQUUsa0NBQUk7O1lBQzFCLFNBQVMsR0FDYixPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksSUFBSTtRQUVwRSw4RUFBOEU7UUFDOUUsMEVBQTBFO1FBQzFFLElBQUksT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsRUFBRTtZQUNqRCxlQUFlLENBQUMsOEJBQThCLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDM0Q7UUFFRCxJQUFJLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRTs7Z0JBQzFDLGFBQWEsR0FBMkIsbUJBQW1CLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtZQUNqRixJQUFJLENBQUMsT0FBTyx3QkFBUSxJQUFJLENBQUMsT0FBTyxFQUFLLGFBQWEsQ0FBQyxPQUFPLENBQUUsQ0FBQztTQUM5RDtRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7OztJQUFPLFVBQUMsTUFBa0I7UUFDeEIsOEVBQThFO1FBQzlFLDBFQUEwRTtRQUMxRSxJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLEVBQUU7WUFDakQsNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDdEM7O1lBQ0ssVUFBVSxHQUF1QixNQUFNOztZQUN2QyxJQUFJLEdBQWtCLG1CQUFtQixDQUFDLFVBQVUsQ0FBQzs7WUFDckQsbUJBQW1CLEdBQXVCLE1BQU0sQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDOztZQUMzRSxzQkFBc0IsR0FBb0IsZUFBZSxDQUFDLG1CQUFtQixDQUFDO1FBQ3BGLGNBQWMsQ0FBQyxFQUFFLElBQUksTUFBQSxFQUFFLG1CQUFtQixxQkFBQSxFQUFFLHNCQUFzQix3QkFBQSxFQUFFLENBQUMsQ0FBQztRQUN0RSxVQUFVLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxzQkFBc0IsQ0FBQztJQUN4RCxDQUFDLEVBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGVDbGFzcyB9IGZyb20gJ0BuZ3hzL3N0b3JlL2ludGVybmFscyc7XHJcblxyXG5pbXBvcnQgeyBlbnN1cmVTdG9yZU1ldGFkYXRhLCBNZXRhRGF0YU1vZGVsLCBTdGF0ZUNsYXNzSW50ZXJuYWwgfSBmcm9tICcuLi9pbnRlcm5hbC9pbnRlcm5hbHMnO1xyXG5pbXBvcnQgeyBNRVRBX0tFWSwgTUVUQV9PUFRJT05TX0tFWSwgU3RvcmVPcHRpb25zIH0gZnJvbSAnLi4vc3ltYm9scyc7XHJcbmltcG9ydCB7IFN0b3JlVmFsaWRhdG9ycyB9IGZyb20gJy4uL3V0aWxzL3N0b3JlLXZhbGlkYXRvcnMnO1xyXG5pbXBvcnQgeyBlbnN1cmVTdGF0ZUNsYXNzSXNJbmplY3RhYmxlIH0gZnJvbSAnLi4vaXZ5L2l2eS1lbmFibGVkLWluLWRldi1tb2RlJztcclxuXHJcbmludGVyZmFjZSBNdXRhdGVNZXRhT3B0aW9uczxUPiB7XHJcbiAgbWV0YTogTWV0YURhdGFNb2RlbDtcclxuICBpbmhlcml0ZWRTdGF0ZUNsYXNzOiBTdGF0ZUNsYXNzSW50ZXJuYWw7XHJcbiAgb3B0aW9uc1dpdGhJbmhlcml0YW5jZTogU3RvcmVPcHRpb25zPFQ+O1xyXG59XHJcblxyXG4vKipcclxuICogRGVjb3JhdGVzIGEgY2xhc3Mgd2l0aCBuZ3hzIHN0YXRlIGluZm9ybWF0aW9uLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIFN0YXRlPFQ+KG9wdGlvbnM6IFN0b3JlT3B0aW9uczxUPikge1xyXG4gIGZ1bmN0aW9uIGdldFN0YXRlT3B0aW9ucyhpbmhlcml0ZWRTdGF0ZUNsYXNzOiBTdGF0ZUNsYXNzSW50ZXJuYWwpOiBTdG9yZU9wdGlvbnM8VD4ge1xyXG4gICAgY29uc3QgaW5oZXJpdGFuY2VPcHRpb25zOiBQYXJ0aWFsPFN0b3JlT3B0aW9uczxUPj4gPVxyXG4gICAgICBpbmhlcml0ZWRTdGF0ZUNsYXNzW01FVEFfT1BUSU9OU19LRVldIHx8IHt9O1xyXG4gICAgcmV0dXJuIHsgLi4uaW5oZXJpdGFuY2VPcHRpb25zLCAuLi5vcHRpb25zIH0gYXMgU3RvcmVPcHRpb25zPFQ+O1xyXG4gIH1cclxuXHJcbiAgZnVuY3Rpb24gbXV0YXRlTWV0YURhdGEocGFyYW1zOiBNdXRhdGVNZXRhT3B0aW9uczxUPik6IHZvaWQge1xyXG4gICAgY29uc3QgeyBtZXRhLCBpbmhlcml0ZWRTdGF0ZUNsYXNzLCBvcHRpb25zV2l0aEluaGVyaXRhbmNlIH0gPSBwYXJhbXM7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBkZWZhdWx0cywgbmFtZSB9ID0gb3B0aW9uc1dpdGhJbmhlcml0YW5jZTtcclxuICAgIGNvbnN0IHN0YXRlTmFtZTogc3RyaW5nIHwgbnVsbCA9XHJcbiAgICAgIHR5cGVvZiBuYW1lID09PSAnc3RyaW5nJyA/IG5hbWUgOiAobmFtZSAmJiBuYW1lLmdldE5hbWUoKSkgfHwgbnVsbDtcclxuXHJcbiAgICAvLyBDYXJldGFrZXIgbm90ZTogd2UgaGF2ZSBzdGlsbCBsZWZ0IHRoZSBgdHlwZW9mYCBjb25kaXRpb24gaW4gb3JkZXIgdG8gYXZvaWRcclxuICAgIC8vIGNyZWF0aW5nIGEgYnJlYWtpbmcgY2hhbmdlIGZvciBwcm9qZWN0cyB0aGF0IHN0aWxsIHVzZSB0aGUgVmlldyBFbmdpbmUuXHJcbiAgICBpZiAodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSB7XHJcbiAgICAgIFN0b3JlVmFsaWRhdG9ycy5jaGVja1RoYXRTdGF0ZUlzTmFtZWRDb3JyZWN0bHkoc3RhdGVOYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaW5oZXJpdGVkU3RhdGVDbGFzcy5oYXNPd25Qcm9wZXJ0eShNRVRBX0tFWSkpIHtcclxuICAgICAgY29uc3QgaW5oZXJpdGVkTWV0YTogUGFydGlhbDxNZXRhRGF0YU1vZGVsPiA9IGluaGVyaXRlZFN0YXRlQ2xhc3NbTUVUQV9LRVldIHx8IHt9O1xyXG4gICAgICBtZXRhLmFjdGlvbnMgPSB7IC4uLm1ldGEuYWN0aW9ucywgLi4uaW5oZXJpdGVkTWV0YS5hY3Rpb25zIH07XHJcbiAgICB9XHJcblxyXG4gICAgbWV0YS5jaGlsZHJlbiA9IGNoaWxkcmVuO1xyXG4gICAgbWV0YS5kZWZhdWx0cyA9IGRlZmF1bHRzO1xyXG4gICAgbWV0YS5uYW1lID0gc3RhdGVOYW1lO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuICh0YXJnZXQ6IFN0YXRlQ2xhc3MpOiB2b2lkID0+IHtcclxuICAgIC8vIENhcmV0YWtlciBub3RlOiB3ZSBoYXZlIHN0aWxsIGxlZnQgdGhlIGB0eXBlb2ZgIGNvbmRpdGlvbiBpbiBvcmRlciB0byBhdm9pZFxyXG4gICAgLy8gY3JlYXRpbmcgYSBicmVha2luZyBjaGFuZ2UgZm9yIHByb2plY3RzIHRoYXQgc3RpbGwgdXNlIHRoZSBWaWV3IEVuZ2luZS5cclxuICAgIGlmICh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpIHtcclxuICAgICAgZW5zdXJlU3RhdGVDbGFzc0lzSW5qZWN0YWJsZSh0YXJnZXQpO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgc3RhdGVDbGFzczogU3RhdGVDbGFzc0ludGVybmFsID0gdGFyZ2V0O1xyXG4gICAgY29uc3QgbWV0YTogTWV0YURhdGFNb2RlbCA9IGVuc3VyZVN0b3JlTWV0YWRhdGEoc3RhdGVDbGFzcyk7XHJcbiAgICBjb25zdCBpbmhlcml0ZWRTdGF0ZUNsYXNzOiBTdGF0ZUNsYXNzSW50ZXJuYWwgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc3RhdGVDbGFzcyk7XHJcbiAgICBjb25zdCBvcHRpb25zV2l0aEluaGVyaXRhbmNlOiBTdG9yZU9wdGlvbnM8VD4gPSBnZXRTdGF0ZU9wdGlvbnMoaW5oZXJpdGVkU3RhdGVDbGFzcyk7XHJcbiAgICBtdXRhdGVNZXRhRGF0YSh7IG1ldGEsIGluaGVyaXRlZFN0YXRlQ2xhc3MsIG9wdGlvbnNXaXRoSW5oZXJpdGFuY2UgfSk7XHJcbiAgICBzdGF0ZUNsYXNzW01FVEFfT1BUSU9OU19LRVldID0gb3B0aW9uc1dpdGhJbmhlcml0YW5jZTtcclxuICB9O1xyXG59XHJcbiJdfQ==
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import * as tslib_1 from "tslib";
6
+ import { ensureStoreMetadata } from '../internal/internals';
7
+ import { META_KEY, META_OPTIONS_KEY } from '../symbols';
8
+ import { StoreValidators } from '../utils/store-validators';
9
+ /**
10
+ * @record
11
+ * @template T
12
+ */
13
+ function MutateMetaOptions() { }
14
+ if (false) {
15
+ /** @type {?} */
16
+ MutateMetaOptions.prototype.meta;
17
+ /** @type {?} */
18
+ MutateMetaOptions.prototype.inheritedStateClass;
19
+ /** @type {?} */
20
+ MutateMetaOptions.prototype.optionsWithInheritance;
21
+ }
22
+ /**
23
+ * Decorates a class with ngxs state information.
24
+ * @template T
25
+ * @param {?} options
26
+ * @return {?}
27
+ */
28
+ export function State(options) {
29
+ /**
30
+ * @param {?} inheritedStateClass
31
+ * @return {?}
32
+ */
33
+ function getStateOptions(inheritedStateClass) {
34
+ /** @type {?} */
35
+ var inheritanceOptions = inheritedStateClass[META_OPTIONS_KEY] || {};
36
+ return (/** @type {?} */ (tslib_1.__assign({}, inheritanceOptions, options)));
37
+ }
38
+ /**
39
+ * @param {?} params
40
+ * @return {?}
41
+ */
42
+ function mutateMetaData(params) {
43
+ var meta = params.meta, inheritedStateClass = params.inheritedStateClass, optionsWithInheritance = params.optionsWithInheritance;
44
+ var children = optionsWithInheritance.children, defaults = optionsWithInheritance.defaults, name = optionsWithInheritance.name;
45
+ /** @type {?} */
46
+ var stateName = typeof name === 'string' ? name : (name && name.getName()) || null;
47
+ // Caretaker note: we have still left the `typeof` condition in order to avoid
48
+ // creating a breaking change for projects that still use the View Engine.
49
+ if (typeof ngDevMode === 'undefined' || ngDevMode) {
50
+ StoreValidators.checkThatStateIsNamedCorrectly(stateName);
51
+ }
52
+ if (inheritedStateClass.hasOwnProperty(META_KEY)) {
53
+ /** @type {?} */
54
+ var inheritedMeta = inheritedStateClass[META_KEY] || {};
55
+ meta.actions = tslib_1.__assign({}, meta.actions, inheritedMeta.actions);
56
+ }
57
+ meta.children = children;
58
+ meta.defaults = defaults;
59
+ meta.name = stateName;
60
+ }
61
+ return (/**
62
+ * @param {?} target
63
+ * @return {?}
64
+ */
65
+ function (target) {
66
+ /** @type {?} */
67
+ var stateClass = target;
68
+ /** @type {?} */
69
+ var meta = ensureStoreMetadata(stateClass);
70
+ /** @type {?} */
71
+ var inheritedStateClass = Object.getPrototypeOf(stateClass);
72
+ /** @type {?} */
73
+ var optionsWithInheritance = getStateOptions(inheritedStateClass);
74
+ mutateMetaData({ meta: meta, inheritedStateClass: inheritedStateClass, optionsWithInheritance: optionsWithInheritance });
75
+ stateClass[META_OPTIONS_KEY] = optionsWithInheritance;
76
+ });
77
+ }
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS8iLCJzb3VyY2VzIjpbInNyYy9kZWNvcmF0b3JzL3N0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFxQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9GLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQWdCLE1BQU0sWUFBWSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7QUFFNUQsZ0NBSUM7OztJQUhDLGlDQUFvQjs7SUFDcEIsZ0RBQXdDOztJQUN4QyxtREFBd0M7Ozs7Ozs7O0FBTTFDLE1BQU0sVUFBVSxLQUFLLENBQUksT0FBd0I7Ozs7O0lBQy9DLFNBQVMsZUFBZSxDQUFDLG1CQUF1Qzs7WUFDeEQsa0JBQWtCLEdBQ3RCLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRTtRQUM3QyxPQUFPLHdDQUFLLGtCQUFrQixFQUFLLE9BQU8sR0FBcUIsQ0FBQztJQUNsRSxDQUFDOzs7OztJQUVELFNBQVMsY0FBYyxDQUFDLE1BQTRCO1FBQzFDLElBQUEsa0JBQUksRUFBRSxnREFBbUIsRUFBRSxzREFBc0I7UUFDakQsSUFBQSwwQ0FBUSxFQUFFLDBDQUFRLEVBQUUsa0NBQUk7O1lBQzFCLFNBQVMsR0FDYixPQUFPLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksSUFBSTtRQUVwRSw4RUFBOEU7UUFDOUUsMEVBQTBFO1FBQzFFLElBQUksT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsRUFBRTtZQUNqRCxlQUFlLENBQUMsOEJBQThCLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDM0Q7UUFFRCxJQUFJLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRTs7Z0JBQzFDLGFBQWEsR0FBMkIsbUJBQW1CLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtZQUNqRixJQUFJLENBQUMsT0FBTyx3QkFBUSxJQUFJLENBQUMsT0FBTyxFQUFLLGFBQWEsQ0FBQyxPQUFPLENBQUUsQ0FBQztTQUM5RDtRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7OztJQUFPLFVBQUMsTUFBa0I7O1lBQ2xCLFVBQVUsR0FBdUIsTUFBTTs7WUFDdkMsSUFBSSxHQUFrQixtQkFBbUIsQ0FBQyxVQUFVLENBQUM7O1lBQ3JELG1CQUFtQixHQUF1QixNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQzs7WUFDM0Usc0JBQXNCLEdBQW9CLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQztRQUNwRixjQUFjLENBQUMsRUFBRSxJQUFJLE1BQUEsRUFBRSxtQkFBbUIscUJBQUEsRUFBRSxzQkFBc0Isd0JBQUEsRUFBRSxDQUFDLENBQUM7UUFDdEUsVUFBVSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsc0JBQXNCLENBQUM7SUFDeEQsQ0FBQyxFQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXRlQ2xhc3MgfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuXG5pbXBvcnQgeyBlbnN1cmVTdG9yZU1ldGFkYXRhLCBNZXRhRGF0YU1vZGVsLCBTdGF0ZUNsYXNzSW50ZXJuYWwgfSBmcm9tICcuLi9pbnRlcm5hbC9pbnRlcm5hbHMnO1xuaW1wb3J0IHsgTUVUQV9LRVksIE1FVEFfT1BUSU9OU19LRVksIFN0b3JlT3B0aW9ucyB9IGZyb20gJy4uL3N5bWJvbHMnO1xuaW1wb3J0IHsgU3RvcmVWYWxpZGF0b3JzIH0gZnJvbSAnLi4vdXRpbHMvc3RvcmUtdmFsaWRhdG9ycyc7XG5cbmludGVyZmFjZSBNdXRhdGVNZXRhT3B0aW9uczxUPiB7XG4gIG1ldGE6IE1ldGFEYXRhTW9kZWw7XG4gIGluaGVyaXRlZFN0YXRlQ2xhc3M6IFN0YXRlQ2xhc3NJbnRlcm5hbDtcbiAgb3B0aW9uc1dpdGhJbmhlcml0YW5jZTogU3RvcmVPcHRpb25zPFQ+O1xufVxuXG4vKipcbiAqIERlY29yYXRlcyBhIGNsYXNzIHdpdGggbmd4cyBzdGF0ZSBpbmZvcm1hdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFN0YXRlPFQ+KG9wdGlvbnM6IFN0b3JlT3B0aW9uczxUPikge1xuICBmdW5jdGlvbiBnZXRTdGF0ZU9wdGlvbnMoaW5oZXJpdGVkU3RhdGVDbGFzczogU3RhdGVDbGFzc0ludGVybmFsKTogU3RvcmVPcHRpb25zPFQ+IHtcbiAgICBjb25zdCBpbmhlcml0YW5jZU9wdGlvbnM6IFBhcnRpYWw8U3RvcmVPcHRpb25zPFQ+PiA9XG4gICAgICBpbmhlcml0ZWRTdGF0ZUNsYXNzW01FVEFfT1BUSU9OU19LRVldIHx8IHt9O1xuICAgIHJldHVybiB7IC4uLmluaGVyaXRhbmNlT3B0aW9ucywgLi4ub3B0aW9ucyB9IGFzIFN0b3JlT3B0aW9uczxUPjtcbiAgfVxuXG4gIGZ1bmN0aW9uIG11dGF0ZU1ldGFEYXRhKHBhcmFtczogTXV0YXRlTWV0YU9wdGlvbnM8VD4pOiB2b2lkIHtcbiAgICBjb25zdCB7IG1ldGEsIGluaGVyaXRlZFN0YXRlQ2xhc3MsIG9wdGlvbnNXaXRoSW5oZXJpdGFuY2UgfSA9IHBhcmFtcztcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBkZWZhdWx0cywgbmFtZSB9ID0gb3B0aW9uc1dpdGhJbmhlcml0YW5jZTtcbiAgICBjb25zdCBzdGF0ZU5hbWU6IHN0cmluZyB8IG51bGwgPVxuICAgICAgdHlwZW9mIG5hbWUgPT09ICdzdHJpbmcnID8gbmFtZSA6IChuYW1lICYmIG5hbWUuZ2V0TmFtZSgpKSB8fCBudWxsO1xuXG4gICAgLy8gQ2FyZXRha2VyIG5vdGU6IHdlIGhhdmUgc3RpbGwgbGVmdCB0aGUgYHR5cGVvZmAgY29uZGl0aW9uIGluIG9yZGVyIHRvIGF2b2lkXG4gICAgLy8gY3JlYXRpbmcgYSBicmVha2luZyBjaGFuZ2UgZm9yIHByb2plY3RzIHRoYXQgc3RpbGwgdXNlIHRoZSBWaWV3IEVuZ2luZS5cbiAgICBpZiAodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSB7XG4gICAgICBTdG9yZVZhbGlkYXRvcnMuY2hlY2tUaGF0U3RhdGVJc05hbWVkQ29ycmVjdGx5KHN0YXRlTmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKGluaGVyaXRlZFN0YXRlQ2xhc3MuaGFzT3duUHJvcGVydHkoTUVUQV9LRVkpKSB7XG4gICAgICBjb25zdCBpbmhlcml0ZWRNZXRhOiBQYXJ0aWFsPE1ldGFEYXRhTW9kZWw+ID0gaW5oZXJpdGVkU3RhdGVDbGFzc1tNRVRBX0tFWV0gfHwge307XG4gICAgICBtZXRhLmFjdGlvbnMgPSB7IC4uLm1ldGEuYWN0aW9ucywgLi4uaW5oZXJpdGVkTWV0YS5hY3Rpb25zIH07XG4gICAgfVxuXG4gICAgbWV0YS5jaGlsZHJlbiA9IGNoaWxkcmVuO1xuICAgIG1ldGEuZGVmYXVsdHMgPSBkZWZhdWx0cztcbiAgICBtZXRhLm5hbWUgPSBzdGF0ZU5hbWU7XG4gIH1cblxuICByZXR1cm4gKHRhcmdldDogU3RhdGVDbGFzcyk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IHN0YXRlQ2xhc3M6IFN0YXRlQ2xhc3NJbnRlcm5hbCA9IHRhcmdldDtcbiAgICBjb25zdCBtZXRhOiBNZXRhRGF0YU1vZGVsID0gZW5zdXJlU3RvcmVNZXRhZGF0YShzdGF0ZUNsYXNzKTtcbiAgICBjb25zdCBpbmhlcml0ZWRTdGF0ZUNsYXNzOiBTdGF0ZUNsYXNzSW50ZXJuYWwgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc3RhdGVDbGFzcyk7XG4gICAgY29uc3Qgb3B0aW9uc1dpdGhJbmhlcml0YW5jZTogU3RvcmVPcHRpb25zPFQ+ID0gZ2V0U3RhdGVPcHRpb25zKGluaGVyaXRlZFN0YXRlQ2xhc3MpO1xuICAgIG11dGF0ZU1ldGFEYXRhKHsgbWV0YSwgaW5oZXJpdGVkU3RhdGVDbGFzcywgb3B0aW9uc1dpdGhJbmhlcml0YW5jZSB9KTtcbiAgICBzdGF0ZUNsYXNzW01FVEFfT1BUSU9OU19LRVldID0gb3B0aW9uc1dpdGhJbmhlcml0YW5jZTtcbiAgfTtcbn1cbiJdfQ==