@xxmachina/common 19.3.2 → 19.4.1
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/domain/models/index.d.ts +22 -1
- package/fesm2022/xxmachina-common-_shared-auth-passports-anonymous.mjs.map +1 -1
- package/fesm2022/xxmachina-common-_shared-auth-passports-firebase.mjs.map +1 -1
- package/fesm2022/xxmachina-common-_shared-auth-passports-internal.mjs.map +1 -1
- package/fesm2022/xxmachina-common-_shared-auth-passports-msal.mjs.map +1 -1
- package/fesm2022/xxmachina-common-_shared-auth.mjs.map +1 -1
- package/fesm2022/xxmachina-common-_shared-meta-redis.mjs.map +1 -1
- package/fesm2022/xxmachina-common-_shared-meta.mjs.map +1 -1
- package/fesm2022/xxmachina-common-azure-auth.mjs.map +1 -1
- package/fesm2022/xxmachina-common-domain-builder-screen-item.mjs.map +1 -1
- package/fesm2022/xxmachina-common-domain-builder.mjs.map +1 -1
- package/fesm2022/xxmachina-common-domain-models.mjs.map +1 -1
- package/fesm2022/xxmachina-common-firebase-auth.mjs.map +1 -1
- package/fesm2022/xxmachina-common-infra-converters-google.mjs.map +1 -1
- package/fesm2022/xxmachina-common-infra-external-quick-js.mjs.map +1 -1
- package/fesm2022/xxmachina-common-infra-external.mjs.map +1 -1
- package/fesm2022/xxmachina-common-infra-query-hasura.mjs.map +1 -1
- package/fesm2022/xxmachina-common-infra-repository-firestore.mjs.map +1 -1
- package/fesm2022/xxmachina-common-infra-repository-hasura.mjs.map +1 -1
- package/fesm2022/xxmachina-common-infra-repository-notion.mjs +11 -19
- package/fesm2022/xxmachina-common-infra-repository-notion.mjs.map +1 -1
- package/fesm2022/xxmachina-common-infra.mjs +10 -18
- package/fesm2022/xxmachina-common-infra.mjs.map +1 -1
- package/fesm2022/xxmachina-common-invoice-domain-builders.mjs.map +1 -1
- package/fesm2022/xxmachina-common-invoice-domain-models.mjs +4 -0
- package/fesm2022/xxmachina-common-invoice-domain-models.mjs.map +1 -1
- package/fesm2022/xxmachina-common-invoice-domain-resolvers.mjs.map +1 -1
- package/fesm2022/xxmachina-common-invoice-usecase-contract.mjs.map +1 -1
- package/fesm2022/xxmachina-common-invoice-usecase-invoice.mjs.map +1 -1
- package/fesm2022/xxmachina-common-invoice-usecase-order.mjs.map +1 -1
- package/fesm2022/xxmachina-common-invoice-usecase-partner.mjs.map +1 -1
- package/fesm2022/xxmachina-common-services-graphql.mjs.map +1 -1
- package/fesm2022/xxmachina-common-services-query-config.mjs.map +1 -1
- package/fesm2022/xxmachina-common-services-query.mjs.map +1 -1
- package/fesm2022/xxmachina-common-services-speech.mjs.map +1 -1
- package/fesm2022/xxmachina-common-services-transformer.mjs.map +1 -1
- package/fesm2022/xxmachina-common-stores-firestore.mjs.map +1 -1
- package/fesm2022/xxmachina-common-stores-hasura.mjs.map +1 -1
- package/fesm2022/xxmachina-common-stores-inmemory.mjs.map +1 -1
- package/fesm2022/xxmachina-common-usecase-assistant.mjs.map +1 -1
- package/fesm2022/xxmachina-common-usecase-database.mjs.map +1 -1
- package/fesm2022/xxmachina-common-usecase-graphql.mjs.map +1 -1
- package/fesm2022/xxmachina-common-usecase-link.mjs.map +1 -1
- package/fesm2022/xxmachina-common-usecase-project.mjs.map +1 -1
- package/fesm2022/xxmachina-common-usecase-spec.mjs.map +1 -1
- package/fesm2022/xxmachina-common-usecase.mjs.map +1 -1
- package/fesm2022/xxmachina-common-utils.mjs.map +1 -1
- package/infra/index.d.ts +0 -12
- package/infra/repository/notion/index.d.ts +0 -12
- package/package.json +11 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xxmachina-common-domain-builder.mjs","sources":["../tmp-esm2022/domain/builder/command/command.builder.js","../tmp-esm2022/domain/builder/command-action/command-action.builder.js","../tmp-esm2022/domain/builder/er/er.builder.js","../tmp-esm2022/domain/builder/query/query.builder.js","../tmp-esm2022/domain/builder/screen-item/screen-item.builder.js","../tmp-esm2022/domain/builder/xxmachina-common-domain-builder.js"],"sourcesContent":["export class CommandBuilder {\n buildFromOpenApi(openApi) {\n return Object.keys(openApi.getPaths()).flatMap((path) => {\n return openApi.getMethods(path).map((method, index) => ({\n id: openApi.getOperationId(path, method) ?? `cmd-${index}`,\n name: openApi.getSummary(path, method) ?? '',\n description: openApi.getDescription(path, method) ?? '',\n type: 'webApiRequest',\n webApiRequest: {\n path: path,\n method: method.toLocaleUpperCase(),\n contentType: openApi.getContentType(path, method),\n responseContentType: openApi.getResponseContentType(path, method),\n bodySchema: openApi.getRequestBodySchema(path, method),\n serverUrl: openApi.getServerUrl(),\n apiJsonUrl: openApi.apiJsonUrl,\n security: openApi.getSecurity(path, method) ?? [],\n }\n }));\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21tb24vc3JjL2xpYi9kb21haW4vYnVpbGRlci9jb21tYW5kL2NvbW1hbmQuYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sY0FBYztJQUN6QixnQkFBZ0IsQ0FBQyxPQUFnQjtRQUMvQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdEQsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzlELEVBQUUsRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxPQUFPLEtBQUssRUFBRTtnQkFDMUQsSUFBSSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUU7Z0JBQzVDLFdBQVcsRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFO2dCQUN2RCxJQUFJLEVBQUUsZUFBd0I7Z0JBQzlCLGFBQWEsRUFBRTtvQkFDYixJQUFJLEVBQUUsSUFBSTtvQkFDVixNQUFNLEVBQUUsTUFBTSxDQUFDLGlCQUFpQixFQUFFO29CQUNsQyxXQUFXLEVBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUErQztvQkFDL0YsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxNQUFNLENBQTJDO29CQUMzRyxVQUFVLEVBQUUsT0FBTyxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7b0JBQ3RELFNBQVMsRUFBRSxPQUFPLENBQUMsWUFBWSxFQUFFO29CQUNqQyxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVU7b0JBQzlCLFFBQVEsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFO2lCQUNsRDthQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tYW5kLCBPcGVuQXBpIH0gZnJvbSAnQHh4bWFjaGluYS9jb21tb24vZG9tYWluL21vZGVscyc7XG5cbmV4cG9ydCBjbGFzcyBDb21tYW5kQnVpbGRlciB7XG4gIGJ1aWxkRnJvbU9wZW5BcGkob3BlbkFwaTogT3BlbkFwaSk6IENvbW1hbmRbXSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKG9wZW5BcGkuZ2V0UGF0aHMoKSkuZmxhdE1hcCgocGF0aCkgPT4ge1xuICAgICAgcmV0dXJuIG9wZW5BcGkuZ2V0TWV0aG9kcyhwYXRoKS5tYXAoKG1ldGhvZCwgaW5kZXg6IG51bWJlcikgPT4gKHtcbiAgICAgICAgaWQ6IG9wZW5BcGkuZ2V0T3BlcmF0aW9uSWQocGF0aCwgbWV0aG9kKSA/PyBgY21kLSR7aW5kZXh9YCxcbiAgICAgICAgbmFtZTogb3BlbkFwaS5nZXRTdW1tYXJ5KHBhdGgsIG1ldGhvZCkgPz8gJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBvcGVuQXBpLmdldERlc2NyaXB0aW9uKHBhdGgsIG1ldGhvZCkgPz8gJycsXG4gICAgICAgIHR5cGU6ICd3ZWJBcGlSZXF1ZXN0JyBhcyBjb25zdCxcbiAgICAgICAgd2ViQXBpUmVxdWVzdDoge1xuICAgICAgICAgIHBhdGg6IHBhdGgsXG4gICAgICAgICAgbWV0aG9kOiBtZXRob2QudG9Mb2NhbGVVcHBlckNhc2UoKSxcbiAgICAgICAgICBjb250ZW50VHlwZTogb3BlbkFwaS5nZXRDb250ZW50VHlwZShwYXRoLCBtZXRob2QpIGFzICdhcHBsaWNhdGlvbi9qc29uJyB8ICdtdWx0aXBhcnQvZm9ybS1kYXRhJyxcbiAgICAgICAgICByZXNwb25zZUNvbnRlbnRUeXBlOiBvcGVuQXBpLmdldFJlc3BvbnNlQ29udGVudFR5cGUocGF0aCwgbWV0aG9kKSBhcyAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJyB8ICd1bmtub3duJyxcbiAgICAgICAgICBib2R5U2NoZW1hOiBvcGVuQXBpLmdldFJlcXVlc3RCb2R5U2NoZW1hKHBhdGgsIG1ldGhvZCksXG4gICAgICAgICAgc2VydmVyVXJsOiBvcGVuQXBpLmdldFNlcnZlclVybCgpLFxuICAgICAgICAgIGFwaUpzb25Vcmw6IG9wZW5BcGkuYXBpSnNvblVybCxcbiAgICAgICAgICBzZWN1cml0eTogb3BlbkFwaS5nZXRTZWN1cml0eShwYXRoLCBtZXRob2QpID8/IFtdLFxuICAgICAgICB9XG4gICAgICB9KSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==","import { createAction } from '@ng-atomic/core';\nimport { flatten } from 'flat';\nimport { omitBy } from 'lodash-es';\nimport { createNavigateAction } from '@ng-atomic/components/frames/app';\nexport var ActionId;\n(function (ActionId) {\n ActionId[\"NAVIGATE_TO_COMMAND_PAGE\"] = \"[@xxmachina/common] Navigate To Command Page\";\n ActionId[\"EXECUTE_COMMAND\"] = \"[@xxmachina/common] Execute Command\";\n})(ActionId || (ActionId = {}));\nexport class CommandActionsBuilder {\n commands = [];\n options = {};\n item = null;\n filterIds = null;\n autoIds = [];\n setCommands(commands) {\n const newFactory = new CommandActionsBuilder();\n newFactory.commands = [...commands];\n newFactory.options = { ...this.options };\n newFactory.item = this.item;\n newFactory.filterIds = this.filterIds;\n newFactory.autoIds = this.autoIds;\n return newFactory;\n }\n setOptions(options) {\n const newFactory = new CommandActionsBuilder();\n newFactory.commands = [...this.commands];\n newFactory.options = { ...this.options, ...options };\n newFactory.item = this.item;\n newFactory.filterIds = this.filterIds;\n newFactory.autoIds = this.autoIds;\n return newFactory;\n }\n setItem(item) {\n const newFactory = new CommandActionsBuilder();\n newFactory.commands = [...this.commands];\n newFactory.options = { ...this.options };\n newFactory.item = item;\n newFactory.filterIds = this.filterIds;\n newFactory.autoIds = this.autoIds;\n return newFactory;\n }\n setFilterIds(filterIds = []) {\n const newFactory = new CommandActionsBuilder();\n newFactory.commands = [...this.commands];\n newFactory.options = { ...this.options };\n newFactory.item = this.item;\n newFactory.filterIds = filterIds.map((id) => typeof id === 'string' ? id : id.id);\n newFactory.autoIds = filterIds.filter((id) => typeof id !== 'string' && id.auto).map((id) => id.id);\n return newFactory;\n }\n setAutoIds(autoIds) {\n const newFactory = new CommandActionsBuilder();\n newFactory.commands = [...this.commands];\n newFactory.options = { ...this.options };\n newFactory.item = this.item;\n newFactory.filterIds = [...this.filterIds];\n newFactory.autoIds = autoIds;\n return newFactory;\n }\n applyFilter(commands) {\n if (!this.filterIds)\n return commands;\n return this.filterIds.map((id) => commands.find((command) => command.id === id))\n .filter((command) => !!command);\n }\n buildAction(id) {\n const command = this.commands.find((command) => command.id === id);\n if (!command)\n throw new Error(`Command not found: ${id}`);\n const actionId = this.autoIds.includes(command.id)\n ? ActionId.EXECUTE_COMMAND\n : ActionId.NAVIGATE_TO_COMMAND_PAGE;\n const creator = createAction(actionId, command.webApiRequest.bodySchema, {\n name: command.name,\n icon: this.options.icon || 'default',\n ...this.options,\n });\n return creator.create({\n command,\n body: this.item,\n options: {\n queryId: this.options.queryId,\n confirm: this.options.confirm,\n }\n });\n }\n buildActions(item, navigationExtras = {}, overwrite = {}) {\n const filteredCommands = this.applyFilter(this.commands);\n return filteredCommands.map((command) => {\n if (this.autoIds.includes(command.id)) {\n return createAction(ActionId.EXECUTE_COMMAND, command.webApiRequest.bodySchema, {\n name: command.name,\n icon: this.options.icon || 'default',\n }).create({\n command,\n body: this.item,\n options: {\n queryId: this.options.queryId,\n confirm: this.options.confirm,\n }\n }, overwrite);\n }\n else {\n const data = omitBy(flatten({ data: this.item, queryId: this.options.queryId }), value => typeof value === 'undefined');\n return createNavigateAction(['commands', { skip: true }, command.id, data], navigationExtras, {\n name: command.name,\n icon: this.options.icon,\n ...overwrite,\n });\n }\n });\n }\n buildItemActions() {\n return (item) => this.setItem(item).buildActions();\n }\n}\nexport function createCommandNavigateAction(command, navigationExtras = {}, item = {}, options = {}, overwrite = {}) {\n if (!command)\n return null;\n return new CommandActionsBuilder()\n .setItem(item)\n .setCommands([command])\n .setOptions(options)\n .setFilterIds([command.id])\n .buildActions(item, navigationExtras, overwrite)[0];\n}\nexport function createCommandExecutionAction(command, item = {}, options = {}, overwrite = {}) {\n if (!command)\n return null;\n return new CommandActionsBuilder()\n .setItem(item)\n .setCommands([command])\n .setOptions(options)\n .setFilterIds([command.id])\n .setAutoIds([command.id])\n .buildActions(item, undefined, overwrite)[0];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1hY3Rpb24uYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvZG9tYWluL2J1aWxkZXIvY29tbWFuZC1hY3Rpb24vY29tbWFuZC1hY3Rpb24uYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsWUFBWSxFQUF3QixNQUFNLGlCQUFpQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUl4RSxNQUFNLENBQU4sSUFBWSxRQUdYO0FBSEQsV0FBWSxRQUFRO0lBQ2xCLHFGQUF5RSxDQUFBO0lBQ3pFLG1FQUF1RCxDQUFBO0FBQ3pELENBQUMsRUFIVyxRQUFRLEtBQVIsUUFBUSxRQUduQjtBQWdCRCxNQUFNLE9BQU8scUJBQXFCO0lBQ3hCLFFBQVEsR0FBYyxFQUFFLENBQUM7SUFDekIsT0FBTyxHQUFnQyxFQUFFLENBQUM7SUFDMUMsSUFBSSxHQUFRLElBQUksQ0FBQztJQUNqQixTQUFTLEdBQW9CLElBQUksQ0FBQztJQUNsQyxPQUFPLEdBQWEsRUFBRSxDQUFDO0lBRS9CLFdBQVcsQ0FBQyxRQUFtQjtRQUM3QixNQUFNLFVBQVUsR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUM7UUFDL0MsVUFBVSxDQUFDLFFBQVEsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDcEMsVUFBVSxDQUFDLE9BQU8sR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3pDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM1QixVQUFVLENBQUMsU0FBUyxH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QUMxQixPQUFPLElBQUkscUJBQXFCLEVBQUU7U0FDL0IsT0FBTyxDQUFDLElBQUksQ0FBQztTQUNiLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3RCLFVBQVUsQ0FBQyxPQUFPLENBQUM7U0FDbkIsWUFBWSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzFCLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN4QixZQUFZLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uLCBjcmVhdGVBY3Rpb24sIENyZWF0ZUFjdGlvbnNPcHRpb25zIH0gZnJvbSAnQG5nLWF0b21pYy9jb3JlJztcbmltcG9ydCB7IGZsYXR0ZW4gfSBmcm9tICdmbGF0JztcbmltcG9ydCB7IG9taXRCeSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBjcmVhdGVOYXZpZ2F0ZUFjdGlvbiB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9mcmFtZXMvYXBwJztcbmltcG9ydCB7IE5hdmlnYXRpb25FeHRyYXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2RvbWFpbi9tb2RlbHMnO1xuXG5leHBvcnQgZW51bSBBY3Rpb25JZCB7XG4gIE5BVklHQVRFX1RPX0NPTU1BTkRfUEFHRSA9ICdbQHh4bWFjaGluYS9jb21tb25dIE5hdmlnYXRlIFRvIENvbW1hbmQgUGFnZScsXG4gIEVYRUNVVEVfQ09NTUFORCA9ICdbQHh4bWFjaGluYS9jb21tb25dIEV4ZWN1dGUgQ29tbWFuZCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWFuZEFjdGlvbkZhY3RvcnlPcHRpb25zIGV4dGVuZHMgQ3JlYXRlQWN0aW9uc09wdGlvbnMge1xuICBxdWVyeUlkPzogc3RyaW5nO1xuICBjb25maXJtPzogKCkgPT4gUHJvbWlzZTxib29sZWFuPiB8IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWFuZEFjdGlvblBheWxvYWQ8UD4ge1xuICBjb21tYW5kOiBhbnk7XG4gIGJvZHk6IFA7XG4gIG9wdGlvbnM/OiB7XG4gICAgY29uZmlybT86ICgpID0+IFByb21pc2U8Ym9vbGVhbj4gfCBib29sZWFuO1xuICAgIHF1ZXJ5SWQ/OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBjbGFzcyBDb21tYW5kQWN0aW9uc0J1aWxkZXIge1xuICBwcml2YXRlIGNvbW1hbmRzOiBDb21tYW5kW10gPSBbXTtcbiAgcHJpdmF0ZSBvcHRpb25zOiBDb21tYW5kQWN0aW9uRmFjdG9yeU9wdGlvbnMgPSB7fTtcbiAgcHJpdmF0ZSBpdGVtOiBhbnkgPSBudWxsO1xuICBwcml2YXRlIGZpbHRlcklkczogc3RyaW5nW10gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBhdXRvSWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHNldENvbW1hbmRzKGNvbW1hbmRzOiBDb21tYW5kW10pOiBDb21tYW5kQWN0aW9uc0J1aWxkZXIge1xuICAgIGNvbnN0IG5ld0ZhY3RvcnkgPSBuZXcgQ29tbWFuZEFjdGlvbnNCdWlsZGVyKCk7XG4gICAgbmV3RmFjdG9yeS5jb21tYW5kcyA9IFsuLi5jb21tYW5kc107XG4gICAgbmV3RmFjdG9yeS5vcHRpb25zID0geyAuLi50aGlzLm9wdGlvbnMgfTtcbiAgICBuZXdGYWN0b3J5Lml0ZW0gPSB0aGlzLml0ZW07XG4gICAgbmV3RmFjdG9yeS5maWx0ZXJJZHMgPSB0aGlzLmZpbHRlcklkcztcbiAgICBuZXdGYWN0b3J5LmF1dG9JZHMgPSB0aGlzLmF1dG9JZHM7XG4gICAgcmV0dXJuIG5ld0ZhY3Rvcnk7XG4gIH1cblxuICBzZXRPcHRpb25zKG9wdGlvbnM6IFBhcnRpYWw8Q29tbWFuZEFjdGlvbkZhY3RvcnlPcHRpb25zPik6IENvbW1hbmRBY3Rpb25zQnVpbGRlciB7XG4gICAgY29uc3QgbmV3RmFjdG9yeSA9IG5ldyBDb21tYW5kQWN0aW9uc0J1aWxkZXIoKTtcbiAgICBuZXdGYWN0b3J5LmNvbW1hbmRzID0gWy4uLnRoaXMuY29tbWFuZHNdO1xuICAgIG5ld0ZhY3Rvcnkub3B0aW9ucyA9IHsgLi4udGhpcy5vcHRpb25zLCAuLi5vcHRpb25zIH07XG4gICAgbmV3RmFjdG9yeS5pdGVtID0gdGhpcy5pdGVtO1xuICAgIG5ld0ZhY3RvcnkuZmlsdGVySWRzID0gdGhpcy5maWx0ZXJJZHM7XG4gICAgbmV3RmFjdG9yeS5hdXRvSWRzID0gdGhpcy5hdXRvSWRzO1xuICAgIHJldHVybiBuZXdGYWN0b3J5O1xuICB9XG5cbiAgc2V0SXRlbShpdGVtOiBhbnkpOiBDb21tYW5kQWN0aW9uc0J1aWxkZXIge1xuICAgIGNvbnN0IG5ld0ZhY3RvcnkgPSBuZXcgQ29tbWFuZEFjdGlvbnNCdWlsZGVyKCk7XG4gICAgbmV3RmFjdG9yeS5jb21tYW5kcyA9IFsuLi50aGlzLmNvbW1hbmRzXTtcbiAgICBuZXdGYWN0b3J5Lm9wdGlvbnMgPSB7IC4uLnRoaXMub3B0aW9ucyB9O1xuICAgIG5ld0ZhY3RvcnkuaXRlbSA9IGl0ZW07XG4gICAgbmV3RmFjdG9yeS5maWx0ZXJJZHMgPSB0aGlzLmZpbHRlcklkcztcbiAgICBuZXdGYWN0b3J5LmF1dG9JZHMgPSB0aGlzLmF1dG9JZHM7XG4gICAgcmV0dXJuIG5ld0ZhY3Rvcnk7XG4gIH1cblxuICBzZXRGaWx0ZXJJZHMoZmlsdGVySWRzOiAoc3RyaW5nIHwge2lkOiBzdHJpbmcsIGF1dG86IGJvb2xlYW59KVtdID0gW10pOiBDb21tYW5kQWN0aW9uc0J1aWxkZXIge1xuICAgIGNvbnN0IG5ld0ZhY3RvcnkgPSBuZXcgQ29tbWFuZEFjdGlvbnNCdWlsZGVyKCk7XG4gICAgbmV3RmFjdG9yeS5jb21tYW5kcyA9IFsuLi50aGlzLmNvbW1hbmRzXTtcbiAgICBuZXdGYWN0b3J5Lm9wdGlvbnMgPSB7IC4uLnRoaXMub3B0aW9ucyB9O1xuICAgIG5ld0ZhY3RvcnkuaXRlbSA9IHRoaXMuaXRlbTtcbiAgICBuZXdGYWN0b3J5LmZpbHRlcklkcyA9IGZpbHRlcklkcy5tYXAoKGlkKSA9PiB0eXBlb2YgaWQgPT09ICdzdHJpbmcnID8gaWQgOiBpZC5pZCk7XG4gICAgbmV3RmFjdG9yeS5hdXRvSWRzID0gZmlsdGVySWRzLmZpbHRlcigoaWQpID0+IHR5cGVvZiBpZCAhPT0gJ3N0cmluZycgJiYgaWQuYXV0bykubWFwKChpZCkgPT4gKGlkIGFzIGFueSkuaWQpO1xuICAgIHJldHVybiBuZXdGYWN0b3J5O1xuICB9XG5cbiAgc2V0QXV0b0lkcyhhdXRvSWRzOiBzdHJpbmdbXSk6IENvbW1hbmRBY3Rpb25zQnVpbGRlciB7XG4gICAgY29uc3QgbmV3RmFjdG9yeSA9IG5ldyBDb21tYW5kQWN0aW9uc0J1aWxkZXIoKTtcbiAgICBuZXdGYWN0b3J5LmNvbW1hbmRzID0gWy4uLnRoaXMuY29tbWFuZHNdO1xuICAgIG5ld0ZhY3Rvcnkub3B0aW9ucyA9IHsgLi4udGhpcy5vcHRpb25zIH07XG4gICAgbmV3RmFjdG9yeS5pdGVtID0gdGhpcy5pdGVtO1xuICAgIG5ld0ZhY3RvcnkuZmlsdGVySWRzID0gWy4uLnRoaXMuZmlsdGVySWRzXTtcbiAgICBuZXdGYWN0b3J5LmF1dG9JZHMgPSBhdXRvSWRzO1xuICAgIHJldHVybiBuZXdGYWN0b3J5O1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUZpbHRlcihjb21tYW5kczogQ29tbWFuZFtdKTogQ29tbWFuZFtdIHtcbiAgICBpZiAoIXRoaXMuZmlsdGVySWRzKSByZXR1cm4gY29tbWFuZHM7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVySWRzLm1hcCgoaWQpID0+IGNvbW1hbmRzLmZpbmQoKGNvbW1hbmQpID0+IGNvbW1hbmQuaWQgPT09IGlkKSEpXG4gICAgICAuZmlsdGVyKChjb21tYW5kKSA9PiAhIWNvbW1hbmQpIGFzIENvbW1hbmRbXTtcbiAgfVxuXG4gIGJ1aWxkQWN0aW9uKGlkOiBzdHJpbmcpOiBBY3Rpb24ge1xuICAgIGNvbnN0IGNvbW1hbmQgPSB0aGlzLmNvbW1hbmRzLmZpbmQoKGNvbW1hbmQpID0+IGNvbW1hbmQuaWQgPT09IGlkKTtcbiAgICBpZiAoIWNvbW1hbmQpIHRocm93IG5ldyBFcnJvcihgQ29tbWFuZCBub3QgZm91bmQ6ICR7aWR9YCk7XG4gICAgY29uc3QgYWN0aW9uSWQgPSB0aGlzLmF1dG9JZHMuaW5jbHVkZXMoY29tbWFuZC5pZClcbiAgICAgID8gQWN0aW9uSWQuRVhFQ1VURV9DT01NQU5EXG4gICAgICA6IEFjdGlvbklkLk5BVklHQVRFX1RPX0NPTU1BTkRfUEFHRTtcbiAgICBjb25zdCBjcmVhdG9yID0gY3JlYXRlQWN0aW9uPENvbW1hbmRBY3Rpb25QYXlsb2FkPGFueT4+KFxuICAgICAgYWN0aW9uSWQsXG4gICAgICBjb21tYW5kLndlYkFwaVJlcXVlc3QuYm9keVNjaGVtYSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogY29tbWFuZC5uYW1lLFxuICAgICAgICBpY29uOiB0aGlzLm9wdGlvbnMuaWNvbiB8fCAnZGVmYXVsdCcsXG4gICAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICAgIH1cbiAgICApO1xuXG4gICAgcmV0dXJuIGNyZWF0b3IuY3JlYXRlKHtcbiAgICAgIGNvbW1hbmQsXG4gICAgICBib2R5OiB0aGlzLml0ZW0sXG4gICAgICBvcHRpb25zOiB7XG4gICAgICAgIHF1ZXJ5SWQ6IHRoaXMub3B0aW9ucy5xdWVyeUlkLFxuICAgICAgICBjb25maXJtOiB0aGlzLm9wdGlvbnMuY29uZmlybSxcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGJ1aWxkQWN0aW9ucyhpdGVtPzogYW55LCBuYXZpZ2F0aW9uRXh0cmFzOiBOYXZpZ2F0aW9uRXh0cmFzID0ge30sIG92ZXJ3cml0ZTogUGFydGlhbDxBY3Rpb24+ID0ge30pOiBBY3Rpb25bXSB7XG4gICAgY29uc3QgZmlsdGVyZWRDb21tYW5kcyA9IHRoaXMuYXBwbHlGaWx0ZXIodGhpcy5jb21tYW5kcyk7XG4gICAgcmV0dXJuIGZpbHRlcmVkQ29tbWFuZHMubWFwKChjb21tYW5kKSA9PiB7XG4gICAgICBpZiAodGhpcy5hdXRvSWRzLmluY2x1ZGVzKGNvbW1hbmQuaWQpKSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVBY3Rpb248Q29tbWFuZEFjdGlvblBheWxvYWQ8YW55Pj4oXG4gICAgICAgICAgQWN0aW9uSWQuRVhFQ1VURV9DT01NQU5ELFxuICAgICAgICAgIGNvbW1hbmQud2ViQXBpUmVxdWVzdC5ib2R5U2NoZW1hLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IGNvbW1hbmQubmFtZSxcbiAgICAgICAgICAgIGljb246IHRoaXMub3B0aW9ucy5pY29uIHx8ICdkZWZhdWx0JyxcbiAgICAgICAgICB9XG4gICAgICAgICkuY3JlYXRlKHtcbiAgICAgICAgICBjb21tYW5kLFxuICAgICAgICAgIGJvZHk6IHRoaXMuaXRlbSxcbiAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICBxdWVyeUlkOiB0aGlzLm9wdGlvbnMucXVlcnlJZCxcbiAgICAgICAgICAgIGNvbmZpcm06IHRoaXMub3B0aW9ucy5jb25maXJtLFxuICAgICAgICAgIH1cbiAgICAgICAgfSwgb3ZlcndyaXRlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBvbWl0QnkoZmxhdHRlbjxvYmplY3QsIG9iamVjdD4oe2RhdGE6IHRoaXMuaXRlbSwgcXVlcnlJZDogdGhpcy5vcHRpb25zLnF1ZXJ5SWR9KSwgdmFsdWUgPT4gdHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJyk7XG4gICAgICAgIHJldHVybiBjcmVhdGVOYXZpZ2F0ZUFjdGlvbihbJ2NvbW1hbmRzJywge3NraXA6IHRydWV9LCBjb21tYW5kLmlkLCBkYXRhXSwgbmF2aWdhdGlvbkV4dHJhcywge1xuICAgICAgICAgIG5hbWU6IGNvbW1hbmQubmFtZSxcbiAgICAgICAgICBpY29uOiB0aGlzLm9wdGlvbnMuaWNvbixcbiAgICAgICAgICAuLi5vdmVyd3JpdGUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgYnVpbGRJdGVtQWN0aW9uczxUPigpOiAoaXRlbTogVCkgPT4gQWN0aW9uW10ge1xuICAgIHJldHVybiAoaXRlbTogVCkgPT4gdGhpcy5zZXRJdGVtKGl0ZW0pLmJ1aWxkQWN0aW9ucygpO1xuICB9XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNvbW1hbmROYXZpZ2F0ZUFjdGlvbihcbiAgY29tbWFuZDogQ29tbWFuZCxcbiAgbmF2aWdhdGlvbkV4dHJhczogTmF2aWdhdGlvbkV4dHJhcyA9IHt9LFxuICBpdGVtOiBhbnkgPSB7fSxcbiAgb3B0aW9uczogQ29tbWFuZEFjdGlvbkZhY3RvcnlPcHRpb25zID0ge30sXG4gIG92ZXJ3cml0ZTogUGFydGlhbDxBY3Rpb24+ID0ge31cbik6IEFjdGlvbiB8IG51bGwge1xuICBpZiAoIWNvbW1hbmQpIHJldHVybiBudWxsO1xuICByZXR1cm4gbmV3IENvbW1hbmRBY3Rpb25zQnVpbGRlcigpXG4gICAgLnNldEl0ZW0oaXRlbSlcbiAgICAuc2V0Q29tbWFuZHMoW2NvbW1hbmRdKVxuICAgIC5zZXRPcHRpb25zKG9wdGlvbnMpXG4gICAgLnNldEZpbHRlcklkcyhbY29tbWFuZC5pZF0pXG4gICAgLmJ1aWxkQWN0aW9ucyhpdGVtLCBuYXZpZ2F0aW9uRXh0cmFzLCBvdmVyd3JpdGUpWzBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ29tbWFuZEV4ZWN1dGlvbkFjdGlvbihcbiAgY29tbWFuZDogQ29tbWFuZCxcbiAgaXRlbTogYW55ID0ge30sXG4gIG9wdGlvbnM6IENvbW1hbmRBY3Rpb25GYWN0b3J5T3B0aW9ucyA9IHt9LFxuICBvdmVyd3JpdGU6IFBhcnRpYWw8QWN0aW9uPiA9IHt9XG4pOiBBY3Rpb24gfCBudWxsIHtcbiAgaWYgKCFjb21tYW5kKSByZXR1cm4gbnVsbDtcbiAgcmV0dXJuIG5ldyBDb21tYW5kQWN0aW9uc0J1aWxkZXIoKVxuICAgIC5zZXRJdGVtKGl0ZW0pXG4gICAgLnNldENvbW1hbmRzKFtjb21tYW5kXSlcbiAgICAuc2V0T3B0aW9ucyhvcHRpb25zKVxuICAgIC5zZXRGaWx0ZXJJZHMoW2NvbW1hbmQuaWRdKVxuICAgIC5zZXRBdXRvSWRzKFtjb21tYW5kLmlkXSlcbiAgICAuYnVpbGRBY3Rpb25zKGl0ZW0sIHVuZGVmaW5lZCwgb3ZlcndyaXRlKVswXTtcbn1cbiJdfQ==","const NOTION_PROP_TYPE_MAP = {\n people: 'string',\n unique_id: 'string',\n rich_text: 'string',\n title: 'string',\n text: 'string',\n number: 'number',\n select: 'enum',\n status: 'enum',\n multi_select: 'string',\n date: 'date',\n person: 'string',\n files: 'string',\n checkbox: 'boolean',\n url: 'string',\n email: 'string',\n phone_number: 'string',\n relation: 'string',\n rollup: 'string',\n created_time: 'date',\n created_by: 'string',\n last_edited_time: 'date',\n last_edited_by: 'string',\n};\nconst NOTION_KEY_MAP = {\n 'relation': 'FK',\n 'unique_id': 'UK',\n};\nexport class ErBuilder {\n build(databases) {\n const schemas = [];\n const dbIdToName = databases.reduce((acc, db) => ({\n ...acc,\n [db.id]: db?.title?.[0]?.plain_text\n }), {});\n for (const database of databases) {\n const schema = this.parseDatabaseSchema(database, database?.title?.[0]?.plain_text, dbIdToName);\n schemas.push(schema);\n }\n return this.buildMermaidER(schemas);\n }\n parseDatabaseSchema(database, name = '', map = {}) {\n const properties = database.properties;\n const fields = [];\n const relations = [];\n Object.keys(properties)\n .filter(propName => {\n if (['formula', 'rollup', 'button'].includes(properties[propName].type))\n return false;\n return true;\n })\n .sort()\n .forEach(propName => {\n const prop = properties[propName];\n const type = prop.type;\n const mappedType = NOTION_PROP_TYPE_MAP[type];\n const key = NOTION_KEY_MAP[type] ?? ' ';\n const field = `${mappedType} ${type} ${key} \"${propName}\"`;\n fields.push(field);\n // リレーションシップの解析\n if (type === 'relation') {\n const relation = prop['relation'];\n if (relation && relation.database_id) {\n const targetDbId = relation.database_id;\n const targetDbName = map[targetDbId] || 'Unknown';\n relations.push({\n source: name,\n target: targetDbName,\n label: propName,\n type: '||--||', // リレーションのタイプを適宜設定\n });\n }\n else if (relation && Array.isArray(relation)) {\n relation.forEach(rel => {\n const targetDbId = rel.database_id;\n const targetDbName = map[targetDbId] || 'Unknown';\n relations.push({\n source: name,\n target: targetDbName,\n label: propName,\n type: '||--o{',\n });\n });\n }\n }\n });\n return { name, fields, relations };\n }\n buildMermaidER(schemas) {\n let mermaid = 'erDiagram\\n';\n // エンティティの定義\n schemas.forEach(schema => {\n mermaid += ` \"${schema.name}\" {\\n`;\n mermaid += schema.fields.map(field => ` ${field}`).join('\\n');\n mermaid += '\\n }\\n';\n });\n // リレーションシップの定義\n schemas.forEach(schema => {\n schema.relations.forEach(relation => {\n mermaid += ` \"${relation.source}\" ${relation.type} \"${relation.target}\" : \"${relation.label}\"\\n`;\n });\n });\n return mermaid;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXIuYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvZG9tYWluL2J1aWxkZXIvZXIvZXIuYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFhQSxNQUFNLG9CQUFvQixHQUFHO0lBQzNCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFNBQVMsRUFBRSxRQUFRO0lBQ25CLFNBQVMsRUFBRSxRQUFRO0lBQ25CLEtBQUssRUFBRSxRQUFRO0lBQ2YsSUFBSSxFQUFFLFFBQVE7SUFDZCxNQUFNLEVBQUUsUUFBUTtJQUNoQixNQUFNLEVBQUUsTUFBTTtJQUNkLE1BQU0sRUFBRSxNQUFNO0lBQ2QsWUFBWSxFQUFFLFFBQVE7SUFDdEIsSUFBSSxFQUFFLE1BQU07SUFDWixNQUFNLEVBQUUsUUFBUTtJQUNoQixLQUFLLEVBQUUsUUFBUTtJQUNmLFFBQVEsRUFBRSxTQUFTO0lBQ25CLEdBQUcsRUFBRSxRQUFRO0lBQ2IsS0FBSyxFQUFFLFFBQVE7SUFDZixZQUFZLEVBQUUsUUFBUTtJQUN0QixRQUFRLEVBQUUsUUFBUTtJQUNsQixNQUFNLEVBQUUsUUFBUTtJQUNoQixZQUFZLEVBQUUsTUFBTTtJQUNwQixVQUFVLEVBQUUsUUFBUTtJQUNwQixnQkFBZ0IsRUFBRSxNQUFNO0lBQ3hCLGNBQWMsRUFBRSxRQUFRO0NBQ3pCLENBQUM7QUFFRixNQUFNLGNBQWMsR0FBRztJQUNyQixVQUFVLEVBQUUsSUFBSTtJQUNoQixXQUFXLEVBQUUsSUFBSTtDQUNsQixDQUFBO0FBRUQsTUFBTSxPQUFPLFNBQVM7SUFDcEIsS0FBSyxDQUFDLFNBQVM7UUFDYixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbkIsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDaEQs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UTs0QkFDZixJQUFJLEVBQUUsUUFBUTt5QkFDZixDQUFDLENBQUM7b0JBQ0wsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVMLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxjQUFjLENBQUMsT0FBaUI7UUFDOUIsSUFBSSxPQUFPLEdBQUcsYUFBYSxDQUFDO1FBRTVCLFlBQVk7UUFDWixPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3ZCLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQztZQUNwQyxPQUFPLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pFLE9BQU8sSUFBSSxTQUFTLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7UUFFSCxlQUFlO1FBQ2YsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN2QixNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDbEMsT0FBTyxJQUFJLE1BQU0sUUFBUSxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxNQUFNLFFBQVEsUUFBUSxDQUFDLEtBQUssS0FBSyxDQUFDO1lBQ3BHLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbnRlcmZhY2UgU2NoZW1hIHtcbiAgbmFtZTogc3RyaW5nO1xuICBmaWVsZHM6IHN0cmluZ1tdO1xuICByZWxhdGlvbnM6IFJlbGF0aW9uW107XG59XG5cbmludGVyZmFjZSBSZWxhdGlvbiB7XG4gIHNvdXJjZTogc3RyaW5nO1xuICB0YXJnZXQ6IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7IC8vIOS+izogXCJ8fC0tb3tcIlxufVxuXG5jb25zdCBOT1RJT05fUFJPUF9UWVBFX01BUCA9IHtcbiAgcGVvcGxlOiAnc3RyaW5nJyxcbiAgdW5pcXVlX2lkOiAnc3RyaW5nJyxcbiAgcmljaF90ZXh0OiAnc3RyaW5nJyxcbiAgdGl0bGU6ICdzdHJpbmcnLFxuICB0ZXh0OiAnc3RyaW5nJyxcbiAgbnVtYmVyOiAnbnVtYmVyJyxcbiAgc2VsZWN0OiAnZW51bScsXG4gIHN0YXR1czogJ2VudW0nLFxuICBtdWx0aV9zZWxlY3Q6ICdzdHJpbmcnLFxuICBkYXRlOiAnZGF0ZScsXG4gIHBlcnNvbjogJ3N0cmluZycsXG4gIGZpbGVzOiAnc3RyaW5nJyxcbiAgY2hlY2tib3g6ICdib29sZWFuJyxcbiAgdXJsOiAnc3RyaW5nJyxcbiAgZW1haWw6ICdzdHJpbmcnLFxuICBwaG9uZV9udW1iZXI6ICdzdHJpbmcnLFxuICByZWxhdGlvbjogJ3N0cmluZycsXG4gIHJvbGx1cDogJ3N0cmluZycsXG4gIGNyZWF0ZWRfdGltZTogJ2RhdGUnLFxuICBjcmVhdGVkX2J5OiAnc3RyaW5nJyxcbiAgbGFzdF9lZGl0ZWRfdGltZTogJ2RhdGUnLFxuICBsYXN0X2VkaXRlZF9ieTogJ3N0cmluZycsXG59O1xuXG5jb25zdCBOT1RJT05fS0VZX01BUCA9IHtcbiAgJ3JlbGF0aW9uJzogJ0ZLJyxcbiAgJ3VuaXF1ZV9pZCc6ICdVSycsXG59XG5cbmV4cG9ydCBjbGFzcyBFckJ1aWxkZXIge1xuICBidWlsZChkYXRhYmFzZXMpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNjaGVtYXMgPSBbXTtcbiAgICBjb25zdCBkYklkVG9OYW1lID0gZGF0YWJhc2VzLnJlZHVjZSgoYWNjLCBkYikgPT4gKHtcbiAgICAgIC4uLmFjYyxcbiAgICAgIFtkYi5pZF06IGRiPy50aXRsZT8uWzBdPy5wbGFpbl90ZXh0XG4gICAgfSksIHt9KTtcbiAgICBmb3IgKGNvbnN0IGRhdGFiYXNlIG9mIGRhdGFiYXNlcykge1xuICAgICAgY29uc3Qgc2NoZW1hID0gdGhpcy5wYXJzZURhdGFiYXNlU2NoZW1hKGRhdGFiYXNlLCBkYXRhYmFzZT8udGl0bGU/LlswXT8ucGxhaW5fdGV4dCwgZGJJZFRvTmFtZSk7XG4gICAgICBzY2hlbWFzLnB1c2goc2NoZW1hKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYnVpbGRNZXJtYWlkRVIoc2NoZW1hcyk7XG4gIH1cblxuICBwYXJzZURhdGFiYXNlU2NoZW1hKFxuICAgIGRhdGFiYXNlLFxuICAgIG5hbWUgPSAnJyxcbiAgICBtYXA6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fSxcbiAgKTogU2NoZW1hIHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gZGF0YWJhc2UucHJvcGVydGllcztcbiAgICBjb25zdCBmaWVsZHM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3QgcmVsYXRpb25zOiBSZWxhdGlvbltdID0gW107XG4gIFxuICAgIE9iamVjdC5rZXlzKHByb3BlcnRpZXMpXG4gICAgICAuZmlsdGVyKHByb3BOYW1lID0+IHtcbiAgICAgICAgaWYgKFsnZm9ybXVsYScsICdyb2xsdXAnLCAnYnV0dG9uJ10uaW5jbHVkZXMocHJvcGVydGllc1twcm9wTmFtZV0udHlwZSkpIHJldHVybiBmYWxzZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9KVxuICAgICAgLnNvcnQoKVxuICAgICAgLmZvckVhY2gocHJvcE5hbWUgPT4ge1xuICAgICAgICBjb25zdCBwcm9wID0gcHJvcGVydGllc1twcm9wTmFtZV07XG4gICAgICAgIGNvbnN0IHR5cGUgPSBwcm9wLnR5cGUgYXMga2V5b2YgdHlwZW9mIE5PVElPTl9QUk9QX1RZUEVfTUFQO1xuICAgICAgICBjb25zdCBtYXBwZWRUeXBlID0gTk9USU9OX1BST1BfVFlQRV9NQVBbdHlwZV07XG4gICAgICAgIGNvbnN0IGtleSA9IE5PVElPTl9LRVlfTUFQW3R5cGVdID8/ICcgJztcbiAgICAgICAgY29uc3QgZmllbGQgPSBgJHttYXBwZWRUeXBlfSAke3R5cGV9ICR7a2V5fSBcIiR7cHJvcE5hbWV9XCJgO1xuICAgICAgICBmaWVsZHMucHVzaChmaWVsZCk7XG4gIFxuICAgICAgICAvLyDjg6rjg6zjg7zjgrfjg6fjg7Pjgrfjg4Pjg5fjga7op6PmnpBcbiAgICAgICAgaWYgKHR5cGUgPT09ICdyZWxhdGlvbicpIHtcbiAgICAgICAgICBjb25zdCByZWxhdGlvbiA9IHByb3BbJ3JlbGF0aW9uJ107XG4gICAgICAgICAgaWYgKHJlbGF0aW9uICYmIHJlbGF0aW9uLmRhdGFiYXNlX2lkKSB7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXREYklkID0gcmVsYXRpb24uZGF0YWJhc2VfaWQ7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXREYk5hbWUgPSBtYXBbdGFyZ2V0RGJJZF0gfHwgJ1Vua25vd24nO1xuICAgICAgICAgICAgcmVsYXRpb25zLnB1c2goe1xuICAgICAgICAgICAgICBzb3VyY2U6IG5hbWUsXG4gICAgICAgICAgICAgIHRhcmdldDogdGFyZ2V0RGJOYW1lLFxuICAgICAgICAgICAgICBsYWJlbDogcHJvcE5hbWUsXG4gICAgICAgICAgICAgIHR5cGU6ICd8fC0tfHwnLCAvLyDjg6rjg6zjg7zjgrfjg6fjg7Pjga7jgr/jgqTjg5fjgpLpganlrpzoqK3lrppcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSBpZiAocmVsYXRpb24gJiYgQXJyYXkuaXNBcnJheShyZWxhdGlvbikpIHtcbiAgICAgICAgICAgIHJlbGF0aW9uLmZvckVhY2gocmVsID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0RGJJZCA9IHJlbC5kYXRhYmFzZV9pZDtcbiAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0RGJOYW1lID0gbWFwW3RhcmdldERiSWRdIHx8ICdVbmtub3duJztcbiAgICAgICAgICAgICAgcmVsYXRpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgIHNvdXJjZTogbmFtZSxcbiAgICAgICAgICAgICAgICB0YXJnZXQ6IHRhcmdldERiTmFtZSxcbiAgICAgICAgICAgICAgICBsYWJlbDogcHJvcE5hbWUsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3x8LS1veycsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgXG4gICAgcmV0dXJuIHsgbmFtZSwgZmllbGRzLCByZWxhdGlvbnMgfTtcbiAgfVxuXG4gIGJ1aWxkTWVybWFpZEVSKHNjaGVtYXM6IFNjaGVtYVtdKTogc3RyaW5nIHtcbiAgICBsZXQgbWVybWFpZCA9ICdlckRpYWdyYW1cXG4nO1xuICBcbiAgICAvLyDjgqjjg7Pjg4bjgqPjg4bjgqPjga7lrprnvqlcbiAgICBzY2hlbWFzLmZvckVhY2goc2NoZW1hID0+IHtcbiAgICAgIG1lcm1haWQgKz0gYCAgXCIke3NjaGVtYS5uYW1lfVwiIHtcXG5gO1xuICAgICAgbWVybWFpZCArPSBzY2hlbWEuZmllbGRzLm1hcChmaWVsZCA9PiBgICAgICR7ZmllbGR9YCkuam9pbignXFxuJyk7XG4gICAgICBtZXJtYWlkICs9ICdcXG4gIH1cXG4nO1xuICAgIH0pO1xuICBcbiAgICAvLyDjg6rjg6zjg7zjgrfjg6fjg7Pjgrfjg4Pjg5fjga7lrprnvqlcbiAgICBzY2hlbWFzLmZvckVhY2goc2NoZW1hID0+IHtcbiAgICAgIHNjaGVtYS5yZWxhdGlvbnMuZm9yRWFjaChyZWxhdGlvbiA9PiB7XG4gICAgICAgIG1lcm1haWQgKz0gYCAgXCIke3JlbGF0aW9uLnNvdXJjZX1cIiAke3JlbGF0aW9uLnR5cGV9IFwiJHtyZWxhdGlvbi50YXJnZXR9XCIgOiBcIiR7cmVsYXRpb24ubGFiZWx9XCJcXG5gO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIFxuICAgIHJldHVybiBtZXJtYWlkO1xuICB9XG59Il19","import { message } from \"@nx-ddd/common\";\nimport { QueryHelper } from \"@xxmachina/common/domain/models\";\nexport class QueryBuilder {\n static buildByGraphql(graphql, meta = {}) {\n return QueryHelper.tryParse({\n id: 'builded_query',\n type: 'graphql',\n projectId: 'default',\n title: 'Builded Query',\n summary: 'This query was built by QueryBuilder',\n graphql: {\n endpoint: graphql.endpoint,\n query: message `${graphql.query}`,\n headersJson: JSON.stringify(graphql.headers),\n variablesJson: JSON.stringify(graphql.variables),\n transformerTs: graphql?.transformerTs ?? null,\n },\n createdAt: null,\n updatedAt: null,\n ...meta,\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvZG9tYWluL2J1aWxkZXIvcXVlcnkvcXVlcnkuYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFTLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXJFLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FNckIsRUFBRSxPQUF3QyxFQUFFO1FBQzNDLE9BQU8sV0FBVyxDQUFDLFFBQVEsQ0FBQztZQUMxQixFQUFFLEVBQUUsZUFBZTtZQUNuQixJQUFJLEVBQUUsU0FBa0I7WUFDeEIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsS0FBSyxFQUFFLGVBQWU7WUFDdEIsT0FBTyxFQUFFLHNDQUFzQztZQUMvQyxPQUFPLEVBQUU7Z0JBQ1AsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO2dCQUMxQixLQUFLLEVBQUUsT0FBTyxDQUFBLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRTtnQkFDaEMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztnQkFDNUMsYUFBYSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztnQkFDaEQsYUFBYSxFQUFFLE9BQU8sRUFBRSxhQUFhLElBQUksSUFBSTthQUM5QztZQUNELFNBQVMsRUFBRSxJQUFJO1lBQ2YsU0FBUyxFQUFFLElBQUk7WUFDZixHQUFHLElBQUk7U0FDUixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtZXNzYWdlIH0gZnJvbSBcIkBueC1kZGQvY29tbW9uXCI7XG5pbXBvcnQgeyBRdWVyeSwgUXVlcnlIZWxwZXIgfSBmcm9tIFwiQHh4bWFjaGluYS9jb21tb24vZG9tYWluL21vZGVsc1wiO1xuXG5leHBvcnQgY2xhc3MgUXVlcnlCdWlsZGVyIHtcbiAgc3RhdGljIGJ1aWxkQnlHcmFwaHFsKGdyYXBocWw6IHtcbiAgICBlbmRwb2ludDogc3RyaW5nO1xuICAgIHF1ZXJ5OiBzdHJpbmc7XG4gICAgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICB2YXJpYWJsZXM6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgdHJhbnNmb3JtZXJUcz86IHN0cmluZztcbiAgfSwgbWV0YTogUGFydGlhbDxPbWl0PFF1ZXJ5LCAnZ3JhcGhxbCc+PiA9IHt9KTogUXVlcnkge1xuICAgIHJldHVybiBRdWVyeUhlbHBlci50cnlQYXJzZSh7XG4gICAgICBpZDogJ2J1aWxkZWRfcXVlcnknLFxuICAgICAgdHlwZTogJ2dyYXBocWwnIGFzIGNvbnN0LFxuICAgICAgcHJvamVjdElkOiAnZGVmYXVsdCcsXG4gICAgICB0aXRsZTogJ0J1aWxkZWQgUXVlcnknLFxuICAgICAgc3VtbWFyeTogJ1RoaXMgcXVlcnkgd2FzIGJ1aWx0IGJ5IFF1ZXJ5QnVpbGRlcicsXG4gICAgICBncmFwaHFsOiB7XG4gICAgICAgIGVuZHBvaW50OiBncmFwaHFsLmVuZHBvaW50LFxuICAgICAgICBxdWVyeTogbWVzc2FnZWAke2dyYXBocWwucXVlcnl9YCxcbiAgICAgICAgaGVhZGVyc0pzb246IEpTT04uc3RyaW5naWZ5KGdyYXBocWwuaGVhZGVycyksXG4gICAgICAgIHZhcmlhYmxlc0pzb246IEpTT04uc3RyaW5naWZ5KGdyYXBocWwudmFyaWFibGVzKSxcbiAgICAgICAgdHJhbnNmb3JtZXJUczogZ3JhcGhxbD8udHJhbnNmb3JtZXJUcyA/PyBudWxsLFxuICAgICAgfSxcbiAgICAgIGNyZWF0ZWRBdDogbnVsbCxcbiAgICAgIHVwZGF0ZWRBdDogbnVsbCxcbiAgICAgIC4uLm1ldGEsXG4gICAgfSk7XG4gIH0gIFxufVxuIl19","function buildPageItem(property, propName, dbName) {\n switch (property.type) {\n case 'select': return {\n id: property.id,\n name: propName,\n type: '入力(単一選択)',\n notionPropType: 'セレクト',\n formula: '',\n valueType: 'string',\n dbName,\n };\n case 'multi_select': return {\n id: property.id,\n name: propName,\n type: '入力(複数選択)',\n notionPropType: 'マルチセレクト',\n formula: '',\n valueType: 'string',\n dbName,\n };\n case 'relation': return {\n id: property.id,\n name: propName,\n type: '入力(単一選択)',\n notionPropType: 'リレーション',\n formula: '',\n valueType: 'string',\n dbName,\n };\n case 'rollup': return {\n id: property.id,\n name: propName,\n type: '表示',\n notionPropType: 'ロールアップ',\n formula: '',\n valueType: 'string',\n dbName,\n };\n case 'unique_id': return {\n id: property.id,\n name: propName,\n type: '表示',\n notionPropType: 'ユニークID',\n formula: '',\n valueType: 'string',\n dbName,\n };\n case 'created_time': return {\n id: property.id,\n name: propName,\n type: '表示',\n notionPropType: '作成日時',\n formula: '',\n valueType: 'date',\n dbName,\n };\n case 'created_by': return {\n id: property.id,\n name: propName,\n type: '表示',\n notionPropType: '作成者',\n formula: '',\n valueType: 'string',\n dbName,\n };\n case 'rich_text': return {\n id: property.id,\n name: propName,\n type: '入力(テキスト)',\n notionPropType: 'テキスト',\n formula: '',\n valueType: 'string',\n dbName,\n };\n case 'number': return {\n id: property.id,\n name: propName,\n type: '入力(数値)',\n notionPropType: '数値',\n formula: '',\n valueType: 'number',\n dbName,\n };\n case 'date': return {\n id: property.id,\n name: propName,\n type: '入力(日時)',\n notionPropType: '日時',\n formula: '',\n valueType: 'date',\n dbName,\n };\n case 'checkbox': return {\n id: property.id,\n name: propName,\n type: '入力(複数選択)',\n notionPropType: 'チェックボックス',\n formula: '',\n valueType: 'boolean',\n dbName,\n };\n case 'title': return {\n id: property.id,\n name: propName,\n type: '入力(テキスト)',\n notionPropType: 'タイトル',\n formula: '',\n valueType: 'string',\n dbName,\n };\n case 'people': return {\n id: property.id,\n name: propName,\n type: '入力(単一選択)',\n notionPropType: 'ユーザー',\n formula: '',\n valueType: 'string',\n dbName,\n };\n case 'last_edited_time': return {\n id: property.id,\n name: propName,\n type: '表示',\n notionPropType: '最終更新日時',\n formula: '',\n valueType: 'date',\n dbName,\n };\n case 'last_edited_by': return {\n id: property.id,\n name: propName,\n type: '表示',\n notionPropType: '最終更新者',\n formula: '',\n valueType: 'string',\n dbName,\n };\n case 'status': return {\n id: property.id,\n name: propName,\n type: '入力(単一選択)',\n notionPropType: 'ステータス',\n formula: '',\n valueType: 'string',\n dbName,\n };\n case 'formula': return {\n id: property.id,\n name: propName,\n type: '表示',\n notionPropType: '数式',\n formula: '',\n valueType: 'any',\n dbName,\n };\n /* @ts-ignore */\n case 'button': return {\n id: property?.['id'] ?? '',\n name: propName,\n type: 'ボタン',\n notionPropType: 'ボタン',\n formula: '',\n valueType: 'string',\n dbName,\n };\n default: return {\n id: property.id,\n name: propName,\n type: '不明',\n notionPropType: property.type,\n formula: '',\n valueType: 'string',\n dbName,\n };\n }\n}\nexport class ScreenItemBuilder {\n build(database) {\n const items = [];\n Object.entries(database?.properties ?? {}).sort((a, b) => {\n return a[0].localeCompare(b[0]);\n }).filter(([propName, prop]) => {\n // if (propName.startsWith('_')) return false;\n // if (/^\\d/.test(propName)) return false;\n // if (propName.includes('旧エクセル')) return false;\n // if (['formula', 'rollup', 'button'].includes(prop.type)) return false;\n return true;\n }).forEach(([propName, prop]) => {\n const item = buildPageItem(prop, propName, database?.title?.[0]?.plain_text ?? '');\n items.push(item);\n });\n return items;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLWl0ZW0uYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvZG9tYWluL2J1aWxkZXIvc2NyZWVuLWl0ZW0vc2NyZWVuLWl0ZW0uYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxTQUFTLGFBQWEsQ0FDcEIsUUFBbUQsRUFDbkQsUUFBZ0IsRUFDaEIsTUFBYztJQUVkLFFBQVEsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLEtBQUssUUFBUSxDQUFDLENBQUMsT0FBTztZQUNwQixFQUFFLEVBQUUsUUFBUSxDQUFDLEVBQUU7WUFDZixJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRSxVQUFVO1lBQ2hCLGNBQWMsRUFBRSxNQUFNO1lBQ3RCLE9BQU8sRUFBRSxFQUFFO1lBQ1gsU0FBUyxFQUFFLFFBQVE7WUFDbkIsTUFBTTtTQUNQLENBQUM7UUFDRixLQUFLLGNBQWMsQ0FBQyxDQUFDLE9BQU87WUFDMUIsRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFO1lBQ2YsSUFBSSxFQUFFLFFBQVE7WUFDZCxJQUFJLEVBQUUsVUFBVTtZQUNoQixjQUFjLEVBQUUsU0FBUztZQUN6QixPQUFPLEVBQUUsRUFBRTtZQUNYLFNBQVMsRUFBRSxRQUFRO1lBQ25CLE1BQU07U0FDUCxDQUFBO1FBQ0QsS0FBSyxVQUFVLENBQUMsQ0FBQyxPQUFPO1lBQ3RCLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRTtZQUNmLElBQUksRUFBRSxRQUFRO1lBQ2QsSUFBSSxFQUFFLFVBQVU7WUFDaEIsY0FBYyxFQUFFLFFBQVE7WUFDeEIsT0FBTyxFQUFFLEVBQUU7WUFDWCxTQUFTLEVBQUUsUUFBUTtZQUNuQixNQUFNO1NBQ1AsQ0FBQTtRQUNELEtBQUssUUFBUSxDQUFDLENBQUMsT0FBTztZQUNwQixFQUFFLEVBQUUsUUFBUSxDQUFD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Q0FBQztJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjcmVlbkl0ZW0gfSBmcm9tICdAeHhtYWNoaW5hL2NvbW1vbi9kb21haW4vbW9kZWxzJztcbmltcG9ydCB0eXBlIHsgR2V0RGF0YWJhc2VSZXNwb25zZSB9IGZyb20gJ0Bub3Rpb25ocS9jbGllbnQvYnVpbGQvc3JjL2FwaS1lbmRwb2ludHMnO1xuaW1wb3J0IHsgRGF0YWJhc2UgfSBmcm9tICdAeHhtYWNoaW5hL2NvbW1vbi9kb21haW4vbW9kZWxzJztcblxuZnVuY3Rpb24gYnVpbGRQYWdlSXRlbShcbiAgcHJvcGVydHk6IEdldERhdGFiYXNlUmVzcG9uc2VbJ3Byb3BlcnRpZXMnXVtzdHJpbmddLFxuICBwcm9wTmFtZTogc3RyaW5nLFxuICBkYk5hbWU6IHN0cmluZyxcbik6IFNjcmVlbkl0ZW0ge1xuICBzd2l0Y2ggKHByb3BlcnR5LnR5cGUpIHtcbiAgICBjYXNlICdzZWxlY3QnOiByZXR1cm4ge1xuICAgICAgaWQ6IHByb3BlcnR5LmlkLFxuICAgICAgbmFtZTogcHJvcE5hbWUsXG4gICAgICB0eXBlOiAn5YWl5YqbKOWNmOS4gOmBuOaKniknLFxuICAgICAgbm90aW9uUHJvcFR5cGU6ICfjgrvjg6zjgq/jg4gnLFxuICAgICAgZm9ybXVsYTogJycsXG4gICAgICB2YWx1ZVR5cGU6ICdzdHJpbmcnLFxuICAgICAgZGJOYW1lLFxuICAgIH07XG4gICAgY2FzZSAnbXVsdGlfc2VsZWN0JzogcmV0dXJuIHtcbiAgICAgIGlkOiBwcm9wZXJ0eS5pZCxcbiAgICAgIG5hbWU6IHByb3BOYW1lLFxuICAgICAgdHlwZTogJ+WFpeWKmyjopIfmlbDpgbjmip4pJyxcbiAgICAgIG5vdGlvblByb3BUeXBlOiAn44Oe44Or44OB44K744Os44Kv44OIJyxcbiAgICAgIGZvcm11bGE6ICcnLFxuICAgICAgdmFsdWVUeXBlOiAnc3RyaW5nJyxcbiAgICAgIGRiTmFtZSxcbiAgICB9XG4gICAgY2FzZSAncmVsYXRpb24nOiByZXR1cm4ge1xuICAgICAgaWQ6IHByb3BlcnR5LmlkLFxuICAgICAgbmFtZTogcHJvcE5hbWUsXG4gICAgICB0eXBlOiAn5YWl5YqbKOWNmOS4gOmBuOaKniknLFxuICAgICAgbm90aW9uUHJvcFR5cGU6ICfjg6rjg6zjg7zjgrfjg6fjg7MnLFxuICAgICAgZm9ybXVsYTogJycsXG4gICAgICB2YWx1ZVR5cGU6ICdzdHJpbmcnLFxuICAgICAgZGJOYW1lLFxuICAgIH1cbiAgICBjYXNlICdyb2xsdXAnOiByZXR1cm4ge1xuICAgICAgaWQ6IHByb3BlcnR5LmlkLFxuICAgICAgbmFtZTogcHJvcE5hbWUsXG4gICAgICB0eXBlOiAn6KGo56S6JyxcbiAgICAgIG5vdGlvblByb3BUeXBlOiAn44Ot44O844Or44Ki44OD44OXJyxcbiAgICAgIGZvcm11bGE6ICcnLFxuICAgICAgdmFsdWVUeXBlOiAnc3RyaW5nJyxcbiAgICAgIGRiTmFtZSxcbiAgICB9XG4gICAgY2FzZSAndW5pcXVlX2lkJzogcmV0dXJuIHtcbiAgICAgIGlkOiBwcm9wZXJ0eS5pZCxcbiAgICAgIG5hbWU6IHByb3BOYW1lLFxuICAgICAgdHlwZTogJ+ihqOekuicsXG4gICAgICBub3Rpb25Qcm9wVHlwZTogJ+ODpuODi+ODvOOCr0lEJyxcbiAgICAgIGZvcm11bGE6ICcnLFxuICAgICAgdmFsdWVUeXBlOiAnc3RyaW5nJyxcbiAgICAgIGRiTmFtZSxcbiAgICB9XG4gICAgY2FzZSAnY3JlYXRlZF90aW1lJzogcmV0dXJuIHtcbiAgICAgIGlkOiBwcm9wZXJ0eS5pZCxcbiAgICAgIG5hbWU6IHByb3BOYW1lLFxuICAgICAgdHlwZTogJ+ihqOekuicsXG4gICAgICBub3Rpb25Qcm9wVHlwZTogJ+S9nOaIkOaXpeaZgicsXG4gICAgICBmb3JtdWxhOiAnJyxcbiAgICAgIHZhbHVlVHlwZTogJ2RhdGUnLFxuICAgICAgZGJOYW1lLFxuICAgIH1cbiAgICBjYXNlICdjcmVhdGVkX2J5JzogcmV0dXJuIHtcbiAgICAgIGlkOiBwcm9wZXJ0eS5pZCxcbiAgICAgIG5hbWU6IHByb3BOYW1lLFxuICAgICAgdHlwZTogJ+ihqOekuicsXG4gICAgICBub3Rpb25Qcm9wVHlwZTogJ+S9nOaIkOiAhScsXG4gICAgICBmb3JtdWxhOiAnJyxcbiAgICAgIHZhbHVlVHlwZTogJ3N0cmluZycsXG4gICAgICBkYk5hbWUsXG4gICAgfVxuICAgIGNhc2UgJ3JpY2hfdGV4dCc6IHJldHVybiB7XG4gICAgICBpZDogcHJvcGVydHkuaWQsXG4gICAgICBuYW1lOiBwcm9wTmFtZSxcbiAgICAgIHR5cGU6ICflhaXlipso44OG44Kt44K544OIKScsXG4gICAgICBub3Rpb25Qcm9wVHlwZTogJ+ODhuOCreOCueODiCcsXG4gICAgICBmb3JtdWxhOiAnJyxcbiAgICAgIHZhbHVlVHlwZTogJ3N0cmluZycsXG4gICAgICBkYk5hbWUsXG4gICAgfVxuICAgIGNhc2UgJ251bWJlcic6IHJldHVybiB7XG4gICAgICBpZDogcHJvcGVydHkuaWQsXG4gICAgICBuYW1lOiBwcm9wTmFtZSxcbiAgICAgIHR5cGU6ICflhaXlipso5pWw5YCkKScsXG4gICAgICBub3Rpb25Qcm9wVHlwZTogJ+aVsOWApCcsXG4gICAgICBmb3JtdWxhOiAnJyxcbiAgICAgIHZhbHVlVHlwZTogJ251bWJlcicsXG4gICAgICBkYk5hbWUsXG4gICAgfVxuICAgIGNhc2UgJ2RhdGUnOiByZXR1cm4ge1xuICAgICAgaWQ6IHByb3BlcnR5LmlkLFxuICAgICAgbmFtZTogcHJvcE5hbWUsXG4gICAgICB0eXBlOiAn5YWl5YqbKOaXpeaZgiknLFxuICAgICAgbm90aW9uUHJvcFR5cGU6ICfml6XmmYInLFxuICAgICAgZm9ybXVsYTogJycsXG4gICAgICB2YWx1ZVR5cGU6ICdkYXRlJyxcbiAgICAgIGRiTmFtZSxcbiAgICB9XG4gICAgY2FzZSAnY2hlY2tib3gnOiByZXR1cm4ge1xuICAgICAgaWQ6IHByb3BlcnR5LmlkLFxuICAgICAgbmFtZTogcHJvcE5hbWUsXG4gICAgICB0eXBlOiAn5YWl5YqbKOikh+aVsOmBuOaKniknLFxuICAgICAgbm90aW9uUHJvcFR5cGU6ICfjg4Hjgqfjg4Pjgq/jg5zjg4Pjgq/jgrknLFxuICAgICAgZm9ybXVsYTogJycsXG4gICAgICB2YWx1ZVR5cGU6ICdib29sZWFuJyxcbiAgICAgIGRiTmFtZSxcbiAgICB9XG4gICAgY2FzZSAndGl0bGUnOiByZXR1cm4ge1xuICAgICAgaWQ6IHByb3BlcnR5LmlkLFxuICAgICAgbmFtZTogcHJvcE5hbWUsXG4gICAgICB0eXBlOiAn5YWl5YqbKOODhuOCreOCueODiCknLFxuICAgICAgbm90aW9uUHJvcFR5cGU6ICfjgr/jgqTjg4jjg6snLFxuICAgICAgZm9ybXVsYTogJycsXG4gICAgICB2YWx1ZVR5cGU6ICdzdHJpbmcnLFxuICAgICAgZGJOYW1lLFxuICAgIH1cbiAgICBjYXNlICdwZW9wbGUnOiByZXR1cm4ge1xuICAgICAgaWQ6IHByb3BlcnR5LmlkLFxuICAgICAgbmFtZTogcHJvcE5hbWUsXG4gICAgICB0eXBlOiAn5YWl5YqbKOWNmOS4gOmBuOaKniknLFxuICAgICAgbm90aW9uUHJvcFR5cGU6ICfjg6bjg7zjgrbjg7wnLFxuICAgICAgZm9ybXVsYTogJycsXG4gICAgICB2YWx1ZVR5cGU6ICdzdHJpbmcnLFxuICAgICAgZGJOYW1lLFxuICAgIH1cbiAgICBjYXNlICdsYXN0X2VkaXRlZF90aW1lJzogcmV0dXJuIHtcbiAgICAgIGlkOiBwcm9wZXJ0eS5pZCxcbiAgICAgIG5hbWU6IHByb3BOYW1lLFxuICAgICAgdHlwZTogJ+ihqOekuicsXG4gICAgICBub3Rpb25Qcm9wVHlwZTogJ+acgOe1guabtOaWsOaXpeaZgicsXG4gICAgICBmb3JtdWxhOiAnJyxcbiAgICAgIHZhbHVlVHlwZTogJ2RhdGUnLFxuICAgICAgZGJOYW1lLFxuICAgIH1cbiAgICBjYXNlICdsYXN0X2VkaXRlZF9ieSc6IHJldHVybiB7XG4gICAgICBpZDogcHJvcGVydHkuaWQsXG4gICAgICBuYW1lOiBwcm9wTmFtZSxcbiAgICAgIHR5cGU6ICfooajnpLonLFxuICAgICAgbm90aW9uUHJvcFR5cGU6ICfmnIDntYLmm7TmlrDogIUnLFxuICAgICAgZm9ybXVsYTogJycsXG4gICAgICB2YWx1ZVR5cGU6ICdzdHJpbmcnLFxuICAgICAgZGJOYW1lLFxuICAgIH1cbiAgICBjYXNlICdzdGF0dXMnOiByZXR1cm4ge1xuICAgICAgaWQ6IHByb3BlcnR5LmlkLFxuICAgICAgbmFtZTogcHJvcE5hbWUsXG4gICAgICB0eXBlOiAn5YWl5YqbKOWNmOS4gOmBuOaKniknLFxuICAgICAgbm90aW9uUHJvcFR5cGU6ICfjgrnjg4bjg7zjgr/jgrknLFxuICAgICAgZm9ybXVsYTogJycsXG4gICAgICB2YWx1ZVR5cGU6ICdzdHJpbmcnLFxuICAgICAgZGJOYW1lLFxuICAgIH1cbiAgICBjYXNlICdmb3JtdWxhJzogcmV0dXJuIHtcbiAgICAgIGlkOiBwcm9wZXJ0eS5pZCxcbiAgICAgIG5hbWU6IHByb3BOYW1lLFxuICAgICAgdHlwZTogJ+ihqOekuicsXG4gICAgICBub3Rpb25Qcm9wVHlwZTogJ+aVsOW8jycsXG4gICAgICBmb3JtdWxhOiAnJyxcbiAgICAgIHZhbHVlVHlwZTogJ2FueScsXG4gICAgICBkYk5hbWUsXG4gICAgfVxuICAgIC8qIEB0cy1pZ25vcmUgKi9cbiAgICBjYXNlICdidXR0b24nOiByZXR1cm4ge1xuICAgICAgaWQ6IHByb3BlcnR5Py5bJ2lkJ10gPz8gJycsXG4gICAgICBuYW1lOiBwcm9wTmFtZSxcbiAgICAgIHR5cGU6ICfjg5zjgr/jg7MnLFxuICAgICAgbm90aW9uUHJvcFR5cGU6ICfjg5zjgr/jg7MnLFxuICAgICAgZm9ybXVsYTogJycsXG4gICAgICB2YWx1ZVR5cGU6ICdzdHJpbmcnLFxuICAgICAgZGJOYW1lLFxuICAgIH1cbiAgICBkZWZhdWx0OiByZXR1cm4ge1xuICAgICAgaWQ6IHByb3BlcnR5LmlkLFxuICAgICAgbmFtZTogcHJvcE5hbWUsXG4gICAgICB0eXBlOiAn5LiN5piOJyxcbiAgICAgIG5vdGlvblByb3BUeXBlOiBwcm9wZXJ0eS50eXBlLFxuICAgICAgZm9ybXVsYTogJycsXG4gICAgICB2YWx1ZVR5cGU6ICdzdHJpbmcnLFxuICAgICAgZGJOYW1lLFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNjcmVlbkl0ZW1CdWlsZGVyIHtcbiAgYnVpbGQoZGF0YWJhc2U6IERhdGFiYXNlKTogU2NyZWVuSXRlbVtdIHtcbiAgICBjb25zdCBpdGVtczogU2NyZWVuSXRlbVtdID0gW107XG4gIFxuICAgIE9iamVjdC5lbnRyaWVzKGRhdGFiYXNlPy5wcm9wZXJ0aWVzID8/IHt9KS5zb3J0KChhLCBiKSA9PiB7XG4gICAgICByZXR1cm4gYVswXS5sb2NhbGVDb21wYXJlKGJbMF0pO1xuICAgIH0pLmZpbHRlcigoW3Byb3BOYW1lLCBwcm9wXSkgPT4ge1xuICAgICAgLy8gaWYgKHByb3BOYW1lLnN0YXJ0c1dpdGgoJ18nKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgLy8gaWYgKC9eXFxkLy50ZXN0KHByb3BOYW1lKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgLy8gaWYgKHByb3BOYW1lLmluY2x1ZGVzKCfml6fjgqjjgq/jgrvjg6snKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgLy8gaWYgKFsnZm9ybXVsYScsICdyb2xsdXAnLCAnYnV0dG9uJ10uaW5jbHVkZXMocHJvcC50eXBlKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSkuZm9yRWFjaCgoW3Byb3BOYW1lLCBwcm9wXSkgPT4ge1xuICAgICAgY29uc3QgaXRlbSA9IGJ1aWxkUGFnZUl0ZW0ocHJvcCwgcHJvcE5hbWUsIGRhdGFiYXNlPy50aXRsZT8uWzBdPy5wbGFpbl90ZXh0ID8/ICcnKTtcbiAgICAgIGl0ZW1zLnB1c2goaXRlbSk7XG4gICAgfSk7XG4gIFxuICAgIHJldHVybiBpdGVtcztcbiAgfVxufSJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1kb21haW4tYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvZG9tYWluL2J1aWxkZXIveHhtYWNoaW5hLWNvbW1vbi1kb21haW4tYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"xxmachina-common-domain-builder.mjs","sources":["../tmp-esm2022/domain/builder/command/command.builder.js","../tmp-esm2022/domain/builder/command-action/command-action.builder.js","../tmp-esm2022/domain/builder/er/er.builder.js","../tmp-esm2022/domain/builder/query/query.builder.js","../tmp-esm2022/domain/builder/screen-item/screen-item.builder.js","../tmp-esm2022/domain/builder/xxmachina-common-domain-builder.js"],"sourcesContent":["export class CommandBuilder {\n buildFromOpenApi(openApi) {\n return Object.keys(openApi.getPaths()).flatMap((path) => {\n return openApi.getMethods(path).map((method, index) => ({\n id: openApi.getOperationId(path, method) ?? `cmd-${index}`,\n name: openApi.getSummary(path, method) ?? '',\n description: openApi.getDescription(path, method) ?? '',\n type: 'webApiRequest',\n webApiRequest: {\n path: path,\n method: method.toLocaleUpperCase(),\n contentType: openApi.getContentType(path, method),\n responseContentType: openApi.getResponseContentType(path, method),\n bodySchema: openApi.getRequestBodySchema(path, method),\n serverUrl: openApi.getServerUrl(),\n apiJsonUrl: openApi.apiJsonUrl,\n security: openApi.getSecurity(path, method) ?? [],\n }\n }));\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21tb24vc3JjL2xpYi9kb21haW4vYnVpbGRlci9jb21tYW5kL2NvbW1hbmQuYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sY0FBYztJQUN6QixnQkFBZ0IsQ0FBQyxPQUFnQjtRQUMvQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdEQsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzlELEVBQUUsRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxPQUFPLEtBQUssRUFBRTtnQkFDMUQsSUFBSSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUU7Z0JBQzVDLFdBQVcsRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFO2dCQUN2RCxJQUFJLEVBQUUsZUFBd0I7Z0JBQzlCLGFBQWEsRUFBRTtvQkFDYixJQUFJLEVBQUUsSUFBSTtvQkFDVixNQUFNLEVBQUUsTUFBTSxDQUFDLGlCQUFpQixFQUFFO29CQUNsQyxXQUFXLEVBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUErQztvQkFDL0YsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxNQUFNLENBQTJDO29CQUMzRyxVQUFVLEVBQUUsT0FBTyxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7b0JBQ3RELFNBQVMsRUFBRSxPQUFPLENBQUMsWUFBWSxFQUFFO29CQUNqQyxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVU7b0JBQzlCLFFBQVEsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFO2lCQUNsRDthQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tYW5kLCBPcGVuQXBpIH0gZnJvbSAnQHh4bWFjaGluYS9jb21tb24vZG9tYWluL21vZGVscyc7XG5cbmV4cG9ydCBjbGFzcyBDb21tYW5kQnVpbGRlciB7XG4gIGJ1aWxkRnJvbU9wZW5BcGkob3BlbkFwaTogT3BlbkFwaSk6IENvbW1hbmRbXSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKG9wZW5BcGkuZ2V0UGF0aHMoKSkuZmxhdE1hcCgocGF0aCkgPT4ge1xuICAgICAgcmV0dXJuIG9wZW5BcGkuZ2V0TWV0aG9kcyhwYXRoKS5tYXAoKG1ldGhvZCwgaW5kZXg6IG51bWJlcikgPT4gKHtcbiAgICAgICAgaWQ6IG9wZW5BcGkuZ2V0T3BlcmF0aW9uSWQocGF0aCwgbWV0aG9kKSA/PyBgY21kLSR7aW5kZXh9YCxcbiAgICAgICAgbmFtZTogb3BlbkFwaS5nZXRTdW1tYXJ5KHBhdGgsIG1ldGhvZCkgPz8gJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBvcGVuQXBpLmdldERlc2NyaXB0aW9uKHBhdGgsIG1ldGhvZCkgPz8gJycsXG4gICAgICAgIHR5cGU6ICd3ZWJBcGlSZXF1ZXN0JyBhcyBjb25zdCxcbiAgICAgICAgd2ViQXBpUmVxdWVzdDoge1xuICAgICAgICAgIHBhdGg6IHBhdGgsXG4gICAgICAgICAgbWV0aG9kOiBtZXRob2QudG9Mb2NhbGVVcHBlckNhc2UoKSxcbiAgICAgICAgICBjb250ZW50VHlwZTogb3BlbkFwaS5nZXRDb250ZW50VHlwZShwYXRoLCBtZXRob2QpIGFzICdhcHBsaWNhdGlvbi9qc29uJyB8ICdtdWx0aXBhcnQvZm9ybS1kYXRhJyxcbiAgICAgICAgICByZXNwb25zZUNvbnRlbnRUeXBlOiBvcGVuQXBpLmdldFJlc3BvbnNlQ29udGVudFR5cGUocGF0aCwgbWV0aG9kKSBhcyAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJyB8ICd1bmtub3duJyxcbiAgICAgICAgICBib2R5U2NoZW1hOiBvcGVuQXBpLmdldFJlcXVlc3RCb2R5U2NoZW1hKHBhdGgsIG1ldGhvZCksXG4gICAgICAgICAgc2VydmVyVXJsOiBvcGVuQXBpLmdldFNlcnZlclVybCgpLFxuICAgICAgICAgIGFwaUpzb25Vcmw6IG9wZW5BcGkuYXBpSnNvblVybCxcbiAgICAgICAgICBzZWN1cml0eTogb3BlbkFwaS5nZXRTZWN1cml0eShwYXRoLCBtZXRob2QpID8/IFtdLFxuICAgICAgICB9XG4gICAgICB9KSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==","import { createAction } from '@ng-atomic/core';\nimport { flatten } from 'flat';\nimport { omitBy } from 'lodash-es';\nimport { createNavigateAction } from '@ng-atomic/components/frames/app';\nexport var ActionId;\n(function (ActionId) {\n ActionId[\"NAVIGATE_TO_COMMAND_PAGE\"] = \"[@xxmachina/common] Navigate To Command Page\";\n ActionId[\"EXECUTE_COMMAND\"] = \"[@xxmachina/common] Execute Command\";\n})(ActionId || (ActionId = {}));\nexport class CommandActionsBuilder {\n commands = [];\n options = {};\n item = null;\n filterIds = null;\n autoIds = [];\n setCommands(commands) {\n const newFactory = new CommandActionsBuilder();\n newFactory.commands = [...commands];\n newFactory.options = { ...this.options };\n newFactory.item = this.item;\n newFactory.filterIds = this.filterIds;\n newFactory.autoIds = this.autoIds;\n return newFactory;\n }\n setOptions(options) {\n const newFactory = new CommandActionsBuilder();\n newFactory.commands = [...this.commands];\n newFactory.options = { ...this.options, ...options };\n newFactory.item = this.item;\n newFactory.filterIds = this.filterIds;\n newFactory.autoIds = this.autoIds;\n return newFactory;\n }\n setItem(item) {\n const newFactory = new CommandActionsBuilder();\n newFactory.commands = [...this.commands];\n newFactory.options = { ...this.options };\n newFactory.item = item;\n newFactory.filterIds = this.filterIds;\n newFactory.autoIds = this.autoIds;\n return newFactory;\n }\n setFilterIds(filterIds = []) {\n const newFactory = new CommandActionsBuilder();\n newFactory.commands = [...this.commands];\n newFactory.options = { ...this.options };\n newFactory.item = this.item;\n newFactory.filterIds = filterIds.map((id) => typeof id === 'string' ? id : id.id);\n newFactory.autoIds = filterIds.filter((id) => typeof id !== 'string' && id.auto).map((id) => id.id);\n return newFactory;\n }\n setAutoIds(autoIds) {\n const newFactory = new CommandActionsBuilder();\n newFactory.commands = [...this.commands];\n newFactory.options = { ...this.options };\n newFactory.item = this.item;\n newFactory.filterIds = [...this.filterIds];\n newFactory.autoIds = autoIds;\n return newFactory;\n }\n applyFilter(commands) {\n if (!this.filterIds)\n return commands;\n return this.filterIds.map((id) => commands.find((command) => command.id === id))\n .filter((command) => !!command);\n }\n buildAction(id) {\n const command = this.commands.find((command) => command.id === id);\n if (!command)\n throw new Error(`Command not found: ${id}`);\n const actionId = this.autoIds.includes(command.id)\n ? ActionId.EXECUTE_COMMAND\n : ActionId.NAVIGATE_TO_COMMAND_PAGE;\n const creator = createAction(actionId, command.webApiRequest.bodySchema, {\n name: command.name,\n icon: this.options.icon || 'default',\n ...this.options,\n });\n return creator.create({\n command,\n body: this.item,\n options: {\n queryId: this.options.queryId,\n confirm: this.options.confirm,\n }\n });\n }\n buildActions(item, navigationExtras = {}, overwrite = {}) {\n const filteredCommands = this.applyFilter(this.commands);\n return filteredCommands.map((command) => {\n if (this.autoIds.includes(command.id)) {\n return createAction(ActionId.EXECUTE_COMMAND, command.webApiRequest.bodySchema, {\n name: command.name,\n icon: this.options.icon || 'default',\n }).create({\n command,\n body: this.item,\n options: {\n queryId: this.options.queryId,\n confirm: this.options.confirm,\n }\n }, overwrite);\n }\n else {\n const data = omitBy(flatten({ data: this.item, queryId: this.options.queryId }), value => typeof value === 'undefined');\n return createNavigateAction(['commands', { skip: true }, command.id, data], navigationExtras, {\n name: command.name,\n icon: this.options.icon,\n ...overwrite,\n });\n }\n });\n }\n buildItemActions() {\n return (item) => this.setItem(item).buildActions();\n }\n}\nexport function createCommandNavigateAction(command, navigationExtras = {}, item = {}, options = {}, overwrite = {}) {\n if (!command)\n return null;\n return new CommandActionsBuilder()\n .setItem(item)\n .setCommands([command])\n .setOptions(options)\n .setFilterIds([command.id])\n .buildActions(item, navigationExtras, overwrite)[0];\n}\nexport function createCommandExecutionAction(command, item = {}, options = {}, overwrite = {}) {\n if (!command)\n return null;\n return new CommandActionsBuilder()\n .setItem(item)\n .setCommands([command])\n .setOptions(options)\n .setFilterIds([command.id])\n .setAutoIds([command.id])\n .buildActions(item, undefined, overwrite)[0];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1hY3Rpb24uYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvZG9tYWluL2J1aWxkZXIvY29tbWFuZC1hY3Rpb24vY29tbWFuZC1hY3Rpb24uYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsWUFBWSxFQUF3QixNQUFNLGlCQUFpQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUl4RSxNQUFNLENBQU4sSUFBWSxRQUdYO0FBSEQsV0FBWSxRQUFRO0lBQ2xCLHFGQUF5RSxDQUFBO0lBQ3pFLG1FQUF1RCxDQUFBO0FBQ3pELENBQUMsRUFIVyxRQUFRLEtBQVIsUUFBUSxRQUduQjtBQWdCRCxNQUFNLE9BQU8scUJBQXFCO0lBQ3hCLFFBQVEsR0FBYyxFQUFFLENBQUM7SUFDekIsT0FBTyxHQUFnQyxFQUFFLENBQUM7SUFDMUMsSUFBSSxHQUFRLElBQUksQ0FBQztJQUNqQixTQUFTLEdBQW9CLElBQUksQ0FBQztJQUNsQyxPQUFPLEdBQWEsRUFBRSxDQUFDO0lBRS9CLFdBQVcsQ0FBQyxRQUFtQjtRQUM3QixNQUFNLFVBQVUsR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUM7UUFDL0MsVUFBVSxDQUFDLFFBQVEsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDcEMsVUFBVSxDQUFDLE9BQU8sR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3pDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM1QixVQUFVLENBQUMsU0FBUyxH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QUMxQixPQUFPLElBQUkscUJBQXFCLEVBQUU7U0FDL0IsT0FBTyxDQUFDLElBQUksQ0FBQztTQUNiLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3RCLFVBQVUsQ0FBQyxPQUFPLENBQUM7U0FDbkIsWUFBWSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzFCLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN4QixZQUFZLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uLCBjcmVhdGVBY3Rpb24sIENyZWF0ZUFjdGlvbnNPcHRpb25zIH0gZnJvbSAnQG5nLWF0b21pYy9jb3JlJztcbmltcG9ydCB7IGZsYXR0ZW4gfSBmcm9tICdmbGF0JztcbmltcG9ydCB7IG9taXRCeSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBjcmVhdGVOYXZpZ2F0ZUFjdGlvbiB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9mcmFtZXMvYXBwJztcbmltcG9ydCB7IE5hdmlnYXRpb25FeHRyYXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ29tbWFuZCB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2RvbWFpbi9tb2RlbHMnO1xuXG5leHBvcnQgZW51bSBBY3Rpb25JZCB7XG4gIE5BVklHQVRFX1RPX0NPTU1BTkRfUEFHRSA9ICdbQHh4bWFjaGluYS9jb21tb25dIE5hdmlnYXRlIFRvIENvbW1hbmQgUGFnZScsXG4gIEVYRUNVVEVfQ09NTUFORCA9ICdbQHh4bWFjaGluYS9jb21tb25dIEV4ZWN1dGUgQ29tbWFuZCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWFuZEFjdGlvbkZhY3RvcnlPcHRpb25zIGV4dGVuZHMgQ3JlYXRlQWN0aW9uc09wdGlvbnMge1xuICBxdWVyeUlkPzogc3RyaW5nO1xuICBjb25maXJtPzogKCkgPT4gUHJvbWlzZTxib29sZWFuPiB8IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWFuZEFjdGlvblBheWxvYWQ8UD4ge1xuICBjb21tYW5kOiBhbnk7XG4gIGJvZHk6IFA7XG4gIG9wdGlvbnM/OiB7XG4gICAgY29uZmlybT86ICgpID0+IFByb21pc2U8Ym9vbGVhbj4gfCBib29sZWFuO1xuICAgIHF1ZXJ5SWQ/OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBjbGFzcyBDb21tYW5kQWN0aW9uc0J1aWxkZXIge1xuICBwcml2YXRlIGNvbW1hbmRzOiBDb21tYW5kW10gPSBbXTtcbiAgcHJpdmF0ZSBvcHRpb25zOiBDb21tYW5kQWN0aW9uRmFjdG9yeU9wdGlvbnMgPSB7fTtcbiAgcHJpdmF0ZSBpdGVtOiBhbnkgPSBudWxsO1xuICBwcml2YXRlIGZpbHRlcklkczogc3RyaW5nW10gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBhdXRvSWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHNldENvbW1hbmRzKGNvbW1hbmRzOiBDb21tYW5kW10pOiBDb21tYW5kQWN0aW9uc0J1aWxkZXIge1xuICAgIGNvbnN0IG5ld0ZhY3RvcnkgPSBuZXcgQ29tbWFuZEFjdGlvbnNCdWlsZGVyKCk7XG4gICAgbmV3RmFjdG9yeS5jb21tYW5kcyA9IFsuLi5jb21tYW5kc107XG4gICAgbmV3RmFjdG9yeS5vcHRpb25zID0geyAuLi50aGlzLm9wdGlvbnMgfTtcbiAgICBuZXdGYWN0b3J5Lml0ZW0gPSB0aGlzLml0ZW07XG4gICAgbmV3RmFjdG9yeS5maWx0ZXJJZHMgPSB0aGlzLmZpbHRlcklkcztcbiAgICBuZXdGYWN0b3J5LmF1dG9JZHMgPSB0aGlzLmF1dG9JZHM7XG4gICAgcmV0dXJuIG5ld0ZhY3Rvcnk7XG4gIH1cblxuICBzZXRPcHRpb25zKG9wdGlvbnM6IFBhcnRpYWw8Q29tbWFuZEFjdGlvbkZhY3RvcnlPcHRpb25zPik6IENvbW1hbmRBY3Rpb25zQnVpbGRlciB7XG4gICAgY29uc3QgbmV3RmFjdG9yeSA9IG5ldyBDb21tYW5kQWN0aW9uc0J1aWxkZXIoKTtcbiAgICBuZXdGYWN0b3J5LmNvbW1hbmRzID0gWy4uLnRoaXMuY29tbWFuZHNdO1xuICAgIG5ld0ZhY3Rvcnkub3B0aW9ucyA9IHsgLi4udGhpcy5vcHRpb25zLCAuLi5vcHRpb25zIH07XG4gICAgbmV3RmFjdG9yeS5pdGVtID0gdGhpcy5pdGVtO1xuICAgIG5ld0ZhY3RvcnkuZmlsdGVySWRzID0gdGhpcy5maWx0ZXJJZHM7XG4gICAgbmV3RmFjdG9yeS5hdXRvSWRzID0gdGhpcy5hdXRvSWRzO1xuICAgIHJldHVybiBuZXdGYWN0b3J5O1xuICB9XG5cbiAgc2V0SXRlbShpdGVtOiBhbnkpOiBDb21tYW5kQWN0aW9uc0J1aWxkZXIge1xuICAgIGNvbnN0IG5ld0ZhY3RvcnkgPSBuZXcgQ29tbWFuZEFjdGlvbnNCdWlsZGVyKCk7XG4gICAgbmV3RmFjdG9yeS5jb21tYW5kcyA9IFsuLi50aGlzLmNvbW1hbmRzXTtcbiAgICBuZXdGYWN0b3J5Lm9wdGlvbnMgPSB7IC4uLnRoaXMub3B0aW9ucyB9O1xuICAgIG5ld0ZhY3RvcnkuaXRlbSA9IGl0ZW07XG4gICAgbmV3RmFjdG9yeS5maWx0ZXJJZHMgPSB0aGlzLmZpbHRlcklkcztcbiAgICBuZXdGYWN0b3J5LmF1dG9JZHMgPSB0aGlzLmF1dG9JZHM7XG4gICAgcmV0dXJuIG5ld0ZhY3Rvcnk7XG4gIH1cblxuICBzZXRGaWx0ZXJJZHMoZmlsdGVySWRzOiAoc3RyaW5nIHwge2lkOiBzdHJpbmcsIGF1dG86IGJvb2xlYW59KVtdID0gW10pOiBDb21tYW5kQWN0aW9uc0J1aWxkZXIge1xuICAgIGNvbnN0IG5ld0ZhY3RvcnkgPSBuZXcgQ29tbWFuZEFjdGlvbnNCdWlsZGVyKCk7XG4gICAgbmV3RmFjdG9yeS5jb21tYW5kcyA9IFsuLi50aGlzLmNvbW1hbmRzXTtcbiAgICBuZXdGYWN0b3J5Lm9wdGlvbnMgPSB7IC4uLnRoaXMub3B0aW9ucyB9O1xuICAgIG5ld0ZhY3RvcnkuaXRlbSA9IHRoaXMuaXRlbTtcbiAgICBuZXdGYWN0b3J5LmZpbHRlcklkcyA9IGZpbHRlcklkcy5tYXAoKGlkKSA9PiB0eXBlb2YgaWQgPT09ICdzdHJpbmcnID8gaWQgOiBpZC5pZCk7XG4gICAgbmV3RmFjdG9yeS5hdXRvSWRzID0gZmlsdGVySWRzLmZpbHRlcigoaWQpID0+IHR5cGVvZiBpZCAhPT0gJ3N0cmluZycgJiYgaWQuYXV0bykubWFwKChpZCkgPT4gKGlkIGFzIGFueSkuaWQpO1xuICAgIHJldHVybiBuZXdGYWN0b3J5O1xuICB9XG5cbiAgc2V0QXV0b0lkcyhhdXRvSWRzOiBzdHJpbmdbXSk6IENvbW1hbmRBY3Rpb25zQnVpbGRlciB7XG4gICAgY29uc3QgbmV3RmFjdG9yeSA9IG5ldyBDb21tYW5kQWN0aW9uc0J1aWxkZXIoKTtcbiAgICBuZXdGYWN0b3J5LmNvbW1hbmRzID0gWy4uLnRoaXMuY29tbWFuZHNdO1xuICAgIG5ld0ZhY3Rvcnkub3B0aW9ucyA9IHsgLi4udGhpcy5vcHRpb25zIH07XG4gICAgbmV3RmFjdG9yeS5pdGVtID0gdGhpcy5pdGVtO1xuICAgIG5ld0ZhY3RvcnkuZmlsdGVySWRzID0gWy4uLnRoaXMuZmlsdGVySWRzXTtcbiAgICBuZXdGYWN0b3J5LmF1dG9JZHMgPSBhdXRvSWRzO1xuICAgIHJldHVybiBuZXdGYWN0b3J5O1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUZpbHRlcihjb21tYW5kczogQ29tbWFuZFtdKTogQ29tbWFuZFtdIHtcbiAgICBpZiAoIXRoaXMuZmlsdGVySWRzKSByZXR1cm4gY29tbWFuZHM7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVySWRzLm1hcCgoaWQpID0+IGNvbW1hbmRzLmZpbmQoKGNvbW1hbmQpID0+IGNvbW1hbmQuaWQgPT09IGlkKSEpXG4gICAgICAuZmlsdGVyKChjb21tYW5kKSA9PiAhIWNvbW1hbmQpIGFzIENvbW1hbmRbXTtcbiAgfVxuXG4gIGJ1aWxkQWN0aW9uKGlkOiBzdHJpbmcpOiBBY3Rpb24ge1xuICAgIGNvbnN0IGNvbW1hbmQgPSB0aGlzLmNvbW1hbmRzLmZpbmQoKGNvbW1hbmQpID0+IGNvbW1hbmQuaWQgPT09IGlkKTtcbiAgICBpZiAoIWNvbW1hbmQpIHRocm93IG5ldyBFcnJvcihgQ29tbWFuZCBub3QgZm91bmQ6ICR7aWR9YCk7XG4gICAgY29uc3QgYWN0aW9uSWQgPSB0aGlzLmF1dG9JZHMuaW5jbHVkZXMoY29tbWFuZC5pZClcbiAgICAgID8gQWN0aW9uSWQuRVhFQ1VURV9DT01NQU5EXG4gICAgICA6IEFjdGlvbklkLk5BVklHQVRFX1RPX0NPTU1BTkRfUEFHRTtcbiAgICBjb25zdCBjcmVhdG9yID0gY3JlYXRlQWN0aW9uPENvbW1hbmRBY3Rpb25QYXlsb2FkPGFueT4+KFxuICAgICAgYWN0aW9uSWQsXG4gICAgICBjb21tYW5kLndlYkFwaVJlcXVlc3QuYm9keVNjaGVtYSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogY29tbWFuZC5uYW1lLFxuICAgICAgICBpY29uOiB0aGlzLm9wdGlvbnMuaWNvbiB8fCAnZGVmYXVsdCcsXG4gICAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICAgIH1cbiAgICApO1xuXG4gICAgcmV0dXJuIGNyZWF0b3IuY3JlYXRlKHtcbiAgICAgIGNvbW1hbmQsXG4gICAgICBib2R5OiB0aGlzLml0ZW0sXG4gICAgICBvcHRpb25zOiB7XG4gICAgICAgIHF1ZXJ5SWQ6IHRoaXMub3B0aW9ucy5xdWVyeUlkLFxuICAgICAgICBjb25maXJtOiB0aGlzLm9wdGlvbnMuY29uZmlybSxcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGJ1aWxkQWN0aW9ucyhpdGVtPzogYW55LCBuYXZpZ2F0aW9uRXh0cmFzOiBOYXZpZ2F0aW9uRXh0cmFzID0ge30sIG92ZXJ3cml0ZTogUGFydGlhbDxBY3Rpb24+ID0ge30pOiBBY3Rpb25bXSB7XG4gICAgY29uc3QgZmlsdGVyZWRDb21tYW5kcyA9IHRoaXMuYXBwbHlGaWx0ZXIodGhpcy5jb21tYW5kcyk7XG4gICAgcmV0dXJuIGZpbHRlcmVkQ29tbWFuZHMubWFwKChjb21tYW5kKSA9PiB7XG4gICAgICBpZiAodGhpcy5hdXRvSWRzLmluY2x1ZGVzKGNvbW1hbmQuaWQpKSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVBY3Rpb248Q29tbWFuZEFjdGlvblBheWxvYWQ8YW55Pj4oXG4gICAgICAgICAgQWN0aW9uSWQuRVhFQ1VURV9DT01NQU5ELFxuICAgICAgICAgIGNvbW1hbmQud2ViQXBpUmVxdWVzdC5ib2R5U2NoZW1hLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IGNvbW1hbmQubmFtZSxcbiAgICAgICAgICAgIGljb246IHRoaXMub3B0aW9ucy5pY29uIHx8ICdkZWZhdWx0JyxcbiAgICAgICAgICB9XG4gICAgICAgICkuY3JlYXRlKHtcbiAgICAgICAgICBjb21tYW5kLFxuICAgICAgICAgIGJvZHk6IHRoaXMuaXRlbSxcbiAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICBxdWVyeUlkOiB0aGlzLm9wdGlvbnMucXVlcnlJZCxcbiAgICAgICAgICAgIGNvbmZpcm06IHRoaXMub3B0aW9ucy5jb25maXJtLFxuICAgICAgICAgIH1cbiAgICAgICAgfSwgb3ZlcndyaXRlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBvbWl0QnkoZmxhdHRlbjxvYmplY3QsIG9iamVjdD4oe2RhdGE6IHRoaXMuaXRlbSwgcXVlcnlJZDogdGhpcy5vcHRpb25zLnF1ZXJ5SWR9KSwgdmFsdWUgPT4gdHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJyk7XG4gICAgICAgIHJldHVybiBjcmVhdGVOYXZpZ2F0ZUFjdGlvbihbJ2NvbW1hbmRzJywge3NraXA6IHRydWV9LCBjb21tYW5kLmlkLCBkYXRhXSwgbmF2aWdhdGlvbkV4dHJhcywge1xuICAgICAgICAgIG5hbWU6IGNvbW1hbmQubmFtZSxcbiAgICAgICAgICBpY29uOiB0aGlzLm9wdGlvbnMuaWNvbixcbiAgICAgICAgICAuLi5vdmVyd3JpdGUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgYnVpbGRJdGVtQWN0aW9uczxUPigpOiAoaXRlbTogVCkgPT4gQWN0aW9uW10ge1xuICAgIHJldHVybiAoaXRlbTogVCkgPT4gdGhpcy5zZXRJdGVtKGl0ZW0pLmJ1aWxkQWN0aW9ucygpO1xuICB9XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNvbW1hbmROYXZpZ2F0ZUFjdGlvbihcbiAgY29tbWFuZDogQ29tbWFuZCxcbiAgbmF2aWdhdGlvbkV4dHJhczogTmF2aWdhdGlvbkV4dHJhcyA9IHt9LFxuICBpdGVtOiBhbnkgPSB7fSxcbiAgb3B0aW9uczogQ29tbWFuZEFjdGlvbkZhY3RvcnlPcHRpb25zID0ge30sXG4gIG92ZXJ3cml0ZTogUGFydGlhbDxBY3Rpb24+ID0ge31cbik6IEFjdGlvbiB8IG51bGwge1xuICBpZiAoIWNvbW1hbmQpIHJldHVybiBudWxsO1xuICByZXR1cm4gbmV3IENvbW1hbmRBY3Rpb25zQnVpbGRlcigpXG4gICAgLnNldEl0ZW0oaXRlbSlcbiAgICAuc2V0Q29tbWFuZHMoW2NvbW1hbmRdKVxuICAgIC5zZXRPcHRpb25zKG9wdGlvbnMpXG4gICAgLnNldEZpbHRlcklkcyhbY29tbWFuZC5pZF0pXG4gICAgLmJ1aWxkQWN0aW9ucyhpdGVtLCBuYXZpZ2F0aW9uRXh0cmFzLCBvdmVyd3JpdGUpWzBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ29tbWFuZEV4ZWN1dGlvbkFjdGlvbihcbiAgY29tbWFuZDogQ29tbWFuZCxcbiAgaXRlbTogYW55ID0ge30sXG4gIG9wdGlvbnM6IENvbW1hbmRBY3Rpb25GYWN0b3J5T3B0aW9ucyA9IHt9LFxuICBvdmVyd3JpdGU6IFBhcnRpYWw8QWN0aW9uPiA9IHt9XG4pOiBBY3Rpb24gfCBudWxsIHtcbiAgaWYgKCFjb21tYW5kKSByZXR1cm4gbnVsbDtcbiAgcmV0dXJuIG5ldyBDb21tYW5kQWN0aW9uc0J1aWxkZXIoKVxuICAgIC5zZXRJdGVtKGl0ZW0pXG4gICAgLnNldENvbW1hbmRzKFtjb21tYW5kXSlcbiAgICAuc2V0T3B0aW9ucyhvcHRpb25zKVxuICAgIC5zZXRGaWx0ZXJJZHMoW2NvbW1hbmQuaWRdKVxuICAgIC5zZXRBdXRvSWRzKFtjb21tYW5kLmlkXSlcbiAgICAuYnVpbGRBY3Rpb25zKGl0ZW0sIHVuZGVmaW5lZCwgb3ZlcndyaXRlKVswXTtcbn1cbiJdfQ==","const NOTION_PROP_TYPE_MAP = {\n people: 'string',\n unique_id: 'string',\n rich_text: 'string',\n title: 'string',\n text: 'string',\n number: 'number',\n select: 'enum',\n status: 'enum',\n multi_select: 'string',\n date: 'date',\n person: 'string',\n files: 'string',\n checkbox: 'boolean',\n url: 'string',\n email: 'string',\n phone_number: 'string',\n relation: 'string',\n rollup: 'string',\n created_time: 'date',\n created_by: 'string',\n last_edited_time: 'date',\n last_edited_by: 'string',\n};\nconst NOTION_KEY_MAP = {\n 'relation': 'FK',\n 'unique_id': 'UK',\n};\nexport class ErBuilder {\n build(databases) {\n const schemas = [];\n const dbIdToName = databases.reduce((acc, db) => ({\n ...acc,\n [db.id]: db?.title?.[0]?.plain_text\n }), {});\n for (const database of databases) {\n const schema = this.parseDatabaseSchema(database, database?.title?.[0]?.plain_text, dbIdToName);\n schemas.push(schema);\n }\n return this.buildMermaidER(schemas);\n }\n parseDatabaseSchema(database, name = '', map = {}) {\n const properties = database.properties;\n const fields = [];\n const relations = [];\n Object.keys(properties)\n .filter(propName => {\n if (['formula', 'rollup', 'button'].includes(properties[propName].type))\n return false;\n return true;\n })\n .sort()\n .forEach(propName => {\n const prop = properties[propName];\n const type = prop.type;\n const mappedType = NOTION_PROP_TYPE_MAP[type];\n const key = NOTION_KEY_MAP[type] ?? ' ';\n const field = `${mappedType} ${type} ${key} \"${propName}\"`;\n fields.push(field);\n // リレーションシップの解析\n if (type === 'relation') {\n const relation = prop['relation'];\n if (relation && relation.database_id) {\n const targetDbId = relation.database_id;\n const targetDbName = map[targetDbId] || 'Unknown';\n relations.push({\n source: name,\n target: targetDbName,\n label: propName,\n type: '||--||', // リレーションのタイプを適宜設定\n });\n }\n else if (relation && Array.isArray(relation)) {\n relation.forEach(rel => {\n const targetDbId = rel.database_id;\n const targetDbName = map[targetDbId] || 'Unknown';\n relations.push({\n source: name,\n target: targetDbName,\n label: propName,\n type: '||--o{',\n });\n });\n }\n }\n });\n return { name, fields, relations };\n }\n buildMermaidER(schemas) {\n let mermaid = 'erDiagram\\n';\n // エンティティの定義\n schemas.forEach(schema => {\n mermaid += ` \"${schema.name}\" {\\n`;\n mermaid += schema.fields.map(field => ` ${field}`).join('\\n');\n mermaid += '\\n }\\n';\n });\n // リレーションシップの定義\n schemas.forEach(schema => {\n schema.relations.forEach(relation => {\n mermaid += ` \"${relation.source}\" ${relation.type} \"${relation.target}\" : \"${relation.label}\"\\n`;\n });\n });\n return mermaid;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXIuYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvZG9tYWluL2J1aWxkZXIvZXIvZXIuYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFhQSxNQUFNLG9CQUFvQixHQUFHO0lBQzNCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFNBQVMsRUFBRSxRQUFRO0lBQ25CLFNBQVMsRUFBRSxRQUFRO0lBQ25CLEtBQUssRUFBRSxRQUFRO0lBQ2YsSUFBSSxFQUFFLFFBQVE7SUFDZCxNQUFNLEVBQUUsUUFBUTtJQUNoQixNQUFNLEVBQUUsTUFBTTtJQUNkLE1BQU0sRUFBRSxNQUFNO0lBQ2QsWUFBWSxFQUFFLFFBQVE7SUFDdEIsSUFBSSxFQUFFLE1BQU07SUFDWixNQUFNLEVBQUUsUUFBUTtJQUNoQixLQUFLLEVBQUUsUUFBUTtJQUNmLFFBQVEsRUFBRSxTQUFTO0lBQ25CLEdBQUcsRUFBRSxRQUFRO0lBQ2IsS0FBSyxFQUFFLFFBQVE7SUFDZixZQUFZLEVBQUUsUUFBUTtJQUN0QixRQUFRLEVBQUUsUUFBUTtJQUNsQixNQUFNLEVBQUUsUUFBUTtJQUNoQixZQUFZLEVBQUUsTUFBTTtJQUNwQixVQUFVLEVBQUUsUUFBUTtJQUNwQixnQkFBZ0IsRUFBRSxNQUFNO0lBQ3hCLGNBQWMsRUFBRSxRQUFRO0NBQ3pCLENBQUM7QUFFRixNQUFNLGNBQWMsR0FBRztJQUNyQixVQUFVLEVBQUUsSUFBSTtJQUNoQixXQUFXLEVBQUUsSUFBSTtDQUNsQixDQUFBO0FBRUQsTUFBTSxPQUFPLFNBQVM7SUFDcEIsS0FBSyxDQUFDLFNBQVM7UUFDYixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbkIsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDaEQs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UTs0QkFDZixJQUFJLEVBQUUsUUFBUTt5QkFDZixDQUFDLENBQUM7b0JBQ0wsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVMLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxjQUFjLENBQUMsT0FBaUI7UUFDOUIsSUFBSSxPQUFPLEdBQUcsYUFBYSxDQUFDO1FBRTVCLFlBQVk7UUFDWixPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3ZCLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQztZQUNwQyxPQUFPLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pFLE9BQU8sSUFBSSxTQUFTLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7UUFFSCxlQUFlO1FBQ2YsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN2QixNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDbEMsT0FBTyxJQUFJLE1BQU0sUUFBUSxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxNQUFNLFFBQVEsUUFBUSxDQUFDLEtBQUssS0FBSyxDQUFDO1lBQ3BHLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbnRlcmZhY2UgU2NoZW1hIHtcbiAgbmFtZTogc3RyaW5nO1xuICBmaWVsZHM6IHN0cmluZ1tdO1xuICByZWxhdGlvbnM6IFJlbGF0aW9uW107XG59XG5cbmludGVyZmFjZSBSZWxhdGlvbiB7XG4gIHNvdXJjZTogc3RyaW5nO1xuICB0YXJnZXQ6IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7IC8vIOS+izogXCJ8fC0tb3tcIlxufVxuXG5jb25zdCBOT1RJT05fUFJPUF9UWVBFX01BUCA9IHtcbiAgcGVvcGxlOiAnc3RyaW5nJyxcbiAgdW5pcXVlX2lkOiAnc3RyaW5nJyxcbiAgcmljaF90ZXh0OiAnc3RyaW5nJyxcbiAgdGl0bGU6ICdzdHJpbmcnLFxuICB0ZXh0OiAnc3RyaW5nJyxcbiAgbnVtYmVyOiAnbnVtYmVyJyxcbiAgc2VsZWN0OiAnZW51bScsXG4gIHN0YXR1czogJ2VudW0nLFxuICBtdWx0aV9zZWxlY3Q6ICdzdHJpbmcnLFxuICBkYXRlOiAnZGF0ZScsXG4gIHBlcnNvbjogJ3N0cmluZycsXG4gIGZpbGVzOiAnc3RyaW5nJyxcbiAgY2hlY2tib3g6ICdib29sZWFuJyxcbiAgdXJsOiAnc3RyaW5nJyxcbiAgZW1haWw6ICdzdHJpbmcnLFxuICBwaG9uZV9udW1iZXI6ICdzdHJpbmcnLFxuICByZWxhdGlvbjogJ3N0cmluZycsXG4gIHJvbGx1cDogJ3N0cmluZycsXG4gIGNyZWF0ZWRfdGltZTogJ2RhdGUnLFxuICBjcmVhdGVkX2J5OiAnc3RyaW5nJyxcbiAgbGFzdF9lZGl0ZWRfdGltZTogJ2RhdGUnLFxuICBsYXN0X2VkaXRlZF9ieTogJ3N0cmluZycsXG59O1xuXG5jb25zdCBOT1RJT05fS0VZX01BUCA9IHtcbiAgJ3JlbGF0aW9uJzogJ0ZLJyxcbiAgJ3VuaXF1ZV9pZCc6ICdVSycsXG59XG5cbmV4cG9ydCBjbGFzcyBFckJ1aWxkZXIge1xuICBidWlsZChkYXRhYmFzZXMpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNjaGVtYXMgPSBbXTtcbiAgICBjb25zdCBkYklkVG9OYW1lID0gZGF0YWJhc2VzLnJlZHVjZSgoYWNjLCBkYikgPT4gKHtcbiAgICAgIC4uLmFjYyxcbiAgICAgIFtkYi5pZF06IGRiPy50aXRsZT8uWzBdPy5wbGFpbl90ZXh0XG4gICAgfSksIHt9KTtcbiAgICBmb3IgKGNvbnN0IGRhdGFiYXNlIG9mIGRhdGFiYXNlcykge1xuICAgICAgY29uc3Qgc2NoZW1hID0gdGhpcy5wYXJzZURhdGFiYXNlU2NoZW1hKGRhdGFiYXNlLCBkYXRhYmFzZT8udGl0bGU/LlswXT8ucGxhaW5fdGV4dCwgZGJJZFRvTmFtZSk7XG4gICAgICBzY2hlbWFzLnB1c2goc2NoZW1hKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYnVpbGRNZXJtYWlkRVIoc2NoZW1hcyk7XG4gIH1cblxuICBwYXJzZURhdGFiYXNlU2NoZW1hKFxuICAgIGRhdGFiYXNlLFxuICAgIG5hbWUgPSAnJyxcbiAgICBtYXA6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fSxcbiAgKTogU2NoZW1hIHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gZGF0YWJhc2UucHJvcGVydGllcztcbiAgICBjb25zdCBmaWVsZHM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3QgcmVsYXRpb25zOiBSZWxhdGlvbltdID0gW107XG4gIFxuICAgIE9iamVjdC5rZXlzKHByb3BlcnRpZXMpXG4gICAgICAuZmlsdGVyKHByb3BOYW1lID0+IHtcbiAgICAgICAgaWYgKFsnZm9ybXVsYScsICdyb2xsdXAnLCAnYnV0dG9uJ10uaW5jbHVkZXMocHJvcGVydGllc1twcm9wTmFtZV0udHlwZSkpIHJldHVybiBmYWxzZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9KVxuICAgICAgLnNvcnQoKVxuICAgICAgLmZvckVhY2gocHJvcE5hbWUgPT4ge1xuICAgICAgICBjb25zdCBwcm9wID0gcHJvcGVydGllc1twcm9wTmFtZV07XG4gICAgICAgIGNvbnN0IHR5cGUgPSBwcm9wLnR5cGUgYXMga2V5b2YgdHlwZW9mIE5PVElPTl9QUk9QX1RZUEVfTUFQO1xuICAgICAgICBjb25zdCBtYXBwZWRUeXBlID0gTk9USU9OX1BST1BfVFlQRV9NQVBbdHlwZV07XG4gICAgICAgIGNvbnN0IGtleSA9IE5PVElPTl9LRVlfTUFQW3R5cGVdID8/ICcgJztcbiAgICAgICAgY29uc3QgZmllbGQgPSBgJHttYXBwZWRUeXBlfSAke3R5cGV9ICR7a2V5fSBcIiR7cHJvcE5hbWV9XCJgO1xuICAgICAgICBmaWVsZHMucHVzaChmaWVsZCk7XG4gIFxuICAgICAgICAvLyDjg6rjg6zjg7zjgrfjg6fjg7Pjgrfjg4Pjg5fjga7op6PmnpBcbiAgICAgICAgaWYgKHR5cGUgPT09ICdyZWxhdGlvbicpIHtcbiAgICAgICAgICBjb25zdCByZWxhdGlvbiA9IHByb3BbJ3JlbGF0aW9uJ107XG4gICAgICAgICAgaWYgKHJlbGF0aW9uICYmIHJlbGF0aW9uLmRhdGFiYXNlX2lkKSB7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXREYklkID0gcmVsYXRpb24uZGF0YWJhc2VfaWQ7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXREYk5hbWUgPSBtYXBbdGFyZ2V0RGJJZF0gfHwgJ1Vua25vd24nO1xuICAgICAgICAgICAgcmVsYXRpb25zLnB1c2goe1xuICAgICAgICAgICAgICBzb3VyY2U6IG5hbWUsXG4gICAgICAgICAgICAgIHRhcmdldDogdGFyZ2V0RGJOYW1lLFxuICAgICAgICAgICAgICBsYWJlbDogcHJvcE5hbWUsXG4gICAgICAgICAgICAgIHR5cGU6ICd8fC0tfHwnLCAvLyDjg6rjg6zjg7zjgrfjg6fjg7Pjga7jgr/jgqTjg5fjgpLpganlrpzoqK3lrppcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSBpZiAocmVsYXRpb24gJiYgQXJyYXkuaXNBcnJheShyZWxhdGlvbikpIHtcbiAgICAgICAgICAgIHJlbGF0aW9uLmZvckVhY2gocmVsID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0RGJJZCA9IHJlbC5kYXRhYmFzZV9pZDtcbiAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0RGJOYW1lID0gbWFwW3RhcmdldERiSWRdIHx8ICdVbmtub3duJztcbiAgICAgICAgICAgICAgcmVsYXRpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgIHNvdXJjZTogbmFtZSxcbiAgICAgICAgICAgICAgICB0YXJnZXQ6IHRhcmdldERiTmFtZSxcbiAgICAgICAgICAgICAgICBsYWJlbDogcHJvcE5hbWUsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3x8LS1veycsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgXG4gICAgcmV0dXJuIHsgbmFtZSwgZmllbGRzLCByZWxhdGlvbnMgfTtcbiAgfVxuXG4gIGJ1aWxkTWVybWFpZEVSKHNjaGVtYXM6IFNjaGVtYVtdKTogc3RyaW5nIHtcbiAgICBsZXQgbWVybWFpZCA9ICdlckRpYWdyYW1cXG4nO1xuICBcbiAgICAvLyDjgqjjg7Pjg4bjgqPjg4bjgqPjga7lrprnvqlcbiAgICBzY2hlbWFzLmZvckVhY2goc2NoZW1hID0+IHtcbiAgICAgIG1lcm1haWQgKz0gYCAgXCIke3NjaGVtYS5uYW1lfVwiIHtcXG5gO1xuICAgICAgbWVybWFpZCArPSBzY2hlbWEuZmllbGRzLm1hcChmaWVsZCA9PiBgICAgICR7ZmllbGR9YCkuam9pbignXFxuJyk7XG4gICAgICBtZXJtYWlkICs9ICdcXG4gIH1cXG4nO1xuICAgIH0pO1xuICBcbiAgICAvLyDjg6rjg6zjg7zjgrfjg6fjg7Pjgrfjg4Pjg5fjga7lrprnvqlcbiAgICBzY2hlbWFzLmZvckVhY2goc2NoZW1hID0+IHtcbiAgICAgIHNjaGVtYS5yZWxhdGlvbnMuZm9yRWFjaChyZWxhdGlvbiA9PiB7XG4gICAgICAgIG1lcm1haWQgKz0gYCAgXCIke3JlbGF0aW9uLnNvdXJjZX1cIiAke3JlbGF0aW9uLnR5cGV9IFwiJHtyZWxhdGlvbi50YXJnZXR9XCIgOiBcIiR7cmVsYXRpb24ubGFiZWx9XCJcXG5gO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIFxuICAgIHJldHVybiBtZXJtYWlkO1xuICB9XG59Il19","import { message } from \"@nx-ddd/common\";\nimport { QueryHelper } from \"@xxmachina/common/domain/models\";\nexport class QueryBuilder {\n static buildByGraphql(graphql, meta = {}) {\n return QueryHelper.tryParse({\n id: 'builded_query',\n type: 'graphql',\n projectId: 'default',\n title: 'Builded Query',\n summary: 'This query was built by QueryBuilder',\n graphql: {\n endpoint: graphql.endpoint,\n query: message `${graphql.query}`,\n headersJson: JSON.stringify(graphql.headers),\n variablesJson: JSON.stringify(graphql.variables),\n transformerTs: graphql?.transformerTs ?? null,\n },\n createdAt: null,\n updatedAt: null,\n ...meta,\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvZG9tYWluL2J1aWxkZXIvcXVlcnkvcXVlcnkuYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFTLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXJFLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FNckIsRUFBRSxPQUF3QyxFQUFFO1FBQzNDLE9BQU8sV0FBVyxDQUFDLFFBQVEsQ0FBQztZQUMxQixFQUFFLEVBQUUsZUFBZTtZQUNuQixJQUFJLEVBQUUsU0FBa0I7WUFDeEIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsS0FBSyxFQUFFLGVBQWU7WUFDdEIsT0FBTyxFQUFFLHNDQUFzQztZQUMvQyxPQUFPLEVBQUU7Z0JBQ1AsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO2dCQUMxQixLQUFLLEVBQUUsT0FBTyxDQUFBLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRTtnQkFDaEMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztnQkFDNUMsYUFBYSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztnQkFDaEQsYUFBYSxFQUFFLE9BQU8sRUFBRSxhQUFhLElBQUksSUFBSTthQUM5QztZQUNELFNBQVMsRUFBRSxJQUFJO1lBQ2YsU0FBUyxFQUFFLElBQUk7WUFDZixHQUFHLElBQUk7U0FDUixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtZXNzYWdlIH0gZnJvbSBcIkBueC1kZGQvY29tbW9uXCI7XG5pbXBvcnQgeyBRdWVyeSwgUXVlcnlIZWxwZXIgfSBmcm9tIFwiQHh4bWFjaGluYS9jb21tb24vZG9tYWluL21vZGVsc1wiO1xuXG5leHBvcnQgY2xhc3MgUXVlcnlCdWlsZGVyIHtcbiAgc3RhdGljIGJ1aWxkQnlHcmFwaHFsKGdyYXBocWw6IHtcbiAgICBlbmRwb2ludDogc3RyaW5nO1xuICAgIHF1ZXJ5OiBzdHJpbmc7XG4gICAgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICB2YXJpYWJsZXM6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgdHJhbnNmb3JtZXJUcz86IHN0cmluZztcbiAgfSwgbWV0YTogUGFydGlhbDxPbWl0PFF1ZXJ5LCAnZ3JhcGhxbCc+PiA9IHt9KTogUXVlcnkge1xuICAgIHJldHVybiBRdWVyeUhlbHBlci50cnlQYXJzZSh7XG4gICAgICBpZDogJ2J1aWxkZWRfcXVlcnknLFxuICAgICAgdHlwZTogJ2dyYXBocWwnIGFzIGNvbnN0LFxuICAgICAgcHJvamVjdElkOiAnZGVmYXVsdCcsXG4gICAgICB0aXRsZTogJ0J1aWxkZWQgUXVlcnknLFxuICAgICAgc3VtbWFyeTogJ1RoaXMgcXVlcnkgd2FzIGJ1aWx0IGJ5IFF1ZXJ5QnVpbGRlcicsXG4gICAgICBncmFwaHFsOiB7XG4gICAgICAgIGVuZHBvaW50OiBncmFwaHFsLmVuZHBvaW50LFxuICAgICAgICBxdWVyeTogbWVzc2FnZWAke2dyYXBocWwucXVlcnl9YCxcbiAgICAgICAgaGVhZGVyc0pzb246IEpTT04uc3RyaW5naWZ5KGdyYXBocWwuaGVhZGVycyksXG4gICAgICAgIHZhcmlhYmxlc0pzb246IEpTT04uc3RyaW5naWZ5KGdyYXBocWwudmFyaWFibGVzKSxcbiAgICAgICAgdHJhbnNmb3JtZXJUczogZ3JhcGhxbD8udHJhbnNmb3JtZXJUcyA/PyBudWxsLFxuICAgICAgfSxcbiAgICAgIGNyZWF0ZWRBdDogbnVsbCxcbiAgICAgIHVwZGF0ZWRBdDogbnVsbCxcbiAgICAgIC4uLm1ldGEsXG4gICAgfSk7XG4gIH0gIFxufVxuIl19","function buildPageItem(property, propName, dbName) {\n switch (property.type) {\n case 'select': return {\n id: property.id,\n name: propName,\n type: '入力(単一選択)',\n notionPropType: 'セレクト',\n formula: '',\n valueType: 'string',\n dbName,\n };\n case 'multi_select': return {\n id: property.id,\n name: propName,\n type: '入力(複数選択)',\n notionPropType: 'マルチセレクト',\n formula: '',\n valueType: 'string',\n dbName,\n };\n case 'relation': return {\n id: property.id,\n name: propName,\n type: '入力(単一選択)',\n notionPropType: 'リレーション',\n formula: '',\n valueType: 'string',\n dbName,\n };\n case 'rollup': return {\n id: property.id,\n name: propName,\n type: '表示',\n notionPropType: 'ロールアップ',\n formula: '',\n valueType: 'string',\n dbName,\n };\n case 'unique_id': return {\n id: property.id,\n name: propName,\n type: '表示',\n notionPropType: 'ユニークID',\n formula: '',\n valueType: 'string',\n dbName,\n };\n case 'created_time': return {\n id: property.id,\n name: propName,\n type: '表示',\n notionPropType: '作成日時',\n formula: '',\n valueType: 'date',\n dbName,\n };\n case 'created_by': return {\n id: property.id,\n name: propName,\n type: '表示',\n notionPropType: '作成者',\n formula: '',\n valueType: 'string',\n dbName,\n };\n case 'rich_text': return {\n id: property.id,\n name: propName,\n type: '入力(テキスト)',\n notionPropType: 'テキスト',\n formula: '',\n valueType: 'string',\n dbName,\n };\n case 'number': return {\n id: property.id,\n name: propName,\n type: '入力(数値)',\n notionPropType: '数値',\n formula: '',\n valueType: 'number',\n dbName,\n };\n case 'date': return {\n id: property.id,\n name: propName,\n type: '入力(日時)',\n notionPropType: '日時',\n formula: '',\n valueType: 'date',\n dbName,\n };\n case 'checkbox': return {\n id: property.id,\n name: propName,\n type: '入力(複数選択)',\n notionPropType: 'チェックボックス',\n formula: '',\n valueType: 'boolean',\n dbName,\n };\n case 'title': return {\n id: property.id,\n name: propName,\n type: '入力(テキスト)',\n notionPropType: 'タイトル',\n formula: '',\n valueType: 'string',\n dbName,\n };\n case 'people': return {\n id: property.id,\n name: propName,\n type: '入力(単一選択)',\n notionPropType: 'ユーザー',\n formula: '',\n valueType: 'string',\n dbName,\n };\n case 'last_edited_time': return {\n id: property.id,\n name: propName,\n type: '表示',\n notionPropType: '最終更新日時',\n formula: '',\n valueType: 'date',\n dbName,\n };\n case 'last_edited_by': return {\n id: property.id,\n name: propName,\n type: '表示',\n notionPropType: '最終更新者',\n formula: '',\n valueType: 'string',\n dbName,\n };\n case 'status': return {\n id: property.id,\n name: propName,\n type: '入力(単一選択)',\n notionPropType: 'ステータス',\n formula: '',\n valueType: 'string',\n dbName,\n };\n case 'formula': return {\n id: property.id,\n name: propName,\n type: '表示',\n notionPropType: '数式',\n formula: '',\n valueType: 'any',\n dbName,\n };\n /* @ts-ignore */\n case 'button': return {\n id: property?.['id'] ?? '',\n name: propName,\n type: 'ボタン',\n notionPropType: 'ボタン',\n formula: '',\n valueType: 'string',\n dbName,\n };\n default: return {\n id: property.id,\n name: propName,\n type: '不明',\n notionPropType: property.type,\n formula: '',\n valueType: 'string',\n dbName,\n };\n }\n}\nexport class ScreenItemBuilder {\n build(database) {\n const items = [];\n Object.entries(database?.properties ?? {}).sort((a, b) => {\n return a[0].localeCompare(b[0]);\n }).filter(([propName, prop]) => {\n // if (propName.startsWith('_')) return false;\n // if (/^\\d/.test(propName)) return false;\n // if (propName.includes('旧エクセル')) return false;\n // if (['formula', 'rollup', 'button'].includes(prop.type)) return false;\n return true;\n }).forEach(([propName, prop]) => {\n const item = buildPageItem(prop, propName, database?.title?.[0]?.plain_text ?? '');\n items.push(item);\n });\n return items;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLWl0ZW0uYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvZG9tYWluL2J1aWxkZXIvc2NyZWVuLWl0ZW0vc2NyZWVuLWl0ZW0uYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxTQUFTLGFBQWEsQ0FDcEIsUUFBbUQsRUFDbkQsUUFBZ0IsRUFDaEIsTUFBYztJQUVkLFFBQVEsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLEtBQUssUUFBUSxDQUFDLENBQUMsT0FBTztZQUNwQixFQUFFLEVBQUUsUUFBUSxDQUFDLEVBQUU7WUFDZixJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRSxVQUFVO1lBQ2hCLGNBQWMsRUFBRSxNQUFNO1lBQ3RCLE9BQU8sRUFBRSxFQUFFO1lBQ1gsU0FBUyxFQUFFLFFBQVE7WUFDbkIsTUFBTTtTQUNQLENBQUM7UUFDRixLQUFLLGNBQWMsQ0FBQyxDQUFDLE9BQU87WUFDMUIsRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFO1lBQ2YsSUFBSSxFQUFFLFFBQVE7WUFDZCxJQUFJLEVBQUUsVUFBVTtZQUNoQixjQUFjLEVBQUUsU0FBUztZQUN6QixPQUFPLEVBQUUsRUFBRTtZQUNYLFNBQVMsRUFBRSxRQUFRO1lBQ25CLE1BQU07U0FDUCxDQUFBO1FBQ0QsS0FBSyxVQUFVLENBQUMsQ0FBQyxPQUFPO1lBQ3RCLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRTtZQUNmLElBQUksRUFBRSxRQUFRO1lBQ2QsSUFBSSxFQUFFLFVBQVU7WUFDaEIsY0FBYyxFQUFFLFFBQVE7WUFDeEIsT0FBTyxFQUFFLEVBQUU7WUFDWCxTQUFTLEVBQUUsUUFBUTtZQUNuQixNQUFNO1NBQ1AsQ0FBQTtRQUNELEtBQUssUUFBUSxDQUFDLENBQUMsT0FBTztZQUNwQixFQUFFLEVBQUUsUUFBUSxDQUFD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Q0FBQztJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjcmVlbkl0ZW0gfSBmcm9tICdAeHhtYWNoaW5hL2NvbW1vbi9kb21haW4vbW9kZWxzJztcbmltcG9ydCB0eXBlIHsgR2V0RGF0YWJhc2VSZXNwb25zZSB9IGZyb20gJ0Bub3Rpb25ocS9jbGllbnQvYnVpbGQvc3JjL2FwaS1lbmRwb2ludHMnO1xuaW1wb3J0IHsgRGF0YWJhc2UgfSBmcm9tICdAeHhtYWNoaW5hL2NvbW1vbi9kb21haW4vbW9kZWxzJztcblxuZnVuY3Rpb24gYnVpbGRQYWdlSXRlbShcbiAgcHJvcGVydHk6IEdldERhdGFiYXNlUmVzcG9uc2VbJ3Byb3BlcnRpZXMnXVtzdHJpbmddLFxuICBwcm9wTmFtZTogc3RyaW5nLFxuICBkYk5hbWU6IHN0cmluZyxcbik6IFNjcmVlbkl0ZW0ge1xuICBzd2l0Y2ggKHByb3BlcnR5LnR5cGUpIHtcbiAgICBjYXNlICdzZWxlY3QnOiByZXR1cm4ge1xuICAgICAgaWQ6IHByb3BlcnR5LmlkLFxuICAgICAgbmFtZTogcHJvcE5hbWUsXG4gICAgICB0eXBlOiAn5YWl5YqbKOWNmOS4gOmBuOaKniknLFxuICAgICAgbm90aW9uUHJvcFR5cGU6ICfjgrvjg6zjgq/jg4gnLFxuICAgICAgZm9ybXVsYTogJycsXG4gICAgICB2YWx1ZVR5cGU6ICdzdHJpbmcnLFxuICAgICAgZGJOYW1lLFxuICAgIH07XG4gICAgY2FzZSAnbXVsdGlfc2VsZWN0JzogcmV0dXJuIHtcbiAgICAgIGlkOiBwcm9wZXJ0eS5pZCxcbiAgICAgIG5hbWU6IHByb3BOYW1lLFxuICAgICAgdHlwZTogJ+WFpeWKmyjopIfmlbDpgbjmip4pJyxcbiAgICAgIG5vdGlvblByb3BUeXBlOiAn44Oe44Or44OB44K744Os44Kv44OIJyxcbiAgICAgIGZvcm11bGE6ICcnLFxuICAgICAgdmFsdWVUeXBlOiAnc3RyaW5nJyxcbiAgICAgIGRiTmFtZSxcbiAgICB9XG4gICAgY2FzZSAncmVsYXRpb24nOiByZXR1cm4ge1xuICAgICAgaWQ6IHByb3BlcnR5LmlkLFxuICAgICAgbmFtZTogcHJvcE5hbWUsXG4gICAgICB0eXBlOiAn5YWl5YqbKOWNmOS4gOmBuOaKniknLFxuICAgICAgbm90aW9uUHJvcFR5cGU6ICfjg6rjg6zjg7zjgrfjg6fjg7MnLFxuICAgICAgZm9ybXVsYTogJycsXG4gICAgICB2YWx1ZVR5cGU6ICdzdHJpbmcnLFxuICAgICAgZGJOYW1lLFxuICAgIH1cbiAgICBjYXNlICdyb2xsdXAnOiByZXR1cm4ge1xuICAgICAgaWQ6IHByb3BlcnR5LmlkLFxuICAgICAgbmFtZTogcHJvcE5hbWUsXG4gICAgICB0eXBlOiAn6KGo56S6JyxcbiAgICAgIG5vdGlvblByb3BUeXBlOiAn44Ot44O844Or44Ki44OD44OXJyxcbiAgICAgIGZvcm11bGE6ICcnLFxuICAgICAgdmFsdWVUeXBlOiAnc3RyaW5nJyxcbiAgICAgIGRiTmFtZSxcbiAgICB9XG4gICAgY2FzZSAndW5pcXVlX2lkJzogcmV0dXJuIHtcbiAgICAgIGlkOiBwcm9wZXJ0eS5pZCxcbiAgICAgIG5hbWU6IHByb3BOYW1lLFxuICAgICAgdHlwZTogJ+ihqOekuicsXG4gICAgICBub3Rpb25Qcm9wVHlwZTogJ+ODpuODi+ODvOOCr0lEJyxcbiAgICAgIGZvcm11bGE6ICcnLFxuICAgICAgdmFsdWVUeXBlOiAnc3RyaW5nJyxcbiAgICAgIGRiTmFtZSxcbiAgICB9XG4gICAgY2FzZSAnY3JlYXRlZF90aW1lJzogcmV0dXJuIHtcbiAgICAgIGlkOiBwcm9wZXJ0eS5pZCxcbiAgICAgIG5hbWU6IHByb3BOYW1lLFxuICAgICAgdHlwZTogJ+ihqOekuicsXG4gICAgICBub3Rpb25Qcm9wVHlwZTogJ+S9nOaIkOaXpeaZgicsXG4gICAgICBmb3JtdWxhOiAnJyxcbiAgICAgIHZhbHVlVHlwZTogJ2RhdGUnLFxuICAgICAgZGJOYW1lLFxuICAgIH1cbiAgICBjYXNlICdjcmVhdGVkX2J5JzogcmV0dXJuIHtcbiAgICAgIGlkOiBwcm9wZXJ0eS5pZCxcbiAgICAgIG5hbWU6IHByb3BOYW1lLFxuICAgICAgdHlwZTogJ+ihqOekuicsXG4gICAgICBub3Rpb25Qcm9wVHlwZTogJ+S9nOaIkOiAhScsXG4gICAgICBmb3JtdWxhOiAnJyxcbiAgICAgIHZhbHVlVHlwZTogJ3N0cmluZycsXG4gICAgICBkYk5hbWUsXG4gICAgfVxuICAgIGNhc2UgJ3JpY2hfdGV4dCc6IHJldHVybiB7XG4gICAgICBpZDogcHJvcGVydHkuaWQsXG4gICAgICBuYW1lOiBwcm9wTmFtZSxcbiAgICAgIHR5cGU6ICflhaXlipso44OG44Kt44K544OIKScsXG4gICAgICBub3Rpb25Qcm9wVHlwZTogJ+ODhuOCreOCueODiCcsXG4gICAgICBmb3JtdWxhOiAnJyxcbiAgICAgIHZhbHVlVHlwZTogJ3N0cmluZycsXG4gICAgICBkYk5hbWUsXG4gICAgfVxuICAgIGNhc2UgJ251bWJlcic6IHJldHVybiB7XG4gICAgICBpZDogcHJvcGVydHkuaWQsXG4gICAgICBuYW1lOiBwcm9wTmFtZSxcbiAgICAgIHR5cGU6ICflhaXlipso5pWw5YCkKScsXG4gICAgICBub3Rpb25Qcm9wVHlwZTogJ+aVsOWApCcsXG4gICAgICBmb3JtdWxhOiAnJyxcbiAgICAgIHZhbHVlVHlwZTogJ251bWJlcicsXG4gICAgICBkYk5hbWUsXG4gICAgfVxuICAgIGNhc2UgJ2RhdGUnOiByZXR1cm4ge1xuICAgICAgaWQ6IHByb3BlcnR5LmlkLFxuICAgICAgbmFtZTogcHJvcE5hbWUsXG4gICAgICB0eXBlOiAn5YWl5YqbKOaXpeaZgiknLFxuICAgICAgbm90aW9uUHJvcFR5cGU6ICfml6XmmYInLFxuICAgICAgZm9ybXVsYTogJycsXG4gICAgICB2YWx1ZVR5cGU6ICdkYXRlJyxcbiAgICAgIGRiTmFtZSxcbiAgICB9XG4gICAgY2FzZSAnY2hlY2tib3gnOiByZXR1cm4ge1xuICAgICAgaWQ6IHByb3BlcnR5LmlkLFxuICAgICAgbmFtZTogcHJvcE5hbWUsXG4gICAgICB0eXBlOiAn5YWl5YqbKOikh+aVsOmBuOaKniknLFxuICAgICAgbm90aW9uUHJvcFR5cGU6ICfjg4Hjgqfjg4Pjgq/jg5zjg4Pjgq/jgrknLFxuICAgICAgZm9ybXVsYTogJycsXG4gICAgICB2YWx1ZVR5cGU6ICdib29sZWFuJyxcbiAgICAgIGRiTmFtZSxcbiAgICB9XG4gICAgY2FzZSAndGl0bGUnOiByZXR1cm4ge1xuICAgICAgaWQ6IHByb3BlcnR5LmlkLFxuICAgICAgbmFtZTogcHJvcE5hbWUsXG4gICAgICB0eXBlOiAn5YWl5YqbKOODhuOCreOCueODiCknLFxuICAgICAgbm90aW9uUHJvcFR5cGU6ICfjgr/jgqTjg4jjg6snLFxuICAgICAgZm9ybXVsYTogJycsXG4gICAgICB2YWx1ZVR5cGU6ICdzdHJpbmcnLFxuICAgICAgZGJOYW1lLFxuICAgIH1cbiAgICBjYXNlICdwZW9wbGUnOiByZXR1cm4ge1xuICAgICAgaWQ6IHByb3BlcnR5LmlkLFxuICAgICAgbmFtZTogcHJvcE5hbWUsXG4gICAgICB0eXBlOiAn5YWl5YqbKOWNmOS4gOmBuOaKniknLFxuICAgICAgbm90aW9uUHJvcFR5cGU6ICfjg6bjg7zjgrbjg7wnLFxuICAgICAgZm9ybXVsYTogJycsXG4gICAgICB2YWx1ZVR5cGU6ICdzdHJpbmcnLFxuICAgICAgZGJOYW1lLFxuICAgIH1cbiAgICBjYXNlICdsYXN0X2VkaXRlZF90aW1lJzogcmV0dXJuIHtcbiAgICAgIGlkOiBwcm9wZXJ0eS5pZCxcbiAgICAgIG5hbWU6IHByb3BOYW1lLFxuICAgICAgdHlwZTogJ+ihqOekuicsXG4gICAgICBub3Rpb25Qcm9wVHlwZTogJ+acgOe1guabtOaWsOaXpeaZgicsXG4gICAgICBmb3JtdWxhOiAnJyxcbiAgICAgIHZhbHVlVHlwZTogJ2RhdGUnLFxuICAgICAgZGJOYW1lLFxuICAgIH1cbiAgICBjYXNlICdsYXN0X2VkaXRlZF9ieSc6IHJldHVybiB7XG4gICAgICBpZDogcHJvcGVydHkuaWQsXG4gICAgICBuYW1lOiBwcm9wTmFtZSxcbiAgICAgIHR5cGU6ICfooajnpLonLFxuICAgICAgbm90aW9uUHJvcFR5cGU6ICfmnIDntYLmm7TmlrDogIUnLFxuICAgICAgZm9ybXVsYTogJycsXG4gICAgICB2YWx1ZVR5cGU6ICdzdHJpbmcnLFxuICAgICAgZGJOYW1lLFxuICAgIH1cbiAgICBjYXNlICdzdGF0dXMnOiByZXR1cm4ge1xuICAgICAgaWQ6IHByb3BlcnR5LmlkLFxuICAgICAgbmFtZTogcHJvcE5hbWUsXG4gICAgICB0eXBlOiAn5YWl5YqbKOWNmOS4gOmBuOaKniknLFxuICAgICAgbm90aW9uUHJvcFR5cGU6ICfjgrnjg4bjg7zjgr/jgrknLFxuICAgICAgZm9ybXVsYTogJycsXG4gICAgICB2YWx1ZVR5cGU6ICdzdHJpbmcnLFxuICAgICAgZGJOYW1lLFxuICAgIH1cbiAgICBjYXNlICdmb3JtdWxhJzogcmV0dXJuIHtcbiAgICAgIGlkOiBwcm9wZXJ0eS5pZCxcbiAgICAgIG5hbWU6IHByb3BOYW1lLFxuICAgICAgdHlwZTogJ+ihqOekuicsXG4gICAgICBub3Rpb25Qcm9wVHlwZTogJ+aVsOW8jycsXG4gICAgICBmb3JtdWxhOiAnJyxcbiAgICAgIHZhbHVlVHlwZTogJ2FueScsXG4gICAgICBkYk5hbWUsXG4gICAgfVxuICAgIC8qIEB0cy1pZ25vcmUgKi9cbiAgICBjYXNlICdidXR0b24nOiByZXR1cm4ge1xuICAgICAgaWQ6IHByb3BlcnR5Py5bJ2lkJ10gPz8gJycsXG4gICAgICBuYW1lOiBwcm9wTmFtZSxcbiAgICAgIHR5cGU6ICfjg5zjgr/jg7MnLFxuICAgICAgbm90aW9uUHJvcFR5cGU6ICfjg5zjgr/jg7MnLFxuICAgICAgZm9ybXVsYTogJycsXG4gICAgICB2YWx1ZVR5cGU6ICdzdHJpbmcnLFxuICAgICAgZGJOYW1lLFxuICAgIH1cbiAgICBkZWZhdWx0OiByZXR1cm4ge1xuICAgICAgaWQ6IHByb3BlcnR5LmlkLFxuICAgICAgbmFtZTogcHJvcE5hbWUsXG4gICAgICB0eXBlOiAn5LiN5piOJyxcbiAgICAgIG5vdGlvblByb3BUeXBlOiBwcm9wZXJ0eS50eXBlLFxuICAgICAgZm9ybXVsYTogJycsXG4gICAgICB2YWx1ZVR5cGU6ICdzdHJpbmcnLFxuICAgICAgZGJOYW1lLFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNjcmVlbkl0ZW1CdWlsZGVyIHtcbiAgYnVpbGQoZGF0YWJhc2U6IERhdGFiYXNlKTogU2NyZWVuSXRlbVtdIHtcbiAgICBjb25zdCBpdGVtczogU2NyZWVuSXRlbVtdID0gW107XG4gIFxuICAgIE9iamVjdC5lbnRyaWVzKGRhdGFiYXNlPy5wcm9wZXJ0aWVzID8/IHt9KS5zb3J0KChhLCBiKSA9PiB7XG4gICAgICByZXR1cm4gYVswXS5sb2NhbGVDb21wYXJlKGJbMF0pO1xuICAgIH0pLmZpbHRlcigoW3Byb3BOYW1lLCBwcm9wXSkgPT4ge1xuICAgICAgLy8gaWYgKHByb3BOYW1lLnN0YXJ0c1dpdGgoJ18nKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgLy8gaWYgKC9eXFxkLy50ZXN0KHByb3BOYW1lKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgLy8gaWYgKHByb3BOYW1lLmluY2x1ZGVzKCfml6fjgqjjgq/jgrvjg6snKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgLy8gaWYgKFsnZm9ybXVsYScsICdyb2xsdXAnLCAnYnV0dG9uJ10uaW5jbHVkZXMocHJvcC50eXBlKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSkuZm9yRWFjaCgoW3Byb3BOYW1lLCBwcm9wXSkgPT4ge1xuICAgICAgY29uc3QgaXRlbSA9IGJ1aWxkUGFnZUl0ZW0ocHJvcCwgcHJvcE5hbWUsIGRhdGFiYXNlPy50aXRsZT8uWzBdPy5wbGFpbl90ZXh0ID8/ICcnKTtcbiAgICAgIGl0ZW1zLnB1c2goaXRlbSk7XG4gICAgfSk7XG4gIFxuICAgIHJldHVybiBpdGVtcztcbiAgfVxufSJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1kb21haW4tYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tbW9uL3NyYy9saWIvZG9tYWluL2J1aWxkZXIveHhtYWNoaW5hLWNvbW1vbi1kb21haW4tYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;;;;AAAO,MAAM,cAAc,CAAC;AAC5B,IAAI,gBAAgB,CAAC,OAAO,EAAE;AAC9B,QAAQ,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;AACjE,YAAY,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,MAAM;AACpE,gBAAgB,EAAE,EAAE,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC1E,gBAAgB,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;AAC5D,gBAAgB,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;AACvE,gBAAgB,IAAI,EAAE,eAAe;AACrC,gBAAgB,aAAa,EAAE;AAC/B,oBAAoB,IAAI,EAAE,IAAI;AAC9B,oBAAoB,MAAM,EAAE,MAAM,CAAC,iBAAiB,EAAE;AACtD,oBAAoB,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC;AACrE,oBAAoB,mBAAmB,EAAE,OAAO,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC;AACrF,oBAAoB,UAAU,EAAE,OAAO,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC;AAC1E,oBAAoB,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE;AACrD,oBAAoB,UAAU,EAAE,OAAO,CAAC,UAAU;AAClD,oBAAoB,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;AACrE;AACA,aAAa,CAAC,CAAC;AACf,SAAS,CAAC;AACV;AACA;;ACjBU,IAAC;AACX,CAAC,UAAU,QAAQ,EAAE;AACrB,IAAI,QAAQ,CAAC,0BAA0B,CAAC,GAAG,8CAA8C;AACzF,IAAI,QAAQ,CAAC,iBAAiB,CAAC,GAAG,qCAAqC;AACvE,CAAC,EAAE,QAAQ,KAAK,QAAQ,GAAG,EAAE,CAAC,CAAC;AACxB,MAAM,qBAAqB,CAAC;AACnC,IAAI,QAAQ,GAAG,EAAE;AACjB,IAAI,OAAO,GAAG,EAAE;AAChB,IAAI,IAAI,GAAG,IAAI;AACf,IAAI,SAAS,GAAG,IAAI;AACpB,IAAI,OAAO,GAAG,EAAE;AAChB,IAAI,WAAW,CAAC,QAAQ,EAAE;AAC1B,QAAQ,MAAM,UAAU,GAAG,IAAI,qBAAqB,EAAE;AACtD,QAAQ,UAAU,CAAC,QAAQ,GAAG,CAAC,GAAG,QAAQ,CAAC;AAC3C,QAAQ,UAAU,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;AAChD,QAAQ,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;AACnC,QAAQ,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;AAC7C,QAAQ,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;AACzC,QAAQ,OAAO,UAAU;AACzB;AACA,IAAI,UAAU,CAAC,OAAO,EAAE;AACxB,QAAQ,MAAM,UAAU,GAAG,IAAI,qBAAqB,EAAE;AACtD,QAAQ,UAAU,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAChD,QAAQ,UAAU,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE;AAC5D,QAAQ,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;AACnC,QAAQ,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;AAC7C,QAAQ,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;AACzC,QAAQ,OAAO,UAAU;AACzB;AACA,IAAI,OAAO,CAAC,IAAI,EAAE;AAClB,QAAQ,MAAM,UAAU,GAAG,IAAI,qBAAqB,EAAE;AACtD,QAAQ,UAAU,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAChD,QAAQ,UAAU,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;AAChD,QAAQ,UAAU,CAAC,IAAI,GAAG,IAAI;AAC9B,QAAQ,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;AAC7C,QAAQ,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;AACzC,QAAQ,OAAO,UAAU;AACzB;AACA,IAAI,YAAY,CAAC,SAAS,GAAG,EAAE,EAAE;AACjC,QAAQ,MAAM,UAAU,GAAG,IAAI,qBAAqB,EAAE;AACtD,QAAQ,UAAU,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAChD,QAAQ,UAAU,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;AAChD,QAAQ,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;AACnC,QAAQ,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;AACzF,QAAQ,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAC3G,QAAQ,OAAO,UAAU;AACzB;AACA,IAAI,UAAU,CAAC,OAAO,EAAE;AACxB,QAAQ,MAAM,UAAU,GAAG,IAAI,qBAAqB,EAAE;AACtD,QAAQ,UAAU,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AAChD,QAAQ,UAAU,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;AAChD,QAAQ,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI;AACnC,QAAQ,UAAU,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AAClD,QAAQ,UAAU,CAAC,OAAO,GAAG,OAAO;AACpC,QAAQ,OAAO,UAAU;AACzB;AACA,IAAI,WAAW,CAAC,QAAQ,EAAE;AAC1B,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS;AAC3B,YAAY,OAAO,QAAQ;AAC3B,QAAQ,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;AACvF,aAAa,MAAM,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC;AAC3C;AACA,IAAI,WAAW,CAAC,EAAE,EAAE;AACpB,QAAQ,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;AAC1E,QAAQ,IAAI,CAAC,OAAO;AACpB,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC;AACvD,QAAQ,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AACzD,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC,wBAAwB;AAC/C,QAAQ,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE;AACjF,YAAY,IAAI,EAAE,OAAO,CAAC,IAAI;AAC9B,YAAY,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,SAAS;AAChD,YAAY,GAAG,IAAI,CAAC,OAAO;AAC3B,SAAS,CAAC;AACV,QAAQ,OAAO,OAAO,CAAC,MAAM,CAAC;AAC9B,YAAY,OAAO;AACnB,YAAY,IAAI,EAAE,IAAI,CAAC,IAAI;AAC3B,YAAY,OAAO,EAAE;AACrB,gBAAgB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;AAC7C,gBAAgB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;AAC7C;AACA,SAAS,CAAC;AACV;AACA,IAAI,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE;AAC9D,QAAQ,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;AAChE,QAAQ,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK;AACjD,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;AACnD,gBAAgB,OAAO,YAAY,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE;AAChG,oBAAoB,IAAI,EAAE,OAAO,CAAC,IAAI;AACtC,oBAAoB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,SAAS;AACxD,iBAAiB,CAAC,CAAC,MAAM,CAAC;AAC1B,oBAAoB,OAAO;AAC3B,oBAAoB,IAAI,EAAE,IAAI,CAAC,IAAI;AACnC,oBAAoB,OAAO,EAAE;AAC7B,wBAAwB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;AACrD,wBAAwB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;AACrD;AACA,iBAAiB,EAAE,SAAS,CAAC;AAC7B;AACA,iBAAiB;AACjB,gBAAgB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,IAAI,OAAO,KAAK,KAAK,WAAW,CAAC;AACvI,gBAAgB,OAAO,oBAAoB,CAAC,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,gBAAgB,EAAE;AAC9G,oBAAoB,IAAI,EAAE,OAAO,CAAC,IAAI;AACtC,oBAAoB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;AAC3C,oBAAoB,GAAG,SAAS;AAChC,iBAAiB,CAAC;AAClB;AACA,SAAS,CAAC;AACV;AACA,IAAI,gBAAgB,GAAG;AACvB,QAAQ,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE;AAC1D;AACA;AACO,SAAS,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE;AACrH,IAAI,IAAI,CAAC,OAAO;AAChB,QAAQ,OAAO,IAAI;AACnB,IAAI,OAAO,IAAI,qBAAqB;AACpC,SAAS,OAAO,CAAC,IAAI;AACrB,SAAS,WAAW,CAAC,CAAC,OAAO,CAAC;AAC9B,SAAS,UAAU,CAAC,OAAO;AAC3B,SAAS,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;AAClC,SAAS,YAAY,CAAC,IAAI,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AAC3D;AACO,SAAS,4BAA4B,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE;AAC/F,IAAI,IAAI,CAAC,OAAO;AAChB,QAAQ,OAAO,IAAI;AACnB,IAAI,OAAO,IAAI,qBAAqB;AACpC,SAAS,OAAO,CAAC,IAAI;AACrB,SAAS,WAAW,CAAC,CAAC,OAAO,CAAC;AAC9B,SAAS,UAAU,CAAC,OAAO;AAC3B,SAAS,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;AAClC,SAAS,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;AAChC,SAAS,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AACpD;;ACzIA,MAAM,oBAAoB,GAAG;AAC7B,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,SAAS,EAAE,QAAQ;AACvB,IAAI,SAAS,EAAE,QAAQ;AACvB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,YAAY,EAAE,QAAQ;AAC1B,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,QAAQ,EAAE,SAAS;AACvB,IAAI,GAAG,EAAE,QAAQ;AACjB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,YAAY,EAAE,QAAQ;AAC1B,IAAI,QAAQ,EAAE,QAAQ;AACtB,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,YAAY,EAAE,MAAM;AACxB,IAAI,UAAU,EAAE,QAAQ;AACxB,IAAI,gBAAgB,EAAE,MAAM;AAC5B,IAAI,cAAc,EAAE,QAAQ;AAC5B,CAAC;AACD,MAAM,cAAc,GAAG;AACvB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,WAAW,EAAE,IAAI;AACrB,CAAC;AACM,MAAM,SAAS,CAAC;AACvB,IAAI,KAAK,CAAC,SAAS,EAAE;AACrB,QAAQ,MAAM,OAAO,GAAG,EAAE;AAC1B,QAAQ,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,MAAM;AAC1D,YAAY,GAAG,GAAG;AAClB,YAAY,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE;AACrC,SAAS,CAAC,EAAE,EAAE,CAAC;AACf,QAAQ,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;AAC1C,YAAY,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC;AAC3G,YAAY,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AAChC;AACA,QAAQ,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;AAC3C;AACA,IAAI,mBAAmB,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE;AACvD,QAAQ,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU;AAC9C,QAAQ,MAAM,MAAM,GAAG,EAAE;AACzB,QAAQ,MAAM,SAAS,GAAG,EAAE;AAC5B,QAAQ,MAAM,CAAC,IAAI,CAAC,UAAU;AAC9B,aAAa,MAAM,CAAC,QAAQ,IAAI;AAChC,YAAY,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;AACnF,gBAAgB,OAAO,KAAK;AAC5B,YAAY,OAAO,IAAI;AACvB,SAAS;AACT,aAAa,IAAI;AACjB,aAAa,OAAO,CAAC,QAAQ,IAAI;AACjC,YAAY,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC;AAC7C,YAAY,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI;AAClC,YAAY,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC;AACzD,YAAY,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,GAAG;AACnD,YAAY,MAAM,KAAK,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;AACtE,YAAY,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AAC9B;AACA,YAAY,IAAI,IAAI,KAAK,UAAU,EAAE;AACrC,gBAAgB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;AACjD,gBAAgB,IAAI,QAAQ,IAAI,QAAQ,CAAC,WAAW,EAAE;AACtD,oBAAoB,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW;AAC3D,oBAAoB,MAAM,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,SAAS;AACrE,oBAAoB,SAAS,CAAC,IAAI,CAAC;AACnC,wBAAwB,MAAM,EAAE,IAAI;AACpC,wBAAwB,MAAM,EAAE,YAAY;AAC5C,wBAAwB,KAAK,EAAE,QAAQ;AACvC,wBAAwB,IAAI,EAAE,QAAQ;AACtC,qBAAqB,CAAC;AACtB;AACA,qBAAqB,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AAC9D,oBAAoB,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI;AAC5C,wBAAwB,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW;AAC1D,wBAAwB,MAAM,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,SAAS;AACzE,wBAAwB,SAAS,CAAC,IAAI,CAAC;AACvC,4BAA4B,MAAM,EAAE,IAAI;AACxC,4BAA4B,MAAM,EAAE,YAAY;AAChD,4BAA4B,KAAK,EAAE,QAAQ;AAC3C,4BAA4B,IAAI,EAAE,QAAQ;AAC1C,yBAAyB,CAAC;AAC1B,qBAAqB,CAAC;AACtB;AACA;AACA,SAAS,CAAC;AACV,QAAQ,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE;AAC1C;AACA,IAAI,cAAc,CAAC,OAAO,EAAE;AAC5B,QAAQ,IAAI,OAAO,GAAG,aAAa;AACnC;AACA,QAAQ,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI;AAClC,YAAY,OAAO,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AAC/C,YAAY,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAC5E,YAAY,OAAO,IAAI,SAAS;AAChC,SAAS,CAAC;AACV;AACA,QAAQ,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI;AAClC,YAAY,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,IAAI;AACjD,gBAAgB,OAAO,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;AACjH,aAAa,CAAC;AACd,SAAS,CAAC;AACV,QAAQ,OAAO,OAAO;AACtB;AACA;;ACtGO,MAAM,YAAY,CAAC;AAC1B,IAAI,OAAO,cAAc,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE;AAC9C,QAAQ,OAAO,WAAW,CAAC,QAAQ,CAAC;AACpC,YAAY,EAAE,EAAE,eAAe;AAC/B,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,SAAS,EAAE,SAAS;AAChC,YAAY,KAAK,EAAE,eAAe;AAClC,YAAY,OAAO,EAAE,sCAAsC;AAC3D,YAAY,OAAO,EAAE;AACrB,gBAAgB,QAAQ,EAAE,OAAO,CAAC,QAAQ;AAC1C,gBAAgB,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AACjD,gBAAgB,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;AAC5D,gBAAgB,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC;AAChE,gBAAgB,aAAa,EAAE,OAAO,EAAE,aAAa,IAAI,IAAI;AAC7D,aAAa;AACb,YAAY,SAAS,EAAE,IAAI;AAC3B,YAAY,SAAS,EAAE,IAAI;AAC3B,YAAY,GAAG,IAAI;AACnB,SAAS,CAAC;AACV;AACA;;ACtBA,SAAS,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE;AACnD,IAAI,QAAQ,QAAQ,CAAC,IAAI;AACzB,QAAQ,KAAK,QAAQ,EAAE,OAAO;AAC9B,YAAY,EAAE,EAAE,QAAQ,CAAC,EAAE;AAC3B,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,cAAc,EAAE,MAAM;AAClC,YAAY,OAAO,EAAE,EAAE;AACvB,YAAY,SAAS,EAAE,QAAQ;AAC/B,YAAY,MAAM;AAClB,SAAS;AACT,QAAQ,KAAK,cAAc,EAAE,OAAO;AACpC,YAAY,EAAE,EAAE,QAAQ,CAAC,EAAE;AAC3B,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,cAAc,EAAE,SAAS;AACrC,YAAY,OAAO,EAAE,EAAE;AACvB,YAAY,SAAS,EAAE,QAAQ;AAC/B,YAAY,MAAM;AAClB,SAAS;AACT,QAAQ,KAAK,UAAU,EAAE,OAAO;AAChC,YAAY,EAAE,EAAE,QAAQ,CAAC,EAAE;AAC3B,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,cAAc,EAAE,QAAQ;AACpC,YAAY,OAAO,EAAE,EAAE;AACvB,YAAY,SAAS,EAAE,QAAQ;AAC/B,YAAY,MAAM;AAClB,SAAS;AACT,QAAQ,KAAK,QAAQ,EAAE,OAAO;AAC9B,YAAY,EAAE,EAAE,QAAQ,CAAC,EAAE;AAC3B,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,IAAI;AACtB,YAAY,cAAc,EAAE,QAAQ;AACpC,YAAY,OAAO,EAAE,EAAE;AACvB,YAAY,SAAS,EAAE,QAAQ;AAC/B,YAAY,MAAM;AAClB,SAAS;AACT,QAAQ,KAAK,WAAW,EAAE,OAAO;AACjC,YAAY,EAAE,EAAE,QAAQ,CAAC,EAAE;AAC3B,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,IAAI;AACtB,YAAY,cAAc,EAAE,QAAQ;AACpC,YAAY,OAAO,EAAE,EAAE;AACvB,YAAY,SAAS,EAAE,QAAQ;AAC/B,YAAY,MAAM;AAClB,SAAS;AACT,QAAQ,KAAK,cAAc,EAAE,OAAO;AACpC,YAAY,EAAE,EAAE,QAAQ,CAAC,EAAE;AAC3B,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,IAAI;AACtB,YAAY,cAAc,EAAE,MAAM;AAClC,YAAY,OAAO,EAAE,EAAE;AACvB,YAAY,SAAS,EAAE,MAAM;AAC7B,YAAY,MAAM;AAClB,SAAS;AACT,QAAQ,KAAK,YAAY,EAAE,OAAO;AAClC,YAAY,EAAE,EAAE,QAAQ,CAAC,EAAE;AAC3B,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,IAAI;AACtB,YAAY,cAAc,EAAE,KAAK;AACjC,YAAY,OAAO,EAAE,EAAE;AACvB,YAAY,SAAS,EAAE,QAAQ;AAC/B,YAAY,MAAM;AAClB,SAAS;AACT,QAAQ,KAAK,WAAW,EAAE,OAAO;AACjC,YAAY,EAAE,EAAE,QAAQ,CAAC,EAAE;AAC3B,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,cAAc,EAAE,MAAM;AAClC,YAAY,OAAO,EAAE,EAAE;AACvB,YAAY,SAAS,EAAE,QAAQ;AAC/B,YAAY,MAAM;AAClB,SAAS;AACT,QAAQ,KAAK,QAAQ,EAAE,OAAO;AAC9B,YAAY,EAAE,EAAE,QAAQ,CAAC,EAAE;AAC3B,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,cAAc,EAAE,IAAI;AAChC,YAAY,OAAO,EAAE,EAAE;AACvB,YAAY,SAAS,EAAE,QAAQ;AAC/B,YAAY,MAAM;AAClB,SAAS;AACT,QAAQ,KAAK,MAAM,EAAE,OAAO;AAC5B,YAAY,EAAE,EAAE,QAAQ,CAAC,EAAE;AAC3B,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,cAAc,EAAE,IAAI;AAChC,YAAY,OAAO,EAAE,EAAE;AACvB,YAAY,SAAS,EAAE,MAAM;AAC7B,YAAY,MAAM;AAClB,SAAS;AACT,QAAQ,KAAK,UAAU,EAAE,OAAO;AAChC,YAAY,EAAE,EAAE,QAAQ,CAAC,EAAE;AAC3B,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,cAAc,EAAE,UAAU;AACtC,YAAY,OAAO,EAAE,EAAE;AACvB,YAAY,SAAS,EAAE,SAAS;AAChC,YAAY,MAAM;AAClB,SAAS;AACT,QAAQ,KAAK,OAAO,EAAE,OAAO;AAC7B,YAAY,EAAE,EAAE,QAAQ,CAAC,EAAE;AAC3B,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,cAAc,EAAE,MAAM;AAClC,YAAY,OAAO,EAAE,EAAE;AACvB,YAAY,SAAS,EAAE,QAAQ;AAC/B,YAAY,MAAM;AAClB,SAAS;AACT,QAAQ,KAAK,QAAQ,EAAE,OAAO;AAC9B,YAAY,EAAE,EAAE,QAAQ,CAAC,EAAE;AAC3B,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,cAAc,EAAE,MAAM;AAClC,YAAY,OAAO,EAAE,EAAE;AACvB,YAAY,SAAS,EAAE,QAAQ;AAC/B,YAAY,MAAM;AAClB,SAAS;AACT,QAAQ,KAAK,kBAAkB,EAAE,OAAO;AACxC,YAAY,EAAE,EAAE,QAAQ,CAAC,EAAE;AAC3B,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,IAAI;AACtB,YAAY,cAAc,EAAE,QAAQ;AACpC,YAAY,OAAO,EAAE,EAAE;AACvB,YAAY,SAAS,EAAE,MAAM;AAC7B,YAAY,MAAM;AAClB,SAAS;AACT,QAAQ,KAAK,gBAAgB,EAAE,OAAO;AACtC,YAAY,EAAE,EAAE,QAAQ,CAAC,EAAE;AAC3B,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,IAAI;AACtB,YAAY,cAAc,EAAE,OAAO;AACnC,YAAY,OAAO,EAAE,EAAE;AACvB,YAAY,SAAS,EAAE,QAAQ;AAC/B,YAAY,MAAM;AAClB,SAAS;AACT,QAAQ,KAAK,QAAQ,EAAE,OAAO;AAC9B,YAAY,EAAE,EAAE,QAAQ,CAAC,EAAE;AAC3B,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,cAAc,EAAE,OAAO;AACnC,YAAY,OAAO,EAAE,EAAE;AACvB,YAAY,SAAS,EAAE,QAAQ;AAC/B,YAAY,MAAM;AAClB,SAAS;AACT,QAAQ,KAAK,SAAS,EAAE,OAAO;AAC/B,YAAY,EAAE,EAAE,QAAQ,CAAC,EAAE;AAC3B,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,IAAI;AACtB,YAAY,cAAc,EAAE,IAAI;AAChC,YAAY,OAAO,EAAE,EAAE;AACvB,YAAY,SAAS,EAAE,KAAK;AAC5B,YAAY,MAAM;AAClB,SAAS;AACT;AACA,QAAQ,KAAK,QAAQ,EAAE,OAAO;AAC9B,YAAY,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE;AACtC,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,KAAK;AACvB,YAAY,cAAc,EAAE,KAAK;AACjC,YAAY,OAAO,EAAE,EAAE;AACvB,YAAY,SAAS,EAAE,QAAQ;AAC/B,YAAY,MAAM;AAClB,SAAS;AACT,QAAQ,SAAS,OAAO;AACxB,YAAY,EAAE,EAAE,QAAQ,CAAC,EAAE;AAC3B,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,IAAI;AACtB,YAAY,cAAc,EAAE,QAAQ,CAAC,IAAI;AACzC,YAAY,OAAO,EAAE,EAAE;AACvB,YAAY,SAAS,EAAE,QAAQ;AAC/B,YAAY,MAAM;AAClB,SAAS;AACT;AACA;AACO,MAAM,iBAAiB,CAAC;AAC/B,IAAI,KAAK,CAAC,QAAQ,EAAE;AACpB,QAAQ,MAAM,KAAK,GAAG,EAAE;AACxB,QAAQ,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK;AAClE,YAAY,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK;AACxC;AACA;AACA;AACA;AACA,YAAY,OAAO,IAAI;AACvB,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK;AACzC,YAAY,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC;AAC9F,YAAY,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AAC5B,SAAS,CAAC;AACV,QAAQ,OAAO,KAAK;AACpB;AACA;;ACjMA;AACA;AACA;;;;"}
|