@ngxs/store 3.8.2-dev.master-414599c → 3.8.2-dev.master-9f0fcb0

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 (160) hide show
  1. package/esm2022/internals/initial-state.mjs +18 -0
  2. package/{esm2020 → esm2022}/internals/memoize.mjs +1 -1
  3. package/{esm2020 → esm2022}/internals/ngxs-bootstrapper.mjs +4 -4
  4. package/{esm2020 → esm2022}/internals/testing/helpers/ngxs-test.component.mjs +4 -4
  5. package/{esm2020 → esm2022}/internals/testing/helpers/ngxs-test.module.mjs +5 -5
  6. package/{esm2020 → esm2022}/operators/append.mjs +1 -1
  7. package/{esm2020 → esm2022}/operators/insert-item.mjs +1 -1
  8. package/esm2022/src/actions/actions.mjs +16 -0
  9. package/{esm2020 → esm2022}/src/actions-stream.mjs +8 -8
  10. package/esm2022/src/decorators/select/select-factory.mjs +29 -0
  11. package/{esm2020 → esm2022}/src/decorators/select/select.mjs +1 -1
  12. package/esm2022/src/decorators/selector/selector.mjs +32 -0
  13. package/{esm2020 → esm2022}/src/decorators/selector/symbols.mjs +1 -1
  14. package/esm2022/src/decorators/selector-options.mjs +21 -0
  15. package/{esm2020 → esm2022}/src/dev-features/ngxs-development.module.mjs +5 -5
  16. package/{esm2020 → esm2022}/src/dev-features/ngxs-unhandled-actions-logger.mjs +6 -6
  17. package/{esm2020 → esm2022}/src/execution/dispatch-outside-zone-ngxs-execution-strategy.mjs +6 -6
  18. package/{esm2020 → esm2022}/src/execution/internal-ngxs-execution-strategy.mjs +6 -6
  19. package/{esm2020 → esm2022}/src/execution/noop-ngxs-execution-strategy.mjs +4 -4
  20. package/{esm2020 → esm2022}/src/internal/dispatcher.mjs +8 -8
  21. package/{esm2020 → esm2022}/src/internal/error-handler.mjs +5 -5
  22. package/{esm2020 → esm2022}/src/internal/lifecycle-state-manager.mjs +5 -5
  23. package/{esm2020 → esm2022}/src/internal/state-context-factory.mjs +5 -5
  24. package/esm2022/src/internal/state-factory.mjs +298 -0
  25. package/{esm2020 → esm2022}/src/internal/state-operations.mjs +5 -5
  26. package/{esm2020 → esm2022}/src/internal/state-stream.mjs +5 -5
  27. package/{esm2020 → esm2022}/src/module.mjs +5 -5
  28. package/{esm2020 → esm2022}/src/modules/ngxs-feature.module.mjs +6 -6
  29. package/{esm2020 → esm2022}/src/modules/ngxs-root.module.mjs +6 -6
  30. package/{esm2020 → esm2022}/src/operators/of-action.mjs +1 -1
  31. package/{esm2020 → esm2022}/src/plugin-manager.mjs +6 -6
  32. package/{esm2020 → esm2022}/src/selectors/selector-metadata.mjs +4 -4
  33. package/esm2022/src/selectors/selector-utils.mjs +74 -0
  34. package/{esm2020 → esm2022}/src/store.mjs +6 -6
  35. package/{esm2020 → esm2022}/src/symbols.mjs +5 -5
  36. package/esm2022/src/utils/compose.mjs +26 -0
  37. package/{esm2020 → esm2022}/src/utils/freeze.mjs +1 -1
  38. package/{esm2020 → esm2022}/src/utils/utils.mjs +1 -1
  39. package/{fesm2020 → fesm2022}/ngxs-store-internals-testing.mjs +10 -10
  40. package/{fesm2020 → fesm2022}/ngxs-store-internals-testing.mjs.map +1 -1
  41. package/{fesm2020 → fesm2022}/ngxs-store-internals.mjs +4 -4
  42. package/fesm2022/ngxs-store-internals.mjs.map +1 -0
  43. package/fesm2022/ngxs-store-operators.mjs.map +1 -0
  44. package/{fesm2020 → fesm2022}/ngxs-store.mjs +133 -127
  45. package/fesm2022/ngxs-store.mjs.map +1 -0
  46. package/internals/src/symbols.d.ts +1 -1
  47. package/internals/symbols.d.ts +1 -1
  48. package/operators/patch.d.ts +2 -2
  49. package/operators/types.d.ts +5 -5
  50. package/operators/utils.d.ts +1 -1
  51. package/package.json +17 -29
  52. package/schematics/src/actions/files/__name__.actions.ts__template__ +2 -2
  53. package/schematics/src/ng-add/ng-add.factory.d.ts +1 -1
  54. package/schematics/src/starter-kit/files/store/auth/auth.actions.ts__template__ +2 -3
  55. package/schematics/src/starter-kit/files/store/auth/auth.state.ts__template__ +2 -2
  56. package/schematics/src/starter-kit/files/store/dashboard/states/dictionary/dictionary.actions.ts__template__ +3 -6
  57. package/schematics/src/starter-kit/files/store/dashboard/states/dictionary/dictionary.state.ts__template__ +4 -4
  58. package/schematics/src/starter-kit/files/store/dashboard/states/user/user.actions.ts__template__ +2 -2
  59. package/schematics/src/starter-kit/files/store/dashboard/states/user/user.state.ts__template__ +2 -2
  60. package/schematics/src/state/files/__name__.state.ts__template__ +1 -1
  61. package/schematics/src/state/state.factory.js +1 -1
  62. package/schematics/src/state/state.factory.js.map +1 -1
  63. package/schematics/src/store/files/__name__.actions.ts__template__ +3 -3
  64. package/schematics/src/store/files/__name__.state.ts__template__ +2 -2
  65. package/schematics/src/store/store.factory.js +1 -1
  66. package/schematics/src/store/store.factory.js.map +1 -1
  67. package/schematics/src/utils/common/lib.config.js +1 -1
  68. package/schematics/src/utils/common/lib.config.js.map +1 -1
  69. package/schematics/src/utils/ng-utils/project.js +6 -3
  70. package/schematics/src/utils/ng-utils/project.js.map +1 -1
  71. package/schematics/src/utils/ng-utils/standalone/code_block.d.ts +2 -2
  72. package/src/actions/symbols.d.ts +1 -1
  73. package/src/decorators/select/symbols.d.ts +1 -1
  74. package/src/decorators/selector/symbols.d.ts +2 -2
  75. package/src/internal/internals.d.ts +4 -4
  76. package/src/operators/of-action.d.ts +2 -2
  77. package/src/selectors/create-model-selector.d.ts +2 -2
  78. package/src/selectors/create-pick-selector.d.ts +1 -1
  79. package/src/selectors/create-property-selectors.d.ts +1 -1
  80. package/src/selectors/create-selector.d.ts +1 -1
  81. package/src/selectors/selector-types.util.d.ts +5 -5
  82. package/src/state-token/symbols.d.ts +3 -3
  83. package/src/symbols.d.ts +6 -6
  84. package/src/utils/compose.d.ts +1 -1
  85. package/esm2020/internals/initial-state.mjs +0 -18
  86. package/esm2020/src/actions/actions.mjs +0 -16
  87. package/esm2020/src/decorators/select/select-factory.mjs +0 -29
  88. package/esm2020/src/decorators/selector/selector.mjs +0 -32
  89. package/esm2020/src/decorators/selector-options.mjs +0 -21
  90. package/esm2020/src/internal/state-factory.mjs +0 -292
  91. package/esm2020/src/selectors/selector-utils.mjs +0 -74
  92. package/esm2020/src/utils/compose.mjs +0 -26
  93. package/fesm2015/ngxs-store-internals-testing.mjs +0 -183
  94. package/fesm2015/ngxs-store-internals-testing.mjs.map +0 -1
  95. package/fesm2015/ngxs-store-internals.mjs +0 -114
  96. package/fesm2015/ngxs-store-internals.mjs.map +0 -1
  97. package/fesm2015/ngxs-store-operators.mjs +0 -202
  98. package/fesm2015/ngxs-store-operators.mjs.map +0 -1
  99. package/fesm2015/ngxs-store.mjs +0 -2454
  100. package/fesm2015/ngxs-store.mjs.map +0 -1
  101. package/fesm2020/ngxs-store-internals.mjs.map +0 -1
  102. package/fesm2020/ngxs-store-operators.mjs.map +0 -1
  103. package/fesm2020/ngxs-store.mjs.map +0 -1
  104. /package/{esm2020 → esm2022}/index.mjs +0 -0
  105. /package/{esm2020 → esm2022}/internals/index.mjs +0 -0
  106. /package/{esm2020 → esm2022}/internals/internal-tokens.mjs +0 -0
  107. /package/{esm2020 → esm2022}/internals/ngxs-store-internals.mjs +0 -0
  108. /package/{esm2020 → esm2022}/internals/src/symbols.mjs +0 -0
  109. /package/{esm2020 → esm2022}/internals/symbols.mjs +0 -0
  110. /package/{esm2020 → esm2022}/internals/testing/fresh-platform.mjs +0 -0
  111. /package/{esm2020 → esm2022}/internals/testing/index.mjs +0 -0
  112. /package/{esm2020 → esm2022}/internals/testing/ngxs-store-internals-testing.mjs +0 -0
  113. /package/{esm2020 → esm2022}/internals/testing/ngxs.setup.mjs +0 -0
  114. /package/{esm2020 → esm2022}/internals/testing/skip-console-logging.mjs +0 -0
  115. /package/{esm2020 → esm2022}/internals/testing/symbol.mjs +0 -0
  116. /package/{esm2020 → esm2022}/ngxs-store.mjs +0 -0
  117. /package/{esm2020 → esm2022}/operators/compose.mjs +0 -0
  118. /package/{esm2020 → esm2022}/operators/iif.mjs +0 -0
  119. /package/{esm2020 → esm2022}/operators/index.mjs +0 -0
  120. /package/{esm2020 → esm2022}/operators/ngxs-store-operators.mjs +0 -0
  121. /package/{esm2020 → esm2022}/operators/patch.mjs +0 -0
  122. /package/{esm2020 → esm2022}/operators/remove-item.mjs +0 -0
  123. /package/{esm2020 → esm2022}/operators/types.mjs +0 -0
  124. /package/{esm2020 → esm2022}/operators/update-item.mjs +0 -0
  125. /package/{esm2020 → esm2022}/operators/utils.mjs +0 -0
  126. /package/{esm2020 → esm2022}/src/actions/symbols.mjs +0 -0
  127. /package/{esm2020 → esm2022}/src/configs/messages.config.mjs +0 -0
  128. /package/{esm2020 → esm2022}/src/decorators/action.mjs +0 -0
  129. /package/{esm2020 → esm2022}/src/decorators/select/symbols.mjs +0 -0
  130. /package/{esm2020 → esm2022}/src/decorators/state.mjs +0 -0
  131. /package/{esm2020 → esm2022}/src/dev-features/symbols.mjs +0 -0
  132. /package/{esm2020 → esm2022}/src/execution/symbols.mjs +0 -0
  133. /package/{esm2020 → esm2022}/src/internal/custom-rxjs-subjects.mjs +0 -0
  134. /package/{esm2020 → esm2022}/src/internal/internals.mjs +0 -0
  135. /package/{esm2020 → esm2022}/src/internal/state-operators.mjs +0 -0
  136. /package/{esm2020 → esm2022}/src/ivy/ivy-enabled-in-dev-mode.mjs +0 -0
  137. /package/{esm2020 → esm2022}/src/operators/leave-ngxs.mjs +0 -0
  138. /package/{esm2020 → esm2022}/src/plugin_api.mjs +0 -0
  139. /package/{esm2020 → esm2022}/src/private_api.mjs +0 -0
  140. /package/{esm2020 → esm2022}/src/public_api.mjs +0 -0
  141. /package/{esm2020 → esm2022}/src/public_to_deprecate.mjs +0 -0
  142. /package/{esm2020 → esm2022}/src/selectors/create-model-selector.mjs +0 -0
  143. /package/{esm2020 → esm2022}/src/selectors/create-pick-selector.mjs +0 -0
  144. /package/{esm2020 → esm2022}/src/selectors/create-property-selectors.mjs +0 -0
  145. /package/{esm2020 → esm2022}/src/selectors/create-selector.mjs +0 -0
  146. /package/{esm2020 → esm2022}/src/selectors/index.mjs +0 -0
  147. /package/{esm2020 → esm2022}/src/selectors/selector-checks.util.mjs +0 -0
  148. /package/{esm2020 → esm2022}/src/selectors/selector-models.mjs +0 -0
  149. /package/{esm2020 → esm2022}/src/selectors/selector-types.util.mjs +0 -0
  150. /package/{esm2020 → esm2022}/src/standalone-features/feature-providers.mjs +0 -0
  151. /package/{esm2020 → esm2022}/src/standalone-features/index.mjs +0 -0
  152. /package/{esm2020 → esm2022}/src/standalone-features/initializers.mjs +0 -0
  153. /package/{esm2020 → esm2022}/src/standalone-features/plugin.mjs +0 -0
  154. /package/{esm2020 → esm2022}/src/standalone-features/provide-states.mjs +0 -0
  155. /package/{esm2020 → esm2022}/src/standalone-features/provide-store.mjs +0 -0
  156. /package/{esm2020 → esm2022}/src/standalone-features/root-providers.mjs +0 -0
  157. /package/{esm2020 → esm2022}/src/state-token/state-token.mjs +0 -0
  158. /package/{esm2020 → esm2022}/src/state-token/symbols.mjs +0 -0
  159. /package/{esm2020 → esm2022}/src/utils/store-validators.mjs +0 -0
  160. /package/{fesm2020 → fesm2022}/ngxs-store-operators.mjs +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngxs/store",
