@ngxs/store 3.7.2-dev.master-bfe989b → 3.7.2

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 (266) hide show
  1. package/README.md +16 -16
  2. package/bundles/ngxs-store-internals.umd.js +211 -380
  3. package/bundles/ngxs-store-internals.umd.js.map +1 -1
  4. package/bundles/ngxs-store-internals.umd.min.js +1 -1
  5. package/bundles/ngxs-store-internals.umd.min.js.map +1 -1
  6. package/bundles/ngxs-store-operators.umd.js +310 -310
  7. package/bundles/ngxs-store-operators.umd.js.map +1 -1
  8. package/bundles/ngxs-store-operators.umd.min.js.map +1 -1
  9. package/bundles/ngxs-store.umd.js +4518 -4402
  10. package/bundles/ngxs-store.umd.js.map +1 -1
  11. package/bundles/ngxs-store.umd.min.js +1 -1
  12. package/bundles/ngxs-store.umd.min.js.map +1 -1
  13. package/esm2015/index.js +13 -13
  14. package/esm2015/internals/angular.js +40 -46
  15. package/esm2015/internals/index.js +10 -11
  16. package/esm2015/internals/initial-state.js +34 -34
  17. package/esm2015/internals/internal-tokens.js +16 -16
  18. package/esm2015/internals/memoize.js +70 -70
  19. package/esm2015/internals/ngxs-bootstrapper.js +41 -41
  20. package/esm2015/internals/ngxs-store-internals.js +9 -9
  21. package/esm2015/internals/src/symbols.js +14 -14
  22. package/esm2015/internals/symbols.js +14 -14
  23. package/esm2015/ngxs-store.js +27 -24
  24. package/esm2015/operators/append.js +31 -31
  25. package/esm2015/operators/compose.js +24 -24
  26. package/esm2015/operators/iif.js +56 -56
  27. package/esm2015/operators/index.js +18 -18
  28. package/esm2015/operators/insert-item.js +41 -41
  29. package/esm2015/operators/internals.js +5 -5
  30. package/esm2015/operators/ngxs-store-operators.js +8 -8
  31. package/esm2015/operators/patch.js +39 -39
  32. package/esm2015/operators/remove-item.js +34 -34
  33. package/esm2015/operators/update-item.js +52 -52
  34. package/esm2015/operators/utils.js +50 -50
  35. package/esm2015/src/actions/actions.js +39 -39
  36. package/esm2015/src/actions/symbols.js +39 -39
  37. package/esm2015/src/actions-stream.js +140 -138
  38. package/esm2015/src/configs/messages.config.js +87 -79
  39. package/esm2015/src/decorators/action.js +44 -48
  40. package/esm2015/src/decorators/select/select-factory.js +46 -49
  41. package/esm2015/src/decorators/select/select.js +45 -60
  42. package/esm2015/src/decorators/select/symbols.js +50 -94
  43. package/esm2015/src/decorators/selector/selector.js +55 -59
  44. package/esm2015/src/decorators/selector/symbols.js +5 -5
  45. package/esm2015/src/decorators/selector-options.js +34 -34
  46. package/esm2015/src/decorators/state.js +75 -83
  47. package/esm2015/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +96 -101
  48. package/esm2015/src/execution/internal-ngxs-execution-strategy.js +45 -45
  49. package/esm2015/src/execution/noop-ngxs-execution-strategy.js +27 -27
  50. package/esm2015/src/execution/symbols.js +29 -29
  51. package/esm2015/src/host-environment/host-environment.js +31 -0
  52. package/esm2015/src/internal/config-validator.js +67 -0
  53. package/esm2015/src/internal/dispatcher.js +217 -217
  54. package/esm2015/src/internal/internals.js +489 -493
  55. package/esm2015/src/internal/lifecycle-state-manager.js +129 -129
  56. package/esm2015/src/internal/state-context-factory.js +138 -138
  57. package/esm2015/src/internal/state-factory.js +429 -449
  58. package/esm2015/src/internal/state-operations.js +125 -120
  59. package/esm2015/src/internal/state-operators.js +33 -33
  60. package/esm2015/src/internal/state-stream.js +21 -21
  61. package/esm2015/src/ivy/ensure-state-class-is-injectable.js +34 -0
  62. package/esm2015/src/ivy/ivy-enabled-in-dev-mode.js +40 -28
  63. package/esm2015/src/module.js +172 -158
  64. package/esm2015/src/modules/ngxs-feature.module.js +63 -63
  65. package/esm2015/src/modules/ngxs-root.module.js +52 -52
  66. package/esm2015/src/operators/leave-ngxs.js +58 -58
  67. package/esm2015/src/operators/of-action.js +191 -191
  68. package/esm2015/src/plugin-manager.js +70 -70
  69. package/esm2015/src/plugin_api.js +10 -10
  70. package/esm2015/src/public_api.js +29 -29
  71. package/esm2015/src/public_to_deprecate.js +64 -64
  72. package/esm2015/src/state-token/state-token.js +45 -45
  73. package/esm2015/src/state-token/symbols.js +5 -5
  74. package/esm2015/src/store.js +174 -174
  75. package/esm2015/src/symbols.js +221 -217
  76. package/esm2015/src/utils/compose.js +44 -44
  77. package/esm2015/src/utils/freeze.js +35 -35
  78. package/esm2015/src/utils/selector-utils.js +221 -221
  79. package/esm2015/src/utils/store-validators.js +65 -60
  80. package/esm2015/src/utils/utils.js +143 -143
  81. package/esm5/index.js +13 -13
  82. package/esm5/internals/angular.js +40 -46
  83. package/esm5/internals/index.js +10 -11
  84. package/esm5/internals/initial-state.js +45 -45
  85. package/esm5/internals/internal-tokens.js +16 -16
  86. package/esm5/internals/memoize.js +71 -71
  87. package/esm5/internals/ngxs-bootstrapper.js +56 -56
  88. package/esm5/internals/ngxs-store-internals.js +9 -9
  89. package/esm5/internals/src/symbols.js +14 -14
  90. package/esm5/internals/symbols.js +14 -14
  91. package/esm5/ngxs-store.js +27 -24
  92. package/esm5/operators/append.js +31 -31
  93. package/esm5/operators/compose.js +28 -28
  94. package/esm5/operators/iif.js +56 -56
  95. package/esm5/operators/index.js +18 -18
  96. package/esm5/operators/insert-item.js +41 -41
  97. package/esm5/operators/internals.js +5 -5
  98. package/esm5/operators/ngxs-store-operators.js +8 -8
  99. package/esm5/operators/patch.js +40 -40
  100. package/esm5/operators/remove-item.js +34 -34
  101. package/esm5/operators/update-item.js +52 -52
  102. package/esm5/operators/utils.js +50 -50
  103. package/esm5/src/actions/actions.js +62 -62
  104. package/esm5/src/actions/symbols.js +39 -39
  105. package/esm5/src/actions-stream.js +186 -184
  106. package/esm5/src/configs/messages.config.js +104 -79
  107. package/esm5/src/decorators/action.js +56 -60
  108. package/esm5/src/decorators/select/select-factory.js +47 -50
  109. package/esm5/src/decorators/select/select.js +50 -65
  110. package/esm5/src/decorators/select/symbols.js +51 -95
  111. package/esm5/src/decorators/selector/selector.js +55 -59
  112. package/esm5/src/decorators/selector/symbols.js +5 -5
  113. package/esm5/src/decorators/selector-options.js +34 -34
  114. package/esm5/src/decorators/state.js +76 -84
  115. package/esm5/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +121 -121
  116. package/esm5/src/execution/internal-ngxs-execution-strategy.js +54 -54
  117. package/esm5/src/execution/noop-ngxs-execution-strategy.js +41 -41
  118. package/esm5/src/execution/symbols.js +29 -29
  119. package/esm5/src/host-environment/host-environment.js +29 -0
  120. package/esm5/src/internal/config-validator.js +76 -0
  121. package/esm5/src/internal/dispatcher.js +253 -253
  122. package/esm5/src/internal/internals.js +491 -495
  123. package/esm5/src/internal/lifecycle-state-manager.js +177 -177
  124. package/esm5/src/internal/state-context-factory.js +146 -146
  125. package/esm5/src/internal/state-factory.js +563 -575
  126. package/esm5/src/internal/state-operations.js +139 -130
  127. package/esm5/src/internal/state-operators.js +34 -34
  128. package/esm5/src/internal/state-stream.js +25 -25
  129. package/esm5/src/ivy/ensure-state-class-is-injectable.js +34 -0
  130. package/esm5/src/ivy/ivy-enabled-in-dev-mode.js +40 -28
  131. package/esm5/src/module.js +215 -201
  132. package/esm5/src/modules/ngxs-feature.module.js +65 -65
  133. package/esm5/src/modules/ngxs-root.module.js +47 -47
  134. package/esm5/src/operators/leave-ngxs.js +58 -58
  135. package/esm5/src/operators/of-action.js +217 -217
  136. package/esm5/src/plugin-manager.js +82 -82
  137. package/esm5/src/plugin_api.js +10 -10
  138. package/esm5/src/public_api.js +29 -29
  139. package/esm5/src/public_to_deprecate.js +64 -64
  140. package/esm5/src/state-token/state-token.js +57 -57
  141. package/esm5/src/state-token/symbols.js +5 -5
  142. package/esm5/src/store.js +225 -225
  143. package/esm5/src/symbols.js +230 -226
  144. package/esm5/src/utils/compose.js +55 -55
  145. package/esm5/src/utils/freeze.js +35 -35
  146. package/esm5/src/utils/selector-utils.js +230 -230
  147. package/esm5/src/utils/store-validators.js +86 -78
  148. package/esm5/src/utils/utils.js +151 -151
  149. package/fesm2015/ngxs-store-internals.js +194 -361
  150. package/fesm2015/ngxs-store-internals.js.map +1 -1
  151. package/fesm2015/ngxs-store-operators.js +312 -312
  152. package/fesm2015/ngxs-store-operators.js.map +1 -1
  153. package/fesm2015/ngxs-store.js +3976 -3907
  154. package/fesm2015/ngxs-store.js.map +1 -1
  155. package/fesm5/ngxs-store-internals.js +219 -386
  156. package/fesm5/ngxs-store-internals.js.map +1 -1
  157. package/fesm5/ngxs-store-operators.js +316 -316
  158. package/fesm5/ngxs-store-operators.js.map +1 -1
  159. package/fesm5/ngxs-store.js +4510 -4399
  160. package/fesm5/ngxs-store.js.map +1 -1
  161. package/index.d.ts +8 -8
  162. package/internals/angular.d.ts +3 -3
  163. package/internals/index.d.ts +6 -7
  164. package/internals/initial-state.d.ts +8 -8
  165. package/internals/internal-tokens.d.ts +9 -9
  166. package/internals/memoize.d.ts +9 -9
  167. package/internals/ngxs-bootstrapper.d.ts +13 -13
  168. package/internals/ngxs-store-internals.d.ts +4 -4
  169. package/internals/ngxs-store-internals.metadata.json +1 -1
  170. package/internals/src/symbols.d.ts +7 -7
  171. package/internals/symbols.d.ts +7 -7
  172. package/ngxs-store.d.ts +23 -20
  173. package/ngxs-store.metadata.json +1 -1
  174. package/operators/append.d.ts +6 -6
  175. package/operators/compose.d.ts +2 -2
  176. package/operators/iif.d.ts +11 -11
  177. package/operators/index.d.ts +13 -13
  178. package/operators/insert-item.d.ts +7 -7
  179. package/operators/internals.d.ts +2 -2
  180. package/operators/ngxs-store-operators.d.ts +4 -4
  181. package/operators/patch.d.ts +10 -10
  182. package/operators/remove-item.d.ts +7 -7
  183. package/operators/update-item.d.ts +10 -10
  184. package/operators/utils.d.ts +9 -9
  185. package/package.json +2 -2
  186. package/src/actions/actions.d.ts +15 -15
  187. package/src/actions/symbols.d.ts +21 -21
  188. package/src/actions-stream.d.ts +49 -49
  189. package/src/configs/messages.config.d.ts +30 -11
  190. package/src/decorators/action.d.ts +5 -5
  191. package/src/decorators/select/select-factory.d.ts +14 -13
  192. package/src/decorators/select/select.d.ts +4 -4
  193. package/src/decorators/select/symbols.d.ts +10 -14
  194. package/src/decorators/selector/selector.d.ts +5 -5
  195. package/src/decorators/selector/symbols.d.ts +4 -4
  196. package/src/decorators/selector-options.d.ts +5 -5
  197. package/src/decorators/state.d.ts +6 -6
  198. package/src/execution/dispatch-outside-zone-ngxs-execution-strategy.d.ts +12 -11
  199. package/src/execution/internal-ngxs-execution-strategy.d.ts +7 -7
  200. package/src/execution/noop-ngxs-execution-strategy.d.ts +5 -5
  201. package/src/execution/symbols.d.ts +6 -6
  202. package/src/host-environment/host-environment.d.ts +6 -0
  203. package/src/internal/config-validator.d.ts +10 -0
  204. package/src/internal/dispatcher.d.ts +32 -32
  205. package/src/internal/internals.d.ts +167 -166
  206. package/src/internal/lifecycle-state-manager.d.ts +20 -20
  207. package/src/internal/state-context-factory.d.ts +15 -15
  208. package/src/internal/state-factory.d.ts +58 -57
  209. package/src/internal/state-operations.d.ts +21 -19
  210. package/src/internal/state-operators.d.ts +2 -2
  211. package/src/internal/state-stream.d.ts +9 -9
  212. package/src/ivy/ensure-state-class-is-injectable.d.ts +6 -0
  213. package/src/ivy/ivy-enabled-in-dev-mode.d.ts +14 -6
  214. package/src/module.d.ts +23 -23
  215. package/src/modules/ngxs-feature.module.d.ts +13 -13
  216. package/src/modules/ngxs-root.module.d.ts +13 -13
  217. package/src/operators/leave-ngxs.d.ts +7 -7
  218. package/src/operators/of-action.d.ts +43 -43
  219. package/src/plugin-manager.d.ts +10 -10
  220. package/src/plugin_api.d.ts +5 -5
  221. package/src/public_api.d.ts +17 -17
  222. package/src/public_to_deprecate.d.ts +21 -21
  223. package/src/state-token/state-token.d.ts +7 -7
  224. package/src/state-token/symbols.d.ts +5 -5
  225. package/src/store.d.ts +53 -53
  226. package/src/symbols.d.ts +137 -135
  227. package/src/utils/compose.d.ts +23 -23
  228. package/src/utils/freeze.d.ts +5 -5
  229. package/src/utils/selector-utils.d.ts +23 -23
  230. package/src/utils/store-validators.d.ts +8 -7
  231. package/src/utils/utils.d.ts +46 -46
  232. package/types/index.d.ts +2 -2
  233. package/bundles/ngxs-store-internals-testing.umd.js +0 -475
  234. package/bundles/ngxs-store-internals-testing.umd.js.map +0 -1
  235. package/bundles/ngxs-store-internals-testing.umd.min.js +0 -16
  236. package/bundles/ngxs-store-internals-testing.umd.min.js.map +0 -1
  237. package/esm2015/internals/decorator-injector-adapter.js +0 -162
  238. package/esm2015/internals/testing/fresh-platform.js +0 -90
  239. package/esm2015/internals/testing/helpers/ngxs-test.component.js +0 -22
  240. package/esm2015/internals/testing/helpers/ngxs-test.module.js +0 -24
  241. package/esm2015/internals/testing/index.js +0 -7
  242. package/esm2015/internals/testing/ngxs-store-internals-testing.js +0 -9
  243. package/esm2015/internals/testing/ngxs.setup.js +0 -76
  244. package/esm2015/internals/testing/symbol.js +0 -29
  245. package/esm5/internals/decorator-injector-adapter.js +0 -162
  246. package/esm5/internals/testing/fresh-platform.js +0 -101
  247. package/esm5/internals/testing/helpers/ngxs-test.component.js +0 -32
  248. package/esm5/internals/testing/helpers/ngxs-test.module.js +0 -32
  249. package/esm5/internals/testing/index.js +0 -7
  250. package/esm5/internals/testing/ngxs-store-internals-testing.js +0 -9
  251. package/esm5/internals/testing/ngxs.setup.js +0 -98
  252. package/esm5/internals/testing/symbol.js +0 -29
  253. package/fesm2015/ngxs-store-internals-testing.js +0 -216
  254. package/fesm2015/ngxs-store-internals-testing.js.map +0 -1
  255. package/fesm5/ngxs-store-internals-testing.js +0 -263
  256. package/fesm5/ngxs-store-internals-testing.js.map +0 -1
  257. package/internals/decorator-injector-adapter.d.ts +0 -8
  258. package/internals/testing/fresh-platform.d.ts +0 -1
  259. package/internals/testing/helpers/ngxs-test.component.d.ts +0 -5
  260. package/internals/testing/helpers/ngxs-test.module.d.ts +0 -4
  261. package/internals/testing/index.d.ts +0 -3
  262. package/internals/testing/ngxs-store-internals-testing.d.ts +0 -4
  263. package/internals/testing/ngxs-store-internals-testing.metadata.json +0 -1
  264. package/internals/testing/ngxs.setup.d.ts +0 -7
  265. package/internals/testing/package.json +0 -13
  266. package/internals/testing/symbol.d.ts +0 -14
