@ngxs/store 3.7.3-dev.master-5175b98 → 3.7.3

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 (267) hide show
  1. package/README.md +16 -16
  2. package/bundles/ngxs-store-internals-testing.umd.js +215 -235
  3. package/bundles/ngxs-store-internals-testing.umd.js.map +1 -1
  4. package/bundles/ngxs-store-internals-testing.umd.min.js +2 -2
  5. package/bundles/ngxs-store-internals-testing.umd.min.js.map +1 -1
  6. package/bundles/ngxs-store-internals.umd.js +211 -422
  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 +310 -311
  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 +4518 -4423
  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 +40 -46
  20. package/esm2015/internals/index.js +10 -11
  21. package/esm2015/internals/initial-state.js +34 -34
  22. package/esm2015/internals/internal-tokens.js +16 -16
  23. package/esm2015/internals/memoize.js +70 -70
  24. package/esm2015/internals/ngxs-bootstrapper.js +41 -41
  25. package/esm2015/internals/ngxs-store-internals.js +9 -9
  26. package/esm2015/internals/src/symbols.js +14 -14
  27. package/esm2015/internals/symbols.js +14 -14
  28. package/esm2015/internals/testing/fresh-platform.js +71 -90
  29. package/esm2015/internals/testing/helpers/ngxs-test.component.js +22 -22
  30. package/esm2015/internals/testing/helpers/ngxs-test.module.js +24 -24
  31. package/esm2015/internals/testing/index.js +7 -7
  32. package/esm2015/internals/testing/ngxs-store-internals-testing.js +8 -8
  33. package/esm2015/internals/testing/ngxs.setup.js +76 -76
  34. package/esm2015/internals/testing/symbol.js +29 -29
  35. package/esm2015/ngxs-store.js +27 -24
  36. package/esm2015/operators/append.js +31 -31
  37. package/esm2015/operators/compose.js +24 -24
  38. package/esm2015/operators/iif.js +56 -56
  39. package/esm2015/operators/index.js +18 -18
  40. package/esm2015/operators/insert-item.js +41 -41
  41. package/esm2015/operators/internals.js +5 -5
  42. package/esm2015/operators/ngxs-store-operators.js +8 -8
  43. package/esm2015/operators/patch.js +39 -38
  44. package/esm2015/operators/remove-item.js +34 -34
  45. package/esm2015/operators/update-item.js +52 -54
  46. package/esm2015/operators/utils.js +50 -50
  47. package/esm2015/src/actions/actions.js +39 -39
  48. package/esm2015/src/actions/symbols.js +39 -39
  49. package/esm2015/src/actions-stream.js +140 -138
  50. package/esm2015/src/configs/messages.config.js +87 -79
  51. package/esm2015/src/decorators/action.js +44 -48
  52. package/esm2015/src/decorators/select/select-factory.js +46 -49
  53. package/esm2015/src/decorators/select/select.js +45 -81
  54. package/esm2015/src/decorators/select/symbols.js +50 -94
  55. package/esm2015/src/decorators/selector/selector.js +55 -59
  56. package/esm2015/src/decorators/selector/symbols.js +5 -5
  57. package/esm2015/src/decorators/selector-options.js +34 -34
  58. package/esm2015/src/decorators/state.js +75 -83
  59. package/esm2015/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +96 -101
  60. package/esm2015/src/execution/internal-ngxs-execution-strategy.js +45 -45
  61. package/esm2015/src/execution/noop-ngxs-execution-strategy.js +27 -27
  62. package/esm2015/src/execution/symbols.js +29 -29
  63. package/esm2015/src/host-environment/host-environment.js +31 -0
  64. package/esm2015/src/internal/config-validator.js +67 -0
  65. package/esm2015/src/internal/dispatcher.js +217 -217
  66. package/esm2015/src/internal/internals.js +489 -493
  67. package/esm2015/src/internal/lifecycle-state-manager.js +129 -129
  68. package/esm2015/src/internal/state-context-factory.js +138 -138
  69. package/esm2015/src/internal/state-factory.js +429 -449
  70. package/esm2015/src/internal/state-operations.js +125 -120
  71. package/esm2015/src/internal/state-operators.js +33 -33
  72. package/esm2015/src/internal/state-stream.js +21 -21
  73. package/esm2015/src/ivy/ensure-state-class-is-injectable.js +34 -0
  74. package/esm2015/src/ivy/ivy-enabled-in-dev-mode.js +40 -28
  75. package/esm2015/src/module.js +172 -158
  76. package/esm2015/src/modules/ngxs-feature.module.js +63 -63
  77. package/esm2015/src/modules/ngxs-root.module.js +52 -52
  78. package/esm2015/src/operators/leave-ngxs.js +58 -58
  79. package/esm2015/src/operators/of-action.js +191 -191
  80. package/esm2015/src/plugin-manager.js +70 -70
  81. package/esm2015/src/plugin_api.js +10 -10
  82. package/esm2015/src/public_api.js +29 -29
  83. package/esm2015/src/public_to_deprecate.js +64 -64
  84. package/esm2015/src/state-token/state-token.js +45 -45
  85. package/esm2015/src/state-token/symbols.js +5 -5
  86. package/esm2015/src/store.js +174 -174
  87. package/esm2015/src/symbols.js +221 -217
  88. package/esm2015/src/utils/compose.js +44 -44
  89. package/esm2015/src/utils/freeze.js +35 -35
  90. package/esm2015/src/utils/selector-utils.js +221 -221
  91. package/esm2015/src/utils/store-validators.js +65 -60
  92. package/esm2015/src/utils/utils.js +143 -143
  93. package/esm5/index.js +13 -13
  94. package/esm5/internals/angular.js +40 -46
  95. package/esm5/internals/index.js +10 -11
  96. package/esm5/internals/initial-state.js +45 -45
  97. package/esm5/internals/internal-tokens.js +16 -16
  98. package/esm5/internals/memoize.js +71 -71
  99. package/esm5/internals/ngxs-bootstrapper.js +56 -56
  100. package/esm5/internals/ngxs-store-internals.js +9 -9
  101. package/esm5/internals/src/symbols.js +14 -14
  102. package/esm5/internals/symbols.js +14 -14
  103. package/esm5/internals/testing/fresh-platform.js +81 -101
  104. package/esm5/internals/testing/helpers/ngxs-test.component.js +32 -32
  105. package/esm5/internals/testing/helpers/ngxs-test.module.js +32 -32
  106. package/esm5/internals/testing/index.js +7 -7
  107. package/esm5/internals/testing/ngxs-store-internals-testing.js +8 -8
  108. package/esm5/internals/testing/ngxs.setup.js +98 -98
  109. package/esm5/internals/testing/symbol.js +29 -29
  110. package/esm5/ngxs-store.js +27 -24
  111. package/esm5/operators/append.js +31 -31
  112. package/esm5/operators/compose.js +28 -28
  113. package/esm5/operators/iif.js +56 -56
  114. package/esm5/operators/index.js +18 -18
  115. package/esm5/operators/insert-item.js +41 -41
  116. package/esm5/operators/internals.js +5 -5
  117. package/esm5/operators/ngxs-store-operators.js +8 -8
  118. package/esm5/operators/patch.js +40 -39
  119. package/esm5/operators/remove-item.js +34 -34
  120. package/esm5/operators/update-item.js +52 -54
  121. package/esm5/operators/utils.js +50 -50
  122. package/esm5/src/actions/actions.js +62 -62
  123. package/esm5/src/actions/symbols.js +39 -39
  124. package/esm5/src/actions-stream.js +186 -184
  125. package/esm5/src/configs/messages.config.js +104 -79
  126. package/esm5/src/decorators/action.js +56 -60
  127. package/esm5/src/decorators/select/select-factory.js +47 -50
  128. package/esm5/src/decorators/select/select.js +50 -87
  129. package/esm5/src/decorators/select/symbols.js +51 -95
  130. package/esm5/src/decorators/selector/selector.js +55 -59
  131. package/esm5/src/decorators/selector/symbols.js +5 -5
  132. package/esm5/src/decorators/selector-options.js +34 -34
  133. package/esm5/src/decorators/state.js +76 -84
  134. package/esm5/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +121 -121
  135. package/esm5/src/execution/internal-ngxs-execution-strategy.js +54 -54
  136. package/esm5/src/execution/noop-ngxs-execution-strategy.js +41 -41
  137. package/esm5/src/execution/symbols.js +29 -29
  138. package/esm5/src/host-environment/host-environment.js +29 -0
  139. package/esm5/src/internal/config-validator.js +76 -0
  140. package/esm5/src/internal/dispatcher.js +253 -253
  141. package/esm5/src/internal/internals.js +491 -495
  142. package/esm5/src/internal/lifecycle-state-manager.js +177 -177
  143. package/esm5/src/internal/state-context-factory.js +146 -146
  144. package/esm5/src/internal/state-factory.js +563 -575
  145. package/esm5/src/internal/state-operations.js +139 -130
  146. package/esm5/src/internal/state-operators.js +34 -34
  147. package/esm5/src/internal/state-stream.js +25 -25
  148. package/esm5/src/ivy/ensure-state-class-is-injectable.js +34 -0
  149. package/esm5/src/ivy/ivy-enabled-in-dev-mode.js +40 -28
  150. package/esm5/src/module.js +215 -201
  151. package/esm5/src/modules/ngxs-feature.module.js +65 -65
  152. package/esm5/src/modules/ngxs-root.module.js +47 -47
  153. package/esm5/src/operators/leave-ngxs.js +58 -58
  154. package/esm5/src/operators/of-action.js +217 -217
  155. package/esm5/src/plugin-manager.js +82 -82
  156. package/esm5/src/plugin_api.js +10 -10
  157. package/esm5/src/public_api.js +29 -29
  158. package/esm5/src/public_to_deprecate.js +64 -64
  159. package/esm5/src/state-token/state-token.js +57 -57
  160. package/esm5/src/state-token/symbols.js +5 -5
  161. package/esm5/src/store.js +225 -225
  162. package/esm5/src/symbols.js +230 -226
  163. package/esm5/src/utils/compose.js +55 -55
  164. package/esm5/src/utils/freeze.js +35 -35
  165. package/esm5/src/utils/selector-utils.js +230 -230
  166. package/esm5/src/utils/store-validators.js +86 -78
  167. package/esm5/src/utils/utils.js +151 -151
  168. package/fesm2015/ngxs-store-internals-testing.js +175 -194
  169. package/fesm2015/ngxs-store-internals-testing.js.map +1 -1
  170. package/fesm2015/ngxs-store-internals.js +194 -402
  171. package/fesm2015/ngxs-store-internals.js.map +1 -1
  172. package/fesm2015/ngxs-store-operators.js +312 -313
  173. package/fesm2015/ngxs-store-operators.js.map +1 -1
  174. package/fesm2015/ngxs-store.js +3976 -3927
  175. package/fesm2015/ngxs-store.js.map +1 -1
  176. package/fesm5/ngxs-store-internals-testing.js +221 -241
  177. package/fesm5/ngxs-store-internals-testing.js.map +1 -1
  178. package/fesm5/ngxs-store-internals.js +219 -427
  179. package/fesm5/ngxs-store-internals.js.map +1 -1
  180. package/fesm5/ngxs-store-operators.js +316 -317
  181. package/fesm5/ngxs-store-operators.js.map +1 -1
  182. package/fesm5/ngxs-store.js +4510 -4420
  183. package/fesm5/ngxs-store.js.map +1 -1
  184. package/index.d.ts +8 -8
  185. package/internals/angular.d.ts +3 -3
  186. package/internals/index.d.ts +6 -7
  187. package/internals/initial-state.d.ts +8 -8
  188. package/internals/internal-tokens.d.ts +9 -9
  189. package/internals/memoize.d.ts +9 -9
  190. package/internals/ngxs-bootstrapper.d.ts +13 -13
  191. package/internals/ngxs-store-internals.d.ts +4 -4
  192. package/internals/ngxs-store-internals.metadata.json +1 -1
  193. package/internals/src/symbols.d.ts +7 -7
  194. package/internals/symbols.d.ts +7 -7
  195. package/internals/testing/fresh-platform.d.ts +1 -1
  196. package/internals/testing/helpers/ngxs-test.component.d.ts +5 -5
  197. package/internals/testing/helpers/ngxs-test.module.d.ts +4 -4
  198. package/internals/testing/index.d.ts +3 -3
  199. package/internals/testing/ngxs-store-internals-testing.d.ts +4 -4
  200. package/internals/testing/ngxs-store-internals-testing.metadata.json +1 -1
  201. package/internals/testing/ngxs.setup.d.ts +7 -7
  202. package/internals/testing/symbol.d.ts +14 -14
  203. package/ngxs-store.d.ts +23 -20
  204. package/ngxs-store.metadata.json +1 -1
  205. package/operators/append.d.ts +6 -6
  206. package/operators/compose.d.ts +2 -3
  207. package/operators/iif.d.ts +11 -11
  208. package/operators/index.d.ts +13 -13
  209. package/operators/insert-item.d.ts +7 -7
  210. package/operators/internals.d.ts +2 -2
  211. package/operators/ngxs-store-operators.d.ts +4 -4
  212. package/operators/ngxs-store-operators.metadata.json +1 -1
  213. package/operators/patch.d.ts +10 -6
  214. package/operators/remove-item.d.ts +7 -7
  215. package/operators/update-item.d.ts +10 -10
  216. package/operators/utils.d.ts +9 -10
  217. package/package.json +2 -2
  218. package/src/actions/actions.d.ts +15 -15
  219. package/src/actions/symbols.d.ts +21 -21
  220. package/src/actions-stream.d.ts +49 -49
  221. package/src/configs/messages.config.d.ts +30 -11
  222. package/src/decorators/action.d.ts +5 -5
  223. package/src/decorators/select/select-factory.d.ts +14 -13
  224. package/src/decorators/select/select.d.ts +4 -4
  225. package/src/decorators/select/symbols.d.ts +10 -14
  226. package/src/decorators/selector/selector.d.ts +5 -5
  227. package/src/decorators/selector/symbols.d.ts +4 -4
  228. package/src/decorators/selector-options.d.ts +5 -5
  229. package/src/decorators/state.d.ts +6 -6
  230. package/src/execution/dispatch-outside-zone-ngxs-execution-strategy.d.ts +12 -11
  231. package/src/execution/internal-ngxs-execution-strategy.d.ts +7 -7
  232. package/src/execution/noop-ngxs-execution-strategy.d.ts +5 -5
  233. package/src/execution/symbols.d.ts +6 -6
  234. package/src/host-environment/host-environment.d.ts +6 -0
  235. package/src/internal/config-validator.d.ts +10 -0
  236. package/src/internal/dispatcher.d.ts +32 -32
  237. package/src/internal/internals.d.ts +167 -166
  238. package/src/internal/lifecycle-state-manager.d.ts +20 -20
  239. package/src/internal/state-context-factory.d.ts +15 -15
  240. package/src/internal/state-factory.d.ts +58 -57
  241. package/src/internal/state-operations.d.ts +21 -19
  242. package/src/internal/state-operators.d.ts +2 -2
  243. package/src/internal/state-stream.d.ts +9 -9
  244. package/src/ivy/ensure-state-class-is-injectable.d.ts +6 -0
  245. package/src/ivy/ivy-enabled-in-dev-mode.d.ts +14 -6
  246. package/src/module.d.ts +23 -23
  247. package/src/modules/ngxs-feature.module.d.ts +13 -13
  248. package/src/modules/ngxs-root.module.d.ts +13 -13
  249. package/src/operators/leave-ngxs.d.ts +7 -7
  250. package/src/operators/of-action.d.ts +43 -43
  251. package/src/plugin-manager.d.ts +10 -10
  252. package/src/plugin_api.d.ts +5 -5
  253. package/src/public_api.d.ts +17 -17
  254. package/src/public_to_deprecate.d.ts +21 -21
  255. package/src/state-token/state-token.d.ts +7 -7
  256. package/src/state-token/symbols.d.ts +5 -5
  257. package/src/store.d.ts +53 -53
  258. package/src/symbols.d.ts +137 -135
  259. package/src/utils/compose.d.ts +23 -23
  260. package/src/utils/freeze.d.ts +5 -5
  261. package/src/utils/selector-utils.d.ts +23 -23
  262. package/src/utils/store-validators.d.ts +8 -7
  263. package/src/utils/utils.d.ts +46 -46
  264. package/types/index.d.ts +2 -2
  265. package/esm2015/internals/decorator-injector-adapter.js +0 -204
  266. package/esm5/internals/decorator-injector-adapter.js +0 -204
  267. package/internals/decorator-injector-adapter.d.ts +0 -15
