@ngxs/store 3.6.2-dev.master-8e14fe1 → 3.7.0

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 (231) hide show
  1. package/README.md +16 -16
  2. package/bundles/ngxs-store-internals.umd.js +210 -210
  3. package/bundles/ngxs-store-internals.umd.js.map +1 -1
  4. package/bundles/ngxs-store-internals.umd.min.js.map +1 -1
  5. package/bundles/ngxs-store-operators.umd.js +326 -321
  6. package/bundles/ngxs-store-operators.umd.js.map +1 -1
  7. package/bundles/ngxs-store-operators.umd.min.js +10 -10
  8. package/bundles/ngxs-store-operators.umd.min.js.map +1 -1
  9. package/bundles/ngxs-store.umd.js +4401 -4386
  10. package/bundles/ngxs-store.umd.js.map +1 -1
  11. package/bundles/ngxs-store.umd.min.js +11 -11
  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 -40
  15. package/esm2015/internals/index.js +10 -10
  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 +8 -8
  21. package/esm2015/internals/src/symbols.js +14 -14
  22. package/esm2015/internals/symbols.js +14 -14
  23. package/esm2015/ngxs-store.js +25 -25
  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 -140
  38. package/esm2015/src/configs/messages.config.js +87 -87
  39. package/esm2015/src/decorators/action.js +44 -44
  40. package/esm2015/src/decorators/select/select-factory.js +39 -39
  41. package/esm2015/src/decorators/select/select.js +45 -46
  42. package/esm2015/src/decorators/select/symbols.js +50 -50
  43. package/esm2015/src/decorators/selector/selector.js +55 -55
  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 -75
  47. package/esm2015/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +96 -96
  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 -31
  52. package/esm2015/src/internal/config-validator.js +67 -67
  53. package/esm2015/src/internal/dispatcher.js +210 -202
  54. package/esm2015/src/internal/internals.js +489 -489
  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 +401 -392
  58. package/esm2015/src/internal/state-operations.js +125 -125
  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 -34
  62. package/esm2015/src/ivy/ivy-enabled-in-dev-mode.js +40 -50
  63. package/esm2015/src/module.js +171 -171
  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 -188
  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 -221
  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 -65
  80. package/esm2015/src/utils/utils.js +95 -93
  81. package/esm5/index.js +13 -13
  82. package/esm5/internals/angular.js +40 -40
  83. package/esm5/internals/index.js +10 -10
  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 +8 -8
  89. package/esm5/internals/src/symbols.js +14 -14
  90. package/esm5/internals/symbols.js +14 -14
  91. package/esm5/ngxs-store.js +25 -25
  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 -186
  106. package/esm5/src/configs/messages.config.js +104 -104
  107. package/esm5/src/decorators/action.js +56 -56
  108. package/esm5/src/decorators/select/select-factory.js +37 -37
  109. package/esm5/src/decorators/select/select.js +50 -51
  110. package/esm5/src/decorators/select/symbols.js +51 -51
  111. package/esm5/src/decorators/selector/selector.js +55 -55
  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 -76
  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 -29
  120. package/esm5/src/internal/config-validator.js +76 -76
  121. package/esm5/src/internal/dispatcher.js +246 -238
  122. package/esm5/src/internal/internals.js +491 -491
  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 +528 -519
  126. package/esm5/src/internal/state-operations.js +139 -139
  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 -34
  130. package/esm5/src/ivy/ivy-enabled-in-dev-mode.js +40 -50
  131. package/esm5/src/module.js +214 -214
  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 -214
  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 -230
  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 -86
  148. package/esm5/src/utils/utils.js +98 -96
  149. package/fesm2015/ngxs-store-internals.js +191 -191
  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 +3878 -3868
  154. package/fesm2015/ngxs-store.js.map +1 -1
  155. package/fesm5/ngxs-store-internals.js +216 -216
  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 +4397 -4387
  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 -6
  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/src/symbols.d.ts +7 -7
  170. package/internals/symbols.d.ts +7 -7
  171. package/ngxs-store.d.ts +22 -22
  172. package/ngxs-store.metadata.json +1 -1
  173. package/operators/append.d.ts +6 -6
  174. package/operators/compose.d.ts +2 -2
  175. package/operators/iif.d.ts +11 -11
  176. package/operators/index.d.ts +13 -13
  177. package/operators/insert-item.d.ts +7 -7
  178. package/operators/internals.d.ts +2 -2
  179. package/operators/ngxs-store-operators.d.ts +4 -4
  180. package/operators/patch.d.ts +10 -10
  181. package/operators/remove-item.d.ts +7 -7
  182. package/operators/update-item.d.ts +10 -10
  183. package/operators/utils.d.ts +9 -9
  184. package/package.json +4 -4
  185. package/src/actions/actions.d.ts +15 -15
  186. package/src/actions/symbols.d.ts +21 -21
  187. package/src/actions-stream.d.ts +49 -49
  188. package/src/configs/messages.config.d.ts +30 -30
  189. package/src/decorators/action.d.ts +5 -5
  190. package/src/decorators/select/select-factory.d.ts +12 -12
  191. package/src/decorators/select/select.d.ts +4 -5
  192. package/src/decorators/select/symbols.d.ts +10 -14
  193. package/src/decorators/selector/selector.d.ts +5 -5
  194. package/src/decorators/selector/symbols.d.ts +4 -4
  195. package/src/decorators/selector-options.d.ts +5 -5
  196. package/src/decorators/state.d.ts +6 -6
  197. package/src/execution/dispatch-outside-zone-ngxs-execution-strategy.d.ts +12 -12
  198. package/src/execution/internal-ngxs-execution-strategy.d.ts +7 -7
  199. package/src/execution/noop-ngxs-execution-strategy.d.ts +5 -5
  200. package/src/execution/symbols.d.ts +6 -6
  201. package/src/host-environment/host-environment.d.ts +6 -6
  202. package/src/internal/config-validator.d.ts +10 -10
  203. package/src/internal/dispatcher.d.ts +31 -31
  204. package/src/internal/internals.d.ts +167 -167
  205. package/src/internal/lifecycle-state-manager.d.ts +20 -20
  206. package/src/internal/state-context-factory.d.ts +15 -15
  207. package/src/internal/state-factory.d.ts +57 -57
  208. package/src/internal/state-operations.d.ts +21 -21
  209. package/src/internal/state-operators.d.ts +2 -2
  210. package/src/internal/state-stream.d.ts +9 -9
  211. package/src/ivy/ensure-state-class-is-injectable.d.ts +6 -6
  212. package/src/ivy/ivy-enabled-in-dev-mode.d.ts +14 -14
  213. package/src/module.d.ts +23 -23
  214. package/src/modules/ngxs-feature.module.d.ts +13 -13
  215. package/src/modules/ngxs-root.module.d.ts +13 -13
  216. package/src/operators/leave-ngxs.d.ts +7 -7
  217. package/src/operators/of-action.d.ts +43 -42
  218. package/src/plugin-manager.d.ts +10 -10
  219. package/src/plugin_api.d.ts +5 -5
  220. package/src/public_api.d.ts +17 -17
  221. package/src/public_to_deprecate.d.ts +21 -21
  222. package/src/state-token/state-token.d.ts +7 -7
  223. package/src/state-token/symbols.d.ts +5 -5
  224. package/src/store.d.ts +53 -53
  225. package/src/symbols.d.ts +137 -137
  226. package/src/utils/compose.d.ts +23 -23
  227. package/src/utils/freeze.d.ts +5 -5
  228. package/src/utils/selector-utils.d.ts +23 -23
  229. package/src/utils/store-validators.d.ts +8 -8
  230. package/src/utils/utils.d.ts +29 -29
  231. package/types/index.d.ts +2 -2
