@ngxs/store 3.7.4 → 3.7.5-dev.master-17a1bb8

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 (259) hide show
  1. package/README.md +16 -16
  2. package/bundles/ngxs-store-internals-testing.umd.js +315 -315
  3. package/bundles/ngxs-store-internals-testing.umd.js.map +1 -1
  4. package/bundles/ngxs-store-internals-testing.umd.min.js.map +1 -1
  5. package/bundles/ngxs-store-internals.umd.js +192 -397
  6. package/bundles/ngxs-store-internals.umd.js.map +1 -1
  7. package/bundles/ngxs-store-internals.umd.min.js +1 -1
  8. package/bundles/ngxs-store-internals.umd.min.js.map +1 -1
  9. package/bundles/ngxs-store-operators.umd.js +311 -310
  10. package/bundles/ngxs-store-operators.umd.js.map +1 -1
  11. package/bundles/ngxs-store-operators.umd.min.js +1 -1
  12. package/bundles/ngxs-store-operators.umd.min.js.map +1 -1
  13. package/bundles/ngxs-store.umd.js +4405 -4481
  14. package/bundles/ngxs-store.umd.js.map +1 -1
  15. package/bundles/ngxs-store.umd.min.js +1 -1
  16. package/bundles/ngxs-store.umd.min.js.map +1 -1
  17. package/esm2015/index.js +13 -13
  18. package/esm2015/internals/angular.js +20 -20
  19. package/esm2015/internals/index.js +10 -11
  20. package/esm2015/internals/initial-state.js +34 -34
  21. package/esm2015/internals/internal-tokens.js +16 -16
  22. package/esm2015/internals/memoize.js +70 -70
  23. package/esm2015/internals/ngxs-bootstrapper.js +41 -41
  24. package/esm2015/internals/ngxs-store-internals.js +9 -9
  25. package/esm2015/internals/src/symbols.js +14 -14
  26. package/esm2015/internals/symbols.js +14 -14
  27. package/esm2015/internals/testing/fresh-platform.js +110 -110
  28. package/esm2015/internals/testing/helpers/ngxs-test.component.js +22 -22
  29. package/esm2015/internals/testing/helpers/ngxs-test.module.js +24 -24
  30. package/esm2015/internals/testing/index.js +8 -8
  31. package/esm2015/internals/testing/ngxs-store-internals-testing.js +8 -8
  32. package/esm2015/internals/testing/ngxs.setup.js +76 -76
  33. package/esm2015/internals/testing/skip-console-logging.js +62 -62
  34. package/esm2015/internals/testing/symbol.js +29 -29
  35. package/esm2015/ngxs-store.js +24 -23
  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 +38 -39
  44. package/esm2015/operators/remove-item.js +34 -34
  45. package/esm2015/operators/update-item.js +54 -52
  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 +138 -140
  50. package/esm2015/src/configs/messages.config.js +79 -79
  51. package/esm2015/src/decorators/action.js +48 -48
  52. package/esm2015/src/decorators/select/select-factory.js +45 -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 +59 -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 +77 -83
  59. package/esm2015/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +103 -103
  60. package/esm2015/src/execution/internal-ngxs-execution-strategy.js +45 -45
  61. package/esm2015/src/execution/noop-ngxs-execution-strategy.js +29 -29
  62. package/esm2015/src/execution/symbols.js +52 -52
  63. package/esm2015/src/internal/dispatcher.js +219 -217
  64. package/esm2015/src/internal/internals.js +493 -493
  65. package/esm2015/src/internal/lifecycle-state-manager.js +129 -129
  66. package/esm2015/src/internal/state-context-factory.js +138 -138
  67. package/esm2015/src/internal/state-factory.js +457 -449
  68. package/esm2015/src/internal/state-operations.js +124 -133
  69. package/esm2015/src/internal/state-operators.js +33 -33
  70. package/esm2015/src/internal/state-stream.js +30 -30
  71. package/esm2015/src/ivy/ivy-enabled-in-dev-mode.js +28 -28
  72. package/esm2015/src/module.js +159 -157
  73. package/esm2015/src/modules/ngxs-feature.module.js +63 -63
  74. package/esm2015/src/modules/ngxs-root.module.js +49 -52
  75. package/esm2015/src/operators/leave-ngxs.js +58 -58
  76. package/esm2015/src/operators/of-action.js +197 -191
  77. package/esm2015/src/plugin-manager.js +70 -70
  78. package/esm2015/src/plugin_api.js +10 -10
  79. package/esm2015/src/public_api.js +29 -29
  80. package/esm2015/src/public_to_deprecate.js +64 -64
  81. package/esm2015/src/state-token/state-token.js +45 -45
  82. package/esm2015/src/state-token/symbols.js +5 -5
  83. package/esm2015/src/store.js +190 -190
  84. package/esm2015/src/symbols.js +221 -220
  85. package/esm2015/src/utils/compose.js +44 -44
  86. package/esm2015/src/utils/freeze.js +35 -35
  87. package/esm2015/src/utils/selector-utils.js +221 -221
  88. package/esm2015/src/utils/store-validators.js +60 -60
  89. package/esm2015/src/utils/utils.js +143 -143
  90. package/esm5/index.js +13 -13
  91. package/esm5/internals/angular.js +20 -20
  92. package/esm5/internals/index.js +10 -11
  93. package/esm5/internals/initial-state.js +45 -45
  94. package/esm5/internals/internal-tokens.js +16 -16
  95. package/esm5/internals/memoize.js +71 -71
  96. package/esm5/internals/ngxs-bootstrapper.js +56 -56
  97. package/esm5/internals/ngxs-store-internals.js +9 -9
  98. package/esm5/internals/src/symbols.js +14 -14
  99. package/esm5/internals/symbols.js +14 -14
  100. package/esm5/internals/testing/fresh-platform.js +121 -121
  101. package/esm5/internals/testing/helpers/ngxs-test.component.js +32 -32
  102. package/esm5/internals/testing/helpers/ngxs-test.module.js +32 -32
  103. package/esm5/internals/testing/index.js +8 -8
  104. package/esm5/internals/testing/ngxs-store-internals-testing.js +8 -8
  105. package/esm5/internals/testing/ngxs.setup.js +98 -98
  106. package/esm5/internals/testing/skip-console-logging.js +62 -62
  107. package/esm5/internals/testing/symbol.js +29 -29
  108. package/esm5/ngxs-store.js +24 -23
  109. package/esm5/operators/append.js +31 -31
  110. package/esm5/operators/compose.js +28 -28
  111. package/esm5/operators/iif.js +56 -56
  112. package/esm5/operators/index.js +18 -18
  113. package/esm5/operators/insert-item.js +41 -41
  114. package/esm5/operators/internals.js +5 -5
  115. package/esm5/operators/ngxs-store-operators.js +8 -8
  116. package/esm5/operators/patch.js +39 -40
  117. package/esm5/operators/remove-item.js +34 -34
  118. package/esm5/operators/update-item.js +54 -52
  119. package/esm5/operators/utils.js +50 -50
  120. package/esm5/src/actions/actions.js +62 -62
  121. package/esm5/src/actions/symbols.js +39 -39
  122. package/esm5/src/actions-stream.js +184 -186
  123. package/esm5/src/configs/messages.config.js +79 -79
  124. package/esm5/src/decorators/action.js +60 -60
  125. package/esm5/src/decorators/select/select-factory.js +46 -50
  126. package/esm5/src/decorators/select/select.js +50 -87
  127. package/esm5/src/decorators/select/symbols.js +51 -95
  128. package/esm5/src/decorators/selector/selector.js +59 -59
  129. package/esm5/src/decorators/selector/symbols.js +5 -5
  130. package/esm5/src/decorators/selector-options.js +34 -34
  131. package/esm5/src/decorators/state.js +78 -84
  132. package/esm5/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js +123 -123
  133. package/esm5/src/execution/internal-ngxs-execution-strategy.js +54 -54
  134. package/esm5/src/execution/noop-ngxs-execution-strategy.js +43 -43
  135. package/esm5/src/execution/symbols.js +52 -52
  136. package/esm5/src/internal/dispatcher.js +255 -253
  137. package/esm5/src/internal/internals.js +495 -495
  138. package/esm5/src/internal/lifecycle-state-manager.js +177 -177
  139. package/esm5/src/internal/state-context-factory.js +146 -146
  140. package/esm5/src/internal/state-factory.js +583 -575
  141. package/esm5/src/internal/state-operations.js +134 -143
  142. package/esm5/src/internal/state-operators.js +34 -34
  143. package/esm5/src/internal/state-stream.js +37 -37
  144. package/esm5/src/ivy/ivy-enabled-in-dev-mode.js +28 -28
  145. package/esm5/src/module.js +202 -200
  146. package/esm5/src/modules/ngxs-feature.module.js +65 -65
  147. package/esm5/src/modules/ngxs-root.module.js +44 -47
  148. package/esm5/src/operators/leave-ngxs.js +58 -58
  149. package/esm5/src/operators/of-action.js +223 -217
  150. package/esm5/src/plugin-manager.js +82 -82
  151. package/esm5/src/plugin_api.js +10 -10
  152. package/esm5/src/public_api.js +29 -29
  153. package/esm5/src/public_to_deprecate.js +64 -64
  154. package/esm5/src/state-token/state-token.js +57 -57
  155. package/esm5/src/state-token/symbols.js +5 -5
  156. package/esm5/src/store.js +241 -241
  157. package/esm5/src/symbols.js +230 -229
  158. package/esm5/src/utils/compose.js +55 -55
  159. package/esm5/src/utils/freeze.js +35 -35
  160. package/esm5/src/utils/selector-utils.js +230 -230
  161. package/esm5/src/utils/store-validators.js +78 -78
  162. package/esm5/src/utils/utils.js +151 -151
  163. package/fesm2015/ngxs-store-internals-testing.js +274 -274
  164. package/fesm2015/ngxs-store-internals-testing.js.map +1 -1
  165. package/fesm2015/ngxs-store-internals.js +175 -377
  166. package/fesm2015/ngxs-store-internals.js.map +1 -1
  167. package/fesm2015/ngxs-store-operators.js +313 -312
  168. package/fesm2015/ngxs-store-operators.js.map +1 -1
  169. package/fesm2015/ngxs-store.js +3919 -3995
  170. package/fesm2015/ngxs-store.js.map +1 -1
  171. package/fesm5/ngxs-store-internals-testing.js +321 -321
  172. package/fesm5/ngxs-store-internals-testing.js.map +1 -1
  173. package/fesm5/ngxs-store-internals.js +200 -402
  174. package/fesm5/ngxs-store-internals.js.map +1 -1
  175. package/fesm5/ngxs-store-operators.js +317 -316
  176. package/fesm5/ngxs-store-operators.js.map +1 -1
  177. package/fesm5/ngxs-store.js +4414 -4491
  178. package/fesm5/ngxs-store.js.map +1 -1
  179. package/index.d.ts +8 -8
  180. package/internals/angular.d.ts +1 -1
  181. package/internals/index.d.ts +6 -7
  182. package/internals/initial-state.d.ts +8 -8
  183. package/internals/internal-tokens.d.ts +9 -9
  184. package/internals/memoize.d.ts +9 -9
  185. package/internals/ngxs-bootstrapper.d.ts +13 -13
  186. package/internals/ngxs-store-internals.d.ts +4 -4
  187. package/internals/ngxs-store-internals.metadata.json +1 -1
  188. package/internals/src/symbols.d.ts +7 -7
  189. package/internals/symbols.d.ts +7 -7
  190. package/internals/testing/fresh-platform.d.ts +1 -1
  191. package/internals/testing/helpers/ngxs-test.component.d.ts +5 -5
  192. package/internals/testing/helpers/ngxs-test.module.d.ts +4 -4
  193. package/internals/testing/index.d.ts +4 -4
  194. package/internals/testing/ngxs-store-internals-testing.d.ts +4 -4
  195. package/internals/testing/ngxs.setup.d.ts +7 -7
  196. package/internals/testing/skip-console-logging.d.ts +1 -1
  197. package/internals/testing/symbol.d.ts +14 -14
  198. package/ngxs-store.d.ts +20 -19
  199. package/ngxs-store.metadata.json +1 -1
  200. package/operators/append.d.ts +6 -6
  201. package/operators/compose.d.ts +3 -2
  202. package/operators/iif.d.ts +11 -11
  203. package/operators/index.d.ts +13 -13
  204. package/operators/insert-item.d.ts +7 -7
  205. package/operators/internals.d.ts +2 -2
  206. package/operators/ngxs-store-operators.d.ts +4 -4
  207. package/operators/ngxs-store-operators.metadata.json +1 -1
  208. package/operators/patch.d.ts +6 -10
  209. package/operators/remove-item.d.ts +7 -7
  210. package/operators/update-item.d.ts +10 -10
  211. package/operators/utils.d.ts +10 -9
  212. package/package.json +2 -2
  213. package/src/actions/actions.d.ts +15 -15
  214. package/src/actions/symbols.d.ts +21 -21
  215. package/src/actions-stream.d.ts +49 -49
  216. package/src/configs/messages.config.d.ts +11 -11
  217. package/src/decorators/action.d.ts +5 -5
  218. package/src/decorators/select/select-factory.d.ts +13 -13
  219. package/src/decorators/select/select.d.ts +4 -4
  220. package/src/decorators/select/symbols.d.ts +10 -14
  221. package/src/decorators/selector/selector.d.ts +5 -5
  222. package/src/decorators/selector/symbols.d.ts +4 -4
  223. package/src/decorators/selector-options.d.ts +5 -5
  224. package/src/decorators/state.d.ts +6 -6
  225. package/src/execution/dispatch-outside-zone-ngxs-execution-strategy.d.ts +11 -11
  226. package/src/execution/internal-ngxs-execution-strategy.d.ts +7 -7
  227. package/src/execution/noop-ngxs-execution-strategy.d.ts +5 -5
  228. package/src/execution/symbols.d.ts +10 -10
  229. package/src/internal/dispatcher.d.ts +32 -32
  230. package/src/internal/internals.d.ts +166 -166
  231. package/src/internal/lifecycle-state-manager.d.ts +20 -20
  232. package/src/internal/state-context-factory.d.ts +15 -15
  233. package/src/internal/state-factory.d.ts +57 -57
  234. package/src/internal/state-operations.d.ts +19 -19
  235. package/src/internal/state-operators.d.ts +2 -2
  236. package/src/internal/state-stream.d.ts +11 -11
  237. package/src/ivy/ivy-enabled-in-dev-mode.d.ts +6 -6
  238. package/src/module.d.ts +23 -23
  239. package/src/modules/ngxs-feature.module.d.ts +13 -13
  240. package/src/modules/ngxs-root.module.d.ts +13 -13
  241. package/src/operators/leave-ngxs.d.ts +7 -7
  242. package/src/operators/of-action.d.ts +56 -43
  243. package/src/plugin-manager.d.ts +10 -10
  244. package/src/plugin_api.d.ts +5 -5
  245. package/src/public_api.d.ts +17 -17
  246. package/src/public_to_deprecate.d.ts +21 -21
  247. package/src/state-token/state-token.d.ts +7 -7
  248. package/src/state-token/symbols.d.ts +5 -5
  249. package/src/store.d.ts +59 -59
  250. package/src/symbols.d.ts +139 -138
  251. package/src/utils/compose.d.ts +23 -23
  252. package/src/utils/freeze.d.ts +5 -5
  253. package/src/utils/selector-utils.d.ts +23 -23
  254. package/src/utils/store-validators.d.ts +7 -7
  255. package/src/utils/utils.d.ts +46 -46
  256. package/types/index.d.ts +2 -2
  257. package/esm2015/internals/decorator-injector-adapter.js +0 -204
  258. package/esm5/internals/decorator-injector-adapter.js +0 -204
  259. package/internals/decorator-injector-adapter.d.ts +0 -15
