@onecx/angular-integration-interface 6.0.0-rc.2 → 6.0.0-rc.20
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/fesm2022/onecx-angular-integration-interface-mocks.mjs +198 -41
- package/fesm2022/onecx-angular-integration-interface-mocks.mjs.map +1 -1
- package/fesm2022/onecx-angular-integration-interface.mjs +101 -203
- package/fesm2022/onecx-angular-integration-interface.mjs.map +1 -1
- package/index.d.ts +1 -3
- package/lib/api/injection-tokens.d.ts +0 -7
- package/lib/model/config-key.model.d.ts +6 -1
- package/lib/services/app-config-service.d.ts +0 -2
- package/lib/services/app-state.service.d.ts +2 -6
- package/lib/services/configuration.service.d.ts +7 -10
- package/lib/services/portal-message.service.d.ts +0 -2
- package/lib/services/shell-capability.service.d.ts +16 -0
- package/lib/services/theme.service.d.ts +1 -10
- package/lib/services/user.service.d.ts +3 -5
- package/lib/services/workspace.service.d.ts +1 -2
- package/migrations.json +52 -0
- package/mocks/app-config-service-mock.d.ts +20 -0
- package/mocks/app-state-service-mock.d.ts +4 -15
- package/mocks/configuration-service-mock.d.ts +22 -0
- package/mocks/index.d.ts +7 -2
- package/mocks/portal-message-service-mock.d.ts +18 -0
- package/mocks/remote-components-service-mock.d.ts +13 -0
- package/mocks/shell-capability-service-mock.d.ts +13 -0
- package/mocks/user-service-mock.d.ts +21 -0
- package/package.json +15 -8
- package/esm2022/index.mjs +0 -18
- package/esm2022/lib/api/constants.mjs +0 -3
- package/esm2022/lib/api/iauth.service.mjs +0 -2
- package/esm2022/lib/api/injection-tokens.mjs +0 -11
- package/esm2022/lib/model/config-key.model.mjs +0 -31
- package/esm2022/lib/services/app-config-service.mjs +0 -43
- package/esm2022/lib/services/app-state.service.mjs +0 -45
- package/esm2022/lib/services/configuration.service.mjs +0 -79
- package/esm2022/lib/services/initialize-module-guard.service.mjs +0 -60
- package/esm2022/lib/services/portal-message.service.mjs +0 -49
- package/esm2022/lib/services/remote-components.service.mjs +0 -18
- package/esm2022/lib/services/theme.service.mjs +0 -48
- package/esm2022/lib/services/user.service.mjs +0 -89
- package/esm2022/lib/services/workspace.service.mjs +0 -146
- package/esm2022/lib/utils/add-initialize-module-guard.utils.mjs +0 -17
- package/esm2022/mocks/app-state-service-mock.mjs +0 -31
- package/esm2022/mocks/fake-topic.mjs +0 -25
- package/esm2022/mocks/index.mjs +0 -4
- package/esm2022/mocks/mock-user-service.mjs +0 -11
- package/esm2022/mocks/onecx-angular-integration-interface-mocks.mjs +0 -5
- package/esm2022/onecx-angular-integration-interface.mjs +0 -5
- package/lib/api/iauth.service.d.ts +0 -17
- package/lib/services/initialize-module-guard.service.d.ts +0 -22
- package/lib/utils/add-initialize-module-guard.utils.d.ts +0 -3
- package/mocks/fake-topic.d.ts +0 -9
- package/mocks/mock-user-service.d.ts +0 -5
@@ -1,48 +1,42 @@
|
|
1
|
-
import { BehaviorSubject, ReplaySubject } from 'rxjs';
|
2
1
|
import * as i0 from '@angular/core';
|
3
2
|
import { Injectable } from '@angular/core';
|
4
|
-
import {
|
3
|
+
import { BehaviorSubject } from 'rxjs';
|
4
|
+
import { AppConfigService, AppStateService, ConfigurationService, PortalMessageService, RemoteComponentsService, UserService, ShellCapabilityService } from '@onecx/angular-integration-interface';
|
5
|
+
import { FakeTopic } from '@onecx/accelerator';
|
6
|
+
export * from '@onecx/accelerator';
|
7
|
+
import { firstValueFrom } from 'rxjs/internal/firstValueFrom';
|
5
8
|
|
6
|
-
|
7
|
-
|
8
|
-
this.lang$ = new BehaviorSubject('en');
|
9
|
-
}
|
10
|
-
/* eslint-disable @typescript-eslint/no-unused-vars */
|
11
|
-
hasPermission(permissionKey) {
|
12
|
-
return true;
|
13
|
-
}
|
9
|
+
function provideAppConfigServiceMock() {
|
10
|
+
return [AppConfigServiceMock, { provide: AppConfigService, useExisting: AppConfigServiceMock }];
|
14
11
|
}
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
if (initialValue !== undefined) {
|
19
|
-
this.state = new BehaviorSubject(initialValue);
|
20
|
-
}
|
21
|
-
else {
|
22
|
-
this.state = new ReplaySubject(1);
|
23
|
-
}
|
12
|
+
class AppConfigServiceMock {
|
13
|
+
constructor() {
|
14
|
+
this.config$ = new BehaviorSubject({});
|
24
15
|
}
|
25
|
-
|
26
|
-
|
16
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
17
|
+
init(baseUrl) {
|
18
|
+
return new Promise((resolve) => {
|
19
|
+
const mockConfig = { key: 'config' };
|
20
|
+
this.config$.next(mockConfig);
|
21
|
+
resolve();
|
22
|
+
});
|
27
23
|
}
|
28
|
-
|
29
|
-
return this.
|
24
|
+
getProperty(key) {
|
25
|
+
return this.config$.getValue()?.[key];
|
30
26
|
}
|
31
|
-
|
32
|
-
|
27
|
+
setProperty(key, val) {
|
28
|
+
this.config$.next({ ...this.config$.value, [key]: val });
|
33
29
|
}
|
34
|
-
|
35
|
-
this.
|
36
|
-
return Promise.resolve();
|
30
|
+
getConfig() {
|
31
|
+
return this.config$.getValue();
|
37
32
|
}
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AppConfigServiceMock, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
34
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AppConfigServiceMock }); }
|
38
35
|
}
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AppConfigServiceMock, decorators: [{
|
37
|
+
type: Injectable
|
38
|
+
}] });
|
39
39
|
|
40
|
-
/**
|
41
|
-
* @deprecated use provideAppStateServiceMock()
|
42
|
-
*/
|
43
|
-
function provideAppServiceMock() {
|
44
|
-
return provideAppStateServiceMock();
|
45
|
-
}
|
46
40
|
function provideAppStateServiceMock() {
|
47
41
|
return [AppStateServiceMock, { provide: AppStateService, useExisting: AppStateServiceMock }];
|
48
42
|
}
|
@@ -50,16 +44,179 @@ class AppStateServiceMock {
|
|
50
44
|
constructor() {
|
51
45
|
this.globalError$ = new FakeTopic();
|
52
46
|
this.globalLoading$ = new FakeTopic(false);
|
53
|
-
this.currentMfe$ = new FakeTopic({
|
47
|
+
this.currentMfe$ = new FakeTopic({
|
48
|
+
mountPath: '/',
|
49
|
+
remoteBaseUrl: '.',
|
50
|
+
baseHref: '/',
|
51
|
+
shellName: 'test',
|
52
|
+
appId: 'test',
|
53
|
+
productName: 'test',
|
54
|
+
});
|
54
55
|
this.currentPage$ = new FakeTopic(undefined);
|
55
|
-
this.currentPortal$ = new FakeTopic({
|
56
|
-
|
56
|
+
this.currentPortal$ = new FakeTopic({
|
57
|
+
baseUrl: '/',
|
58
|
+
microfrontendRegistrations: [],
|
59
|
+
portalName: 'Test portal',
|
60
|
+
workspaceName: 'Test portal',
|
61
|
+
});
|
62
|
+
this.currentWorkspace$ = new FakeTopic({
|
63
|
+
baseUrl: '/',
|
64
|
+
microfrontendRegistrations: [],
|
65
|
+
portalName: 'Test workspace',
|
66
|
+
workspaceName: 'Test workspace',
|
67
|
+
});
|
68
|
+
this.currentLocation$ = new FakeTopic({
|
69
|
+
url: '/',
|
70
|
+
isFirst: true,
|
71
|
+
});
|
57
72
|
this.isAuthenticated$ = new FakeTopic(null);
|
58
73
|
}
|
59
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
60
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
74
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AppStateServiceMock, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
75
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AppStateServiceMock }); }
|
76
|
+
}
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AppStateServiceMock, decorators: [{
|
78
|
+
type: Injectable
|
79
|
+
}] });
|
80
|
+
|
81
|
+
function provideConfigurationServiceMock() {
|
82
|
+
return [ConfigurationServiceMock, { provide: ConfigurationService, useExisting: ConfigurationServiceMock }];
|
83
|
+
}
|
84
|
+
class ConfigurationServiceMock {
|
85
|
+
constructor() {
|
86
|
+
this.config$ = new FakeTopic({});
|
87
|
+
this.isInitializedPromise = new Promise((resolve) => {
|
88
|
+
this.resolveInitPromise = resolve;
|
89
|
+
});
|
90
|
+
}
|
91
|
+
init(config) {
|
92
|
+
return this.config$.publish(config ?? {}).then(() => {
|
93
|
+
this.resolveInitPromise();
|
94
|
+
return true;
|
95
|
+
});
|
96
|
+
}
|
97
|
+
get isInitialized() {
|
98
|
+
return this.isInitializedPromise;
|
99
|
+
}
|
100
|
+
getProperty(key) {
|
101
|
+
return firstValueFrom(this.config$.asObservable()).then((config) => config[key]);
|
102
|
+
}
|
103
|
+
async setProperty(key, val) {
|
104
|
+
const currentValues = await firstValueFrom(this.config$.asObservable());
|
105
|
+
currentValues[key] = val;
|
106
|
+
await this.config$.publish(currentValues);
|
107
|
+
}
|
108
|
+
getConfig() {
|
109
|
+
return firstValueFrom(this.config$.asObservable());
|
110
|
+
}
|
111
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ConfigurationServiceMock, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
112
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ConfigurationServiceMock, providedIn: 'root' }); }
|
113
|
+
}
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ConfigurationServiceMock, decorators: [{
|
115
|
+
type: Injectable,
|
116
|
+
args: [{ providedIn: 'root' }]
|
117
|
+
}], ctorParameters: () => [] });
|
118
|
+
|
119
|
+
function providePortalMessageServiceMock() {
|
120
|
+
return [PortalMessageServiceMock, { provide: PortalMessageService, useExisting: PortalMessageServiceMock }];
|
121
|
+
}
|
122
|
+
class PortalMessageServiceMock {
|
123
|
+
constructor() {
|
124
|
+
this.message$ = new FakeTopic();
|
125
|
+
}
|
126
|
+
success(msg) {
|
127
|
+
this.addTranslated('success', msg);
|
128
|
+
}
|
129
|
+
info(msg) {
|
130
|
+
this.addTranslated('info', msg);
|
131
|
+
}
|
132
|
+
error(msg) {
|
133
|
+
this.addTranslated('error', msg);
|
134
|
+
}
|
135
|
+
warning(msg) {
|
136
|
+
this.addTranslated('warning', msg);
|
137
|
+
}
|
138
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
139
|
+
addTranslated(severity, msg) {
|
140
|
+
this.message$.publish({
|
141
|
+
...msg,
|
142
|
+
severity: severity,
|
143
|
+
});
|
144
|
+
}
|
145
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: PortalMessageServiceMock, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
146
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: PortalMessageServiceMock, providedIn: 'any' }); }
|
147
|
+
}
|
148
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: PortalMessageServiceMock, decorators: [{
|
149
|
+
type: Injectable,
|
150
|
+
args: [{ providedIn: 'any' }]
|
151
|
+
}] });
|
152
|
+
|
153
|
+
function provideRemoteComponentsServiceMock() {
|
154
|
+
return [RemoteComponentsServiceMock, { provide: RemoteComponentsService, useExisting: RemoteComponentsServiceMock }];
|
155
|
+
}
|
156
|
+
class RemoteComponentsServiceMock {
|
157
|
+
constructor() {
|
158
|
+
this.remoteComponents$ = new FakeTopic();
|
159
|
+
}
|
160
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: RemoteComponentsServiceMock, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
161
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: RemoteComponentsServiceMock, providedIn: 'root' }); }
|
162
|
+
}
|
163
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: RemoteComponentsServiceMock, decorators: [{
|
164
|
+
type: Injectable,
|
165
|
+
args: [{ providedIn: 'root' }]
|
166
|
+
}] });
|
167
|
+
|
168
|
+
function provideUserServiceMock() {
|
169
|
+
return [UserServiceMock, { provide: UserService, useExisting: UserServiceMock }];
|
170
|
+
}
|
171
|
+
class UserServiceMock {
|
172
|
+
constructor() {
|
173
|
+
this.profile$ = new FakeTopic();
|
174
|
+
this.permissionsTopic$ = new FakeTopic(['mocked-permission']);
|
175
|
+
this.lang$ = new BehaviorSubject('en');
|
176
|
+
}
|
177
|
+
async hasPermission(permissionKey) {
|
178
|
+
if (Array.isArray(permissionKey)) {
|
179
|
+
return permissionKey.every(async (key) => await this.hasPermission(key));
|
180
|
+
}
|
181
|
+
const result = this.permissionsTopic$.getValue()?.includes(permissionKey);
|
182
|
+
if (!result) {
|
183
|
+
console.log(`👮♀️ No permission for: ${permissionKey}`);
|
184
|
+
}
|
185
|
+
return !!result;
|
186
|
+
}
|
187
|
+
determineLanguage() {
|
188
|
+
return 'mocked-lang';
|
189
|
+
}
|
190
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
191
|
+
extractPermissions(userProfile) {
|
192
|
+
return ['mocked-permission'];
|
193
|
+
}
|
194
|
+
get isInitialized() {
|
195
|
+
return Promise.resolve();
|
196
|
+
}
|
197
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: UserServiceMock, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
198
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: UserServiceMock, providedIn: 'root' }); }
|
199
|
+
}
|
200
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: UserServiceMock, decorators: [{
|
201
|
+
type: Injectable,
|
202
|
+
args: [{ providedIn: 'root' }]
|
203
|
+
}] });
|
204
|
+
|
205
|
+
function provideShellCapabilityServiceMock() {
|
206
|
+
return [ShellCapabilityServiceMock, { provide: ShellCapabilityService, useExisting: ShellCapabilityServiceMock }];
|
207
|
+
}
|
208
|
+
class ShellCapabilityServiceMock {
|
209
|
+
static { this.capabilities = []; }
|
210
|
+
static setCapabilities(capabilities) {
|
211
|
+
ShellCapabilityServiceMock.capabilities = capabilities;
|
212
|
+
}
|
213
|
+
hasCapability(capability) {
|
214
|
+
return ShellCapabilityServiceMock.capabilities?.includes(capability) ?? false;
|
215
|
+
}
|
216
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ShellCapabilityServiceMock, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
217
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ShellCapabilityServiceMock }); }
|
61
218
|
}
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
219
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ShellCapabilityServiceMock, decorators: [{
|
63
220
|
type: Injectable
|
64
221
|
}] });
|
65
222
|
|
@@ -67,5 +224,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
67
224
|
* Generated bundle index. Do not edit.
|
68
225
|
*/
|
69
226
|
|
70
|
-
export { AppStateServiceMock,
|
227
|
+
export { AppConfigServiceMock, AppStateServiceMock, ConfigurationServiceMock, PortalMessageServiceMock, RemoteComponentsServiceMock, ShellCapabilityServiceMock, UserServiceMock, provideAppConfigServiceMock, provideAppStateServiceMock, provideConfigurationServiceMock, providePortalMessageServiceMock, provideRemoteComponentsServiceMock, provideShellCapabilityServiceMock, provideUserServiceMock };
|
71
228
|
//# sourceMappingURL=onecx-angular-integration-interface-mocks.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"onecx-angular-integration-interface-mocks.mjs","sources":["../../../../libs/angular-integration-interface/mocks/mock-user-service.ts","../../../../libs/angular-integration-interface/mocks/fake-topic.ts","../../../../libs/angular-integration-interface/mocks/app-state-service-mock.ts","../../../../libs/angular-integration-interface/mocks/onecx-angular-integration-interface-mocks.ts"],"sourcesContent":["import { BehaviorSubject } from 'rxjs'\n\nexport class MockUserService {\n lang$ = new BehaviorSubject<string>('en')\n /* eslint-disable @typescript-eslint/no-unused-vars */\n hasPermission(permissionKey: string | string[]): boolean {\n return true\n }\n}\n","import { Subject, Observable, Observer, Subscription, UnaryFunction, BehaviorSubject, ReplaySubject } from 'rxjs'\n\nexport class FakeTopic<T> {\n private state: Subject<T>\n constructor(initialValue: T | undefined = undefined) {\n if (initialValue !== undefined) {\n this.state = new BehaviorSubject<T>(initialValue)\n } else {\n this.state = new ReplaySubject<T>(1)\n }\n }\n asObservable(): Observable<T> {\n return this.state.asObservable()\n }\n\n subscribe(\n observerOrNext?: Partial<Observer<T>> | ((value: T) => void),\n error?: (error: any) => void,\n complete?: () => void\n ): Subscription {\n return (<any>this.asObservable()).subscribe(observerOrNext, error, complete)\n }\n\n pipe(...operations: UnaryFunction<any, any>[]): unknown {\n return (<any>this.asObservable()).pipe(...operations)\n }\n\n publish(value: T): Promise<void> {\n this.state.next(value)\n return Promise.resolve()\n }\n}\n","import { Injectable } from '@angular/core'\nimport { PageInfo, Workspace } from '@onecx/integration-interface'\n// eslint-disable-next-line\nimport { AppStateService } from '@onecx/angular-integration-interface'\nimport { FakeTopic } from './fake-topic'\n\n/**\n * @deprecated use provideAppStateServiceMock()\n */\nexport function provideAppServiceMock() {\n return provideAppStateServiceMock()\n}\n\nexport function provideAppStateServiceMock() {\n return [AppStateServiceMock, { provide: AppStateService, useExisting: AppStateServiceMock }]\n}\n\n@Injectable()\nexport class AppStateServiceMock {\n globalError$ = new FakeTopic()\n globalLoading$ = new FakeTopic(false)\n currentMfe$ = new FakeTopic({ mountPath: '/', remoteBaseUrl: '.', baseHref: '/', shellName: 'test' })\n currentPage$ = new FakeTopic<PageInfo | undefined>(undefined)\n currentPortal$ = new FakeTopic<Workspace>({ baseUrl: '/', microfrontendRegistrations: [], portalName: 'Test portal', workspaceName: 'Test portal' })\n currentWorkspace$ = new FakeTopic<Workspace>({ baseUrl: '/', microfrontendRegistrations: [], portalName: 'Test workspace', workspaceName: 'Test workspace' })\n isAuthenticated$ = new FakeTopic<null>(null)\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAEa,eAAe,CAAA;AAA5B,IAAA,WAAA,GAAA;AACE,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,eAAe,CAAS,IAAI,CAAC,CAAA;KAK1C;;AAHC,IAAA,aAAa,CAAC,aAAgC,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAA;KACZ;AACF;;MCNY,SAAS,CAAA;AAEpB,IAAA,WAAA,CAAY,eAA8B,SAAS,EAAA;AACjD,QAAA,IAAI,YAAY,KAAK,SAAS,EAAE;YAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,eAAe,CAAI,YAAY,CAAC,CAAA;SAClD;aAAM;YACL,IAAI,CAAC,KAAK,GAAG,IAAI,aAAa,CAAI,CAAC,CAAC,CAAA;SACrC;KACF;IACD,YAAY,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAA;KACjC;AAED,IAAA,SAAS,CACP,cAA4D,EAC5D,KAA4B,EAC5B,QAAqB,EAAA;AAErB,QAAA,OAAa,IAAI,CAAC,YAAY,EAAG,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;KAC7E;IAED,IAAI,CAAC,GAAG,UAAqC,EAAA;QAC3C,OAAa,IAAI,CAAC,YAAY,EAAG,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAA;KACtD;AAED,IAAA,OAAO,CAAC,KAAQ,EAAA;AACd,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACtB,QAAA,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;KACzB;AACF;;ACzBD;;AAEG;SACa,qBAAqB,GAAA;IACnC,OAAO,0BAA0B,EAAE,CAAA;AACrC,CAAC;SAEe,0BAA0B,GAAA;AACxC,IAAA,OAAO,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC,CAAA;AAC9F,CAAC;MAGY,mBAAmB,CAAA;AADhC,IAAA,WAAA,GAAA;AAEE,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,SAAS,EAAE,CAAA;AAC9B,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAA;QACrC,IAAW,CAAA,WAAA,GAAG,IAAI,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;AACrG,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,SAAS,CAAuB,SAAS,CAAC,CAAA;QAC7D,IAAc,CAAA,cAAA,GAAG,IAAI,SAAS,CAAY,EAAE,OAAO,EAAE,GAAG,EAAE,0BAA0B,EAAE,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAA;QACpJ,IAAiB,CAAA,iBAAA,GAAG,IAAI,SAAS,CAAY,EAAE,OAAO,EAAE,GAAG,EAAE,0BAA0B,EAAE,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAA;AAC7J,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,SAAS,CAAO,IAAI,CAAC,CAAA;AAC7C,KAAA;+GARY,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAAnB,mBAAmB,EAAA,CAAA,CAAA,EAAA;;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,UAAU;;;ACjBX;;AAEG;;;;"}
|
1
|
+
{"version":3,"file":"onecx-angular-integration-interface-mocks.mjs","sources":["../../../../libs/angular-integration-interface/mocks/app-config-service-mock.ts","../../../../libs/angular-integration-interface/mocks/app-state-service-mock.ts","../../../../libs/angular-integration-interface/mocks/configuration-service-mock.ts","../../../../libs/angular-integration-interface/mocks/portal-message-service-mock.ts","../../../../libs/angular-integration-interface/mocks/remote-components-service-mock.ts","../../../../libs/angular-integration-interface/mocks/user-service-mock.ts","../../../../libs/angular-integration-interface/mocks/shell-capability-service-mock.ts","../../../../libs/angular-integration-interface/mocks/onecx-angular-integration-interface-mocks.ts"],"sourcesContent":["import { Injectable } from '@angular/core'\nimport { BehaviorSubject } from 'rxjs'\nimport { Config } from '@onecx/integration-interface'\nimport { AppConfigService } from '@onecx/angular-integration-interface'\n\nexport function provideAppConfigServiceMock() {\n return [AppConfigServiceMock, { provide: AppConfigService, useExisting: AppConfigServiceMock }]\n}\n@Injectable()\nexport class AppConfigServiceMock {\n config$ = new BehaviorSubject<{ [key: string]: string }>({})\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public init(baseUrl: string): Promise<void> {\n return new Promise((resolve) => {\n const mockConfig: Config = { key: 'config' }\n this.config$.next(mockConfig)\n resolve()\n })\n }\n\n public getProperty(key: string): string | undefined {\n return this.config$.getValue()?.[key]\n }\n\n public setProperty(key: string, val: string) {\n this.config$.next({ ...this.config$.value, [key]: val })\n }\n\n public getConfig(): { [key: string]: string } {\n return this.config$.getValue()\n }\n}\n","import { Injectable } from '@angular/core'\nimport { CurrentLocationTopicPayload, MfeInfo, PageInfo, Workspace } from '@onecx/integration-interface'\n// eslint-disable-next-line\nimport { AppStateService } from '@onecx/angular-integration-interface'\nimport { FakeTopic } from '@onecx/accelerator'\n\nexport function provideAppStateServiceMock() {\n return [AppStateServiceMock, { provide: AppStateService, useExisting: AppStateServiceMock }]\n}\n\n@Injectable()\nexport class AppStateServiceMock {\n globalError$ = new FakeTopic()\n globalLoading$ = new FakeTopic(false)\n currentMfe$ = new FakeTopic<MfeInfo>({\n mountPath: '/',\n remoteBaseUrl: '.',\n baseHref: '/',\n shellName: 'test',\n appId: 'test',\n productName: 'test',\n })\n currentPage$ = new FakeTopic<PageInfo | undefined>(undefined)\n currentPortal$ = new FakeTopic<Workspace>({\n baseUrl: '/',\n microfrontendRegistrations: [],\n portalName: 'Test portal',\n workspaceName: 'Test portal',\n })\n currentWorkspace$ = new FakeTopic<Workspace>({\n baseUrl: '/',\n microfrontendRegistrations: [],\n portalName: 'Test workspace',\n workspaceName: 'Test workspace',\n })\n currentLocation$ = new FakeTopic<CurrentLocationTopicPayload>({\n url: '/',\n isFirst: true,\n })\n isAuthenticated$ = new FakeTopic<null>(null)\n}\n","import { Injectable } from '@angular/core'\nimport { Config } from '@onecx/integration-interface'\nimport { CONFIG_KEY } from '@onecx/angular-integration-interface'\nimport { firstValueFrom } from 'rxjs/internal/firstValueFrom'\nimport { ConfigurationService } from '@onecx/angular-integration-interface'\nimport { FakeTopic } from '@onecx/accelerator'\n\nexport function provideConfigurationServiceMock() {\n return [ConfigurationServiceMock, { provide: ConfigurationService, useExisting: ConfigurationServiceMock }]\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ConfigurationServiceMock {\n config$ = new FakeTopic<Config>({})\n\n private resolveInitPromise!: (value: void | PromiseLike<void>) => void\n private isInitializedPromise: Promise<void>\n\n constructor() {\n this.isInitializedPromise = new Promise<void>((resolve) => {\n this.resolveInitPromise = resolve\n })\n }\n\n public init(config?: Config): Promise<boolean> {\n return this.config$.publish(config ?? {}).then(() => {\n this.resolveInitPromise()\n return true\n })\n }\n\n get isInitialized(): Promise<void> {\n return this.isInitializedPromise\n }\n\n public getProperty(key: CONFIG_KEY): Promise<string | undefined> {\n return firstValueFrom(this.config$.asObservable()).then((config) => config[key])\n }\n\n public async setProperty(key: string, val: string): Promise<void> {\n const currentValues = await firstValueFrom(this.config$.asObservable())\n currentValues[key] = val\n await this.config$.publish(currentValues)\n }\n\n public getConfig(): Promise<Config | undefined> {\n return firstValueFrom(this.config$.asObservable())\n }\n}\n","import { Injectable } from '@angular/core'\nimport { FakeTopic } from '@onecx/accelerator'\nimport { Message as PortalMessage, PortalMessageService } from '@onecx/angular-integration-interface'\nimport { Message } from '@onecx/integration-interface'\n\nexport function providePortalMessageServiceMock() {\n return [PortalMessageServiceMock, { provide: PortalMessageService, useExisting: PortalMessageServiceMock }]\n}\n@Injectable({ providedIn: 'any' })\nexport class PortalMessageServiceMock {\n message$ = new FakeTopic<Message>()\n\n success(msg: PortalMessage) {\n this.addTranslated('success', msg)\n }\n\n info(msg: PortalMessage) {\n this.addTranslated('info', msg)\n }\n\n error(msg: PortalMessage) {\n this.addTranslated('error', msg)\n }\n\n warning(msg: PortalMessage) {\n this.addTranslated('warning', msg)\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n private addTranslated(severity: string, msg: PortalMessage) {\n this.message$.publish({\n ...msg,\n severity: severity,\n })\n }\n}\n","import { Injectable } from '@angular/core'\nimport { RemoteComponentsInfo } from '@onecx/integration-interface'\nimport { RemoteComponentsService } from '@onecx/angular-integration-interface'\nimport { FakeTopic } from '@onecx/accelerator'\n\nexport function provideRemoteComponentsServiceMock() {\n return [RemoteComponentsServiceMock, { provide: RemoteComponentsService, useExisting: RemoteComponentsServiceMock }]\n}\n@Injectable({ providedIn: 'root' })\nexport class RemoteComponentsServiceMock {\n remoteComponents$ = new FakeTopic<RemoteComponentsInfo>()\n}\n","import { Injectable } from '@angular/core'\nimport { BehaviorSubject } from 'rxjs'\nimport { UserProfile } from '@onecx/integration-interface'\nimport { FakeTopic } from '@onecx/accelerator'\nimport { UserService } from '@onecx/angular-integration-interface'\n\nexport function provideUserServiceMock() {\n return [UserServiceMock, { provide: UserService, useExisting: UserServiceMock }]\n}\n\n@Injectable({ providedIn: 'root' })\nexport class UserServiceMock {\n profile$ = new FakeTopic<UserProfile>()\n permissionsTopic$ = new FakeTopic<string[]>(['mocked-permission'])\n lang$ = new BehaviorSubject('en')\n\n async hasPermission(permissionKey: string | string[]): Promise<boolean> {\n if (Array.isArray(permissionKey)) {\n return permissionKey.every(async (key) => await this.hasPermission(key))\n }\n\n const result = this.permissionsTopic$.getValue()?.includes(permissionKey)\n if (!result) {\n console.log(`👮♀️ No permission for: ${permissionKey}`)\n }\n return !!result\n }\n\n determineLanguage(): string | undefined {\n return 'mocked-lang'\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n extractPermissions(userProfile: UserProfile): string[] | null {\n return ['mocked-permission']\n }\n\n get isInitialized(): Promise<void> {\n return Promise.resolve()\n }\n}\n\nexport type MockUserService = UserServiceMock\n","import { Injectable } from '@angular/core'\nimport { Capability, ShellCapabilityService } from '@onecx/angular-integration-interface'\n\nexport function provideShellCapabilityServiceMock() {\n return [ShellCapabilityServiceMock, { provide: ShellCapabilityService, useExisting: ShellCapabilityServiceMock }]\n}\n\n@Injectable()\nexport class ShellCapabilityServiceMock {\n static capabilities: Capability[] = []\n\n static setCapabilities(capabilities: Capability[]): void {\n ShellCapabilityServiceMock.capabilities = capabilities\n }\n\n hasCapability(capability: Capability): boolean {\n return ShellCapabilityServiceMock.capabilities?.includes(capability) ?? false\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;SAKgB,2BAA2B,GAAA;AACzC,IAAA,OAAO,CAAC,oBAAoB,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;AACjG;MAEa,oBAAoB,CAAA;AADjC,IAAA,WAAA,GAAA;AAEE,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,eAAe,CAA4B,EAAE,CAAC;AAsB7D;;AAnBQ,IAAA,IAAI,CAAC,OAAe,EAAA;AACzB,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;AAC7B,YAAA,MAAM,UAAU,GAAW,EAAE,GAAG,EAAE,QAAQ,EAAE;AAC5C,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;AAC7B,YAAA,OAAO,EAAE;AACX,SAAC,CAAC;;AAGG,IAAA,WAAW,CAAC,GAAW,EAAA;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAC;;IAGhC,WAAW,CAAC,GAAW,EAAE,GAAW,EAAA;QACzC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;;IAGnD,SAAS,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;;+GArBrB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAApB,oBAAoB,EAAA,CAAA,CAAA;;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC;;;SCFe,0BAA0B,GAAA;AACxC,IAAA,OAAO,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;AAC9F;MAGa,mBAAmB,CAAA;AADhC,IAAA,WAAA,GAAA;AAEE,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,SAAS,EAAE;AAC9B,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC;QACrC,IAAW,CAAA,WAAA,GAAG,IAAI,SAAS,CAAU;AACnC,YAAA,SAAS,EAAE,GAAG;AACd,YAAA,aAAa,EAAE,GAAG;AAClB,YAAA,QAAQ,EAAE,GAAG;AACb,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,WAAW,EAAE,MAAM;AACpB,SAAA,CAAC;AACF,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,SAAS,CAAuB,SAAS,CAAC;QAC7D,IAAc,CAAA,cAAA,GAAG,IAAI,SAAS,CAAY;AACxC,YAAA,OAAO,EAAE,GAAG;AACZ,YAAA,0BAA0B,EAAE,EAAE;AAC9B,YAAA,UAAU,EAAE,aAAa;AACzB,YAAA,aAAa,EAAE,aAAa;AAC7B,SAAA,CAAC;QACF,IAAiB,CAAA,iBAAA,GAAG,IAAI,SAAS,CAAY;AAC3C,YAAA,OAAO,EAAE,GAAG;AACZ,YAAA,0BAA0B,EAAE,EAAE;AAC9B,YAAA,UAAU,EAAE,gBAAgB;AAC5B,YAAA,aAAa,EAAE,gBAAgB;AAChC,SAAA,CAAC;QACF,IAAgB,CAAA,gBAAA,GAAG,IAAI,SAAS,CAA8B;AAC5D,YAAA,GAAG,EAAE,GAAG;AACR,YAAA,OAAO,EAAE,IAAI;AACd,SAAA,CAAC;AACF,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,SAAS,CAAO,IAAI,CAAC;AAC7C;+GA7BY,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAnB,mBAAmB,EAAA,CAAA,CAAA;;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B;;;SCHe,+BAA+B,GAAA;AAC7C,IAAA,OAAO,CAAC,wBAAwB,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC;AAC7G;MAGa,wBAAwB,CAAA;AAMnC,IAAA,WAAA,GAAA;AALA,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,SAAS,CAAS,EAAE,CAAC;QAMjC,IAAI,CAAC,oBAAoB,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,KAAI;AACxD,YAAA,IAAI,CAAC,kBAAkB,GAAG,OAAO;AACnC,SAAC,CAAC;;AAGG,IAAA,IAAI,CAAC,MAAe,EAAA;AACzB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAK;YAClD,IAAI,CAAC,kBAAkB,EAAE;AACzB,YAAA,OAAO,IAAI;AACb,SAAC,CAAC;;AAGJ,IAAA,IAAI,aAAa,GAAA;QACf,OAAO,IAAI,CAAC,oBAAoB;;AAG3B,IAAA,WAAW,CAAC,GAAe,EAAA;QAChC,OAAO,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;;AAG3E,IAAA,MAAM,WAAW,CAAC,GAAW,EAAE,GAAW,EAAA;AAC/C,QAAA,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;AACvE,QAAA,aAAa,CAAC,GAAG,CAAC,GAAG,GAAG;QACxB,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;;IAGpC,SAAS,GAAA;QACd,OAAO,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;;+GAlCzC,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cADX,MAAM,EAAA,CAAA,CAAA;;4FACnB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;SCNlB,+BAA+B,GAAA;AAC7C,IAAA,OAAO,CAAC,wBAAwB,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC;AAC7G;MAEa,wBAAwB,CAAA;AADrC,IAAA,WAAA,GAAA;AAEE,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,SAAS,EAAW;AAyBpC;AAvBC,IAAA,OAAO,CAAC,GAAkB,EAAA;AACxB,QAAA,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC;;AAGpC,IAAA,IAAI,CAAC,GAAkB,EAAA;AACrB,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC;;AAGjC,IAAA,KAAK,CAAC,GAAkB,EAAA;AACtB,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC;;AAGlC,IAAA,OAAO,CAAC,GAAkB,EAAA;AACxB,QAAA,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC;;;IAI5B,aAAa,CAAC,QAAgB,EAAE,GAAkB,EAAA;AACxD,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AACpB,YAAA,GAAG,GAAG;AACN,YAAA,QAAQ,EAAE,QAAQ;AACnB,SAAA,CAAC;;+GAxBO,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cADX,KAAK,EAAA,CAAA,CAAA;;4FAClB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,UAAU;mBAAC,EAAE,UAAU,EAAE,KAAK,EAAE;;;SCHjB,kCAAkC,GAAA;AAChD,IAAA,OAAO,CAAC,2BAA2B,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;AACtH;MAEa,2BAA2B,CAAA;AADxC,IAAA,WAAA,GAAA;AAEE,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,SAAS,EAAwB;AAC1D;+GAFY,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,cADd,MAAM,EAAA,CAAA,CAAA;;4FACnB,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBADvC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;SCFlB,sBAAsB,GAAA;AACpC,IAAA,OAAO,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;AAClF;MAGa,eAAe,CAAA;AAD5B,IAAA,WAAA,GAAA;AAEE,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,SAAS,EAAe;QACvC,IAAiB,CAAA,iBAAA,GAAG,IAAI,SAAS,CAAW,CAAC,mBAAmB,CAAC,CAAC;AAClE,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC;AA0BlC;IAxBC,MAAM,aAAa,CAAC,aAAgC,EAAA;AAClD,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;AAChC,YAAA,OAAO,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;;AAG1E,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,aAAa,CAAC;QACzE,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,OAAO,CAAC,GAAG,CAAC,4BAA4B,aAAa,CAAA,CAAE,CAAC;;QAE1D,OAAO,CAAC,CAAC,MAAM;;IAGjB,iBAAiB,GAAA;AACf,QAAA,OAAO,aAAa;;;AAItB,IAAA,kBAAkB,CAAC,WAAwB,EAAA;QACzC,OAAO,CAAC,mBAAmB,CAAC;;AAG9B,IAAA,IAAI,aAAa,GAAA;AACf,QAAA,OAAO,OAAO,CAAC,OAAO,EAAE;;+GA3Bf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cADF,MAAM,EAAA,CAAA,CAAA;;4FACnB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;SCPlB,iCAAiC,GAAA;AAC/C,IAAA,OAAO,CAAC,0BAA0B,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;AACnH;MAGa,0BAA0B,CAAA;aAC9B,IAAY,CAAA,YAAA,GAAiB,EAAjB,CAAmB;IAEtC,OAAO,eAAe,CAAC,YAA0B,EAAA;AAC/C,QAAA,0BAA0B,CAAC,YAAY,GAAG,YAAY;;AAGxD,IAAA,aAAa,CAAC,UAAsB,EAAA;QAClC,OAAO,0BAA0B,CAAC,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK;;+GARpE,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAA1B,0BAA0B,EAAA,CAAA,CAAA;;4FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC;;;ACPD;;AAEG;;;;"}
|