@ngxs/store 3.7.4 → 3.7.5

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