package/src/symbols.d.ts CHANGED
@@ -1,138 +1,139 @@
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
- * @deprecated This property is no longer necessary when the Ivy compiler is used.
25
- * We'll determine the development mode through the `ngDevMode`. It's still essential with View Engine.
26
- */
27
- developmentMode: boolean;
28
- compatibility: {
29
- /**
30
- * Support a strict Content Security Policy.
31
- * This will circumvent some optimisations that violate a strict CSP through the use of `new Function(...)`.
32
- * (default: false)
33
- */
34
- strictContentSecurityPolicy: boolean;
35
- };
36
- /**
37
- * Determines the execution context to perform async operations inside. An implementation can be
38
- * provided to override the default behaviour where the async operations are run
39
- * outside Angular's zone but all observable behaviours of NGXS are run back inside Angular's zone.
40
- * These observable behaviours are from:
41
- * `@Select(...)`, `store.select(...)`, `actions.subscribe(...)` or `store.dispatch(...).subscribe(...)`
42
- * Every `zone.run` causes Angular to run change detection on the whole tree (`app.tick()`) so of your
43
- * application doesn't rely on zone.js running change detection then you can switch to the
44
- * `NoopNgxsExecutionStrategy` that doesn't interact with zones.
45
- * (default: null)
46
- */
47
- executionStrategy: Type<NgxsExecutionStrategy>;
48
- /**
49
- * Defining the default state before module initialization
50
- * This is convenient if we need to create a define our own set of states.
51
- * @deprecated will be removed after v4
52
- * (default: {})
53
- */
54
- defaultsState: PlainObject;
55
- /**
56
- * Defining shared selector options
57
- */
58
- selectorOptions: SharedSelectorOptions;
59
- constructor();
60
- }
61
- export declare type StateOperator<T> = (existing: Readonly<T>) => T;
62
- /**
63
- * State context provided to the actions in the state.
64
- */
65
- export interface StateContext<T> {
66
- /**
67
- * Get the current state.
68
- */
69
- getState(): T;
70
- /**
71
- * Reset the state to a new value.
72
- */
73
- setState(val: T | StateOperator<T>): T;
74
- /**
75
- * Patch the existing state with the provided value.
76
- */
77
- patchState(val: Partial<T>): T;
78
- /**
79
- * Dispatch a new action and return the dispatched observable.
80
- */
81
- dispatch(actions: any | any[]): Observable<void>;
82
- }
83
- export declare type NgxsNextPluginFn = (state: any, mutation: any) => any;
84
- /**
85
- * Plugin interface
86
- */
87
- export interface NgxsPlugin {
88
- /**
89
- * Handle the state/action before its submitted to the state handlers.
90
- */
91
- handle(state: any, action: any, next: NgxsNextPluginFn): any;
92
- }
93
- /**
94
- * Options that can be provided to the store.
95
- */
96
- export interface StoreOptions<T> {
97
- /**
98
- * Name of the state. Required.
99
- */
100
- name: string | StateToken<T>;
101
- /**
102
- * Default values for the state. If not provided, uses empty object.
103
- */
104
- defaults?: T;
105
- /**
106
- * Sub states for the given state.
107
- */
108
- children?: StateClass[];
109
- }
110
- /**
111
- * Represents a basic change from a previous to a new value for a single state instance.
112
- * Passed as a value in a NgxsSimpleChanges object to the ngxsOnChanges hook.
113
- */
114
- export declare class NgxsSimpleChange<T = any> {
115
- readonly previousValue: T;
116
- readonly currentValue: T;
117
- readonly firstChange: boolean;
118
- constructor(previousValue: T, currentValue: T, firstChange: boolean);
119
- }
120
- /**
121
- * On init interface
122
- */
123
- export interface NgxsOnInit {
124
- ngxsOnInit(ctx?: StateContext<any>): void | any;
125
- }
126
- /**
127
- * On change interface
128
- */
129
- export interface NgxsOnChanges {
130
- ngxsOnChanges(change: NgxsSimpleChange): void;
131
- }
132
- /**
133
- * After bootstrap interface
134
- */
135
- export interface NgxsAfterBootstrap {
136
- ngxsAfterBootstrap(ctx?: StateContext<any>): void;
137
- }
138
- 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 } 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
+ * Note: this property will be accounted only in development mode when using the Ivy compiler.
25
+ * It makes sense to use it only during development to ensure there're no state mutations.
26
+ * When building for production, the Object.freeze will be tree-shaken away.
27
+ */
28
+ developmentMode: boolean;
29
+ compatibility: {
30
+ /**
31
+ * Support a strict Content Security Policy.
32
+ * This will circumvent some optimisations that violate a strict CSP through the use of `new Function(...)`.
33
+ * (default: false)
34
+ */
35
+ strictContentSecurityPolicy: boolean;
36
+ };
37
+ /**
38
+ * Determines the execution context to perform async operations inside. An implementation can be
39
+ * provided to override the default behaviour where the async operations are run
40
+ * outside Angular's zone but all observable behaviours of NGXS are run back inside Angular's zone.
41
+ * These observable behaviours are from:
42
+ * `@Select(...)`, `store.select(...)`, `actions.subscribe(...)` or `store.dispatch(...).subscribe(...)`
43
+ * Every `zone.run` causes Angular to run change detection on the whole tree (`app.tick()`) so of your
44
+ * application doesn't rely on zone.js running change detection then you can switch to the
45
+ * `NoopNgxsExecutionStrategy` that doesn't interact with zones.
46
+ * (default: null)
47
+ */
48
+ executionStrategy: Type<NgxsExecutionStrategy>;
49
+ /**
50
+ * Defining the default state before module initialization
51
+ * This is convenient if we need to create a define our own set of states.
52
+ * @deprecated will be removed after v4
53
+ * (default: {})
54
+ */
55
+ defaultsState: PlainObject;
56
+ /**
57
+ * Defining shared selector options
58
+ */
59
+ selectorOptions: SharedSelectorOptions;
60
+ constructor();
61
+ }
62
+ export declare type StateOperator<T> = (existing: Readonly<T>) => T;
63
+ /**
64
+ * State context provided to the actions in the state.
65
+ */
66
+ export interface StateContext<T> {
67
+ /**
68
+ * Get the current state.
69
+ */
70
+ getState(): T;
71
+ /**
72
+ * Reset the state to a new value.
73
+ */
74
+ setState(val: T | StateOperator<T>): T;
75
+ /**
76
+ * Patch the existing state with the provided value.
77
+ */
78
+ patchState(val: Partial<T>): T;
79
+ /**
80
+ * Dispatch a new action and return the dispatched observable.
81
+ */
82
+ dispatch(actions: any | any[]): Observable<void>;
83
+ }
84
+ export declare type NgxsNextPluginFn = (state: any, mutation: any) => any;
85
+ /**
86
+ * Plugin interface
87
+ */
88
+ export interface NgxsPlugin {
89
+ /**
90
+ * Handle the state/action before its submitted to the state handlers.
91
+ */
92
+ handle(state: any, action: any, next: NgxsNextPluginFn): any;
93
+ }
94
+ /**
95
+ * Options that can be provided to the store.
96
+ */
97
+ export interface StoreOptions<T> {
98
+ /**
99
+ * Name of the state. Required.
100
+ */
101
+ name: string | StateToken<T>;
102
+ /**
103
+ * Default values for the state. If not provided, uses empty object.
104
+ */
105
+ defaults?: T;
106
+ /**
107
+ * Sub states for the given state.
108
+ */
109
+ children?: StateClass[];
110
+ }
111
+ /**
112
+ * Represents a basic change from a previous to a new value for a single state instance.
113
+ * Passed as a value in a NgxsSimpleChanges object to the ngxsOnChanges hook.
114
+ */
115
+ export declare class NgxsSimpleChange<T = any> {
116
+ readonly previousValue: T;
117
+ readonly currentValue: T;
118
+ readonly firstChange: boolean;
119
+ constructor(previousValue: T, currentValue: T, firstChange: boolean);
120
+ }
121
+ /**
122
+ * On init interface
123
+ */
124
+ export interface NgxsOnInit {
125
+ ngxsOnInit(ctx: StateContext<any>): void;
126
+ }
127
+ /**
128
+ * On change interface
129
+ */
130
+ export interface NgxsOnChanges {
131
+ ngxsOnChanges(change: NgxsSimpleChange): void;
132
+ }
133
+ /**
134
+ * After bootstrap interface
135
+ */
136
+ export interface NgxsAfterBootstrap {
137
+ ngxsAfterBootstrap(ctx: StateContext<any>): void;
138
+ }
139
+ 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,7 @@
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 { 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,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