@@ -1,93 +1,95 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /**
6
- * Returns the type from an action instance/class.
7
- * @ignore
8
- * @param {?} action
9
- * @return {?}
10
- */
11
- export function getActionTypeFromInstance(action) {
12
- if (action.constructor && action.constructor.type) {
13
- return action.constructor.type;
14
- }
15
- return action.type;
16
- }
17
- /**
18
- * Matches a action
19
- * @ignore
20
- * @param {?} action1
21
- * @return {?}
22
- */
23
- export function actionMatcher(action1) {
24
- /** @type {?} */
25
- const type1 = getActionTypeFromInstance(action1);
26
- return (/**
27
- * @param {?} action2
28
- * @return {?}
29
- */
30
- function (action2) {
31
- return type1 === getActionTypeFromInstance(action2);
32
- });
33
- }
34
- /**
35
- * Set a deeply nested value. Example:
36
- *
37
- * setValue({ foo: { bar: { eat: false } } },
38
- * 'foo.bar.eat', true) //=> { foo: { bar: { eat: true } } }
39
- *
40
- * While it traverses it also creates new objects from top down.
41
- *
42
- * @ignore
43
- * @type {?}
44
- */
45
- export const setValue = (/**
46
- * @param {?} obj
47
- * @param {?} prop
48
- * @param {?} val
49
- * @return {?}
50
- */
51
- (obj, prop, val) => {
52
- obj = Object.assign({}, obj);
53
- /** @type {?} */
54
- const split = prop.split('.');
55
- /** @type {?} */
56
- const lastIndex = split.length - 1;
57
- split.reduce((/**
58
- * @param {?} acc
59
- * @param {?} part
60
- * @param {?} index
61
- * @return {?}
62
- */
63
- (acc, part, index) => {
64
- if (index === lastIndex) {
65
- acc[part] = val;
66
- }
67
- else {
68
- acc[part] = Array.isArray(acc[part]) ? acc[part].slice() : Object.assign({}, acc[part]);
69
- }
70
- return acc && acc[part];
71
- }), obj);
72
- return obj;
73
- });
74
- /**
75
- * Get a deeply nested value. Example:
76
- *
77
- * getValue({ foo: bar: [] }, 'foo.bar') //=> []
78
- *
79
- * @ignore
80
- * @type {?}
81
- */
82
- export const getValue = (/**
83
- * @param {?} obj
84
- * @param {?} prop
85
- * @return {?}
86
- */
87
- (obj, prop) => prop.split('.').reduce((/**
88
- * @param {?} acc
89
- * @param {?} part
90
- * @return {?}
91
- */
92
- (acc, part) => acc && acc[part]), obj));
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS8iLCJzb3VyY2VzIjpbInNyYy91dGlscy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBSUEsTUFBTSxVQUFVLHlCQUF5QixDQUFDLE1BQVc7SUFDbkQsSUFBSSxNQUFNLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ2pELE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7S0FDaEM7SUFFRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7QUFDckIsQ0FBQzs7Ozs7OztBQU1ELE1BQU0sVUFBVSxhQUFhLENBQUMsT0FBWTs7VUFDbEMsS0FBSyxHQUFHLHlCQUF5QixDQUFDLE9BQU8sQ0FBQztJQUVoRDs7OztJQUFPLFVBQVMsT0FBWTtRQUMxQixPQUFPLEtBQUssS0FBSyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDLEVBQUM7QUFDSixDQUFDOzs7Ozs7Ozs7Ozs7QUFZRCxNQUFNLE9BQU8sUUFBUTs7Ozs7O0FBQUcsQ0FBQyxHQUFRLEVBQUUsSUFBWSxFQUFFLEdBQVEsRUFBRSxFQUFFO0lBQzNELEdBQUcscUJBQVEsR0FBRyxDQUFFLENBQUM7O1VBRVgsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDOztVQUN2QixTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDO0lBRWxDLEtBQUssQ0FBQyxNQUFNOzs7Ozs7SUFBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDaEMsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ3ZCLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUM7U0FDakI7YUFBTTtZQUNMLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxtQkFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUUsQ0FBQztTQUM3RTtRQUVELE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDLEdBQUUsR0FBRyxDQUFDLENBQUM7SUFFUixPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsQ0FBQTs7Ozs7Ozs7O0FBU0QsTUFBTSxPQUFPLFFBQVE7Ozs7O0FBQUcsQ0FBQyxHQUFRLEVBQUUsSUFBWSxFQUFPLEVBQUUsQ0FDdEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNOzs7OztBQUFDLENBQUMsR0FBUSxFQUFFLElBQVksRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRSxHQUFHLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmV0dXJucyB0aGUgdHlwZSBmcm9tIGFuIGFjdGlvbiBpbnN0YW5jZS9jbGFzcy5cbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFjdGlvblR5cGVGcm9tSW5zdGFuY2UoYWN0aW9uOiBhbnkpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBpZiAoYWN0aW9uLmNvbnN0cnVjdG9yICYmIGFjdGlvbi5jb25zdHJ1Y3Rvci50eXBlKSB7XG4gICAgcmV0dXJuIGFjdGlvbi5jb25zdHJ1Y3Rvci50eXBlO1xuICB9XG5cbiAgcmV0dXJuIGFjdGlvbi50eXBlO1xufVxuXG4vKipcbiAqIE1hdGNoZXMgYSBhY3Rpb25cbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFjdGlvbk1hdGNoZXIoYWN0aW9uMTogYW55KSB7XG4gIGNvbnN0IHR5cGUxID0gZ2V0QWN0aW9uVHlwZUZyb21JbnN0YW5jZShhY3Rpb24xKTtcblxuICByZXR1cm4gZnVuY3Rpb24oYWN0aW9uMjogYW55KSB7XG4gICAgcmV0dXJuIHR5cGUxID09PSBnZXRBY3Rpb25UeXBlRnJvbUluc3RhbmNlKGFjdGlvbjIpO1xuICB9O1xufVxuXG4vKipcbiAqIFNldCBhIGRlZXBseSBuZXN0ZWQgdmFsdWUuIEV4YW1wbGU6XG4gKlxuICogICBzZXRWYWx1ZSh7IGZvbzogeyBiYXI6IHsgZWF0OiBmYWxzZSB9IH0gfSxcbiAqICAgICAgJ2Zvby5iYXIuZWF0JywgdHJ1ZSkgLy89PiB7IGZvbzogeyBiYXI6IHsgZWF0OiB0cnVlIH0gfSB9XG4gKlxuICogV2hpbGUgaXQgdHJhdmVyc2VzIGl0IGFsc28gY3JlYXRlcyBuZXcgb2JqZWN0cyBmcm9tIHRvcCBkb3duLlxuICpcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGNvbnN0IHNldFZhbHVlID0gKG9iajogYW55LCBwcm9wOiBzdHJpbmcsIHZhbDogYW55KSA9PiB7XG4gIG9iaiA9IHsgLi4ub2JqIH07XG5cbiAgY29uc3Qgc3BsaXQgPSBwcm9wLnNwbGl0KCcuJyk7XG4gIGNvbnN0IGxhc3RJbmRleCA9IHNwbGl0Lmxlbmd0aCAtIDE7XG5cbiAgc3BsaXQucmVkdWNlKChhY2MsIHBhcnQsIGluZGV4KSA9PiB7XG4gICAgaWYgKGluZGV4ID09PSBsYXN0SW5kZXgpIHtcbiAgICAgIGFjY1twYXJ0XSA9IHZhbDtcbiAgICB9IGVsc2Uge1xuICAgICAgYWNjW3BhcnRdID0gQXJyYXkuaXNBcnJheShhY2NbcGFydF0pID8gYWNjW3BhcnRdLnNsaWNlKCkgOiB7IC4uLmFjY1twYXJ0XSB9O1xuICAgIH1cblxuICAgIHJldHVybiBhY2MgJiYgYWNjW3BhcnRdO1xuICB9LCBvYmopO1xuXG4gIHJldHVybiBvYmo7XG59O1xuXG4vKipcbiAqIEdldCBhIGRlZXBseSBuZXN0ZWQgdmFsdWUuIEV4YW1wbGU6XG4gKlxuICogICAgZ2V0VmFsdWUoeyBmb286IGJhcjogW10gfSwgJ2Zvby5iYXInKSAvLz0+IFtdXG4gKlxuICogQGlnbm9yZVxuICovXG5leHBvcnQgY29uc3QgZ2V0VmFsdWUgPSAob2JqOiBhbnksIHByb3A6IHN0cmluZyk6IGFueSA9PlxuICBwcm9wLnNwbGl0KCcuJykucmVkdWNlKChhY2M6IGFueSwgcGFydDogc3RyaW5nKSA9PiBhY2MgJiYgYWNjW3BhcnRdLCBvYmopO1xuIl19
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ /**
6
+ * Returns the type from an action instance/class.
7
+ * @ignore
8
+ * @param {?} action
9
+ * @return {?}
10
+ */
11
+ export function getActionTypeFromInstance(action) {
12
+ if (action.constructor && action.constructor.type) {
13
+ return action.constructor.type;
14
+ }
15
+ else {
16
+ return action.type;
17
+ }
18
+ }
19
+ /**
20
+ * Matches a action
21
+ * @ignore
22
+ * @param {?} action1
23
+ * @return {?}
24
+ */
25
+ export function actionMatcher(action1) {
26
+ /** @type {?} */
27
+ const type1 = getActionTypeFromInstance(action1);
28
+ return (/**
29
+ * @param {?} action2
30
+ * @return {?}
31
+ */
32
+ function (action2) {
33
+ return type1 === getActionTypeFromInstance(action2);
34
+ });
35
+ }
36
+ /**
37
+ * Set a deeply nested value. Example:
38
+ *
39
+ * setValue({ foo: { bar: { eat: false } } },
40
+ * 'foo.bar.eat', true) //=> { foo: { bar: { eat: true } } }
41
+ *
42
+ * While it traverses it also creates new objects from top down.
43
+ *
44
+ * @ignore
45
+ * @type {?}
46
+ */
47
+ export const setValue = (/**
48
+ * @param {?} obj
49
+ * @param {?} prop
50
+ * @param {?} val
51
+ * @return {?}
52
+ */
53
+ (obj, prop, val) => {
54
+ obj = Object.assign({}, obj);
55
+ /** @type {?} */
56
+ const split = prop.split('.');
57
+ /** @type {?} */
58
+ const lastIndex = split.length - 1;
59
+ split.reduce((/**
60
+ * @param {?} acc
61
+ * @param {?} part
62
+ * @param {?} index
63
+ * @return {?}
64
+ */
65
+ (acc, part, index) => {
66
+ if (index === lastIndex) {
67
+ acc[part] = val;
68
+ }
69
+ else {
70
+ acc[part] = Array.isArray(acc[part]) ? acc[part].slice() : Object.assign({}, acc[part]);
71
+ }
72
+ return acc && acc[part];
73
+ }), obj);
74
+ return obj;
75
+ });
76
+ /**
77
+ * Get a deeply nested value. Example:
78
+ *
79
+ * getValue({ foo: bar: [] }, 'foo.bar') //=> []
80
+ *
81
+ * @ignore
82
+ * @type {?}
83
+ */
84
+ export const getValue = (/**
85
+ * @param {?} obj
86
+ * @param {?} prop
87
+ * @return {?}
88
+ */
89
+ (obj, prop) => prop.split('.').reduce((/**
90
+ * @param {?} acc
91
+ * @param {?} part
92
+ * @return {?}
93
+ */
94
+ (acc, part) => acc && acc[part]), obj));
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS8iLCJzb3VyY2VzIjpbInNyYy91dGlscy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBSUEsTUFBTSxVQUFVLHlCQUF5QixDQUFDLE1BQVc7SUFDbkQsSUFBSSxNQUFNLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ2pELE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7S0FDaEM7U0FBTTtRQUNMLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQztLQUNwQjtBQUNILENBQUM7Ozs7Ozs7QUFNRCxNQUFNLFVBQVUsYUFBYSxDQUFDLE9BQVk7O1VBQ2xDLEtBQUssR0FBRyx5QkFBeUIsQ0FBQyxPQUFPLENBQUM7SUFFaEQ7Ozs7SUFBTyxVQUFTLE9BQVk7UUFDMUIsT0FBTyxLQUFLLEtBQUsseUJBQXlCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEQsQ0FBQyxFQUFDO0FBQ0osQ0FBQzs7Ozs7Ozs7Ozs7O0FBWUQsTUFBTSxPQUFPLFFBQVE7Ozs7OztBQUFHLENBQUMsR0FBUSxFQUFFLElBQVksRUFBRSxHQUFRLEVBQUUsRUFBRTtJQUMzRCxHQUFHLHFCQUFRLEdBQUcsQ0FBRSxDQUFDOztVQUVYLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQzs7VUFDdkIsU0FBUyxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQztJQUVsQyxLQUFLLENBQUMsTUFBTTs7Ozs7O0lBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ2hDLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUN2QixHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDO1NBQ2pCO2FBQU07WUFDTCxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsbUJBQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFFLENBQUM7U0FDN0U7UUFFRCxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQyxHQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRVIsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLENBQUE7Ozs7Ozs7OztBQVNELE1BQU0sT0FBTyxRQUFROzs7OztBQUFHLENBQUMsR0FBUSxFQUFFLElBQVksRUFBTyxFQUFFLENBQ3RELElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTTs7Ozs7QUFBQyxDQUFDLEdBQVEsRUFBRSxJQUFZLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUUsR0FBRyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogUmV0dXJucyB0aGUgdHlwZSBmcm9tIGFuIGFjdGlvbiBpbnN0YW5jZS9jbGFzcy5cclxuICogQGlnbm9yZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEFjdGlvblR5cGVGcm9tSW5zdGFuY2UoYWN0aW9uOiBhbnkpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gIGlmIChhY3Rpb24uY29uc3RydWN0b3IgJiYgYWN0aW9uLmNvbnN0cnVjdG9yLnR5cGUpIHtcclxuICAgIHJldHVybiBhY3Rpb24uY29uc3RydWN0b3IudHlwZTtcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIGFjdGlvbi50eXBlO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIE1hdGNoZXMgYSBhY3Rpb25cclxuICogQGlnbm9yZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGFjdGlvbk1hdGNoZXIoYWN0aW9uMTogYW55KSB7XHJcbiAgY29uc3QgdHlwZTEgPSBnZXRBY3Rpb25UeXBlRnJvbUluc3RhbmNlKGFjdGlvbjEpO1xyXG5cclxuICByZXR1cm4gZnVuY3Rpb24oYWN0aW9uMjogYW55KSB7XHJcbiAgICByZXR1cm4gdHlwZTEgPT09IGdldEFjdGlvblR5cGVGcm9tSW5zdGFuY2UoYWN0aW9uMik7XHJcbiAgfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFNldCBhIGRlZXBseSBuZXN0ZWQgdmFsdWUuIEV4YW1wbGU6XHJcbiAqXHJcbiAqICAgc2V0VmFsdWUoeyBmb286IHsgYmFyOiB7IGVhdDogZmFsc2UgfSB9IH0sXHJcbiAqICAgICAgJ2Zvby5iYXIuZWF0JywgdHJ1ZSkgLy89PiB7IGZvbzogeyBiYXI6IHsgZWF0OiB0cnVlIH0gfSB9XHJcbiAqXHJcbiAqIFdoaWxlIGl0IHRyYXZlcnNlcyBpdCBhbHNvIGNyZWF0ZXMgbmV3IG9iamVjdHMgZnJvbSB0b3AgZG93bi5cclxuICpcclxuICogQGlnbm9yZVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHNldFZhbHVlID0gKG9iajogYW55LCBwcm9wOiBzdHJpbmcsIHZhbDogYW55KSA9PiB7XHJcbiAgb2JqID0geyAuLi5vYmogfTtcclxuXHJcbiAgY29uc3Qgc3BsaXQgPSBwcm9wLnNwbGl0KCcuJyk7XHJcbiAgY29uc3QgbGFzdEluZGV4ID0gc3BsaXQubGVuZ3RoIC0gMTtcclxuXHJcbiAgc3BsaXQucmVkdWNlKChhY2MsIHBhcnQsIGluZGV4KSA9PiB7XHJcbiAgICBpZiAoaW5kZXggPT09IGxhc3RJbmRleCkge1xyXG4gICAgICBhY2NbcGFydF0gPSB2YWw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBhY2NbcGFydF0gPSBBcnJheS5pc0FycmF5KGFjY1twYXJ0XSkgPyBhY2NbcGFydF0uc2xpY2UoKSA6IHsgLi4uYWNjW3BhcnRdIH07XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGFjYyAmJiBhY2NbcGFydF07XHJcbiAgfSwgb2JqKTtcclxuXHJcbiAgcmV0dXJuIG9iajtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBHZXQgYSBkZWVwbHkgbmVzdGVkIHZhbHVlLiBFeGFtcGxlOlxyXG4gKlxyXG4gKiAgICBnZXRWYWx1ZSh7IGZvbzogYmFyOiBbXSB9LCAnZm9vLmJhcicpIC8vPT4gW11cclxuICpcclxuICogQGlnbm9yZVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGdldFZhbHVlID0gKG9iajogYW55LCBwcm9wOiBzdHJpbmcpOiBhbnkgPT5cclxuICBwcm9wLnNwbGl0KCcuJykucmVkdWNlKChhY2M6IGFueSwgcGFydDogc3RyaW5nKSA9PiBhY2MgJiYgYWNjW3BhcnRdLCBvYmopO1xyXG4iXX0=
package/esm5/index.js CHANGED
@@ -1,13 +1,13 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /**
6
- * The public api for consumers of @ngxs/store
7
- */
8
- export { NgxsModule, Action, Store, State, Select, SelectorOptions, Actions, getSelectorMetadata, getStoreMetadata, ensureStoreMetadata, ensureSelectorMetadata, ofAction, ofActionDispatched, ofActionSuccessful, ofActionCanceled, ofActionErrored, ofActionCompleted, NgxsSimpleChange, Selector, getActionTypeFromInstance, actionMatcher, createSelector, NoopNgxsExecutionStrategy, StateToken } from './src/public_api';
9
- /**
10
- * The plugin api for the stuff that a plugins needs
11
- */
12
- export { NGXS_PLUGINS, StateStream, setValue, getValue, InitState, UpdateState } from './src/plugin_api';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQSw0WUFBYyxrQkFBa0IsQ0FBQzs7OztBQUtqQyxzRkFBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhlIHB1YmxpYyBhcGkgZm9yIGNvbnN1bWVycyBvZiBAbmd4cy9zdG9yZVxuICovXG5leHBvcnQgKiBmcm9tICcuL3NyYy9wdWJsaWNfYXBpJztcblxuLyoqXG4gKiBUaGUgcGx1Z2luIGFwaSBmb3IgdGhlIHN0dWZmIHRoYXQgYSBwbHVnaW5zIG5lZWRzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vc3JjL3BsdWdpbl9hcGknO1xuIl19
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ /**
6
+ * The public api for consumers of @ngxs/store
7
+ */
8
+ export { NgxsModule, Action, Store, State, Select, SelectorOptions, Actions, getSelectorMetadata, getStoreMetadata, ensureStoreMetadata, ensureSelectorMetadata, ofAction, ofActionDispatched, ofActionSuccessful, ofActionCanceled, ofActionErrored, ofActionCompleted, NgxsSimpleChange, Selector, getActionTypeFromInstance, actionMatcher, createSelector, NoopNgxsExecutionStrategy, StateToken } from './src/public_api';
9
+ /**
10
+ * The plugin api for the stuff that a plugins needs
11
+ */
12
+ export { NGXS_PLUGINS, StateStream, setValue, getValue, InitState, UpdateState } from './src/plugin_api';
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQSw0WUFBYyxrQkFBa0IsQ0FBQzs7OztBQUtqQyxzRkFBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBUaGUgcHVibGljIGFwaSBmb3IgY29uc3VtZXJzIG9mIEBuZ3hzL3N0b3JlXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9wdWJsaWNfYXBpJztcclxuXHJcbi8qKlxyXG4gKiBUaGUgcGx1Z2luIGFwaSBmb3IgdGhlIHN0dWZmIHRoYXQgYSBwbHVnaW5zIG5lZWRzXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9wbHVnaW5fYXBpJztcclxuIl19
@@ -1,40 +1,40 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { getPlatform, COMPILER_OPTIONS } from '@angular/core';
6
- import { memoize } from './memoize';
7
- /**
8
- * @return {?}
9
- */
10
- function _isAngularInTestMode() {
11
- /** @type {?} */
12
- var platformRef = getPlatform();
13
- if (!platformRef)
14
- return false;
15
- /** @type {?} */
16
- var compilerOptions = platformRef.injector.get(COMPILER_OPTIONS, null);
17
- if (!compilerOptions)
18
- return false;
19
- /** @type {?} */
20
- var isInTestMode = compilerOptions.some((/**
21
- * @param {?} item
22
- * @return {?}
23
- */
24
- function (item) {
25
- /** @type {?} */
26
- var providers = (item && item.providers) || [];
27
- return providers.some((/**
28
- * @param {?} provider
29
- * @return {?}
30
- */
31
- function (provider) {
32
- return ((provider && provider.provide && provider.provide.name === 'MockNgModuleResolver') ||
33
- false);
34
- }));
35
- }));
36
- return isInTestMode;
37
- }
38
- /** @type {?} */
39
- export var isAngularInTestMode = memoize(_isAngularInTestMode);
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlL2ludGVybmFscy8iLCJzb3VyY2VzIjpbImFuZ3VsYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQWdDLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7QUFFcEMsU0FBUyxvQkFBb0I7O1FBQ3JCLFdBQVcsR0FBdUIsV0FBVyxFQUFFO0lBQ3JELElBQUksQ0FBQyxXQUFXO1FBQUUsT0FBTyxLQUFLLENBQUM7O1FBQ3pCLGVBQWUsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBTSxnQkFBZ0IsRUFBRSxJQUFJLENBQUM7SUFDN0UsSUFBSSxDQUFDLGVBQWU7UUFBRSxPQUFPLEtBQUssQ0FBQzs7UUFDN0IsWUFBWSxHQUFHLGVBQWUsQ0FBQyxJQUFJOzs7O0lBQUMsVUFBQyxJQUFxQjs7WUFDeEQsU0FBUyxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFO1FBQ2hELE9BQU8sU0FBUyxDQUFDLElBQUk7Ozs7UUFBQyxVQUFDLFFBQWE7WUFDbEMsT0FBTyxDQUNMLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssc0JBQXNCLENBQUM7Z0JBQ2xGLEtBQUssQ0FDTixDQUFDO1FBQ0osQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDLEVBQUM7SUFDRixPQUFPLFlBQVksQ0FBQztBQUN0QixDQUFDOztBQUVELE1BQU0sS0FBTyxtQkFBbUIsR0FBRyxPQUFPLENBQUMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRQbGF0Zm9ybSwgQ09NUElMRVJfT1BUSU9OUywgQ29tcGlsZXJPcHRpb25zLCBQbGF0Zm9ybVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWVtb2l6ZSB9IGZyb20gJy4vbWVtb2l6ZSc7XG5cbmZ1bmN0aW9uIF9pc0FuZ3VsYXJJblRlc3RNb2RlKCkge1xuICBjb25zdCBwbGF0Zm9ybVJlZjogUGxhdGZvcm1SZWYgfCBudWxsID0gZ2V0UGxhdGZvcm0oKTtcbiAgaWYgKCFwbGF0Zm9ybVJlZikgcmV0dXJuIGZhbHNlO1xuICBjb25zdCBjb21waWxlck9wdGlvbnMgPSBwbGF0Zm9ybVJlZi5pbmplY3Rvci5nZXQ8YW55PihDT01QSUxFUl9PUFRJT05TLCBudWxsKTtcbiAgaWYgKCFjb21waWxlck9wdGlvbnMpIHJldHVybiBmYWxzZTtcbiAgY29uc3QgaXNJblRlc3RNb2RlID0gY29tcGlsZXJPcHRpb25zLnNvbWUoKGl0ZW06IENvbXBpbGVyT3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IHByb3ZpZGVycyA9IChpdGVtICYmIGl0ZW0ucHJvdmlkZXJzKSB8fCBbXTtcbiAgICByZXR1cm4gcHJvdmlkZXJzLnNvbWUoKHByb3ZpZGVyOiBhbnkpID0+IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIChwcm92aWRlciAmJiBwcm92aWRlci5wcm92aWRlICYmIHByb3ZpZGVyLnByb3ZpZGUubmFtZSA9PT0gJ01vY2tOZ01vZHVsZVJlc29sdmVyJykgfHxcbiAgICAgICAgZmFsc2VcbiAgICAgICk7XG4gICAgfSk7XG4gIH0pO1xuICByZXR1cm4gaXNJblRlc3RNb2RlO1xufVxuXG5leHBvcnQgY29uc3QgaXNBbmd1bGFySW5UZXN0TW9kZSA9IG1lbW9pemUoX2lzQW5ndWxhckluVGVzdE1vZGUpO1xuIl19
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { getPlatform, COMPILER_OPTIONS } from '@angular/core';
6
+ import { memoize } from './memoize';
7
+ /**
8
+ * @return {?}
9
+ */
10
+ function _isAngularInTestMode() {
11
+ /** @type {?} */
12
+ var platformRef = getPlatform();
13
+ if (!platformRef)
14
+ return false;
15
+ /** @type {?} */
16
+ var compilerOptions = platformRef.injector.get(COMPILER_OPTIONS, null);
17
+ if (!compilerOptions)
18
+ return false;
19
+ /** @type {?} */
20
+ var isInTestMode = compilerOptions.some((/**
21
+ * @param {?} item
22
+ * @return {?}
23
+ */
24
+ function (item) {
25
+ /** @type {?} */
26
+ var providers = (item && item.providers) || [];
27
+ return providers.some((/**
28
+ * @param {?} provider
29
+ * @return {?}
30
+ */
31
+ function (provider) {
32
+ return ((provider && provider.provide && provider.provide.name === 'MockNgModuleResolver') ||
33
+ false);
34
+ }));
35
+ }));
36
+ return isInTestMode;
37
+ }
38
+ /** @type {?} */
39
+ export var isAngularInTestMode = memoize(_isAngularInTestMode);
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlL2ludGVybmFscy8iLCJzb3VyY2VzIjpbImFuZ3VsYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQWdDLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7QUFFcEMsU0FBUyxvQkFBb0I7O1FBQ3JCLFdBQVcsR0FBdUIsV0FBVyxFQUFFO0lBQ3JELElBQUksQ0FBQyxXQUFXO1FBQUUsT0FBTyxLQUFLLENBQUM7O1FBQ3pCLGVBQWUsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBTSxnQkFBZ0IsRUFBRSxJQUFJLENBQUM7SUFDN0UsSUFBSSxDQUFDLGVBQWU7UUFBRSxPQUFPLEtBQUssQ0FBQzs7UUFDN0IsWUFBWSxHQUFHLGVBQWUsQ0FBQyxJQUFJOzs7O0lBQUMsVUFBQyxJQUFxQjs7WUFDeEQsU0FBUyxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFO1FBQ2hELE9BQU8sU0FBUyxDQUFDLElBQUk7Ozs7UUFBQyxVQUFDLFFBQWE7WUFDbEMsT0FBTyxDQUNMLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssc0JBQXNCLENBQUM7Z0JBQ2xGLEtBQUssQ0FDTixDQUFDO1FBQ0osQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDLEVBQUM7SUFDRixPQUFPLFlBQVksQ0FBQztBQUN0QixDQUFDOztBQUVELE1BQU0sS0FBTyxtQkFBbUIsR0FBRyxPQUFPLENBQUMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRQbGF0Zm9ybSwgQ09NUElMRVJfT1BUSU9OUywgQ29tcGlsZXJPcHRpb25zLCBQbGF0Zm9ybVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBtZW1vaXplIH0gZnJvbSAnLi9tZW1vaXplJztcclxuXHJcbmZ1bmN0aW9uIF9pc0FuZ3VsYXJJblRlc3RNb2RlKCkge1xyXG4gIGNvbnN0IHBsYXRmb3JtUmVmOiBQbGF0Zm9ybVJlZiB8IG51bGwgPSBnZXRQbGF0Zm9ybSgpO1xyXG4gIGlmICghcGxhdGZvcm1SZWYpIHJldHVybiBmYWxzZTtcclxuICBjb25zdCBjb21waWxlck9wdGlvbnMgPSBwbGF0Zm9ybVJlZi5pbmplY3Rvci5nZXQ8YW55PihDT01QSUxFUl9PUFRJT05TLCBudWxsKTtcclxuICBpZiAoIWNvbXBpbGVyT3B0aW9ucykgcmV0dXJuIGZhbHNlO1xyXG4gIGNvbnN0IGlzSW5UZXN0TW9kZSA9IGNvbXBpbGVyT3B0aW9ucy5zb21lKChpdGVtOiBDb21waWxlck9wdGlvbnMpID0+IHtcclxuICAgIGNvbnN0IHByb3ZpZGVycyA9IChpdGVtICYmIGl0ZW0ucHJvdmlkZXJzKSB8fCBbXTtcclxuICAgIHJldHVybiBwcm92aWRlcnMuc29tZSgocHJvdmlkZXI6IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIChwcm92aWRlciAmJiBwcm92aWRlci5wcm92aWRlICYmIHByb3ZpZGVyLnByb3ZpZGUubmFtZSA9PT0gJ01vY2tOZ01vZHVsZVJlc29sdmVyJykgfHxcclxuICAgICAgICBmYWxzZVxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfSk7XHJcbiAgcmV0dXJuIGlzSW5UZXN0TW9kZTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGlzQW5ndWxhckluVGVzdE1vZGUgPSBtZW1vaXplKF9pc0FuZ3VsYXJJblRlc3RNb2RlKTtcclxuIl19
@@ -1,10 +1,10 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- export { isAngularInTestMode } from './angular';
6
- export { NgxsBootstrapper } from './ngxs-bootstrapper';
7
- export { memoize } from './memoize';
8
- export { INITIAL_STATE_TOKEN, InitialState } from './initial-state';
9
- export { NGXS_STATE_CONTEXT_FACTORY, NGXS_STATE_FACTORY } from './internal-tokens';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9pbnRlcm5hbHMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXBFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgaXNBbmd1bGFySW5UZXN0TW9kZSB9IGZyb20gJy4vYW5ndWxhcic7XG5leHBvcnQgeyBOZ3hzQm9vdHN0cmFwcGVyIH0gZnJvbSAnLi9uZ3hzLWJvb3RzdHJhcHBlcic7XG5leHBvcnQgeyBtZW1vaXplIH0gZnJvbSAnLi9tZW1vaXplJztcbmV4cG9ydCB7IElOSVRJQUxfU1RBVEVfVE9LRU4sIEluaXRpYWxTdGF0ZSB9IGZyb20gJy4vaW5pdGlhbC1zdGF0ZSc7XG5leHBvcnQgeyBQbGFpbk9iamVjdE9mLCBQbGFpbk9iamVjdCwgU3RhdGVDbGFzcyB9IGZyb20gJy4vc3ltYm9scyc7XG5leHBvcnQgeyBOR1hTX1NUQVRFX0NPTlRFWFRfRkFDVE9SWSwgTkdYU19TVEFURV9GQUNUT1JZIH0gZnJvbSAnLi9pbnRlcm5hbC10b2tlbnMnO1xuIl19
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ export { isAngularInTestMode } from './angular';
6
+ export { NgxsBootstrapper } from './ngxs-bootstrapper';
7
+ export { memoize } from './memoize';
8
+ export { INITIAL_STATE_TOKEN, InitialState } from './initial-state';
9
+ export { NGXS_STATE_CONTEXT_FACTORY, NGXS_STATE_FACTORY } from './internal-tokens';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abmd4cy9zdG9yZS9pbnRlcm5hbHMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXBFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgaXNBbmd1bGFySW5UZXN0TW9kZSB9IGZyb20gJy4vYW5ndWxhcic7XHJcbmV4cG9ydCB7IE5neHNCb290c3RyYXBwZXIgfSBmcm9tICcuL25neHMtYm9vdHN0cmFwcGVyJztcclxuZXhwb3J0IHsgbWVtb2l6ZSB9IGZyb20gJy4vbWVtb2l6ZSc7XHJcbmV4cG9ydCB7IElOSVRJQUxfU1RBVEVfVE9LRU4sIEluaXRpYWxTdGF0ZSB9IGZyb20gJy4vaW5pdGlhbC1zdGF0ZSc7XHJcbmV4cG9ydCB7IFBsYWluT2JqZWN0T2YsIFBsYWluT2JqZWN0LCBTdGF0ZUNsYXNzIH0gZnJvbSAnLi9zeW1ib2xzJztcclxuZXhwb3J0IHsgTkdYU19TVEFURV9DT05URVhUX0ZBQ1RPUlksIE5HWFNfU1RBVEVfRkFDVE9SWSB9IGZyb20gJy4vaW50ZXJuYWwtdG9rZW5zJztcclxuIl19
@@ -1,45 +1,45 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { InjectionToken } from '@angular/core';
6
- /** @type {?} */
7
- export var INITIAL_STATE_TOKEN = new InjectionToken('INITIAL_STATE_TOKEN');
8
- var InitialState = /** @class */ (function () {
9
- function InitialState() {
10
- }
11
- /**
12
- * @param {?} state
13
- * @return {?}
14
- */
15
- InitialState.set = /**
16
- * @param {?} state
17
- * @return {?}
18
- */
19
- function (state) {
20
- this.value = state;
21
- };
22
- /**
23
- * @return {?}
24
- */
25
- InitialState.pop = /**
26
- * @return {?}
27
- */
28
- function () {
29
- /** @type {?} */
30
- var state = this.value;
31
- this.value = {};
32
- return state;
33
- };
34
- InitialState.value = {};
35
- return InitialState;
36
- }());
37
- export { InitialState };
38
- if (false) {
39
- /**
40
- * @type {?}
41
- * @private
42
- */
43
- InitialState.value;
44
- }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbC1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlL2ludGVybmFscy8iLCJzb3VyY2VzIjpbImluaXRpYWwtc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRy9DLE1BQU0sS0FBTyxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FBTSxxQkFBcUIsQ0FBQztBQUVqRjtJQUFBO0lBWUEsQ0FBQzs7Ozs7SUFUZSxnQkFBRzs7OztJQUFqQixVQUFrQixLQUFrQjtRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDOzs7O0lBRWEsZ0JBQUc7OztJQUFqQjs7WUFDUSxLQUFLLEdBQWdCLElBQUksQ0FBQyxLQUFLO1FBQ3JDLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQVZjLGtCQUFLLEdBQWdCLEVBQUUsQ0FBQztJQVd6QyxtQkFBQztDQUFBLEFBWkQsSUFZQztTQVpZLFlBQVk7Ozs7OztJQUN2QixtQkFBdUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGxhaW5PYmplY3QgfSBmcm9tICcuL3N5bWJvbHMnO1xuXG5leHBvcnQgY29uc3QgSU5JVElBTF9TVEFURV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxhbnk+KCdJTklUSUFMX1NUQVRFX1RPS0VOJyk7XG5cbmV4cG9ydCBjbGFzcyBJbml0aWFsU3RhdGUge1xuICBwcml2YXRlIHN0YXRpYyB2YWx1ZTogUGxhaW5PYmplY3QgPSB7fTtcblxuICBwdWJsaWMgc3RhdGljIHNldChzdGF0ZTogUGxhaW5PYmplY3QpIHtcbiAgICB0aGlzLnZhbHVlID0gc3RhdGU7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHBvcCgpOiBQbGFpbk9iamVjdCB7XG4gICAgY29uc3Qgc3RhdGU6IFBsYWluT2JqZWN0ID0gdGhpcy52YWx1ZTtcbiAgICB0aGlzLnZhbHVlID0ge307XG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG59XG4iXX0=
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { InjectionToken } from '@angular/core';
6
+ /** @type {?} */
7
+ export var INITIAL_STATE_TOKEN = new InjectionToken('INITIAL_STATE_TOKEN');
8
+ var InitialState = /** @class */ (function () {
9
+ function InitialState() {
10
+ }
11
+ /**
12
+ * @param {?} state
13
+ * @return {?}
14
+ */
15
+ InitialState.set = /**
16
+ * @param {?} state
17
+ * @return {?}
18
+ */
19
+ function (state) {
20
+ this.value = state;
21
+ };
22
+ /**
23
+ * @return {?}
24
+ */
25
+ InitialState.pop = /**
26
+ * @return {?}
27
+ */
28
+ function () {
29
+ /** @type {?} */
30
+ var state = this.value;
31
+ this.value = {};
32
+ return state;
33
+ };
34
+ InitialState.value = {};
35
+ return InitialState;
36
+ }());
37
+ export { InitialState };
38
+ if (false) {
39
+ /**
40
+ * @type {?}
41
+ * @private
42
+ */
43
+ InitialState.value;
44
+ }
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbC1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlL2ludGVybmFscy8iLCJzb3VyY2VzIjpbImluaXRpYWwtc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRy9DLE1BQU0sS0FBTyxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FBTSxxQkFBcUIsQ0FBQztBQUVqRjtJQUFBO0lBWUEsQ0FBQzs7Ozs7SUFUZSxnQkFBRzs7OztJQUFqQixVQUFrQixLQUFrQjtRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDOzs7O0lBRWEsZ0JBQUc7OztJQUFqQjs7WUFDUSxLQUFLLEdBQWdCLElBQUksQ0FBQyxLQUFLO1FBQ3JDLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQVZjLGtCQUFLLEdBQWdCLEVBQUUsQ0FBQztJQVd6QyxtQkFBQztDQUFBLEFBWkQsSUFZQztTQVpZLFlBQVk7Ozs7OztJQUN2QixtQkFBdUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQbGFpbk9iamVjdCB9IGZyb20gJy4vc3ltYm9scyc7XHJcblxyXG5leHBvcnQgY29uc3QgSU5JVElBTF9TVEFURV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxhbnk+KCdJTklUSUFMX1NUQVRFX1RPS0VOJyk7XHJcblxyXG5leHBvcnQgY2xhc3MgSW5pdGlhbFN0YXRlIHtcclxuICBwcml2YXRlIHN0YXRpYyB2YWx1ZTogUGxhaW5PYmplY3QgPSB7fTtcclxuXHJcbiAgcHVibGljIHN0YXRpYyBzZXQoc3RhdGU6IFBsYWluT2JqZWN0KSB7XHJcbiAgICB0aGlzLnZhbHVlID0gc3RhdGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIHBvcCgpOiBQbGFpbk9iamVjdCB7XHJcbiAgICBjb25zdCBzdGF0ZTogUGxhaW5PYmplY3QgPSB0aGlzLnZhbHVlO1xyXG4gICAgdGhpcy52YWx1ZSA9IHt9O1xyXG4gICAgcmV0dXJuIHN0YXRlO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,16 +1,16 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { InjectionToken } from '@angular/core';
6
- /**
7
- * @see StateContextFactory as it's referenced by this token to be accessed by plugins internally
8
- * @type {?}
9
- */
10
- export var NGXS_STATE_CONTEXT_FACTORY = new InjectionToken('Internals.StateContextFactory');
11
- /**
12
- * @see StateFactory as it's referenced by this token to be accessed by plugins internally
13
- * @type {?}
14
- */
15
- export var NGXS_STATE_FACTORY = new InjectionToken('Internals.StateFactory');
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtdG9rZW5zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvaW50ZXJuYWxzLyIsInNvdXJjZXMiOlsiaW50ZXJuYWwtdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUsvQyxNQUFNLEtBQU8sMEJBQTBCLEdBQXdCLElBQUksY0FBYyxDQUMvRSwrQkFBK0IsQ0FDaEM7Ozs7O0FBS0QsTUFBTSxLQUFPLGtCQUFrQixHQUF3QixJQUFJLGNBQWMsQ0FDdkUsd0JBQXdCLENBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAc2VlIFN0YXRlQ29udGV4dEZhY3RvcnkgYXMgaXQncyByZWZlcmVuY2VkIGJ5IHRoaXMgdG9rZW4gdG8gYmUgYWNjZXNzZWQgYnkgcGx1Z2lucyBpbnRlcm5hbGx5XG4gKi9cbmV4cG9ydCBjb25zdCBOR1hTX1NUQVRFX0NPTlRFWFRfRkFDVE9SWTogSW5qZWN0aW9uVG9rZW48YW55PiA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgJ0ludGVybmFscy5TdGF0ZUNvbnRleHRGYWN0b3J5J1xuKTtcblxuLyoqXG4gKiBAc2VlIFN0YXRlRmFjdG9yeSBhcyBpdCdzIHJlZmVyZW5jZWQgYnkgdGhpcyB0b2tlbiB0byBiZSBhY2Nlc3NlZCBieSBwbHVnaW5zIGludGVybmFsbHlcbiAqL1xuZXhwb3J0IGNvbnN0IE5HWFNfU1RBVEVfRkFDVE9SWTogSW5qZWN0aW9uVG9rZW48YW55PiA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgJ0ludGVybmFscy5TdGF0ZUZhY3RvcnknXG4pO1xuIl19
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { InjectionToken } from '@angular/core';
6
+ /**
7
+ * @see StateContextFactory as it's referenced by this token to be accessed by plugins internally
8
+ * @type {?}
9
+ */
10
+ export var NGXS_STATE_CONTEXT_FACTORY = new InjectionToken('Internals.StateContextFactory');
11
+ /**
12
+ * @see StateFactory as it's referenced by this token to be accessed by plugins internally
13
+ * @type {?}
14
+ */
15
+ export var NGXS_STATE_FACTORY = new InjectionToken('Internals.StateFactory');
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwtdG9rZW5zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neHMvc3RvcmUvaW50ZXJuYWxzLyIsInNvdXJjZXMiOlsiaW50ZXJuYWwtdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUsvQyxNQUFNLEtBQU8sMEJBQTBCLEdBQXdCLElBQUksY0FBYyxDQUMvRSwrQkFBK0IsQ0FDaEM7Ozs7O0FBS0QsTUFBTSxLQUFPLGtCQUFrQixHQUF3QixJQUFJLGNBQWMsQ0FDdkUsd0JBQXdCLENBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBAc2VlIFN0YXRlQ29udGV4dEZhY3RvcnkgYXMgaXQncyByZWZlcmVuY2VkIGJ5IHRoaXMgdG9rZW4gdG8gYmUgYWNjZXNzZWQgYnkgcGx1Z2lucyBpbnRlcm5hbGx5XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgTkdYU19TVEFURV9DT05URVhUX0ZBQ1RPUlk6IEluamVjdGlvblRva2VuPGFueT4gPSBuZXcgSW5qZWN0aW9uVG9rZW4oXHJcbiAgJ0ludGVybmFscy5TdGF0ZUNvbnRleHRGYWN0b3J5J1xyXG4pO1xyXG5cclxuLyoqXHJcbiAqIEBzZWUgU3RhdGVGYWN0b3J5IGFzIGl0J3MgcmVmZXJlbmNlZCBieSB0aGlzIHRva2VuIHRvIGJlIGFjY2Vzc2VkIGJ5IHBsdWdpbnMgaW50ZXJuYWxseVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IE5HWFNfU1RBVEVfRkFDVE9SWTogSW5qZWN0aW9uVG9rZW48YW55PiA9IG5ldyBJbmplY3Rpb25Ub2tlbihcclxuICAnSW50ZXJuYWxzLlN0YXRlRmFjdG9yeSdcclxuKTtcclxuIl19
@@ -1,71 +1,71 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- /**
6
- * @param {?} a
7
- * @param {?} b
8
- * @return {?}
9
- */
10
- function defaultEqualityCheck(a, b) {
11
- return a === b;
12
- }
13
- /**
14
- * @param {?} equalityCheck
15
- * @param {?} prev
16
- * @param {?} next
17
- * @return {?}
18
- */
19
- function areArgumentsShallowlyEqual(equalityCheck, prev, next) {
20
- if (prev === null || next === null || prev.length !== next.length) {
21
- return false;
22
- }
23
- // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.
24
- /** @type {?} */
25
- var length = prev.length;
26
- for (var i = 0; i < length; i++) {
27
- if (!equalityCheck(prev[i], next[i])) {
28
- return false;
29
- }
30
- }
31
- return true;
32
- }
33
- /**
34
- * Memoize a function on its last inputs only.
35
- * Originally from: https://github.com/reduxjs/reselect/blob/master/src/index.js
36
- *
37
- * @ignore
38
- * @template T
39
- * @param {?} func
40
- * @param {?=} equalityCheck
41
- * @return {?}
42
- */
43
- export function memoize(func, equalityCheck) {
44
- if (equalityCheck === void 0) { equalityCheck = defaultEqualityCheck; }
45
- /** @type {?} */
46
- var lastArgs = null;
47
- /** @type {?} */
48
- var lastResult = null;
49
- // we reference arguments instead of spreading them for performance reasons
50
- /**
51
- * @return {?}
52
- */
53
- function memoized() {
54
- if (!areArgumentsShallowlyEqual(equalityCheck, lastArgs, arguments)) {
55
- // apply arguments instead of spreading for performance.
56
- lastResult = ((/** @type {?} */ (func))).apply(null, arguments);
57
- }
58
- lastArgs = arguments;
59
- return lastResult;
60
- }
61
- ((/** @type {?} */ (memoized))).reset = (/**
62
- * @return {?}
63
- */
64
- function () {
65
- // The hidden (for now) ability to reset the memoization
66
- lastArgs = null;
67
- lastResult = null;
68
- });
69
- return (/** @type {?} */ (memoized));
70
- }
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb2l6ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlL2ludGVybmFscy8iLCJzb3VyY2VzIjpbIm1lbW9pemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsU0FBUyxvQkFBb0IsQ0FBQyxDQUFNLEVBQUUsQ0FBTTtJQUMxQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDakIsQ0FBQzs7Ozs7OztBQUVELFNBQVMsMEJBQTBCLENBQ2pDLGFBQTBDLEVBQzFDLElBQXVCLEVBQ3ZCLElBQXVCO0lBRXZCLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNqRSxPQUFPLEtBQUssQ0FBQztLQUNkOzs7UUFHSyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU07SUFDMUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwQyxPQUFPLEtBQUssQ0FBQztTQUNkO0tBQ0Y7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7Ozs7Ozs7Ozs7O0FBUUQsTUFBTSxVQUFVLE9BQU8sQ0FDckIsSUFBTyxFQUNQLGFBQW9DO0lBQXBDLDhCQUFBLEVBQUEsb0NBQW9DOztRQUVoQyxRQUFRLEdBQXNCLElBQUk7O1FBQ2xDLFVBQVUsR0FBUSxJQUFJOzs7OztJQUUxQixTQUFTLFFBQVE7UUFDZixJQUFJLENBQUMsMEJBQTBCLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsRUFBRTtZQUNuRSx3REFBd0Q7WUFDeEQsVUFBVSxHQUFHLENBQUMsbUJBQVUsSUFBSSxFQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQ3REO1FBRUQsUUFBUSxHQUFHLFNBQVMsQ0FBQztRQUNyQixPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBQ0QsQ0FBQyxtQkFBSyxRQUFRLEVBQUEsQ0FBQyxDQUFDLEtBQUs7OztJQUFHO1FBQ3RCLHdEQUF3RDtRQUN4RCxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQyxDQUFBLENBQUM7SUFDRixPQUFPLG1CQUFBLFFBQVEsRUFBSyxDQUFDO0FBQ3ZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBkZWZhdWx0RXF1YWxpdHlDaGVjayhhOiBhbnksIGI6IGFueSkge1xuICByZXR1cm4gYSA9PT0gYjtcbn1cblxuZnVuY3Rpb24gYXJlQXJndW1lbnRzU2hhbGxvd2x5RXF1YWwoXG4gIGVxdWFsaXR5Q2hlY2s6IChhOiBhbnksIGI6IGFueSkgPT4gYm9vbGVhbixcbiAgcHJldjogSUFyZ3VtZW50cyB8IG51bGwsXG4gIG5leHQ6IElBcmd1bWVudHMgfCBudWxsXG4pIHtcbiAgaWYgKHByZXYgPT09IG51bGwgfHwgbmV4dCA9PT0gbnVsbCB8fCBwcmV2Lmxlbmd0aCAhPT0gbmV4dC5sZW5ndGgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBEbyB0aGlzIGluIGEgZm9yIGxvb3AgKGFuZCBub3QgYSBgZm9yRWFjaGAgb3IgYW4gYGV2ZXJ5YCkgc28gd2UgY2FuIGRldGVybWluZSBlcXVhbGl0eSBhcyBmYXN0IGFzIHBvc3NpYmxlLlxuICBjb25zdCBsZW5ndGggPSBwcmV2Lmxlbmd0aDtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgIGlmICghZXF1YWxpdHlDaGVjayhwcmV2W2ldLCBuZXh0W2ldKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG4vKipcbiAqIE1lbW9pemUgYSBmdW5jdGlvbiBvbiBpdHMgbGFzdCBpbnB1dHMgb25seS5cbiAqIE9yaWdpbmFsbHkgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL3JlZHV4anMvcmVzZWxlY3QvYmxvYi9tYXN0ZXIvc3JjL2luZGV4LmpzXG4gKlxuICogQGlnbm9yZVxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVtb2l6ZTxUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnk+KFxuICBmdW5jOiBULFxuICBlcXVhbGl0eUNoZWNrID0gZGVmYXVsdEVxdWFsaXR5Q2hlY2tcbik6IFQge1xuICBsZXQgbGFzdEFyZ3M6IElBcmd1bWVudHMgfCBudWxsID0gbnVsbDtcbiAgbGV0IGxhc3RSZXN1bHQ6IGFueSA9IG51bGw7XG4gIC8vIHdlIHJlZmVyZW5jZSBhcmd1bWVudHMgaW5zdGVhZCBvZiBzcHJlYWRpbmcgdGhlbSBmb3IgcGVyZm9ybWFuY2UgcmVhc29uc1xuICBmdW5jdGlvbiBtZW1vaXplZCgpIHtcbiAgICBpZiAoIWFyZUFyZ3VtZW50c1NoYWxsb3dseUVxdWFsKGVxdWFsaXR5Q2hlY2ssIGxhc3RBcmdzLCBhcmd1bWVudHMpKSB7XG4gICAgICAvLyBhcHBseSBhcmd1bWVudHMgaW5zdGVhZCBvZiBzcHJlYWRpbmcgZm9yIHBlcmZvcm1hbmNlLlxuICAgICAgbGFzdFJlc3VsdCA9ICg8RnVuY3Rpb24+ZnVuYykuYXBwbHkobnVsbCwgYXJndW1lbnRzKTtcbiAgICB9XG5cbiAgICBsYXN0QXJncyA9IGFyZ3VtZW50cztcbiAgICByZXR1cm4gbGFzdFJlc3VsdDtcbiAgfVxuICAoPGFueT5tZW1vaXplZCkucmVzZXQgPSBmdW5jdGlvbigpIHtcbiAgICAvLyBUaGUgaGlkZGVuIChmb3Igbm93KSBhYmlsaXR5IHRvIHJlc2V0IHRoZSBtZW1vaXphdGlvblxuICAgIGxhc3RBcmdzID0gbnVsbDtcbiAgICBsYXN0UmVzdWx0ID0gbnVsbDtcbiAgfTtcbiAgcmV0dXJuIG1lbW9pemVkIGFzIFQ7XG59XG4iXX0=
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ /**
6
+ * @param {?} a
7
+ * @param {?} b
8
+ * @return {?}
9
+ */
10
+ function defaultEqualityCheck(a, b) {
11
+ return a === b;
12
+ }
13
+ /**
14
+ * @param {?} equalityCheck
15
+ * @param {?} prev
16
+ * @param {?} next
17
+ * @return {?}
18
+ */
19
+ function areArgumentsShallowlyEqual(equalityCheck, prev, next) {
20
+ if (prev === null || next === null || prev.length !== next.length) {
21
+ return false;
22
+ }
23
+ // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.
24
+ /** @type {?} */
25
+ var length = prev.length;
26
+ for (var i = 0; i < length; i++) {
27
+ if (!equalityCheck(prev[i], next[i])) {
28
+ return false;
29
+ }
30
+ }
31
+ return true;
32
+ }
33
+ /**
34
+ * Memoize a function on its last inputs only.
35
+ * Originally from: https://github.com/reduxjs/reselect/blob/master/src/index.js
36
+ *
37
+ * @ignore
38
+ * @template T
39
+ * @param {?} func
40
+ * @param {?=} equalityCheck
41
+ * @return {?}
42
+ */
43
+ export function memoize(func, equalityCheck) {
44
+ if (equalityCheck === void 0) { equalityCheck = defaultEqualityCheck; }
45
+ /** @type {?} */
46
+ var lastArgs = null;
47
+ /** @type {?} */
48
+ var lastResult = null;
49
+ // we reference arguments instead of spreading them for performance reasons
50
+ /**
51
+ * @return {?}
52
+ */
53
+ function memoized() {
54
+ if (!areArgumentsShallowlyEqual(equalityCheck, lastArgs, arguments)) {
55
+ // apply arguments instead of spreading for performance.
56
+ lastResult = ((/** @type {?} */ (func))).apply(null, arguments);
57
+ }
58
+ lastArgs = arguments;
59
+ return lastResult;
60
+ }
61
+ ((/** @type {?} */ (memoized))).reset = (/**
62
+ * @return {?}
63
+ */
64
+ function () {
65
+ // The hidden (for now) ability to reset the memoization
66
+ lastArgs = null;
67
+ lastResult = null;
68
+ });
69
+ return (/** @type {?} */ (memoized));
70
+ }
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb2l6ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ3hzL3N0b3JlL2ludGVybmFscy8iLCJzb3VyY2VzIjpbIm1lbW9pemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsU0FBUyxvQkFBb0IsQ0FBQyxDQUFNLEVBQUUsQ0FBTTtJQUMxQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDakIsQ0FBQzs7Ozs7OztBQUVELFNBQVMsMEJBQTBCLENBQ2pDLGFBQTBDLEVBQzFDLElBQXVCLEVBQ3ZCLElBQXVCO0lBRXZCLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNqRSxPQUFPLEtBQUssQ0FBQztLQUNkOzs7UUFHSyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU07SUFDMUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwQyxPQUFPLEtBQUssQ0FBQztTQUNkO0tBQ0Y7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7Ozs7Ozs7Ozs7O0FBUUQsTUFBTSxVQUFVLE9BQU8sQ0FDckIsSUFBTyxFQUNQLGFBQW9DO0lBQXBDLDhCQUFBLEVBQUEsb0NBQW9DOztRQUVoQyxRQUFRLEdBQXNCLElBQUk7O1FBQ2xDLFVBQVUsR0FBUSxJQUFJOzs7OztJQUUxQixTQUFTLFFBQVE7UUFDZixJQUFJLENBQUMsMEJBQTBCLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsRUFBRTtZQUNuRSx3REFBd0Q7WUFDeEQsVUFBVSxHQUFHLENBQUMsbUJBQVUsSUFBSSxFQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQ3REO1FBRUQsUUFBUSxHQUFHLFNBQVMsQ0FBQztRQUNyQixPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBQ0QsQ0FBQyxtQkFBSyxRQUFRLEVBQUEsQ0FBQyxDQUFDLEtBQUs7OztJQUFHO1FBQ3RCLHdEQUF3RDtRQUN4RCxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQyxDQUFBLENBQUM7SUFDRixPQUFPLG1CQUFBLFFBQVEsRUFBSyxDQUFDO0FBQ3ZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBkZWZhdWx0RXF1YWxpdHlDaGVjayhhOiBhbnksIGI6IGFueSkge1xyXG4gIHJldHVybiBhID09PSBiO1xyXG59XHJcblxyXG5mdW5jdGlvbiBhcmVBcmd1bWVudHNTaGFsbG93bHlFcXVhbChcclxuICBlcXVhbGl0eUNoZWNrOiAoYTogYW55LCBiOiBhbnkpID0+IGJvb2xlYW4sXHJcbiAgcHJldjogSUFyZ3VtZW50cyB8IG51bGwsXHJcbiAgbmV4dDogSUFyZ3VtZW50cyB8IG51bGxcclxuKSB7XHJcbiAgaWYgKHByZXYgPT09IG51bGwgfHwgbmV4dCA9PT0gbnVsbCB8fCBwcmV2Lmxlbmd0aCAhPT0gbmV4dC5sZW5ndGgpIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8vIERvIHRoaXMgaW4gYSBmb3IgbG9vcCAoYW5kIG5vdCBhIGBmb3JFYWNoYCBvciBhbiBgZXZlcnlgKSBzbyB3ZSBjYW4gZGV0ZXJtaW5lIGVxdWFsaXR5IGFzIGZhc3QgYXMgcG9zc2libGUuXHJcbiAgY29uc3QgbGVuZ3RoID0gcHJldi5sZW5ndGg7XHJcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xyXG4gICAgaWYgKCFlcXVhbGl0eUNoZWNrKHByZXZbaV0sIG5leHRbaV0pKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJldHVybiB0cnVlO1xyXG59XHJcblxyXG4vKipcclxuICogTWVtb2l6ZSBhIGZ1bmN0aW9uIG9uIGl0cyBsYXN0IGlucHV0cyBvbmx5LlxyXG4gKiBPcmlnaW5hbGx5IGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9yZWR1eGpzL3Jlc2VsZWN0L2Jsb2IvbWFzdGVyL3NyYy9pbmRleC5qc1xyXG4gKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gbWVtb2l6ZTxUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnk+KFxyXG4gIGZ1bmM6IFQsXHJcbiAgZXF1YWxpdHlDaGVjayA9IGRlZmF1bHRFcXVhbGl0eUNoZWNrXHJcbik6IFQge1xyXG4gIGxldCBsYXN0QXJnczogSUFyZ3VtZW50cyB8IG51bGwgPSBudWxsO1xyXG4gIGxldCBsYXN0UmVzdWx0OiBhbnkgPSBudWxsO1xyXG4gIC8vIHdlIHJlZmVyZW5jZSBhcmd1bWVudHMgaW5zdGVhZCBvZiBzcHJlYWRpbmcgdGhlbSBmb3IgcGVyZm9ybWFuY2UgcmVhc29uc1xyXG4gIGZ1bmN0aW9uIG1lbW9pemVkKCkge1xyXG4gICAgaWYgKCFhcmVBcmd1bWVudHNTaGFsbG93bHlFcXVhbChlcXVhbGl0eUNoZWNrLCBsYXN0QXJncywgYXJndW1lbnRzKSkge1xyXG4gICAgICAvLyBhcHBseSBhcmd1bWVudHMgaW5zdGVhZCBvZiBzcHJlYWRpbmcgZm9yIHBlcmZvcm1hbmNlLlxyXG4gICAgICBsYXN0UmVzdWx0ID0gKDxGdW5jdGlvbj5mdW5jKS5hcHBseShudWxsLCBhcmd1bWVudHMpO1xyXG4gICAgfVxyXG5cclxuICAgIGxhc3RBcmdzID0gYXJndW1lbnRzO1xyXG4gICAgcmV0dXJuIGxhc3RSZXN1bHQ7XHJcbiAgfVxyXG4gICg8YW55Pm1lbW9pemVkKS5yZXNldCA9IGZ1bmN0aW9uKCkge1xyXG4gICAgLy8gVGhlIGhpZGRlbiAoZm9yIG5vdykgYWJpbGl0eSB0byByZXNldCB0aGUgbWVtb2l6YXRpb25cclxuICAgIGxhc3RBcmdzID0gbnVsbDtcclxuICAgIGxhc3RSZXN1bHQgPSBudWxsO1xyXG4gIH07XHJcbiAgcmV0dXJuIG1lbW9pemVkIGFzIFQ7XHJcbn1cclxuIl19