@ngxs/store 3.7.2-dev.master-9a7c431 → 3.7.2

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