@ngxs/store 3.7.2 → 3.7.3-dev.master-8834f50

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 (268) hide show
  1. package/README.md +16 -16
  2. package/bundles/ngxs-store-internals-testing.umd.js +475 -0
  3. package/bundles/ngxs-store-internals-testing.umd.js.map +1 -0
  4. package/bundles/ngxs-store-internals-testing.umd.min.js +16 -0
  5. package/bundles/ngxs-store-internals-testing.umd.min.js.map +1 -0
  6. package/bundles/ngxs-store-internals.umd.js +422 -211
  7. package/bundles/ngxs-store-internals.umd.js.map +1 -1
  8. package/bundles/ngxs-store-internals.umd.min.js +1 -1
  9. package/bundles/ngxs-store-internals.umd.min.js.map +1 -1
  10. package/bundles/ngxs-store-operators.umd.js +311 -310
  11. package/bundles/ngxs-store-operators.umd.js.map +1 -1
  12. package/bundles/ngxs-store-operators.umd.min.js +1 -1
  13. package/bundles/ngxs-store-operators.umd.min.js.map +1 -1
  14. package/bundles/ngxs-store.umd.js +4422 -4518
  15. package/bundles/ngxs-store.umd.js.map +1 -1
  16. package/bundles/ngxs-store.umd.min.js +1 -1
  17. package/bundles/ngxs-store.umd.min.js.map +1 -1
  18. package/esm2015/index.js +13 -13
  19. package/esm2015/internals/angular.js +46 -40
  20. package/esm2015/internals/decorator-injector-adapter.js +204 -0
  21. package/esm2015/internals/index.js +11 -10
  22. package/esm2015/internals/initial-state.js +34 -34
  23. package/esm2015/internals/internal-tokens.js +16 -16
  24. package/esm2015/internals/memoize.js +70 -70
  25. package/esm2015/internals/ngxs-bootstrapper.js +41 -41
  26. package/esm2015/internals/ngxs-store-internals.js +9 -9
  27. package/esm2015/internals/src/symbols.js +14 -14
  28. package/esm2015/internals/symbols.js +14 -14
  29. package/esm2015/internals/testing/fresh-platform.js +90 -0
  30. package/esm2015/internals/testing/helpers/ngxs-test.component.js +22 -0
  31. package/esm2015/internals/testing/helpers/ngxs-test.module.js +24 -0
  32. package/esm2015/internals/testing/index.js +7 -0
  33. package/esm2015/internals/testing/ngxs-store-internals-testing.js +9 -0
  34. package/esm2015/internals/testing/ngxs.setup.js +76 -0
  35. package/esm2015/internals/testing/symbol.js +29 -0
  36. package/esm2015/ngxs-store.js +24 -27
  37. package/esm2015/operators/append.js +31 -31
  38. package/esm2015/operators/compose.js +24 -24
  39. package/esm2015/operators/iif.js +56 -56
  40. package/esm2015/operators/index.js +18 -18
  41. package/esm2015/operators/insert-item.js +41 -41
  42. package/esm2015/operators/internals.js +5 -5
  43. package/esm2015/operators/ngxs-store-operators.js +8 -8
  44. package/esm2015/operators/patch.js +38 -39
  45. package/esm2015/operators/remove-item.js +34 -34
  46. package/esm2015/operators/update-item.js +54 -52
  47. package/esm2015/operators/utils.js +50 -50
  48. package/esm2015/src/actions/actions.js +39 -39
  49. package/esm2015/src/actions/symbols.js +39 -39
  50. package/esm2015/src/actions-stream.js +138 -140
  51. package/esm2015/src/configs/messages.config.js +79 -87
  52. package/esm2015/src/decorators/action.js +48 -44
  53. package/esm2015/src/decorators/select/select-factory.js +49 -46
  54. package/esm2015/src/decorators/select/select.js +80 -45
  55. package/esm2015/src/decorators/select/symbols.js +94 -50
  56. package/esm2015/src/decorators/selector/selector.js +59 -55
  57. package/esm2015/src/decorators/selector/symbols.js +5 -5
  58. package/esm2015/src/decorators/selector-options.js +34 -34
  59. package/esm2015/src/decorators/state.js +83 -75
  60. package/esm2015/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +101 -96
  61. package/esm2015/src/execution/internal-ngxs-execution-strategy.js +45 -45
  62. package/esm2015/src/execution/noop-ngxs-execution-strategy.js +27 -27
  63. package/esm2015/src/execution/symbols.js +29 -29
  64. package/esm2015/src/internal/dispatcher.js +217 -217
  65. package/esm2015/src/internal/internals.js +493 -489
  66. package/esm2015/src/internal/lifecycle-state-manager.js +129 -129
  67. package/esm2015/src/internal/state-context-factory.js +138 -138
  68. package/esm2015/src/internal/state-factory.js +449 -429
  69. package/esm2015/src/internal/state-operations.js +120 -125
  70. package/esm2015/src/internal/state-operators.js +33 -33
  71. package/esm2015/src/internal/state-stream.js +21 -21
  72. package/esm2015/src/ivy/ivy-enabled-in-dev-mode.js +28 -40
  73. package/esm2015/src/module.js +158 -172
  74. package/esm2015/src/modules/ngxs-feature.module.js +63 -63
  75. package/esm2015/src/modules/ngxs-root.module.js +52 -52
  76. package/esm2015/src/operators/leave-ngxs.js +58 -58
  77. package/esm2015/src/operators/of-action.js +191 -191
  78. package/esm2015/src/plugin-manager.js +70 -70
  79. package/esm2015/src/plugin_api.js +10 -10
  80. package/esm2015/src/public_api.js +29 -29
  81. package/esm2015/src/public_to_deprecate.js +64 -64
  82. package/esm2015/src/state-token/state-token.js +45 -45
  83. package/esm2015/src/state-token/symbols.js +5 -5
  84. package/esm2015/src/store.js +174 -174
  85. package/esm2015/src/symbols.js +217 -221
  86. package/esm2015/src/utils/compose.js +44 -44
  87. package/esm2015/src/utils/freeze.js +35 -35
  88. package/esm2015/src/utils/selector-utils.js +221 -221
  89. package/esm2015/src/utils/store-validators.js +60 -65
  90. package/esm2015/src/utils/utils.js +143 -143
  91. package/esm5/index.js +13 -13
  92. package/esm5/internals/angular.js +46 -40
  93. package/esm5/internals/decorator-injector-adapter.js +204 -0
  94. package/esm5/internals/index.js +11 -10
  95. package/esm5/internals/initial-state.js +45 -45
  96. package/esm5/internals/internal-tokens.js +16 -16
  97. package/esm5/internals/memoize.js +71 -71
  98. package/esm5/internals/ngxs-bootstrapper.js +56 -56
  99. package/esm5/internals/ngxs-store-internals.js +9 -9
  100. package/esm5/internals/src/symbols.js +14 -14
  101. package/esm5/internals/symbols.js +14 -14
  102. package/esm5/internals/testing/fresh-platform.js +101 -0
  103. package/esm5/internals/testing/helpers/ngxs-test.component.js +32 -0
  104. package/esm5/internals/testing/helpers/ngxs-test.module.js +32 -0
  105. package/esm5/internals/testing/index.js +7 -0
  106. package/esm5/internals/testing/ngxs-store-internals-testing.js +9 -0
  107. package/esm5/internals/testing/ngxs.setup.js +98 -0
  108. package/esm5/internals/testing/symbol.js +29 -0
  109. package/esm5/ngxs-store.js +24 -27
  110. package/esm5/operators/append.js +31 -31
  111. package/esm5/operators/compose.js +28 -28
  112. package/esm5/operators/iif.js +56 -56
  113. package/esm5/operators/index.js +18 -18
  114. package/esm5/operators/insert-item.js +41 -41
  115. package/esm5/operators/internals.js +5 -5
  116. package/esm5/operators/ngxs-store-operators.js +8 -8
  117. package/esm5/operators/patch.js +39 -40
  118. package/esm5/operators/remove-item.js +34 -34
  119. package/esm5/operators/update-item.js +54 -52
  120. package/esm5/operators/utils.js +50 -50
  121. package/esm5/src/actions/actions.js +62 -62
  122. package/esm5/src/actions/symbols.js +39 -39
  123. package/esm5/src/actions-stream.js +184 -186
  124. package/esm5/src/configs/messages.config.js +79 -104
  125. package/esm5/src/decorators/action.js +60 -56
  126. package/esm5/src/decorators/select/select-factory.js +50 -47
  127. package/esm5/src/decorators/select/select.js +86 -50
  128. package/esm5/src/decorators/select/symbols.js +95 -51
  129. package/esm5/src/decorators/selector/selector.js +59 -55
  130. package/esm5/src/decorators/selector/symbols.js +5 -5
  131. package/esm5/src/decorators/selector-options.js +34 -34
  132. package/esm5/src/decorators/state.js +84 -76
  133. package/esm5/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +121 -121
  134. package/esm5/src/execution/internal-ngxs-execution-strategy.js +54 -54
  135. package/esm5/src/execution/noop-ngxs-execution-strategy.js +41 -41
  136. package/esm5/src/execution/symbols.js +29 -29
  137. package/esm5/src/internal/dispatcher.js +253 -253
  138. package/esm5/src/internal/internals.js +495 -491
  139. package/esm5/src/internal/lifecycle-state-manager.js +177 -177
  140. package/esm5/src/internal/state-context-factory.js +146 -146
  141. package/esm5/src/internal/state-factory.js +575 -563
  142. package/esm5/src/internal/state-operations.js +130 -139
  143. package/esm5/src/internal/state-operators.js +34 -34
  144. package/esm5/src/internal/state-stream.js +25 -25
  145. package/esm5/src/ivy/ivy-enabled-in-dev-mode.js +28 -40
  146. package/esm5/src/module.js +201 -215
  147. package/esm5/src/modules/ngxs-feature.module.js +65 -65
  148. package/esm5/src/modules/ngxs-root.module.js +47 -47
  149. package/esm5/src/operators/leave-ngxs.js +58 -58
  150. package/esm5/src/operators/of-action.js +217 -217
  151. package/esm5/src/plugin-manager.js +82 -82
  152. package/esm5/src/plugin_api.js +10 -10
  153. package/esm5/src/public_api.js +29 -29
  154. package/esm5/src/public_to_deprecate.js +64 -64
  155. package/esm5/src/state-token/state-token.js +57 -57
  156. package/esm5/src/state-token/symbols.js +5 -5
  157. package/esm5/src/store.js +225 -225
  158. package/esm5/src/symbols.js +226 -230
  159. package/esm5/src/utils/compose.js +55 -55
  160. package/esm5/src/utils/freeze.js +35 -35
  161. package/esm5/src/utils/selector-utils.js +230 -230
  162. package/esm5/src/utils/store-validators.js +78 -86
  163. package/esm5/src/utils/utils.js +151 -151
  164. package/fesm2015/ngxs-store-internals-testing.js +216 -0
  165. package/fesm2015/ngxs-store-internals-testing.js.map +1 -0
  166. package/fesm2015/ngxs-store-internals.js +402 -194
  167. package/fesm2015/ngxs-store-internals.js.map +1 -1
  168. package/fesm2015/ngxs-store-operators.js +313 -312
  169. package/fesm2015/ngxs-store-operators.js.map +1 -1
  170. package/fesm2015/ngxs-store.js +3926 -3976
  171. package/fesm2015/ngxs-store.js.map +1 -1
  172. package/fesm5/ngxs-store-internals-testing.js +263 -0
  173. package/fesm5/ngxs-store-internals-testing.js.map +1 -0
  174. package/fesm5/ngxs-store-internals.js +427 -219
  175. package/fesm5/ngxs-store-internals.js.map +1 -1
  176. package/fesm5/ngxs-store-operators.js +317 -316
  177. package/fesm5/ngxs-store-operators.js.map +1 -1
  178. package/fesm5/ngxs-store.js +4419 -4510
  179. package/fesm5/ngxs-store.js.map +1 -1
  180. package/index.d.ts +8 -8
  181. package/internals/angular.d.ts +3 -3
  182. package/internals/decorator-injector-adapter.d.ts +15 -0
  183. package/internals/index.d.ts +7 -6
  184. package/internals/initial-state.d.ts +8 -8
  185. package/internals/internal-tokens.d.ts +9 -9
  186. package/internals/memoize.d.ts +9 -9
  187. package/internals/ngxs-bootstrapper.d.ts +13 -13
  188. package/internals/ngxs-store-internals.d.ts +4 -4
  189. package/internals/ngxs-store-internals.metadata.json +1 -1
  190. package/internals/src/symbols.d.ts +7 -7
  191. package/internals/symbols.d.ts +7 -7
  192. package/internals/testing/fresh-platform.d.ts +1 -0
  193. package/internals/testing/helpers/ngxs-test.component.d.ts +5 -0
  194. package/internals/testing/helpers/ngxs-test.module.d.ts +4 -0
  195. package/internals/testing/index.d.ts +3 -0
  196. package/internals/testing/ngxs-store-internals-testing.d.ts +4 -0
  197. package/internals/testing/ngxs-store-internals-testing.metadata.json +1 -0
  198. package/internals/testing/ngxs.setup.d.ts +7 -0
  199. package/internals/testing/package.json +13 -0
  200. package/internals/testing/symbol.d.ts +14 -0
  201. package/ngxs-store.d.ts +20 -23
  202. package/ngxs-store.metadata.json +1 -1
  203. package/operators/append.d.ts +6 -6
  204. package/operators/compose.d.ts +3 -2
  205. package/operators/iif.d.ts +11 -11
  206. package/operators/index.d.ts +13 -13
  207. package/operators/insert-item.d.ts +7 -7
  208. package/operators/internals.d.ts +2 -2
  209. package/operators/ngxs-store-operators.d.ts +4 -4
  210. package/operators/ngxs-store-operators.metadata.json +1 -1
  211. package/operators/patch.d.ts +6 -10
  212. package/operators/remove-item.d.ts +7 -7
  213. package/operators/update-item.d.ts +10 -10
  214. package/operators/utils.d.ts +10 -9
  215. package/package.json +3 -3
  216. package/src/actions/actions.d.ts +15 -15
  217. package/src/actions/symbols.d.ts +21 -21
  218. package/src/actions-stream.d.ts +49 -49
  219. package/src/configs/messages.config.d.ts +11 -30
  220. package/src/decorators/action.d.ts +5 -5
  221. package/src/decorators/select/select-factory.d.ts +13 -14
  222. package/src/decorators/select/select.d.ts +4 -4
  223. package/src/decorators/select/symbols.d.ts +14 -10
  224. package/src/decorators/selector/selector.d.ts +5 -5
  225. package/src/decorators/selector/symbols.d.ts +4 -4
  226. package/src/decorators/selector-options.d.ts +5 -5
  227. package/src/decorators/state.d.ts +6 -6
  228. package/src/execution/dispatch-outside-zone-ngxs-execution-strategy.d.ts +11 -12
  229. package/src/execution/internal-ngxs-execution-strategy.d.ts +7 -7
  230. package/src/execution/noop-ngxs-execution-strategy.d.ts +5 -5
  231. package/src/execution/symbols.d.ts +6 -6
  232. package/src/internal/dispatcher.d.ts +32 -32
  233. package/src/internal/internals.d.ts +166 -167
  234. package/src/internal/lifecycle-state-manager.d.ts +20 -20
  235. package/src/internal/state-context-factory.d.ts +15 -15
  236. package/src/internal/state-factory.d.ts +57 -58
  237. package/src/internal/state-operations.d.ts +19 -21
  238. package/src/internal/state-operators.d.ts +2 -2
  239. package/src/internal/state-stream.d.ts +9 -9
  240. package/src/ivy/ivy-enabled-in-dev-mode.d.ts +6 -14
  241. package/src/module.d.ts +23 -23
  242. package/src/modules/ngxs-feature.module.d.ts +13 -13
  243. package/src/modules/ngxs-root.module.d.ts +13 -13
  244. package/src/operators/leave-ngxs.d.ts +7 -7
  245. package/src/operators/of-action.d.ts +43 -43
  246. package/src/plugin-manager.d.ts +10 -10
  247. package/src/plugin_api.d.ts +5 -5
  248. package/src/public_api.d.ts +17 -17
  249. package/src/public_to_deprecate.d.ts +21 -21
  250. package/src/state-token/state-token.d.ts +7 -7
  251. package/src/state-token/symbols.d.ts +5 -5
  252. package/src/store.d.ts +53 -53
  253. package/src/symbols.d.ts +135 -137
  254. package/src/utils/compose.d.ts +23 -23
  255. package/src/utils/freeze.d.ts +5 -5
  256. package/src/utils/selector-utils.d.ts +23 -23
  257. package/src/utils/store-validators.d.ts +7 -8
  258. package/src/utils/utils.d.ts +46 -46
  259. package/types/index.d.ts +2 -2
  260. package/esm2015/src/host-environment/host-environment.js +0 -31
  261. package/esm2015/src/internal/config-validator.js +0 -67
  262. package/esm2015/src/ivy/ensure-state-class-is-injectable.js +0 -34
  263. package/esm5/src/host-environment/host-environment.js +0 -29
  264. package/esm5/src/internal/config-validator.js +0 -76
  265. package/esm5/src/ivy/ensure-state-class-is-injectable.js +0 -34
  266. package/src/host-environment/host-environment.d.ts +0 -6
  267. package/src/internal/config-validator.d.ts +0 -10
  268. package/src/ivy/ensure-state-class-is-injectable.d.ts +0 -6
@@ -1,140 +1,138 @@
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
+ /**
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,87 +1,79 @@
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
+ /**
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,44 +1,48 @@
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=
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=