@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.
- package/esm2022/internals/initial-state.mjs +18 -0
- package/{esm2020 → esm2022}/internals/memoize.mjs +1 -1
- package/{esm2020 → esm2022}/internals/ngxs-bootstrapper.mjs +4 -4
- package/{esm2020 → esm2022}/internals/testing/helpers/ngxs-test.component.mjs +4 -4
- package/{esm2020 → esm2022}/internals/testing/helpers/ngxs-test.module.mjs +5 -5
- package/{esm2020 → esm2022}/operators/append.mjs +1 -1
- package/{esm2020 → esm2022}/operators/insert-item.mjs +1 -1
- package/esm2022/src/actions/actions.mjs +16 -0
- package/{esm2020 → esm2022}/src/actions-stream.mjs +8 -8
- package/esm2022/src/decorators/select/select-factory.mjs +29 -0
- package/{esm2020 → esm2022}/src/decorators/select/select.mjs +1 -1
- package/esm2022/src/decorators/selector/selector.mjs +32 -0
- package/{esm2020 → esm2022}/src/decorators/selector/symbols.mjs +1 -1
- package/esm2022/src/decorators/selector-options.mjs +21 -0
- package/{esm2020 → esm2022}/src/dev-features/ngxs-development.module.mjs +5 -5
- package/{esm2020 → esm2022}/src/dev-features/ngxs-unhandled-actions-logger.mjs +6 -6
- package/{esm2020 → esm2022}/src/execution/dispatch-outside-zone-ngxs-execution-strategy.mjs +6 -6
- package/{esm2020 → esm2022}/src/execution/internal-ngxs-execution-strategy.mjs +6 -6
- package/{esm2020 → esm2022}/src/execution/noop-ngxs-execution-strategy.mjs +4 -4
- package/{esm2020 → esm2022}/src/internal/dispatcher.mjs +8 -8
- package/{esm2020 → esm2022}/src/internal/error-handler.mjs +5 -5
- package/{esm2020 → esm2022}/src/internal/lifecycle-state-manager.mjs +5 -5
- package/{esm2020 → esm2022}/src/internal/state-context-factory.mjs +5 -5
- package/esm2022/src/internal/state-factory.mjs +298 -0
- package/{esm2020 → esm2022}/src/internal/state-operations.mjs +5 -5
- package/{esm2020 → esm2022}/src/internal/state-stream.mjs +5 -5
- package/{esm2020 → esm2022}/src/module.mjs +5 -5
- package/{esm2020 → esm2022}/src/modules/ngxs-feature.module.mjs +6 -6
- package/{esm2020 → esm2022}/src/modules/ngxs-root.module.mjs +6 -6
- package/{esm2020 → esm2022}/src/operators/of-action.mjs +1 -1
- package/{esm2020 → esm2022}/src/plugin-manager.mjs +6 -6
- package/{esm2020 → esm2022}/src/selectors/selector-metadata.mjs +4 -4
- package/esm2022/src/selectors/selector-utils.mjs +74 -0
- package/{esm2020 → esm2022}/src/store.mjs +6 -6
- package/{esm2020 → esm2022}/src/symbols.mjs +5 -5
- package/esm2022/src/utils/compose.mjs +26 -0
- package/{esm2020 → esm2022}/src/utils/freeze.mjs +1 -1
- package/{esm2020 → esm2022}/src/utils/utils.mjs +1 -1
- package/{fesm2020 → fesm2022}/ngxs-store-internals-testing.mjs +10 -10
- package/{fesm2020 → fesm2022}/ngxs-store-internals-testing.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ngxs-store-internals.mjs +4 -4
- package/fesm2022/ngxs-store-internals.mjs.map +1 -0
- package/fesm2022/ngxs-store-operators.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/ngxs-store.mjs +133 -127
- package/fesm2022/ngxs-store.mjs.map +1 -0
- package/internals/src/symbols.d.ts +1 -1
- package/internals/symbols.d.ts +1 -1
- package/operators/patch.d.ts +2 -2
- package/operators/types.d.ts +5 -5
- package/operators/utils.d.ts +1 -1
- package/package.json +17 -29
- package/schematics/src/actions/files/__name__.actions.ts__template__ +2 -2
- package/schematics/src/ng-add/ng-add.factory.d.ts +1 -1
- package/schematics/src/starter-kit/files/store/auth/auth.actions.ts__template__ +2 -3
- package/schematics/src/starter-kit/files/store/auth/auth.state.ts__template__ +2 -2
- package/schematics/src/starter-kit/files/store/dashboard/states/dictionary/dictionary.actions.ts__template__ +3 -6
- package/schematics/src/starter-kit/files/store/dashboard/states/dictionary/dictionary.state.ts__template__ +4 -4
- package/schematics/src/starter-kit/files/store/dashboard/states/user/user.actions.ts__template__ +2 -2
- package/schematics/src/starter-kit/files/store/dashboard/states/user/user.state.ts__template__ +2 -2
- package/schematics/src/state/files/__name__.state.ts__template__ +1 -1
- package/schematics/src/state/state.factory.js +1 -1
- package/schematics/src/state/state.factory.js.map +1 -1
- package/schematics/src/store/files/__name__.actions.ts__template__ +3 -3
- package/schematics/src/store/files/__name__.state.ts__template__ +2 -2
- package/schematics/src/store/store.factory.js +1 -1
- package/schematics/src/store/store.factory.js.map +1 -1
- package/schematics/src/utils/common/lib.config.js +1 -1
- package/schematics/src/utils/common/lib.config.js.map +1 -1
- package/schematics/src/utils/ng-utils/project.js +6 -3
- package/schematics/src/utils/ng-utils/project.js.map +1 -1
- package/schematics/src/utils/ng-utils/standalone/code_block.d.ts +2 -2
- package/src/actions/symbols.d.ts +1 -1
- package/src/decorators/select/symbols.d.ts +1 -1
- package/src/decorators/selector/symbols.d.ts +2 -2
- package/src/internal/internals.d.ts +4 -4
- package/src/operators/of-action.d.ts +2 -2
- package/src/selectors/create-model-selector.d.ts +2 -2
- package/src/selectors/create-pick-selector.d.ts +1 -1
- package/src/selectors/create-property-selectors.d.ts +1 -1
- package/src/selectors/create-selector.d.ts +1 -1
- package/src/selectors/selector-types.util.d.ts +5 -5
- package/src/state-token/symbols.d.ts +3 -3
- package/src/symbols.d.ts +6 -6
- package/src/utils/compose.d.ts +1 -1
- package/esm2020/internals/initial-state.mjs +0 -18
- package/esm2020/src/actions/actions.mjs +0 -16
- package/esm2020/src/decorators/select/select-factory.mjs +0 -29
- package/esm2020/src/decorators/selector/selector.mjs +0 -32
- package/esm2020/src/decorators/selector-options.mjs +0 -21
- package/esm2020/src/internal/state-factory.mjs +0 -292
- package/esm2020/src/selectors/selector-utils.mjs +0 -74
- package/esm2020/src/utils/compose.mjs +0 -26
- package/fesm2015/ngxs-store-internals-testing.mjs +0 -183
- package/fesm2015/ngxs-store-internals-testing.mjs.map +0 -1
- package/fesm2015/ngxs-store-internals.mjs +0 -114
- package/fesm2015/ngxs-store-internals.mjs.map +0 -1
- package/fesm2015/ngxs-store-operators.mjs +0 -202
- package/fesm2015/ngxs-store-operators.mjs.map +0 -1
- package/fesm2015/ngxs-store.mjs +0 -2454
- package/fesm2015/ngxs-store.mjs.map +0 -1
- package/fesm2020/ngxs-store-internals.mjs.map +0 -1
- package/fesm2020/ngxs-store-operators.mjs.map +0 -1
- package/fesm2020/ngxs-store.mjs.map +0 -1
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/internals/index.mjs +0 -0
- /package/{esm2020 → esm2022}/internals/internal-tokens.mjs +0 -0
- /package/{esm2020 → esm2022}/internals/ngxs-store-internals.mjs +0 -0
- /package/{esm2020 → esm2022}/internals/src/symbols.mjs +0 -0
- /package/{esm2020 → esm2022}/internals/symbols.mjs +0 -0
- /package/{esm2020 → esm2022}/internals/testing/fresh-platform.mjs +0 -0
- /package/{esm2020 → esm2022}/internals/testing/index.mjs +0 -0
- /package/{esm2020 → esm2022}/internals/testing/ngxs-store-internals-testing.mjs +0 -0
- /package/{esm2020 → esm2022}/internals/testing/ngxs.setup.mjs +0 -0
- /package/{esm2020 → esm2022}/internals/testing/skip-console-logging.mjs +0 -0
- /package/{esm2020 → esm2022}/internals/testing/symbol.mjs +0 -0
- /package/{esm2020 → esm2022}/ngxs-store.mjs +0 -0
- /package/{esm2020 → esm2022}/operators/compose.mjs +0 -0
- /package/{esm2020 → esm2022}/operators/iif.mjs +0 -0
- /package/{esm2020 → esm2022}/operators/index.mjs +0 -0
- /package/{esm2020 → esm2022}/operators/ngxs-store-operators.mjs +0 -0
- /package/{esm2020 → esm2022}/operators/patch.mjs +0 -0
- /package/{esm2020 → esm2022}/operators/remove-item.mjs +0 -0
- /package/{esm2020 → esm2022}/operators/types.mjs +0 -0
- /package/{esm2020 → esm2022}/operators/update-item.mjs +0 -0
- /package/{esm2020 → esm2022}/operators/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/src/actions/symbols.mjs +0 -0
- /package/{esm2020 → esm2022}/src/configs/messages.config.mjs +0 -0
- /package/{esm2020 → esm2022}/src/decorators/action.mjs +0 -0
- /package/{esm2020 → esm2022}/src/decorators/select/symbols.mjs +0 -0
- /package/{esm2020 → esm2022}/src/decorators/state.mjs +0 -0
- /package/{esm2020 → esm2022}/src/dev-features/symbols.mjs +0 -0
- /package/{esm2020 → esm2022}/src/execution/symbols.mjs +0 -0
- /package/{esm2020 → esm2022}/src/internal/custom-rxjs-subjects.mjs +0 -0
- /package/{esm2020 → esm2022}/src/internal/internals.mjs +0 -0
- /package/{esm2020 → esm2022}/src/internal/state-operators.mjs +0 -0
- /package/{esm2020 → esm2022}/src/ivy/ivy-enabled-in-dev-mode.mjs +0 -0
- /package/{esm2020 → esm2022}/src/operators/leave-ngxs.mjs +0 -0
- /package/{esm2020 → esm2022}/src/plugin_api.mjs +0 -0
- /package/{esm2020 → esm2022}/src/private_api.mjs +0 -0
- /package/{esm2020 → esm2022}/src/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/src/public_to_deprecate.mjs +0 -0
- /package/{esm2020 → esm2022}/src/selectors/create-model-selector.mjs +0 -0
- /package/{esm2020 → esm2022}/src/selectors/create-pick-selector.mjs +0 -0
- /package/{esm2020 → esm2022}/src/selectors/create-property-selectors.mjs +0 -0
- /package/{esm2020 → esm2022}/src/selectors/create-selector.mjs +0 -0
- /package/{esm2020 → esm2022}/src/selectors/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/selectors/selector-checks.util.mjs +0 -0
- /package/{esm2020 → esm2022}/src/selectors/selector-models.mjs +0 -0
- /package/{esm2020 → esm2022}/src/selectors/selector-types.util.mjs +0 -0
- /package/{esm2020 → esm2022}/src/standalone-features/feature-providers.mjs +0 -0
- /package/{esm2020 → esm2022}/src/standalone-features/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/standalone-features/initializers.mjs +0 -0
- /package/{esm2020 → esm2022}/src/standalone-features/plugin.mjs +0 -0
- /package/{esm2020 → esm2022}/src/standalone-features/provide-states.mjs +0 -0
- /package/{esm2020 → esm2022}/src/standalone-features/provide-store.mjs +0 -0
- /package/{esm2020 → esm2022}/src/standalone-features/root-providers.mjs +0 -0
- /package/{esm2020 → esm2022}/src/state-token/state-token.mjs +0 -0
- /package/{esm2020 → esm2022}/src/state-token/symbols.mjs +0 -0
- /package/{esm2020 → esm2022}/src/utils/store-validators.mjs +0 -0
- /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-
|
|
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": "
|
|
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
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
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
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
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
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
|
|
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,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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
26
|
+
static getDictionaryState(state: DictionaryStateModel): DictionaryStateModel {
|
|
27
27
|
return DictionaryState.getInstanceState(state);
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
@Selector()
|
|
31
|
-
|
|
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
|
-
|
|
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
|
-
|
|
52
|
+
resetTasks({ setState }: StateContext<DictionaryStateModel>) {
|
|
53
53
|
const initialState = {
|
|
54
54
|
content: [],
|
|
55
55
|
page: 0,
|
package/schematics/src/starter-kit/files/store/dashboard/states/user/user.actions.ts__template__
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UserStateModel } from './user.state';
|
|
2
2
|
|
|
3
3
|
export class SetUser {
|
|
4
|
-
|
|
5
|
-
constructor(
|
|
4
|
+
static readonly type = '[SetUser] action';
|
|
5
|
+
constructor(readonly payload: UserStateModel) {}
|
|
6
6
|
}
|
package/schematics/src/starter-kit/files/store/dashboard/states/user/user.state.ts__template__
CHANGED
|
@@ -31,12 +31,12 @@ export interface UserStateModel {
|
|
|
31
31
|
@Injectable()
|
|
32
32
|
export class UserState {
|
|
33
33
|
@Selector()
|
|
34
|
-
|
|
34
|
+
static getUser(state: UserStateModel): UserStateModel {
|
|
35
35
|
return state;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
@Action(SetUser)
|
|
39
|
-
|
|
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
|
-
|
|
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({},
|
|
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,
|
|
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
|
-
|
|
3
|
-
constructor(
|
|
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
|
-
|
|
19
|
+
static getState(state: <%= classify(name) %>StateModel) {
|
|
20
20
|
return state;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
@Action(<%= classify(name) %>Action)
|
|
24
|
-
|
|
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({},
|
|
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,
|
|
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
|
|
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,
|
|
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 (
|
|
16
|
-
|
|
15
|
+
if (projectOptions === null || projectOptions === void 0 ? void 0 : projectOptions.main) {
|
|
16
|
+
return projectOptions.main;
|
|
17
17
|
}
|
|
18
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
|
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.
|
package/src/actions/symbols.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
4
|
-
export
|
|
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
|
|
10
|
-
export
|
|
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
|
|
29
|
-
export
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
6
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
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
|
-
|
|
3
|
-
export
|
|
4
|
-
export
|
|
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
|
|
10
|
-
export declare const FEATURE_STATE_TOKEN: InjectionToken<ɵStateClass
|
|
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
|
|
14
|
-
export
|
|
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
|
|
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
|
|
141
|
+
export type NgxsModuleOptions = Partial<NgxsConfig>;
|
package/src/utils/compose.d.ts
CHANGED
|
@@ -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
|