3
- "version": "3.8.2-dev.master-414599c",
3
+ "version": "3.8.2-dev.master-9f0fcb0",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "peerDependencies": {
@@ -8,11 +8,7 @@
8
8
  "rxjs": ">=6.5.5"
9
9
  },
10
10
  "schematics": "./schematics/collection.json",
11
- "module": "fesm2015/ngxs-store.mjs",
12
- "es2020": "fesm2020/ngxs-store.mjs",
13
- "esm2020": "esm2020/ngxs-store.mjs",
14
- "fesm2020": "fesm2020/ngxs-store.mjs",
15
- "fesm2015": "fesm2015/ngxs-store.mjs",
11
+ "module": "fesm2022/ngxs-store.mjs",
16
12
  "typings": "index.d.ts",
17
13
  "exports": {
18
14
  "./package.json": {
@@ -20,35 +16,27 @@
20
16
  },
21
17
  ".": {
22
18
  "types": "./index.d.ts",
23
- "esm2020": "./esm2020/ngxs-store.mjs",
24
- "es2020": "./fesm2020/ngxs-store.mjs",
25
- "es2015": "./fesm2015/ngxs-store.mjs",
26
- "node": "./fesm2015/ngxs-store.mjs",
27
- "default": "./fesm2020/ngxs-store.mjs"
19
+ "esm2022": "./esm2022/ngxs-store.mjs",
20
+ "esm": "./esm2022/ngxs-store.mjs",
21
+ "default": "./fesm2022/ngxs-store.mjs"
28
22
  },
29
23
  "./internals": {
30
24
  "types": "./internals/index.d.ts",
31
- "esm2020": "./esm2020/internals/ngxs-store-internals.mjs",
32
- "es2020": "./fesm2020/ngxs-store-internals.mjs",
33
- "es2015": "./fesm2015/ngxs-store-internals.mjs",
34
- "node": "./fesm2015/ngxs-store-internals.mjs",
35
- "default": "./fesm2020/ngxs-store-internals.mjs"
36
- },
37
- "./internals/testing": {
38
- "types": "./internals/testing/index.d.ts",
39
- "esm2020": "./esm2020/internals/testing/ngxs-store-internals-testing.mjs",
40
- "es2020": "./fesm2020/ngxs-store-internals-testing.mjs",
41
- "es2015": "./fesm2015/ngxs-store-internals-testing.mjs",
42
- "node": "./fesm2015/ngxs-store-internals-testing.mjs",
43
- "default": "./fesm2020/ngxs-store-internals-testing.mjs"
25
+ "esm2022": "./esm2022/internals/ngxs-store-internals.mjs",
26
+ "esm": "./esm2022/internals/ngxs-store-internals.mjs",
27
+ "default": "./fesm2022/ngxs-store-internals.mjs"
44
28
  },
45
29
  "./operators": {
46
30
  "types": "./operators/index.d.ts",
47
- "esm2020": "./esm2020/operators/ngxs-store-operators.mjs",
48
- "es2020": "./fesm2020/ngxs-store-operators.mjs",
49
- "es2015": "./fesm2015/ngxs-store-operators.mjs",
50
- "node": "./fesm2015/ngxs-store-operators.mjs",
51
- "default": "./fesm2020/ngxs-store-operators.mjs"
31
+ "esm2022": "./esm2022/operators/ngxs-store-operators.mjs",
32
+ "esm": "./esm2022/operators/ngxs-store-operators.mjs",
33
+ "default": "./fesm2022/ngxs-store-operators.mjs"
34
+ },
35
+ "./internals/testing": {
36
+ "types": "./internals/testing/index.d.ts",
37
+ "esm2022": "./esm2022/internals/testing/ngxs-store-internals-testing.mjs",
38
+ "esm": "./esm2022/internals/testing/ngxs-store-internals-testing.mjs",
39
+ "default": "./fesm2022/ngxs-store-internals-testing.mjs"
52
40
  }
53
41
  },