@@ -1,138 +1,140 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { Injectable } from '@angular/core';
6
- import { Subject, Observable } from 'rxjs';
7
- import { leaveNgxs } from './operators/leave-ngxs';
8
- import { InternalNgxsExecutionStrategy } from './execution/internal-ngxs-execution-strategy';
9
- /** @enum {string} */
10
- const ActionStatus = {
11
- Dispatched: 'DISPATCHED',
12
- Successful: 'SUCCESSFUL',
13
- Canceled: 'CANCELED',
14
- Errored: 'ERRORED',
15
- };
16
- export { ActionStatus };
17
- /**
18
- * @record
19
- * @template T
20
- */
21
- export function ActionContext() { }
22
- if (false) {
23
- /** @type {?} */
24
- ActionContext.prototype.status;
25
- /** @type {?} */
26
- ActionContext.prototype.action;
27
- /** @type {?|undefined} */
28
- ActionContext.prototype.error;
29
- }
30
- /**
31
- * Custom Subject that ensures that subscribers are notified of values in the order that they arrived.
32
- * A standard Subject does not have this guarantee.
33
- * For example, given the following code:
34
- * ```typescript
35
- * const subject = new Subject<string>();
36
- * subject.subscribe(value => {
37
- * if (value === 'start') subject.next('end');
38
- * });
39
- * subject.subscribe(value => { });
40
- * subject.next('start');
41
- * ```
42
- * When `subject` is a standard `Subject<T>` the second subscriber would recieve `end` and then `start`.
43
- * When `subject` is a `OrderedSubject<T>` the second subscriber would recieve `start` and then `end`.
44
- * @template T
45
- */
46
- export class OrderedSubject extends Subject {
47
- constructor() {
48
- super(...arguments);
49
- this._itemQueue = [];
50
- this._busyPushingNext = false;
51
- }
52
- /**
53
- * @param {?=} value
54
- * @return {?}
55
- */
56
- next(value) {
57
- if (this._busyPushingNext) {
58
- this._itemQueue.unshift((/** @type {?} */ (value)));
59
- return;
60
- }
61
- this._busyPushingNext = true;
62
- super.next(value);
63
- while (this._itemQueue.length > 0) {
64
- /** @type {?} */
65
- const nextValue = this._itemQueue.pop();
66
- super.next(nextValue);
67
- }
68
- this._busyPushingNext = false;
69
- }
70
- }
71
- if (false) {
72
- /**
73
- * @type {?}
74
- * @private
75
- */
76
- OrderedSubject.prototype._itemQueue;
77
- /**
78
- * @type {?}
79
- * @private
80
- */
81
- OrderedSubject.prototype._busyPushingNext;
82
- }
83
- /**
84
- * Internal Action stream that is emitted anytime an action is dispatched.
85
- */
86
- export class InternalActions extends OrderedSubject {
87
- }
88
- InternalActions.decorators = [
89
- { type: Injectable }
90
- ];
91
- /**
92
- * Action stream that is emitted anytime an action is dispatched.
93
- *
94
- * You can listen to this in services to react without stores.
95
- */
96
- export class Actions extends Observable {
97
- /**
98
- * @param {?} internalActions$
99
- * @param {?} internalExecutionStrategy
100
- */
101
- constructor(internalActions$, internalExecutionStrategy) {
102
- super((/**
103
- * @param {?} observer
104
- * @return {?}
105
- */
106
- observer => {
107
- /** @type {?} */
108
- const childSubscription = internalActions$
109
- .pipe(leaveNgxs(internalExecutionStrategy))
110
- .subscribe({
111
- next: (/**
112
- * @param {?} ctx
113
- * @return {?}
114
- */
115
- ctx => observer.next(ctx)),
116
- error: (/**
117
- * @param {?} error
118
- * @return {?}
119
- */
120
- error => observer.error(error)),
121
- complete: (/**
122
- * @return {?}
123
- */
124
- () => observer.complete())
125
- });
126
- observer.add(childSubscription);
127
- }));
128
- }
129
- }
130
- Actions.decorators = [
131
- { type: Injectable }
132
- ];
133
- /** @nocollapse */
134
- Actions.ctorParameters = () => [
135
- { type: InternalActions },
136
- { type: InternalNgxsExecutionStrategy }
137
- ];
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy1zdHJlYW0uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS8iLCJzb3VyY2VzIjpbInNyYy9hY3Rpb25zLXN0cmVhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sOENBQThDLENBQUM7OztJQU0zRixZQUFhLFlBQVk7SUFDekIsWUFBYSxZQUFZO0lBQ3pCLFVBQVcsVUFBVTtJQUNyQixTQUFVLFNBQVM7Ozs7Ozs7QUFHckIsbUNBSUM7OztJQUhDLCtCQUFxQjs7SUFDckIsK0JBQVU7O0lBQ1YsOEJBQWM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtCaEIsTUFBTSxPQUFPLGNBQWtCLFNBQVEsT0FBVTtJQUFqRDs7UUFDVSxlQUFVLEdBQVEsRUFBRSxDQUFDO1FBQ3JCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztJQWVuQyxDQUFDOzs7OztJQWJDLElBQUksQ0FBQyxLQUFTO1FBQ1osSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsbUJBQUEsS0FBSyxFQUFDLENBQUMsQ0FBQztZQUNoQyxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7O2tCQUMzQixTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDdkMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN2QjtRQUNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztDQUNGOzs7Ozs7SUFoQkMsb0NBQTZCOzs7OztJQUM3QiwwQ0FBaUM7Ozs7O0FBcUJuQyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxjQUE2Qjs7O1lBRGpFLFVBQVU7Ozs7Ozs7QUFTWCxNQUFNLE9BQU8sT0FBUSxTQUFRLFVBQXlCOzs7OztJQUNwRCxZQUNFLGdCQUFpQyxFQUNqQyx5QkFBd0Q7UUFFeEQsS0FBSzs7OztRQUFDLFFBQVEsQ0FBQyxFQUFFOztrQkFDVCxpQkFBaUIsR0FBRyxnQkFBZ0I7aUJBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMseUJBQXlCLENBQUMsQ0FBQztpQkFDMUMsU0FBUyxDQUFDO2dCQUNULElBQUk7Ozs7Z0JBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO2dCQUMvQixLQUFLOzs7O2dCQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQkFDckMsUUFBUTs7O2dCQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQTthQUNwQyxDQUFDO1lBRUosUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2xDLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBakJGLFVBQVU7Ozs7WUFHVyxlQUFlO1lBbEU1Qiw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGxlYXZlTmd4cyB9IGZyb20gJy4vb3BlcmF0b3JzL2xlYXZlLW5neHMnO1xuaW1wb3J0IHsgSW50ZXJuYWxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2V4ZWN1dGlvbi9pbnRlcm5hbC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneSc7XG5cbi8qKlxuICogU3RhdHVzIG9mIGEgZGlzcGF0Y2hlZCBhY3Rpb25cbiAqL1xuZXhwb3J0IGNvbnN0IGVudW0gQWN0aW9uU3RhdHVzIHtcbiAgRGlzcGF0Y2hlZCA9ICdESVNQQVRDSEVEJyxcbiAgU3VjY2Vzc2Z1bCA9ICdTVUNDRVNTRlVMJyxcbiAgQ2FuY2VsZWQgPSAnQ0FOQ0VMRUQnLFxuICBFcnJvcmVkID0gJ0VSUk9SRUQnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uQ29udGV4dDxUID0gYW55PiB7XG4gIHN0YXR1czogQWN0aW9uU3RhdHVzO1xuICBhY3Rpb246IFQ7XG4gIGVycm9yPzogRXJyb3I7XG59XG5cbi8qKlxuICogQ3VzdG9tIFN1YmplY3QgdGhhdCBlbnN1cmVzIHRoYXQgc3Vic2NyaWJlcnMgYXJlIG5vdGlmaWVkIG9mIHZhbHVlcyBpbiB0aGUgb3JkZXIgdGhhdCB0aGV5IGFycml2ZWQuXG4gKiBBIHN0YW5kYXJkIFN1YmplY3QgZG9lcyBub3QgaGF2ZSB0aGlzIGd1YXJhbnRlZS5cbiAqIEZvciBleGFtcGxlLCBnaXZlbiB0aGUgZm9sbG93aW5nIGNvZGU6XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAgIGNvbnN0IHN1YmplY3QgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gICAgIHN1YmplY3Quc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICBpZiAodmFsdWUgPT09ICdzdGFydCcpIHN1YmplY3QubmV4dCgnZW5kJyk7XG4gICAgIH0pO1xuICAgICBzdWJqZWN0LnN1YnNjcmliZSh2YWx1ZSA9PiB7IH0pO1xuICAgICBzdWJqZWN0Lm5leHQoJ3N0YXJ0Jyk7XG4gKiBgYGBcbiAqIFdoZW4gYHN1YmplY3RgIGlzIGEgc3RhbmRhcmQgYFN1YmplY3Q8VD5gIHRoZSBzZWNvbmQgc3Vic2NyaWJlciB3b3VsZCByZWNpZXZlIGBlbmRgIGFuZCB0aGVuIGBzdGFydGAuXG4gKiBXaGVuIGBzdWJqZWN0YCBpcyBhIGBPcmRlcmVkU3ViamVjdDxUPmAgdGhlIHNlY29uZCBzdWJzY3JpYmVyIHdvdWxkIHJlY2lldmUgYHN0YXJ0YCBhbmQgdGhlbiBgZW5kYC5cbiAqL1xuZXhwb3J0IGNsYXNzIE9yZGVyZWRTdWJqZWN0PFQ+IGV4dGVuZHMgU3ViamVjdDxUPiB7XG4gIHByaXZhdGUgX2l0ZW1RdWV1ZTogVFtdID0gW107XG4gIHByaXZhdGUgX2J1c3lQdXNoaW5nTmV4dCA9IGZhbHNlO1xuXG4gIG5leHQodmFsdWU/OiBUKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2J1c3lQdXNoaW5nTmV4dCkge1xuICAgICAgdGhpcy5faXRlbVF1ZXVlLnVuc2hpZnQodmFsdWUhKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fYnVzeVB1c2hpbmdOZXh0ID0gdHJ1ZTtcbiAgICBzdXBlci5uZXh0KHZhbHVlKTtcbiAgICB3aGlsZSAodGhpcy5faXRlbVF1ZXVlLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IG5leHRWYWx1ZSA9IHRoaXMuX2l0ZW1RdWV1ZS5wb3AoKTtcbiAgICAgIHN1cGVyLm5leHQobmV4dFZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy5fYnVzeVB1c2hpbmdOZXh0ID0gZmFsc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBJbnRlcm5hbCBBY3Rpb24gc3RyZWFtIHRoYXQgaXMgZW1pdHRlZCBhbnl0aW1lIGFuIGFjdGlvbiBpcyBkaXNwYXRjaGVkLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSW50ZXJuYWxBY3Rpb25zIGV4dGVuZHMgT3JkZXJlZFN1YmplY3Q8QWN0aW9uQ29udGV4dD4ge31cblxuLyoqXG4gKiBBY3Rpb24gc3RyZWFtIHRoYXQgaXMgZW1pdHRlZCBhbnl0aW1lIGFuIGFjdGlvbiBpcyBkaXNwYXRjaGVkLlxuICpcbiAqIFlvdSBjYW4gbGlzdGVuIHRvIHRoaXMgaW4gc2VydmljZXMgdG8gcmVhY3Qgd2l0aG91dCBzdG9yZXMuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBY3Rpb25zIGV4dGVuZHMgT2JzZXJ2YWJsZTxBY3Rpb25Db250ZXh0PiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGludGVybmFsQWN0aW9ucyQ6IEludGVybmFsQWN0aW9ucyxcbiAgICBpbnRlcm5hbEV4ZWN1dGlvblN0cmF0ZWd5OiBJbnRlcm5hbE5neHNFeGVjdXRpb25TdHJhdGVneVxuICApIHtcbiAgICBzdXBlcihvYnNlcnZlciA9PiB7XG4gICAgICBjb25zdCBjaGlsZFN1YnNjcmlwdGlvbiA9IGludGVybmFsQWN0aW9ucyRcbiAgICAgICAgLnBpcGUobGVhdmVOZ3hzKGludGVybmFsRXhlY3V0aW9uU3RyYXRlZ3kpKVxuICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiBjdHggPT4gb2JzZXJ2ZXIubmV4dChjdHgpLFxuICAgICAgICAgIGVycm9yOiBlcnJvciA9PiBvYnNlcnZlci5lcnJvcihlcnJvciksXG4gICAgICAgICAgY29tcGxldGU6ICgpID0+IG9ic2VydmVyLmNvbXBsZXRlKClcbiAgICAgICAgfSk7XG5cbiAgICAgIG9ic2VydmVyLmFkZChjaGlsZFN1YnNjcmlwdGlvbik7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Injectable } from '@angular/core';
6
+ import { Subject, Observable } from 'rxjs';
7
+ import { leaveNgxs } from './operators/leave-ngxs';
8
+ import { InternalNgxsExecutionStrategy } from './execution/internal-ngxs-execution-strategy';
9
+ /** @enum {string} */
10
+ const ActionStatus = {
11
+ Dispatched: 'DISPATCHED',
12
+ Successful: 'SUCCESSFUL',
13
+ Canceled: 'CANCELED',
14
+ Errored: 'ERRORED',
15
+ };
16
+ export { ActionStatus };
17
+ /**
18
+ * @record
19
+ * @template T
20
+ */
21
+ export function ActionContext() { }
22
+ if (false) {
23
+ /** @type {?} */
24
+ ActionContext.prototype.status;
25
+ /** @type {?} */
26
+ ActionContext.prototype.action;
27
+ /** @type {?|undefined} */
28
+ ActionContext.prototype.error;
29
+ }
30
+ /**
31
+ * Custom Subject that ensures that subscribers are notified of values in the order that they arrived.
32
+ * A standard Subject does not have this guarantee.
33
+ * For example, given the following code:
34
+ * ```typescript
35
+ * const subject = new Subject<string>();
36
+ * subject.subscribe(value => {
37
+ * if (value === 'start') subject.next('end');
38
+ * });
39
+ * subject.subscribe(value => { });
40
+ * subject.next('start');
41
+ * ```
42
+ * When `subject` is a standard `Subject<T>` the second subscriber would recieve `end` and then `start`.
43
+ * When `subject` is a `OrderedSubject<T>` the second subscriber would recieve `start` and then `end`.
44
+ * @template T
45
+ */
46
+ export class OrderedSubject extends Subject {
47
+ constructor() {
48
+ super(...arguments);
49
+ this._itemQueue = [];
50
+ this._busyPushingNext = false;
51
+ }
52
+ /**
53
+ * @param {?=} value
54
+ * @return {?}
55
+ */
56
+ next(value) {
57
+ if (this._busyPushingNext) {
58
+ this._itemQueue.unshift((/** @type {?} */ (value)));
59
+ return;
60
+ }
61
+ this._busyPushingNext = true;
62
+ super.next(value);
63
+ while (this._itemQueue.length > 0) {
64
+ /** @type {?} */
65
+ const nextValue = this._itemQueue.pop();
66
+ super.next(nextValue);
67
+ }
68
+ this._busyPushingNext = false;
69
+ }
70
+ }
71
+ if (false) {
72
+ /**
73
+ * @type {?}
74
+ * @private
75
+ */
76
+ OrderedSubject.prototype._itemQueue;
77
+ /**
78
+ * @type {?}
79
+ * @private
80
+ */
81
+ OrderedSubject.prototype._busyPushingNext;
82
+ }
83
+ /**
84
+ * Internal Action stream that is emitted anytime an action is dispatched.
85
+ */
86
+ export class InternalActions extends OrderedSubject {
87
+ }
88
+ InternalActions.decorators = [
89
+ { type: Injectable }
90
+ ];
91
+ /**
92
+ * Action stream that is emitted anytime an action is dispatched.
93
+ *
94
+ * You can listen to this in services to react without stores.
95
+ */
96
+ export class Actions extends Observable {
97
+ // This has to be `Observable<ActionContext>` in the v4. Because `InternalActions`
98
+ // is a `Subject<ActionContext>`. Leave it as `any` to avoid breaking changes
99
+ /**
100
+ * @param {?} internalActions$
101
+ * @param {?} internalExecutionStrategy
102
+ */
103
+ constructor(internalActions$, internalExecutionStrategy) {
104
+ super((/**
105
+ * @param {?} observer
106
+ * @return {?}
107
+ */
108
+ observer => {
109
+ /** @type {?} */
110
+ const childSubscription = internalActions$
111
+ .pipe(leaveNgxs(internalExecutionStrategy))
112
+ .subscribe({
113
+ next: (/**
114
+ * @param {?} ctx
115
+ * @return {?}
116
+ */
117
+ ctx => observer.next(ctx)),
118
+ error: (/**
119
+ * @param {?} error
120
+ * @return {?}
121
+ */
122
+ error => observer.error(error)),
123
+ complete: (/**
124
+ * @return {?}
125
+ */
126
+ () => observer.complete())
127
+ });
128
+ observer.add(childSubscription);
129
+ }));
130
+ }
131
+ }
132
+ Actions.decorators = [
133
+ { type: Injectable }
134
+ ];
135
+ /** @nocollapse */
136
+ Actions.ctorParameters = () => [
137
+ { type: InternalActions },
138
+ { type: InternalNgxsExecutionStrategy }
139
+ ];
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy1zdHJlYW0uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS8iLCJzb3VyY2VzIjpbInNyYy9hY3Rpb25zLXN0cmVhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sOENBQThDLENBQUM7OztJQU0zRixZQUFhLFlBQVk7SUFDekIsWUFBYSxZQUFZO0lBQ3pCLFVBQVcsVUFBVTtJQUNyQixTQUFVLFNBQVM7Ozs7Ozs7QUFHckIsbUNBSUM7OztJQUhDLCtCQUFxQjs7SUFDckIsK0JBQVU7O0lBQ1YsOEJBQWM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtCaEIsTUFBTSxPQUFPLGNBQWtCLFNBQVEsT0FBVTtJQUFqRDs7UUFDVSxlQUFVLEdBQVEsRUFBRSxDQUFDO1FBQ3JCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztJQWVuQyxDQUFDOzs7OztJQWJDLElBQUksQ0FBQyxLQUFTO1FBQ1osSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsbUJBQUEsS0FBSyxFQUFDLENBQUMsQ0FBQztZQUNoQyxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7O2tCQUMzQixTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDdkMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN2QjtRQUNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztDQUNGOzs7Ozs7SUFoQkMsb0NBQTZCOzs7OztJQUM3QiwwQ0FBaUM7Ozs7O0FBcUJuQyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxjQUE2Qjs7O1lBRGpFLFVBQVU7Ozs7Ozs7QUFTWCxNQUFNLE9BQU8sT0FBUSxTQUFRLFVBQWU7Ozs7Ozs7SUFHMUMsWUFDRSxnQkFBaUMsRUFDakMseUJBQXdEO1FBRXhELEtBQUs7Ozs7UUFBQyxRQUFRLENBQUMsRUFBRTs7a0JBQ1QsaUJBQWlCLEdBQUcsZ0JBQWdCO2lCQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLHlCQUF5QixDQUFDLENBQUM7aUJBQzFDLFNBQVMsQ0FBQztnQkFDVCxJQUFJOzs7O2dCQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFDL0IsS0FBSzs7OztnQkFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7Z0JBQ3JDLFFBQVE7OztnQkFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUE7YUFDcEMsQ0FBQztZQUVKLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNsQyxDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7OztZQW5CRixVQUFVOzs7O1lBS1csZUFBZTtZQXBFNUIsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBsZWF2ZU5neHMgfSBmcm9tICcuL29wZXJhdG9ycy9sZWF2ZS1uZ3hzJztcclxuaW1wb3J0IHsgSW50ZXJuYWxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2V4ZWN1dGlvbi9pbnRlcm5hbC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneSc7XHJcblxyXG4vKipcclxuICogU3RhdHVzIG9mIGEgZGlzcGF0Y2hlZCBhY3Rpb25cclxuICovXHJcbmV4cG9ydCBjb25zdCBlbnVtIEFjdGlvblN0YXR1cyB7XHJcbiAgRGlzcGF0Y2hlZCA9ICdESVNQQVRDSEVEJyxcclxuICBTdWNjZXNzZnVsID0gJ1NVQ0NFU1NGVUwnLFxyXG4gIENhbmNlbGVkID0gJ0NBTkNFTEVEJyxcclxuICBFcnJvcmVkID0gJ0VSUk9SRUQnXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uQ29udGV4dDxUID0gYW55PiB7XHJcbiAgc3RhdHVzOiBBY3Rpb25TdGF0dXM7XHJcbiAgYWN0aW9uOiBUO1xyXG4gIGVycm9yPzogRXJyb3I7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDdXN0b20gU3ViamVjdCB0aGF0IGVuc3VyZXMgdGhhdCBzdWJzY3JpYmVycyBhcmUgbm90aWZpZWQgb2YgdmFsdWVzIGluIHRoZSBvcmRlciB0aGF0IHRoZXkgYXJyaXZlZC5cclxuICogQSBzdGFuZGFyZCBTdWJqZWN0IGRvZXMgbm90IGhhdmUgdGhpcyBndWFyYW50ZWUuXHJcbiAqIEZvciBleGFtcGxlLCBnaXZlbiB0aGUgZm9sbG93aW5nIGNvZGU6XHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogICBjb25zdCBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gICAgIHN1YmplY3Quc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgIGlmICh2YWx1ZSA9PT0gJ3N0YXJ0Jykgc3ViamVjdC5uZXh0KCdlbmQnKTtcclxuICAgICB9KTtcclxuICAgICBzdWJqZWN0LnN1YnNjcmliZSh2YWx1ZSA9PiB7IH0pO1xyXG4gICAgIHN1YmplY3QubmV4dCgnc3RhcnQnKTtcclxuICogYGBgXHJcbiAqIFdoZW4gYHN1YmplY3RgIGlzIGEgc3RhbmRhcmQgYFN1YmplY3Q8VD5gIHRoZSBzZWNvbmQgc3Vic2NyaWJlciB3b3VsZCByZWNpZXZlIGBlbmRgIGFuZCB0aGVuIGBzdGFydGAuXHJcbiAqIFdoZW4gYHN1YmplY3RgIGlzIGEgYE9yZGVyZWRTdWJqZWN0PFQ+YCB0aGUgc2Vjb25kIHN1YnNjcmliZXIgd291bGQgcmVjaWV2ZSBgc3RhcnRgIGFuZCB0aGVuIGBlbmRgLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIE9yZGVyZWRTdWJqZWN0PFQ+IGV4dGVuZHMgU3ViamVjdDxUPiB7XHJcbiAgcHJpdmF0ZSBfaXRlbVF1ZXVlOiBUW10gPSBbXTtcclxuICBwcml2YXRlIF9idXN5UHVzaGluZ05leHQgPSBmYWxzZTtcclxuXHJcbiAgbmV4dCh2YWx1ZT86IFQpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9idXN5UHVzaGluZ05leHQpIHtcclxuICAgICAgdGhpcy5faXRlbVF1ZXVlLnVuc2hpZnQodmFsdWUhKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fYnVzeVB1c2hpbmdOZXh0ID0gdHJ1ZTtcclxuICAgIHN1cGVyLm5leHQodmFsdWUpO1xyXG4gICAgd2hpbGUgKHRoaXMuX2l0ZW1RdWV1ZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IG5leHRWYWx1ZSA9IHRoaXMuX2l0ZW1RdWV1ZS5wb3AoKTtcclxuICAgICAgc3VwZXIubmV4dChuZXh0VmFsdWUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fYnVzeVB1c2hpbmdOZXh0ID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogSW50ZXJuYWwgQWN0aW9uIHN0cmVhbSB0aGF0IGlzIGVtaXR0ZWQgYW55dGltZSBhbiBhY3Rpb24gaXMgZGlzcGF0Y2hlZC5cclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEludGVybmFsQWN0aW9ucyBleHRlbmRzIE9yZGVyZWRTdWJqZWN0PEFjdGlvbkNvbnRleHQ+IHt9XHJcblxyXG4vKipcclxuICogQWN0aW9uIHN0cmVhbSB0aGF0IGlzIGVtaXR0ZWQgYW55dGltZSBhbiBhY3Rpb24gaXMgZGlzcGF0Y2hlZC5cclxuICpcclxuICogWW91IGNhbiBsaXN0ZW4gdG8gdGhpcyBpbiBzZXJ2aWNlcyB0byByZWFjdCB3aXRob3V0IHN0b3Jlcy5cclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFjdGlvbnMgZXh0ZW5kcyBPYnNlcnZhYmxlPGFueT4ge1xyXG4gIC8vIFRoaXMgaGFzIHRvIGJlIGBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHQ+YCBpbiB0aGUgdjQuIEJlY2F1c2UgYEludGVybmFsQWN0aW9uc2BcclxuICAvLyBpcyBhIGBTdWJqZWN0PEFjdGlvbkNvbnRleHQ+YC4gTGVhdmUgaXQgYXMgYGFueWAgdG8gYXZvaWQgYnJlYWtpbmcgY2hhbmdlc1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgaW50ZXJuYWxBY3Rpb25zJDogSW50ZXJuYWxBY3Rpb25zLFxyXG4gICAgaW50ZXJuYWxFeGVjdXRpb25TdHJhdGVneTogSW50ZXJuYWxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3lcclxuICApIHtcclxuICAgIHN1cGVyKG9ic2VydmVyID0+IHtcclxuICAgICAgY29uc3QgY2hpbGRTdWJzY3JpcHRpb24gPSBpbnRlcm5hbEFjdGlvbnMkXHJcbiAgICAgICAgLnBpcGUobGVhdmVOZ3hzKGludGVybmFsRXhlY3V0aW9uU3RyYXRlZ3kpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogY3R4ID0+IG9ic2VydmVyLm5leHQoY3R4KSxcclxuICAgICAgICAgIGVycm9yOiBlcnJvciA9PiBvYnNlcnZlci5lcnJvcihlcnJvciksXHJcbiAgICAgICAgICBjb21wbGV0ZTogKCkgPT4gb2JzZXJ2ZXIuY29tcGxldGUoKVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgb2JzZXJ2ZXIuYWRkKGNoaWxkU3Vic2NyaXB0aW9uKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,79 +1,87 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /**
6
- * @param {?} name
7
- * @return {?}
8
- */
9
- export function throwStateNameError(name) {
10
- throw new Error(`${name} is not a valid state name. It needs to be a valid object property name.`);
11
- }
12
- /**
13
- * @return {?}
14
- */
15
- export function throwStateNamePropertyError() {
16
- throw new Error(`States must register a 'name' property.`);
17
- }
18
- /**
19
- * @param {?} current
20
- * @param {?} newName
21
- * @param {?} oldName
22
- * @return {?}
23
- */
24
- export function throwStateUniqueError(current, newName, oldName) {
25
- throw new Error(`State name '${current}' from ${newName} already exists in ${oldName}.`);
26
- }
27
- /**
28
- * @param {?} name
29
- * @return {?}
30
- */
31
- export function throwStateDecoratorError(name) {
32
- throw new Error(`States must be decorated with @State() decorator, but "${name}" isn't.`);
33
- }
34
- /**
35
- * @return {?}
36
- */
37
- export function throwActionDecoratorError() {
38
- throw new Error('@Action() decorator cannot be used with static methods.');
39
- }
40
- /**
41
- * @return {?}
42
- */
43
- export function throwSelectorDecoratorError() {
44
- throw new Error('Selectors only work on methods.');
45
- }
46
- /**
47
- * @return {?}
48
- */
49
- export function getZoneWarningMessage() {
50
- return ('Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\n' +
51
- 'Please set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\n' +
52
- 'NgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })');
53
- }
54
- /**
55
- * @param {?} name
56
- * @return {?}
57
- */
58
- export function getUndecoratedStateInIvyWarningMessage(name) {
59
- return `'${name}' class should be decorated with @Injectable() right after the @State() decorator`;
60
- }
61
- /**
62
- * @return {?}
63
- */
64
- export function throwSelectFactoryNotConnectedError() {
65
- throw new Error('You have forgotten to import the NGXS module!');
66
- }
67
- /**
68
- * @return {?}
69
- */
70
- export function throwPatchingArrayError() {
71
- throw new Error('Patching arrays is not supported.');
72
- }
73
- /**
74
- * @return {?}
75
- */
76
- export function throwPatchingPrimitiveError() {
77
- throw new Error('Patching primitives is not supported.');
78
- }
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZXMuY29uZmlnLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvIiwic291cmNlcyI6WyJzcmMvY29uZmlncy9tZXNzYWdlcy5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxNQUFNLFVBQVUsbUJBQW1CLENBQUMsSUFBWTtJQUM5QyxNQUFNLElBQUksS0FBSyxDQUNiLEdBQUcsSUFBSSwwRUFBMEUsQ0FDbEYsQ0FBQztBQUNKLENBQUM7Ozs7QUFFRCxNQUFNLFVBQVUsMkJBQTJCO0lBQ3pDLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztBQUM3RCxDQUFDOzs7Ozs7O0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxPQUFlLEVBQ2YsT0FBZSxFQUNmLE9BQWU7SUFFZixNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsT0FBTyxVQUFVLE9BQU8sc0JBQXNCLE9BQU8sR0FBRyxDQUFDLENBQUM7QUFDM0YsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsSUFBWTtJQUNuRCxNQUFNLElBQUksS0FBSyxDQUFDLDBEQUEwRCxJQUFJLFVBQVUsQ0FBQyxDQUFDO0FBQzVGLENBQUM7Ozs7QUFFRCxNQUFNLFVBQVUseUJBQXlCO0lBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQUMseURBQXlELENBQUMsQ0FBQztBQUM3RSxDQUFDOzs7O0FBRUQsTUFBTSxVQUFVLDJCQUEyQjtJQUN6QyxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7QUFDckQsQ0FBQzs7OztBQUVELE1BQU0sVUFBVSxxQkFBcUI7SUFDbkMsT0FBTyxDQUNMLDZHQUE2RztRQUM3Ryx3RkFBd0Y7UUFDeEYsOEVBQThFLENBQy9FLENBQUM7QUFDSixDQUFDOzs7OztBQUVELE1BQU0sVUFBVSxzQ0FBc0MsQ0FBQyxJQUFZO0lBQ2pFLE9BQU8sSUFBSSxJQUFJLG1GQUFtRixDQUFDO0FBQ3JHLENBQUM7Ozs7QUFFRCxNQUFNLFVBQVUsbUNBQW1DO0lBQ2pELE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztBQUNuRSxDQUFDOzs7O0FBRUQsTUFBTSxVQUFVLHVCQUF1QjtJQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7QUFDdkQsQ0FBQzs7OztBQUVELE1BQU0sVUFBVSwyQkFBMkI7SUFDekMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO0FBQzNELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gdGhyb3dTdGF0ZU5hbWVFcnJvcihuYW1lOiBzdHJpbmcpOiBuZXZlciB7XG4gIHRocm93IG5ldyBFcnJvcihcbiAgICBgJHtuYW1lfSBpcyBub3QgYSB2YWxpZCBzdGF0ZSBuYW1lLiBJdCBuZWVkcyB0byBiZSBhIHZhbGlkIG9iamVjdCBwcm9wZXJ0eSBuYW1lLmBcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRocm93U3RhdGVOYW1lUHJvcGVydHlFcnJvcigpOiBuZXZlciB7XG4gIHRocm93IG5ldyBFcnJvcihgU3RhdGVzIG11c3QgcmVnaXN0ZXIgYSAnbmFtZScgcHJvcGVydHkuYCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0aHJvd1N0YXRlVW5pcXVlRXJyb3IoXG4gIGN1cnJlbnQ6IHN0cmluZyxcbiAgbmV3TmFtZTogc3RyaW5nLFxuICBvbGROYW1lOiBzdHJpbmdcbik6IG5ldmVyIHtcbiAgdGhyb3cgbmV3IEVycm9yKGBTdGF0ZSBuYW1lICcke2N1cnJlbnR9JyBmcm9tICR7bmV3TmFtZX0gYWxyZWFkeSBleGlzdHMgaW4gJHtvbGROYW1lfS5gKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRocm93U3RhdGVEZWNvcmF0b3JFcnJvcihuYW1lOiBzdHJpbmcpOiBuZXZlciB7XG4gIHRocm93IG5ldyBFcnJvcihgU3RhdGVzIG11c3QgYmUgZGVjb3JhdGVkIHdpdGggQFN0YXRlKCkgZGVjb3JhdG9yLCBidXQgXCIke25hbWV9XCIgaXNuJ3QuYCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0aHJvd0FjdGlvbkRlY29yYXRvckVycm9yKCk6IG5ldmVyIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdAQWN0aW9uKCkgZGVjb3JhdG9yIGNhbm5vdCBiZSB1c2VkIHdpdGggc3RhdGljIG1ldGhvZHMuJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0aHJvd1NlbGVjdG9yRGVjb3JhdG9yRXJyb3IoKTogbmV2ZXIge1xuICB0aHJvdyBuZXcgRXJyb3IoJ1NlbGVjdG9ycyBvbmx5IHdvcmsgb24gbWV0aG9kcy4nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFpvbmVXYXJuaW5nTWVzc2FnZSgpOiBzdHJpbmcge1xuICByZXR1cm4gKFxuICAgICdZb3VyIGFwcGxpY2F0aW9uIHdhcyBib290c3RyYXBwZWQgd2l0aCBub29wZWQgem9uZSBhbmQgeW91ciBleGVjdXRpb24gc3RyYXRlZ3kgcmVxdWlyZXMgYW4gYWN0dWFsIE5nWm9uZSFcXG4nICtcbiAgICAnUGxlYXNlIHNldCB0aGUgdmFsdWUgb2YgdGhlIGV4ZWN1dGlvblN0cmF0ZWd5IHByb3BlcnR5IHRvIE5vb3BOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kuXFxuJyArXG4gICAgJ05neHNNb2R1bGUuZm9yUm9vdChzdGF0ZXMsIHsgZXhlY3V0aW9uU3RyYXRlZ3k6IE5vb3BOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSknXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRVbmRlY29yYXRlZFN0YXRlSW5JdnlXYXJuaW5nTWVzc2FnZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCcke25hbWV9JyBjbGFzcyBzaG91bGQgYmUgZGVjb3JhdGVkIHdpdGggQEluamVjdGFibGUoKSByaWdodCBhZnRlciB0aGUgQFN0YXRlKCkgZGVjb3JhdG9yYDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRocm93U2VsZWN0RmFjdG9yeU5vdENvbm5lY3RlZEVycm9yKCk6IG5ldmVyIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdZb3UgaGF2ZSBmb3Jnb3R0ZW4gdG8gaW1wb3J0IHRoZSBOR1hTIG1vZHVsZSEnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRocm93UGF0Y2hpbmdBcnJheUVycm9yKCk6IG5ldmVyIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdQYXRjaGluZyBhcnJheXMgaXMgbm90IHN1cHBvcnRlZC4nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRocm93UGF0Y2hpbmdQcmltaXRpdmVFcnJvcigpOiBuZXZlciB7XG4gIHRocm93IG5ldyBFcnJvcignUGF0Y2hpbmcgcHJpbWl0aXZlcyBpcyBub3Qgc3VwcG9ydGVkLicpO1xufVxuIl19
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ /** @enum {string} */
6
+ const VALIDATION_CODE = {
7
+ STATE_NAME: 'STATE_NAME',
8
+ STATE_UNIQUE: 'STATE_UNIQUE',
9
+ STATE_NAME_PROPERTY: 'STATE_NAME_PROPERTY',
10
+ STATE_DECORATOR: 'STATE_DECORATOR',
11
+ INCORRECT_PRODUCTION: 'INCORRECT_PRODUCTION',
12
+ INCORRECT_DEVELOPMENT: 'INCORRECT_DEVELOPMENT',
13
+ SELECT_FACTORY_NOT_CONNECTED: 'SELECT_FACTORY_NOT_CONNECTED',
14
+ ACTION_DECORATOR: 'ACTION_DECORATOR',
15
+ SELECTOR_DECORATOR: 'SELECTOR_DECORATOR',
16
+ ZONE_WARNING: 'ZONE_WARNING',
17
+ PATCHING_ARRAY: 'PATCHING_ARRAY',
18
+ PATCHING_PRIMITIVE: 'PATCHING_PRIMITIVE',
19
+ UNDECORATED_STATE_IN_IVY: 'UNDECORATED_STATE_IN_IVY',
20
+ };
21
+ export { VALIDATION_CODE };
22
+ /** @type {?} */
23
+ export const CONFIG_MESSAGES = {
24
+ [VALIDATION_CODE.STATE_NAME]: (/**
25
+ * @param {?} name
26
+ * @return {?}
27
+ */
28
+ (name) => `${name} is not a valid state name. It needs to be a valid object property name.`),
29
+ [VALIDATION_CODE.STATE_NAME_PROPERTY]: (/**
30
+ * @return {?}
31
+ */
32
+ () => `States must register a 'name' property`),
33
+ [VALIDATION_CODE.STATE_UNIQUE]: (/**
34
+ * @param {?} current
35
+ * @param {?} newName
36
+ * @param {?} oldName
37
+ * @return {?}
38
+ */
39
+ (current, newName, oldName) => `State name '${current}' from ${newName} already exists in ${oldName}`),
40
+ [VALIDATION_CODE.STATE_DECORATOR]: (/**
41
+ * @return {?}
42
+ */
43
+ () => 'States must be decorated with @State() decorator'),
44
+ [VALIDATION_CODE.INCORRECT_PRODUCTION]: (/**
45
+ * @return {?}
46
+ */
47
+ () => 'Angular is running in production mode but NGXS is still running in the development mode!\n' +
48
+ 'Please set developmentMode to false on the NgxsModule options when in production mode.\n' +
49
+ 'NgxsModule.forRoot(states, { developmentMode: !environment.production })'),
50
+ [VALIDATION_CODE.INCORRECT_DEVELOPMENT]: (/**
51
+ * @return {?}
52
+ */
53
+ () => 'RECOMMENDATION: Set developmentMode to true on the NgxsModule when Angular is running in development mode.\n' +
54
+ 'NgxsModule.forRoot(states, { developmentMode: !environment.production })'),
55
+ [VALIDATION_CODE.SELECT_FACTORY_NOT_CONNECTED]: (/**
56
+ * @return {?}
57
+ */
58
+ () => 'You have forgotten to import the NGXS module!'),
59
+ [VALIDATION_CODE.ACTION_DECORATOR]: (/**
60
+ * @return {?}
61
+ */
62
+ () => '@Action() decorator cannot be used with static methods'),
63
+ [VALIDATION_CODE.SELECTOR_DECORATOR]: (/**
64
+ * @return {?}
65
+ */
66
+ () => 'Selectors only work on methods'),
67
+ [VALIDATION_CODE.ZONE_WARNING]: (/**
68
+ * @return {?}
69
+ */
70
+ () => 'Your application was bootstrapped with nooped zone and your execution strategy requires an actual NgZone!\n' +
71
+ 'Please set the value of the executionStrategy property to NoopNgxsExecutionStrategy.\n' +
72
+ 'NgxsModule.forRoot(states, { executionStrategy: NoopNgxsExecutionStrategy })'),
73
+ [VALIDATION_CODE.PATCHING_ARRAY]: (/**
74
+ * @return {?}
75
+ */
76
+ () => 'Patching arrays is not supported.'),
77
+ [VALIDATION_CODE.PATCHING_PRIMITIVE]: (/**
78
+ * @return {?}
79
+ */
80
+ () => 'Patching primitives is not supported.'),
81
+ [VALIDATION_CODE.UNDECORATED_STATE_IN_IVY]: (/**
82
+ * @param {?} name
83
+ * @return {?}
84
+ */
85
+ (name) => `'${name}' class should be decorated with @Injectable() right after the @State() decorator`)
86
+ };
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZXMuY29uZmlnLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvIiwic291cmNlcyI6WyJzcmMvY29uZmlncy9tZXNzYWdlcy5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0lBQ0UsWUFBYSxZQUFZO0lBQ3pCLGNBQWUsY0FBYztJQUM3QixxQkFBc0IscUJBQXFCO0lBQzNDLGlCQUFrQixpQkFBaUI7SUFDbkMsc0JBQXVCLHNCQUFzQjtJQUM3Qyx1QkFBd0IsdUJBQXVCO0lBQy9DLDhCQUErQiw4QkFBOEI7SUFDN0Qsa0JBQW1CLGtCQUFrQjtJQUNyQyxvQkFBcUIsb0JBQW9CO0lBQ3pDLGNBQWUsY0FBYztJQUM3QixnQkFBaUIsZ0JBQWdCO0lBQ2pDLG9CQUFxQixvQkFBb0I7SUFDekMsMEJBQTJCLDBCQUEwQjs7OztBQUd2RCxNQUFNLE9BQU8sZUFBZSxHQUFHO0lBQzdCLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQzs7OztJQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDN0MsR0FBRyxJQUFJLDBFQUEwRSxDQUFBO0lBQ25GLENBQUMsZUFBZSxDQUFDLG1CQUFtQixDQUFDOzs7SUFBRSxHQUFHLEVBQUUsQ0FBQyx3Q0FBd0MsQ0FBQTtJQUNyRixDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUM7Ozs7OztJQUFFLENBQUMsT0FBZSxFQUFFLE9BQWUsRUFBRSxPQUFlLEVBQUUsRUFBRSxDQUNwRixlQUFlLE9BQU8sVUFBVSxPQUFPLHNCQUFzQixPQUFPLEVBQUUsQ0FBQTtJQUN4RSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUM7OztJQUFFLEdBQUcsRUFBRSxDQUFDLGtEQUFrRCxDQUFBO0lBQzNGLENBQUMsZUFBZSxDQUFDLG9CQUFvQixDQUFDOzs7SUFBRSxHQUFHLEVBQUUsQ0FDM0MsNEZBQTRGO1FBQzVGLDBGQUEwRjtRQUMxRiwwRUFBMEUsQ0FBQTtJQUM1RSxDQUFDLGVBQWUsQ0FBQyxxQkFBcUIsQ0FBQzs7O0lBQUUsR0FBRyxFQUFFLENBQzVDLDhHQUE4RztRQUM5RywwRUFBMEUsQ0FBQTtJQUM1RSxDQUFDLGVBQWUsQ0FBQyw0QkFBNEIsQ0FBQzs7O0lBQUUsR0FBRyxFQUFFLENBQ25ELCtDQUErQyxDQUFBO0lBQ2pELENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDOzs7SUFBRSxHQUFHLEVBQUUsQ0FDdkMsd0RBQXdELENBQUE7SUFDMUQsQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQUM7OztJQUFFLEdBQUcsRUFBRSxDQUFDLGdDQUFnQyxDQUFBO0lBQzVFLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQzs7O0lBQUUsR0FBRyxFQUFFLENBQ25DLDZHQUE2RztRQUM3Ryx3RkFBd0Y7UUFDeEYsOEVBQThFLENBQUE7SUFDaEYsQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDOzs7SUFBRSxHQUFHLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQTtJQUMzRSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQzs7O0lBQUUsR0FBRyxFQUFFLENBQUMsdUNBQXVDLENBQUE7SUFDbkYsQ0FBQyxlQUFlLENBQUMsd0JBQXdCLENBQUM7Ozs7SUFBRSxDQUFDLElBQVksRUFBRSxFQUFFLENBQzNELElBQUksSUFBSSxtRkFBbUYsQ0FBQTtDQUM5RiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFZBTElEQVRJT05fQ09ERSB7XHJcbiAgU1RBVEVfTkFNRSA9ICdTVEFURV9OQU1FJyxcclxuICBTVEFURV9VTklRVUUgPSAnU1RBVEVfVU5JUVVFJyxcclxuICBTVEFURV9OQU1FX1BST1BFUlRZID0gJ1NUQVRFX05BTUVfUFJPUEVSVFknLFxyXG4gIFNUQVRFX0RFQ09SQVRPUiA9ICdTVEFURV9ERUNPUkFUT1InLFxyXG4gIElOQ09SUkVDVF9QUk9EVUNUSU9OID0gJ0lOQ09SUkVDVF9QUk9EVUNUSU9OJyxcclxuICBJTkNPUlJFQ1RfREVWRUxPUE1FTlQgPSAnSU5DT1JSRUNUX0RFVkVMT1BNRU5UJyxcclxuICBTRUxFQ1RfRkFDVE9SWV9OT1RfQ09OTkVDVEVEID0gJ1NFTEVDVF9GQUNUT1JZX05PVF9DT05ORUNURUQnLFxyXG4gIEFDVElPTl9ERUNPUkFUT1IgPSAnQUNUSU9OX0RFQ09SQVRPUicsXHJcbiAgU0VMRUNUT1JfREVDT1JBVE9SID0gJ1NFTEVDVE9SX0RFQ09SQVRPUicsXHJcbiAgWk9ORV9XQVJOSU5HID0gJ1pPTkVfV0FSTklORycsXHJcbiAgUEFUQ0hJTkdfQVJSQVkgPSAnUEFUQ0hJTkdfQVJSQVknLFxyXG4gIFBBVENISU5HX1BSSU1JVElWRSA9ICdQQVRDSElOR19QUklNSVRJVkUnLFxyXG4gIFVOREVDT1JBVEVEX1NUQVRFX0lOX0lWWSA9ICdVTkRFQ09SQVRFRF9TVEFURV9JTl9JVlknXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBDT05GSUdfTUVTU0FHRVMgPSB7XHJcbiAgW1ZBTElEQVRJT05fQ09ERS5TVEFURV9OQU1FXTogKG5hbWU6IHN0cmluZykgPT5cclxuICAgIGAke25hbWV9IGlzIG5vdCBhIHZhbGlkIHN0YXRlIG5hbWUuIEl0IG5lZWRzIHRvIGJlIGEgdmFsaWQgb2JqZWN0IHByb3BlcnR5IG5hbWUuYCxcclxuICBbVkFMSURBVElPTl9DT0RFLlNUQVRFX05BTUVfUFJPUEVSVFldOiAoKSA9PiBgU3RhdGVzIG11c3QgcmVnaXN0ZXIgYSAnbmFtZScgcHJvcGVydHlgLFxyXG4gIFtWQUxJREFUSU9OX0NPREUuU1RBVEVfVU5JUVVFXTogKGN1cnJlbnQ6IHN0cmluZywgbmV3TmFtZTogc3RyaW5nLCBvbGROYW1lOiBzdHJpbmcpID0+XHJcbiAgICBgU3RhdGUgbmFtZSAnJHtjdXJyZW50fScgZnJvbSAke25ld05hbWV9IGFscmVhZHkgZXhpc3RzIGluICR7b2xkTmFtZX1gLFxyXG4gIFtWQUxJREFUSU9OX0NPREUuU1RBVEVfREVDT1JBVE9SXTogKCkgPT4gJ1N0YXRlcyBtdXN0IGJlIGRlY29yYXRlZCB3aXRoIEBTdGF0ZSgpIGRlY29yYXRvcicsXHJcbiAgW1ZBTElEQVRJT05fQ09ERS5JTkNPUlJFQ1RfUFJPRFVDVElPTl06ICgpID0+XHJcbiAgICAnQW5ndWxhciBpcyBydW5uaW5nIGluIHByb2R1Y3Rpb24gbW9kZSBidXQgTkdYUyBpcyBzdGlsbCBydW5uaW5nIGluIHRoZSBkZXZlbG9wbWVudCBtb2RlIVxcbicgK1xyXG4gICAgJ1BsZWFzZSBzZXQgZGV2ZWxvcG1lbnRNb2RlIHRvIGZhbHNlIG9uIHRoZSBOZ3hzTW9kdWxlIG9wdGlvbnMgd2hlbiBpbiBwcm9kdWN0aW9uIG1vZGUuXFxuJyArXHJcbiAgICAnTmd4c01vZHVsZS5mb3JSb290KHN0YXRlcywgeyBkZXZlbG9wbWVudE1vZGU6ICFlbnZpcm9ubWVudC5wcm9kdWN0aW9uIH0pJyxcclxuICBbVkFMSURBVElPTl9DT0RFLklOQ09SUkVDVF9ERVZFTE9QTUVOVF06ICgpID0+XHJcbiAgICAnUkVDT01NRU5EQVRJT046IFNldCBkZXZlbG9wbWVudE1vZGUgdG8gdHJ1ZSBvbiB0aGUgTmd4c01vZHVsZSB3aGVuIEFuZ3VsYXIgaXMgcnVubmluZyBpbiBkZXZlbG9wbWVudCBtb2RlLlxcbicgK1xyXG4gICAgJ05neHNNb2R1bGUuZm9yUm9vdChzdGF0ZXMsIHsgZGV2ZWxvcG1lbnRNb2RlOiAhZW52aXJvbm1lbnQucHJvZHVjdGlvbiB9KScsXHJcbiAgW1ZBTElEQVRJT05fQ09ERS5TRUxFQ1RfRkFDVE9SWV9OT1RfQ09OTkVDVEVEXTogKCkgPT5cclxuICAgICdZb3UgaGF2ZSBmb3Jnb3R0ZW4gdG8gaW1wb3J0IHRoZSBOR1hTIG1vZHVsZSEnLFxyXG4gIFtWQUxJREFUSU9OX0NPREUuQUNUSU9OX0RFQ09SQVRPUl06ICgpID0+XHJcbiAgICAnQEFjdGlvbigpIGRlY29yYXRvciBjYW5ub3QgYmUgdXNlZCB3aXRoIHN0YXRpYyBtZXRob2RzJyxcclxuICBbVkFMSURBVElPTl9DT0RFLlNFTEVDVE9SX0RFQ09SQVRPUl06ICgpID0+ICdTZWxlY3RvcnMgb25seSB3b3JrIG9uIG1ldGhvZHMnLFxyXG4gIFtWQUxJREFUSU9OX0NPREUuWk9ORV9XQVJOSU5HXTogKCkgPT5cclxuICAgICdZb3VyIGFwcGxpY2F0aW9uIHdhcyBib290c3RyYXBwZWQgd2l0aCBub29wZWQgem9uZSBhbmQgeW91ciBleGVjdXRpb24gc3RyYXRlZ3kgcmVxdWlyZXMgYW4gYWN0dWFsIE5nWm9uZSFcXG4nICtcclxuICAgICdQbGVhc2Ugc2V0IHRoZSB2YWx1ZSBvZiB0aGUgZXhlY3V0aW9uU3RyYXRlZ3kgcHJvcGVydHkgdG8gTm9vcE5neHNFeGVjdXRpb25TdHJhdGVneS5cXG4nICtcclxuICAgICdOZ3hzTW9kdWxlLmZvclJvb3Qoc3RhdGVzLCB7IGV4ZWN1dGlvblN0cmF0ZWd5OiBOb29wTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IH0pJyxcclxuICBbVkFMSURBVElPTl9DT0RFLlBBVENISU5HX0FSUkFZXTogKCkgPT4gJ1BhdGNoaW5nIGFycmF5cyBpcyBub3Qgc3VwcG9ydGVkLicsXHJcbiAgW1ZBTElEQVRJT05fQ09ERS5QQVRDSElOR19QUklNSVRJVkVdOiAoKSA9PiAnUGF0Y2hpbmcgcHJpbWl0aXZlcyBpcyBub3Qgc3VwcG9ydGVkLicsXHJcbiAgW1ZBTElEQVRJT05fQ09ERS5VTkRFQ09SQVRFRF9TVEFURV9JTl9JVlldOiAobmFtZTogc3RyaW5nKSA9PlxyXG4gICAgYCcke25hbWV9JyBjbGFzcyBzaG91bGQgYmUgZGVjb3JhdGVkIHdpdGggQEluamVjdGFibGUoKSByaWdodCBhZnRlciB0aGUgQFN0YXRlKCkgZGVjb3JhdG9yYFxyXG59O1xyXG4iXX0=
@@ -1,48 +1,44 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { ensureStoreMetadata } from '../internal/internals';
6
- import { throwActionDecoratorError } from '../configs/messages.config';
7
- /**
8
- * Decorates a method with a action information.
9
- * @param {?} actions
10
- * @param {?=} options
11
- * @return {?}
12
- */
13
- export function Action(actions, options) {
14
- return (/**
15
- * @param {?} target
16
- * @param {?} name
17
- * @return {?}
18
- */
19
- (target, name) => {
20
- // Caretaker note: we have still left the `typeof` condition in order to avoid
21
- // creating a breaking change for projects that still use the View Engine.
22
- if (typeof ngDevMode === 'undefined' || ngDevMode) {
23
- /** @type {?} */
24
- const isStaticMethod = target.hasOwnProperty('prototype');
25
- if (isStaticMethod) {
26
- throwActionDecoratorError();
27
- }
28
- }
29
- /** @type {?} */
30
- const meta = ensureStoreMetadata(target.constructor);
31
- if (!Array.isArray(actions)) {
32
- actions = [actions];
33
- }
34
- for (const action of actions) {
35
- /** @type {?} */
36
- const type = action.type;
37
- if (!meta.actions[type]) {
38
- meta.actions[type] = [];
39
- }
40
- meta.actions[type].push({
41
- fn: name,
42
- options: options || {},
43
- type
44
- });
45
- }
46
- });
47
- }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvIiwic291cmNlcyI6WyJzcmMvZGVjb3JhdG9ycy9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTVELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7O0FBS3ZFLE1BQU0sVUFBVSxNQUFNLENBQ3BCLE9BQWtDLEVBQ2xDLE9BQXVCO0lBRXZCOzs7OztJQUFPLENBQUMsTUFBVyxFQUFFLElBQXFCLEVBQVEsRUFBRTtRQUNsRCw4RUFBOEU7UUFDOUUsMEVBQTBFO1FBQzFFLElBQUksT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsRUFBRTs7a0JBQzNDLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQztZQUV6RCxJQUFJLGNBQWMsRUFBRTtnQkFDbEIseUJBQXlCLEVBQUUsQ0FBQzthQUM3QjtTQUNGOztjQUVLLElBQUksR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBRXBELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzNCLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3JCO1FBRUQsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUU7O2tCQUN0QixJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUk7WUFFeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO2FBQ3pCO1lBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3RCLEVBQUUsRUFBRSxJQUFJO2dCQUNSLE9BQU8sRUFBRSxPQUFPLElBQUksRUFBRTtnQkFDdEIsSUFBSTthQUNMLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQyxFQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVuc3VyZVN0b3JlTWV0YWRhdGEgfSBmcm9tICcuLi9pbnRlcm5hbC9pbnRlcm5hbHMnO1xuaW1wb3J0IHsgQWN0aW9uVHlwZSwgQWN0aW9uT3B0aW9ucyB9IGZyb20gJy4uL2FjdGlvbnMvc3ltYm9scyc7XG5pbXBvcnQgeyB0aHJvd0FjdGlvbkRlY29yYXRvckVycm9yIH0gZnJvbSAnLi4vY29uZmlncy9tZXNzYWdlcy5jb25maWcnO1xuXG4vKipcbiAqIERlY29yYXRlcyBhIG1ldGhvZCB3aXRoIGEgYWN0aW9uIGluZm9ybWF0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQWN0aW9uKFxuICBhY3Rpb25zOiBBY3Rpb25UeXBlIHwgQWN0aW9uVHlwZVtdLFxuICBvcHRpb25zPzogQWN0aW9uT3B0aW9uc1xuKTogTWV0aG9kRGVjb3JhdG9yIHtcbiAgcmV0dXJuICh0YXJnZXQ6IGFueSwgbmFtZTogc3RyaW5nIHwgc3ltYm9sKTogdm9pZCA9PiB7XG4gICAgLy8gQ2FyZXRha2VyIG5vdGU6IHdlIGhhdmUgc3RpbGwgbGVmdCB0aGUgYHR5cGVvZmAgY29uZGl0aW9uIGluIG9yZGVyIHRvIGF2b2lkXG4gICAgLy8gY3JlYXRpbmcgYSBicmVha2luZyBjaGFuZ2UgZm9yIHByb2plY3RzIHRoYXQgc3RpbGwgdXNlIHRoZSBWaWV3IEVuZ2luZS5cbiAgICBpZiAodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSB7XG4gICAgICBjb25zdCBpc1N0YXRpY01ldGhvZCA9IHRhcmdldC5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJyk7XG5cbiAgICAgIGlmIChpc1N0YXRpY01ldGhvZCkge1xuICAgICAgICB0aHJvd0FjdGlvbkRlY29yYXRvckVycm9yKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgbWV0YSA9IGVuc3VyZVN0b3JlTWV0YWRhdGEodGFyZ2V0LmNvbnN0cnVjdG9yKTtcblxuICAgIGlmICghQXJyYXkuaXNBcnJheShhY3Rpb25zKSkge1xuICAgICAgYWN0aW9ucyA9IFthY3Rpb25zXTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGFjdGlvbiBvZiBhY3Rpb25zKSB7XG4gICAgICBjb25zdCB0eXBlID0gYWN0aW9uLnR5cGU7XG5cbiAgICAgIGlmICghbWV0YS5hY3Rpb25zW3R5cGVdKSB7XG4gICAgICAgIG1ldGEuYWN0aW9uc1t0eXBlXSA9IFtdO1xuICAgICAgfVxuXG4gICAgICBtZXRhLmFjdGlvbnNbdHlwZV0ucHVzaCh7XG4gICAgICAgIGZuOiBuYW1lLFxuICAgICAgICBvcHRpb25zOiBvcHRpb25zIHx8IHt9LFxuICAgICAgICB0eXBlXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG59XG4iXX0=
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { ensureStoreMetadata } from '../internal/internals';
6
+ import { CONFIG_MESSAGES, VALIDATION_CODE } from '../configs/messages.config';
7
+ /**
8
+ * Decorates a method with a action information.
9
+ * @param {?} actions
10
+ * @param {?=} options
11
+ * @return {?}
12
+ */
13
+ export function Action(actions, options) {
14
+ return (/**
15
+ * @param {?} target
16
+ * @param {?} name
17
+ * @return {?}
18
+ */
19
+ (target, name) => {
20
+ /** @type {?} */
21
+ const isStaticMethod = target.hasOwnProperty('prototype');
22
+ if (isStaticMethod) {
23
+ throw new Error(CONFIG_MESSAGES[VALIDATION_CODE.ACTION_DECORATOR]());
24
+ }
25
+ /** @type {?} */
26
+ const meta = ensureStoreMetadata(target.constructor);
27
+ if (!Array.isArray(actions)) {
28
+ actions = [actions];
29
+ }
30
+ for (const action of actions) {
31
+ /** @type {?} */
32
+ const type = action.type;
33
+ if (!meta.actions[type]) {
34
+ meta.actions[type] = [];
35
+ }
36
+ meta.actions[type].push({
37
+ fn: name,
38
+ options: options || {},
39
+ type
40
+ });
41
+ }
42
+ });
43
+ }
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvIiwic291cmNlcyI6WyJzcmMvZGVjb3JhdG9ycy9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTVELE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7QUFLOUUsTUFBTSxVQUFVLE1BQU0sQ0FDcEIsT0FBa0MsRUFDbEMsT0FBdUI7SUFFdkI7Ozs7O0lBQU8sQ0FBQyxNQUFXLEVBQUUsSUFBcUIsRUFBUSxFQUFFOztjQUM1QyxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUM7UUFFekQsSUFBSSxjQUFjLEVBQUU7WUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3RFOztjQUVLLElBQUksR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBRXBELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzNCLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3JCO1FBRUQsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUU7O2tCQUN0QixJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUk7WUFFeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO2FBQ3pCO1lBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3RCLEVBQUUsRUFBRSxJQUFJO2dCQUNSLE9BQU8sRUFBRSxPQUFPLElBQUksRUFBRTtnQkFDdEIsSUFBSTthQUNMLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQyxFQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVuc3VyZVN0b3JlTWV0YWRhdGEgfSBmcm9tICcuLi9pbnRlcm5hbC9pbnRlcm5hbHMnO1xyXG5pbXBvcnQgeyBBY3Rpb25UeXBlLCBBY3Rpb25PcHRpb25zIH0gZnJvbSAnLi4vYWN0aW9ucy9zeW1ib2xzJztcclxuaW1wb3J0IHsgQ09ORklHX01FU1NBR0VTLCBWQUxJREFUSU9OX0NPREUgfSBmcm9tICcuLi9jb25maWdzL21lc3NhZ2VzLmNvbmZpZyc7XHJcblxyXG4vKipcclxuICogRGVjb3JhdGVzIGEgbWV0aG9kIHdpdGggYSBhY3Rpb24gaW5mb3JtYXRpb24uXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gQWN0aW9uKFxyXG4gIGFjdGlvbnM6IEFjdGlvblR5cGUgfCBBY3Rpb25UeXBlW10sXHJcbiAgb3B0aW9ucz86IEFjdGlvbk9wdGlvbnNcclxuKTogTWV0aG9kRGVjb3JhdG9yIHtcclxuICByZXR1cm4gKHRhcmdldDogYW55LCBuYW1lOiBzdHJpbmcgfCBzeW1ib2wpOiB2b2lkID0+IHtcclxuICAgIGNvbnN0IGlzU3RhdGljTWV0aG9kID0gdGFyZ2V0Lmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKTtcclxuXHJcbiAgICBpZiAoaXNTdGF0aWNNZXRob2QpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKENPTkZJR19NRVNTQUdFU1tWQUxJREFUSU9OX0NPREUuQUNUSU9OX0RFQ09SQVRPUl0oKSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbWV0YSA9IGVuc3VyZVN0b3JlTWV0YWRhdGEodGFyZ2V0LmNvbnN0cnVjdG9yKTtcclxuXHJcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoYWN0aW9ucykpIHtcclxuICAgICAgYWN0aW9ucyA9IFthY3Rpb25zXTtcclxuICAgIH1cclxuXHJcbiAgICBmb3IgKGNvbnN0IGFjdGlvbiBvZiBhY3Rpb25zKSB7XHJcbiAgICAgIGNvbnN0IHR5cGUgPSBhY3Rpb24udHlwZTtcclxuXHJcbiAgICAgIGlmICghbWV0YS5hY3Rpb25zW3R5cGVdKSB7XHJcbiAgICAgICAgbWV0YS5hY3Rpb25zW3R5cGVdID0gW107XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIG1ldGEuYWN0aW9uc1t0eXBlXS5wdXNoKHtcclxuICAgICAgICBmbjogbmFtZSxcclxuICAgICAgICBvcHRpb25zOiBvcHRpb25zIHx8IHt9LFxyXG4gICAgICAgIHR5cGVcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfTtcclxufVxyXG4iXX0=