@xxmachina/components 19.9.0 → 19.12.0
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/extras/flow/index.d.ts +1 -0
- package/extras/flow/index.d.ts.map +1 -0
- package/features/command/index.d.ts +1 -0
- package/features/command/index.d.ts.map +1 -0
- package/features/query/index.d.ts +1 -0
- package/features/query/index.d.ts.map +1 -0
- package/fesm2022/xxmachina-components-extras-flow.mjs +151 -154
- package/fesm2022/xxmachina-components-extras-flow.mjs.map +1 -1
- package/fesm2022/xxmachina-components-features-command.mjs +43 -47
- package/fesm2022/xxmachina-components-features-command.mjs.map +1 -1
- package/fesm2022/xxmachina-components-features-query.mjs +60 -66
- package/fesm2022/xxmachina-components-features-query.mjs.map +1 -1
- package/fesm2022/xxmachina-components-groups-command-form.mjs +8 -11
- package/fesm2022/xxmachina-components-groups-command-form.mjs.map +1 -1
- package/fesm2022/xxmachina-components-groups-query-form.mjs +85 -89
- package/fesm2022/xxmachina-components-groups-query-form.mjs.map +1 -1
- package/fesm2022/xxmachina-components-molecules-calendar-paginator.mjs +5 -7
- package/fesm2022/xxmachina-components-molecules-calendar-paginator.mjs.map +1 -1
- package/fesm2022/xxmachina-components-molecules-daily-cell.mjs +16 -16
- package/fesm2022/xxmachina-components-molecules-daily-cell.mjs.map +1 -1
- package/fesm2022/xxmachina-components-molecules-weekly-header.mjs +4 -4
- package/fesm2022/xxmachina-components-molecules-weekly-header.mjs.map +1 -1
- package/fesm2022/xxmachina-components-organisms-calendar-section.mjs +15 -16
- package/fesm2022/xxmachina-components-organisms-calendar-section.mjs.map +1 -1
- package/fesm2022/xxmachina-components-organisms-event-input-section.mjs +35 -38
- package/fesm2022/xxmachina-components-organisms-event-input-section.mjs.map +1 -1
- package/fesm2022/xxmachina-components-organisms-terminal-input-section.mjs +17 -17
- package/fesm2022/xxmachina-components-organisms-terminal-input-section.mjs.map +1 -1
- package/fesm2022/xxmachina-components-organisms-video-trimmer-section.mjs +31 -36
- package/fesm2022/xxmachina-components-organisms-video-trimmer-section.mjs.map +1 -1
- package/fesm2022/xxmachina-components-organisms-xterm.mjs +111 -7
- package/fesm2022/xxmachina-components-organisms-xterm.mjs.map +1 -1
- package/fesm2022/xxmachina-components-pages-command.mjs +40 -44
- package/fesm2022/xxmachina-components-pages-command.mjs.map +1 -1
- package/fesm2022/xxmachina-components-pages-query-v2.mjs +67 -70
- package/fesm2022/xxmachina-components-pages-query-v2.mjs.map +1 -1
- package/fesm2022/xxmachina-components-pages-query.mjs +433 -369
- package/fesm2022/xxmachina-components-pages-query.mjs.map +1 -1
- package/fesm2022/xxmachina-components-pages-thread.mjs +28 -31
- package/fesm2022/xxmachina-components-pages-thread.mjs.map +1 -1
- package/fesm2022/xxmachina-components-routes-commands.mjs.map +1 -1
- package/fesm2022/xxmachina-components-routes-pages.mjs.map +1 -1
- package/fesm2022/xxmachina-components-routes-preloading.mjs +2 -2
- package/fesm2022/xxmachina-components-routes-preloading.mjs.map +1 -1
- package/fesm2022/xxmachina-components-routes-queries.mjs.map +1 -1
- package/fesm2022/xxmachina-components-routes-query.mjs.map +1 -1
- package/fesm2022/xxmachina-components-routes-resources-resource.routes-C5KpB3KM.mjs.map +1 -1
- package/fesm2022/xxmachina-components-routes-resources.mjs.map +1 -1
- package/fesm2022/xxmachina-components-routes-transformer.mjs.map +1 -1
- package/fesm2022/xxmachina-components-routes-transformers.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-app.mjs +6 -9
- package/fesm2022/xxmachina-components-services-app.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-assistant.mjs +3 -5
- package/fesm2022/xxmachina-components-services-assistant.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-calendar.mjs +3 -5
- package/fesm2022/xxmachina-components-services-calendar.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-command.mjs +18 -18
- package/fesm2022/xxmachina-components-services-command.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-context.mjs +4 -5
- package/fesm2022/xxmachina-components-services-context.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-contract.mjs +3 -5
- package/fesm2022/xxmachina-components-services-contract.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-debug.mjs +4 -4
- package/fesm2022/xxmachina-components-services-debug.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-forms-query.mjs +3 -5
- package/fesm2022/xxmachina-components-services-forms-query.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-forms-schedule.mjs +3 -5
- package/fesm2022/xxmachina-components-services-forms-schedule.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-forms-variables.mjs +3 -5
- package/fesm2022/xxmachina-components-services-forms-variables.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-graphql.mjs +3 -2
- package/fesm2022/xxmachina-components-services-graphql.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-invoice.mjs +4 -6
- package/fesm2022/xxmachina-components-services-invoice.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-json-schema.mjs +4 -3
- package/fesm2022/xxmachina-components-services-json-schema.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-link.mjs +3 -5
- package/fesm2022/xxmachina-components-services-link.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-message.mjs +11 -13
- package/fesm2022/xxmachina-components-services-message.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-openai.mjs +10 -15
- package/fesm2022/xxmachina-components-services-openai.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-openapi.mjs +4 -6
- package/fesm2022/xxmachina-components-services-openapi.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-order.mjs +3 -5
- package/fesm2022/xxmachina-components-services-order.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-partner.mjs +3 -5
- package/fesm2022/xxmachina-components-services-partner.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-query.mjs +10 -12
- package/fesm2022/xxmachina-components-services-query.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-recording.mjs +16 -16
- package/fesm2022/xxmachina-components-services-recording.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-schedule.mjs +3 -5
- package/fesm2022/xxmachina-components-services-schedule.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-thread.mjs +3 -5
- package/fesm2022/xxmachina-components-services-thread.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-transformer.mjs +3 -5
- package/fesm2022/xxmachina-components-services-transformer.mjs.map +1 -1
- package/fesm2022/xxmachina-components-services-youtube.mjs +2 -2
- package/fesm2022/xxmachina-components-services-youtube.mjs.map +1 -1
- package/fesm2022/xxmachina-components-templates-agent.mjs +30 -25
- package/fesm2022/xxmachina-components-templates-agent.mjs.map +1 -1
- package/fesm2022/xxmachina-components-templates-background.mjs +148 -148
- package/fesm2022/xxmachina-components-templates-background.mjs.map +1 -1
- package/fesm2022/xxmachina-components-templates-invoice-iframe.mjs +6 -8
- package/fesm2022/xxmachina-components-templates-invoice-iframe.mjs.map +1 -1
- package/fesm2022/xxmachina-components-templates-scheduler.mjs +12 -13
- package/fesm2022/xxmachina-components-templates-scheduler.mjs.map +1 -1
- package/fesm2022/xxmachina-components-templates-video.mjs +22 -27
- package/fesm2022/xxmachina-components-templates-video.mjs.map +1 -1
- package/fesm2022/xxmachina-components-validators-query.mjs.map +1 -1
- package/fesm2022/xxmachina-components.mjs +23 -32
- package/fesm2022/xxmachina-components.mjs.map +1 -1
- package/groups/command-form/index.d.ts +1 -0
- package/groups/command-form/index.d.ts.map +1 -0
- package/groups/query-form/index.d.ts +1 -0
- package/groups/query-form/index.d.ts.map +1 -0
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -0
- package/molecules/calendar-paginator/index.d.ts +1 -0
- package/molecules/calendar-paginator/index.d.ts.map +1 -0
- package/molecules/daily-cell/index.d.ts +1 -0
- package/molecules/daily-cell/index.d.ts.map +1 -0
- package/molecules/weekly-header/index.d.ts +1 -0
- package/molecules/weekly-header/index.d.ts.map +1 -0
- package/organisms/calendar-section/index.d.ts +1 -0
- package/organisms/calendar-section/index.d.ts.map +1 -0
- package/organisms/event-input-section/index.d.ts +1 -0
- package/organisms/event-input-section/index.d.ts.map +1 -0
- package/organisms/terminal-input-section/index.d.ts +1 -0
- package/organisms/terminal-input-section/index.d.ts.map +1 -0
- package/organisms/video-trimmer-section/index.d.ts +1 -0
- package/organisms/video-trimmer-section/index.d.ts.map +1 -0
- package/organisms/xterm/index.d.ts +28 -3
- package/organisms/xterm/index.d.ts.map +1 -0
- package/package.json +5 -5
- package/pages/command/index.d.ts +1 -0
- package/pages/command/index.d.ts.map +1 -0
- package/pages/query/index.d.ts +35 -11
- package/pages/query/index.d.ts.map +1 -0
- package/pages/query-v2/index.d.ts +1 -0
- package/pages/query-v2/index.d.ts.map +1 -0
- package/pages/thread/index.d.ts +1 -0
- package/pages/thread/index.d.ts.map +1 -0
- package/routes/commands/index.d.ts +1 -0
- package/routes/commands/index.d.ts.map +1 -0
- package/routes/index.d.ts +1 -0
- package/routes/index.d.ts.map +1 -0
- package/routes/pages/index.d.ts +1 -0
- package/routes/pages/index.d.ts.map +1 -0
- package/routes/preloading/index.d.ts +1 -0
- package/routes/preloading/index.d.ts.map +1 -0
- package/routes/queries/index.d.ts +1 -0
- package/routes/queries/index.d.ts.map +1 -0
- package/routes/query/index.d.ts +1 -0
- package/routes/query/index.d.ts.map +1 -0
- package/routes/resources/index.d.ts +1 -0
- package/routes/resources/index.d.ts.map +1 -0
- package/routes/side/chat/index.d.ts +1 -0
- package/routes/side/chat/index.d.ts.map +1 -0
- package/routes/side/index.d.ts +1 -0
- package/routes/side/index.d.ts.map +1 -0
- package/routes/transformer/index.d.ts +1 -0
- package/routes/transformer/index.d.ts.map +1 -0
- package/routes/transformers/index.d.ts +1 -0
- package/routes/transformers/index.d.ts.map +1 -0
- package/services/app/index.d.ts +1 -0
- package/services/app/index.d.ts.map +1 -0
- package/services/assistant/index.d.ts +1 -0
- package/services/assistant/index.d.ts.map +1 -0
- package/services/calendar/index.d.ts +1 -0
- package/services/calendar/index.d.ts.map +1 -0
- package/services/command/index.d.ts +1 -0
- package/services/command/index.d.ts.map +1 -0
- package/services/context/index.d.ts +1 -0
- package/services/context/index.d.ts.map +1 -0
- package/services/contract/index.d.ts +1 -0
- package/services/contract/index.d.ts.map +1 -0
- package/services/debug/index.d.ts +1 -0
- package/services/debug/index.d.ts.map +1 -0
- package/services/forms/query/index.d.ts +1 -0
- package/services/forms/query/index.d.ts.map +1 -0
- package/services/forms/schedule/index.d.ts +1 -0
- package/services/forms/schedule/index.d.ts.map +1 -0
- package/services/forms/variables/index.d.ts +1 -0
- package/services/forms/variables/index.d.ts.map +1 -0
- package/services/graphql/index.d.ts +1 -0
- package/services/graphql/index.d.ts.map +1 -0
- package/services/invoice/index.d.ts +1 -0
- package/services/invoice/index.d.ts.map +1 -0
- package/services/json-schema/index.d.ts +1 -0
- package/services/json-schema/index.d.ts.map +1 -0
- package/services/link/index.d.ts +1 -0
- package/services/link/index.d.ts.map +1 -0
- package/services/message/index.d.ts +1 -0
- package/services/message/index.d.ts.map +1 -0
- package/services/openai/index.d.ts +1 -0
- package/services/openai/index.d.ts.map +1 -0
- package/services/openapi/index.d.ts +1 -0
- package/services/openapi/index.d.ts.map +1 -0
- package/services/order/index.d.ts +1 -0
- package/services/order/index.d.ts.map +1 -0
- package/services/partner/index.d.ts +1 -0
- package/services/partner/index.d.ts.map +1 -0
- package/services/query/index.d.ts +1 -0
- package/services/query/index.d.ts.map +1 -0
- package/services/recording/index.d.ts +1 -0
- package/services/recording/index.d.ts.map +1 -0
- package/services/schedule/index.d.ts +1 -0
- package/services/schedule/index.d.ts.map +1 -0
- package/services/thread/index.d.ts +1 -0
- package/services/thread/index.d.ts.map +1 -0
- package/services/transformer/index.d.ts +1 -0
- package/services/transformer/index.d.ts.map +1 -0
- package/services/youtube/index.d.ts +1 -0
- package/services/youtube/index.d.ts.map +1 -0
- package/templates/agent/index.d.ts +2 -0
- package/templates/agent/index.d.ts.map +1 -0
- package/templates/background/index.d.ts +1 -0
- package/templates/background/index.d.ts.map +1 -0
- package/templates/invoice-iframe/index.d.ts +1 -0
- package/templates/invoice-iframe/index.d.ts.map +1 -0
- package/templates/scheduler/index.d.ts +1 -0
- package/templates/scheduler/index.d.ts.map +1 -0
- package/templates/video/index.d.ts +1 -0
- package/templates/video/index.d.ts.map +1 -0
- package/validators/query/index.d.ts +1 -0
- package/validators/query/index.d.ts.map +1 -0
|
@@ -9,9 +9,7 @@ import { of, filter, switchMap, catchError, NEVER } from 'rxjs';
|
|
|
9
9
|
import { derivedAsync } from 'ngxtension/derived-async';
|
|
10
10
|
|
|
11
11
|
class CommandFormBuilder {
|
|
12
|
-
|
|
13
|
-
this.fb = inject(FormBuilder).nonNullable;
|
|
14
|
-
}
|
|
12
|
+
fb = inject(FormBuilder).nonNullable;
|
|
15
13
|
build() {
|
|
16
14
|
return this.fb.group({
|
|
17
15
|
type: ['webApiRequest'],
|
|
@@ -23,63 +21,61 @@ class CommandFormBuilder {
|
|
|
23
21
|
}),
|
|
24
22
|
});
|
|
25
23
|
}
|
|
26
|
-
static
|
|
27
|
-
static
|
|
24
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: CommandFormBuilder, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
25
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: CommandFormBuilder, providedIn: 'root' });
|
|
28
26
|
}
|
|
29
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: CommandFormBuilder, decorators: [{
|
|
30
28
|
type: Injectable,
|
|
31
29
|
args: [{ providedIn: 'root' }]
|
|
32
30
|
}] });
|
|
33
31
|
class CommandFeature {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
this.
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
this.
|
|
51
|
-
|
|
52
|
-
name: method.toLocaleUpperCase(), value: method.toLocaleUpperCase()
|
|
53
|
-
}));
|
|
54
|
-
});
|
|
55
|
-
this.openApi = derivedAsync(() => {
|
|
56
|
-
const url = this.apiJsonUrl();
|
|
57
|
-
return of(url).pipe(filter((url) => !!url), switchMap(() => this.openApiService.getOpenApi(url).pipe(catchError((error) => (console.error(error), NEVER)))));
|
|
58
|
-
}, {
|
|
59
|
-
initialValue: new OpenApi({
|
|
60
|
-
openapi: '3.0.0',
|
|
61
|
-
apiJsonUrl: '/api-json',
|
|
62
|
-
info: { title: 'dummy', version: '1.0.0' },
|
|
63
|
-
paths: {},
|
|
64
|
-
}),
|
|
65
|
-
});
|
|
66
|
-
this.form = computed(() => this.jsonSchemaFb.build(this.requestBodySchema(), { fb: this.fb }));
|
|
67
|
-
this.extractedFormFieldMap = computed(() => this.jsonSchemaFb.buildFieldMap(this.requestBodySchema(), {
|
|
68
|
-
merge: {
|
|
69
|
-
'id': { type: 'hidden' },
|
|
70
|
-
'__typename': { type: 'hidden' },
|
|
71
|
-
'kind': { type: 'hidden' },
|
|
72
|
-
}
|
|
32
|
+
fb = inject(FormBuilder);
|
|
33
|
+
openApiService = inject(OpenApiService);
|
|
34
|
+
_commandService = inject(CommandService);
|
|
35
|
+
commandFb = inject(CommandFormBuilder);
|
|
36
|
+
jsonSchemaFb = inject(JsonSchemaFormService);
|
|
37
|
+
commandForm = computed(() => this.commandFb.build());
|
|
38
|
+
commandFormValue = derivedAsync(() => this.commandForm().valueChanges, { initialValue: this.commandForm().value });
|
|
39
|
+
apiJsonUrl = computed(() => this.commandFormValue()?.webApiRequest?.apiJsonUrl);
|
|
40
|
+
path = computed(() => this.commandFormValue()?.webApiRequest?.path);
|
|
41
|
+
method = computed(() => this.commandFormValue()?.webApiRequest?.method?.toLowerCase());
|
|
42
|
+
requestBodySchema = computed(() => this.openApi().getRequestBodySchema(this.path(), this.method()));
|
|
43
|
+
title = computed(() => this.openApi().getSummary(this.path(), this.method()));
|
|
44
|
+
endpointAutoCompleteOptions = computed(() => {
|
|
45
|
+
return this.openApi().getEndpoints().filter((endpoint) => endpoint.startsWith(this.path()));
|
|
46
|
+
});
|
|
47
|
+
methodOptions = computed(() => {
|
|
48
|
+
return this.openApi().getMethods(this.commandFormValue()?.webApiRequest?.path ?? '').map((method) => ({
|
|
49
|
+
name: method.toLocaleUpperCase(), value: method.toLocaleUpperCase()
|
|
73
50
|
}));
|
|
74
|
-
}
|
|
51
|
+
});
|
|
52
|
+
openApi = derivedAsync(() => {
|
|
53
|
+
const url = this.apiJsonUrl();
|
|
54
|
+
return of(url).pipe(filter((url) => !!url), switchMap(() => this.openApiService.getOpenApi(url).pipe(catchError((error) => (console.error(error), NEVER)))));
|
|
55
|
+
}, {
|
|
56
|
+
initialValue: new OpenApi({
|
|
57
|
+
openapi: '3.0.0',
|
|
58
|
+
apiJsonUrl: '/api-json',
|
|
59
|
+
info: { title: 'dummy', version: '1.0.0' },
|
|
60
|
+
paths: {},
|
|
61
|
+
}),
|
|
62
|
+
});
|
|
63
|
+
form = computed(() => this.jsonSchemaFb.build(this.requestBodySchema(), { fb: this.fb }));
|
|
64
|
+
extractedFormFieldMap = computed(() => this.jsonSchemaFb.buildFieldMap(this.requestBodySchema(), {
|
|
65
|
+
merge: {
|
|
66
|
+
'id': { type: 'hidden' },
|
|
67
|
+
'__typename': { type: 'hidden' },
|
|
68
|
+
'kind': { type: 'hidden' },
|
|
69
|
+
}
|
|
70
|
+
}));
|
|
75
71
|
hasPermission(command) {
|
|
76
72
|
return this._commandService.hasPermission(command);
|
|
77
73
|
}
|
|
78
74
|
execute(command, data) {
|
|
79
75
|
return this._commandService.execute(command, data);
|
|
80
76
|
}
|
|
81
|
-
static
|
|
82
|
-
static
|
|
77
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: CommandFeature, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
78
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: CommandFeature });
|
|
83
79
|
}
|
|
84
80
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: CommandFeature, decorators: [{
|
|
85
81
|
type: Injectable
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xxmachina-components-features-command.mjs","sources":["../tmp-esm2022/features/command/command.feature.js","../tmp-esm2022/features/command/xxmachina-components-features-command.js"],"sourcesContent":["import { computed, inject, Injectable } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { CommandService } from '@xxmachina/components/services/command';\nimport { JsonSchemaFormService } from '@ng-atomic/common/services/form/json-schema';\nimport { OpenApi } from '@xxmachina/common/domain/models';\nimport { OpenApiService } from '@xxmachina/components/services/openapi';\nimport { switchMap, catchError, of, filter, NEVER } from 'rxjs';\nimport { derivedAsync } from 'ngxtension/derived-async';\nimport * as i0 from \"@angular/core\";\nexport class CommandFormBuilder {\n constructor() {\n this.fb = inject(FormBuilder).nonNullable;\n }\n build() {\n return this.fb.group({\n type: ['webApiRequest'],\n webApiRequest: this.fb.group({\n apiJsonUrl: [''],\n serverUrl: [''],\n path: [''],\n method: [''],\n }),\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommandFormBuilder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommandFormBuilder, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommandFormBuilder, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\nexport class CommandFeature {\n constructor() {\n this.fb = inject(FormBuilder);\n this.openApiService = inject(OpenApiService);\n this._commandService = inject(CommandService);\n this.commandFb = inject(CommandFormBuilder);\n this.jsonSchemaFb = inject(JsonSchemaFormService);\n this.commandForm = computed(() => this.commandFb.build());\n this.commandFormValue = derivedAsync(() => this.commandForm().valueChanges, { initialValue: this.commandForm().value });\n this.apiJsonUrl = computed(() => this.commandFormValue()?.webApiRequest?.apiJsonUrl);\n this.path = computed(() => this.commandFormValue()?.webApiRequest?.path);\n this.method = computed(() => this.commandFormValue()?.webApiRequest?.method?.toLowerCase());\n this.requestBodySchema = computed(() => this.openApi().getRequestBodySchema(this.path(), this.method()));\n this.title = computed(() => this.openApi().getSummary(this.path(), this.method()));\n this.endpointAutoCompleteOptions = computed(() => {\n return this.openApi().getEndpoints().filter((endpoint) => endpoint.startsWith(this.path()));\n });\n this.methodOptions = computed(() => {\n return this.openApi().getMethods(this.commandFormValue()?.webApiRequest?.path ?? '').map((method) => ({\n name: method.toLocaleUpperCase(), value: method.toLocaleUpperCase()\n }));\n });\n this.openApi = derivedAsync(() => {\n const url = this.apiJsonUrl();\n return of(url).pipe(filter((url) => !!url), switchMap(() => this.openApiService.getOpenApi(url).pipe(catchError((error) => (console.error(error), NEVER)))));\n }, {\n initialValue: new OpenApi({\n openapi: '3.0.0',\n apiJsonUrl: '/api-json',\n info: { title: 'dummy', version: '1.0.0' },\n paths: {},\n }),\n });\n this.form = computed(() => this.jsonSchemaFb.build(this.requestBodySchema(), { fb: this.fb }));\n this.extractedFormFieldMap = computed(() => this.jsonSchemaFb.buildFieldMap(this.requestBodySchema(), {\n merge: {\n 'id': { type: 'hidden' },\n '__typename': { type: 'hidden' },\n 'kind': { type: 'hidden' },\n }\n }));\n }\n hasPermission(command) {\n return this._commandService.hasPermission(command);\n }\n execute(command, data) {\n return this._commandService.execute(command, data);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommandFeature, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommandFeature }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommandFeature, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5mZWF0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21wb25lbnRzL3NyYy9saWIvZmVhdHVyZXMvY29tbWFuZC9jb21tYW5kLmZlYXR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDcEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBSXhELE1BQU0sT0FBTyxrQkFBa0I7SUFEL0I7UUFFcUIsT0FBRSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxXQUFXLENBQUM7S0FZekQ7SUFYQyxLQUFLO1FBQ0gsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNuQixJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUM7WUFDdkIsYUFBYSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO2dCQUMzQixVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ2hCLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDZixJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7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Q0FBQyxPQUFnQjtRQUM1QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxPQUFPLENBQUMsT0FBZ0IsRUFBRSxJQUFTO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7OEdBdERVLGNBQWM7a0hBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbWFuZFNlcnZpY2UgfSBmcm9tICdAeHhtYWNoaW5hL2NvbXBvbmVudHMvc2VydmljZXMvY29tbWFuZCc7XG5pbXBvcnQgeyBfY29tcHV0ZWQgfSBmcm9tICdAbmctYXRvbWljL2NvcmUnO1xuaW1wb3J0IHsgSnNvblNjaGVtYUZvcm1TZXJ2aWNlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvZm9ybS9qc29uLXNjaGVtYSc7XG5pbXBvcnQgeyBPcGVuQXBpIH0gZnJvbSAnQHh4bWFjaGluYS9jb21tb24vZG9tYWluL21vZGVscyc7XG5pbXBvcnQgeyBDb21tYW5kIH0gZnJvbSAnQHh4bWFjaGluYS9jb21tb24vZG9tYWluL21vZGVscyc7XG5pbXBvcnQgeyBPcGVuQXBpU2VydmljZSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tcG9uZW50cy9zZXJ2aWNlcy9vcGVuYXBpJztcbmltcG9ydCB7IHN3aXRjaE1hcCwgY2F0Y2hFcnJvciwgb2YsIGZpbHRlciwgTkVWRVIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlcml2ZWRBc3luYyB9IGZyb20gJ25neHRlbnNpb24vZGVyaXZlZC1hc3luYyc7XG5cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgQ29tbWFuZEZvcm1CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZiID0gaW5qZWN0KEZvcm1CdWlsZGVyKS5ub25OdWxsYWJsZTtcbiAgYnVpbGQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdHlwZTogWyd3ZWJBcGlSZXF1ZXN0J10sXG4gICAgICB3ZWJBcGlSZXF1ZXN0OiB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgYXBpSnNvblVybDogWycnXSxcbiAgICAgICAgc2VydmVyVXJsOiBbJyddLFxuICAgICAgICBwYXRoOiBbJyddLFxuICAgICAgICBtZXRob2Q6IFsnJ10sXG4gICAgICB9KSxcbiAgICB9KTtcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29tbWFuZEZlYXR1cmUge1xuICByZWFkb25seSBmYiA9IGluamVjdChGb3JtQnVpbGRlcik7XG4gIHJlYWRvbmx5IG9wZW5BcGlTZXJ2aWNlID0gaW5qZWN0KE9wZW5BcGlTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgX2NvbW1hbmRTZXJ2aWNlID0gaW5qZWN0KENvbW1hbmRTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgY29tbWFuZEZiID0gaW5qZWN0KENvbW1hbmRGb3JtQnVpbGRlcik7XG4gIHJlYWRvbmx5IGpzb25TY2hlbWFGYiA9IGluamVjdChKc29uU2NoZW1hRm9ybVNlcnZpY2UpO1xuXG4gIHJlYWRvbmx5IGNvbW1hbmRGb3JtID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb21tYW5kRmIuYnVpbGQoKSk7XG4gIHJlYWRvbmx5IGNvbW1hbmRGb3JtVmFsdWUgPSBkZXJpdmVkQXN5bmMoKCkgPT4gdGhpcy5jb21tYW5kRm9ybSgpLnZhbHVlQ2hhbmdlcywgeyBpbml0aWFsVmFsdWU6IHRoaXMuY29tbWFuZEZvcm0oKS52YWx1ZSB9KTtcbiAgcmVhZG9ubHkgYXBpSnNvblVybCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY29tbWFuZEZvcm1WYWx1ZSgpPy53ZWJBcGlSZXF1ZXN0Py5hcGlKc29uVXJsKTtcbiAgcmVhZG9ubHkgcGF0aCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY29tbWFuZEZvcm1WYWx1ZSgpPy53ZWJBcGlSZXF1ZXN0Py5wYXRoKTtcbiAgcmVhZG9ubHkgbWV0aG9kID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb21tYW5kRm9ybVZhbHVlKCk/LndlYkFwaVJlcXVlc3Q/Lm1ldGhvZD8udG9Mb3dlckNhc2UoKSk7XG4gIHJlYWRvbmx5IHJlcXVlc3RCb2R5U2NoZW1hID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5vcGVuQXBpKCkuZ2V0UmVxdWVzdEJvZHlTY2hlbWEodGhpcy5wYXRoKCksIHRoaXMubWV0aG9kKCkpKTtcbiAgcmVhZG9ubHkgdGl0bGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm9wZW5BcGkoKS5nZXRTdW1tYXJ5KHRoaXMucGF0aCgpLCB0aGlzLm1ldGhvZCgpKSk7XG4gIHJlYWRvbmx5IGVuZHBvaW50QXV0b0NvbXBsZXRlT3B0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5vcGVuQXBpKCkuZ2V0RW5kcG9pbnRzKCkuZmlsdGVyKChlbmRwb2ludCkgPT4gZW5kcG9pbnQuc3RhcnRzV2l0aCh0aGlzLnBhdGgoKSkpO1xuICB9KTtcbiAgcmVhZG9ubHkgbWV0aG9kT3B0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5vcGVuQXBpKCkuZ2V0TWV0aG9kcyh0aGlzLmNvbW1hbmRGb3JtVmFsdWUoKT8ud2ViQXBpUmVxdWVzdD8ucGF0aCA/PyAnJykubWFwKChtZXRob2QpID0+ICh7XG4gICAgICBuYW1lOiBtZXRob2QudG9Mb2NhbGVVcHBlckNhc2UoKSwgdmFsdWU6IG1ldGhvZC50b0xvY2FsZVVwcGVyQ2FzZSgpXG4gICAgfSkpO1xuICB9KTtcblxuICByZWFkb25seSBvcGVuQXBpID0gZGVyaXZlZEFzeW5jKCgpID0+IHtcbiAgICAgIGNvbnN0IHVybCA9IHRoaXMuYXBpSnNvblVybCgpO1xuICAgICAgcmV0dXJuIG9mKHVybCkucGlwZShcbiAgICAgICAgZmlsdGVyKCh1cmwpID0+ICEhdXJsKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMub3BlbkFwaVNlcnZpY2UuZ2V0T3BlbkFwaSh1cmwpLnBpcGUoXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IChjb25zb2xlLmVycm9yKGVycm9yKSwgTkVWRVIpKSxcbiAgICAgICAgKSksXG4gICAgICApO1xuICAgIH0sIHsgXG4gICAgICBpbml0aWFsVmFsdWU6IG5ldyBPcGVuQXBpKHtcbiAgICAgICAgb3BlbmFwaTogJzMuMC4wJyxcbiAgICAgICAgYXBpSnNvblVybDogJy9hcGktanNvbicsXG4gICAgICAgIGluZm86IHsgdGl0bGU6ICdkdW1teScsIHZlcnNpb246ICcxLjAuMCcgfSxcbiAgICAgICAgcGF0aHM6IHt9LFxuICAgICAgfSksXG4gICAgfSk7XG4gIHJlYWRvbmx5IGZvcm0gPSBjb21wdXRlZCgoKSA9PiB0aGlzLmpzb25TY2hlbWFGYi5idWlsZCh0aGlzLnJlcXVlc3RCb2R5U2NoZW1hKCksIHtmYjogdGhpcy5mYn0pKTtcbiAgcmVhZG9ubHkgZXh0cmFjdGVkRm9ybUZpZWxkTWFwID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5qc29uU2NoZW1hRmIuYnVpbGRGaWVsZE1hcCh0aGlzLnJlcXVlc3RCb2R5U2NoZW1hKCksIHtcbiAgICBtZXJnZToge1xuICAgICAgJ2lkJzogeyB0eXBlOiAnaGlkZGVuJyB9LFxuICAgICAgJ19fdHlwZW5hbWUnOiB7IHR5cGU6ICdoaWRkZW4nIH0sXG4gICAgICAna2luZCc6IHsgdHlwZTogJ2hpZGRlbicgfSxcbiAgICB9XG4gIH0pKTtcblxuICBoYXNQZXJtaXNzaW9uKGNvbW1hbmQ6IENvbW1hbmQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fY29tbWFuZFNlcnZpY2UuaGFzUGVybWlzc2lvbihjb21tYW5kKTtcbiAgfVxuXG4gIGV4ZWN1dGUoY29tbWFuZDogQ29tbWFuZCwgZGF0YTogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbW1hbmRTZXJ2aWNlLmV4ZWN1dGUoY29tbWFuZCwgZGF0YSk7XG4gIH1cbn0iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbXBvbmVudHMtZmVhdHVyZXMtY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tcG9uZW50cy9zcmMvbGliL2ZlYXR1cmVzL2NvbW1hbmQveHhtYWNoaW5hLWNvbXBvbmVudHMtZmVhdHVyZXMtY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"xxmachina-components-features-command.mjs","sources":["../tmp-esm2022/features/command/command.feature.js","../tmp-esm2022/features/command/xxmachina-components-features-command.js"],"sourcesContent":["import { computed, inject, Injectable } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { CommandService } from '@xxmachina/components/services/command';\nimport { JsonSchemaFormService } from '@ng-atomic/common/services/form/json-schema';\nimport { OpenApi } from '@xxmachina/common/domain/models';\nimport { OpenApiService } from '@xxmachina/components/services/openapi';\nimport { switchMap, catchError, of, filter, NEVER } from 'rxjs';\nimport { derivedAsync } from 'ngxtension/derived-async';\nimport * as i0 from \"@angular/core\";\nexport class CommandFormBuilder {\n fb = inject(FormBuilder).nonNullable;\n build() {\n return this.fb.group({\n type: ['webApiRequest'],\n webApiRequest: this.fb.group({\n apiJsonUrl: [''],\n serverUrl: [''],\n path: [''],\n method: [''],\n }),\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommandFormBuilder, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommandFormBuilder, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommandFormBuilder, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\nexport class CommandFeature {\n fb = inject(FormBuilder);\n openApiService = inject(OpenApiService);\n _commandService = inject(CommandService);\n commandFb = inject(CommandFormBuilder);\n jsonSchemaFb = inject(JsonSchemaFormService);\n commandForm = computed(() => this.commandFb.build());\n commandFormValue = derivedAsync(() => this.commandForm().valueChanges, { initialValue: this.commandForm().value });\n apiJsonUrl = computed(() => this.commandFormValue()?.webApiRequest?.apiJsonUrl);\n path = computed(() => this.commandFormValue()?.webApiRequest?.path);\n method = computed(() => this.commandFormValue()?.webApiRequest?.method?.toLowerCase());\n requestBodySchema = computed(() => this.openApi().getRequestBodySchema(this.path(), this.method()));\n title = computed(() => this.openApi().getSummary(this.path(), this.method()));\n endpointAutoCompleteOptions = computed(() => {\n return this.openApi().getEndpoints().filter((endpoint) => endpoint.startsWith(this.path()));\n });\n methodOptions = computed(() => {\n return this.openApi().getMethods(this.commandFormValue()?.webApiRequest?.path ?? '').map((method) => ({\n name: method.toLocaleUpperCase(), value: method.toLocaleUpperCase()\n }));\n });\n openApi = derivedAsync(() => {\n const url = this.apiJsonUrl();\n return of(url).pipe(filter((url) => !!url), switchMap(() => this.openApiService.getOpenApi(url).pipe(catchError((error) => (console.error(error), NEVER)))));\n }, {\n initialValue: new OpenApi({\n openapi: '3.0.0',\n apiJsonUrl: '/api-json',\n info: { title: 'dummy', version: '1.0.0' },\n paths: {},\n }),\n });\n form = computed(() => this.jsonSchemaFb.build(this.requestBodySchema(), { fb: this.fb }));\n extractedFormFieldMap = computed(() => this.jsonSchemaFb.buildFieldMap(this.requestBodySchema(), {\n merge: {\n 'id': { type: 'hidden' },\n '__typename': { type: 'hidden' },\n 'kind': { type: 'hidden' },\n }\n }));\n hasPermission(command) {\n return this._commandService.hasPermission(command);\n }\n execute(command, data) {\n return this._commandService.execute(command, data);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommandFeature, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommandFeature });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CommandFeature, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5mZWF0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21wb25lbnRzL3NyYy9saWIvZmVhdHVyZXMvY29tbWFuZC9jb21tYW5kLmZlYXR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDcEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBSXhELE1BQU0sT0FBTyxrQkFBa0I7SUFDVixFQUFFLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUN4RCxLQUFLO1FBQ0gsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNuQixJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUM7WUFDdkIsYUFBYSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO2dCQUMzQixVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ2hCLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDZixJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ1YsTUFBTSxF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ZSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsT0FBTyxDQUFDLE9BQWdCLEVBQUUsSUFBUztRQUNqQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRCxDQUFDO3VHQXREVSxjQUFjOzJHQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1hbmRTZXJ2aWNlIH0gZnJvbSAnQHh4bWFjaGluYS9jb21wb25lbnRzL3NlcnZpY2VzL2NvbW1hbmQnO1xuaW1wb3J0IHsgX2NvbXB1dGVkIH0gZnJvbSAnQG5nLWF0b21pYy9jb3JlJztcbmltcG9ydCB7IEpzb25TY2hlbWFGb3JtU2VydmljZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL2Zvcm0vanNvbi1zY2hlbWEnO1xuaW1wb3J0IHsgT3BlbkFwaSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2RvbWFpbi9tb2RlbHMnO1xuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2RvbWFpbi9tb2RlbHMnO1xuaW1wb3J0IHsgT3BlbkFwaVNlcnZpY2UgfSBmcm9tICdAeHhtYWNoaW5hL2NvbXBvbmVudHMvc2VydmljZXMvb3BlbmFwaSc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAsIGNhdGNoRXJyb3IsIG9mLCBmaWx0ZXIsIE5FVkVSIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZXJpdmVkQXN5bmMgfSBmcm9tICduZ3h0ZW5zaW9uL2Rlcml2ZWQtYXN5bmMnO1xuXG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIENvbW1hbmRGb3JtQnVpbGRlciB7XG4gIHByb3RlY3RlZCByZWFkb25seSBmYiA9IGluamVjdChGb3JtQnVpbGRlcikubm9uTnVsbGFibGU7XG4gIGJ1aWxkKCkge1xuICAgIHJldHVybiB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHR5cGU6IFsnd2ViQXBpUmVxdWVzdCddLFxuICAgICAgd2ViQXBpUmVxdWVzdDogdGhpcy5mYi5ncm91cCh7XG4gICAgICAgIGFwaUpzb25Vcmw6IFsnJ10sXG4gICAgICAgIHNlcnZlclVybDogWycnXSxcbiAgICAgICAgcGF0aDogWycnXSxcbiAgICAgICAgbWV0aG9kOiBbJyddLFxuICAgICAgfSksXG4gICAgfSk7XG4gIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbW1hbmRGZWF0dXJlIHtcbiAgcmVhZG9ubHkgZmIgPSBpbmplY3QoRm9ybUJ1aWxkZXIpO1xuICByZWFkb25seSBvcGVuQXBpU2VydmljZSA9IGluamVjdChPcGVuQXBpU2VydmljZSk7XG4gIHJlYWRvbmx5IF9jb21tYW5kU2VydmljZSA9IGluamVjdChDb21tYW5kU2VydmljZSk7XG4gIHJlYWRvbmx5IGNvbW1hbmRGYiA9IGluamVjdChDb21tYW5kRm9ybUJ1aWxkZXIpO1xuICByZWFkb25seSBqc29uU2NoZW1hRmIgPSBpbmplY3QoSnNvblNjaGVtYUZvcm1TZXJ2aWNlKTtcblxuICByZWFkb25seSBjb21tYW5kRm9ybSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY29tbWFuZEZiLmJ1aWxkKCkpO1xuICByZWFkb25seSBjb21tYW5kRm9ybVZhbHVlID0gZGVyaXZlZEFzeW5jKCgpID0+IHRoaXMuY29tbWFuZEZvcm0oKS52YWx1ZUNoYW5nZXMsIHsgaW5pdGlhbFZhbHVlOiB0aGlzLmNvbW1hbmRGb3JtKCkudmFsdWUgfSk7XG4gIHJlYWRvbmx5IGFwaUpzb25VcmwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNvbW1hbmRGb3JtVmFsdWUoKT8ud2ViQXBpUmVxdWVzdD8uYXBpSnNvblVybCk7XG4gIHJlYWRvbmx5IHBhdGggPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNvbW1hbmRGb3JtVmFsdWUoKT8ud2ViQXBpUmVxdWVzdD8ucGF0aCk7XG4gIHJlYWRvbmx5IG1ldGhvZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY29tbWFuZEZvcm1WYWx1ZSgpPy53ZWJBcGlSZXF1ZXN0Py5tZXRob2Q/LnRvTG93ZXJDYXNlKCkpO1xuICByZWFkb25seSByZXF1ZXN0Qm9keVNjaGVtYSA9IGNvbXB1dGVkKCgpID0+IHRoaXMub3BlbkFwaSgpLmdldFJlcXVlc3RCb2R5U2NoZW1hKHRoaXMucGF0aCgpLCB0aGlzLm1ldGhvZCgpKSk7XG4gIHJlYWRvbmx5IHRpdGxlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5vcGVuQXBpKCkuZ2V0U3VtbWFyeSh0aGlzLnBhdGgoKSwgdGhpcy5tZXRob2QoKSkpO1xuICByZWFkb25seSBlbmRwb2ludEF1dG9Db21wbGV0ZU9wdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMub3BlbkFwaSgpLmdldEVuZHBvaW50cygpLmZpbHRlcigoZW5kcG9pbnQpID0+IGVuZHBvaW50LnN0YXJ0c1dpdGgodGhpcy5wYXRoKCkpKTtcbiAgfSk7XG4gIHJlYWRvbmx5IG1ldGhvZE9wdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMub3BlbkFwaSgpLmdldE1ldGhvZHModGhpcy5jb21tYW5kRm9ybVZhbHVlKCk/LndlYkFwaVJlcXVlc3Q/LnBhdGggPz8gJycpLm1hcCgobWV0aG9kKSA9PiAoe1xuICAgICAgbmFtZTogbWV0aG9kLnRvTG9jYWxlVXBwZXJDYXNlKCksIHZhbHVlOiBtZXRob2QudG9Mb2NhbGVVcHBlckNhc2UoKVxuICAgIH0pKTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgb3BlbkFwaSA9IGRlcml2ZWRBc3luYygoKSA9PiB7XG4gICAgICBjb25zdCB1cmwgPSB0aGlzLmFwaUpzb25VcmwoKTtcbiAgICAgIHJldHVybiBvZih1cmwpLnBpcGUoXG4gICAgICAgIGZpbHRlcigodXJsKSA9PiAhIXVybCksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLm9wZW5BcGlTZXJ2aWNlLmdldE9wZW5BcGkodXJsKS5waXBlKFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiAoY29uc29sZS5lcnJvcihlcnJvciksIE5FVkVSKSksXG4gICAgICAgICkpLFxuICAgICAgKTtcbiAgICB9LCB7IFxuICAgICAgaW5pdGlhbFZhbHVlOiBuZXcgT3BlbkFwaSh7XG4gICAgICAgIG9wZW5hcGk6ICczLjAuMCcsXG4gICAgICAgIGFwaUpzb25Vcmw6ICcvYXBpLWpzb24nLFxuICAgICAgICBpbmZvOiB7IHRpdGxlOiAnZHVtbXknLCB2ZXJzaW9uOiAnMS4wLjAnIH0sXG4gICAgICAgIHBhdGhzOiB7fSxcbiAgICAgIH0pLFxuICAgIH0pO1xuICByZWFkb25seSBmb3JtID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5qc29uU2NoZW1hRmIuYnVpbGQodGhpcy5yZXF1ZXN0Qm9keVNjaGVtYSgpLCB7ZmI6IHRoaXMuZmJ9KSk7XG4gIHJlYWRvbmx5IGV4dHJhY3RlZEZvcm1GaWVsZE1hcCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuanNvblNjaGVtYUZiLmJ1aWxkRmllbGRNYXAodGhpcy5yZXF1ZXN0Qm9keVNjaGVtYSgpLCB7XG4gICAgbWVyZ2U6IHtcbiAgICAgICdpZCc6IHsgdHlwZTogJ2hpZGRlbicgfSxcbiAgICAgICdfX3R5cGVuYW1lJzogeyB0eXBlOiAnaGlkZGVuJyB9LFxuICAgICAgJ2tpbmQnOiB7IHR5cGU6ICdoaWRkZW4nIH0sXG4gICAgfVxuICB9KSk7XG5cbiAgaGFzUGVybWlzc2lvbihjb21tYW5kOiBDb21tYW5kKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbW1hbmRTZXJ2aWNlLmhhc1Blcm1pc3Npb24oY29tbWFuZCk7XG4gIH1cblxuICBleGVjdXRlKGNvbW1hbmQ6IENvbW1hbmQsIGRhdGE6IGFueSkge1xuICAgIHJldHVybiB0aGlzLl9jb21tYW5kU2VydmljZS5leGVjdXRlKGNvbW1hbmQsIGRhdGEpO1xuICB9XG59Il19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbXBvbmVudHMtZmVhdHVyZXMtY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tcG9uZW50cy9zcmMvbGliL2ZlYXR1cmVzL2NvbW1hbmQveHhtYWNoaW5hLWNvbXBvbmVudHMtZmVhdHVyZXMtY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;;;;;;;AASO,MAAM,kBAAkB,CAAC;AAChC,IAAI,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW;AACxC,IAAI,KAAK,GAAG;AACZ,QAAQ,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;AAC7B,YAAY,IAAI,EAAE,CAAC,eAAe,CAAC;AACnC,YAAY,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;AACzC,gBAAgB,UAAU,EAAE,CAAC,EAAE,CAAC;AAChC,gBAAgB,SAAS,EAAE,CAAC,EAAE,CAAC;AAC/B,gBAAgB,IAAI,EAAE,CAAC,EAAE,CAAC;AAC1B,gBAAgB,MAAM,EAAE,CAAC,EAAE,CAAC;AAC5B,aAAa,CAAC;AACd,SAAS,CAAC;AACV,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AAC7K,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AACpJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC;AAC5H,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;AACzC,SAAS,CAAC,EAAE,CAAC;AACN,MAAM,cAAc,CAAC;AAC5B,IAAI,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC;AAC5B,IAAI,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;AAC3C,IAAI,eAAe,GAAG,MAAM,CAAC,cAAc,CAAC;AAC5C,IAAI,SAAS,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC1C,IAAI,YAAY,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAChD,IAAI,WAAW,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;AACxD,IAAI,gBAAgB,GAAG,YAAY,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC;AACtH,IAAI,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,EAAE,aAAa,EAAE,UAAU,CAAC;AACnF,IAAI,IAAI,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC;AACvE,IAAI,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AAC1F,IAAI,iBAAiB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACvG,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACjF,IAAI,2BAA2B,GAAG,QAAQ,CAAC,MAAM;AACjD,QAAQ,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACnG,IAAI,CAAC,CAAC;AACN,IAAI,aAAa,GAAG,QAAQ,CAAC,MAAM;AACnC,QAAQ,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,MAAM;AAC9G,YAAY,IAAI,EAAE,MAAM,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,iBAAiB;AAC7E,SAAS,CAAC,CAAC;AACX,IAAI,CAAC,CAAC;AACN,IAAI,OAAO,GAAG,YAAY,CAAC,MAAM;AACjC,QAAQ,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE;AACrC,QAAQ,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACpK,IAAI,CAAC,EAAE;AACP,QAAQ,YAAY,EAAE,IAAI,OAAO,CAAC;AAClC,YAAY,OAAO,EAAE,OAAO;AAC5B,YAAY,UAAU,EAAE,WAAW;AACnC,YAAY,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;AACtD,YAAY,KAAK,EAAE,EAAE;AACrB,SAAS,CAAC;AACV,KAAK,CAAC;AACN,IAAI,IAAI,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7F,IAAI,qBAAqB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE;AACrG,QAAQ,KAAK,EAAE;AACf,YAAY,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;AACpC,YAAY,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;AAC5C,YAAY,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;AACtC;AACA,KAAK,CAAC,CAAC;AACP,IAAI,aAAa,CAAC,OAAO,EAAE;AAC3B,QAAQ,OAAO,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC;AAC1D,IAAI;AACJ,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE;AAC3B,QAAQ,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;AAC1D,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AACzK,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;AAC5H;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AACxH,YAAY,IAAI,EAAE;AAClB,SAAS,CAAC,EAAE,CAAC;;AChFb;AACA;AACA;;;;"}
|
|
@@ -24,11 +24,6 @@ var ActionId;
|
|
|
24
24
|
})(ActionId || (ActionId = {}));
|
|
25
25
|
|
|
26
26
|
class QueryUpdateFeature {
|
|
27
|
-
constructor() {
|
|
28
|
-
this.queryEntityStore = injectEntityStore(Query);
|
|
29
|
-
this.app = inject(AppService);
|
|
30
|
-
this.feature = inject(QueryFeature);
|
|
31
|
-
}
|
|
32
27
|
static provideUpdateQueryEffect() {
|
|
33
28
|
return [
|
|
34
29
|
provideEffect(ActionId.クエリの更新, () => {
|
|
@@ -37,6 +32,9 @@ class QueryUpdateFeature {
|
|
|
37
32
|
}),
|
|
38
33
|
];
|
|
39
34
|
}
|
|
35
|
+
queryEntityStore = injectEntityStore(Query);
|
|
36
|
+
app = inject(AppService);
|
|
37
|
+
feature = inject(QueryFeature);
|
|
40
38
|
update() {
|
|
41
39
|
const value = this.feature.form.getRawValue();
|
|
42
40
|
this.app.loading.await(() => {
|
|
@@ -55,23 +53,23 @@ class QueryUpdateFeature {
|
|
|
55
53
|
});
|
|
56
54
|
});
|
|
57
55
|
}
|
|
58
|
-
static
|
|
59
|
-
static
|
|
56
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryUpdateFeature, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
57
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryUpdateFeature });
|
|
60
58
|
}
|
|
61
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryUpdateFeature, decorators: [{
|
|
62
60
|
type: Injectable
|
|
63
61
|
}] });
|
|
64
62
|
|
|
65
63
|
class QueryGraphqlVariablesFormFeature {
|
|
64
|
+
feature = inject(QueryFeature);
|
|
65
|
+
variablesFromService = inject(VariablesFromService);
|
|
66
|
+
queryGraphqlVariables$ = this.feature.query$.pipe(map((query) => JSON.parse(query?.graphql?.variablesJson)));
|
|
67
|
+
variablesValue$ = this.feature.query$.pipe(map((query) => query?.graphql?.variables ?? {}), shareReplay(1));
|
|
68
|
+
variablesValue = toSignal(this.variablesValue$, { initialValue: {} });
|
|
69
|
+
variablesForm$ = this.variablesValue$.pipe(map((value) => this.variablesFromService.build(value)), shareReplay(1));
|
|
70
|
+
variablesForm = toSignal(this.variablesForm$);
|
|
71
|
+
variablesFormValue$ = this.variablesForm$.pipe(map((form) => getRawValue$(form)), shareReplay(1));
|
|
66
72
|
constructor() {
|
|
67
|
-
this.feature = inject(QueryFeature);
|
|
68
|
-
this.variablesFromService = inject(VariablesFromService);
|
|
69
|
-
this.queryGraphqlVariables$ = this.feature.query$.pipe(map((query) => JSON.parse(query?.graphql?.variablesJson)));
|
|
70
|
-
this.variablesValue$ = this.feature.query$.pipe(map((query) => query?.graphql?.variables ?? {}), shareReplay(1));
|
|
71
|
-
this.variablesValue = toSignal(this.variablesValue$, { initialValue: {} });
|
|
72
|
-
this.variablesForm$ = this.variablesValue$.pipe(map((value) => this.variablesFromService.build(value)), shareReplay(1));
|
|
73
|
-
this.variablesForm = toSignal(this.variablesForm$);
|
|
74
|
-
this.variablesFormValue$ = this.variablesForm$.pipe(map((form) => getRawValue$(form)), shareReplay(1));
|
|
75
73
|
combineLatest({
|
|
76
74
|
pre: this.queryGraphqlVariables$,
|
|
77
75
|
current: this.variablesFormValue$,
|
|
@@ -79,8 +77,8 @@ class QueryGraphqlVariablesFormFeature {
|
|
|
79
77
|
this.feature.form.get(['graphql', 'variablesJson']).setValue(JSON.stringify(mergedVariables, null, 2));
|
|
80
78
|
});
|
|
81
79
|
}
|
|
82
|
-
static
|
|
83
|
-
static
|
|
80
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryGraphqlVariablesFormFeature, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
81
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryGraphqlVariablesFormFeature });
|
|
84
82
|
}
|
|
85
83
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryGraphqlVariablesFormFeature, decorators: [{
|
|
86
84
|
type: Injectable
|
|
@@ -115,9 +113,7 @@ function isQuery(query) {
|
|
|
115
113
|
return isQuery;
|
|
116
114
|
}
|
|
117
115
|
class GraphqlResolver {
|
|
118
|
-
|
|
119
|
-
this.queryService = inject(QueryService);
|
|
120
|
-
}
|
|
116
|
+
queryService = inject(QueryService);
|
|
121
117
|
canResolve(query) {
|
|
122
118
|
return query?.type === 'graphql' || !!query?.graphql?.query;
|
|
123
119
|
}
|
|
@@ -127,15 +123,15 @@ class GraphqlResolver {
|
|
|
127
123
|
? this.queryService.query(query)
|
|
128
124
|
: this.queryService.subscribe(query);
|
|
129
125
|
}
|
|
130
|
-
static
|
|
131
|
-
static
|
|
126
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: GraphqlResolver, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
127
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: GraphqlResolver });
|
|
132
128
|
}
|
|
133
129
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: GraphqlResolver, decorators: [{
|
|
134
130
|
type: Injectable
|
|
135
131
|
}] });
|
|
136
132
|
|
|
137
133
|
class QueryFeature {
|
|
138
|
-
static
|
|
134
|
+
static ActionId = ActionId;
|
|
139
135
|
static provideDefault() {
|
|
140
136
|
return [
|
|
141
137
|
QueryFeature,
|
|
@@ -177,40 +173,40 @@ class QueryFeature {
|
|
|
177
173
|
return () => { };
|
|
178
174
|
});
|
|
179
175
|
}
|
|
176
|
+
app = inject(AppService);
|
|
177
|
+
auth = inject(AuthService);
|
|
178
|
+
service = inject(QueryService);
|
|
179
|
+
editingStateManager = inject(EditingStateManager);
|
|
180
|
+
// multi: trueで登録されたResolver配列(オプショナル)
|
|
181
|
+
resolvers = inject(QUERY_RESOLVERS, { optional: true }) ?? [];
|
|
182
|
+
form = inject(QueryFormService).build();
|
|
183
|
+
refresh$ = new ReplaySubject();
|
|
184
|
+
formValue$ = getValue$(this.form).pipe(shareReplay(1));
|
|
185
|
+
formValue = toSignal(this.formValue$);
|
|
186
|
+
query$ = this.formValue$.pipe(map((query) => QueryFormService.parse(query)), shareReplay(1));
|
|
187
|
+
query = toSignal(this.query$);
|
|
188
|
+
destroyRef = inject(DestroyRef);
|
|
189
|
+
result$ = this.refresh$.pipe(takeUntilDestroyed(),
|
|
190
|
+
// まずqueryを取得
|
|
191
|
+
switchMap(() => this.query$.pipe(filter((query) => {
|
|
192
|
+
// Resolverがある場合はResolverのcanResolveで判定
|
|
193
|
+
const resolver = this.resolvers.find(r => r.canResolve(query));
|
|
194
|
+
return resolver ? true : QueryHelper$1.validate(query);
|
|
195
|
+
}), shareReplay(1), take(1))),
|
|
196
|
+
// Resolverがない場合のみ認証を待つ
|
|
197
|
+
switchMap((query) => {
|
|
198
|
+
const resolver = this.resolvers.find(r => r.canResolve(query));
|
|
199
|
+
if (resolver) {
|
|
200
|
+
// Resolverがある場合は認証不要(WebRTC等の独自認証)
|
|
201
|
+
return of(query);
|
|
202
|
+
}
|
|
203
|
+
// GraphQL等は認証を待つ
|
|
204
|
+
return this.auth.accessToken$.pipe(filter(accessToken => !!accessToken), map(() => query));
|
|
205
|
+
}), distinctUntilChanged((a, b) => isEqual(a, b)), debounceTime(500), this.app.loading.switchMap((query) => this.executeQuery(query), 'progress'), filter((result) => !!result),
|
|
206
|
+
// Pause data updates when editing
|
|
207
|
+
pauseWhenEditing(this.editingStateManager), shareReplay(1));
|
|
208
|
+
result = toSignal(this.result$);
|
|
180
209
|
constructor() {
|
|
181
|
-
this.app = inject(AppService);
|
|
182
|
-
this.auth = inject(AuthService);
|
|
183
|
-
this.service = inject(QueryService);
|
|
184
|
-
this.editingStateManager = inject(EditingStateManager);
|
|
185
|
-
// multi: trueで登録されたResolver配列(オプショナル)
|
|
186
|
-
this.resolvers = inject(QUERY_RESOLVERS, { optional: true }) ?? [];
|
|
187
|
-
this.form = inject(QueryFormService).build();
|
|
188
|
-
this.refresh$ = new ReplaySubject();
|
|
189
|
-
this.formValue$ = getValue$(this.form).pipe(shareReplay(1));
|
|
190
|
-
this.formValue = toSignal(this.formValue$);
|
|
191
|
-
this.query$ = this.formValue$.pipe(map((query) => QueryFormService.parse(query)), shareReplay(1));
|
|
192
|
-
this.query = toSignal(this.query$);
|
|
193
|
-
this.destroyRef = inject(DestroyRef);
|
|
194
|
-
this.result$ = this.refresh$.pipe(takeUntilDestroyed(),
|
|
195
|
-
// まずqueryを取得
|
|
196
|
-
switchMap(() => this.query$.pipe(filter((query) => {
|
|
197
|
-
// Resolverがある場合はResolverのcanResolveで判定
|
|
198
|
-
const resolver = this.resolvers.find(r => r.canResolve(query));
|
|
199
|
-
return resolver ? true : QueryHelper$1.validate(query);
|
|
200
|
-
}), shareReplay(1), take(1))),
|
|
201
|
-
// Resolverがない場合のみ認証を待つ
|
|
202
|
-
switchMap((query) => {
|
|
203
|
-
const resolver = this.resolvers.find(r => r.canResolve(query));
|
|
204
|
-
if (resolver) {
|
|
205
|
-
// Resolverがある場合は認証不要(WebRTC等の独自認証)
|
|
206
|
-
return of(query);
|
|
207
|
-
}
|
|
208
|
-
// GraphQL等は認証を待つ
|
|
209
|
-
return this.auth.accessToken$.pipe(filter(accessToken => !!accessToken), map(() => query));
|
|
210
|
-
}), distinctUntilChanged((a, b) => isEqual(a, b)), debounceTime(500), this.app.loading.switchMap((query) => this.executeQuery(query), 'progress'), filter((result) => !!result),
|
|
211
|
-
// Pause data updates when editing
|
|
212
|
-
pauseWhenEditing(this.editingStateManager), shareReplay(1));
|
|
213
|
-
this.result = toSignal(this.result$);
|
|
214
210
|
this.form.get(['graphql', 'variablesJson']).valueChanges.pipe(takeUntilDestroyed(), debounceTime(300), distinctUntilChanged(isEqual)).subscribe(() => this.refresh());
|
|
215
211
|
}
|
|
216
212
|
refresh() {
|
|
@@ -227,22 +223,20 @@ class QueryFeature {
|
|
|
227
223
|
return of(null);
|
|
228
224
|
}));
|
|
229
225
|
}
|
|
230
|
-
static
|
|
231
|
-
static
|
|
226
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryFeature, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
227
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryFeature });
|
|
232
228
|
}
|
|
233
229
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryFeature, decorators: [{
|
|
234
230
|
type: Injectable
|
|
235
231
|
}], ctorParameters: () => [] });
|
|
236
232
|
|
|
237
233
|
class QueryGraphqlSchemaFeature {
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
}
|
|
244
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryGraphqlSchemaFeature, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
245
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryGraphqlSchemaFeature }); }
|
|
234
|
+
feature = inject(QueryFeature);
|
|
235
|
+
service = inject(QueryService);
|
|
236
|
+
graphqlSchema$ = this.feature.query$.pipe(debounceTime(300), filter(query => QueryHelper$1.isExecutableGetSchemaGraphql(query)), switchMap((query) => this.service.getSchema(query).pipe(catchError(error => (console.error('[QueryFeature] error', error), NEVER)))), distinctUntilChanged((a, b) => isEqual(a, b)));
|
|
237
|
+
graphqlSchema = toSignal(this.graphqlSchema$);
|
|
238
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryGraphqlSchemaFeature, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
239
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryGraphqlSchemaFeature });
|
|
246
240
|
}
|
|
247
241
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: QueryGraphqlSchemaFeature, decorators: [{
|
|
248
242
|
type: Injectable
|