54
42
  "dependencies": {
@@ -1,4 +1,4 @@
1
1
  export class <%= classify(name) %>Action {
2
- public static readonly type = '[<%= classify(name) %>] Add item';
3
- constructor(public payload: any) { }
2
+ static readonly type = '[<%= classify(name) %>] Add item';
3
+ constructor(readonly payload: any) { }
4
4
  }
@@ -1,7 +1,7 @@
1
1
  import { Rule } from '@angular-devkit/schematics';
2
2
  import { LIBRARIES } from '../utils/common/lib.config';
3
3
  import { NgxsPackageSchema } from './ng-add.schema';
4
- export declare type NormalizedNgxsPackageSchema = {
4
+ export type NormalizedNgxsPackageSchema = {
5
5
  skipInstall: boolean;
6
6
  plugins: LIBRARIES[];
7
7
  project: string;
@@ -1,7 +1,6 @@
1
1
  import { AuthenticationStateModel } from './auth.state';
2
2
 
3
3
  export class SetAuthData {
4
- public static readonly type = '[Auth] Auth data';
5
-
6
- constructor(public payload: AuthenticationStateModel) {}
4
+ static readonly type = '[Auth] Auth data';
5
+ constructor(readonly payload: AuthenticationStateModel) {}
7
6
  }
@@ -25,7 +25,7 @@ export interface AuthenticationStateModel {
25
25
  @Injectable()
26
26
  export class AuthState {
27
27
  @Selector()
28
- public static getAuthData(state: AuthenticationStateModel): AuthenticationStateModel {
28
+ static getAuthData(state: AuthenticationStateModel): AuthenticationStateModel {
29
29
  return AuthState.getInstanceState(state);
30
30
  }
31
31
 
@@ -38,7 +38,7 @@ export class AuthState {
38
38
  }
39
39
 
40
40
  @Action(SetAuthData)
41
- public setAuthData(
41
+ setAuthData(
42
42
  { setState }: StateContext<AuthenticationStateModel>,
43
43
  { payload }: SetAuthData
44
44
  ) {
@@ -1,13 +1,10 @@
1
1
  import { DictionaryStateModel } from './dictionary.state';
2
2
 
3
3
  export class SetDictionaryData {
4
- public static readonly type = '[Dictionary] Set dictionary data action';
5
-
6
- constructor(public payload: DictionaryStateModel) {}
4
+ static readonly type = '[Dictionary] Set dictionary data action';
5
+ constructor(readonly payload: DictionaryStateModel) {}
7
6
  }
8
7
 
9
8
  export class DictionaryReset {
10
- public static readonly type = '[Dictionary] Reset dictionary action';
11
-
12
- constructor() {}
9
+ static readonly type = '[Dictionary] Reset dictionary action';
13
10
  }
@@ -23,12 +23,12 @@ export interface DictionaryStateModel {
23
23
  @Injectable()
24
24
  export class DictionaryState {
25
25
  @Selector()
26
- public static getDictionaryState(state: DictionaryStateModel): DictionaryStateModel {
26
+ static getDictionaryState(state: DictionaryStateModel): DictionaryStateModel {
27
27
  return DictionaryState.getInstanceState(state);
28
28
  }
29
29
 
30
30
  @Selector()
31
- public static getDictionaryContent(state: DictionaryStateModel) {
31
+ static getDictionaryContent(state: DictionaryStateModel) {
32
32
  return state.content;
33
33
  }
34
34
 
@@ -41,7 +41,7 @@ export class DictionaryState {
41
41
  }
42
42
 
43
43
  @Action(SetDictionaryData)
44
- public setTasks(
44
+ setTasks(
45
45
  { setState }: StateContext<DictionaryStateModel>,
46
46
  { payload }: SetDictionaryData
47
47
  ) {
@@ -49,7 +49,7 @@ export class DictionaryState {
49
49
  }
50
50
 
51
51
  @Action(DictionaryReset)
52
- public resetTasks({ setState }: StateContext<DictionaryStateModel>) {
52
+ resetTasks({ setState }: StateContext<DictionaryStateModel>) {
53
53
  const initialState = {
54
54
  content: [],
55
55
  page: 0,
@@ -1,6 +1,6 @@
1
1
  import { UserStateModel } from './user.state';
2
2
 
3
3
  export class SetUser {
4
- public static readonly type = '[SetUser] action';
5
- constructor(public payload: UserStateModel) {}
4
+ static readonly type = '[SetUser] action';
5
+ constructor(readonly payload: UserStateModel) {}
6
6
  }
@@ -31,12 +31,12 @@ export interface UserStateModel {
31
31
  @Injectable()
32
32
  export class UserState {
33
33
  @Selector()
34
- public static getUser(state: UserStateModel): UserStateModel {
34
+ static getUser(state: UserStateModel): UserStateModel {
35
35
  return state;
36
36
  }
37
37
 
38
38
  @Action(SetUser)
39
- public setUser(ctx: StateContext<UserStateModel>, { payload }: SetUser) {
39
+ setUser(ctx: StateContext<UserStateModel>, { payload }: SetUser) {
40
40
  ctx.setState(payload);
41
41
  }
42
42
  }
@@ -15,7 +15,7 @@ export interface <%= classify(name) %>StateModel {
15
15
  export class <%= classify(name) %>State {
16
16
 
17
17
  @Selector()
18
- public static getState(state: <%= classify(name) %>StateModel) {
18
+ static getState(state: <%= classify(name) %>StateModel) {
19
19
  return state;
20
20
  }
21
21
 
@@ -19,7 +19,7 @@ function state(options) {
19
19
  const path = options.flat
20
20
  ? normalizedOptions.path
21
21
  : (0, path_1.join)(normalizedOptions.path, normalizedOptions.name);
22
- return (0, generate_utils_1.generateFiles)((0, schematics_1.url)('./files'), path, Object.assign(Object.assign({}, options), { isStandalone }), options.spec);
22
+ return (0, generate_utils_1.generateFiles)((0, schematics_1.url)('./files'), path, Object.assign(Object.assign({}, normalizedOptions), { isStandalone }), options.spec);
23
23
  };
24
24
  }
25
25
  exports.state = state;
@@ -1 +1 @@
1
- {"version":3,"file":"state.factory.js","sourceRoot":"","sources":["../../../../../packages/store/schematics/src/state/state.factory.ts"],"names":[],"mappings":";;;AAAA,2DAAkF;AAClF,+BAA4B;AAC5B,2DAAqD;AACrD,4DAAwD;AACxD,iEAAiE;AACjE,uDAA+D;AAC/D,kEAAkE;AAGlE,SAAgB,KAAK,CAAC,OAAoB;IACxC,OAAO,CAAC,IAAU,EAAE,EAAE;QACpB,IAAI,IAAA,oBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACzB,MAAM,IAAI,gCAAmB,CAAC,sCAAsC,CAAC,CAAC;SACvE;QAED,MAAM,QAAQ,GAAG,IAAA,4BAAkB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,IAAA,8BAAe,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAErD,MAAM,iBAAiB,GAAG,IAAA,wCAAoB,EAAC,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI;YACvB,CAAC,CAAC,iBAAiB,CAAC,IAAI;YACxB,CAAC,CAAC,IAAA,WAAI,EAAC,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEzD,OAAO,IAAA,8BAAa,EAAC,IAAA,gBAAG,EAAC,SAAS,CAAC,EAAE,IAAI,kCAAO,OAAO,KAAE,YAAY,KAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzF,CAAC,CAAC;AACJ,CAAC;AAhBD,sBAgBC"}
1
+ {"version":3,"file":"state.factory.js","sourceRoot":"","sources":["../../../../../packages/store/schematics/src/state/state.factory.ts"],"names":[],"mappings":";;;AAAA,2DAAkF;AAClF,+BAA4B;AAC5B,2DAAqD;AACrD,4DAAwD;AACxD,iEAAiE;AACjE,uDAA+D;AAC/D,kEAAkE;AAGlE,SAAgB,KAAK,CAAC,OAAoB;IACxC,OAAO,CAAC,IAAU,EAAE,EAAE;QACpB,IAAI,IAAA,oBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACzB,MAAM,IAAI,gCAAmB,CAAC,sCAAsC,CAAC,CAAC;SACvE;QAED,MAAM,QAAQ,GAAG,IAAA,4BAAkB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,IAAA,8BAAe,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAErD,MAAM,iBAAiB,GAAG,IAAA,wCAAoB,EAAC,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI;YACvB,CAAC,CAAC,iBAAiB,CAAC,IAAI;YACxB,CAAC,CAAC,IAAA,WAAI,EAAC,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEzD,OAAO,IAAA,8BAAa,EAClB,IAAA,gBAAG,EAAC,SAAS,CAAC,EACd,IAAI,kCACC,iBAAiB,KAAE,YAAY,KACpC,OAAO,CAAC,IAAI,CACb,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AArBD,sBAqBC"}
@@ -1,4 +1,4 @@
1
1
  export class <%= classify(name) %>Action {
2
- public static readonly type = '[<%= classify(name) %>] Add item';
3
- constructor(public payload: string) { }
4
- }
2
+ static readonly type = '[<%= classify(name) %>] Add item';
3
+ constructor(readonly payload: string) { }
4
+ }
@@ -16,12 +16,12 @@ export interface <%= classify(name) %>StateModel {
16
16
  export class <%= classify(name) %>State {
17
17
 
18
18
  @Selector()
19
- public static getState(state: <%= classify(name) %>StateModel) {
19
+ static getState(state: <%= classify(name) %>StateModel) {
20
20
  return state;
21
21
  }
22
22
 
23
23
  @Action(<%= classify(name) %>Action)
24
- public add(ctx: StateContext<<%= classify(name) %>StateModel>, { payload }: <%= classify(name) %>Action) {
24
+ add(ctx: StateContext<<%= classify(name) %>StateModel>, { payload }: <%= classify(name) %>Action) {
25
25
  const stateModel = ctx.getState();
26
26
  stateModel.items = [...stateModel.items, payload];
27
27
  ctx.setState(stateModel);
@@ -19,7 +19,7 @@ function store(options) {
19
19
  const path = options.flat
20
20
  ? normalizedOptions.path
21
21
  : (0, path_1.join)(normalizedOptions.path, normalizedOptions.name);
22
- return (0, generate_utils_1.generateFiles)((0, schematics_1.url)('./files'), path, Object.assign(Object.assign({}, options), { isStandalone }), options.spec);
22
+ return (0, generate_utils_1.generateFiles)((0, schematics_1.url)('./files'), path, Object.assign(Object.assign({}, normalizedOptions), { isStandalone }), options.spec);
23
23
  };
24
24
  }
25
25
  exports.store = store;
@@ -1 +1 @@
1
- {"version":3,"file":"store.factory.js","sourceRoot":"","sources":["../../../../../packages/store/schematics/src/store/store.factory.ts"],"names":[],"mappings":";;;AAAA,2DAAkF;AAClF,+BAA4B;AAC5B,2DAAqD;AACrD,4DAAwD;AACxD,iEAAiE;AACjE,uDAA+D;AAC/D,kEAAkE;AAGlE,SAAgB,KAAK,CAAC,OAAoB;IACxC,OAAO,CAAC,IAAU,EAAE,EAAE;QACpB,IAAI,IAAA,oBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACzB,MAAM,IAAI,gCAAmB,CAAC,sCAAsC,CAAC,CAAC;SACvE;QAED,MAAM,QAAQ,GAAG,IAAA,4BAAkB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,IAAA,8BAAe,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAErD,MAAM,iBAAiB,GAAG,IAAA,wCAAoB,EAAC,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI;YACvB,CAAC,CAAC,iBAAiB,CAAC,IAAI;YACxB,CAAC,CAAC,IAAA,WAAI,EAAC,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEzD,OAAO,IAAA,8BAAa,EAAC,IAAA,gBAAG,EAAC,SAAS,CAAC,EAAE,IAAI,kCAAO,OAAO,KAAE,YAAY,KAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzF,CAAC,CAAC;AACJ,CAAC;AAhBD,sBAgBC"}
1
+ {"version":3,"file":"store.factory.js","sourceRoot":"","sources":["../../../../../packages/store/schematics/src/store/store.factory.ts"],"names":[],"mappings":";;;AAAA,2DAAkF;AAClF,+BAA4B;AAC5B,2DAAqD;AACrD,4DAAwD;AACxD,iEAAiE;AACjE,uDAA+D;AAC/D,kEAAkE;AAGlE,SAAgB,KAAK,CAAC,OAAoB;IACxC,OAAO,CAAC,IAAU,EAAE,EAAE;QACpB,IAAI,IAAA,oBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACzB,MAAM,IAAI,gCAAmB,CAAC,sCAAsC,CAAC,CAAC;SACvE;QAED,MAAM,QAAQ,GAAG,IAAA,4BAAkB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,IAAA,8BAAe,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAErD,MAAM,iBAAiB,GAAG,IAAA,wCAAoB,EAAC,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI;YACvB,CAAC,CAAC,iBAAiB,CAAC,IAAI;YACxB,CAAC,CAAC,IAAA,WAAI,EAAC,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEzD,OAAO,IAAA,8BAAa,EAClB,IAAA,gBAAG,EAAC,SAAS,CAAC,EACd,IAAI,kCACC,iBAAiB,KAAE,YAAY,KACpC,OAAO,CAAC,IAAI,CACb,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AArBD,sBAqBC"}
@@ -11,5 +11,5 @@ var LIBRARIES;
11
11
  LIBRARIES["STORAGE"] = "@ngxs/storage-plugin";
12
12
  LIBRARIES["STORE"] = "@ngxs/store";
13
13
  LIBRARIES["WEBSOCKET"] = "@ngxs/websocket-plugin";
14
- })(LIBRARIES = exports.LIBRARIES || (exports.LIBRARIES = {}));
14
+ })(LIBRARIES || (exports.LIBRARIES = LIBRARIES = {}));
15
15
  //# sourceMappingURL=lib.config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lib.config.js","sourceRoot":"","sources":["../../../../../../packages/store/schematics/src/utils/common/lib.config.ts"],"names":[],"mappings":";;;AAAA,IAAY,SASX;AATD,WAAY,SAAS;IACnB,+CAAkC,CAAA;IAClC,uCAA0B,CAAA;IAC1B,qCAAwB,CAAA;IACxB,2CAA8B,CAAA;IAC9B,2CAA8B,CAAA;IAC9B,6CAAgC,CAAA;IAChC,kCAAqB,CAAA;IACrB,iDAAoC,CAAA;AACtC,CAAC,EATW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QASpB"}
1
+ {"version":3,"file":"lib.config.js","sourceRoot":"","sources":["../../../../../../packages/store/schematics/src/utils/common/lib.config.ts"],"names":[],"mappings":";;;AAAA,IAAY,SASX;AATD,WAAY,SAAS;IACnB,+CAAkC,CAAA;IAClC,uCAA0B,CAAA;IAC1B,qCAAwB,CAAA;IACxB,2CAA8B,CAAA;IAC9B,2CAA8B,CAAA;IAC9B,6CAAgC,CAAA;IAChC,kCAAqB,CAAA;IACrB,iDAAoC,CAAA;AACtC,CAAC,EATW,SAAS,yBAAT,SAAS,QASpB"}
@@ -12,10 +12,13 @@ function getProjectMainFile(host, project) {
12
12
  throw new schematics_1.SchematicsException(`Invalid project type`);
13
13
  }
14
14
  const projectOptions = resolvedProject.architect['build'].options;
15
- if (!(projectOptions === null || projectOptions === void 0 ? void 0 : projectOptions.main)) {
16
- throw new schematics_1.SchematicsException(`Could not find the main file`);
15
+ if (projectOptions === null || projectOptions === void 0 ? void 0 : projectOptions.main) {
16
+ return projectOptions.main;
17
17
  }
18
- return projectOptions.main;
18
+ else if (projectOptions === null || projectOptions === void 0 ? void 0 : projectOptions.browser) {
19
+ return projectOptions.browser;
20
+ }
21
+ throw new schematics_1.SchematicsException('No `main` or `browser` files have been found.');
19
22
  }
20
23
  exports.getProjectMainFile = getProjectMainFile;
21
24
  //# sourceMappingURL=project.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../../../../../packages/store/schematics/src/utils/ng-utils/project.ts"],"names":[],"mappings":";;;AAAA,2DAAuE;AACvE,wCAA+C;AAE/C,SAAgB,kBAAkB,CAAC,IAAU,EAAE,OAAgB;IAC7D,MAAM,eAAe,GAAG,IAAA,oBAAU,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,eAAe,EAAE;QACpB,MAAM,IAAI,gCAAmB,CAAC,YAAY,OAAO,mBAAmB,CAAC,CAAC;KACvE;IACD,IAAI,IAAA,eAAK,EAAC,IAAI,EAAE,OAAO,CAAC,EAAE;QACxB,MAAM,IAAI,gCAAmB,CAAC,sBAAsB,CAAC,CAAC;KACvD;IACD,MAAM,cAAc,GAAG,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;IAElE,IAAI,CAAC,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,CAAA,EAAE;QACzB,MAAM,IAAI,gCAAmB,CAAC,8BAA8B,CAAC,CAAC;KAC/D;IAED,OAAO,cAAc,CAAC,IAAc,CAAC;AACvC,CAAC;AAfD,gDAeC"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../../../../../packages/store/schematics/src/utils/ng-utils/project.ts"],"names":[],"mappings":";;;AAAA,2DAAuE;AACvE,wCAA+C;AAE/C,SAAgB,kBAAkB,CAAC,IAAU,EAAE,OAAgB;IAC7D,MAAM,eAAe,GAAG,IAAA,oBAAU,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,eAAe,EAAE;QACpB,MAAM,IAAI,gCAAmB,CAAC,YAAY,OAAO,mBAAmB,CAAC,CAAC;KACvE;IACD,IAAI,IAAA,eAAK,EAAC,IAAI,EAAE,OAAO,CAAC,EAAE;QACxB,MAAM,IAAI,gCAAmB,CAAC,sBAAsB,CAAC,CAAC;KACvD;IACD,MAAM,cAAc,GAAG,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;IAElE,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,EAAE;QACxB,OAAO,cAAc,CAAC,IAAc,CAAC;KACtC;SAAM,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,OAAO,EAAE;QAClC,OAAO,cAAc,CAAC,OAAiB,CAAC;KACzC;IAED,MAAM,IAAI,gCAAmB,CAAC,+CAA+C,CAAC,CAAC;AACjF,CAAC;AAjBD,gDAiBC"}
@@ -7,12 +7,12 @@ export interface PendingCode {
7
7
  imports: PendingImports;
8
8
  }
9
9
  /** Map keeping track of imports and aliases under which they're referred to in an expresion. */
10
- declare type PendingImports = Map<string, Map<string, string>>;
10
+ type PendingImports = Map<string, Map<string, string>>;
11
11
  /**
12
12
  * Callback invoked by a Rule that produces the code
13
13
  * that needs to be inserted somewhere in the app.
14
14
  */
15
- export declare type CodeBlockCallback = (block: CodeBlock) => PendingCode;
15
+ export type CodeBlockCallback = (block: CodeBlock) => PendingCode;
16
16
  /**
17
17
  * Utility class used to generate blocks of code that
18
18
  * can be inserted by the devkit into a user's app.
@@ -2,7 +2,7 @@ export interface ActionDef<T = any, U = any> {
2
2
  type: string;
3
3
  new (...args: T[]): U;
4
4
  }
5
- export declare type ActionType = ActionDef | {
5
+ export type ActionType = ActionDef | {
6
6
  type: string;
7
7
  };
8
8
  /**
@@ -7,4 +7,4 @@ export declare function createSelectorFn(name: string, rawSelector?: any, paths?
7
7
  * @example If `foo$` => make it just `foo`
8
8
  */
9
9
  export declare function removeDollarAtTheEnd(name: string): string;
10
- export declare type PropertyType<T> = T extends StateToken<any> ? Observable<ExtractTokenType<T>> : T extends (...args: any[]) => any ? Observable<ReturnType<T>> : any;
10
+ export type PropertyType<T> = T extends StateToken<any> ? Observable<ExtractTokenType<T>> : T extends (...args: any[]) => any ? Observable<ReturnType<T>> : any;
@@ -1,4 +1,4 @@
1
1
  import { StateToken } from '../../state-token/state-token';
2
2
  import { ExtractTokenType } from '../../state-token/symbols';
3
- export declare type SelectorSpec<T, U> = [T] extends [never] ? ((...states: any[]) => any) : (T extends StateToken<any> ? (state: ExtractTokenType<T>) => U : (...states: any[]) => any);
4
- export declare type SelectorType<T> = <U>(target: any, key: string | symbol, descriptor: TypedPropertyDescriptor<SelectorSpec<T, U>>) => TypedPropertyDescriptor<SelectorSpec<T, U>> | void;
3
+ export type SelectorSpec<T, U> = [T] extends [never] ? (...states: any[]) => any : T extends StateToken<any> ? (state: ExtractTokenType<T>) => U : (...states: any[]) => any;
4
+ export type SelectorType<T> = <U>(target: any, key: string | symbol, descriptor: TypedPropertyDescriptor<SelectorSpec<T, U>>) => TypedPropertyDescriptor<SelectorSpec<T, U>> | void;
@@ -6,8 +6,8 @@ export interface StateClassInternal<T = any, U = any> extends ɵStateClass<T> {
6
6
  [ɵMETA_KEY]?: MetaDataModel;
7
7
  [ɵMETA_OPTIONS_KEY]?: StoreOptions<U>;
8
8
  }
9
- export declare type StateKeyGraph = PlainObjectOf<string[]>;
10
- export declare type StatesByName = PlainObjectOf<StateClassInternal>;
9
+ export type StateKeyGraph = PlainObjectOf<string[]>;
10
+ export type StatesByName = PlainObjectOf<StateClassInternal>;
11
11
  export interface StateOperations<T> {
12
12
  getState(): T;
13
13
  setState(val: T): T;
@@ -25,8 +25,8 @@ export interface RuntimeSelectorContext {
25
25
  getStateGetter(key: any): (state: any) => any;
26
26
  getSelectorOptions(localOptions?: SharedSelectorOptions): SharedSelectorOptions;
27
27
  }
28
- export declare type SelectFromRootState = (rootState: any) => any;
29
- export declare type SelectorFactory = (runtimeContext: RuntimeSelectorContext) => SelectFromRootState;
28
+ export type SelectFromRootState = (rootState: any) => any;
29
+ export type SelectorFactory = (runtimeContext: RuntimeSelectorContext) => SelectFromRootState;
30
30
  export interface SharedSelectorOptions {
31
31
  injectContainerState?: boolean;
32
32
  suppressErrors?: boolean;
@@ -1,14 +1,14 @@
1
1
  import { OperatorFunction } from 'rxjs';
2
2
  import { ActionType } from '../actions/symbols';
3
3
  import { ActionContext } from '../actions-stream';
4
- declare type TupleKeys<T extends any[]> = Exclude<keyof T, keyof []>;
4
+ type TupleKeys<T extends any[]> = Exclude<keyof T, keyof []>;
5
5
  /**
6
6
  * Given a POJO, returns the POJO type, given a class constructor object, returns the type of the class.
7
7
  *
8
8
  * This utility type exists due to the complexity of ActionType being either an ActionDef class or the plain
9
9
  * `{ type: string }` type (or similar compatible POJO types).
10
10
  */
11
- declare type Constructed<T> = T extends new (...args: any[]) => infer U ? U : T;
11
+ type Constructed<T> = T extends new (...args: any[]) => infer U ? U : T;
12
12
  export interface ActionCompletion<T = any, E = Error> {
13
13
  action: T;
14
14
  result: {
@@ -2,8 +2,8 @@ import { TypedSelector } from './selector-types.util';
2
2
  interface SelectorMap {
3
3
  [key: string]: TypedSelector<any>;
4
4
  }
5
- declare type ModelSelector<T extends SelectorMap> = (...args: any[]) => MappedResult<T>;
6
- declare type MappedResult<TSelectorMap> = {
5
+ type ModelSelector<T extends SelectorMap> = (...args: any[]) => MappedResult<T>;
6
+ type MappedResult<TSelectorMap> = {
7
7
  [P in keyof TSelectorMap]: TSelectorMap[P] extends TypedSelector<infer R> ? R : never;
8
8
  };
9
9
  export declare function createModelSelector<T extends SelectorMap>(selectorMap: T): ModelSelector<T>;
@@ -1,5 +1,5 @@
1
1
  import { TypedSelector } from './selector-types.util';
2
- declare type KeysToValues<T, Keys extends (keyof T)[]> = {
2
+ type KeysToValues<T, Keys extends (keyof T)[]> = {
3
3
  [Index in keyof Keys]: Keys[Index] extends keyof T ? T[Keys[Index]] : never;
4
4
  };
5
5
  export declare function createPickSelector<TModel, Keys extends (keyof TModel)[]>(selector: TypedSelector<TModel>, keys: [...Keys]): (...props: KeysToValues<TModel, Keys>) => Pick<TModel, Keys[number]>;
@@ -1,5 +1,5 @@
1
1
  import { SelectorDef } from './selector-types.util';
2
- export declare type PropertySelectors<TModel> = {
2
+ export type PropertySelectors<TModel> = {
3
3
  [P in keyof NonNullable<TModel>]-?: (model: TModel) => TModel extends null | undefined ? undefined : NonNullable<TModel>[P];
4
4
  };
5
5
  export declare function createPropertySelectors<TModel>(parentSelector: SelectorDef<TModel>): PropertySelectors<TModel>;
@@ -1,6 +1,6 @@
1
1
  import { CreationMetadata } from './selector-models';
2
2
  import { SelectorDef, SelectorReturnType } from './selector-types.util';
3
- declare type SelectorArg = SelectorDef<any>;
3
+ type SelectorArg = SelectorDef<any>;
4
4
  /**
5
5
  * Function for creating a selector
6
6
  * @param selectors The selectors to use to create the arguments of this function
@@ -1,7 +1,7 @@
1
1
  import { ɵStateClass } from '@ngxs/store/internals';
2
2
  import { StateToken } from '../state-token/state-token';
3
- export declare type SelectorFunc<TModel> = (...arg: any[]) => TModel;
4
- export declare type TypedSelector<TModel> = StateToken<TModel> | SelectorFunc<TModel>;
5
- export declare type StateSelector = ɵStateClass<any>;
6
- export declare type SelectorDef<TModel> = StateSelector | TypedSelector<TModel>;
7
- export declare type SelectorReturnType<T extends SelectorDef<any>> = T extends StateToken<infer R1> ? R1 : T extends SelectorFunc<infer R2> ? R2 : T extends ɵStateClass<any> ? any : never;
3
+ export type SelectorFunc<TModel> = (...arg: any[]) => TModel;
4
+ export type TypedSelector<TModel> = StateToken<TModel> | SelectorFunc<TModel>;
5
+ export type StateSelector = ɵStateClass<any>;
6
+ export type SelectorDef<TModel> = StateSelector | TypedSelector<TModel>;
7
+ export type SelectorReturnType<T extends SelectorDef<any>> = T extends StateToken<infer R1> ? R1 : T extends SelectorFunc<infer R2> ? R2 : T extends ɵStateClass<any> ? any : never;
@@ -1,5 +1,5 @@
1
1
  import { StateToken } from './state-token';
2
- declare type RequireGeneric<T, U> = T extends void ? 'You must provide a type parameter' : U;
3
- export declare type TokenName<T> = string & RequireGeneric<T, string>;
4
- export declare type ExtractTokenType<P> = P extends StateToken<infer T> ? T : never;
2
+ type RequireGeneric<T, U> = T extends void ? 'You must provide a type parameter' : U;
3
+ export type TokenName<T> = string & RequireGeneric<T, string>;
4
+ export type ExtractTokenType<P> = P extends StateToken<infer T> ? T : never;
5
5
  export {};
package/src/symbols.d.ts CHANGED
@@ -6,12 +6,12 @@ import { NgxsExecutionStrategy } from './execution/symbols';
6
6
  import { SharedSelectorOptions } from './internal/internals';
7
7
  import { StateToken } from './state-token/state-token';
8
8
  import * as i0 from "@angular/core";
9
- export declare const ROOT_STATE_TOKEN: InjectionToken<ɵStateClass<any>[]>;
10
- export declare const FEATURE_STATE_TOKEN: InjectionToken<ɵStateClass<any>[][]>;
9
+ export declare const ROOT_STATE_TOKEN: InjectionToken<ɵStateClass[]>;
10
+ export declare const FEATURE_STATE_TOKEN: InjectionToken<ɵStateClass[][]>;
11
11
  export declare const NGXS_PLUGINS: InjectionToken<unknown>;
12
12
  export declare const NGXS_OPTIONS: InjectionToken<Partial<NgxsConfig>>;
13
- export declare type NgxsLifeCycle = Partial<NgxsOnChanges> & Partial<NgxsOnInit> & Partial<NgxsAfterBootstrap>;
14
- export declare type NgxsPluginFn = (state: any, mutation: any, next: NgxsNextPluginFn) => any;
13
+ export type NgxsLifeCycle = Partial<NgxsOnChanges> & Partial<NgxsOnInit> & Partial<NgxsAfterBootstrap>;
14
+ export type NgxsPluginFn = (state: any, mutation: any, next: NgxsNextPluginFn) => any;
15
15
  /**
16
16
  * The NGXS config settings.
17
17
  */
@@ -83,7 +83,7 @@ export interface StateContext<T> {
83
83
  */
84
84
  dispatch(actions: any | any[]): Observable<void>;
85
85
  }
86
- export declare type NgxsNextPluginFn = (state: any, mutation: any) => any;
86
+ export type NgxsNextPluginFn = (state: any, mutation: any) => any;
87
87
  /**
88
88
  * Plugin interface
89
89
  */
@@ -138,4 +138,4 @@ export interface NgxsOnChanges {
138
138
  export interface NgxsAfterBootstrap {
139
139
  ngxsAfterBootstrap(ctx: StateContext<any>): void;
140
140
  }
141
- export declare type NgxsModuleOptions = Partial<NgxsConfig>;
141
+ export type NgxsModuleOptions = Partial<NgxsConfig>;
@@ -1,4 +1,4 @@
1
- export declare type StateFn = (...args: any[]) => any;
1
+ export type StateFn = (...args: any[]) => any;
2
2
  /**
3
3
  * Composes a array of functions from left to right. Example:
4
4
  *
@@ -1,18 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- const NG_DEV_MODE = typeof ngDevMode === 'undefined' || ngDevMode;
3
- export class InitialState {
4
- static set(state) {
5
- this._value = state;
6
- }
7
- static pop() {
8
- const state = this._value;
9
- this._value = {};
10
- return state;
11
- }
12
- }
13
- InitialState._value = {};
14
- export const INITIAL_STATE_TOKEN = new InjectionToken(NG_DEV_MODE ? 'INITIAL_STATE_TOKEN' : '', {
15
- providedIn: 'root',
16
- factory: () => InitialState.pop()
17
- });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbC1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL2ludGVybmFscy9zcmMvaW5pdGlhbC1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTS9DLE1BQU0sV0FBVyxHQUFHLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLENBQUM7QUFFbEUsTUFBTSxPQUFPLFlBQVk7SUFHdkIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFrQjtRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUc7UUFDUixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7QUFWYyxtQkFBTSxHQUFnQixFQUFFLENBQUM7QUFhMUMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQ25ELFdBQVcsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDeEM7SUFDRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRTtDQUNsQyxDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQbGFpbk9iamVjdCB9IGZyb20gJy4vc3ltYm9scyc7XG5cbmRlY2xhcmUgY29uc3QgbmdEZXZNb2RlOiBib29sZWFuO1xuXG5jb25zdCBOR19ERVZfTU9ERSA9IHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZTtcblxuZXhwb3J0IGNsYXNzIEluaXRpYWxTdGF0ZSB7XG4gIHByaXZhdGUgc3RhdGljIF92YWx1ZTogUGxhaW5PYmplY3QgPSB7fTtcblxuICBzdGF0aWMgc2V0KHN0YXRlOiBQbGFpbk9iamVjdCkge1xuICAgIHRoaXMuX3ZhbHVlID0gc3RhdGU7XG4gIH1cblxuICBzdGF0aWMgcG9wKCk6IFBsYWluT2JqZWN0IHtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuX3ZhbHVlO1xuICAgIHRoaXMuX3ZhbHVlID0ge307XG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBJTklUSUFMX1NUQVRFX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPFBsYWluT2JqZWN0PihcbiAgTkdfREVWX01PREUgPyAnSU5JVElBTF9TVEFURV9UT0tFTicgOiAnJyxcbiAge1xuICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICBmYWN0b3J5OiAoKSA9PiBJbml0aWFsU3RhdGUucG9wKClcbiAgfVxuKTtcbiJdfQ==
@@ -1,16 +0,0 @@
1
- /**
2
- * Init action
3
- */
4
- export class InitState {
5
- }
6
- InitState.type = '@@INIT';
7
- /**
8
- * Update action
9
- */
10
- export class UpdateState {
11
- constructor(addedStates) {
12
- this.addedStates = addedStates;
13
- }
14
- }
15
- UpdateState.type = '@@UPDATE_STATE';
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9hY3Rpb25zL2FjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sU0FBUzs7QUFDSixjQUFJLEdBQUcsUUFBUSxDQUFDO0FBR2xDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFHdEIsWUFBbUIsV0FBeUI7UUFBekIsZ0JBQVcsR0FBWCxXQUFXLENBQWM7SUFBRyxDQUFDOztBQUZoQyxnQkFBSSxHQUFHLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaW5PYmplY3QgfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuXG4vKipcbiAqIEluaXQgYWN0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBJbml0U3RhdGUge1xuICBzdGF0aWMgcmVhZG9ubHkgdHlwZSA9ICdAQElOSVQnO1xufVxuXG4vKipcbiAqIFVwZGF0ZSBhY3Rpb25cbiAqL1xuZXhwb3J0IGNsYXNzIFVwZGF0ZVN0YXRlIHtcbiAgc3RhdGljIHJlYWRvbmx5IHR5cGUgPSAnQEBVUERBVEVfU1RBVEUnO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBhZGRlZFN0YXRlcz86IFBsYWluT2JqZWN0KSB7fVxufVxuIl19
@@ -1,29 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Store } from '../../store';
3
- import { NgxsConfig } from '../../symbols';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../../store";
6
- import * as i2 from "../../symbols";
7
- /**
8
- * Allows the select decorator to get access to the DI store, this is used internally
9
- * in `@Select` decorator.
10
- */
11
- export class SelectFactory {
12
- constructor(store, config) {
13
- SelectFactory.store = store;
14
- SelectFactory.config = config;
15
- }
16
- ngOnDestroy() {
17
- SelectFactory.store = null;
18
- SelectFactory.config = null;
19
- }
20
- }
21
- SelectFactory.store = null;
22
- SelectFactory.config = null;
23
- /** @nocollapse */ SelectFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SelectFactory, deps: [{ token: i1.Store }, { token: i2.NgxsConfig }], target: i0.ɵɵFactoryTarget.Injectable });
24
- /** @nocollapse */ SelectFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SelectFactory, providedIn: 'root' });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: SelectFactory, decorators: [{
26
- type: Injectable,
27
- args: [{ providedIn: 'root' }]
28
- }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.NgxsConfig }]; } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvZGVjb3JhdG9ycy9zZWxlY3Qvc2VsZWN0LWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUV0RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFFM0M7OztHQUdHO0FBRUgsTUFBTSxPQUFPLGFBQWE7SUFJeEIsWUFBWSxLQUFZLEVBQUUsTUFBa0I7UUFDMUMsYUFBYSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDNUIsYUFBYSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDaEMsQ0FBQztJQUVELFdBQVc7UUFDVCxhQUFhLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUMzQixhQUFhLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUM5QixDQUFDOztBQVhNLG1CQUFLLEdBQWlCLElBQUksQ0FBQztBQUMzQixvQkFBTSxHQUFzQixJQUFJLENBQUM7NkhBRjdCLGFBQWE7aUlBQWIsYUFBYSxjQURBLE1BQU07MkZBQ25CLGFBQWE7a0JBRHpCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnLi4vLi4vc3RvcmUnO1xuaW1wb3J0IHsgTmd4c0NvbmZpZyB9IGZyb20gJy4uLy4uL3N5bWJvbHMnO1xuXG4vKipcbiAqIEFsbG93cyB0aGUgc2VsZWN0IGRlY29yYXRvciB0byBnZXQgYWNjZXNzIHRvIHRoZSBESSBzdG9yZSwgdGhpcyBpcyB1c2VkIGludGVybmFsbHlcbiAqIGluIGBAU2VsZWN0YCBkZWNvcmF0b3IuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU2VsZWN0RmFjdG9yeSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHN0YXRpYyBzdG9yZTogU3RvcmUgfCBudWxsID0gbnVsbDtcbiAgc3RhdGljIGNvbmZpZzogTmd4c0NvbmZpZyB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHN0b3JlOiBTdG9yZSwgY29uZmlnOiBOZ3hzQ29uZmlnKSB7XG4gICAgU2VsZWN0RmFjdG9yeS5zdG9yZSA9IHN0b3JlO1xuICAgIFNlbGVjdEZhY3RvcnkuY29uZmlnID0gY29uZmlnO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgU2VsZWN0RmFjdG9yeS5zdG9yZSA9IG51bGw7XG4gICAgU2VsZWN0RmFjdG9yeS5jb25maWcgPSBudWxsO1xuICB9XG59XG4iXX0=
@@ -1,32 +0,0 @@
1
- import { throwSelectorDecoratorError } from '../../configs/messages.config';
2
- import { createSelector } from '../../selectors/create-selector';
3
- export function Selector(selectors) {
4
- return (target, key, descriptor) => {
5
- descriptor || (descriptor = Object.getOwnPropertyDescriptor(target, key));
6
- const originalFn = descriptor?.value;
7
- // Caretaker note: we have still left the `typeof` condition in order to avoid
8
- // creating a breaking change for projects that still use the View Engine.
9
- if (typeof ngDevMode === 'undefined' || ngDevMode) {
10
- if (originalFn && typeof originalFn !== 'function') {
11
- throwSelectorDecoratorError();
12
- }
13
- }
14
- const memoizedFn = createSelector(selectors, originalFn, {
15
- containerClass: target,
16
- selectorName: key.toString(),
17
- getSelectorOptions() {
18
- return {};
19
- },
20
- });
21
- const newDescriptor = {
22
- configurable: true,
23
- get() {
24
- return memoizedFn;
25
- },
26
- };
27
- // Add hidden property to descriptor
28
- newDescriptor['originalFn'] = originalFn;
29
- return newDescriptor;
30
- };
31
- }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvZGVjb3JhdG9ycy9zZWxlY3Rvci9zZWxlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFhakUsTUFBTSxVQUFVLFFBQVEsQ0FBNkIsU0FBZTtJQUNsRSxPQUFPLENBQ0wsTUFBVyxFQUNYLEdBQW9CLEVBQ3BCLFVBQXVELEVBQ0gsRUFBRTtRQUN0RCxVQUFVLEtBQVYsVUFBVSxHQUFLLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFFLEVBQUM7UUFFN0QsTUFBTSxVQUFVLEdBQUcsVUFBVSxFQUFFLEtBQUssQ0FBQztRQUVyQyw4RUFBOEU7UUFDOUUsMEVBQTBFO1FBQzFFLElBQUksT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsRUFBRTtZQUNqRCxJQUFJLFVBQVUsSUFBSSxPQUFPLFVBQVUsS0FBSyxVQUFVLEVBQUU7Z0JBQ2xELDJCQUEyQixFQUFFLENBQUM7YUFDL0I7U0FDRjtRQUVELE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxTQUFTLEVBQUUsVUFBaUIsRUFBRTtZQUM5RCxjQUFjLEVBQUUsTUFBTTtZQUN0QixZQUFZLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRTtZQUM1QixrQkFBa0I7Z0JBQ2hCLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQztTQUNGLENBQUMsQ0FBQztRQUNILE1BQU0sYUFBYSxHQUFHO1lBQ3BCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLEdBQUc7Z0JBQ0QsT0FBTyxVQUFVLENBQUM7WUFDcEIsQ0FBQztTQUNGLENBQUM7UUFDRixvQ0FBb0M7UUFDOUIsYUFBYyxDQUFDLFlBQVksQ0FBQyxHQUFHLFVBQVUsQ0FBQztRQUNoRCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGhyb3dTZWxlY3RvckRlY29yYXRvckVycm9yIH0gZnJvbSAnLi4vLi4vY29uZmlncy9tZXNzYWdlcy5jb25maWcnO1xuaW1wb3J0IHsgU2VsZWN0b3JEZWYgfSBmcm9tICcuLi8uLi9zZWxlY3RvcnMnO1xuaW1wb3J0IHsgY3JlYXRlU2VsZWN0b3IgfSBmcm9tICcuLi8uLi9zZWxlY3RvcnMvY3JlYXRlLXNlbGVjdG9yJztcbmltcG9ydCB7IFNlbGVjdG9yU3BlYywgU2VsZWN0b3JUeXBlIH0gZnJvbSAnLi9zeW1ib2xzJztcblxuLyoqXG4gKiBEZWNvcmF0b3IgZm9yIGNyZWF0aW5nIGEgc3RhdGUgc2VsZWN0b3IgZm9yIHRoZSBjdXJyZW50IHN0YXRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gU2VsZWN0b3IoKTogU2VsZWN0b3JUeXBlPHVua25vd24+O1xuXG4vKipcbiAqIERlY29yYXRvciBmb3IgY3JlYXRpbmcgYSBzdGF0ZSBzZWxlY3RvciBmcm9tIHRoZSBwcm92aWRlZCBzZWxlY3RvcnMgKGFuZCBvcHRpb25hbGx5IHRoZSBjb250YWluZXIgU3RhdGUsIGRlcGVuZGluZyBvbiB0aGUgYXBwbGljYWJsZSBTZWxlY3RvciBPcHRpb25zKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFNlbGVjdG9yPFQgZXh0ZW5kcyBTZWxlY3RvckRlZjxhbnk+PihzZWxlY3RvcnM6IFRbXSk6IFNlbGVjdG9yVHlwZTxUPjtcblxuZXhwb3J0IGZ1bmN0aW9uIFNlbGVjdG9yPFQgZXh0ZW5kcyBTZWxlY3RvckRlZjxhbnk+PihzZWxlY3RvcnM/OiBUW10pOiBTZWxlY3RvclR5cGU8VD4ge1xuICByZXR1cm4gPFU+KFxuICAgIHRhcmdldDogYW55LFxuICAgIGtleTogc3RyaW5nIHwgc3ltYm9sLFxuICAgIGRlc2NyaXB0b3I6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPFNlbGVjdG9yU3BlYzxULCBVPj5cbiAgKTogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8U2VsZWN0b3JTcGVjPFQsIFU+PiB8IHZvaWQgPT4ge1xuICAgIGRlc2NyaXB0b3IgfHw9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpITtcblxuICAgIGNvbnN0IG9yaWdpbmFsRm4gPSBkZXNjcmlwdG9yPy52YWx1ZTtcblxuICAgIC8vIENhcmV0YWtlciBub3RlOiB3ZSBoYXZlIHN0aWxsIGxlZnQgdGhlIGB0eXBlb2ZgIGNvbmRpdGlvbiBpbiBvcmRlciB0byBhdm9pZFxuICAgIC8vIGNyZWF0aW5nIGEgYnJlYWtpbmcgY2hhbmdlIGZvciBwcm9qZWN0cyB0aGF0IHN0aWxsIHVzZSB0aGUgVmlldyBFbmdpbmUuXG4gICAgaWYgKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkge1xuICAgICAgaWYgKG9yaWdpbmFsRm4gJiYgdHlwZW9mIG9yaWdpbmFsRm4gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhyb3dTZWxlY3RvckRlY29yYXRvckVycm9yKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgbWVtb2l6ZWRGbiA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdG9ycywgb3JpZ2luYWxGbiBhcyBhbnksIHtcbiAgICAgIGNvbnRhaW5lckNsYXNzOiB0YXJnZXQsXG4gICAgICBzZWxlY3Rvck5hbWU6IGtleS50b1N0cmluZygpLFxuICAgICAgZ2V0U2VsZWN0b3JPcHRpb25zKCkge1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9LFxuICAgIH0pO1xuICAgIGNvbnN0IG5ld0Rlc2NyaXB0b3IgPSB7XG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICBnZXQoKSB7XG4gICAgICAgIHJldHVybiBtZW1vaXplZEZuO1xuICAgICAgfSxcbiAgICB9O1xuICAgIC8vIEFkZCBoaWRkZW4gcHJvcGVydHkgdG8gZGVzY3JpcHRvclxuICAgICg8YW55Pm5ld0Rlc2NyaXB0b3IpWydvcmlnaW5hbEZuJ10gPSBvcmlnaW5hbEZuO1xuICAgIHJldHVybiBuZXdEZXNjcmlwdG9yO1xuICB9O1xufVxuIl19