package/src/symbols.d.ts CHANGED
@@ -1,135 +1,137 @@
1
- import { InjectionToken, Type } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import { PlainObject, StateClass } from '@ngxs/store/internals';
4
- import { SharedSelectorOptions } from './internal/internals';
5
- import { NgxsExecutionStrategy } from './execution/symbols';
6
- import { StateToken } from './state-token/state-token';
7
- export declare const ROOT_STATE_TOKEN: InjectionToken<any>;
8
- export declare const FEATURE_STATE_TOKEN: InjectionToken<any>;
9
- export declare const NGXS_PLUGINS: InjectionToken<{}>;
10
- export declare const META_KEY = "NGXS_META";
11
- export declare const META_OPTIONS_KEY = "NGXS_OPTIONS_META";
12
- export declare const SELECTOR_META_KEY = "NGXS_SELECTOR_META";
13
- export declare type NgxsLifeCycle = Partial<NgxsOnChanges> & Partial<NgxsOnInit> & Partial<NgxsAfterBootstrap>;
14
- export declare type NgxsPluginFn = (state: any, mutation: any, next: NgxsNextPluginFn) => any;
15
- /**
16
- * The NGXS config settings.
17
- */
18
- export declare class NgxsConfig {
19
- /**
20
- * Run in development mode. This will add additional debugging features:
21
- * - Object.freeze on the state and actions to guarantee immutability
22
- * (default: false)
23
- */
24
- developmentMode: boolean;
25
- compatibility: {
26
- /**
27
- * Support a strict Content Security Policy.
28
- * This will circumvent some optimisations that violate a strict CSP through the use of `new Function(...)`.
29
- * (default: false)
30
- */
31
- strictContentSecurityPolicy: boolean;
32
- };
33
- /**
34
- * Determines the execution context to perform async operations inside. An implementation can be
35
- * provided to override the default behaviour where the async operations are run
36
- * outside Angular's zone but all observable behaviours of NGXS are run back inside Angular's zone.
37
- * These observable behaviours are from:
38
- * `@Select(...)`, `store.select(...)`, `actions.subscribe(...)` or `store.dispatch(...).subscribe(...)`
39
- * Every `zone.run` causes Angular to run change detection on the whole tree (`app.tick()`) so of your
40
- * application doesn't rely on zone.js running change detection then you can switch to the
41
- * `NoopNgxsExecutionStrategy` that doesn't interact with zones.
42
- * (default: null)
43
- */
44
- executionStrategy: Type<NgxsExecutionStrategy>;
45
- /**
46
- * Defining the default state before module initialization
47
- * This is convenient if we need to create a define our own set of states.
48
- * @deprecated will be removed after v4
49
- * (default: {})
50
- */
51
- defaultsState: PlainObject;
52
- /**
53
- * Defining shared selector options
54
- */
55
- selectorOptions: SharedSelectorOptions;
56
- constructor();
57
- }
58
- export declare type StateOperator<T> = (existing: Readonly<T>) => T;
59
- /**
60
- * State context provided to the actions in the state.
61
- */
62
- export interface StateContext<T> {
63
- /**
64
- * Get the current state.
65
- */
66
- getState(): T;
67
- /**
68
- * Reset the state to a new value.
69
- */
70
- setState(val: T | StateOperator<T>): T;
71
- /**
72
- * Patch the existing state with the provided value.
73
- */
74
- patchState(val: Partial<T>): T;
75
- /**
76
- * Dispatch a new action and return the dispatched observable.
77
- */
78
- dispatch(actions: any | any[]): Observable<void>;
79
- }
80
- export declare type NgxsNextPluginFn = (state: any, mutation: any) => any;
81
- /**
82
- * Plugin interface
83
- */
84
- export interface NgxsPlugin {
85
- /**
86
- * Handle the state/action before its submitted to the state handlers.
87
- */
88
- handle(state: any, action: any, next: NgxsNextPluginFn): any;
89
- }
90
- /**
91
- * Options that can be provided to the store.
92
- */
93
- export interface StoreOptions<T> {
94
- /**
95
- * Name of the state. Required.
96
- */
97
- name: string | StateToken<T>;
98
- /**
99
- * Default values for the state. If not provided, uses empty object.
100
- */
101
- defaults?: T;
102
- /**
103
- * Sub states for the given state.
104
- */
105
- children?: StateClass[];
106
- }
107
- /**
108
- * Represents a basic change from a previous to a new value for a single state instance.
109
- * Passed as a value in a NgxsSimpleChanges object to the ngxsOnChanges hook.
110
- */
111
- export declare class NgxsSimpleChange<T = any> {
112
- readonly previousValue: T;
113
- readonly currentValue: T;
114
- readonly firstChange: boolean;
115
- constructor(previousValue: T, currentValue: T, firstChange: boolean);
116
- }
117
- /**
118
- * On init interface
119
- */
120
- export interface NgxsOnInit {
121
- ngxsOnInit(ctx?: StateContext<any>): void | any;
122
- }
123
- /**
124
- * On change interface
125
- */
126
- export interface NgxsOnChanges {
127
- ngxsOnChanges(change: NgxsSimpleChange): void;
128
- }
129
- /**
130
- * After bootstrap interface
131
- */
132
- export interface NgxsAfterBootstrap {
133
- ngxsAfterBootstrap(ctx?: StateContext<any>): void;
134
- }
135
- export declare type NgxsModuleOptions = Partial<NgxsConfig>;
1
+ import { InjectionToken, Type } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { PlainObject, StateClass } from '@ngxs/store/internals';
4
+ import { SharedSelectorOptions, Callback } from './internal/internals';
5
+ import { NgxsExecutionStrategy } from './execution/symbols';
6
+ import { StateToken } from './state-token/state-token';
7
+ export declare const ROOT_STATE_TOKEN: InjectionToken<any>;
8
+ export declare const FEATURE_STATE_TOKEN: InjectionToken<any>;
9
+ export declare const NGXS_PLUGINS: InjectionToken<{}>;
10
+ export declare const NG_TEST_MODE: InjectionToken<Callback<boolean, any>>;
11
+ export declare const NG_DEV_MODE: InjectionToken<Callback<boolean, any>>;
12
+ export declare const META_KEY = "NGXS_META";
13
+ export declare const META_OPTIONS_KEY = "NGXS_OPTIONS_META";
14
+ export declare const SELECTOR_META_KEY = "NGXS_SELECTOR_META";
15
+ export declare type NgxsLifeCycle = Partial<NgxsOnChanges> & Partial<NgxsOnInit> & Partial<NgxsAfterBootstrap>;
16
+ export declare type NgxsPluginFn = (state: any, mutation: any, next: NgxsNextPluginFn) => any;
17
+ /**
18
+ * The NGXS config settings.
19
+ */
20
+ export declare class NgxsConfig {
21
+ /**
22
+ * Run in development mode. This will add additional debugging features:
23
+ * - Object.freeze on the state and actions to guarantee immutability
24
+ * (default: false)
25
+ */
26
+ developmentMode: boolean;
27
+ compatibility: {
28
+ /**
29
+ * Support a strict Content Security Policy.
30
+ * This will circumvent some optimisations that violate a strict CSP through the use of `new Function(...)`.
31
+ * (default: false)
32
+ */
33
+ strictContentSecurityPolicy: boolean;
34
+ };
35
+ /**
36
+ * Determines the execution context to perform async operations inside. An implementation can be
37
+ * provided to override the default behaviour where the async operations are run
38
+ * outside Angular's zone but all observable behaviours of NGXS are run back inside Angular's zone.
39
+ * These observable behaviours are from:
40
+ * `@Select(...)`, `store.select(...)`, `actions.subscribe(...)` or `store.dispatch(...).subscribe(...)`
41
+ * Every `zone.run` causes Angular to run change detection on the whole tree (`app.tick()`) so of your
42
+ * application doesn't rely on zone.js running change detection then you can switch to the
43
+ * `NoopNgxsExecutionStrategy` that doesn't interact with zones.
44
+ * (default: null)
45
+ */
46
+ executionStrategy: Type<NgxsExecutionStrategy>;
47
+ /**
48
+ * Defining the default state before module initialization
49
+ * This is convenient if we need to create a define our own set of states.
50
+ * @deprecated will be removed after v4
51
+ * (default: {})
52
+ */
53
+ defaultsState: PlainObject;
54
+ /**
55
+ * Defining shared selector options
56
+ */
57
+ selectorOptions: SharedSelectorOptions;
58
+ constructor();
59
+ }
60
+ export declare type StateOperator<T> = (existing: Readonly<T>) => T;
61
+ /**
62
+ * State context provided to the actions in the state.
63
+ */
64
+ export interface StateContext<T> {
65
+ /**
66
+ * Get the current state.
67
+ */
68
+ getState(): T;
69
+ /**
70
+ * Reset the state to a new value.
71
+ */
72
+ setState(val: T | StateOperator<T>): T;
73
+ /**
74
+ * Patch the existing state with the provided value.
75
+ */
76
+ patchState(val: Partial<T>): T;
77
+ /**
78
+ * Dispatch a new action and return the dispatched observable.
79
+ */
80
+ dispatch(actions: any | any[]): Observable<void>;
81
+ }
82
+ export declare type NgxsNextPluginFn = (state: any, mutation: any) => any;
83
+ /**
84
+ * Plugin interface
85
+ */
86
+ export interface NgxsPlugin {
87
+ /**
88
+ * Handle the state/action before its submitted to the state handlers.
89
+ */
90
+ handle(state: any, action: any, next: NgxsNextPluginFn): any;
91
+ }
92
+ /**
93
+ * Options that can be provided to the store.
94
+ */
95
+ export interface StoreOptions<T> {
96
+ /**
97
+ * Name of the state. Required.
98
+ */
99
+ name: string | StateToken<T>;
100
+ /**
101
+ * Default values for the state. If not provided, uses empty object.
102
+ */
103
+ defaults?: T;
104
+ /**
105
+ * Sub states for the given state.
106
+ */
107
+ children?: StateClass[];
108
+ }
109
+ /**
110
+ * Represents a basic change from a previous to a new value for a single state instance.
111
+ * Passed as a value in a NgxsSimpleChanges object to the ngxsOnChanges hook.
112
+ */
113
+ export declare class NgxsSimpleChange<T = any> {
114
+ readonly previousValue: T;
115
+ readonly currentValue: T;
116
+ readonly firstChange: boolean;
117
+ constructor(previousValue: T, currentValue: T, firstChange: boolean);
118
+ }
119
+ /**
120
+ * On init interface
121
+ */
122
+ export interface NgxsOnInit {
123
+ ngxsOnInit(ctx?: StateContext<any>): void | any;
124
+ }
125
+ /**
126
+ * On change interface
127
+ */
128
+ export interface NgxsOnChanges {
129
+ ngxsOnChanges(change: NgxsSimpleChange): void;
130
+ }
131
+ /**
132
+ * After bootstrap interface
133
+ */
134
+ export interface NgxsAfterBootstrap {
135
+ ngxsAfterBootstrap(ctx?: StateContext<any>): void;
136
+ }
137
+ export declare type NgxsModuleOptions = Partial<NgxsConfig>;
@@ -1,23 +1,23 @@
1
- export declare type StateFn = (...args: any[]) => any;
2
- /**
3
- * Composes a array of functions from left to right. Example:
4
- *
5
- * compose([fn, final])(state, action);
6
- *
7
- * then the funcs have a signature like:
8
- *
9
- * function fn (state, action, next) {
10
- * console.log('here', state, action, next);
11
- * return next(state, action);
12
- * }
13
- *
14
- * function final (state, action) {
15
- * console.log('here', state, action);
16
- * return state;
17
- * }
18
- *
19
- * the last function should not call `next`.
20
- *
21
- * @ignore
22
- */
23
- export declare const compose: (funcs: StateFn[]) => (...args: any[]) => any;
1
+ export declare type StateFn = (...args: any[]) => any;
2
+ /**
3
+ * Composes a array of functions from left to right. Example:
4
+ *
5
+ * compose([fn, final])(state, action);
6
+ *
7
+ * then the funcs have a signature like:
8
+ *
9
+ * function fn (state, action, next) {
10
+ * console.log('here', state, action, next);
11
+ * return next(state, action);
12
+ * }
13
+ *
14
+ * function final (state, action) {
15
+ * console.log('here', state, action);
16
+ * return state;
17
+ * }
18
+ *
19
+ * the last function should not call `next`.
20
+ *
21
+ * @ignore
22
+ */
23
+ export declare const compose: (funcs: StateFn[]) => (...args: any[]) => any;
@@ -1,5 +1,5 @@
1
- /**
2
- * Object freeze code
3
- * https://github.com/jsdf/deep-freeze
4
- */
5
- export declare const deepFreeze: (o: any) => any;
1
+ /**
2
+ * Object freeze code
3
+ * https://github.com/jsdf/deep-freeze
4
+ */
5
+ export declare const deepFreeze: (o: any) => any;
@@ -1,23 +1,23 @@
1
- import { SharedSelectorOptions, SelectorFactory } from '../internal/internals';
2
- export declare const selectorOptionsMetaAccessor: {
3
- getOptions: (target: any) => SharedSelectorOptions;
4
- defineOptions: (target: any, options: SharedSelectorOptions) => void;
5
- };
6
- interface CreationMetadata {
7
- containerClass: any;
8
- selectorName: string;
9
- getSelectorOptions?: () => SharedSelectorOptions;
10
- }
11
- /**
12
- * Function for creating a selector
13
- * @param selectors The selectors to use to create the arguments of this function
14
- * @param originalFn The original function being made into a selector
15
- * @param creationMetadata
16
- */
17
- export declare function createSelector<T extends (...args: any[]) => any>(selectors: any[] | undefined, originalFn: T, creationMetadata?: CreationMetadata): T;
18
- /**
19
- * This function gets the factory function to create the selector to get the selected slice from the app state
20
- * @ignore
21
- */
22
- export declare function getRootSelectorFactory(selector: any): SelectorFactory;
23
- export {};
1
+ import { SharedSelectorOptions, SelectorFactory } from '../internal/internals';
2
+ export declare const selectorOptionsMetaAccessor: {
3
+ getOptions: (target: any) => SharedSelectorOptions;
4
+ defineOptions: (target: any, options: SharedSelectorOptions) => void;
5
+ };
6
+ interface CreationMetadata {
7
+ containerClass: any;
8
+ selectorName: string;
9
+ getSelectorOptions?: () => SharedSelectorOptions;
10
+ }
11
+ /**
12
+ * Function for creating a selector
13
+ * @param selectors The selectors to use to create the arguments of this function
14
+ * @param originalFn The original function being made into a selector
15
+ * @param creationMetadata
16
+ */
17
+ export declare function createSelector<T extends (...args: any[]) => any>(selectors: any[] | undefined, originalFn: T, creationMetadata?: CreationMetadata): T;
18
+ /**
19
+ * This function gets the factory function to create the selector to get the selected slice from the app state
20
+ * @ignore
21
+ */
22
+ export declare function getRootSelectorFactory(selector: any): SelectorFactory;
23
+ export {};
@@ -1,7 +1,8 @@
1
- import { StateClassInternal, StatesByName } from '../internal/internals';
2
- export declare abstract class StoreValidators {
3
- private static stateNameRegex;
4
- static checkThatStateIsNamedCorrectly(name: string | null): void | never;
5
- static checkThatStateNameIsUnique(stateName: string, state: StateClassInternal, statesByName: StatesByName): void | never;
6
- static checkThatStateClassesHaveBeenDecorated(stateClasses: StateClassInternal[]): void | never;
7
- }
1
+ import { MetaDataModel, StateClassInternal, StatesByName } from '../internal/internals';
2
+ export declare abstract class StoreValidators {
3
+ static stateNameRegex: RegExp;
4
+ static stateNameErrorMessage(name: string): string;
5
+ static checkCorrectStateName(name: string | null): void;
6
+ static checkStateNameIsUnique(state: StateClassInternal, statesByName: StatesByName): string;
7
+ static getValidStateMeta(state: StateClassInternal): MetaDataModel;
8
+ }
@@ -1,46 +1,46 @@
1
- /**
2
- * Returns the type from an action instance/class.
3
- * @ignore
4
- */
5
- export declare function getActionTypeFromInstance(action: any): string | undefined;
6
- /**
7
- * Matches a action
8
- * @ignore
9
- */
10
- export declare function actionMatcher(action1: any): (action2: any) => boolean;
11
- /**
12
- * Set a deeply nested value. Example:
13
- *
14
- * setValue({ foo: { bar: { eat: false } } },
15
- * 'foo.bar.eat', true) //=> { foo: { bar: { eat: true } } }
16
- *
17
- * While it traverses it also creates new objects from top down.
18
- *
19
- * @ignore
20
- */
21
- export declare const setValue: (obj: any, prop: string, val: any) => any;
22
- /**
23
- * Get a deeply nested value. Example:
24
- *
25
- * getValue({ foo: bar: [] }, 'foo.bar') //=> []
26
- *
27
- * @ignore
28
- */
29
- export declare const getValue: (obj: any, prop: string) => any;
30
- /**
31
- * Simple object check.
32
- *
33
- * isObject({a:1}) //=> true
34
- * isObject(1) //=> false
35
- *
36
- * @ignore
37
- */
38
- export declare const isObject: (item: any) => boolean;
39
- /**
40
- * Deep merge two objects.
41
- *
42
- * mergeDeep({a:1, b:{x: 1, y:2}}, {b:{x: 3}, c:4}) //=> {a:1, b:{x:3, y:2}, c:4}
43
- *
44
- * @param base base object onto which `sources` will be applied
45
- */
46
- export declare const mergeDeep: (base: any, ...sources: any[]) => any;
1
+ /**
2
+ * Returns the type from an action instance/class.
3
+ * @ignore
4
+ */
5
+ export declare function getActionTypeFromInstance(action: any): string | undefined;
6
+ /**
7
+ * Matches a action
8
+ * @ignore
9
+ */
10
+ export declare function actionMatcher(action1: any): (action2: any) => boolean;
11
+ /**
12
+ * Set a deeply nested value. Example:
13
+ *
14
+ * setValue({ foo: { bar: { eat: false } } },
15
+ * 'foo.bar.eat', true) //=> { foo: { bar: { eat: true } } }
16
+ *
17
+ * While it traverses it also creates new objects from top down.
18
+ *
19
+ * @ignore
20
+ */
21
+ export declare const setValue: (obj: any, prop: string, val: any) => any;
22
+ /**
23
+ * Get a deeply nested value. Example:
24
+ *
25
+ * getValue({ foo: bar: [] }, 'foo.bar') //=> []
26
+ *
27
+ * @ignore
28
+ */
29
+ export declare const getValue: (obj: any, prop: string) => any;
30
+ /**
31
+ * Simple object check.
32
+ *
33
+ * isObject({a:1}) //=> true
34
+ * isObject(1) //=> false
35
+ *
36
+ * @ignore
37
+ */
38
+ export declare const isObject: (item: any) => boolean;
39
+ /**
40
+ * Deep merge two objects.
41
+ *
42
+ * mergeDeep({a:1, b:{x: 1, y:2}}, {b:{x: 3}, c:4}) //=> {a:1, b:{x:3, y:2}, c:4}
43
+ *
44
+ * @param base base object onto which `sources` will be applied
45
+ */
46
+ export declare const mergeDeep: (base: any, ...sources: any[]) => any;
package/types/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- /* file: packages/store/types/index.d.ts */
2
- // TypeScript Version: 3.4
1
+ /* file: packages/store/types/index.d.ts */
2
+ // TypeScript Version: 3.4