sonamu 0.7.21 → 0.7.23
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/dist/ai/agents/agent.d.ts +6 -1
- package/dist/ai/agents/agent.d.ts.map +1 -1
- package/dist/ai/agents/agent.js +20 -5
- package/dist/api/base-frame.d.ts +4 -0
- package/dist/api/base-frame.d.ts.map +1 -1
- package/dist/api/base-frame.js +9 -1
- package/dist/api/caster.d.ts.map +1 -1
- package/dist/api/caster.js +2 -2
- package/dist/api/config.d.ts +35 -3
- package/dist/api/config.d.ts.map +1 -1
- package/dist/api/config.js +1 -1
- package/dist/api/decorators.d.ts +4 -4
- package/dist/api/decorators.d.ts.map +1 -1
- package/dist/api/decorators.js +80 -18
- package/dist/api/index.d.ts +1 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +2 -1
- package/dist/api/secret.d.ts +7 -0
- package/dist/api/secret.d.ts.map +1 -0
- package/dist/api/secret.js +17 -0
- package/dist/api/sonamu.d.ts +17 -8
- package/dist/api/sonamu.d.ts.map +1 -1
- package/dist/api/sonamu.js +265 -47
- package/dist/cache/cache-manager.d.ts +11 -0
- package/dist/cache/cache-manager.d.ts.map +1 -0
- package/dist/cache/cache-manager.js +22 -0
- package/dist/cache/decorator.d.ts +31 -0
- package/dist/cache/decorator.d.ts.map +1 -0
- package/dist/cache/decorator.js +86 -0
- package/dist/cache/drivers.d.ts +33 -0
- package/dist/cache/drivers.d.ts.map +1 -0
- package/dist/cache/drivers.js +36 -0
- package/dist/cache/index.d.ts +4 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +8 -0
- package/dist/cache/types.d.ts +28 -0
- package/dist/cache/types.d.ts.map +1 -0
- package/dist/cache/types.js +6 -0
- package/dist/database/base-model.d.ts +4 -2
- package/dist/database/base-model.d.ts.map +1 -1
- package/dist/database/base-model.js +9 -4
- package/dist/database/code-generator.d.ts +3 -1
- package/dist/database/code-generator.d.ts.map +1 -1
- package/dist/database/code-generator.js +3 -2
- package/dist/database/db.d.ts +1 -1
- package/dist/database/db.d.ts.map +1 -1
- package/dist/database/db.js +5 -5
- package/dist/database/knex.d.ts +3 -0
- package/dist/database/knex.d.ts.map +1 -0
- package/dist/database/knex.js +29 -0
- package/dist/database/puri.types.d.ts.map +1 -1
- package/dist/database/puri.types.js +1 -1
- package/dist/database/upsert-builder.d.ts.map +1 -1
- package/dist/database/upsert-builder.js +49 -5
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/logger/category.d.ts +4 -0
- package/dist/logger/category.d.ts.map +1 -0
- package/dist/logger/category.js +34 -0
- package/dist/logger/configure.d.ts +9 -0
- package/dist/logger/configure.d.ts.map +1 -0
- package/dist/logger/configure.js +115 -0
- package/dist/migration/code-generation.d.ts +5 -1
- package/dist/migration/code-generation.d.ts.map +1 -1
- package/dist/migration/code-generation.js +13 -7
- package/dist/migration/migrator.d.ts +1 -1
- package/dist/migration/migrator.d.ts.map +1 -1
- package/dist/migration/migrator.js +7 -7
- package/dist/migration/postgresql-schema-reader.d.ts.map +1 -1
- package/dist/migration/postgresql-schema-reader.js +5 -3
- package/dist/naite/naite.d.ts +0 -4
- package/dist/naite/naite.d.ts.map +1 -1
- package/dist/naite/naite.js +11 -19
- package/dist/ssr/index.d.ts +4 -0
- package/dist/ssr/index.d.ts.map +1 -0
- package/dist/ssr/index.js +4 -0
- package/dist/ssr/registry.d.ts +10 -0
- package/dist/ssr/registry.d.ts.map +1 -0
- package/dist/ssr/registry.js +43 -0
- package/dist/ssr/renderer.d.ts +6 -0
- package/dist/ssr/renderer.d.ts.map +1 -0
- package/dist/ssr/renderer.js +70 -0
- package/dist/ssr/types.d.ts +19 -0
- package/dist/ssr/types.d.ts.map +1 -0
- package/dist/ssr/types.js +4 -0
- package/dist/syncer/syncer.d.ts +1 -0
- package/dist/syncer/syncer.d.ts.map +1 -1
- package/dist/syncer/syncer.js +58 -1
- package/dist/tasks/decorator.d.ts +1 -0
- package/dist/tasks/decorator.d.ts.map +1 -1
- package/dist/tasks/decorator.js +9 -7
- package/dist/tasks/step-wrapper.d.ts +5 -0
- package/dist/tasks/step-wrapper.d.ts.map +1 -1
- package/dist/tasks/step-wrapper.js +11 -6
- package/dist/tasks/workflow-manager.d.ts +2 -0
- package/dist/tasks/workflow-manager.d.ts.map +1 -1
- package/dist/tasks/workflow-manager.js +5 -2
- package/dist/template/implementations/entry-server.template.d.ts +17 -0
- package/dist/template/implementations/entry-server.template.d.ts.map +1 -0
- package/dist/template/implementations/entry-server.template.js +78 -0
- package/dist/template/implementations/model.template.d.ts.map +1 -1
- package/dist/template/implementations/model.template.js +5 -3
- package/dist/template/implementations/queries.template.d.ts +17 -0
- package/dist/template/implementations/queries.template.d.ts.map +1 -0
- package/dist/template/implementations/queries.template.js +83 -0
- package/dist/template/implementations/view_enums_select.template.d.ts.map +1 -1
- package/dist/template/implementations/view_enums_select.template.js +34 -20
- package/dist/template/implementations/view_form.template.d.ts +2 -1
- package/dist/template/implementations/view_form.template.d.ts.map +1 -1
- package/dist/template/implementations/view_form.template.js +301 -129
- package/dist/template/implementations/view_id_async_select.template.d.ts.map +1 -1
- package/dist/template/implementations/view_id_async_select.template.js +136 -57
- package/dist/template/implementations/view_list.template.d.ts +2 -0
- package/dist/template/implementations/view_list.template.d.ts.map +1 -1
- package/dist/template/implementations/view_list.template.js +392 -227
- package/dist/template/implementations/view_search_input.template.d.ts.map +1 -1
- package/dist/template/implementations/view_search_input.template.js +46 -30
- package/dist/template/zod-converter.d.ts.map +1 -1
- package/dist/template/zod-converter.js +2 -2
- package/dist/testing/bootstrap.d.ts +28 -0
- package/dist/testing/bootstrap.d.ts.map +1 -0
- package/dist/testing/bootstrap.js +120 -0
- package/dist/testing/fixture-loader.d.ts +21 -0
- package/dist/testing/fixture-loader.d.ts.map +1 -0
- package/dist/testing/fixture-loader.js +28 -0
- package/dist/testing/fixture-manager.d.ts +1 -1
- package/dist/testing/fixture-manager.d.ts.map +1 -1
- package/dist/testing/fixture-manager.js +7 -7
- package/dist/testing/index.d.ts +4 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +5 -0
- package/dist/testing/naite-vitest-reporter.d.ts +12 -0
- package/dist/testing/naite-vitest-reporter.d.ts.map +1 -0
- package/dist/testing/naite-vitest-reporter.js +17 -0
- package/dist/types/types.d.ts +5 -6
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/types.js +7 -8
- package/dist/ui/ai-client.d.ts +3 -1
- package/dist/ui/ai-client.d.ts.map +1 -1
- package/dist/ui/ai-client.js +27 -8
- package/dist/ui-web/assets/index-CTYv3qL6.js +92 -0
- package/dist/ui-web/index.html +1 -1
- package/package.json +43 -20
- package/src/ai/agents/agent.ts +38 -19
- package/src/api/base-frame.ts +8 -0
- package/src/api/caster.ts +6 -1
- package/src/api/config.ts +38 -4
- package/src/api/decorators.ts +106 -20
- package/src/api/index.ts +1 -0
- package/src/api/secret.ts +23 -0
- package/src/api/sonamu.ts +334 -61
- package/src/cache/cache-manager.ts +23 -0
- package/src/cache/decorator.ts +116 -0
- package/src/cache/drivers.ts +42 -0
- package/src/cache/index.ts +16 -0
- package/src/cache/types.ts +32 -0
- package/src/database/base-model.ts +7 -3
- package/src/database/code-generator.ts +3 -1
- package/src/database/db.ts +5 -5
- package/src/database/knex.ts +34 -0
- package/src/database/puri.types.ts +2 -3
- package/src/database/upsert-builder.ts +58 -4
- package/src/index.ts +4 -0
- package/src/logger/category.ts +42 -0
- package/src/logger/configure.ts +132 -0
- package/src/migration/code-generation.ts +19 -6
- package/src/migration/migrator.ts +7 -6
- package/src/migration/postgresql-schema-reader.ts +7 -2
- package/src/naite/naite.ts +10 -18
- package/src/shared/web.shared.ts.txt +1 -1
- package/src/ssr/index.ts +13 -0
- package/src/ssr/registry.ts +52 -0
- package/src/ssr/renderer.ts +105 -0
- package/src/ssr/types.ts +20 -0
- package/src/syncer/syncer.ts +59 -0
- package/src/tasks/decorator.ts +20 -4
- package/src/tasks/step-wrapper.ts +14 -5
- package/src/tasks/workflow-manager.ts +9 -1
- package/src/template/implementations/entry-server.template.ts +81 -0
- package/src/template/implementations/model.template.ts +4 -2
- package/src/template/implementations/queries.template.ts +111 -0
- package/src/template/implementations/view_enums_select.template.ts +33 -19
- package/src/template/implementations/view_form.template.ts +324 -145
- package/src/template/implementations/view_id_async_select.template.ts +145 -56
- package/src/template/implementations/view_list.template.ts +446 -236
- package/src/template/implementations/view_search_input.template.ts +45 -29
- package/src/template/zod-converter.ts +4 -1
- package/src/testing/bootstrap.ts +176 -0
- package/src/testing/fixture-loader.ts +28 -0
- package/src/testing/fixture-manager.ts +7 -6
- package/src/testing/index.ts +3 -0
- package/src/testing/naite-vitest-reporter.ts +18 -0
- package/src/types/types.ts +4 -5
- package/src/ui/ai-client.ts +82 -50
- package/dist/template/implementations/view_enums_dropdown.template.d.ts +0 -17
- package/dist/template/implementations/view_enums_dropdown.template.d.ts.map +0 -1
- package/dist/template/implementations/view_enums_dropdown.template.js +0 -50
- package/dist/ui-web/assets/index-B87IyofX.js +0 -92
- package/src/template/implementations/view_enums_dropdown.template.ts +0 -53
package/dist/tasks/decorator.js
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
2
|
import inflection from "inflection";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export function workflow(options) {
|
|
6
|
-
return (fn)=>{
|
|
3
|
+
export function workflow(options, fn) {
|
|
4
|
+
const decorated = (fn)=>{
|
|
7
5
|
const id = randomUUID();
|
|
8
6
|
const workflowName = options.name ?? inflection.underscore(fn.name);
|
|
9
|
-
const
|
|
7
|
+
const metadata = {
|
|
10
8
|
type: "workflow",
|
|
11
9
|
id,
|
|
12
10
|
name: workflowName,
|
|
@@ -21,8 +19,12 @@ export function workflow(options) {
|
|
|
21
19
|
}),
|
|
22
20
|
fn: fn
|
|
23
21
|
};
|
|
24
|
-
return
|
|
22
|
+
return metadata;
|
|
25
23
|
};
|
|
24
|
+
if (!fn) {
|
|
25
|
+
return decorated;
|
|
26
|
+
}
|
|
27
|
+
return decorated(fn);
|
|
26
28
|
}
|
|
27
29
|
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90YXNrcy9kZWNvcmF0b3IudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmFuZG9tVVVJRCB9IGZyb20gXCJub2RlOmNyeXB0b1wiO1xuaW1wb3J0IHR5cGUge1xuICBTY2hlbWFJbnB1dCxcbiAgU2NoZW1hT3V0cHV0LFxuICBTdGFuZGFyZFNjaGVtYVYxLFxuICBXb3JrZmxvd1NwZWMsXG59IGZyb20gXCJAc29uYW11LWtpdC90YXNrcy9pbnRlcm5hbFwiO1xuaW1wb3J0IGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIjtcbmltcG9ydCB0eXBlIHsgRXhlY3V0YWJsZSB9IGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBXb3JrZmxvd0Z1bmN0aW9uIH0gZnJvbSBcIi4vd29ya2Zsb3ctbWFuYWdlclwiO1xuXG4vLyDsm4ztgaztlIzroZzsmrDsnZgg66mU7YOA642w7J207YSwIOqwneyytFxuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd01ldGFkYXRhIHtcbiAgdHlwZTogXCJ3b3JrZmxvd1wiO1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHZlcnNpb246IHN0cmluZyB8IG51bGw7XG4gIHNjaGVtYTogU3RhbmRhcmRTY2hlbWFWMTx1bmtub3duLCB1bmtub3duPiB8IHVuZGVmaW5lZDtcbiAgc2NoZWR1bGVzOiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGV4cHJlc3Npb246IHN0cmluZztcbiAgICBpbnB1dDogRXhlY3V0YWJsZTxTY2hlbWFJbnB1dDx1bmtub3duLCB1bmtub3duPiB8IHVuZGVmaW5lZD47XG4gIH1bXTtcbiAgZm46IFdvcmtmbG93RnVuY3Rpb248dW5rbm93biwgdW5rbm93bj47XG59XG5cbi8vIOybjO2BrO2UjOuhnOyasCDsoJXsnZgg6rO87KCV7JeQ7ISc7J2YIOyYteyFmFxuZXhwb3J0IHR5cGUgRGVmaW5lV29ya2Zsb3dPcHRpb25zPFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUU2NoZW1hIGV4dGVuZHMgU3RhbmRhcmRTY2hlbWFWMSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbj4gPSBPbWl0PFxuICBXb3JrZmxvd1NwZWM8U2NoZW1hT3V0cHV0PFRTY2hlbWEsIElucHV0PiwgT3V0cHV0LCBTY2hlbWFJbnB1dDxUU2NoZW1hLCBJbnB1dD4+LFxuICBcIm5hbWVcIlxuPiAmIHtcbiAgbmFtZT86IHN0cmluZztcbiAgc2NoZWR1bGVzPzoge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgZXhwcmVzc2lvbjogc3RyaW5nO1xuICAgIGlucHV0PzogRXhlY3V0YWJsZTxTY2hlbWFJbnB1dDxUU2NoZW1hLCBJbnB1dD4gfCB1bmRlZmluZWQ+O1xuICB9W107XG59O1xuXG4vLyDsm4ztgaztlIzroZzsmrAg7KCV7J2Y66W8IOychO2VnCDrjbDsvZTroIjsnbTthLAsXG4vLyDsnbTqsoPrk6TsnYAgc3luY2Vy7JeQ7IScIO2VnOuyiOyXkCBsb2Fk7ZWcIOuLpOydjCwgV29ya2Zsb3dNYW5hZ2Vy7JeQ7IScIHN5bmNocm9uaXpl66W8IO2Gte2VtCDrk7HroZ3rkKguXG5leHBvcnQgZnVuY3Rpb24gd29ya2Zsb3c8SW5wdXQsIE91dHB1dCwgVFNjaGVtYSBleHRlbmRzIFN0YW5kYXJkU2NoZW1hVjEgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ+
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90YXNrcy9kZWNvcmF0b3IudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmFuZG9tVVVJRCB9IGZyb20gXCJub2RlOmNyeXB0b1wiO1xuaW1wb3J0IHR5cGUge1xuICBTY2hlbWFJbnB1dCxcbiAgU2NoZW1hT3V0cHV0LFxuICBTdGFuZGFyZFNjaGVtYVYxLFxuICBXb3JrZmxvd1NwZWMsXG59IGZyb20gXCJAc29uYW11LWtpdC90YXNrcy9pbnRlcm5hbFwiO1xuaW1wb3J0IGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIjtcbmltcG9ydCB0eXBlIHsgRXhlY3V0YWJsZSB9IGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBXb3JrZmxvd0Z1bmN0aW9uIH0gZnJvbSBcIi4vd29ya2Zsb3ctbWFuYWdlclwiO1xuXG4vLyDsm4ztgaztlIzroZzsmrDsnZgg66mU7YOA642w7J207YSwIOqwneyytFxuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd01ldGFkYXRhIHtcbiAgdHlwZTogXCJ3b3JrZmxvd1wiO1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHZlcnNpb246IHN0cmluZyB8IG51bGw7XG4gIHNjaGVtYTogU3RhbmRhcmRTY2hlbWFWMTx1bmtub3duLCB1bmtub3duPiB8IHVuZGVmaW5lZDtcbiAgc2NoZWR1bGVzOiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGV4cHJlc3Npb246IHN0cmluZztcbiAgICBpbnB1dDogRXhlY3V0YWJsZTxTY2hlbWFJbnB1dDx1bmtub3duLCB1bmtub3duPiB8IHVuZGVmaW5lZD47XG4gIH1bXTtcbiAgZm46IFdvcmtmbG93RnVuY3Rpb248dW5rbm93biwgdW5rbm93bj47XG59XG5cbi8vIOybjO2BrO2UjOuhnOyasCDsoJXsnZgg6rO87KCV7JeQ7ISc7J2YIOyYteyFmFxuZXhwb3J0IHR5cGUgRGVmaW5lV29ya2Zsb3dPcHRpb25zPFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUU2NoZW1hIGV4dGVuZHMgU3RhbmRhcmRTY2hlbWFWMSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbj4gPSBPbWl0PFxuICBXb3JrZmxvd1NwZWM8U2NoZW1hT3V0cHV0PFRTY2hlbWEsIElucHV0PiwgT3V0cHV0LCBTY2hlbWFJbnB1dDxUU2NoZW1hLCBJbnB1dD4+LFxuICBcIm5hbWVcIlxuPiAmIHtcbiAgbmFtZT86IHN0cmluZztcbiAgc2NoZWR1bGVzPzoge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgZXhwcmVzc2lvbjogc3RyaW5nO1xuICAgIGlucHV0PzogRXhlY3V0YWJsZTxTY2hlbWFJbnB1dDxUU2NoZW1hLCBJbnB1dD4gfCB1bmRlZmluZWQ+O1xuICB9W107XG59O1xuXG4vLyDsm4ztgaztlIzroZzsmrAg7KCV7J2Y66W8IOychO2VnCDrjbDsvZTroIjsnbTthLAsXG4vLyDsnbTqsoPrk6TsnYAgc3luY2Vy7JeQ7IScIO2VnOuyiOyXkCBsb2Fk7ZWcIOuLpOydjCwgV29ya2Zsb3dNYW5hZ2Vy7JeQ7IScIHN5bmNocm9uaXpl66W8IO2Gte2VtCDrk7HroZ3rkKguXG5leHBvcnQgZnVuY3Rpb24gd29ya2Zsb3c8SW5wdXQsIE91dHB1dCwgVFNjaGVtYSBleHRlbmRzIFN0YW5kYXJkU2NoZW1hVjEgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ+KFxuICBvcHRpb25zOiBEZWZpbmVXb3JrZmxvd09wdGlvbnM8SW5wdXQsIE91dHB1dCwgVFNjaGVtYT4sXG4pOiAoZm46IFdvcmtmbG93RnVuY3Rpb248U2NoZW1hT3V0cHV0PFRTY2hlbWEsIElucHV0PiwgT3V0cHV0PikgPT4gV29ya2Zsb3dNZXRhZGF0YTtcbmV4cG9ydCBmdW5jdGlvbiB3b3JrZmxvdzxJbnB1dCwgT3V0cHV0LCBUU2NoZW1hIGV4dGVuZHMgU3RhbmRhcmRTY2hlbWFWMSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZD4oXG4gIG9wdGlvbnM6IERlZmluZVdvcmtmbG93T3B0aW9uczxJbnB1dCwgT3V0cHV0LCBUU2NoZW1hPixcbiAgZm46IFdvcmtmbG93RnVuY3Rpb248U2NoZW1hT3V0cHV0PFRTY2hlbWEsIElucHV0PiwgT3V0cHV0Pixcbik6IFdvcmtmbG93TWV0YWRhdGE7XG5leHBvcnQgZnVuY3Rpb24gd29ya2Zsb3c8SW5wdXQsIE91dHB1dCwgVFNjaGVtYSBleHRlbmRzIFN0YW5kYXJkU2NoZW1hVjEgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ+KFxuICBvcHRpb25zOiBEZWZpbmVXb3JrZmxvd09wdGlvbnM8SW5wdXQsIE91dHB1dCwgVFNjaGVtYT4sXG4gIGZuPzogV29ya2Zsb3dGdW5jdGlvbjxTY2hlbWFPdXRwdXQ8VFNjaGVtYSwgSW5wdXQ+LCBPdXRwdXQ+LFxuKTpcbiAgfCBXb3JrZmxvd01ldGFkYXRhXG4gIHwgKChmbjogV29ya2Zsb3dGdW5jdGlvbjxTY2hlbWFPdXRwdXQ8VFNjaGVtYSwgSW5wdXQ+LCBPdXRwdXQ+KSA9PiBXb3JrZmxvd01ldGFkYXRhKSB7XG4gIGNvbnN0IGRlY29yYXRlZCA9IChmbjogV29ya2Zsb3dGdW5jdGlvbjxTY2hlbWFPdXRwdXQ8VFNjaGVtYSwgSW5wdXQ+LCBPdXRwdXQ+KSA9PiB7XG4gICAgY29uc3QgaWQgPSByYW5kb21VVUlEKCk7XG4gICAgY29uc3Qgd29ya2Zsb3dOYW1lID0gb3B0aW9ucy5uYW1lID8/IGluZmxlY3Rpb24udW5kZXJzY29yZShmbi5uYW1lKTtcblxuICAgIGNvbnN0IG1ldGFkYXRhOiBXb3JrZmxvd01ldGFkYXRhID0ge1xuICAgICAgdHlwZTogXCJ3b3JrZmxvd1wiIGFzIGNvbnN0LFxuICAgICAgaWQsXG4gICAgICBuYW1lOiB3b3JrZmxvd05hbWUsXG4gICAgICBzY2hlbWE6IG9wdGlvbnMuc2NoZW1hLFxuICAgICAgdmVyc2lvbjogb3B0aW9ucy52ZXJzaW9uID8/IG51bGwsXG4gICAgICBzY2hlZHVsZXM6IChvcHRpb25zLnNjaGVkdWxlcyA/PyBbXSkubWFwKChzY2hlZHVsZSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG5hbWU6IHNjaGVkdWxlLm5hbWUgPz8gYCR7d29ya2Zsb3dOYW1lfVske3NjaGVkdWxlLmV4cHJlc3Npb259XWAsXG4gICAgICAgICAgZXhwcmVzc2lvbjogc2NoZWR1bGUuZXhwcmVzc2lvbixcbiAgICAgICAgICBpbnB1dDogc2NoZWR1bGUuaW5wdXQsXG4gICAgICAgIH07XG4gICAgICB9KSxcbiAgICAgIGZuOiBmbiBhcyBXb3JrZmxvd0Z1bmN0aW9uPHVua25vd24sIHVua25vd24+LFxuICAgIH07XG5cbiAgICByZXR1cm4gbWV0YWRhdGE7XG4gIH07XG5cbiAgaWYgKCFmbikge1xuICAgIHJldHVybiBkZWNvcmF0ZWQ7XG4gIH1cblxuICByZXR1cm4gZGVjb3JhdGVkKGZuKTtcbn1cbiJdLCJuYW1lcyI6WyJyYW5kb21VVUlEIiwiaW5mbGVjdGlvbiIsIndvcmtmbG93Iiwib3B0aW9ucyIsImZuIiwiZGVjb3JhdGVkIiwiaWQiLCJ3b3JrZmxvd05hbWUiLCJuYW1lIiwidW5kZXJzY29yZSIsIm1ldGFkYXRhIiwidHlwZSIsInNjaGVtYSIsInZlcnNpb24iLCJzY2hlZHVsZXMiLCJtYXAiLCJzY2hlZHVsZSIsImV4cHJlc3Npb24iLCJpbnB1dCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsVUFBVSxRQUFRLGNBQWM7QUFPekMsT0FBT0MsZ0JBQWdCLGFBQWE7QUE2Q3BDLE9BQU8sU0FBU0MsU0FDZEMsT0FBc0QsRUFDdERDLEVBQTJEO0lBSTNELE1BQU1DLFlBQVksQ0FBQ0Q7UUFDakIsTUFBTUUsS0FBS047UUFDWCxNQUFNTyxlQUFlSixRQUFRSyxJQUFJLElBQUlQLFdBQVdRLFVBQVUsQ0FBQ0wsR0FBR0ksSUFBSTtRQUVsRSxNQUFNRSxXQUE2QjtZQUNqQ0MsTUFBTTtZQUNOTDtZQUNBRSxNQUFNRDtZQUNOSyxRQUFRVCxRQUFRUyxNQUFNO1lBQ3RCQyxTQUFTVixRQUFRVSxPQUFPLElBQUk7WUFDNUJDLFdBQVcsQUFBQ1gsQ0FBQUEsUUFBUVcsU0FBUyxJQUFJLEVBQUUsQUFBRCxFQUFHQyxHQUFHLENBQUMsQ0FBQ0M7Z0JBQ3hDLE9BQU87b0JBQ0xSLE1BQU1RLFNBQVNSLElBQUksSUFBSSxHQUFHRCxhQUFhLENBQUMsRUFBRVMsU0FBU0MsVUFBVSxDQUFDLENBQUMsQ0FBQztvQkFDaEVBLFlBQVlELFNBQVNDLFVBQVU7b0JBQy9CQyxPQUFPRixTQUFTRSxLQUFLO2dCQUN2QjtZQUNGO1lBQ0FkLElBQUlBO1FBQ047UUFFQSxPQUFPTTtJQUNUO0lBRUEsSUFBSSxDQUFDTixJQUFJO1FBQ1AsT0FBT0M7SUFDVDtJQUVBLE9BQU9BLFVBQVVEO0FBQ25CIn0=
|
|
@@ -13,6 +13,11 @@ export declare class StepWrapper {
|
|
|
13
13
|
name: string;
|
|
14
14
|
}, object: T, name: MethodNames<T, TKey>): RunnableStep<TArgs, TResult>;
|
|
15
15
|
get<T, TKey extends keyof T, TArgs extends MethodArguments<T, TKey>, TResult extends MethodReturnType<T, TKey>>(object: T, name: MethodNames<T, TKey>): RunnableStep<TArgs, TResult>;
|
|
16
|
+
define<TArgs extends unknown[], TResult>(config: {
|
|
17
|
+
name: string;
|
|
18
|
+
}, fn: StepFunction<TArgs, TResult>): {
|
|
19
|
+
run: (...args: TArgs) => Promise<TResult>;
|
|
20
|
+
};
|
|
16
21
|
sleep(name: string, duration: DurationString): Promise<void>;
|
|
17
22
|
}
|
|
18
23
|
//# sourceMappingURL=step-wrapper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-wrapper.d.ts","sourceRoot":"","sources":["../../src/tasks/step-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAG1E,MAAM,MAAM,YAAY,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC;AACzF,MAAM,MAAM,YAAY,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,IAAI;IAC3D,GAAG,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CACjE,GAAG,IAAI,EAAE,MAAM,MAAM,KAClB,MAAM,QAAQ,GACf,IAAI,GACJ,KAAK,CAAC;AAEV,MAAM,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CACrE,GAAG,IAAI,EAAE,MAAM,KAAK,KACjB,OAAO,GACR,KAAK,GACL,KAAK,CAAC;AAEV,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CACtE,IAAI,EAAE,CAAC,EACP,GAAG,IAAI,EAAE,MAAM,MAAM,KAClB,MAAM,OAAO,GACd,OAAO,GACP,KAAK,CAAC;AAEV,qBAAa,WAAW;;gBAGV,OAAO,EAAE,OAAO;IAI5B,GAAG,CACD,CAAC,EACD,IAAI,SAAS,MAAM,CAAC,EACpB,KAAK,SAAS,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,EACtC,OAAO,SAAS,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,EACzC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC;IAChG,GAAG,CACD,CAAC,EACD,IAAI,SAAS,MAAM,CAAC,EACpB,KAAK,SAAS,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,EACtC,OAAO,SAAS,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,EACzC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"step-wrapper.d.ts","sourceRoot":"","sources":["../../src/tasks/step-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAG1E,MAAM,MAAM,YAAY,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC;AACzF,MAAM,MAAM,YAAY,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,IAAI;IAC3D,GAAG,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CACjE,GAAG,IAAI,EAAE,MAAM,MAAM,KAClB,MAAM,QAAQ,GACf,IAAI,GACJ,KAAK,CAAC;AAEV,MAAM,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CACrE,GAAG,IAAI,EAAE,MAAM,KAAK,KACjB,OAAO,GACR,KAAK,GACL,KAAK,CAAC;AAEV,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,IAAI,SAAS,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CACtE,IAAI,EAAE,CAAC,EACP,GAAG,IAAI,EAAE,MAAM,MAAM,KAClB,MAAM,OAAO,GACd,OAAO,GACP,KAAK,CAAC;AAEV,qBAAa,WAAW;;gBAGV,OAAO,EAAE,OAAO;IAI5B,GAAG,CACD,CAAC,EACD,IAAI,SAAS,MAAM,CAAC,EACpB,KAAK,SAAS,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,EACtC,OAAO,SAAS,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,EACzC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC;IAChG,GAAG,CACD,CAAC,EACD,IAAI,SAAS,MAAM,CAAC,EACpB,KAAK,SAAS,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,EACtC,OAAO,SAAS,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,EACzC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC;IAiCtE,MAAM,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,EACrC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EACxB,EAAE,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC;;;IASlC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc;CAG7C"}
|
|
@@ -23,11 +23,16 @@ export class StepWrapper {
|
|
|
23
23
|
fn = (...args)=>method.bind(rawObject)(...args);
|
|
24
24
|
}
|
|
25
25
|
return {
|
|
26
|
-
run: ((stepApi)=>{
|
|
27
|
-
return (...args)
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
run: ((stepApi, ...args)=>{
|
|
27
|
+
return stepApi.run(config, ()=>fn(...args));
|
|
28
|
+
}).bind(null, this.#stepApi)
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
define(config, fn) {
|
|
32
|
+
return {
|
|
33
|
+
run: ((stepApi, ...args)=>{
|
|
34
|
+
return stepApi.run(config, ()=>fn(...args));
|
|
35
|
+
}).bind(null, this.#stepApi)
|
|
31
36
|
};
|
|
32
37
|
}
|
|
33
38
|
sleep(name, duration) {
|
|
@@ -35,4 +40,4 @@ export class StepWrapper {
|
|
|
35
40
|
}
|
|
36
41
|
}
|
|
37
42
|
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90YXNrcy9zdGVwLXdyYXBwZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEdXJhdGlvblN0cmluZywgU3RlcEFwaSB9IGZyb20gXCJAc29uYW11LWtpdC90YXNrcy9pbnRlcm5hbFwiO1xuaW1wb3J0IGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIjtcblxuZXhwb3J0IHR5cGUgU3RlcEZ1bmN0aW9uPFRBcmdzIGV4dGVuZHMgdW5rbm93bltdLCBUUmVzdWx0PiA9ICguLi5hcmdzOiBUQXJncykgPT4gVFJlc3VsdDtcbmV4cG9ydCB0eXBlIFJ1bm5hYmxlU3RlcDxUQXJncyBleHRlbmRzIHVua25vd25bXSwgVFJlc3VsdD4gPSB7XG4gIHJ1bjogU3RlcEZ1bmN0aW9uPFRBcmdzLCBQcm9taXNlPFRSZXN1bHQ+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIE1ldGhvZE5hbWVzPFQsIFRLZXkgZXh0ZW5kcyBrZXlvZiBUPiA9IFRbVEtleV0gZXh0ZW5kcyAoXG4gIC4uLmFyZ3M6IGluZmVyIF9UQXJnc1xuKSA9PiBpbmZlciBfVFJlc3VsdFxuICA/IFRLZXlcbiAgOiBuZXZlcjtcblxuZXhwb3J0IHR5cGUgTWV0aG9kQXJndW1lbnRzPFQsIFRLZXkgZXh0ZW5kcyBrZXlvZiBUPiA9IFRbVEtleV0gZXh0ZW5kcyAoXG4gIC4uLmFyZ3M6IGluZmVyIFRBcmdzXG4pID0+IHVua25vd25cbiAgPyBUQXJnc1xuICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBNZXRob2RSZXR1cm5UeXBlPFQsIFRLZXkgZXh0ZW5kcyBrZXlvZiBUPiA9IFRbVEtleV0gZXh0ZW5kcyAoXG4gIHRoaXM6IFQsXG4gIC4uLmFyZ3M6IGluZmVyIF9UQXJnc1xuKSA9PiBpbmZlciBUUmVzdWx0XG4gID8gVFJlc3VsdFxuICA6IG5ldmVyO1xuXG5leHBvcnQgY2xhc3MgU3RlcFdyYXBwZXIge1xuICByZWFkb25seSAjc3RlcEFwaTogU3RlcEFwaTtcblxuICBjb25zdHJ1Y3RvcihzdGVwQXBpOiBTdGVwQXBpKSB7XG4gICAgdGhpcy4jc3RlcEFwaSA9IHN0ZXBBcGk7XG4gIH1cblxuICBnZXQ8XG4gICAgVCxcbiAgICBUS2V5IGV4dGVuZHMga2V5b2YgVCxcbiAgICBUQXJncyBleHRlbmRzIE1ldGhvZEFyZ3VtZW50czxULCBUS2V5PixcbiAgICBUUmVzdWx0IGV4dGVuZHMgTWV0aG9kUmV0dXJuVHlwZTxULCBUS2V5PixcbiAgPihjb25maWc6IHsgbmFtZTogc3RyaW5nIH0sIG9iamVjdDogVCwgbmFtZTogTWV0aG9kTmFtZXM8VCwgVEtleT4pOiBSdW5uYWJsZVN0ZXA8VEFyZ3MsIFRSZXN1bHQ+O1xuICBnZXQ8XG4gICAgVCxcbiAgICBUS2V5IGV4dGVuZHMga2V5b2YgVCxcbiAgICBUQXJncyBleHRlbmRzIE1ldGhvZEFyZ3VtZW50czxULCBUS2V5PixcbiAgICBUUmVzdWx0IGV4dGVuZHMgTWV0aG9kUmV0dXJuVHlwZTxULCBUS2V5PixcbiAgPihvYmplY3Q6IFQsIG5hbWU6IE1ldGhvZE5hbWVzPFQsIFRLZXk+KTogUnVubmFibGVTdGVwPFRBcmdzLCBUUmVzdWx0PjtcbiAgZ2V0PFxuICAgIFQsXG4gICAgVEtleSBleHRlbmRzIGtleW9mIFQsXG4gICAgVEFyZ3MgZXh0ZW5kcyBNZXRob2RBcmd1bWVudHM8VCwgVEtleT4sXG4gICAgVFJlc3VsdCBleHRlbmRzIE1ldGhvZFJldHVyblR5cGU8VCwgVEtleT4sXG4gID4oXG4gICAgLi4uYXJnczogW3sgbmFtZTogc3RyaW5nIH0sIFQsIE1ldGhvZE5hbWVzPFQsIFRLZXk+XSB8IFtULCBNZXRob2ROYW1lczxULCBUS2V5Pl1cbiAgKTogUnVubmFibGVTdGVwPFRBcmdzLCBUUmVzdWx0PiB7XG4gICAgbGV0IGNvbmZpZzogeyBuYW1lOiBzdHJpbmcgfTtcbiAgICBsZXQgZm46IFN0ZXBGdW5jdGlvbjxUQXJncywgRXhjbHVkZTxUUmVzdWx0LCBuZXZlcj4+O1xuXG4gICAgaWYgKGFyZ3MubGVuZ3RoID09PSAyKSB7XG4gICAgICBjb25zdCBbcmF3T2JqZWN0LCBtZXRob2ROYW1lXSA9IGFyZ3M7XG4gICAgICBjb25zdCBtZXRob2QgPSByYXdPYmplY3RbbWV0aG9kTmFtZV0gYXMgQ2FsbGFibGVGdW5jdGlvbjtcbiAgICAgIGNvbmZpZyA9IHsgbmFtZTogaW5mbGVjdGlvbi51bmRlcnNjb3JlKG1ldGhvZE5hbWUudG9TdHJpbmcoKSkgfTtcblxuICAgICAgZm4gPSAoLi4uYXJnczogVEFyZ3MpID0+
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90YXNrcy9zdGVwLXdyYXBwZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEdXJhdGlvblN0cmluZywgU3RlcEFwaSB9IGZyb20gXCJAc29uYW11LWtpdC90YXNrcy9pbnRlcm5hbFwiO1xuaW1wb3J0IGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIjtcblxuZXhwb3J0IHR5cGUgU3RlcEZ1bmN0aW9uPFRBcmdzIGV4dGVuZHMgdW5rbm93bltdLCBUUmVzdWx0PiA9ICguLi5hcmdzOiBUQXJncykgPT4gVFJlc3VsdDtcbmV4cG9ydCB0eXBlIFJ1bm5hYmxlU3RlcDxUQXJncyBleHRlbmRzIHVua25vd25bXSwgVFJlc3VsdD4gPSB7XG4gIHJ1bjogU3RlcEZ1bmN0aW9uPFRBcmdzLCBQcm9taXNlPFRSZXN1bHQ+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIE1ldGhvZE5hbWVzPFQsIFRLZXkgZXh0ZW5kcyBrZXlvZiBUPiA9IFRbVEtleV0gZXh0ZW5kcyAoXG4gIC4uLmFyZ3M6IGluZmVyIF9UQXJnc1xuKSA9PiBpbmZlciBfVFJlc3VsdFxuICA/IFRLZXlcbiAgOiBuZXZlcjtcblxuZXhwb3J0IHR5cGUgTWV0aG9kQXJndW1lbnRzPFQsIFRLZXkgZXh0ZW5kcyBrZXlvZiBUPiA9IFRbVEtleV0gZXh0ZW5kcyAoXG4gIC4uLmFyZ3M6IGluZmVyIFRBcmdzXG4pID0+IHVua25vd25cbiAgPyBUQXJnc1xuICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBNZXRob2RSZXR1cm5UeXBlPFQsIFRLZXkgZXh0ZW5kcyBrZXlvZiBUPiA9IFRbVEtleV0gZXh0ZW5kcyAoXG4gIHRoaXM6IFQsXG4gIC4uLmFyZ3M6IGluZmVyIF9UQXJnc1xuKSA9PiBpbmZlciBUUmVzdWx0XG4gID8gVFJlc3VsdFxuICA6IG5ldmVyO1xuXG5leHBvcnQgY2xhc3MgU3RlcFdyYXBwZXIge1xuICByZWFkb25seSAjc3RlcEFwaTogU3RlcEFwaTtcblxuICBjb25zdHJ1Y3RvcihzdGVwQXBpOiBTdGVwQXBpKSB7XG4gICAgdGhpcy4jc3RlcEFwaSA9IHN0ZXBBcGk7XG4gIH1cblxuICBnZXQ8XG4gICAgVCxcbiAgICBUS2V5IGV4dGVuZHMga2V5b2YgVCxcbiAgICBUQXJncyBleHRlbmRzIE1ldGhvZEFyZ3VtZW50czxULCBUS2V5PixcbiAgICBUUmVzdWx0IGV4dGVuZHMgTWV0aG9kUmV0dXJuVHlwZTxULCBUS2V5PixcbiAgPihjb25maWc6IHsgbmFtZTogc3RyaW5nIH0sIG9iamVjdDogVCwgbmFtZTogTWV0aG9kTmFtZXM8VCwgVEtleT4pOiBSdW5uYWJsZVN0ZXA8VEFyZ3MsIFRSZXN1bHQ+O1xuICBnZXQ8XG4gICAgVCxcbiAgICBUS2V5IGV4dGVuZHMga2V5b2YgVCxcbiAgICBUQXJncyBleHRlbmRzIE1ldGhvZEFyZ3VtZW50czxULCBUS2V5PixcbiAgICBUUmVzdWx0IGV4dGVuZHMgTWV0aG9kUmV0dXJuVHlwZTxULCBUS2V5PixcbiAgPihvYmplY3Q6IFQsIG5hbWU6IE1ldGhvZE5hbWVzPFQsIFRLZXk+KTogUnVubmFibGVTdGVwPFRBcmdzLCBUUmVzdWx0PjtcbiAgZ2V0PFxuICAgIFQsXG4gICAgVEtleSBleHRlbmRzIGtleW9mIFQsXG4gICAgVEFyZ3MgZXh0ZW5kcyBNZXRob2RBcmd1bWVudHM8VCwgVEtleT4sXG4gICAgVFJlc3VsdCBleHRlbmRzIE1ldGhvZFJldHVyblR5cGU8VCwgVEtleT4sXG4gID4oXG4gICAgLi4uYXJnczogW3sgbmFtZTogc3RyaW5nIH0sIFQsIE1ldGhvZE5hbWVzPFQsIFRLZXk+XSB8IFtULCBNZXRob2ROYW1lczxULCBUS2V5Pl1cbiAgKTogUnVubmFibGVTdGVwPFRBcmdzLCBUUmVzdWx0PiB7XG4gICAgbGV0IGNvbmZpZzogeyBuYW1lOiBzdHJpbmcgfTtcbiAgICBsZXQgZm46IFN0ZXBGdW5jdGlvbjxUQXJncywgRXhjbHVkZTxUUmVzdWx0LCBuZXZlcj4+O1xuXG4gICAgaWYgKGFyZ3MubGVuZ3RoID09PSAyKSB7XG4gICAgICBjb25zdCBbcmF3T2JqZWN0LCBtZXRob2ROYW1lXSA9IGFyZ3M7XG4gICAgICBjb25zdCBtZXRob2QgPSByYXdPYmplY3RbbWV0aG9kTmFtZV0gYXMgQ2FsbGFibGVGdW5jdGlvbjtcbiAgICAgIGNvbmZpZyA9IHsgbmFtZTogaW5mbGVjdGlvbi51bmRlcnNjb3JlKG1ldGhvZE5hbWUudG9TdHJpbmcoKSkgfTtcblxuICAgICAgZm4gPSAoLi4uYXJnczogVEFyZ3MpID0+IG1ldGhvZC5iaW5kKHJhd09iamVjdCkoLi4uYXJncyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IFtyYXdDb25maWcsIHJhd09iamVjdCwgbmFtZV0gPSBhcmdzO1xuICAgICAgY29uc3QgbWV0aG9kID0gcmF3T2JqZWN0W25hbWVdIGFzIENhbGxhYmxlRnVuY3Rpb247XG5cbiAgICAgIGNvbmZpZyA9IHsgbmFtZTogcmF3Q29uZmlnLm5hbWUgPz8gaW5mbGVjdGlvbi51bmRlcnNjb3JlKG5hbWUudG9TdHJpbmcoKSkgfTtcbiAgICAgIGZuID0gKC4uLmFyZ3M6IFRBcmdzKSA9PiBtZXRob2QuYmluZChyYXdPYmplY3QpKC4uLmFyZ3MpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBydW46ICgoc3RlcEFwaTogU3RlcEFwaSwgLi4uYXJnczogVEFyZ3MpID0+IHtcbiAgICAgICAgcmV0dXJuIHN0ZXBBcGkucnVuKGNvbmZpZywgKCkgPT4gZm4oLi4uYXJncykpO1xuICAgICAgfSkuYmluZChudWxsLCB0aGlzLiNzdGVwQXBpKSxcbiAgICB9O1xuICB9XG5cbiAgZGVmaW5lPFRBcmdzIGV4dGVuZHMgdW5rbm93bltdLCBUUmVzdWx0PihcbiAgICBjb25maWc6IHsgbmFtZTogc3RyaW5nIH0sXG4gICAgZm46IFN0ZXBGdW5jdGlvbjxUQXJncywgVFJlc3VsdD4sXG4gICkge1xuICAgIHJldHVybiB7XG4gICAgICBydW46ICgoc3RlcEFwaTogU3RlcEFwaSwgLi4uYXJnczogVEFyZ3MpID0+IHtcbiAgICAgICAgcmV0dXJuIHN0ZXBBcGkucnVuKGNvbmZpZywgKCkgPT4gZm4oLi4uYXJncykpO1xuICAgICAgfSkuYmluZChudWxsLCB0aGlzLiNzdGVwQXBpKSxcbiAgICB9O1xuICB9XG5cbiAgc2xlZXAobmFtZTogc3RyaW5nLCBkdXJhdGlvbjogRHVyYXRpb25TdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy4jc3RlcEFwaS5zbGVlcChuYW1lLCBkdXJhdGlvbik7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJpbmZsZWN0aW9uIiwiU3RlcFdyYXBwZXIiLCJzdGVwQXBpIiwiZ2V0IiwiYXJncyIsImNvbmZpZyIsImZuIiwibGVuZ3RoIiwicmF3T2JqZWN0IiwibWV0aG9kTmFtZSIsIm1ldGhvZCIsIm5hbWUiLCJ1bmRlcnNjb3JlIiwidG9TdHJpbmciLCJiaW5kIiwicmF3Q29uZmlnIiwicnVuIiwiZGVmaW5lIiwic2xlZXAiLCJkdXJhdGlvbiJdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBT0EsZ0JBQWdCLGFBQWE7QUEwQnBDLE9BQU8sTUFBTUM7SUFDRixDQUFBLE9BQVEsQ0FBVTtJQUUzQixZQUFZQyxPQUFnQixDQUFFO1FBQzVCLElBQUksQ0FBQyxDQUFBLE9BQVEsR0FBR0E7SUFDbEI7SUFjQUMsSUFNRSxHQUFHQyxJQUE2RSxFQUNsRDtRQUM5QixJQUFJQztRQUNKLElBQUlDO1FBRUosSUFBSUYsS0FBS0csTUFBTSxLQUFLLEdBQUc7WUFDckIsTUFBTSxDQUFDQyxXQUFXQyxXQUFXLEdBQUdMO1lBQ2hDLE1BQU1NLFNBQVNGLFNBQVMsQ0FBQ0MsV0FBVztZQUNwQ0osU0FBUztnQkFBRU0sTUFBTVgsV0FBV1ksVUFBVSxDQUFDSCxXQUFXSSxRQUFRO1lBQUk7WUFFOURQLEtBQUssQ0FBQyxHQUFHRixPQUFnQk0sT0FBT0ksSUFBSSxDQUFDTixjQUFjSjtRQUNyRCxPQUFPO1lBQ0wsTUFBTSxDQUFDVyxXQUFXUCxXQUFXRyxLQUFLLEdBQUdQO1lBQ3JDLE1BQU1NLFNBQVNGLFNBQVMsQ0FBQ0csS0FBSztZQUU5Qk4sU0FBUztnQkFBRU0sTUFBTUksVUFBVUosSUFBSSxJQUFJWCxXQUFXWSxVQUFVLENBQUNELEtBQUtFLFFBQVE7WUFBSTtZQUMxRVAsS0FBSyxDQUFDLEdBQUdGLE9BQWdCTSxPQUFPSSxJQUFJLENBQUNOLGNBQWNKO1FBQ3JEO1FBRUEsT0FBTztZQUNMWSxLQUFLLEFBQUMsQ0FBQSxDQUFDZCxTQUFrQixHQUFHRTtnQkFDMUIsT0FBT0YsUUFBUWMsR0FBRyxDQUFDWCxRQUFRLElBQU1DLE1BQU1GO1lBQ3pDLENBQUEsRUFBR1UsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUEsT0FBUTtRQUM3QjtJQUNGO0lBRUFHLE9BQ0VaLE1BQXdCLEVBQ3hCQyxFQUFnQyxFQUNoQztRQUNBLE9BQU87WUFDTFUsS0FBSyxBQUFDLENBQUEsQ0FBQ2QsU0FBa0IsR0FBR0U7Z0JBQzFCLE9BQU9GLFFBQVFjLEdBQUcsQ0FBQ1gsUUFBUSxJQUFNQyxNQUFNRjtZQUN6QyxDQUFBLEVBQUdVLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFBLE9BQVE7UUFDN0I7SUFDRjtJQUVBSSxNQUFNUCxJQUFZLEVBQUVRLFFBQXdCLEVBQUU7UUFDNUMsT0FBTyxJQUFJLENBQUMsQ0FBQSxPQUFRLENBQUNELEtBQUssQ0FBQ1AsTUFBTVE7SUFDbkM7QUFDRiJ9
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type Logger } from "@logtape/logtape";
|
|
1
2
|
import type { RunnableWorkflow, SchemaInput, SchemaOutput, StandardSchemaV1, WorkflowRunHandle, WorkflowSpec } from "@sonamu-kit/tasks/internal";
|
|
2
3
|
import type { Knex } from "knex";
|
|
3
4
|
import type { WorkflowMetadata } from "./decorator";
|
|
@@ -8,6 +9,7 @@ export interface WorkflowOptions {
|
|
|
8
9
|
listenDelay?: number;
|
|
9
10
|
}
|
|
10
11
|
export type WorkflowFunction<Input, Output> = (params: Readonly<{
|
|
12
|
+
logger: Logger;
|
|
11
13
|
input: Input;
|
|
12
14
|
step: StepWrapper;
|
|
13
15
|
version: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-manager.d.ts","sourceRoot":"","sources":["../../src/tasks/workflow-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workflow-manager.d.ts","sourceRoot":"","sources":["../../src/tasks/workflow-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { getLogger } from "@logtape/logtape";
|
|
1
2
|
import { BackendPostgres, OpenWorkflow } from "@sonamu-kit/tasks";
|
|
2
3
|
import assert from "assert";
|
|
3
4
|
import { schedule as cronSchedule } from "node-cron";
|
|
4
5
|
import { Sonamu } from "../api/sonamu.js";
|
|
6
|
+
import { convertDomainToCategory } from "../logger/category.js";
|
|
5
7
|
import { Naite } from "../naite/naite.js";
|
|
6
8
|
import { createMockSSEFactory } from "../stream/sse.js";
|
|
7
9
|
import { StepWrapper } from "./step-wrapper.js";
|
|
@@ -144,7 +146,8 @@ export class WorkflowManager {
|
|
|
144
146
|
}, ()=>options.function({
|
|
145
147
|
input: params.input,
|
|
146
148
|
step,
|
|
147
|
-
version: params.version
|
|
149
|
+
version: params.version,
|
|
150
|
+
logger: getLogger(convertDomainToCategory(options.name, "workflow"))
|
|
148
151
|
}));
|
|
149
152
|
};
|
|
150
153
|
const workflow = this.#ow.defineWorkflow({
|
|
@@ -194,4 +197,4 @@ export class WorkflowManager {
|
|
|
194
197
|
}
|
|
195
198
|
}
|
|
196
199
|
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90YXNrcy93b3JrZmxvdy1tYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhY2tlbmRQb3N0Z3JlcywgT3BlbldvcmtmbG93LCB0eXBlIFdvcmtlciB9IGZyb20gXCJAc29uYW11LWtpdC90YXNrc1wiO1xuaW1wb3J0IHR5cGUge1xuICBSdW5uYWJsZVdvcmtmbG93LFxuICBTY2hlbWFJbnB1dCxcbiAgU2NoZW1hT3V0cHV0LFxuICBTdGFuZGFyZFNjaGVtYVYxLFxuICBTdGVwQXBpLFxuICBXb3JrZmxvd1J1bkhhbmRsZSxcbiAgV29ya2Zsb3dTcGVjLFxufSBmcm9tIFwiQHNvbmFtdS1raXQvdGFza3MvaW50ZXJuYWxcIjtcbmltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiO1xuaW1wb3J0IHR5cGUgeyBLbmV4IH0gZnJvbSBcImtuZXhcIjtcbmltcG9ydCB7IHNjaGVkdWxlIGFzIGNyb25TY2hlZHVsZSwgdHlwZSBTY2hlZHVsZWRUYXNrIH0gZnJvbSBcIm5vZGUtY3JvblwiO1xuaW1wb3J0IHR5cGUgeyBab2RPYmplY3QgfSBmcm9tIFwiem9kXCI7XG5pbXBvcnQgdHlwZSB7IENvbnRleHQgfSBmcm9tIFwiLi4vYXBpL2NvbnRleHRcIjtcbmltcG9ydCB7IFNvbmFtdSB9IGZyb20gXCIuLi9hcGkvc29uYW11XCI7XG5pbXBvcnQgeyBOYWl0ZSB9IGZyb20gXCIuLi9uYWl0ZS9uYWl0ZVwiO1xuaW1wb3J0IHsgY3JlYXRlTW9ja1NTRUZhY3RvcnkgfSBmcm9tIFwiLi4vc3RyZWFtL3NzZVwiO1xuaW1wb3J0IHR5cGUgeyBFeGVjdXRhYmxlIH0gZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IFdvcmtmbG93TWV0YWRhdGEgfSBmcm9tIFwiLi9kZWNvcmF0b3JcIjtcbmltcG9ydCB7IFN0ZXBXcmFwcGVyIH0gZnJvbSBcIi4vc3RlcC13cmFwcGVyXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3dPcHRpb25zIHtcbiAgLy8gd29ya2Vy7JeQ7IScIOuPmeyLnCDsi6TtlontlaAg7YOc7Iqk7YGsIOyImCwg6riw67O47J2AIENQVSDsvZTslrQg7IiYIC0gMeqwnFxuICBjb25jdXJyZW5jeT86IG51bWJlcjtcblxuICAvLyB3b3JrZXLsl5DshJwg7IKs7Jqp7ZWgIHB1Yi9zdWIg7Jes67aALCDquLDrs7jsnYAgdHJ1ZVxuICB1c2VQdWJTdWI/OiBib29sZWFuO1xuXG4gIC8vIHB1Yi9zdWLsnLzroZwg7YOc7Iqk7YGs66W8IOyImOyLoO2WiOydhCDrlYwg7JuM7YGs7ZSM66Gc7JqwIOyLpO2Wieq5jOyngCDsp4Dsl7Ag7Iuc6rCELCDquLDrs7jsnYAgNTAwbXNcbiAgbGlzdGVuRGVsYXk/OiBudW1iZXI7XG59XG5cbi8vIFdvcmtmbG93IO2VqOyImOydmCDtg4DsnoUsIEBzb25hbXUta2l0L3Rhc2tz7JmAIOuLpOuluCDsoJDsnYAgc3RlcOydhCDtlZzrsogg6rCQ7Iu8IO2Yle2DnC5cbmV4cG9ydCB0eXBlIFdvcmtmbG93RnVuY3Rpb248SW5wdXQsIE91dHB1dD4gPSAoXG4gIHBhcmFtczogUmVhZG9ubHk8e1xuICAgIGlucHV0OiBJbnB1dDtcbiAgICBzdGVwOiBTdGVwV3JhcHBlcjtcbiAgICB2ZXJzaW9uOiBzdHJpbmcgfCBudWxsO1xuICB9PixcbikgPT4gUHJvbWlzZTxPdXRwdXQ+IHwgT3V0cHV0O1xuXG4vLyBXb3JrZmxvd+ulvCDrk7HroZ3tlaAg65WM66W8IOychO2VnCDtg4DsnoVcbmV4cG9ydCB0eXBlIFdvcmtmbG93Q3JlYXRlT3B0aW9uczxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVFNjaGVtYSBleHRlbmRzIFN0YW5kYXJkU2NoZW1hVjEgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4+ID0gT21pdDxcbiAgV29ya2Zsb3dTcGVjPFNjaGVtYU91dHB1dDxUU2NoZW1hLCBJbnB1dD4sIE91dHB1dCwgU2NoZW1hSW5wdXQ8VFNjaGVtYSwgSW5wdXQ+PixcbiAgXCJ2ZXJzaW9uXCJcbj4gJiB7XG4gIGlkOiBzdHJpbmc7XG4gIHZlcnNpb246IHN0cmluZyB8IG51bGw7XG4gIGZ1bmN0aW9uOiBXb3JrZmxvd0Z1bmN0aW9uPFNjaGVtYU91dHB1dDxUU2NoZW1hLCBJbnB1dD4sIE91dHB1dD47XG59O1xuXG5leHBvcnQgY2xhc3MgV29ya2Zsb3dNYW5hZ2VyIHtcbiAgLy8gYmFja2VuZCDsnbjsiqTthLTsiqRcbiAgcmVhZG9ubHkgI2JhY2tlbmQ6IEJhY2tlbmRQb3N0Z3JlcztcblxuICAvLyBPcGVuV29ya2Zsb3cg7J247Iqk7YS07IqkXG4gIHJlYWRvbmx5ICNvdzogT3BlbldvcmtmbG93O1xuXG4gIC8vIFdvcmtlciDsnbjsiqTthLTsiqQgKOyXhuydhCDsiJgg7J6I7Jy866mwLCDsnbQg65WM64qUIOu2hOyCsOuQnCDshJzrsoQg7ZmY6rK97JeQ7IScIERC7JeQIHB1Ymxpc2jrp4wg7ZWc64uk6rOgIOqwgOygle2VqClcbiAgI3dvcmtlcjogV29ya2VyIHwgbnVsbDtcblxuICAvLyDtjIzsnbwg6rK966GcIC0+IO2MjOydvOyXkCDsoJXsnZjrkJwg7JuM7YGs7ZSM66Gc7JqwIOuplO2DgOuNsOydtO2EsCDrqqnroZ1cbiAgI3dvcmtmbG93c01hcDogTWFwPHN0cmluZywgV29ya2Zsb3dNZXRhZGF0YVtdPjtcblxuICAvLyBUYXNrIOydtOumhCAtPiBUYXNrIOygleuztCDrsI8gSW5wdXQg6rCSLCBXb3JrZmxvdyBJRFxuICAjc2NoZWR1bGVkVGFza3M6IE1hcDxcbiAgICBzdHJpbmcsXG4gICAge1xuICAgICAgdGFzazogU2NoZWR1bGVkVGFzaztcbiAgICAgIGlucHV0Rm46IEV4ZWN1dGFibGU8U2NoZW1hSW5wdXQ8dW5rbm93biwgdW5rbm93bj4+O1xuICAgICAgd29ya2Zsb3dJZDogc3RyaW5nO1xuICAgIH1cbiAgPjtcblxuICAvLyBCYWNrZW5kUG9zdGdyZXPsl5DshJwg7LKY66as7ZWY64qUIOqyg+uTpOydtCDsnojslrTshJwgS25leCDsu6TrhKXshZjsnbQg7JWE64uI6528IOyEpOygleqwkuydhCDrhKPslrTspJjslbztlaguXG4gIGNvbnN0cnVjdG9yKGRiQ29uZjogS25leC5Db25maWcsIHJ1bk1pZ3JhdGlvbnM6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgY29uc3QgYmFja2VuZCA9IG5ldyBCYWNrZW5kUG9zdGdyZXMoZGJDb25mLCB7IHJ1bk1pZ3JhdGlvbnMgfSk7XG5cbiAgICB0aGlzLiNiYWNrZW5kID0gYmFja2VuZDtcbiAgICB0aGlzLiNvdyA9IG5ldyBPcGVuV29ya2Zsb3coeyBiYWNrZW5kIH0pO1xuICAgIHRoaXMuI3dvcmtlciA9IG51bGw7XG5cbiAgICB0aGlzLiN3b3JrZmxvd3NNYXAgPSBuZXcgTWFwKCk7XG4gICAgdGhpcy4jc2NoZWR1bGVkVGFza3MgPSBuZXcgTWFwKCk7XG4gIH1cblxuICAvKipcbiAgICog7KCV7J2Y65CcIOybjO2BrO2UjOuhnOyasCDrsI8g7JuM7YGs7ZSM66Gc7Jqw7JeQIOuMgO2VnCBzY2hlZHVsZWQgdGFza3Prpbwg64+Z6riw7ZmU7ZWp64uI64ukLlxuICAgKi9cbiAgYXN5bmMgc3luY2hyb25pemUod29ya2Zsb3dNYXA6IE1hcDxzdHJpbmcsIFdvcmtmbG93TWV0YWRhdGFbXT4pIHtcbiAgICAvLyAxLiDsgq3soJzrkJwg7YyM7J287J2AIOydvOq0hCDsgq3soJxcbiAgICBhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQoXG4gICAgICBBcnJheS5mcm9tKHRoaXMuI3dvcmtmbG93c01hcC5lbnRyaWVzKCkpXG4gICAgICAgIC5maWx0ZXIoKFtrZXldKSA9PiAhd29ya2Zsb3dNYXAuaGFzKGtleSkpXG4gICAgICAgIC5mbGF0TWFwKChbXywgd29ya2Zsb3dzXSkgPT5cbiAgICAgICAgICB3b3JrZmxvd3MubWFwKCh3b3JrZmxvdykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsU2V0dGxlZChbXG4gICAgICAgICAgICAgIC4uLndvcmtmbG93LnNjaGVkdWxlcy5tYXAoKHNjaGVkdWxlKSA9PiB0aGlzLnVuc2NoZWR1bGVUYXNrKHNjaGVkdWxlLm5hbWUpKSxcbiAgICAgICAgICAgICAgdGhpcy51bnJlZ2lzdGVyV29ya2Zsb3cod29ya2Zsb3cpLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIC8vIDIuIOyDiOuhnCDstpTqsIDrkJwg7YyM7J287J2AIOydvOq0hCDrk7HroZ1cbiAgICBhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQoXG4gICAgICBBcnJheS5mcm9tKHdvcmtmbG93TWFwLmVudHJpZXMoKSlcbiAgICAgICAgLmZpbHRlcigoW2tleV0pID0+ICF0aGlzLiN3b3JrZmxvd3NNYXAuaGFzKGtleSkpXG4gICAgICAgIC5mbGF0TWFwKChbXywgd29ya2Zsb3dzXSkgPT5cbiAgICAgICAgICB3b3JrZmxvd3MubWFwKCh3b3JrZmxvdykgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWdpc3RlcldvcmtmbG93KHtcbiAgICAgICAgICAgICAgaWQ6IHdvcmtmbG93LmlkLFxuICAgICAgICAgICAgICBuYW1lOiB3b3JrZmxvdy5uYW1lLFxuICAgICAgICAgICAgICB2ZXJzaW9uOiB3b3JrZmxvdy52ZXJzaW9uID8/IG51bGwsXG4gICAgICAgICAgICAgIHNjaGVtYTogd29ya2Zsb3cuc2NoZW1hLFxuICAgICAgICAgICAgICBmdW5jdGlvbjogd29ya2Zsb3cuZm4sXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsU2V0dGxlZChcbiAgICAgICAgICAgICAgd29ya2Zsb3cuc2NoZWR1bGVzLm1hcCgoc2NoZWR1bGUpID0+IHRoaXMuc2NoZWR1bGVUYXNrKHdvcmtmbG93LCBzY2hlZHVsZSkpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgLy8gMy4g6riw7KG06rO8IOuLpOuluCDqsoPsnYQgZGlmZuy5nCDri6TsnYwsIOyCreygnCDtm4Qg7J6s65Ox66GdXG4gICAgYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKFxuICAgICAgQXJyYXkuZnJvbSh3b3JrZmxvd01hcC5lbnRyaWVzKCkpXG4gICAgICAgIC5maWx0ZXIoKFtrZXldKSA9PiB0aGlzLiN3b3JrZmxvd3NNYXAuaGFzKGtleSkpXG4gICAgICAgIC5tYXA8W3N0cmluZywgW1dvcmtmbG93TWV0YWRhdGFbXSwgV29ya2Zsb3dNZXRhZGF0YVtdXV0+KChba2V5LCBuZXdXb3JrZmxvd3NdKSA9PiB7XG4gICAgICAgICAgY29uc3QgcHJldmlvdXNXb3JrZmxvd3MgPSB0aGlzLiN3b3JrZmxvd3NNYXAuZ2V0KGtleSk7XG4gICAgICAgICAgYXNzZXJ0KHByZXZpb3VzV29ya2Zsb3dzLCBcInByZXZpb3VzIHdvcmtmbG93cyBub3QgZm91bmRcIik7XG4gICAgICAgICAgcmV0dXJuIFtrZXksIFtwcmV2aW91c1dvcmtmbG93cywgbmV3V29ya2Zsb3dzXV07XG4gICAgICAgIH0pXG4gICAgICAgIC5tYXAoYXN5bmMgKFtfLCBbcHJldmlvdXNXb3JrZmxvd3MsIG5ld1dvcmtmbG93c11dKSA9PiB7XG4gICAgICAgICAgLy8g6riw7KG0IOqyg+uTpOydhCDsgq3soJzrtoDthLAg7ZW07JW87ZWoLlxuICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsU2V0dGxlZChcbiAgICAgICAgICAgIHByZXZpb3VzV29ya2Zsb3dzXG4gICAgICAgICAgICAgIC5maWx0ZXIoKHByZXZJdGVtKSA9PiAhbmV3V29ya2Zsb3dzLnNvbWUoKG5ld0l0ZW0pID0+IG5ld0l0ZW0uaWQgPT09IHByZXZJdGVtLmlkKSlcbiAgICAgICAgICAgICAgLm1hcCgocHJldkl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGxTZXR0bGVkKFtcbiAgICAgICAgICAgICAgICAgIC4uLnByZXZJdGVtLnNjaGVkdWxlcy5tYXAoKHNjaGVkdWxlKSA9PiB0aGlzLnVuc2NoZWR1bGVUYXNrKHNjaGVkdWxlLm5hbWUpKSxcbiAgICAgICAgICAgICAgICAgIHRoaXMudW5yZWdpc3RlcldvcmtmbG93KHByZXZJdGVtKSxcbiAgICAgICAgICAgICAgICBdKTtcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIC8vIOyDiOuhnCDstpTqsIDrkJwg6rKD65Ok7J2EIOuTseuhnVxuICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsU2V0dGxlZChcbiAgICAgICAgICAgIG5ld1dvcmtmbG93c1xuICAgICAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgICAgIChuZXdJdGVtKSA9PiAhcHJldmlvdXNXb3JrZmxvd3Muc29tZSgocHJldkl0ZW0pID0+IHByZXZJdGVtLmlkID09PSBuZXdJdGVtLmlkKSxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAubWFwKGFzeW5jIChuZXdJdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWdpc3RlcldvcmtmbG93KHtcbiAgICAgICAgICAgICAgICAgIGlkOiBuZXdJdGVtLmlkLFxuICAgICAgICAgICAgICAgICAgbmFtZTogbmV3SXRlbS5uYW1lLFxuICAgICAgICAgICAgICAgICAgdmVyc2lvbjogbmV3SXRlbS52ZXJzaW9uID8/IG51bGwsXG4gICAgICAgICAgICAgICAgICBzY2hlbWE6IG5ld0l0ZW0uc2NoZW1hLFxuICAgICAgICAgICAgICAgICAgZnVuY3Rpb246IG5ld0l0ZW0uZm4sXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGxTZXR0bGVkKFxuICAgICAgICAgICAgICAgICAgbmV3SXRlbS5zY2hlZHVsZXMubWFwKChzY2hlZHVsZSkgPT4gdGhpcy5zY2hlZHVsZVRhc2sobmV3SXRlbSwgc2NoZWR1bGUpKSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICApO1xuXG4gICAgdGhpcy4jd29ya2Zsb3dzTWFwID0gd29ya2Zsb3dNYXA7XG4gIH1cblxuICAvLyDsm4ztgaztlIzroZzsmrDrpbwg7Iuk7ZaJXG4gIHJ1bjxJbnB1dCwgT3V0cHV0LCBUU2NoZW1hIGV4dGVuZHMgU3RhbmRhcmRTY2hlbWFWMSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZD4oXG4gICAgb3B0aW9uczogT21pdDxXb3JrZmxvd0NyZWF0ZU9wdGlvbnM8SW5wdXQsIE91dHB1dCwgVFNjaGVtYT4sIFwiZnVuY3Rpb25cIiB8IFwic2NoZW1hXCIgfCBcImlkXCI+LFxuICAgIGlucHV0OiBTY2hlbWFJbnB1dDxUU2NoZW1hLCBJbnB1dD4sXG4gICk6IFByb21pc2U8V29ya2Zsb3dSdW5IYW5kbGU8T3V0cHV0Pj4ge1xuICAgIHJldHVybiB0aGlzLiNvdy5ydW5Xb3JrZmxvdyhcbiAgICAgIHtcbiAgICAgICAgbmFtZTogb3B0aW9ucy5uYW1lLFxuICAgICAgICB2ZXJzaW9uOiBvcHRpb25zLnZlcnNpb24gPz8gdW5kZWZpbmVkLFxuICAgICAgfSxcbiAgICAgIGlucHV0LFxuICAgICk7XG4gIH1cblxuICAvLyBjcm9uIHRhc2vrpbwg65Ox66GdXG4gIGFzeW5jIHNjaGVkdWxlVGFzayhcbiAgICB3b3JrZmxvdzogUGljazxXb3JrZmxvd01ldGFkYXRhLCBcImlkXCIgfCBcIm5hbWVcIiB8IFwidmVyc2lvblwiPixcbiAgICBzY2hlZHVsZTogV29ya2Zsb3dNZXRhZGF0YVtcInNjaGVkdWxlc1wiXVtudW1iZXJdLFxuICApIHtcbiAgICBjb25zdCB0YXNrID0gY3JvblNjaGVkdWxlKFxuICAgICAgc2NoZWR1bGUuZXhwcmVzc2lvbixcbiAgICAgIChhc3luYyAoXG4gICAgICAgIHsgbmFtZSwgdmVyc2lvbiB9OiBQaWNrPFdvcmtmbG93TWV0YWRhdGEsIFwibmFtZVwiIHwgXCJ2ZXJzaW9uXCI+LFxuICAgICAgICB7IGlucHV0IH06IFdvcmtmbG93TWV0YWRhdGFbXCJzY2hlZHVsZXNcIl1bbnVtYmVyXSxcbiAgICAgICkgPT4ge1xuICAgICAgICBjb25zdCBpbnB1dERhdGEgPSBhd2FpdCAodHlwZW9mIGlucHV0ID09PSBcImZ1bmN0aW9uXCJcbiAgICAgICAgICA/IFByb21pc2UucmVzb2x2ZShpbnB1dCgpKVxuICAgICAgICAgIDogUHJvbWlzZS5yZXNvbHZlKGlucHV0KSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucnVuKHsgbmFtZSwgdmVyc2lvbjogdmVyc2lvbiA/PyBudWxsIH0sIGlucHV0RGF0YSk7XG4gICAgICB9KS5iaW5kKHRoaXMsIHdvcmtmbG93LCBzY2hlZHVsZSksXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHNjaGVkdWxlLm5hbWUsXG4gICAgICAgIHRpbWV6b25lOiBTb25hbXUuY29uZmlnLmFwaS50aW1lem9uZSxcbiAgICAgICAgbm9PdmVybGFwOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHRoaXMuI3NjaGVkdWxlZFRhc2tzLnNldChzY2hlZHVsZS5uYW1lLCB7XG4gICAgICB0YXNrLFxuICAgICAgaW5wdXRGbjogc2NoZWR1bGUuaW5wdXQsXG4gICAgICB3b3JrZmxvd0lkOiB3b3JrZmxvdy5pZCxcbiAgICB9KTtcbiAgICBhd2FpdCB0YXNrLnN0YXJ0KCk7XG4gIH1cblxuICAvLyBjcm9uIHRhc2vrpbwg7KSR7KeAXG4gIGFzeW5jIHVuc2NoZWR1bGVUYXNrKG5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IHRhc2tJdGVtID0gdGhpcy4jc2NoZWR1bGVkVGFza3MuZ2V0KG5hbWUpO1xuICAgIGlmICghdGFza0l0ZW0pIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJzY2hlZHVsZWQgdGFzayBub3QgZm91bmRcIiwgbmFtZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy4jc2NoZWR1bGVkVGFza3MuZGVsZXRlKG5hbWUpO1xuICAgIGF3YWl0IHRhc2tJdGVtLnRhc2suc3RvcCgpO1xuICAgIGF3YWl0IHRhc2tJdGVtLnRhc2suZGVzdHJveSgpO1xuICB9XG5cbiAgLy8g7JuM7YGs7ZSM66Gc7Jqw66W8IOuTseuhnSwg6rSA66Co65CcIOyKpOy8gOykhOydgCDrs4Trj4TroZwg65Ox66Gd7ZW07JW8IO2VqC5cbiAgcmVnaXN0ZXJXb3JrZmxvdzxJbnB1dCwgT3V0cHV0LCBUU2NoZW1hIGV4dGVuZHMgU3RhbmRhcmRTY2hlbWFWMSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZD4oXG4gICAgb3B0aW9uczogV29ya2Zsb3dDcmVhdGVPcHRpb25zPElucHV0LCBPdXRwdXQsIFRTY2hlbWE+LFxuICApOiBSdW5uYWJsZVdvcmtmbG93PFNjaGVtYU91dHB1dDxUU2NoZW1hLCBJbnB1dD4sIE91dHB1dCwgU2NoZW1hSW5wdXQ8VFNjaGVtYSwgSW5wdXQ+PiB7XG4gICAgY29uc3QgZm4gPSBhc3luYyAoXG4gICAgICBwYXJhbXM6IFJlYWRvbmx5PHtcbiAgICAgICAgaW5wdXQ6IFNjaGVtYU91dHB1dDxUU2NoZW1hLCBJbnB1dD47XG4gICAgICAgIHN0ZXA6IFN0ZXBBcGk7XG4gICAgICAgIHZlcnNpb246IHN0cmluZyB8IG51bGw7XG4gICAgICB9PixcbiAgICApID0+IHtcbiAgICAgIGNvbnN0IGJhc2VDb250ZXh0ID0ge1xuICAgICAgICByZXF1ZXN0OiBudWxsLFxuICAgICAgICByZXBseTogbnVsbCxcbiAgICAgICAgaGVhZGVyczoge30sXG4gICAgICAgIGNyZWF0ZVNTRTogKHNjaGVtYTogWm9kT2JqZWN0KSA9PiBjcmVhdGVNb2NrU1NFRmFjdG9yeShzY2hlbWEpLFxuICAgICAgICBuYWl0ZVN0b3JlOiBOYWl0ZS5jcmVhdGVTdG9yZSgpLFxuICAgICAgICB1c2VyOiBudWxsLFxuICAgICAgICBwYXNzcG9ydDoge1xuICAgICAgICAgIGxvZ2luOiBhc3luYyAoKSA9PiB7fSxcbiAgICAgICAgICBsb2dvdXQ6ICgpID0+IHt9LFxuICAgICAgICB9LFxuICAgICAgfSBhcyB1bmtub3duIGFzIENvbnRleHQ7XG5cbiAgICAgIGNvbnN0IGNvbnRleHRQcm92aWRlciA9IFNvbmFtdS5jb25maWcudGFza3M/LmNvbnRleHRQcm92aWRlcjtcbiAgICAgIGNvbnN0IGNvbnRleHQ6IENvbnRleHQgPSBjb250ZXh0UHJvdmlkZXJcbiAgICAgICAgPyBhd2FpdCBQcm9taXNlLnJlc29sdmUoY29udGV4dFByb3ZpZGVyKGJhc2VDb250ZXh0KSlcbiAgICAgICAgOiBiYXNlQ29udGV4dDtcblxuICAgICAgY29uc3Qgc3RlcCA9IG5ldyBTdGVwV3JhcHBlcihwYXJhbXMuc3RlcCk7XG4gICAgICByZXR1cm4gU29uYW11LmFzeW5jTG9jYWxTdG9yYWdlLnJ1bih7IGNvbnRleHQgfSwgKCkgPT5cbiAgICAgICAgb3B0aW9ucy5mdW5jdGlvbih7IGlucHV0OiBwYXJhbXMuaW5wdXQsIHN0ZXAsIHZlcnNpb246IHBhcmFtcy52ZXJzaW9uIH0pLFxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgY29uc3Qgd29ya2Zsb3cgPSB0aGlzLiNvdy5kZWZpbmVXb3JrZmxvdyhcbiAgICAgIHtcbiAgICAgICAgbmFtZTogb3B0aW9ucy5uYW1lLFxuICAgICAgICB2ZXJzaW9uOiBvcHRpb25zLnZlcnNpb24gPz8gdW5kZWZpbmVkLFxuICAgICAgICBzY2hlbWE6IG9wdGlvbnMuc2NoZW1hLFxuICAgICAgfSxcbiAgICAgIGZuLFxuICAgICk7XG4gICAgcmV0dXJuIHdvcmtmbG93O1xuICB9XG5cbiAgLy8g7JuM7YGs7ZSM66Gc7Jqw66W8IOuTseuhnSDtlbTsoJwsIOq0gOugqOuQnCDsiqTsvIDspITsnYAg67OE64+E66GcIO2VtOygnO2VtOyVvCDtlaguXG4gIGFzeW5jIHVucmVnaXN0ZXJXb3JrZmxvdyh3b3JrZmxvdzogUGljazxXb3JrZmxvd01ldGFkYXRhLCBcIm5hbWVcIiB8IFwidmVyc2lvblwiIHwgXCJpZFwiPikge1xuICAgIHRoaXMuI293LnVucmVnaXN0ZXJXb3JrZmxvdyh3b3JrZmxvdy5uYW1lLCB3b3JrZmxvdy52ZXJzaW9uID8/IG51bGwpO1xuICB9XG5cbiAgLy8gV29ya2Vy66W8IOyEpOyglSDtm4Qg7Iuc7J6RXG4gIHNldHVwV29ya2VyKG9wdGlvbnM6IFdvcmtmbG93T3B0aW9ucykge1xuICAgIHRoaXMuI3dvcmtlciA9IHRoaXMuI293Lm5ld1dvcmtlcihvcHRpb25zKTtcbiAgfVxuXG4gIC8vIFdvcmtlcuulvCDstIjquLDtmZRcbiAgYXN5bmMgc3RhcnRXb3JrZXIoKSB7XG4gICAgaWYgKCF0aGlzLiN3b3JrZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBhd2FpdCB0aGlzLiNiYWNrZW5kLmluaXRpYWxpemUoKTtcbiAgICBhd2FpdCB0aGlzLiN3b3JrZXI/LnN0YXJ0KCk7XG4gIH1cblxuICAvLyBXb3JrZXLrpbwg7KSR7KeAXG4gIGFzeW5jIHN0b3BXb3JrZXIoKSB7XG4gICAgYXdhaXQgdGhpcy4jd29ya2VyPy5zdG9wKCk7XG4gIH1cblxuICAvLyBjcm9uIHRhc2vrk6TsnYQg66qo65GQIOykkeyngFxuICBhc3luYyBzdG9wU2NoZWR1bGVzKCkge1xuICAgIGF3YWl0IFByb21pc2UuYWxsU2V0dGxlZChcbiAgICAgIEFycmF5LmZyb20odGhpcy4jc2NoZWR1bGVkVGFza3MudmFsdWVzKCkpLm1hcCgoeyB0YXNrIH0pID0+IFByb21pc2UucmVzb2x2ZSh0YXNrLnN0b3AoKSkpLFxuICAgICk7XG4gIH1cblxuICAvLyBjcm9uIHRhc2vrk6TsnYQg66qo65GQIOygleumrFxuICBhc3luYyBkZXN0cm95U2NoZWR1bGVzKCkge1xuICAgIGF3YWl0IFByb21pc2UuYWxsU2V0dGxlZChcbiAgICAgIEFycmF5LmZyb20odGhpcy4jc2NoZWR1bGVkVGFza3MudmFsdWVzKCkpLm1hcCgoeyB0YXNrIH0pID0+IFByb21pc2UucmVzb2x2ZSh0YXNrLmRlc3Ryb3koKSkpLFxuICAgICk7XG4gICAgdGhpcy4jc2NoZWR1bGVkVGFza3MuY2xlYXIoKTtcbiAgfVxuXG4gIGFzeW5jIGRlc3Ryb3koKSB7XG4gICAgYXdhaXQgdGhpcy5zdG9wU2NoZWR1bGVzKCk7XG4gICAgYXdhaXQgdGhpcy5zdG9wV29ya2VyKCk7XG4gICAgYXdhaXQgdGhpcy5kZXN0cm95U2NoZWR1bGVzKCk7XG4gICAgYXdhaXQgdGhpcy4jYmFja2VuZC5zdG9wKCk7XG4gIH1cblxuICBbU3ltYm9sLmFzeW5jRGlzcG9zZV0oKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVzdHJveSgpO1xuICB9XG59XG4iXSwibmFtZXMiOlsiQmFja2VuZFBvc3RncmVzIiwiT3BlbldvcmtmbG93IiwiYXNzZXJ0Iiwic2NoZWR1bGUiLCJjcm9uU2NoZWR1bGUiLCJTb25hbXUiLCJOYWl0ZSIsImNyZWF0ZU1vY2tTU0VGYWN0b3J5IiwiU3RlcFdyYXBwZXIiLCJXb3JrZmxvd01hbmFnZXIiLCJkYkNvbmYiLCJydW5NaWdyYXRpb25zIiwiYmFja2VuZCIsIk1hcCIsInN5bmNocm9uaXplIiwid29ya2Zsb3dNYXAiLCJQcm9taXNlIiwiYWxsU2V0dGxlZCIsIkFycmF5IiwiZnJvbSIsImVudHJpZXMiLCJmaWx0ZXIiLCJrZXkiLCJoYXMiLCJmbGF0TWFwIiwiXyIsIndvcmtmbG93cyIsIm1hcCIsIndvcmtmbG93Iiwic2NoZWR1bGVzIiwidW5zY2hlZHVsZVRhc2siLCJuYW1lIiwidW5yZWdpc3RlcldvcmtmbG93IiwicmVnaXN0ZXJXb3JrZmxvdyIsImlkIiwidmVyc2lvbiIsInNjaGVtYSIsImZ1bmN0aW9uIiwiZm4iLCJzY2hlZHVsZVRhc2siLCJuZXdXb3JrZmxvd3MiLCJwcmV2aW91c1dvcmtmbG93cyIsImdldCIsInByZXZJdGVtIiwic29tZSIsIm5ld0l0ZW0iLCJydW4iLCJvcHRpb25zIiwiaW5wdXQiLCJydW5Xb3JrZmxvdyIsInVuZGVmaW5lZCIsInRhc2siLCJleHByZXNzaW9uIiwiaW5wdXREYXRhIiwicmVzb2x2ZSIsImJpbmQiLCJ0aW1lem9uZSIsImNvbmZpZyIsImFwaSIsIm5vT3ZlcmxhcCIsInNldCIsImlucHV0Rm4iLCJ3b3JrZmxvd0lkIiwic3RhcnQiLCJ0YXNrSXRlbSIsImNvbnNvbGUiLCJlcnJvciIsImRlbGV0ZSIsInN0b3AiLCJkZXN0cm95IiwicGFyYW1zIiwiYmFzZUNvbnRleHQiLCJyZXF1ZXN0IiwicmVwbHkiLCJoZWFkZXJzIiwiY3JlYXRlU1NFIiwibmFpdGVTdG9yZSIsImNyZWF0ZVN0b3JlIiwidXNlciIsInBhc3Nwb3J0IiwibG9naW4iLCJsb2dvdXQiLCJjb250ZXh0UHJvdmlkZXIiLCJ0YXNrcyIsImNvbnRleHQiLCJzdGVwIiwiYXN5bmNMb2NhbFN0b3JhZ2UiLCJkZWZpbmVXb3JrZmxvdyIsInNldHVwV29ya2VyIiwibmV3V29ya2VyIiwic3RhcnRXb3JrZXIiLCJpbml0aWFsaXplIiwic3RvcFdvcmtlciIsInN0b3BTY2hlZHVsZXMiLCJ2YWx1ZXMiLCJkZXN0cm95U2NoZWR1bGVzIiwiY2xlYXIiLCJTeW1ib2wiLCJhc3luY0Rpc3Bvc2UiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGVBQWUsRUFBRUMsWUFBWSxRQUFxQixvQkFBb0I7QUFVL0UsT0FBT0MsWUFBWSxTQUFTO0FBRTVCLFNBQVNDLFlBQVlDLFlBQVksUUFBNEIsWUFBWTtBQUd6RSxTQUFTQyxNQUFNLFFBQVEsbUJBQWdCO0FBQ3ZDLFNBQVNDLEtBQUssUUFBUSxvQkFBaUI7QUFDdkMsU0FBU0Msb0JBQW9CLFFBQVEsbUJBQWdCO0FBR3JELFNBQVNDLFdBQVcsUUFBUSxvQkFBaUI7QUFvQzdDLE9BQU8sTUFBTUM7SUFDWCxlQUFlO0lBQ04sQ0FBQSxPQUFRLENBQWtCO0lBRW5DLG9CQUFvQjtJQUNYLENBQUEsRUFBRyxDQUFlO0lBRTNCLGdFQUFnRTtJQUNoRSxDQUFBLE1BQU8sQ0FBZ0I7SUFFdkIsa0NBQWtDO0lBQ2xDLENBQUEsWUFBYSxDQUFrQztJQUUvQyw0Q0FBNEM7SUFDNUMsQ0FBQSxjQUFlLENBT2I7SUFFRiwyREFBMkQ7SUFDM0QsWUFBWUMsTUFBbUIsRUFBRUMsZ0JBQXlCLElBQUksQ0FBRTtRQUM5RCxNQUFNQyxVQUFVLElBQUlaLGdCQUFnQlUsUUFBUTtZQUFFQztR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
|
|
200
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90YXNrcy93b3JrZmxvdy1tYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldExvZ2dlciwgdHlwZSBMb2dnZXIgfSBmcm9tIFwiQGxvZ3RhcGUvbG9ndGFwZVwiO1xuaW1wb3J0IHsgQmFja2VuZFBvc3RncmVzLCBPcGVuV29ya2Zsb3csIHR5cGUgV29ya2VyIH0gZnJvbSBcIkBzb25hbXUta2l0L3Rhc2tzXCI7XG5pbXBvcnQgdHlwZSB7XG4gIFJ1bm5hYmxlV29ya2Zsb3csXG4gIFNjaGVtYUlucHV0LFxuICBTY2hlbWFPdXRwdXQsXG4gIFN0YW5kYXJkU2NoZW1hVjEsXG4gIFN0ZXBBcGksXG4gIFdvcmtmbG93UnVuSGFuZGxlLFxuICBXb3JrZmxvd1NwZWMsXG59IGZyb20gXCJAc29uYW11LWtpdC90YXNrcy9pbnRlcm5hbFwiO1xuaW1wb3J0IGFzc2VydCBmcm9tIFwiYXNzZXJ0XCI7XG5pbXBvcnQgdHlwZSB7IEtuZXggfSBmcm9tIFwia25leFwiO1xuaW1wb3J0IHsgc2NoZWR1bGUgYXMgY3JvblNjaGVkdWxlLCB0eXBlIFNjaGVkdWxlZFRhc2sgfSBmcm9tIFwibm9kZS1jcm9uXCI7XG5pbXBvcnQgdHlwZSB7IFpvZE9iamVjdCB9IGZyb20gXCJ6b2RcIjtcbmltcG9ydCB0eXBlIHsgQ29udGV4dCB9IGZyb20gXCIuLi9hcGkvY29udGV4dFwiO1xuaW1wb3J0IHsgU29uYW11IH0gZnJvbSBcIi4uL2FwaS9zb25hbXVcIjtcbmltcG9ydCB7IGNvbnZlcnREb21haW5Ub0NhdGVnb3J5IH0gZnJvbSBcIi4uL2xvZ2dlci9jYXRlZ29yeVwiO1xuaW1wb3J0IHsgTmFpdGUgfSBmcm9tIFwiLi4vbmFpdGUvbmFpdGVcIjtcbmltcG9ydCB7IGNyZWF0ZU1vY2tTU0VGYWN0b3J5IH0gZnJvbSBcIi4uL3N0cmVhbS9zc2VcIjtcbmltcG9ydCB0eXBlIHsgRXhlY3V0YWJsZSB9IGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBXb3JrZmxvd01ldGFkYXRhIH0gZnJvbSBcIi4vZGVjb3JhdG9yXCI7XG5pbXBvcnQgeyBTdGVwV3JhcHBlciB9IGZyb20gXCIuL3N0ZXAtd3JhcHBlclwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtmbG93T3B0aW9ucyB7XG4gIC8vIHdvcmtlcuyXkOyEnCDrj5nsi5wg7Iuk7ZaJ7ZWgIO2DnOyKpO2BrCDsiJgsIOq4sOuzuOydgCBDUFUg7L2U7Ja0IOyImCAtIDHqsJxcbiAgY29uY3VycmVuY3k/OiBudW1iZXI7XG5cbiAgLy8gd29ya2Vy7JeQ7IScIOyCrOyaqe2VoCBwdWIvc3ViIOyXrOu2gCwg6riw67O47J2AIHRydWVcbiAgdXNlUHViU3ViPzogYm9vbGVhbjtcblxuICAvLyBwdWIvc3Vi7Jy866GcIO2DnOyKpO2BrOulvCDsiJjsi6DtlojsnYQg65WMIOybjO2BrO2UjOuhnOyasCDsi6TtlonquYzsp4Ag7KeA7JewIOyLnOqwhCwg6riw67O47J2AIDUwMG1zXG4gIGxpc3RlbkRlbGF5PzogbnVtYmVyO1xufVxuXG4vLyBXb3JrZmxvdyDtlajsiJjsnZgg7YOA7J6FLCBAc29uYW11LWtpdC90YXNrc+yZgCDri6Trpbgg7KCQ7J2AIHN0ZXDsnYQg7ZWc67KIIOqwkOyLvCDtmJXtg5wuXG5leHBvcnQgdHlwZSBXb3JrZmxvd0Z1bmN0aW9uPElucHV0LCBPdXRwdXQ+ID0gKFxuICBwYXJhbXM6IFJlYWRvbmx5PHtcbiAgICBsb2dnZXI6IExvZ2dlcjtcbiAgICBpbnB1dDogSW5wdXQ7XG4gICAgc3RlcDogU3RlcFdyYXBwZXI7XG4gICAgdmVyc2lvbjogc3RyaW5nIHwgbnVsbDtcbiAgfT4sXG4pID0+IFByb21pc2U8T3V0cHV0PiB8IE91dHB1dDtcblxuLy8gV29ya2Zsb3frpbwg65Ox66Gd7ZWgIOuVjOulvCDsnITtlZwg7YOA7J6FXG5leHBvcnQgdHlwZSBXb3JrZmxvd0NyZWF0ZU9wdGlvbnM8XG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRTY2hlbWEgZXh0ZW5kcyBTdGFuZGFyZFNjaGVtYVYxIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuPiA9IE9taXQ8XG4gIFdvcmtmbG93U3BlYzxTY2hlbWFPdXRwdXQ8VFNjaGVtYSwgSW5wdXQ+LCBPdXRwdXQsIFNjaGVtYUlucHV0PFRTY2hlbWEsIElucHV0Pj4sXG4gIFwidmVyc2lvblwiXG4+ICYge1xuICBpZDogc3RyaW5nO1xuICB2ZXJzaW9uOiBzdHJpbmcgfCBudWxsO1xuICBmdW5jdGlvbjogV29ya2Zsb3dGdW5jdGlvbjxTY2hlbWFPdXRwdXQ8VFNjaGVtYSwgSW5wdXQ+LCBPdXRwdXQ+O1xufTtcblxuZXhwb3J0IGNsYXNzIFdvcmtmbG93TWFuYWdlciB7XG4gIC8vIGJhY2tlbmQg7J247Iqk7YS07IqkXG4gIHJlYWRvbmx5ICNiYWNrZW5kOiBCYWNrZW5kUG9zdGdyZXM7XG5cbiAgLy8gT3BlbldvcmtmbG93IOyduOyKpO2EtOyKpFxuICByZWFkb25seSAjb3c6IE9wZW5Xb3JrZmxvdztcblxuICAvLyBXb3JrZXIg7J247Iqk7YS07IqkICjsl4bsnYQg7IiYIOyeiOycvOupsCwg7J20IOuVjOuKlCDrtoTsgrDrkJwg7ISc67KEIO2ZmOqyveyXkOyEnCBEQuyXkCBwdWJsaXNo66eMIO2VnOuLpOqzoCDqsIDsoJXtlagpXG4gICN3b3JrZXI6IFdvcmtlciB8IG51bGw7XG5cbiAgLy8g7YyM7J28IOqyveuhnCAtPiDtjIzsnbzsl5Ag7KCV7J2Y65CcIOybjO2BrO2UjOuhnOyasCDrqZTtg4DrjbDsnbTthLAg66qp66GdXG4gICN3b3JrZmxvd3NNYXA6IE1hcDxzdHJpbmcsIFdvcmtmbG93TWV0YWRhdGFbXT47XG5cbiAgLy8gVGFzayDsnbTrpoQgLT4gVGFzayDsoJXrs7Qg67CPIElucHV0IOqwkiwgV29ya2Zsb3cgSURcbiAgI3NjaGVkdWxlZFRhc2tzOiBNYXA8XG4gICAgc3RyaW5nLFxuICAgIHtcbiAgICAgIHRhc2s6IFNjaGVkdWxlZFRhc2s7XG4gICAgICBpbnB1dEZuOiBFeGVjdXRhYmxlPFNjaGVtYUlucHV0PHVua25vd24sIHVua25vd24+PjtcbiAgICAgIHdvcmtmbG93SWQ6IHN0cmluZztcbiAgICB9XG4gID47XG5cbiAgLy8gQmFja2VuZFBvc3RncmVz7JeQ7IScIOyymOumrO2VmOuKlCDqsoPrk6TsnbQg7J6I7Ja07IScIEtuZXgg7Luk64Sl7IWY7J20IOyVhOuLiOudvCDshKTsoJXqsJLsnYQg64Sj7Ja07KSY7JW87ZWoLlxuICBjb25zdHJ1Y3RvcihkYkNvbmY6IEtuZXguQ29uZmlnLCBydW5NaWdyYXRpb25zOiBib29sZWFuID0gdHJ1ZSkge1xuICAgIGNvbnN0IGJhY2tlbmQgPSBuZXcgQmFja2VuZFBvc3RncmVzKGRiQ29uZiwgeyBydW5NaWdyYXRpb25zIH0pO1xuXG4gICAgdGhpcy4jYmFja2VuZCA9IGJhY2tlbmQ7XG4gICAgdGhpcy4jb3cgPSBuZXcgT3BlbldvcmtmbG93KHsgYmFja2VuZCB9KTtcbiAgICB0aGlzLiN3b3JrZXIgPSBudWxsO1xuXG4gICAgdGhpcy4jd29ya2Zsb3dzTWFwID0gbmV3IE1hcCgpO1xuICAgIHRoaXMuI3NjaGVkdWxlZFRhc2tzID0gbmV3IE1hcCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIOygleydmOuQnCDsm4ztgaztlIzroZzsmrAg67CPIOybjO2BrO2UjOuhnOyasOyXkCDrjIDtlZwgc2NoZWR1bGVkIHRhc2tz66W8IOuPmeq4sO2ZlO2VqeuLiOuLpC5cbiAgICovXG4gIGFzeW5jIHN5bmNocm9uaXplKHdvcmtmbG93TWFwOiBNYXA8c3RyaW5nLCBXb3JrZmxvd01ldGFkYXRhW10+KSB7XG4gICAgLy8gMS4g7IKt7KCc65CcIO2MjOydvOydgCDsnbzqtIQg7IKt7KCcXG4gICAgYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKFxuICAgICAgQXJyYXkuZnJvbSh0aGlzLiN3b3JrZmxvd3NNYXAuZW50cmllcygpKVxuICAgICAgICAuZmlsdGVyKChba2V5XSkgPT4gIXdvcmtmbG93TWFwLmhhcyhrZXkpKVxuICAgICAgICAuZmxhdE1hcCgoW18sIHdvcmtmbG93c10pID0+XG4gICAgICAgICAgd29ya2Zsb3dzLm1hcCgod29ya2Zsb3cpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLmFsbFNldHRsZWQoW1xuICAgICAgICAgICAgICAuLi53b3JrZmxvdy5zY2hlZHVsZXMubWFwKChzY2hlZHVsZSkgPT4gdGhpcy51bnNjaGVkdWxlVGFzayhzY2hlZHVsZS5uYW1lKSksXG4gICAgICAgICAgICAgIHRoaXMudW5yZWdpc3RlcldvcmtmbG93KHdvcmtmbG93KSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICk7XG5cbiAgICAvLyAyLiDsg4jroZwg7LaU6rCA65CcIO2MjOydvOydgCDsnbzqtIQg65Ox66GdXG4gICAgYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKFxuICAgICAgQXJyYXkuZnJvbSh3b3JrZmxvd01hcC5lbnRyaWVzKCkpXG4gICAgICAgIC5maWx0ZXIoKFtrZXldKSA9PiAhdGhpcy4jd29ya2Zsb3dzTWFwLmhhcyhrZXkpKVxuICAgICAgICAuZmxhdE1hcCgoW18sIHdvcmtmbG93c10pID0+XG4gICAgICAgICAgd29ya2Zsb3dzLm1hcCgod29ya2Zsb3cpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJXb3JrZmxvdyh7XG4gICAgICAgICAgICAgIGlkOiB3b3JrZmxvdy5pZCxcbiAgICAgICAgICAgICAgbmFtZTogd29ya2Zsb3cubmFtZSxcbiAgICAgICAgICAgICAgdmVyc2lvbjogd29ya2Zsb3cudmVyc2lvbiA/PyBudWxsLFxuICAgICAgICAgICAgICBzY2hlbWE6IHdvcmtmbG93LnNjaGVtYSxcbiAgICAgICAgICAgICAgZnVuY3Rpb246IHdvcmtmbG93LmZuLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLmFsbFNldHRsZWQoXG4gICAgICAgICAgICAgIHdvcmtmbG93LnNjaGVkdWxlcy5tYXAoKHNjaGVkdWxlKSA9PiB0aGlzLnNjaGVkdWxlVGFzayh3b3JrZmxvdywgc2NoZWR1bGUpKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIC8vIDMuIOq4sOyhtOqzvCDri6Trpbgg6rKD7J2EIGRpZmbsuZwg64uk7J2MLCDsgq3soJwg7ZuEIOyerOuTseuhnVxuICAgIGF3YWl0IFByb21pc2UuYWxsU2V0dGxlZChcbiAgICAgIEFycmF5LmZyb20od29ya2Zsb3dNYXAuZW50cmllcygpKVxuICAgICAgICAuZmlsdGVyKChba2V5XSkgPT4gdGhpcy4jd29ya2Zsb3dzTWFwLmhhcyhrZXkpKVxuICAgICAgICAubWFwPFtzdHJpbmcsIFtXb3JrZmxvd01ldGFkYXRhW10sIFdvcmtmbG93TWV0YWRhdGFbXV1dPigoW2tleSwgbmV3V29ya2Zsb3dzXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHByZXZpb3VzV29ya2Zsb3dzID0gdGhpcy4jd29ya2Zsb3dzTWFwLmdldChrZXkpO1xuICAgICAgICAgIGFzc2VydChwcmV2aW91c1dvcmtmbG93cywgXCJwcmV2aW91cyB3b3JrZmxvd3Mgbm90IGZvdW5kXCIpO1xuICAgICAgICAgIHJldHVybiBba2V5LCBbcHJldmlvdXNXb3JrZmxvd3MsIG5ld1dvcmtmbG93c11dO1xuICAgICAgICB9KVxuICAgICAgICAubWFwKGFzeW5jIChbXywgW3ByZXZpb3VzV29ya2Zsb3dzLCBuZXdXb3JrZmxvd3NdXSkgPT4ge1xuICAgICAgICAgIC8vIOq4sOyhtCDqsoPrk6TsnYQg7IKt7KCc67aA7YSwIO2VtOyVvO2VqC5cbiAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQoXG4gICAgICAgICAgICBwcmV2aW91c1dvcmtmbG93c1xuICAgICAgICAgICAgICAuZmlsdGVyKChwcmV2SXRlbSkgPT4gIW5ld1dvcmtmbG93cy5zb21lKChuZXdJdGVtKSA9PiBuZXdJdGVtLmlkID09PSBwcmV2SXRlbS5pZCkpXG4gICAgICAgICAgICAgIC5tYXAoKHByZXZJdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsU2V0dGxlZChbXG4gICAgICAgICAgICAgICAgICAuLi5wcmV2SXRlbS5zY2hlZHVsZXMubWFwKChzY2hlZHVsZSkgPT4gdGhpcy51bnNjaGVkdWxlVGFzayhzY2hlZHVsZS5uYW1lKSksXG4gICAgICAgICAgICAgICAgICB0aGlzLnVucmVnaXN0ZXJXb3JrZmxvdyhwcmV2SXRlbSksXG4gICAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICAvLyDsg4jroZwg7LaU6rCA65CcIOqyg+uTpOydhCDrk7HroZ1cbiAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQoXG4gICAgICAgICAgICBuZXdXb3JrZmxvd3NcbiAgICAgICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgICAgICAobmV3SXRlbSkgPT4gIXByZXZpb3VzV29ya2Zsb3dzLnNvbWUoKHByZXZJdGVtKSA9PiBwcmV2SXRlbS5pZCA9PT0gbmV3SXRlbS5pZCksXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgLm1hcChhc3luYyAobmV3SXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJXb3JrZmxvdyh7XG4gICAgICAgICAgICAgICAgICBpZDogbmV3SXRlbS5pZCxcbiAgICAgICAgICAgICAgICAgIG5hbWU6IG5ld0l0ZW0ubmFtZSxcbiAgICAgICAgICAgICAgICAgIHZlcnNpb246IG5ld0l0ZW0udmVyc2lvbiA/PyBudWxsLFxuICAgICAgICAgICAgICAgICAgc2NoZW1hOiBuZXdJdGVtLnNjaGVtYSxcbiAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uOiBuZXdJdGVtLmZuLFxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsU2V0dGxlZChcbiAgICAgICAgICAgICAgICAgIG5ld0l0ZW0uc2NoZWR1bGVzLm1hcCgoc2NoZWR1bGUpID0+IHRoaXMuc2NoZWR1bGVUYXNrKG5ld0l0ZW0sIHNjaGVkdWxlKSksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSksXG4gICAgKTtcblxuICAgIHRoaXMuI3dvcmtmbG93c01hcCA9IHdvcmtmbG93TWFwO1xuICB9XG5cbiAgLy8g7JuM7YGs7ZSM66Gc7Jqw66W8IOyLpO2WiVxuICBydW48SW5wdXQsIE91dHB1dCwgVFNjaGVtYSBleHRlbmRzIFN0YW5kYXJkU2NoZW1hVjEgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ+KFxuICAgIG9wdGlvbnM6IE9taXQ8V29ya2Zsb3dDcmVhdGVPcHRpb25zPElucHV0LCBPdXRwdXQsIFRTY2hlbWE+LCBcImZ1bmN0aW9uXCIgfCBcInNjaGVtYVwiIHwgXCJpZFwiPixcbiAgICBpbnB1dDogU2NoZW1hSW5wdXQ8VFNjaGVtYSwgSW5wdXQ+LFxuICApOiBQcm9taXNlPFdvcmtmbG93UnVuSGFuZGxlPE91dHB1dD4+IHtcbiAgICByZXR1cm4gdGhpcy4jb3cucnVuV29ya2Zsb3coXG4gICAgICB7XG4gICAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSxcbiAgICAgICAgdmVyc2lvbjogb3B0aW9ucy52ZXJzaW9uID8/IHVuZGVmaW5lZCxcbiAgICAgIH0sXG4gICAgICBpbnB1dCxcbiAgICApO1xuICB9XG5cbiAgLy8gY3JvbiB0YXNr66W8IOuTseuhnVxuICBhc3luYyBzY2hlZHVsZVRhc2soXG4gICAgd29ya2Zsb3c6IFBpY2s8V29ya2Zsb3dNZXRhZGF0YSwgXCJpZFwiIHwgXCJuYW1lXCIgfCBcInZlcnNpb25cIj4sXG4gICAgc2NoZWR1bGU6IFdvcmtmbG93TWV0YWRhdGFbXCJzY2hlZHVsZXNcIl1bbnVtYmVyXSxcbiAgKSB7XG4gICAgY29uc3QgdGFzayA9IGNyb25TY2hlZHVsZShcbiAgICAgIHNjaGVkdWxlLmV4cHJlc3Npb24sXG4gICAgICAoYXN5bmMgKFxuICAgICAgICB7IG5hbWUsIHZlcnNpb24gfTogUGljazxXb3JrZmxvd01ldGFkYXRhLCBcIm5hbWVcIiB8IFwidmVyc2lvblwiPixcbiAgICAgICAgeyBpbnB1dCB9OiBXb3JrZmxvd01ldGFkYXRhW1wic2NoZWR1bGVzXCJdW251bWJlcl0sXG4gICAgICApID0+IHtcbiAgICAgICAgY29uc3QgaW5wdXREYXRhID0gYXdhaXQgKHR5cGVvZiBpbnB1dCA9PT0gXCJmdW5jdGlvblwiXG4gICAgICAgICAgPyBQcm9taXNlLnJlc29sdmUoaW5wdXQoKSlcbiAgICAgICAgICA6IFByb21pc2UucmVzb2x2ZShpbnB1dCkpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnJ1bih7IG5hbWUsIHZlcnNpb246IHZlcnNpb24gPz8gbnVsbCB9LCBpbnB1dERhdGEpO1xuICAgICAgfSkuYmluZCh0aGlzLCB3b3JrZmxvdywgc2NoZWR1bGUpLFxuICAgICAge1xuICAgICAgICBuYW1lOiBzY2hlZHVsZS5uYW1lLFxuICAgICAgICB0aW1lem9uZTogU29uYW11LmNvbmZpZy5hcGkudGltZXpvbmUsXG4gICAgICAgIG5vT3ZlcmxhcDogZmFsc2UsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICB0aGlzLiNzY2hlZHVsZWRUYXNrcy5zZXQoc2NoZWR1bGUubmFtZSwge1xuICAgICAgdGFzayxcbiAgICAgIGlucHV0Rm46IHNjaGVkdWxlLmlucHV0LFxuICAgICAgd29ya2Zsb3dJZDogd29ya2Zsb3cuaWQsXG4gICAgfSk7XG4gICAgYXdhaXQgdGFzay5zdGFydCgpO1xuICB9XG5cbiAgLy8gY3JvbiB0YXNr66W8IOykkeyngFxuICBhc3luYyB1bnNjaGVkdWxlVGFzayhuYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCB0YXNrSXRlbSA9IHRoaXMuI3NjaGVkdWxlZFRhc2tzLmdldChuYW1lKTtcbiAgICBpZiAoIXRhc2tJdGVtKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFwic2NoZWR1bGVkIHRhc2sgbm90IGZvdW5kXCIsIG5hbWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuI3NjaGVkdWxlZFRhc2tzLmRlbGV0ZShuYW1lKTtcbiAgICBhd2FpdCB0YXNrSXRlbS50YXNrLnN0b3AoKTtcbiAgICBhd2FpdCB0YXNrSXRlbS50YXNrLmRlc3Ryb3koKTtcbiAgfVxuXG4gIC8vIOybjO2BrO2UjOuhnOyasOulvCDrk7HroZ0sIOq0gOugqOuQnCDsiqTsvIDspITsnYAg67OE64+E66GcIOuTseuhne2VtOyVvCDtlaguXG4gIHJlZ2lzdGVyV29ya2Zsb3c8SW5wdXQsIE91dHB1dCwgVFNjaGVtYSBleHRlbmRzIFN0YW5kYXJkU2NoZW1hVjEgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ+KFxuICAgIG9wdGlvbnM6IFdvcmtmbG93Q3JlYXRlT3B0aW9uczxJbnB1dCwgT3V0cHV0LCBUU2NoZW1hPixcbiAgKTogUnVubmFibGVXb3JrZmxvdzxTY2hlbWFPdXRwdXQ8VFNjaGVtYSwgSW5wdXQ+LCBPdXRwdXQsIFNjaGVtYUlucHV0PFRTY2hlbWEsIElucHV0Pj4ge1xuICAgIGNvbnN0IGZuID0gYXN5bmMgKFxuICAgICAgcGFyYW1zOiBSZWFkb25seTx7XG4gICAgICAgIGlucHV0OiBTY2hlbWFPdXRwdXQ8VFNjaGVtYSwgSW5wdXQ+O1xuICAgICAgICBzdGVwOiBTdGVwQXBpO1xuICAgICAgICB2ZXJzaW9uOiBzdHJpbmcgfCBudWxsO1xuICAgICAgfT4sXG4gICAgKSA9PiB7XG4gICAgICBjb25zdCBiYXNlQ29udGV4dCA9IHtcbiAgICAgICAgcmVxdWVzdDogbnVsbCxcbiAgICAgICAgcmVwbHk6IG51bGwsXG4gICAgICAgIGhlYWRlcnM6IHt9LFxuICAgICAgICBjcmVhdGVTU0U6IChzY2hlbWE6IFpvZE9iamVjdCkgPT4gY3JlYXRlTW9ja1NTRUZhY3Rvcnkoc2NoZW1hKSxcbiAgICAgICAgbmFpdGVTdG9yZTogTmFpdGUuY3JlYXRlU3RvcmUoKSxcbiAgICAgICAgdXNlcjogbnVsbCxcbiAgICAgICAgcGFzc3BvcnQ6IHtcbiAgICAgICAgICBsb2dpbjogYXN5bmMgKCkgPT4ge30sXG4gICAgICAgICAgbG9nb3V0OiAoKSA9PiB7fSxcbiAgICAgICAgfSxcbiAgICAgIH0gYXMgdW5rbm93biBhcyBDb250ZXh0O1xuXG4gICAgICBjb25zdCBjb250ZXh0UHJvdmlkZXIgPSBTb25hbXUuY29uZmlnLnRhc2tzPy5jb250ZXh0UHJvdmlkZXI7XG4gICAgICBjb25zdCBjb250ZXh0OiBDb250ZXh0ID0gY29udGV4dFByb3ZpZGVyXG4gICAgICAgID8gYXdhaXQgUHJvbWlzZS5yZXNvbHZlKGNvbnRleHRQcm92aWRlcihiYXNlQ29udGV4dCkpXG4gICAgICAgIDogYmFzZUNvbnRleHQ7XG5cbiAgICAgIGNvbnN0IHN0ZXAgPSBuZXcgU3RlcFdyYXBwZXIocGFyYW1zLnN0ZXApO1xuICAgICAgcmV0dXJuIFNvbmFtdS5hc3luY0xvY2FsU3RvcmFnZS5ydW4oeyBjb250ZXh0IH0sICgpID0+XG4gICAgICAgIG9wdGlvbnMuZnVuY3Rpb24oe1xuICAgICAgICAgIGlucHV0OiBwYXJhbXMuaW5wdXQsXG4gICAgICAgICAgc3RlcCxcbiAgICAgICAgICB2ZXJzaW9uOiBwYXJhbXMudmVyc2lvbixcbiAgICAgICAgICBsb2dnZXI6IGdldExvZ2dlcihjb252ZXJ0RG9tYWluVG9DYXRlZ29yeShvcHRpb25zLm5hbWUsIFwid29ya2Zsb3dcIikpLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfTtcblxuICAgIGNvbnN0IHdvcmtmbG93ID0gdGhpcy4jb3cuZGVmaW5lV29ya2Zsb3coXG4gICAgICB7XG4gICAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSxcbiAgICAgICAgdmVyc2lvbjogb3B0aW9ucy52ZXJzaW9uID8/IHVuZGVmaW5lZCxcbiAgICAgICAgc2NoZW1hOiBvcHRpb25zLnNjaGVtYSxcbiAgICAgIH0sXG4gICAgICBmbixcbiAgICApO1xuICAgIHJldHVybiB3b3JrZmxvdztcbiAgfVxuXG4gIC8vIOybjO2BrO2UjOuhnOyasOulvCDrk7HroZ0g7ZW07KCcLCDqtIDroKjrkJwg7Iqk7LyA7KSE7J2AIOuzhOuPhOuhnCDtlbTsoJztlbTslbwg7ZWoLlxuICBhc3luYyB1bnJlZ2lzdGVyV29ya2Zsb3cod29ya2Zsb3c6IFBpY2s8V29ya2Zsb3dNZXRhZGF0YSwgXCJuYW1lXCIgfCBcInZlcnNpb25cIiB8IFwiaWRcIj4pIHtcbiAgICB0aGlzLiNvdy51bnJlZ2lzdGVyV29ya2Zsb3cod29ya2Zsb3cubmFtZSwgd29ya2Zsb3cudmVyc2lvbiA/PyBudWxsKTtcbiAgfVxuXG4gIC8vIFdvcmtlcuulvCDshKTsoJUg7ZuEIOyLnOyekVxuICBzZXR1cFdvcmtlcihvcHRpb25zOiBXb3JrZmxvd09wdGlvbnMpIHtcbiAgICB0aGlzLiN3b3JrZXIgPSB0aGlzLiNvdy5uZXdXb3JrZXIob3B0aW9ucyk7XG4gIH1cblxuICAvLyBXb3JrZXLrpbwg7LSI6riw7ZmUXG4gIGFzeW5jIHN0YXJ0V29ya2VyKCkge1xuICAgIGlmICghdGhpcy4jd29ya2VyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgYXdhaXQgdGhpcy4jYmFja2VuZC5pbml0aWFsaXplKCk7XG4gICAgYXdhaXQgdGhpcy4jd29ya2VyPy5zdGFydCgpO1xuICB9XG5cbiAgLy8gV29ya2Vy66W8IOykkeyngFxuICBhc3luYyBzdG9wV29ya2VyKCkge1xuICAgIGF3YWl0IHRoaXMuI3dvcmtlcj8uc3RvcCgpO1xuICB9XG5cbiAgLy8gY3JvbiB0YXNr65Ok7J2EIOuqqOuRkCDspJHsp4BcbiAgYXN5bmMgc3RvcFNjaGVkdWxlcygpIHtcbiAgICBhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQoXG4gICAgICBBcnJheS5mcm9tKHRoaXMuI3NjaGVkdWxlZFRhc2tzLnZhbHVlcygpKS5tYXAoKHsgdGFzayB9KSA9PiBQcm9taXNlLnJlc29sdmUodGFzay5zdG9wKCkpKSxcbiAgICApO1xuICB9XG5cbiAgLy8gY3JvbiB0YXNr65Ok7J2EIOuqqOuRkCDsoJXrpqxcbiAgYXN5bmMgZGVzdHJveVNjaGVkdWxlcygpIHtcbiAgICBhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQoXG4gICAgICBBcnJheS5mcm9tKHRoaXMuI3NjaGVkdWxlZFRhc2tzLnZhbHVlcygpKS5tYXAoKHsgdGFzayB9KSA9PiBQcm9taXNlLnJlc29sdmUodGFzay5kZXN0cm95KCkpKSxcbiAgICApO1xuICAgIHRoaXMuI3NjaGVkdWxlZFRhc2tzLmNsZWFyKCk7XG4gIH1cblxuICBhc3luYyBkZXN0cm95KCkge1xuICAgIGF3YWl0IHRoaXMuc3RvcFNjaGVkdWxlcygpO1xuICAgIGF3YWl0IHRoaXMuc3RvcFdvcmtlcigpO1xuICAgIGF3YWl0IHRoaXMuZGVzdHJveVNjaGVkdWxlcygpO1xuICAgIGF3YWl0IHRoaXMuI2JhY2tlbmQuc3RvcCgpO1xuICB9XG5cbiAgW1N5bWJvbC5hc3luY0Rpc3Bvc2VdKCkge1xuICAgIHJldHVybiB0aGlzLmRlc3Ryb3koKTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbImdldExvZ2dlciIsIkJhY2tlbmRQb3N0Z3JlcyIsIk9wZW5Xb3JrZmxvdyIsImFzc2VydCIsInNjaGVkdWxlIiwiY3JvblNjaGVkdWxlIiwiU29uYW11IiwiY29udmVydERvbWFpblRvQ2F0ZWdvcnkiLCJOYWl0ZSIsImNyZWF0ZU1vY2tTU0VGYWN0b3J5IiwiU3RlcFdyYXBwZXIiLCJXb3JrZmxvd01hbmFnZXIiLCJkYkNvbmYiLCJydW5NaWdyYXRpb25zIiwiYmFja2VuZCIsIk1hcCIsInN5bmNocm9uaXplIiwid29ya2Zsb3dNYXAiLCJQcm9taXNlIiwiYWxsU2V0dGxlZCIsIkFycmF5IiwiZnJvbSIsImVudHJpZXMiLCJmaWx0ZXIiLCJrZXkiLCJoYXMiLCJmbGF0TWFwIiwiXyIsIndvcmtmbG93cyIsIm1hcCIsIndvcmtmbG93Iiwic2NoZWR1bGVzIiwidW5zY2hlZHVsZVRhc2siLCJuYW1lIiwidW5yZWdpc3RlcldvcmtmbG93IiwicmVnaXN0ZXJXb3JrZmxvdyIsImlkIiwidmVyc2lvbiIsInNjaGVtYSIsImZ1bmN0aW9uIiwiZm4iLCJzY2hlZHVsZVRhc2siLCJuZXdXb3JrZmxvd3MiLCJwcmV2aW91c1dvcmtmbG93cyIsImdldCIsInByZXZJdGVtIiwic29tZSIsIm5ld0l0ZW0iLCJydW4iLCJvcHRpb25zIiwiaW5wdXQiLCJydW5Xb3JrZmxvdyIsInVuZGVmaW5lZCIsInRhc2siLCJleHByZXNzaW9uIiwiaW5wdXREYXRhIiwicmVzb2x2ZSIsImJpbmQiLCJ0aW1lem9uZSIsImNvbmZpZyIsImFwaSIsIm5vT3ZlcmxhcCIsInNldCIsImlucHV0Rm4iLCJ3b3JrZmxvd0lkIiwic3RhcnQiLCJ0YXNrSXRlbSIsImNvbnNvbGUiLCJlcnJvciIsImRlbGV0ZSIsInN0b3AiLCJkZXN0cm95IiwicGFyYW1zIiwiYmFzZUNvbnRleHQiLCJyZXF1ZXN0IiwicmVwbHkiLCJoZWFkZXJzIiwiY3JlYXRlU1NFIiwibmFpdGVTdG9yZSIsImNyZWF0ZVN0b3JlIiwidXNlciIsInBhc3Nwb3J0IiwibG9naW4iLCJsb2dvdXQiLCJjb250ZXh0UHJvdmlkZXIiLCJ0YXNrcyIsImNvbnRleHQiLCJzdGVwIiwiYXN5bmNMb2NhbFN0b3JhZ2UiLCJsb2dnZXIiLCJkZWZpbmVXb3JrZmxvdyIsInNldHVwV29ya2VyIiwibmV3V29ya2VyIiwic3RhcnRXb3JrZXIiLCJpbml0aWFsaXplIiwic3RvcFdvcmtlciIsInN0b3BTY2hlZHVsZXMiLCJ2YWx1ZXMiLCJkZXN0cm95U2NoZWR1bGVzIiwiY2xlYXIiLCJTeW1ib2wiLCJhc3luY0Rpc3Bvc2UiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFNBQVMsUUFBcUIsbUJBQW1CO0FBQzFELFNBQVNDLGVBQWUsRUFBRUMsWUFBWSxRQUFxQixvQkFBb0I7QUFVL0UsT0FBT0MsWUFBWSxTQUFTO0FBRTVCLFNBQVNDLFlBQVlDLFlBQVksUUFBNEIsWUFBWTtBQUd6RSxTQUFTQyxNQUFNLFFBQVEsbUJBQWdCO0FBQ3ZDLFNBQVNDLHVCQUF1QixR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
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { TemplateOptions } from "../../types/types";
|
|
2
|
+
import { Template } from "../template";
|
|
3
|
+
export declare class Template__entry_server extends Template {
|
|
4
|
+
constructor();
|
|
5
|
+
getTargetAndPath(): {
|
|
6
|
+
target: string;
|
|
7
|
+
path: string;
|
|
8
|
+
};
|
|
9
|
+
render({}: TemplateOptions["entry_server"]): {
|
|
10
|
+
body: string;
|
|
11
|
+
importKeys: never[];
|
|
12
|
+
customHeaders: never[];
|
|
13
|
+
target: string;
|
|
14
|
+
path: string;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=entry-server.template.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry-server.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/entry-server.template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,sBAAuB,SAAQ,QAAQ;;IAKlD,gBAAgB;;;;IAOhB,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,cAAc,CAAC;;;;;;;CAiE3C"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { Template } from "../template.js";
|
|
2
|
+
export class Template__entry_server extends Template {
|
|
3
|
+
constructor(){
|
|
4
|
+
super("entry_server");
|
|
5
|
+
}
|
|
6
|
+
getTargetAndPath() {
|
|
7
|
+
return {
|
|
8
|
+
target: "web/src",
|
|
9
|
+
path: `entry-server.generated.tsx`
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
render({}) {
|
|
13
|
+
const body = `
|
|
14
|
+
import { QueryClient, dehydrate } from '@tanstack/react-query';
|
|
15
|
+
import { createMemoryHistory, createRouter, RouterProvider } from '@tanstack/react-router';
|
|
16
|
+
import { renderToString } from 'react-dom/server';
|
|
17
|
+
import { routeTree } from './routeTree.gen';
|
|
18
|
+
import { Suspense } from "react";
|
|
19
|
+
|
|
20
|
+
export type PreloadedData = {
|
|
21
|
+
queryKey: any[];
|
|
22
|
+
data: any;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export async function render(url: string, preloadedData: PreloadedData[] = []) {
|
|
26
|
+
// QueryClient 생성
|
|
27
|
+
const queryClient = new QueryClient({
|
|
28
|
+
defaultOptions: {
|
|
29
|
+
queries: {
|
|
30
|
+
staleTime: 5000,
|
|
31
|
+
retry: false,
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
// Preloaded 데이터를 queryClient에 직접 주입
|
|
37
|
+
for (const { queryKey, data } of preloadedData) {
|
|
38
|
+
queryClient.setQueryData(queryKey, data);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Dehydrate
|
|
42
|
+
const dehydratedState = dehydrate(queryClient);
|
|
43
|
+
|
|
44
|
+
// SSR용 메모리 히스토리 생성
|
|
45
|
+
const memoryHistory = createMemoryHistory({
|
|
46
|
+
initialEntries: [url],
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
// Router 생성 (SSR 모드)
|
|
50
|
+
const router = createRouter({
|
|
51
|
+
routeTree,
|
|
52
|
+
context: { queryClient },
|
|
53
|
+
history: memoryHistory,
|
|
54
|
+
defaultPreload: 'intent',
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
// 라우터 초기화: SSR에서 반드시 await router.load() 호출 필요
|
|
58
|
+
await router.load();
|
|
59
|
+
|
|
60
|
+
// RouterProvider만 렌더링 (Suspense로 래핑 - hydration mismatch 방지)
|
|
61
|
+
const appHtml = renderToString(<Suspense fallback={null}><RouterProvider router={router} /></Suspense>);
|
|
62
|
+
|
|
63
|
+
return {
|
|
64
|
+
html: appHtml,
|
|
65
|
+
dehydratedState,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
`.trim();
|
|
69
|
+
return {
|
|
70
|
+
...this.getTargetAndPath(),
|
|
71
|
+
body,
|
|
72
|
+
importKeys: [],
|
|
73
|
+
customHeaders: []
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvZW50cnktc2VydmVyLnRlbXBsYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVGVtcGxhdGVPcHRpb25zIH0gZnJvbSBcIi4uLy4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gXCIuLi90ZW1wbGF0ZVwiO1xuXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVfX2VudHJ5X3NlcnZlciBleHRlbmRzIFRlbXBsYXRlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXCJlbnRyeV9zZXJ2ZXJcIik7XG4gIH1cblxuICBnZXRUYXJnZXRBbmRQYXRoKCkge1xuICAgIHJldHVybiB7XG4gICAgICB0YXJnZXQ6IFwid2ViL3NyY1wiLFxuICAgICAgcGF0aDogYGVudHJ5LXNlcnZlci5nZW5lcmF0ZWQudHN4YCxcbiAgICB9O1xuICB9XG5cbiAgcmVuZGVyKHt9OiBUZW1wbGF0ZU9wdGlvbnNbXCJlbnRyeV9zZXJ2ZXJcIl0pIHtcbiAgICBjb25zdCBib2R5ID0gYFxuaW1wb3J0IHsgUXVlcnlDbGllbnQsIGRlaHlkcmF0ZSB9IGZyb20gJ0B0YW5zdGFjay9yZWFjdC1xdWVyeSc7XG5pbXBvcnQgeyBjcmVhdGVNZW1vcnlIaXN0b3J5LCBjcmVhdGVSb3V0ZXIsIFJvdXRlclByb3ZpZGVyIH0gZnJvbSAnQHRhbnN0YWNrL3JlYWN0LXJvdXRlcic7XG5pbXBvcnQgeyByZW5kZXJUb1N0cmluZyB9IGZyb20gJ3JlYWN0LWRvbS9zZXJ2ZXInO1xuaW1wb3J0IHsgcm91dGVUcmVlIH0gZnJvbSAnLi9yb3V0ZVRyZWUuZ2VuJztcbmltcG9ydCB7IFN1c3BlbnNlIH0gZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCB0eXBlIFByZWxvYWRlZERhdGEgPSB7XG4gIHF1ZXJ5S2V5OiBhbnlbXTtcbiAgZGF0YTogYW55O1xufTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlbmRlcih1cmw6IHN0cmluZywgcHJlbG9hZGVkRGF0YTogUHJlbG9hZGVkRGF0YVtdID0gW10pIHtcbiAgLy8gUXVlcnlDbGllbnQg7IOd7ISxXG4gIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gbmV3IFF1ZXJ5Q2xpZW50KHtcbiAgICBkZWZhdWx0T3B0aW9uczoge1xuICAgICAgcXVlcmllczoge1xuICAgICAgICBzdGFsZVRpbWU6IDUwMDAsXG4gICAgICAgIHJldHJ5OiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSk7XG5cbiAgLy8gUHJlbG9hZGVkIOuNsOydtO2EsOulvCBxdWVyeUNsaWVudOyXkCDsp4HsoJEg7KO87J6FXG4gIGZvciAoY29uc3QgeyBxdWVyeUtleSwgZGF0YSB9IG9mIHByZWxvYWRlZERhdGEpIHtcbiAgICBxdWVyeUNsaWVudC5zZXRRdWVyeURhdGEocXVlcnlLZXksIGRhdGEpO1xuICB9XG5cbiAgLy8gRGVoeWRyYXRlXG4gIGNvbnN0IGRlaHlkcmF0ZWRTdGF0ZSA9IGRlaHlkcmF0ZShxdWVyeUNsaWVudCk7XG5cbiAgLy8gU1NS7JqpIOuplOuqqOumrCDtnojsiqTthqDrpqwg7IOd7ISxXG4gIGNvbnN0IG1lbW9yeUhpc3RvcnkgPSBjcmVhdGVNZW1vcnlIaXN0b3J5KHtcbiAgICBpbml0aWFsRW50cmllczogW3VybF0sXG4gIH0pO1xuXG4gIC8vIFJvdXRlciDsg53shLEgKFNTUiDrqqjrk5wpXG4gIGNvbnN0IHJvdXRlciA9IGNyZWF0ZVJvdXRlcih7XG4gICAgcm91dGVUcmVlLFxuICAgIGNvbnRleHQ6IHsgcXVlcnlDbGllbnQgfSxcbiAgICBoaXN0b3J5OiBtZW1vcnlIaXN0b3J5LFxuICAgIGRlZmF1bHRQcmVsb2FkOiAnaW50ZW50JyxcbiAgfSk7XG5cbiAgLy8g65287Jqw7YSwIOy0iOq4sO2ZlDogU1NS7JeQ7IScIOuwmOuTnOyLnCBhd2FpdCByb3V0ZXIubG9hZCgpIO2YuOy2nCDtlYTsmpRcbiAgYXdhaXQgcm91dGVyLmxvYWQoKTtcblxuICAvLyBSb3V0ZXJQcm92aWRlcuunjCDroIzrjZTrp4EgKFN1c3BlbnNl66GcIOuemO2VkSAtIGh5ZHJhdGlvbiBtaXNtYXRjaCDrsKnsp4ApXG4gIGNvbnN0IGFwcEh0bWwgPSByZW5kZXJUb1N0cmluZyg8U3VzcGVuc2UgZmFsbGJhY2s9e251bGx9PjxSb3V0ZXJQcm92aWRlciByb3V0ZXI9e3JvdXRlcn0gLz48L1N1c3BlbnNlPik7XG5cbiAgcmV0dXJuIHtcbiAgICBodG1sOiBhcHBIdG1sLFxuICAgIGRlaHlkcmF0ZWRTdGF0ZSxcbiAgfTtcbn1cbiAgICBgLnRyaW0oKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLmdldFRhcmdldEFuZFBhdGgoKSxcbiAgICAgIGJvZHksXG4gICAgICBpbXBvcnRLZXlzOiBbXSxcbiAgICAgIGN1c3RvbUhlYWRlcnM6IFtdLFxuICAgIH07XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJUZW1wbGF0ZSIsIlRlbXBsYXRlX19lbnRyeV9zZXJ2ZXIiLCJnZXRUYXJnZXRBbmRQYXRoIiwidGFyZ2V0IiwicGF0aCIsInJlbmRlciIsImJvZHkiLCJ0cmltIiwiaW1wb3J0S2V5cyIsImN1c3RvbUhlYWRlcnMiXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLFFBQVEsUUFBUSxpQkFBYztBQUV2QyxPQUFPLE1BQU1DLCtCQUErQkQ7SUFDMUMsYUFBYztRQUNaLEtBQUssQ0FBQztJQUNSO0lBRUFFLG1CQUFtQjtRQUNqQixPQUFPO1lBQ0xDLFFBQVE7WUFDUkMsTUFBTSxDQUFDLDBCQUEwQixDQUFDO1FBQ3BDO0lBQ0Y7SUFFQUMsT0FBTyxFQUFtQyxFQUFFO1FBQzFDLE1BQU1DLE9BQU8sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQXVEZCxDQUFDLENBQUNDLElBQUk7UUFFTixPQUFPO1lBQ0wsR0FBRyxJQUFJLENBQUNMLGdCQUFnQixFQUFFO1lBQzFCSTtZQUNBRSxZQUFZLEVBQUU7WUFDZEMsZUFBZSxFQUFFO1FBQ25CO0lBQ0Y7QUFDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/model.template.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,qBAAa,eAAgB,SAAQ,QAAQ;;IAK3C,gBAAgB,CAAC,KAAK,EAAE,iBAAiB;;;;IASnC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,eAAe,CAAC,OAAO,CAAC;;;;;;
|
|
1
|
+
{"version":3,"file":"model.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/model.template.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,qBAAa,eAAgB,SAAQ,QAAQ;;IAK3C,gBAAgB,CAAC,KAAK,EAAE,iBAAiB;;;;IASnC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,eAAe,CAAC,OAAO,CAAC;;;;;;CA+KpD"}
|
|
@@ -53,7 +53,9 @@ class ${entityId}ModelClass extends BaseModelClass<
|
|
|
53
53
|
typeof ${names.camel}SubsetQueries,
|
|
54
54
|
typeof ${names.camel}LoaderQueries
|
|
55
55
|
> {
|
|
56
|
-
|
|
56
|
+
constructor() {
|
|
57
|
+
super("${entityId}", ${names.camel}SubsetQueries, ${names.camel}LoaderQueries);
|
|
58
|
+
}
|
|
57
59
|
|
|
58
60
|
@api({ httpMethod: "GET", clients: ["axios", "tanstack-query"], resourceName: "${entityId}" })
|
|
59
61
|
async findById<T extends ${entityId}SubsetKey>(
|
|
@@ -176,11 +178,11 @@ class ${entityId}ModelClass extends BaseModelClass<
|
|
|
176
178
|
}
|
|
177
179
|
}
|
|
178
180
|
|
|
179
|
-
export const ${entityId}Model = new ${entityId}ModelClass(
|
|
181
|
+
export const ${entityId}Model = new ${entityId}ModelClass();
|
|
180
182
|
`.trim(),
|
|
181
183
|
importKeys: []
|
|
182
184
|
};
|
|
183
185
|
}
|
|
184
186
|
}
|
|
185
187
|
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvbW9kZWwudGVtcGxhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeiBmcm9tIFwiem9kXCI7XG5pbXBvcnQgeyBTb25hbXUgfSBmcm9tIFwiLi4vLi4vYXBpXCI7XG5pbXBvcnQgeyBFbnRpdHlNYW5hZ2VyLCB0eXBlIEVudGl0eU5hbWVzUmVjb3JkIH0gZnJvbSBcIi4uLy4uL2VudGl0eS9lbnRpdHktbWFuYWdlclwiO1xuaW1wb3J0IHsgTmFpdGUgfSBmcm9tIFwiLi4vLi4vbmFpdGUvbmFpdGVcIjtcbmltcG9ydCB0eXBlIHsgVGVtcGxhdGVPcHRpb25zIH0gZnJvbSBcIi4uLy4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gXCIuLi90ZW1wbGF0ZVwiO1xuaW1wb3J0IHsgZ2V0Wm9kVHlwZUJ5SWQsIHpvZFR5cGVUb1JlbmRlcmluZ05vZGUgfSBmcm9tIFwiLi4vem9kLWNvbnZlcnRlclwiO1xuaW1wb3J0IHsgVGVtcGxhdGVfX3ZpZXdfbGlzdCB9IGZyb20gXCIuL3ZpZXdfbGlzdC50ZW1wbGF0ZVwiO1xuZXhwb3J0IGNsYXNzIFRlbXBsYXRlX19tb2RlbCBleHRlbmRzIFRlbXBsYXRlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXCJtb2RlbFwiKTtcbiAgfVxuXG4gIGdldFRhcmdldEFuZFBhdGgobmFtZXM6IEVudGl0eU5hbWVzUmVjb3JkKSB7XG4gICAgY29uc3QgeyBkaXIgfSA9IFNvbmFtdS5jb25maWcuYXBpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRhcmdldDogYCR7ZGlyfS9zcmMvYXBwbGljYXRpb25gLFxuICAgICAgcGF0aDogYCR7bmFtZXMuZnN9LyR7bmFtZXMuZnN9Lm1vZGVsLnRzYCxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgcmVuZGVyKHsgZW50aXR5SWQgfTogVGVtcGxhdGVPcHRpb25zW1wibW9kZWxcIl0pIHtcbiAgICBOYWl0ZS50KFwicmVuZGVyXCIsIHsgZW50aXR5SWQgfSk7XG5cbiAgICBjb25zdCBsaXN0UGFyYW1zWm9kVHlwZSA9IGF3YWl0IGdldFpvZFR5cGVCeUlkKGAke2VudGl0eUlkfUxpc3RQYXJhbXNgKTtcbiAgICBjb25zdCBsaXN0UGFyYW1zTm9kZSA9IHpvZFR5cGVUb1JlbmRlcmluZ05vZGUobGlzdFBhcmFtc1pvZFR5cGUpO1xuXG4gICAgY29uc3Qgc3Vic2V0S2V5Wm9kVHlwZSA9IGF3YWl0IGdldFpvZFR5cGVCeUlkKGAke2VudGl0eUlkfVN1YnNldEtleWApO1xuICAgIGNvbnN0IHN1YnNldEtleXMgPSAoc3Vic2V0S2V5Wm9kVHlwZSBhcyB6LlpvZEVudW0pLmVudW07XG5cbiAgICBjb25zdCBuYW1lcyA9IEVudGl0eU1hbmFnZXIuZ2V0TmFtZXNGcm9tSWQoZW50aXR5SWQpO1xuICAgIGNvbnN0IGVudGl0eSA9IEVudGl0eU1hbmFnZXIuZ2V0KGVudGl0eUlkKTtcblxuICAgIGNvbnN0IHZsVHBsID0gbmV3IFRlbXBsYXRlX192aWV3X2xpc3QoKTtcbiAgICBpZiAobGlzdFBhcmFtc05vZGU/LmNoaWxkcmVuID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgbGlzdFBhcmFtc05vZGXqsIAg7JeG7Iq164uI64ukLiAke2VudGl0eUlkfWApO1xuICAgIH1cbiAgICBjb25zdCBkZWYgPSB2bFRwbC5nZXREZWZhdWx0KGxpc3RQYXJhbXNOb2RlLmNoaWxkcmVuKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLmdldFRhcmdldEFuZFBhdGgobmFtZXMpLFxuICAgICAgYm9keTogYFxuaW1wb3J0IHsgQmFzZU1vZGVsQ2xhc3MsIHR5cGUgTGlzdFJlc3VsdCwgYXNBcnJheSwgTm90Rm91bmRFeGNlcHRpb24sIEJhZFJlcXVlc3RFeGNlcHRpb24sIGFwaSwgZXhoYXVzdGl2ZSB9IGZyb20gJ3NvbmFtdSc7XG5pbXBvcnQge1xuICAke2VudGl0eUlkfVN1YnNldEtleSxcbiAgJHtlbnRpdHlJZH1TdWJzZXRNYXBwaW5nLFxufSBmcm9tIFwiLi4vc29uYW11LmdlbmVyYXRlZFwiO1xuaW1wb3J0IHtcbiAgJHtuYW1lcy5jYW1lbH1TdWJzZXRRdWVyaWVzLFxuICAke25hbWVzLmNhbWVsfUxvYWRlclF1ZXJpZXMsXG59IGZyb20gXCIuLi9zb25hbXUuZ2VuZXJhdGVkLnNzb1wiO1xuaW1wb3J0IHsgJHtlbnRpdHlJZH1MaXN0UGFyYW1zLCAke2VudGl0eUlkfVNhdmVQYXJhbXMgfSBmcm9tIFwiLi8ke25hbWVzLmZzfS50eXBlc1wiO1xuXG4vKlxuICAke2VudGl0eUlkfSBNb2RlbFxuKi9cbmNsYXNzICR7ZW50aXR5SWR9TW9kZWxDbGFzcyBleHRlbmRzIEJhc2VNb2RlbENsYXNzPFxuICAke2VudGl0eUlkfVN1YnNldEtleSxcbiAgJHtlbnRpdHlJZH1TdWJzZXRNYXBwaW5nLFxuICB0eXBlb2YgJHtuYW1lcy5jYW1lbH1TdWJzZXRRdWVyaWVzLFxuICB0eXBlb2YgJHtuYW1lcy5jYW1lbH1Mb2FkZXJRdWVyaWVzXG4+IHtcbiAgbW9kZWxOYW1lID0gXCIke2VudGl0eUlkfVwiO1xuXG4gIEBhcGkoeyBodHRwTWV0aG9kOiBcIkdFVFwiLCBjbGllbnRzOiBbXCJheGlvc1wiLCBcInRhbnN0YWNrLXF1ZXJ5XCJdLCByZXNvdXJjZU5hbWU6IFwiJHtlbnRpdHlJZH1cIiB9KVxuICBhc3luYyBmaW5kQnlJZDxUIGV4dGVuZHMgJHtlbnRpdHlJZH1TdWJzZXRLZXk+KFxuICAgIHN1YnNldDogVCxcbiAgICBpZDogbnVtYmVyXG4gICk6IFByb21pc2U8JHtlbnRpdHlJZH1TdWJzZXRNYXBwaW5nW1RdPiB7XG4gICAgY29uc3QgeyByb3dzIH0gPSBhd2FpdCB0aGlzLmZpbmRNYW55KHN1YnNldCwge1xuICAgICAgaWQsXG4gICAgICBudW06IDEsXG4gICAgICBwYWdlOiAxLFxuICAgIH0pO1xuICAgIGlmICghcm93c1swXSkge1xuICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXhjZXB0aW9uKFxcYOyhtOyerO2VmOyngCDslYrripQgJHtuYW1lcy5jYXBpdGFsfSBJRCBcXCR7aWR9XFxgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcm93c1swXTtcbiAgfVxuXG4gIGFzeW5jIGZpbmRPbmU8VCBleHRlbmRzICR7ZW50aXR5SWR9U3Vic2V0S2V5PihcbiAgICBzdWJzZXQ6IFQsXG4gICAgbGlzdFBhcmFtczogJHtlbnRpdHlJZH1MaXN0UGFyYW1zXG4gICk6IFByb21pc2U8JHtlbnRpdHlJZH1TdWJzZXRNYXBwaW5nW1RdIHwgbnVsbD4ge1xuICAgIGNvbnN0IHsgcm93cyB9ID0gYXdhaXQgdGhpcy5maW5kTWFueShzdWJzZXQsIHtcbiAgICAgIC4uLmxpc3RQYXJhbXMsXG4gICAgICBudW06IDEsXG4gICAgICBwYWdlOiAxLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJvd3NbMF0gPz8gbnVsbDtcbiAgfVxuXG4gIEBhcGkoeyBodHRwTWV0aG9kOiBcIkdFVFwiLCBjbGllbnRzOiBbXCJheGlvc1wiLCBcInRhbnN0YWNrLXF1ZXJ5XCJdLCByZXNvdXJjZU5hbWU6IFwiJHtuYW1lcy5jYXBpdGFsUGx1cmFsfVwiIH0pXG4gIGFzeW5jIGZpbmRNYW55PFQgZXh0ZW5kcyAke2VudGl0eUlkfVN1YnNldEtleSwgTFAgZXh0ZW5kcyAke2VudGl0eUlkfUxpc3RQYXJhbXM+KFxuICAgIHN1YnNldDogVCxcbiAgICByYXdQYXJhbXM/OiBMUCxcbiAgKTogUHJvbWlzZTxMaXN0UmVzdWx0PExQLCAke2VudGl0eUlkfVN1YnNldE1hcHBpbmdbVF0+PiB7XG4gICAgLy8gcGFyYW1zIHdpdGggZGVmYXVsdHNcbiAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICBudW06IDI0LFxuICAgICAgcGFnZTogMSxcbiAgICAgIHNlYXJjaDogXCIke2RlZi5zZWFyY2h9XCIgYXMgY29uc3QsXG4gICAgICBvcmRlckJ5OiBcIiR7ZGVmLm9yZGVyQnl9XCIgYXMgY29uc3QsXG4gICAgICAuLi5yYXdQYXJhbXMsXG4gICAgfSBzYXRpc2ZpZXMgJHtlbnRpdHlJZH1MaXN0UGFyYW1zO1xuXG4gICAgLy8gYnVpbGQgcXVlcmllc1xuICAgIGNvbnN0IHsgcWIsIG9uU3Vic2V0OiBfIH0gPSB0aGlzLmdldFN1YnNldFF1ZXJpZXMoc3Vic2V0KTtcbiAgICBcbiAgICAvLyBpZFxuICAgIGlmIChwYXJhbXMuaWQpIHtcbiAgICAgIHFiLndoZXJlSW4oXCIke2VudGl0eS50YWJsZX0uaWRcIiwgYXNBcnJheShwYXJhbXMuaWQpKTtcbiAgICB9XG5cbiAgICAvLyBzZWFyY2gta2V5d29yZFxuICAgIGlmIChwYXJhbXMuc2VhcmNoICYmIHBhcmFtcy5rZXl3b3JkICYmIHBhcmFtcy5rZXl3b3JkLmxlbmd0aCA+IDApIHtcbiAgICAgIGlmIChwYXJhbXMuc2VhcmNoID09PSBcImlkXCIpIHtcbiAgICAgICAgcWIud2hlcmUoXCIke2VudGl0eS50YWJsZX0uaWRcIiwgTnVtYmVyKHBhcmFtcy5rZXl3b3JkKSk7XG4gICAgICAgIC8vIH0gZWxzZSBpZiAocGFyYW1zLnNlYXJjaCA9PT0gXCJmaWVsZFwiKSB7XG4gICAgICAgIC8vICAgcWIud2hlcmUoXCIke2VudGl0eS50YWJsZX0uZmllbGRcIiwgXCJsaWtlXCIsIFxcYCVcXCR7cGFyYW1zLmtleXdvcmR9JVxcYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgQmFkUmVxdWVzdEV4Y2VwdGlvbihcXGDqtaztmITrkJjsp4Ag7JWK7J2AIOqygOyDiSDtlYTrk5wgXFwke3BhcmFtcy5zZWFyY2h9XFxgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgICBcbiAgICAvLyBvcmRlckJ5XG4gICAgaWYgKHBhcmFtcy5vcmRlckJ5KSB7XG4gICAgICAvLyBkZWZhdWx0IG9yZGVyQnlcbiAgICAgIGlmIChwYXJhbXMub3JkZXJCeSA9PT0gXCJpZC1kZXNjXCIpIHtcbiAgICAgICAgcWIub3JkZXJCeShcIiR7ZW50aXR5LnRhYmxlfS5pZFwiLCBcImRlc2NcIik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBleGhhdXN0aXZlKHBhcmFtcy5vcmRlckJ5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBlbmhhbmNlcnMgPSB0aGlzLmNyZWF0ZUVuaGFuY2Vycyh7XG4gICAgICAke09iamVjdC5rZXlzKHN1YnNldEtleXMpXG4gICAgICAgIC5tYXAoXG4gICAgICAgICAgKGtleSkgPT4gYCR7a2V5fTogKHJvdykgPT4gKHtcbiAgICAgICAgICAuLi5yb3csXG4gICAgICAgICAgLy8g7ISc67iM7IWL67OE66GcIHZpcnR1YWwg7ZWE65OcIOqzhOyCsOuhnOyngSDstpTqsIBcbiAgICAgICAgfSksYCxcbiAgICAgICAgKVxuICAgICAgICAuam9pbihcIlxcblwiKX1cbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLmV4ZWN1dGVTdWJzZXRRdWVyeSh7XG4gICAgICBzdWJzZXQsXG4gICAgICBxYixcbiAgICAgIHBhcmFtcyxcbiAgICAgIGVuaGFuY2VycyxcbiAgICAgIGRlYnVnOiBmYWxzZSxcbiAgICB9KTtcbiAgfVxuXG4gIEBhcGkoeyBodHRwTWV0aG9kOiBcIlBPU1RcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1tdXRhdGlvblwiXSB9KVxuICBhc3luYyBzYXZlKFxuICAgIHNwYTogJHtlbnRpdHlJZH1TYXZlUGFyYW1zW11cbiAgKTogUHJvbWlzZTxudW1iZXJbXT4ge1xuICAgIGNvbnN0IHdkYiA9IHRoaXMuZ2V0UHVyaShcIndcIik7XG5cbiAgICAvLyByZWdpc3RlclxuICAgIHNwYS5mb3JFYWNoKChzcCkgPT4ge1xuICAgICAgd2RiLnViUmVnaXN0ZXIoXCIke2VudGl0eS50YWJsZX1cIiwgc3ApO1xuICAgIH0pO1xuXG4gICAgLy8gdHJhbnNhY3Rpb25cbiAgICByZXR1cm4gd2RiLnRyYW5zYWN0aW9uKGFzeW5jICh0cngpID0+IHtcbiAgICAgIGNvbnN0IGlkcyA9IGF3YWl0IHRyeC51YlVwc2VydChcIiR7ZW50aXR5LnRhYmxlfVwiKTtcblxuICAgICAgcmV0dXJuIGlkcztcbiAgICB9KTtcbiAgfVxuXG4gIEBhcGkoeyBodHRwTWV0aG9kOiBcIlBPU1RcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1tdXRhdGlvblwiXSwgZ3VhcmRzOiBbIFwiYWRtaW5cIiBdIH0pXG4gIGFzeW5jIGRlbChpZHM6IG51bWJlcltdKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICBjb25zdCB3ZGIgPSB0aGlzLmdldFB1cmkoXCJ3XCIpO1xuXG4gICAgLy8gdHJhbnNhY3Rpb25cbiAgICBhd2FpdCB3ZGIudHJhbnNhY3Rpb24oYXN5bmMgKHRyeCkgPT4ge1xuICAgICAgcmV0dXJuIHRyeC50YWJsZShcIiR7ZW50aXR5LnRhYmxlfVwiKS53aGVyZUluKFwiJHtlbnRpdHkudGFibGV9LmlkXCIsIGlkcykuZGVsZXRlKCk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gaWRzLmxlbmd0aDtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgJHtlbnRpdHlJZH1Nb2RlbCA9IG5ldyAke2VudGl0eUlkfU1vZGVsQ2xhc3MoJHtuYW1lcy5jYW1lbH1TdWJzZXRRdWVyaWVzLCAke25hbWVzLmNhbWVsfUxvYWRlclF1ZXJpZXMpO1xuICAgICAgYC50cmltKCksXG4gICAgICBpbXBvcnRLZXlzOiBbXSxcbiAgICB9O1xuICB9XG59XG4iXSwibmFtZXMiOlsiU29uYW11IiwiRW50aXR5TWFuYWdlciIsIk5haXRlIiwiVGVtcGxhdGUiLCJnZXRab2RUeXBlQnlJZCIsInpvZFR5cGVUb1JlbmRlcmluZ05vZGUiLCJUZW1wbGF0ZV9fdmlld19saXN0IiwiVGVtcGxhdGVfX21vZGVsIiwiZ2V0VGFyZ2V0QW5kUGF0aCIsIm5hbWVzIiwiZGlyIiwiY29uZmlnIiwiYXBpIiwidGFyZ2V0IiwicGF0aCIsImZzIiwicmVuZGVyIiwiZW50aXR5SWQiLCJ0IiwibGlzdFBhcmFtc1pvZFR5cGUiLCJsaXN0UGFyYW1zTm9kZSIsInN1YnNldEtleVpvZFR5cGUiLCJzdWJzZXRLZXlzIiwiZW51bSIsImdldE5hbWVzRnJvbUlkIiwiZW50aXR5IiwiZ2V0IiwidmxUcGwiLCJjaGlsZHJlbiIsInVuZGVmaW5lZCIsIkVycm9yIiwiZGVmIiwiZ2V0RGVmYXVsdCIsImJvZHkiLCJjYW1lbCIsImNhcGl0YWwiLCJjYXBpdGFsUGx1cmFsIiwic2VhcmNoIiwib3JkZXJCeSIsInRhYmxlIiwiT2JqZWN0Iiwia2V5cyIsIm1hcCIsImtleSIsImpvaW4iLCJ0cmltIiwiaW1wb3J0S2V5cyJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EsTUFBTSxRQUFRLHFCQUFZO0FBQ25DLFNBQVNDLGFBQWEsUUFBZ0MsaUNBQThCO0FBQ3BGLFNBQVNDLEtBQUssUUFBUSx1QkFBb0I7QUFFMUMsU0FBU0MsUUFBUSxRQUFRLGlCQUFjO0FBQ3ZDLFNBQVNDLGNBQWMsRUFBRUMsc0JBQXNCLFFBQVEsc0JBQW1CO0FBQzFFLFNBQVNDLG1CQUFtQixRQUFRLDBCQUF1QjtBQUMzRCxPQUFPLE1BQU1DLHdCQUF3Qko7SUFDbkMsYUFBYztRQUNaLEtBQUssQ0FBQztJQUNSO0lBRUFLLGlCQUFpQkMsS0FBd0IsRUFBRTtRQUN6QyxNQUFNLEVBQUVDLEdBQUcsRUFBRSxHQUFHVixPQUFPVyxNQUFNLENBQUNDLEdBQUc7UUFFakMsT0FBTztZQUNMQyxRQUFRLEdBQUdILElBQUksZ0JBQWdCLENBQUM7WUFDaENJLE1BQU0sR0FBR0wsTUFBTU0sRUFBRSxDQUFDLENBQUMsRUFBRU4sTUFBTU0sRUFBRSxDQUFDLFNBQVMsQ0FBQztRQUMxQztJQUNGO0lBRUEsTUFBTUMsT0FBTyxFQUFFQyxRQUFRLEVBQTRCLEVBQUU7UUFDbkRmLE1BQU1nQixDQUFDLENBQUMsVUFBVTtZQUFFRDtRQUFTO1FBRTdCLE1BQU1FLG9CQUFvQixNQUFNZixlQUFlLEdBQUdhLFNBQVMsVUFBVSxDQUFDO1FBQ3RFLE1BQU1HLGlCQUFpQmYsdUJBQXVCYztRQUU5QyxNQUFNRSxtQkFBbUIsTUFBTWpCLGVBQWUs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
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvbW9kZWwudGVtcGxhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeiBmcm9tIFwiem9kXCI7XG5pbXBvcnQgeyBTb25hbXUgfSBmcm9tIFwiLi4vLi4vYXBpXCI7XG5pbXBvcnQgeyBFbnRpdHlNYW5hZ2VyLCB0eXBlIEVudGl0eU5hbWVzUmVjb3JkIH0gZnJvbSBcIi4uLy4uL2VudGl0eS9lbnRpdHktbWFuYWdlclwiO1xuaW1wb3J0IHsgTmFpdGUgfSBmcm9tIFwiLi4vLi4vbmFpdGUvbmFpdGVcIjtcbmltcG9ydCB0eXBlIHsgVGVtcGxhdGVPcHRpb25zIH0gZnJvbSBcIi4uLy4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gXCIuLi90ZW1wbGF0ZVwiO1xuaW1wb3J0IHsgZ2V0Wm9kVHlwZUJ5SWQsIHpvZFR5cGVUb1JlbmRlcmluZ05vZGUgfSBmcm9tIFwiLi4vem9kLWNvbnZlcnRlclwiO1xuaW1wb3J0IHsgVGVtcGxhdGVfX3ZpZXdfbGlzdCB9IGZyb20gXCIuL3ZpZXdfbGlzdC50ZW1wbGF0ZVwiO1xuZXhwb3J0IGNsYXNzIFRlbXBsYXRlX19tb2RlbCBleHRlbmRzIFRlbXBsYXRlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXCJtb2RlbFwiKTtcbiAgfVxuXG4gIGdldFRhcmdldEFuZFBhdGgobmFtZXM6IEVudGl0eU5hbWVzUmVjb3JkKSB7XG4gICAgY29uc3QgeyBkaXIgfSA9IFNvbmFtdS5jb25maWcuYXBpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRhcmdldDogYCR7ZGlyfS9zcmMvYXBwbGljYXRpb25gLFxuICAgICAgcGF0aDogYCR7bmFtZXMuZnN9LyR7bmFtZXMuZnN9Lm1vZGVsLnRzYCxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgcmVuZGVyKHsgZW50aXR5SWQgfTogVGVtcGxhdGVPcHRpb25zW1wibW9kZWxcIl0pIHtcbiAgICBOYWl0ZS50KFwicmVuZGVyXCIsIHsgZW50aXR5SWQgfSk7XG5cbiAgICBjb25zdCBsaXN0UGFyYW1zWm9kVHlwZSA9IGF3YWl0IGdldFpvZFR5cGVCeUlkKGAke2VudGl0eUlkfUxpc3RQYXJhbXNgKTtcbiAgICBjb25zdCBsaXN0UGFyYW1zTm9kZSA9IHpvZFR5cGVUb1JlbmRlcmluZ05vZGUobGlzdFBhcmFtc1pvZFR5cGUpO1xuXG4gICAgY29uc3Qgc3Vic2V0S2V5Wm9kVHlwZSA9IGF3YWl0IGdldFpvZFR5cGVCeUlkKGAke2VudGl0eUlkfVN1YnNldEtleWApO1xuICAgIGNvbnN0IHN1YnNldEtleXMgPSAoc3Vic2V0S2V5Wm9kVHlwZSBhcyB6LlpvZEVudW0pLmVudW07XG5cbiAgICBjb25zdCBuYW1lcyA9IEVudGl0eU1hbmFnZXIuZ2V0TmFtZXNGcm9tSWQoZW50aXR5SWQpO1xuICAgIGNvbnN0IGVudGl0eSA9IEVudGl0eU1hbmFnZXIuZ2V0KGVudGl0eUlkKTtcblxuICAgIGNvbnN0IHZsVHBsID0gbmV3IFRlbXBsYXRlX192aWV3X2xpc3QoKTtcbiAgICBpZiAobGlzdFBhcmFtc05vZGU/LmNoaWxkcmVuID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgbGlzdFBhcmFtc05vZGXqsIAg7JeG7Iq164uI64ukLiAke2VudGl0eUlkfWApO1xuICAgIH1cbiAgICBjb25zdCBkZWYgPSB2bFRwbC5nZXREZWZhdWx0KGxpc3RQYXJhbXNOb2RlLmNoaWxkcmVuKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLmdldFRhcmdldEFuZFBhdGgobmFtZXMpLFxuICAgICAgYm9keTogYFxuaW1wb3J0IHsgQmFzZU1vZGVsQ2xhc3MsIHR5cGUgTGlzdFJlc3VsdCwgYXNBcnJheSwgTm90Rm91bmRFeGNlcHRpb24sIEJhZFJlcXVlc3RFeGNlcHRpb24sIGFwaSwgZXhoYXVzdGl2ZSB9IGZyb20gJ3NvbmFtdSc7XG5pbXBvcnQge1xuICAke2VudGl0eUlkfVN1YnNldEtleSxcbiAgJHtlbnRpdHlJZH1TdWJzZXRNYXBwaW5nLFxufSBmcm9tIFwiLi4vc29uYW11LmdlbmVyYXRlZFwiO1xuaW1wb3J0IHtcbiAgJHtuYW1lcy5jYW1lbH1TdWJzZXRRdWVyaWVzLFxuICAke25hbWVzLmNhbWVsfUxvYWRlclF1ZXJpZXMsXG59IGZyb20gXCIuLi9zb25hbXUuZ2VuZXJhdGVkLnNzb1wiO1xuaW1wb3J0IHsgJHtlbnRpdHlJZH1MaXN0UGFyYW1zLCAke2VudGl0eUlkfVNhdmVQYXJhbXMgfSBmcm9tIFwiLi8ke25hbWVzLmZzfS50eXBlc1wiO1xuXG4vKlxuICAke2VudGl0eUlkfSBNb2RlbFxuKi9cbmNsYXNzICR7ZW50aXR5SWR9TW9kZWxDbGFzcyBleHRlbmRzIEJhc2VNb2RlbENsYXNzPFxuICAke2VudGl0eUlkfVN1YnNldEtleSxcbiAgJHtlbnRpdHlJZH1TdWJzZXRNYXBwaW5nLFxuICB0eXBlb2YgJHtuYW1lcy5jYW1lbH1TdWJzZXRRdWVyaWVzLFxuICB0eXBlb2YgJHtuYW1lcy5jYW1lbH1Mb2FkZXJRdWVyaWVzXG4+IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoXCIke2VudGl0eUlkfVwiLCAke25hbWVzLmNhbWVsfVN1YnNldFF1ZXJpZXMsICR7bmFtZXMuY2FtZWx9TG9hZGVyUXVlcmllcyk7XG4gIH1cblxuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJHRVRcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1xdWVyeVwiXSwgcmVzb3VyY2VOYW1lOiBcIiR7ZW50aXR5SWR9XCIgfSlcbiAgYXN5bmMgZmluZEJ5SWQ8VCBleHRlbmRzICR7ZW50aXR5SWR9U3Vic2V0S2V5PihcbiAgICBzdWJzZXQ6IFQsXG4gICAgaWQ6IG51bWJlclxuICApOiBQcm9taXNlPCR7ZW50aXR5SWR9U3Vic2V0TWFwcGluZ1tUXT4ge1xuICAgIGNvbnN0IHsgcm93cyB9ID0gYXdhaXQgdGhpcy5maW5kTWFueShzdWJzZXQsIHtcbiAgICAgIGlkLFxuICAgICAgbnVtOiAxLFxuICAgICAgcGFnZTogMSxcbiAgICB9KTtcbiAgICBpZiAoIXJvd3NbMF0pIHtcbiAgICAgIHRocm93IG5ldyBOb3RGb3VuZEV4Y2VwdGlvbihcXGDsobTsnqztlZjsp4Ag7JWK64qUICR7bmFtZXMuY2FwaXRhbH0gSUQgXFwke2lkfVxcYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvd3NbMF07XG4gIH1cblxuICBhc3luYyBmaW5kT25lPFQgZXh0ZW5kcyAke2VudGl0eUlkfVN1YnNldEtleT4oXG4gICAgc3Vic2V0OiBULFxuICAgIGxpc3RQYXJhbXM6ICR7ZW50aXR5SWR9TGlzdFBhcmFtc1xuICApOiBQcm9taXNlPCR7ZW50aXR5SWR9U3Vic2V0TWFwcGluZ1tUXSB8IG51bGw+IHtcbiAgICBjb25zdCB7IHJvd3MgfSA9IGF3YWl0IHRoaXMuZmluZE1hbnkoc3Vic2V0LCB7XG4gICAgICAuLi5saXN0UGFyYW1zLFxuICAgICAgbnVtOiAxLFxuICAgICAgcGFnZTogMSxcbiAgICB9KTtcblxuICAgIHJldHVybiByb3dzWzBdID8/IG51bGw7XG4gIH1cblxuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJHRVRcIiwgY2xpZW50czogW1wiYXhpb3NcIiwgXCJ0YW5zdGFjay1xdWVyeVwiXSwgcmVzb3VyY2VOYW1lOiBcIiR7bmFtZXMuY2FwaXRhbFBsdXJhbH1cIiB9KVxuICBhc3luYyBmaW5kTWFueTxUIGV4dGVuZHMgJHtlbnRpdHlJZH1TdWJzZXRLZXksIExQIGV4dGVuZHMgJHtlbnRpdHlJZH1MaXN0UGFyYW1zPihcbiAgICBzdWJzZXQ6IFQsXG4gICAgcmF3UGFyYW1zPzogTFAsXG4gICk6IFByb21pc2U8TGlzdFJlc3VsdDxMUCwgJHtlbnRpdHlJZH1TdWJzZXRNYXBwaW5nW1RdPj4ge1xuICAgIC8vIHBhcmFtcyB3aXRoIGRlZmF1bHRzXG4gICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgbnVtOiAyNCxcbiAgICAgIHBhZ2U6IDEsXG4gICAgICBzZWFyY2g6IFwiJHtkZWYuc2VhcmNofVwiIGFzIGNvbnN0LFxuICAgICAgb3JkZXJCeTogXCIke2RlZi5vcmRlckJ5fVwiIGFzIGNvbnN0LFxuICAgICAgLi4ucmF3UGFyYW1zLFxuICAgIH0gc2F0aXNmaWVzICR7ZW50aXR5SWR9TGlzdFBhcmFtcztcblxuICAgIC8vIGJ1aWxkIHF1ZXJpZXNcbiAgICBjb25zdCB7IHFiLCBvblN1YnNldDogXyB9ID0gdGhpcy5nZXRTdWJzZXRRdWVyaWVzKHN1YnNldCk7XG4gICAgXG4gICAgLy8gaWRcbiAgICBpZiAocGFyYW1zLmlkKSB7XG4gICAgICBxYi53aGVyZUluKFwiJHtlbnRpdHkudGFibGV9LmlkXCIsIGFzQXJyYXkocGFyYW1zLmlkKSk7XG4gICAgfVxuXG4gICAgLy8gc2VhcmNoLWtleXdvcmRcbiAgICBpZiAocGFyYW1zLnNlYXJjaCAmJiBwYXJhbXMua2V5d29yZCAmJiBwYXJhbXMua2V5d29yZC5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAocGFyYW1zLnNlYXJjaCA9PT0gXCJpZFwiKSB7XG4gICAgICAgIHFiLndoZXJlKFwiJHtlbnRpdHkudGFibGV9LmlkXCIsIE51bWJlcihwYXJhbXMua2V5d29yZCkpO1xuICAgICAgICAvLyB9IGVsc2UgaWYgKHBhcmFtcy5zZWFyY2ggPT09IFwiZmllbGRcIikge1xuICAgICAgICAvLyAgIHFiLndoZXJlKFwiJHtlbnRpdHkudGFibGV9LmZpZWxkXCIsIFwibGlrZVwiLCBcXGAlXFwke3BhcmFtcy5rZXl3b3JkfSVcXGApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEJhZFJlcXVlc3RFeGNlcHRpb24oXFxg6rWs7ZiE65CY7KeAIOyViuydgCDqsoDsg4kg7ZWE65OcIFxcJHtwYXJhbXMuc2VhcmNofVxcYCk7XG4gICAgICB9XG4gICAgfVxuICAgICAgXG4gICAgLy8gb3JkZXJCeVxuICAgIGlmIChwYXJhbXMub3JkZXJCeSkge1xuICAgICAgLy8gZGVmYXVsdCBvcmRlckJ5XG4gICAgICBpZiAocGFyYW1zLm9yZGVyQnkgPT09IFwiaWQtZGVzY1wiKSB7XG4gICAgICAgIHFiLm9yZGVyQnkoXCIke2VudGl0eS50YWJsZX0uaWRcIiwgXCJkZXNjXCIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXhoYXVzdGl2ZShwYXJhbXMub3JkZXJCeSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZW5oYW5jZXJzID0gdGhpcy5jcmVhdGVFbmhhbmNlcnMoe1xuICAgICAgJHtPYmplY3Qua2V5cyhzdWJzZXRLZXlzKVxuICAgICAgICAubWFwKFxuICAgICAgICAgIChrZXkpID0+IGAke2tleX06IChyb3cpID0+ICh7XG4gICAgICAgICAgLi4ucm93LFxuICAgICAgICAgIC8vIOyEnOu4jOyFi+uzhOuhnCB2aXJ0dWFsIO2VhOuTnCDqs4TsgrDroZzsp4Eg7LaU6rCAXG4gICAgICAgIH0pLGAsXG4gICAgICAgIClcbiAgICAgICAgLmpvaW4oXCJcXG5cIil9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5leGVjdXRlU3Vic2V0UXVlcnkoe1xuICAgICAgc3Vic2V0LFxuICAgICAgcWIsXG4gICAgICBwYXJhbXMsXG4gICAgICBlbmhhbmNlcnMsXG4gICAgICBkZWJ1ZzogZmFsc2UsXG4gICAgfSk7XG4gIH1cblxuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJQT1NUXCIsIGNsaWVudHM6IFtcImF4aW9zXCIsIFwidGFuc3RhY2stbXV0YXRpb25cIl0gfSlcbiAgYXN5bmMgc2F2ZShcbiAgICBzcGE6ICR7ZW50aXR5SWR9U2F2ZVBhcmFtc1tdXG4gICk6IFByb21pc2U8bnVtYmVyW10+IHtcbiAgICBjb25zdCB3ZGIgPSB0aGlzLmdldFB1cmkoXCJ3XCIpO1xuXG4gICAgLy8gcmVnaXN0ZXJcbiAgICBzcGEuZm9yRWFjaCgoc3ApID0+IHtcbiAgICAgIHdkYi51YlJlZ2lzdGVyKFwiJHtlbnRpdHkudGFibGV9XCIsIHNwKTtcbiAgICB9KTtcblxuICAgIC8vIHRyYW5zYWN0aW9uXG4gICAgcmV0dXJuIHdkYi50cmFuc2FjdGlvbihhc3luYyAodHJ4KSA9PiB7XG4gICAgICBjb25zdCBpZHMgPSBhd2FpdCB0cngudWJVcHNlcnQoXCIke2VudGl0eS50YWJsZX1cIik7XG5cbiAgICAgIHJldHVybiBpZHM7XG4gICAgfSk7XG4gIH1cblxuICBAYXBpKHsgaHR0cE1ldGhvZDogXCJQT1NUXCIsIGNsaWVudHM6IFtcImF4aW9zXCIsIFwidGFuc3RhY2stbXV0YXRpb25cIl0sIGd1YXJkczogWyBcImFkbWluXCIgXSB9KVxuICBhc3luYyBkZWwoaWRzOiBudW1iZXJbXSk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgY29uc3Qgd2RiID0gdGhpcy5nZXRQdXJpKFwid1wiKTtcblxuICAgIC8vIHRyYW5zYWN0aW9uXG4gICAgYXdhaXQgd2RiLnRyYW5zYWN0aW9uKGFzeW5jICh0cngpID0+IHtcbiAgICAgIHJldHVybiB0cngudGFibGUoXCIke2VudGl0eS50YWJsZX1cIikud2hlcmVJbihcIiR7ZW50aXR5LnRhYmxlfS5pZFwiLCBpZHMpLmRlbGV0ZSgpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGlkcy5sZW5ndGg7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0ICR7ZW50aXR5SWR9TW9kZWwgPSBuZXcgJHtlbnRpdHlJZH1Nb2RlbENsYXNzKCk7XG4gICAgICBgLnRyaW0oKSxcbiAgICAgIGltcG9ydEtleXM6IFtdLFxuICAgIH07XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTb25hbXUiLCJFbnRpdHlNYW5hZ2VyIiwiTmFpdGUiLCJUZW1wbGF0ZSIsImdldFpvZFR5cGVCeUlkIiwiem9kVHlwZVRvUmVuZGVyaW5nTm9kZSIsIlRlbXBsYXRlX192aWV3X2xpc3QiLCJUZW1wbGF0ZV9fbW9kZWwiLCJnZXRUYXJnZXRBbmRQYXRoIiwibmFtZXMiLCJkaXIiLCJjb25maWciLCJhcGkiLCJ0YXJnZXQiLCJwYXRoIiwiZnMiLCJyZW5kZXIiLCJlbnRpdHlJZCIsInQiLCJsaXN0UGFyYW1zWm9kVHlwZSIsImxpc3RQYXJhbXNOb2RlIiwic3Vic2V0S2V5Wm9kVHlwZSIsInN1YnNldEtleXMiLCJlbnVtIiwiZ2V0TmFtZXNGcm9tSWQiLCJlbnRpdHkiLCJnZXQiLCJ2bFRwbCIsImNoaWxkcmVuIiwidW5kZWZpbmVkIiwiRXJyb3IiLCJkZWYiLCJnZXREZWZhdWx0IiwiYm9keSIsImNhbWVsIiwiY2FwaXRhbCIsImNhcGl0YWxQbHVyYWwiLCJzZWFyY2giLCJvcmRlckJ5IiwidGFibGUiLCJPYmplY3QiLCJrZXlzIiwibWFwIiwia2V5Iiwiam9pbiIsInRyaW0iLCJpbXBvcnRLZXlzIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxNQUFNLFFBQVEscUJBQVk7QUFDbkMsU0FBU0MsYUFBYSxRQUFnQyxpQ0FBOEI7QUFDcEYsU0FBU0MsS0FBSyxRQUFRLHVCQUFvQjtBQUUxQyxTQUFTQyxRQUFRLFFBQVEsaUJBQWM7QUFDdkMsU0FBU0MsY0FBYyxFQUFFQyxzQkFBc0IsUUFBUSxzQkFBbUI7QUFDMUUsU0FBU0MsbUJBQW1CLFFBQVEsMEJBQXVCO0FBQzNELE9BQU8sTUFBTUMsd0JBQXdCSjtJQUNuQyxhQUFjO1FBQ1osS0FBSyxDQUFDO0lBQ1I7SUFFQUssaUJBQWlCQyxLQUF3QixFQUFFO1FBQ3pDLE1BQU0sRUFBRUMsR0FBRyxFQUFFLEdBQUdWLE9BQU9XLE1BQU0sQ0FBQ0MsR0FBRztRQUVqQyxPQUFPO1lBQ0xDLFFBQVEsR0FBR0gsSUFBSSxnQkFBZ0IsQ0FBQztZQUNoQ0ksTUFBTSxHQUFHTCxNQUFNTSxFQUFFLENBQUMsQ0FBQyxFQUFFTixNQUFNTSxFQUFFLENBQUMsU0FBUyxDQUFDO1FBQzFDO0lBQ0Y7SUFFQSxNQUFNQyxPQUFPLEVBQUVDLFFBQVEsRUFBNEIsRUFBRTtRQUNuRGYsTUFBTWdCLENBQUMsQ0FBQyxVQUFVO1lBQUVEO1FBQVM7UUFFN0IsTUFBTUUsb0JBQW9CLE1BQU1mLGVBQWUsR0FBR2EsU0FBUyxVQUFVLENBQUM7UUFDdEUsTUFBTUcsaUJBQWlCZix1QkFBdUJjO1FBRTlDLE1B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
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { TemplateOptions } from "../../types/types";
|
|
2
|
+
import { Template } from "../template";
|
|
3
|
+
export declare class Template__queries extends Template {
|
|
4
|
+
constructor();
|
|
5
|
+
getTargetAndPath(): {
|
|
6
|
+
target: string;
|
|
7
|
+
path: string;
|
|
8
|
+
};
|
|
9
|
+
render({}: TemplateOptions["queries"]): {
|
|
10
|
+
body: string;
|
|
11
|
+
importKeys: string[];
|
|
12
|
+
customHeaders: string[];
|
|
13
|
+
target: string;
|
|
14
|
+
path: string;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=queries.template.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queries.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/queries.template.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,iBAAkB,SAAQ,QAAQ;;IAK7C,gBAAgB;;;;IAQhB,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,SAAS,CAAC;;;;;;;CAwFtC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import inflection from "inflection";
|
|
2
|
+
import { diff, unique } from "radashi";
|
|
3
|
+
import { apiParamToTsCode, apiParamTypeToTsType } from "../../api/code-converters.js";
|
|
4
|
+
import { Sonamu } from "../../api/sonamu.js";
|
|
5
|
+
import { ApiParamType } from "../../types/types.js";
|
|
6
|
+
import { Template } from "../template.js";
|
|
7
|
+
export class Template__queries extends Template {
|
|
8
|
+
constructor(){
|
|
9
|
+
super("queries");
|
|
10
|
+
}
|
|
11
|
+
getTargetAndPath() {
|
|
12
|
+
const { dir } = Sonamu.config.api;
|
|
13
|
+
return {
|
|
14
|
+
target: `${dir}/src/application`,
|
|
15
|
+
path: `queries.generated.ts`
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
render({}) {
|
|
19
|
+
const { apis } = Sonamu.syncer;
|
|
20
|
+
// tanstack-query를 포함한 API만 필터링
|
|
21
|
+
const queryApis = apis.filter((api)=>api.options.clients?.includes("tanstack-query"));
|
|
22
|
+
// 모델별로 그룹화
|
|
23
|
+
const apisByModel = new Map();
|
|
24
|
+
for (const api of queryApis){
|
|
25
|
+
const modelName = api.modelName.replace(/Model$/, "").replace(/Frame$/, "");
|
|
26
|
+
if (!apisByModel.has(modelName)) {
|
|
27
|
+
apisByModel.set(modelName, []);
|
|
28
|
+
}
|
|
29
|
+
apisByModel.get(modelName)?.push(api);
|
|
30
|
+
}
|
|
31
|
+
const namespaces = [];
|
|
32
|
+
const importKeys = [];
|
|
33
|
+
let typeParamNames = [];
|
|
34
|
+
for (const [modelName, modelApis] of apisByModel){
|
|
35
|
+
const functions = [];
|
|
36
|
+
for (const api of modelApis){
|
|
37
|
+
// Context 제외한 파라미터
|
|
38
|
+
const paramsWithoutContext = api.parameters.filter((param)=>!ApiParamType.isContext(param.type) && !ApiParamType.isRefKnex(param.type) && !(param.optional === true && param.name.startsWith("_")));
|
|
39
|
+
// 타입 파라미터 이름 수집
|
|
40
|
+
typeParamNames = typeParamNames.concat(api.typeParameters.map((tp)=>tp.id));
|
|
41
|
+
// 타입 파라미터 정의
|
|
42
|
+
const typeParametersAsTsType = api.typeParameters.map((typeParam)=>{
|
|
43
|
+
return apiParamTypeToTsType(typeParam, importKeys);
|
|
44
|
+
}).join(", ");
|
|
45
|
+
const typeParamsDef = typeParametersAsTsType ? `<${typeParametersAsTsType}>` : "";
|
|
46
|
+
// 파라미터 정의
|
|
47
|
+
const paramsDef = apiParamToTsCode(paramsWithoutContext, importKeys);
|
|
48
|
+
const paramNames = paramsWithoutContext.map((p)=>p.name).join(", ");
|
|
49
|
+
// serviceMethodName 계산 (services.template.ts와 동일한 로직)
|
|
50
|
+
const serviceMethodName = api.options.resourceName ? `get${inflection.camelize(api.options.resourceName)}` : api.methodName;
|
|
51
|
+
// SSRQuery 함수 생성 (함수명도 serviceMethodName 사용)
|
|
52
|
+
functions.push(`
|
|
53
|
+
export const ${serviceMethodName} = ${typeParamsDef}(${paramsDef}): SSRQuery =>
|
|
54
|
+
createSSRQuery('${api.modelName}', '${api.methodName}', [${paramNames}], ['${modelName}', '${serviceMethodName}']);
|
|
55
|
+
`.trim());
|
|
56
|
+
}
|
|
57
|
+
namespaces.push(`
|
|
58
|
+
export namespace ${modelName}Service {
|
|
59
|
+
${functions.join("\n\n")}
|
|
60
|
+
}
|
|
61
|
+
`.trim());
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
...this.getTargetAndPath(),
|
|
65
|
+
body: namespaces.join("\n\n"),
|
|
66
|
+
importKeys: diff(unique(importKeys), typeParamNames),
|
|
67
|
+
customHeaders: [
|
|
68
|
+
"/** biome-ignore-all lint: generated는 무시 */",
|
|
69
|
+
"/** biome-ignore-all assist: generated는 무시 */",
|
|
70
|
+
"",
|
|
71
|
+
`import type { SSRQuery } from 'sonamu/ssr';`,
|
|
72
|
+
"",
|
|
73
|
+
`// SSRQuery 헬퍼 함수`,
|
|
74
|
+
`function createSSRQuery(modelName: string, methodName: string, params: any[], serviceKey: [string, string]): SSRQuery {`,
|
|
75
|
+
` return { modelName, methodName, params, serviceKey, __brand: 'SSRQuery' } as SSRQuery;`,
|
|
76
|
+
`}`,
|
|
77
|
+
""
|
|
78
|
+
]
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvcXVlcmllcy50ZW1wbGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiO1xuaW1wb3J0IHsgZGlmZiwgdW5pcXVlIH0gZnJvbSBcInJhZGFzaGlcIjtcbmltcG9ydCB7IGFwaVBhcmFtVG9Uc0NvZGUsIGFwaVBhcmFtVHlwZVRvVHNUeXBlIH0gZnJvbSBcIi4uLy4uL2FwaS9jb2RlLWNvbnZlcnRlcnNcIjtcbmltcG9ydCB0eXBlIHsgRXh0ZW5kZWRBcGkgfSBmcm9tIFwiLi4vLi4vYXBpL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7IFNvbmFtdSB9IGZyb20gXCIuLi8uLi9hcGkvc29uYW11XCI7XG5pbXBvcnQgdHlwZSB7IFRlbXBsYXRlT3B0aW9ucyB9IGZyb20gXCIuLi8uLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHsgQXBpUGFyYW1UeXBlIH0gZnJvbSBcIi4uLy4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gXCIuLi90ZW1wbGF0ZVwiO1xuXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVfX3F1ZXJpZXMgZXh0ZW5kcyBUZW1wbGF0ZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFwicXVlcmllc1wiKTtcbiAgfVxuXG4gIGdldFRhcmdldEFuZFBhdGgoKSB7XG4gICAgY29uc3QgeyBkaXIgfSA9IFNvbmFtdS5jb25maWcuYXBpO1xuICAgIHJldHVybiB7XG4gICAgICB0YXJnZXQ6IGAke2Rpcn0vc3JjL2FwcGxpY2F0aW9uYCxcbiAgICAgIHBhdGg6IGBxdWVyaWVzLmdlbmVyYXRlZC50c2AsXG4gICAgfTtcbiAgfVxuXG4gIHJlbmRlcih7fTogVGVtcGxhdGVPcHRpb25zW1wicXVlcmllc1wiXSkge1xuICAgIGNvbnN0IHsgYXBpcyB9ID0gU29uYW11LnN5bmNlcjtcblxuICAgIC8vIHRhbnN0YWNrLXF1ZXJ566W8IO2PrO2VqO2VnCBBUEnrp4wg7ZWE7YSw66eBXG4gICAgY29uc3QgcXVlcnlBcGlzID0gYXBpcy5maWx0ZXIoKGFwaSkgPT4gYXBpLm9wdGlvbnMuY2xpZW50cz8uaW5jbHVkZXMoXCJ0YW5zdGFjay1xdWVyeVwiKSk7XG5cbiAgICAvLyDrqqjrjbjrs4TroZwg6re466O57ZmUXG4gICAgY29uc3QgYXBpc0J5TW9kZWwgPSBuZXcgTWFwPHN0cmluZywgRXh0ZW5kZWRBcGlbXT4oKTtcbiAgICBmb3IgKGNvbnN0IGFwaSBvZiBxdWVyeUFwaXMpIHtcbiAgICAgIGNvbnN0IG1vZGVsTmFtZSA9IGFwaS5tb2RlbE5hbWUucmVwbGFjZSgvTW9kZWwkLywgXCJcIikucmVwbGFjZSgvRnJhbWUkLywgXCJcIik7XG4gICAgICBpZiAoIWFwaXNCeU1vZGVsLmhhcyhtb2RlbE5hbWUpKSB7XG4gICAgICAgIGFwaXNCeU1vZGVsLnNldChtb2RlbE5hbWUsIFtdKTtcbiAgICAgIH1cbiAgICAgIGFwaXNCeU1vZGVsLmdldChtb2RlbE5hbWUpPy5wdXNoKGFwaSk7XG4gICAgfVxuXG4gICAgY29uc3QgbmFtZXNwYWNlczogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBpbXBvcnRLZXlzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGxldCB0eXBlUGFyYW1OYW1lczogc3RyaW5nW10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgW21vZGVsTmFtZSwgbW9kZWxBcGlzXSBvZiBhcGlzQnlNb2RlbCkge1xuICAgICAgY29uc3QgZnVuY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICBmb3IgKGNvbnN0IGFwaSBvZiBtb2RlbEFwaXMpIHtcbiAgICAgICAgLy8gQ29udGV4dCDsoJzsmbjtlZwg7YyM652866+47YSwXG4gICAgICAgIGNvbnN0IHBhcmFtc1dpdGhvdXRDb250ZXh0ID0gYXBpLnBhcmFtZXRlcnMuZmlsdGVyKFxuICAgICAgICAgIChwYXJhbSkgPT5cbiAgICAgICAgICAgICFBcGlQYXJhbVR5cGUuaXNDb250ZXh0KHBhcmFtLnR5cGUpICYmXG4gICAgICAgICAgICAhQXBpUGFyYW1UeXBlLmlzUmVmS25leChwYXJhbS50eXBlKSAmJlxuICAgICAgICAgICAgIShwYXJhbS5vcHRpb25hbCA9PT0gdHJ1ZSAmJiBwYXJhbS5uYW1lLnN0YXJ0c1dpdGgoXCJfXCIpKSxcbiAgICAgICAgKTtcblxuICAgICAgICAvLyDtg4DsnoUg7YyM652866+47YSwIOydtOumhCDsiJjsp5FcbiAgICAgICAgdHlwZVBhcmFtTmFtZXMgPSB0eXBlUGFyYW1OYW1lcy5jb25jYXQoYXBpLnR5cGVQYXJhbWV0ZXJzLm1hcCgodHApID0+IHRwLmlkKSk7XG5cbiAgICAgICAgLy8g7YOA7J6FIO2MjOudvOuvuO2EsCDsoJXsnZhcbiAgICAgICAgY29uc3QgdHlwZVBhcmFtZXRlcnNBc1RzVHlwZSA9IGFwaS50eXBlUGFyYW1ldGVyc1xuICAgICAgICAgIC5tYXAoKHR5cGVQYXJhbSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGFwaVBhcmFtVHlwZVRvVHNUeXBlKHR5cGVQYXJhbSwgaW1wb3J0S2V5cyk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuam9pbihcIiwgXCIpO1xuICAgICAgICBjb25zdCB0eXBlUGFyYW1zRGVmID0gdHlwZVBhcmFtZXRlcnNBc1RzVHlwZSA/IGA8JHt0eXBlUGFyYW1ldGVyc0FzVHNUeXBlfT5gIDogXCJcIjtcblxuICAgICAgICAvLyDtjIzrnbzrr7jthLAg7KCV7J2YXG4gICAgICAgIGNvbnN0IHBhcmFtc0RlZiA9IGFwaVBhcmFtVG9Uc0NvZGUocGFyYW1zV2l0aG91dENvbnRleHQsIGltcG9ydEtleXMpO1xuICAgICAgICBjb25zdCBwYXJhbU5hbWVzID0gcGFyYW1zV2l0aG91dENvbnRleHQubWFwKChwKSA9PiBwLm5hbWUpLmpvaW4oXCIsIFwiKTtcblxuICAgICAgICAvLyBzZXJ2aWNlTWV0aG9kTmFtZSDqs4TsgrAgKHNlcnZpY2VzLnRlbXBsYXRlLnRz7JmAIOuPmeydvO2VnCDroZzsp4EpXG4gICAgICAgIGNvbnN0IHNlcnZpY2VNZXRob2ROYW1lID0gYXBpLm9wdGlvbnMucmVzb3VyY2VOYW1lXG4gICAgICAgICAgPyBgZ2V0JHtpbmZsZWN0aW9uLmNhbWVsaXplKGFwaS5vcHRpb25zLnJlc291cmNlTmFtZSl9YFxuICAgICAgICAgIDogYXBpLm1ldGhvZE5hbWU7XG5cbiAgICAgICAgLy8gU1NSUXVlcnkg7ZWo7IiYIOyDneyEsSAo7ZWo7IiY66qF64+EIHNlcnZpY2VNZXRob2ROYW1lIOyCrOyaqSlcbiAgICAgICAgZnVuY3Rpb25zLnB1c2goXG4gICAgICAgICAgYFxuICBleHBvcnQgY29uc3QgJHtzZXJ2aWNlTWV0aG9kTmFtZX0gPSAke3R5cGVQYXJhbXNEZWZ9KCR7cGFyYW1zRGVmfSk6IFNTUlF1ZXJ5ID0+XG4gICAgY3JlYXRlU1NSUXVlcnkoJyR7YXBpLm1vZGVsTmFtZX0nLCAnJHthcGkubWV0aG9kTmFtZX0nLCBbJHtwYXJhbU5hbWVzfV0sIFsnJHttb2RlbE5hbWV9JywgJyR7c2VydmljZU1ldGhvZE5hbWV9J10pO1xuICAgICAgICAgIGAudHJpbSgpLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBuYW1lc3BhY2VzLnB1c2goXG4gICAgICAgIGBcbmV4cG9ydCBuYW1lc3BhY2UgJHttb2RlbE5hbWV9U2VydmljZSB7XG4ke2Z1bmN0aW9ucy5qb2luKFwiXFxuXFxuXCIpfVxufVxuICAgICAgYC50cmltKCksXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLmdldFRhcmdldEFuZFBhdGgoKSxcbiAgICAgIGJvZHk6IG5hbWVzcGFjZXMuam9pbihcIlxcblxcblwiKSxcbiAgICAgIGltcG9ydEtleXM6IGRpZmYodW5pcXVlKGltcG9ydEtleXMpLCB0eXBlUGFyYW1OYW1lcyksXG4gICAgICBjdXN0b21IZWFkZXJzOiBbXG4gICAgICAgIFwiLyoqIGJpb21lLWlnbm9yZS1hbGwgbGludDogZ2VuZXJhdGVk64qUIOustOyLnCAqL1wiLFxuICAgICAgICBcIi8qKiBiaW9tZS1pZ25vcmUtYWxsIGFzc2lzdDogZ2VuZXJhdGVk64qUIOustOyLnCAqL1wiLFxuICAgICAgICBcIlwiLFxuICAgICAgICBgaW1wb3J0IHR5cGUgeyBTU1JRdWVyeSB9IGZyb20gJ3NvbmFtdS9zc3InO2AsXG4gICAgICAgIFwiXCIsXG4gICAgICAgIGAvLyBTU1JRdWVyeSDtl6ztjbwg7ZWo7IiYYCxcbiAgICAgICAgYGZ1bmN0aW9uIGNyZWF0ZVNTUlF1ZXJ5KG1vZGVsTmFtZTogc3RyaW5nLCBtZXRob2ROYW1lOiBzdHJpbmcsIHBhcmFtczogYW55W10sIHNlcnZpY2VLZXk6IFtzdHJpbmcsIHN0cmluZ10pOiBTU1JRdWVyeSB7YCxcbiAgICAgICAgYCAgcmV0dXJuIHsgbW9kZWxOYW1lLCBtZXRob2ROYW1lLCBwYXJhbXMsIHNlcnZpY2VLZXksIF9fYnJhbmQ6ICdTU1JRdWVyeScgfSBhcyBTU1JRdWVyeTtgLFxuICAgICAgICBgfWAsXG4gICAgICAgIFwiXCIsXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJpbmZsZWN0aW9uIiwiZGlmZiIsInVuaXF1ZSIsImFwaVBhcmFtVG9Uc0NvZGUiLCJhcGlQYXJhbVR5cGVUb1RzVHlwZSIsIlNvbmFtdSIsIkFwaVBhcmFtVHlwZSIsIlRlbXBsYXRlIiwiVGVtcGxhdGVfX3F1ZXJpZXMiLCJnZXRUYXJnZXRBbmRQYXRoIiwiZGlyIiwiY29uZmlnIiwiYXBpIiwidGFyZ2V0IiwicGF0aCIsInJlbmRlciIsImFwaXMiLCJzeW5jZXIiLCJxdWVyeUFwaXMiLCJmaWx0ZXIiLCJvcHRpb25zIiwiY2xpZW50cyIsImluY2x1ZGVzIiwiYXBpc0J5TW9kZWwiLCJNYXAiLCJtb2RlbE5hbWUiLCJyZXBsYWNlIiwiaGFzIiwic2V0IiwiZ2V0IiwicHVzaCIsIm5hbWVzcGFjZXMiLCJpbXBvcnRLZXlzIiwidHlwZVBhcmFtTmFtZXMiLCJtb2RlbEFwaXMiLCJmdW5jdGlvbnMiLCJwYXJhbXNXaXRob3V0Q29udGV4dCIsInBhcmFtZXRlcnMiLCJwYXJhbSIsImlzQ29udGV4dCIsInR5cGUiLCJpc1JlZktuZXgiLCJvcHRpb25hbCIsIm5hbWUiLCJzdGFydHNXaXRoIiwiY29uY2F0IiwidHlwZVBhcmFtZXRlcnMiLCJtYXAiLCJ0cCIsImlkIiwidHlwZVBhcmFtZXRlcnNBc1RzVHlwZSIsInR5cGVQYXJhbSIsImpvaW4iLCJ0eXBlUGFyYW1zRGVmIiwicGFyYW1zRGVmIiwicGFyYW1OYW1lcyIsInAiLCJzZXJ2aWNlTWV0aG9kTmFtZSIsInJlc291cmNlTmFtZSIsImNhbWVsaXplIiwibWV0aG9kTmFtZSIsInRyaW0iLCJib2R5IiwiY3VzdG9tSGVhZGVycyJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsZ0JBQWdCLGFBQWE7QUFDcEMsU0FBU0MsSUFBSSxFQUFFQyxNQUFNLFFBQVEsVUFBVTtBQUN2QyxTQUFTQyxnQkFBZ0IsRUFBRUMsb0JBQW9CLFFBQVEsK0JBQTRCO0FBRW5GLFNBQVNDLE1BQU0sUUFBUSxzQkFBbUI7QUFFMUMsU0FBU0MsWUFBWSxRQUFRLHVCQUFvQjtBQUNqRCxTQUFTQyxRQUFRLFFBQVEsaUJBQWM7QUFFdkMsT0FBTyxNQUFNQywwQkFBMEJEO0lBQ3JDLGFBQWM7UUFDWixLQUFLLENBQUM7SUFDUjtJQUVBRSxtQkFBbUI7UUFDakIsTUFBTSxFQUFFQyxHQUFHLEVBQUUsR0FBR0wsT0FBT00sTUFBTSxDQUFDQyxHQUFHO1FBQ2pDLE9BQU87WUFDTEMsUUFBUSxHQUFHSCxJQUFJLGdCQUFnQixDQUFDO1lBQ2hDSSxNQUFNLENBQUMsb0JBQW9CLENBQUM7UUFDOUI7SUFDRjtJQUVBQyxPQUFPLEVBQThCLEVBQUU7UUFDckMsTUFBTSxFQUFFQyxJQUFJLEVBQUUsR0FBR1gsT0FBT1ksTUFBTTtRQUU5QiwrQkFBK0I7UUFDL0IsTUFBTUMsWUFBWUYsS0FBS0csTUFBTSxDQUFDLENBQUNQLE1BQVFBLElBQUlRLE9BQU8sQ0FBQ0MsT0FBTyxFQUFF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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view_enums_select.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/view_enums_select.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,2BAA4B,SAAQ,QAAQ;;IAKvD,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM;;;;IAOzD,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,eAAe,CAAC,mBAAmB,CAAC;;;;;;
|
|
1
|
+
{"version":3,"file":"view_enums_select.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/view_enums_select.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,2BAA4B,SAAQ,QAAQ;;IAKvD,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM;;;;IAOzD,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,eAAe,CAAC,mBAAmB,CAAC;;;;;;CAsDlE"}
|