sonamu 0.5.7 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.swcrc.project-default +18 -0
- package/bin/cli.js +24 -0
- package/dist/ai/agents/agent.d.ts +11 -0
- package/dist/ai/agents/agent.d.ts.map +1 -0
- package/dist/ai/agents/agent.js +65 -0
- package/dist/ai/agents/index.d.ts +3 -0
- package/dist/ai/agents/index.d.ts.map +1 -0
- package/dist/ai/agents/index.js +4 -0
- package/dist/ai/agents/types.d.ts +43 -0
- package/dist/ai/agents/types.d.ts.map +1 -0
- package/dist/ai/agents/types.js +3 -0
- package/dist/ai/index.d.ts +2 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +3 -0
- package/dist/ai/providers/rtzr/api.d.ts +22 -0
- package/dist/ai/providers/rtzr/api.d.ts.map +1 -0
- package/dist/ai/providers/rtzr/api.js +28 -0
- package/dist/ai/providers/rtzr/error.d.ts +18 -0
- package/dist/ai/providers/rtzr/error.d.ts.map +1 -0
- package/dist/ai/providers/rtzr/error.js +29 -0
- package/dist/ai/providers/rtzr/index.d.ts +5 -0
- package/dist/ai/providers/rtzr/index.d.ts.map +1 -0
- package/dist/ai/providers/rtzr/index.js +6 -0
- package/dist/ai/providers/rtzr/model.d.ts +52 -0
- package/dist/ai/providers/rtzr/model.d.ts.map +1 -0
- package/dist/ai/providers/rtzr/model.js +137 -0
- package/dist/ai/providers/rtzr/options.d.ts +7 -0
- package/dist/ai/providers/rtzr/options.d.ts.map +1 -0
- package/dist/ai/providers/rtzr/options.js +47 -0
- package/dist/ai/providers/rtzr/provider.d.ts +18 -0
- package/dist/ai/providers/rtzr/provider.d.ts.map +1 -0
- package/dist/ai/providers/rtzr/provider.js +54 -0
- package/dist/ai/providers/rtzr/utils.d.ts +19 -0
- package/dist/ai/providers/rtzr/utils.d.ts.map +1 -0
- package/dist/ai/providers/rtzr/utils.js +88 -0
- package/dist/api/base-frame.d.ts +2 -2
- package/dist/api/base-frame.d.ts.map +1 -1
- package/dist/api/base-frame.js +13 -2
- package/dist/api/caster.d.ts.map +1 -1
- package/dist/api/caster.js +71 -2
- package/dist/api/code-converters.d.ts +58 -14
- package/dist/api/code-converters.d.ts.map +1 -1
- package/dist/api/code-converters.js +258 -2
- package/dist/api/config.d.ts +90 -0
- package/dist/api/config.d.ts.map +1 -0
- package/dist/api/config.js +25 -0
- package/dist/api/context.d.ts +4 -2
- package/dist/api/context.d.ts.map +1 -1
- package/dist/api/context.js +3 -2
- package/dist/api/decorators.d.ts +20 -6
- package/dist/api/decorators.d.ts.map +1 -1
- package/dist/api/decorators.js +235 -2
- package/dist/api/index.d.ts +2 -2
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +9 -2
- package/dist/api/sonamu.d.ts +10 -24
- package/dist/api/sonamu.d.ts.map +1 -1
- package/dist/api/sonamu.js +514 -2
- package/dist/api/validator.d.ts +6 -0
- package/dist/api/validator.d.ts.map +1 -0
- package/dist/api/validator.js +81 -0
- package/dist/bin/build-config.d.ts +6 -1
- package/dist/bin/build-config.d.ts.map +1 -1
- package/dist/bin/build-config.js +15 -2
- package/dist/bin/cli.js +519 -2
- package/dist/bin/hot-hook-register.d.ts +11 -0
- package/dist/bin/hot-hook-register.d.ts.map +1 -0
- package/dist/bin/hot-hook-register.js +21 -0
- package/dist/bin/loader-register.d.ts +2 -0
- package/dist/bin/loader-register.d.ts.map +1 -0
- package/dist/bin/loader-register.js +34 -0
- package/dist/database/_batch_update.d.ts +5 -3
- package/dist/database/_batch_update.d.ts.map +1 -1
- package/dist/database/_batch_update.js +95 -2
- package/dist/database/base-model.d.ts +96 -10
- package/dist/database/base-model.d.ts.map +1 -1
- package/dist/database/base-model.js +390 -2
- package/dist/database/base-model.types.d.ts +93 -0
- package/dist/database/base-model.types.d.ts.map +1 -0
- package/dist/database/base-model.types.js +10 -0
- package/dist/database/code-generator.d.ts +1 -1
- package/dist/database/code-generator.d.ts.map +1 -1
- package/dist/database/code-generator.js +54 -2
- package/dist/database/db.d.ts +6 -21
- package/dist/database/db.d.ts.map +1 -1
- package/dist/database/db.js +129 -2
- package/dist/database/puri-subset.test-d.js +81 -0
- package/dist/database/puri-subset.types.d.ts +123 -0
- package/dist/database/puri-subset.types.d.ts.map +1 -0
- package/dist/database/puri-subset.types.js +16 -0
- package/dist/database/puri-wrapper.d.ts +13 -11
- package/dist/database/puri-wrapper.d.ts.map +1 -1
- package/dist/database/puri-wrapper.js +109 -2
- package/dist/database/puri.d.ts +41 -23
- package/dist/database/puri.d.ts.map +1 -1
- package/dist/database/puri.js +601 -2
- package/dist/database/puri.types.d.ts +25 -6
- package/dist/database/puri.types.d.ts.map +1 -1
- package/dist/database/puri.types.js +6 -2
- package/dist/database/transaction-context.d.ts +1 -1
- package/dist/database/transaction-context.d.ts.map +1 -1
- package/dist/database/transaction-context.js +14 -2
- package/dist/database/upsert-builder.d.ts +9 -3
- package/dist/database/upsert-builder.d.ts.map +1 -1
- package/dist/database/upsert-builder.js +365 -2
- package/dist/entity/entity-manager.d.ts +167 -2
- package/dist/entity/entity-manager.d.ts.map +1 -1
- package/dist/entity/entity-manager.js +130 -2
- package/dist/entity/entity.d.ts +5 -3
- package/dist/entity/entity.d.ts.map +1 -1
- package/dist/entity/entity.js +750 -2
- package/dist/exceptions/error-handler.d.ts +1 -1
- package/dist/exceptions/error-handler.d.ts.map +1 -1
- package/dist/exceptions/error-handler.js +29 -2
- package/dist/exceptions/so-exceptions.d.ts +1 -1
- package/dist/exceptions/so-exceptions.d.ts.map +1 -1
- package/dist/exceptions/so-exceptions.js +85 -2
- package/dist/file-storage/driver.d.ts +1 -1
- package/dist/file-storage/driver.d.ts.map +1 -1
- package/dist/file-storage/driver.js +79 -2
- package/dist/file-storage/file-storage.js +75 -2
- package/dist/index.d.ts +18 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +34 -2
- package/dist/migration/code-generation.d.ts +1 -1
- package/dist/migration/code-generation.d.ts.map +1 -1
- package/dist/migration/code-generation.js +614 -2
- package/dist/migration/migration-set.d.ts +2 -10
- package/dist/migration/migration-set.d.ts.map +1 -1
- package/dist/migration/migration-set.js +213 -2
- package/dist/migration/migrator.d.ts +24 -82
- package/dist/migration/migrator.d.ts.map +1 -1
- package/dist/migration/migrator.js +330 -2
- package/dist/migration/postgresql-schema-reader.d.ts +51 -0
- package/dist/migration/postgresql-schema-reader.d.ts.map +1 -0
- package/dist/migration/postgresql-schema-reader.js +245 -0
- package/dist/migration/types.d.ts +6 -38
- package/dist/migration/types.d.ts.map +1 -1
- package/dist/migration/types.js +3 -2
- package/dist/naite/messaging-types.d.ts +43 -0
- package/dist/naite/messaging-types.d.ts.map +1 -0
- package/dist/naite/messaging-types.js +7 -0
- package/dist/naite/naite-reporter.d.ts +41 -0
- package/dist/naite/naite-reporter.d.ts.map +1 -0
- package/dist/naite/naite-reporter.js +102 -0
- package/dist/naite/naite.d.ts +95 -0
- package/dist/naite/naite.d.ts.map +1 -0
- package/dist/naite/naite.js +316 -0
- package/dist/stream/index.js +3 -2
- package/dist/stream/sse.d.ts +2 -2
- package/dist/stream/sse.d.ts.map +1 -1
- package/dist/stream/sse.js +38 -2
- package/dist/syncer/api-parser.d.ts +10 -0
- package/dist/syncer/api-parser.d.ts.map +1 -0
- package/dist/syncer/api-parser.js +240 -0
- package/dist/syncer/checksum.d.ts +21 -0
- package/dist/syncer/checksum.d.ts.map +1 -0
- package/dist/syncer/checksum.js +98 -0
- package/dist/syncer/code-generator.d.ts +20 -0
- package/dist/syncer/code-generator.d.ts.map +1 -0
- package/dist/syncer/code-generator.js +161 -0
- package/dist/syncer/entity-operations.d.ts +17 -0
- package/dist/syncer/entity-operations.d.ts.map +1 -0
- package/dist/syncer/entity-operations.js +59 -0
- package/dist/syncer/file-patterns.d.ts +29 -0
- package/dist/syncer/file-patterns.d.ts.map +1 -0
- package/dist/syncer/file-patterns.js +38 -0
- package/dist/syncer/index.d.ts +6 -0
- package/dist/syncer/index.d.ts.map +1 -1
- package/dist/syncer/index.js +9 -2
- package/dist/syncer/module-loader.d.ts +35 -0
- package/dist/syncer/module-loader.d.ts.map +1 -0
- package/dist/syncer/module-loader.js +87 -0
- package/dist/syncer/syncer.d.ts +98 -106
- package/dist/syncer/syncer.d.ts.map +1 -1
- package/dist/syncer/syncer.js +422 -2
- package/dist/template/entity-converter.d.ts +14 -0
- package/dist/template/entity-converter.d.ts.map +1 -0
- package/dist/template/entity-converter.js +108 -0
- package/dist/template/helpers.d.ts +23 -0
- package/dist/template/helpers.d.ts.map +1 -0
- package/dist/template/helpers.js +64 -0
- package/dist/{templates → template/implementations}/entity.template.d.ts +3 -3
- package/dist/template/implementations/entity.template.d.ts.map +1 -0
- package/dist/template/implementations/entity.template.js +86 -0
- package/dist/{templates → template/implementations}/generated.template.d.ts +3 -4
- package/dist/template/implementations/generated.template.d.ts.map +1 -0
- package/dist/template/implementations/generated.template.js +249 -0
- package/dist/{templates → template/implementations}/generated_http.template.d.ts +3 -4
- package/dist/template/implementations/generated_http.template.d.ts.map +1 -0
- package/dist/template/implementations/generated_http.template.js +131 -0
- package/dist/{templates → template/implementations}/generated_sso.template.d.ts +4 -5
- package/dist/template/implementations/generated_sso.template.d.ts.map +1 -0
- package/dist/template/implementations/generated_sso.template.js +134 -0
- package/dist/{templates → template/implementations}/init_types.template.d.ts +3 -3
- package/dist/template/implementations/init_types.template.d.ts.map +1 -0
- package/dist/template/implementations/init_types.template.js +38 -0
- package/dist/template/implementations/model.template.d.ts +17 -0
- package/dist/template/implementations/model.template.d.ts.map +1 -0
- package/dist/template/implementations/model.template.js +181 -0
- package/dist/{templates → template/implementations}/model_test.template.d.ts +3 -3
- package/dist/template/implementations/model_test.template.d.ts.map +1 -0
- package/dist/template/implementations/model_test.template.js +35 -0
- package/dist/{templates → template/implementations}/service.template.d.ts +6 -6
- package/dist/template/implementations/service.template.d.ts.map +1 -0
- package/dist/template/implementations/service.template.js +201 -0
- package/dist/{templates → template/implementations}/view_enums_buttonset.template.d.ts +3 -3
- package/dist/template/implementations/view_enums_buttonset.template.d.ts.map +1 -0
- package/dist/template/implementations/view_enums_buttonset.template.js +31 -0
- package/dist/{templates → template/implementations}/view_enums_dropdown.template.d.ts +3 -4
- package/dist/template/implementations/view_enums_dropdown.template.d.ts.map +1 -0
- package/dist/template/implementations/view_enums_dropdown.template.js +50 -0
- package/dist/{templates → template/implementations}/view_enums_select.template.d.ts +3 -3
- package/dist/template/implementations/view_enums_select.template.d.ts.map +1 -0
- package/dist/template/implementations/view_enums_select.template.js +55 -0
- package/dist/{templates → template/implementations}/view_form.template.d.ts +5 -5
- package/dist/template/implementations/view_form.template.d.ts.map +1 -0
- package/dist/template/implementations/view_form.template.js +337 -0
- package/dist/{templates → template/implementations}/view_id_all_select.template.d.ts +3 -3
- package/dist/template/implementations/view_id_all_select.template.d.ts.map +1 -0
- package/dist/template/implementations/view_id_all_select.template.js +31 -0
- package/dist/{templates → template/implementations}/view_id_async_select.template.d.ts +3 -3
- package/dist/template/implementations/view_id_async_select.template.d.ts.map +1 -0
- package/dist/template/implementations/view_id_async_select.template.js +105 -0
- package/dist/{templates → template/implementations}/view_list.template.d.ts +5 -13
- package/dist/template/implementations/view_list.template.d.ts.map +1 -0
- package/dist/template/implementations/view_list.template.js +475 -0
- package/dist/template/implementations/view_list_columns.template.d.ts +17 -0
- package/dist/template/implementations/view_list_columns.template.d.ts.map +1 -0
- package/dist/template/implementations/view_list_columns.template.js +49 -0
- package/dist/{templates → template/implementations}/view_search_input.template.d.ts +3 -3
- package/dist/template/implementations/view_search_input.template.d.ts.map +1 -0
- package/dist/template/implementations/view_search_input.template.js +64 -0
- package/dist/template/index.d.ts +7 -0
- package/dist/template/index.d.ts.map +1 -0
- package/dist/template/index.js +8 -0
- package/dist/template/template-manager.d.ts +56 -0
- package/dist/template/template-manager.d.ts.map +1 -0
- package/dist/template/template-manager.js +125 -0
- package/dist/template/template-types.d.ts +16 -0
- package/dist/template/template-types.d.ts.map +1 -0
- package/dist/template/template-types.js +7 -0
- package/dist/template/template.d.ts +49 -0
- package/dist/template/template.d.ts.map +1 -0
- package/dist/template/template.js +60 -0
- package/dist/template/zod-converter.d.ts +51 -0
- package/dist/template/zod-converter.d.ts.map +1 -0
- package/dist/template/zod-converter.js +449 -0
- package/dist/testing/_relation-graph.d.ts +1 -1
- package/dist/testing/_relation-graph.d.ts.map +1 -1
- package/dist/testing/_relation-graph.js +89 -2
- package/dist/testing/fixture-manager.d.ts +42 -11
- package/dist/testing/fixture-manager.d.ts.map +1 -1
- package/dist/testing/fixture-manager.js +623 -2
- package/dist/types/types.d.ts +747 -143
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/types.js +546 -2
- package/dist/typings/knex.d.js +3 -2
- package/dist/utils/async-utils.d.ts +7 -0
- package/dist/utils/async-utils.d.ts.map +1 -1
- package/dist/utils/async-utils.js +57 -2
- package/dist/utils/console-util.d.ts +2 -0
- package/dist/utils/console-util.d.ts.map +1 -0
- package/dist/utils/console-util.js +6 -0
- package/dist/utils/controller.d.ts +1 -0
- package/dist/utils/controller.d.ts.map +1 -1
- package/dist/utils/controller.js +29 -2
- package/dist/utils/esm-utils.d.ts +39 -0
- package/dist/utils/esm-utils.d.ts.map +1 -0
- package/dist/utils/esm-utils.js +49 -0
- package/dist/utils/formatter.d.ts +3 -0
- package/dist/utils/formatter.d.ts.map +1 -0
- package/dist/utils/formatter.js +110 -0
- package/dist/utils/fs-utils.d.ts +1 -1
- package/dist/utils/fs-utils.d.ts.map +1 -1
- package/dist/utils/fs-utils.js +17 -2
- package/dist/utils/lodash-able.d.ts.map +1 -1
- package/dist/utils/lodash-able.js +6 -2
- package/dist/utils/model.js +22 -2
- package/dist/utils/object-utils.d.ts +44 -0
- package/dist/utils/object-utils.d.ts.map +1 -0
- package/dist/utils/object-utils.js +191 -0
- package/dist/utils/path-utils.d.ts +89 -0
- package/dist/utils/path-utils.d.ts.map +1 -0
- package/dist/utils/path-utils.js +60 -0
- package/dist/utils/process-utils.d.ts +13 -0
- package/dist/utils/process-utils.d.ts.map +1 -0
- package/dist/utils/process-utils.js +36 -0
- package/dist/utils/sql-parser.d.ts +5 -1
- package/dist/utils/sql-parser.d.ts.map +1 -1
- package/dist/utils/sql-parser.js +46 -2
- package/dist/utils/type-utils.d.ts +23 -0
- package/dist/utils/type-utils.d.ts.map +1 -0
- package/dist/utils/type-utils.js +45 -0
- package/dist/utils/utils.d.ts +10 -7
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +72 -2
- package/dist/utils/zod-error.d.ts +1 -1
- package/dist/utils/zod-error.d.ts.map +1 -1
- package/dist/utils/zod-error.js +19 -2
- package/package.json +65 -27
- package/src/ai/agents/agent.ts +87 -0
- package/src/ai/agents/index.ts +2 -0
- package/src/ai/agents/types.ts +47 -0
- package/src/ai/index.ts +1 -0
- package/src/ai/providers/rtzr/api.ts +37 -0
- package/src/ai/providers/rtzr/error.ts +34 -0
- package/src/ai/providers/rtzr/index.ts +4 -0
- package/src/ai/providers/rtzr/model.ts +201 -0
- package/src/ai/providers/rtzr/options.ts +49 -0
- package/src/ai/providers/rtzr/provider.ts +91 -0
- package/src/ai/providers/rtzr/utils.ts +127 -0
- package/src/api/base-frame.ts +4 -2
- package/src/api/caster.ts +17 -23
- package/src/api/code-converters.ts +178 -535
- package/src/api/config.ts +125 -0
- package/src/api/context.ts +7 -17
- package/src/api/decorators.ts +176 -46
- package/src/api/index.ts +2 -2
- package/src/api/sonamu.ts +190 -167
- package/src/api/validator.ts +83 -0
- package/src/bin/build-config.ts +8 -1
- package/src/bin/cli.ts +258 -124
- package/src/bin/hot-hook-register.ts +22 -0
- package/src/bin/loader-register.ts +38 -0
- package/src/database/_batch_update.ts +46 -31
- package/src/database/base-model.ts +390 -182
- package/src/database/base-model.types.ts +155 -0
- package/src/database/code-generator.ts +13 -32
- package/src/database/db.ts +40 -96
- package/src/database/puri-subset.test-d.ts +471 -0
- package/src/database/puri-subset.types.ts +195 -0
- package/src/database/puri-wrapper.ts +58 -67
- package/src/database/puri.ts +229 -148
- package/src/database/puri.types.ts +76 -30
- package/src/database/transaction-context.ts +1 -1
- package/src/database/upsert-builder.ts +262 -132
- package/src/entity/entity-manager.ts +48 -36
- package/src/entity/entity.ts +330 -248
- package/src/exceptions/error-handler.ts +3 -3
- package/src/exceptions/so-exceptions.ts +11 -11
- package/src/file-storage/driver.ts +5 -5
- package/src/file-storage/file-storage.ts +2 -2
- package/src/index.ts +18 -10
- package/src/migration/code-generation.ts +185 -172
- package/src/migration/migration-set.ts +80 -293
- package/src/migration/migrator.ts +199 -571
- package/src/migration/mysql-schema-reader.ts.txt +272 -0
- package/src/migration/postgresql-schema-reader.ts +310 -0
- package/src/migration/types.ts +6 -39
- package/src/naite/messaging-types.ts +51 -0
- package/src/naite/naite-reporter.ts +128 -0
- package/src/naite/naite.ts +415 -0
- package/src/shared/web.shared.ts.txt +20 -24
- package/src/stream/sse.ts +5 -5
- package/src/syncer/api-parser.ts +282 -0
- package/src/syncer/checksum.ts +140 -0
- package/src/syncer/code-generator.ts +198 -0
- package/src/syncer/entity-operations.ts +65 -0
- package/src/syncer/file-patterns.ts +56 -0
- package/src/syncer/index.ts +6 -0
- package/src/syncer/module-loader.ts +128 -0
- package/src/syncer/syncer.ts +389 -1453
- package/src/template/entity-converter.ts +114 -0
- package/src/template/helpers.ts +81 -0
- package/src/{templates → template/implementations}/entity.template.ts +7 -7
- package/src/{templates → template/implementations}/generated.template.ts +101 -101
- package/src/{templates → template/implementations}/generated_http.template.ts +27 -57
- package/src/template/implementations/generated_sso.template.ts +151 -0
- package/src/{templates → template/implementations}/init_types.template.ts +5 -7
- package/src/{templates → template/implementations}/model.template.ts +52 -43
- package/src/{templates → template/implementations}/model_test.template.ts +5 -5
- package/src/{templates → template/implementations}/service.template.ts +66 -82
- package/src/{templates → template/implementations}/view_enums_buttonset.template.ts +3 -3
- package/src/{templates → template/implementations}/view_enums_dropdown.template.ts +4 -20
- package/src/{templates → template/implementations}/view_enums_select.template.ts +4 -4
- package/src/{templates → template/implementations}/view_form.template.ts +40 -83
- package/src/{templates → template/implementations}/view_id_all_select.template.ts +3 -3
- package/src/{templates → template/implementations}/view_id_async_select.template.ts +10 -24
- package/src/{templates → template/implementations}/view_list.template.ts +60 -152
- package/src/{templates → template/implementations}/view_list_columns.template.ts +5 -11
- package/src/{templates → template/implementations}/view_search_input.template.ts +3 -3
- package/src/template/index.ts +6 -0
- package/src/template/template-manager.ts +166 -0
- package/src/template/template-types.ts +16 -0
- package/src/template/template.ts +105 -0
- package/src/template/zod-converter.ts +525 -0
- package/src/testing/_relation-graph.ts +18 -11
- package/src/testing/fixture-manager.ts +472 -359
- package/src/types/types.ts +553 -308
- package/src/typings/knex.d.ts +7 -9
- package/src/utils/async-utils.ts +23 -10
- package/src/utils/console-util.ts +4 -0
- package/src/utils/controller.ts +3 -0
- package/src/utils/esm-utils.ts +59 -0
- package/src/utils/formatter.ts +109 -0
- package/src/utils/fs-utils.ts +1 -1
- package/src/utils/lodash-able.ts +1 -4
- package/src/utils/object-utils.ts +217 -0
- package/src/utils/path-utils.ts +99 -0
- package/src/utils/process-utils.ts +46 -0
- package/src/utils/sql-parser.ts +23 -5
- package/src/utils/type-utils.ts +83 -0
- package/src/utils/utils.ts +66 -43
- package/src/utils/zod-error.ts +3 -4
- package/dist/api/base-frame.js.map +0 -1
- package/dist/api/caster.js.map +0 -1
- package/dist/api/code-converters.js.map +0 -1
- package/dist/api/context.js.map +0 -1
- package/dist/api/decorators.js.map +0 -1
- package/dist/api/index.js.map +0 -1
- package/dist/api/sonamu.js.map +0 -1
- package/dist/bin/build-config.js.map +0 -1
- package/dist/bin/cli-wrapper.d.ts +0 -3
- package/dist/bin/cli-wrapper.d.ts.map +0 -1
- package/dist/bin/cli-wrapper.js +0 -3
- package/dist/bin/cli-wrapper.js.map +0 -1
- package/dist/bin/cli.js.map +0 -1
- package/dist/database/_batch_update.js.map +0 -1
- package/dist/database/base-model.js.map +0 -1
- package/dist/database/code-generator.js.map +0 -1
- package/dist/database/db.js.map +0 -1
- package/dist/database/knex-plugins/knex-on-duplicate-update.d.ts +0 -2
- package/dist/database/knex-plugins/knex-on-duplicate-update.d.ts.map +0 -1
- package/dist/database/knex-plugins/knex-on-duplicate-update.js +0 -2
- package/dist/database/knex-plugins/knex-on-duplicate-update.js.map +0 -1
- package/dist/database/puri-wrapper.js.map +0 -1
- package/dist/database/puri.js.map +0 -1
- package/dist/database/puri.types.js.map +0 -1
- package/dist/database/transaction-context.js.map +0 -1
- package/dist/database/upsert-builder.js.map +0 -1
- package/dist/entity/entity-manager.js.map +0 -1
- package/dist/entity/entity-utils.d.ts +0 -61
- package/dist/entity/entity-utils.d.ts.map +0 -1
- package/dist/entity/entity-utils.js +0 -2
- package/dist/entity/entity-utils.js.map +0 -1
- package/dist/entity/entity.js.map +0 -1
- package/dist/exceptions/error-handler.js.map +0 -1
- package/dist/exceptions/so-exceptions.js.map +0 -1
- package/dist/file-storage/driver.js.map +0 -1
- package/dist/file-storage/file-storage.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/migration/code-generation.js.map +0 -1
- package/dist/migration/migration-set.js.map +0 -1
- package/dist/migration/migrator.js.map +0 -1
- package/dist/migration/types.js.map +0 -1
- package/dist/stream/index.js.map +0 -1
- package/dist/stream/sse.js.map +0 -1
- package/dist/syncer/index.js.map +0 -1
- package/dist/syncer/syncer.js.map +0 -1
- package/dist/templates/base-template.d.ts +0 -13
- package/dist/templates/base-template.d.ts.map +0 -1
- package/dist/templates/base-template.js +0 -2
- package/dist/templates/base-template.js.map +0 -1
- package/dist/templates/entity.template.d.ts.map +0 -1
- package/dist/templates/entity.template.js +0 -2
- package/dist/templates/entity.template.js.map +0 -1
- package/dist/templates/generated.template.d.ts.map +0 -1
- package/dist/templates/generated.template.js +0 -2
- package/dist/templates/generated.template.js.map +0 -1
- package/dist/templates/generated_http.template.d.ts.map +0 -1
- package/dist/templates/generated_http.template.js +0 -2
- package/dist/templates/generated_http.template.js.map +0 -1
- package/dist/templates/generated_sso.template.d.ts.map +0 -1
- package/dist/templates/generated_sso.template.js +0 -2
- package/dist/templates/generated_sso.template.js.map +0 -1
- package/dist/templates/index.d.ts +0 -2
- package/dist/templates/index.d.ts.map +0 -1
- package/dist/templates/index.js +0 -2
- package/dist/templates/index.js.map +0 -1
- package/dist/templates/init_types.template.d.ts.map +0 -1
- package/dist/templates/init_types.template.js +0 -2
- package/dist/templates/init_types.template.js.map +0 -1
- package/dist/templates/model.template.d.ts +0 -17
- package/dist/templates/model.template.d.ts.map +0 -1
- package/dist/templates/model.template.js +0 -2
- package/dist/templates/model.template.js.map +0 -1
- package/dist/templates/model_test.template.d.ts.map +0 -1
- package/dist/templates/model_test.template.js +0 -2
- package/dist/templates/model_test.template.js.map +0 -1
- package/dist/templates/service.template.d.ts.map +0 -1
- package/dist/templates/service.template.js +0 -2
- package/dist/templates/service.template.js.map +0 -1
- package/dist/templates/view_enums_buttonset.template.d.ts.map +0 -1
- package/dist/templates/view_enums_buttonset.template.js +0 -2
- package/dist/templates/view_enums_buttonset.template.js.map +0 -1
- package/dist/templates/view_enums_dropdown.template.d.ts.map +0 -1
- package/dist/templates/view_enums_dropdown.template.js +0 -2
- package/dist/templates/view_enums_dropdown.template.js.map +0 -1
- package/dist/templates/view_enums_select.template.d.ts.map +0 -1
- package/dist/templates/view_enums_select.template.js +0 -2
- package/dist/templates/view_enums_select.template.js.map +0 -1
- package/dist/templates/view_form.template.d.ts.map +0 -1
- package/dist/templates/view_form.template.js +0 -2
- package/dist/templates/view_form.template.js.map +0 -1
- package/dist/templates/view_id_all_select.template.d.ts.map +0 -1
- package/dist/templates/view_id_all_select.template.js +0 -2
- package/dist/templates/view_id_all_select.template.js.map +0 -1
- package/dist/templates/view_id_async_select.template.d.ts.map +0 -1
- package/dist/templates/view_id_async_select.template.js +0 -2
- package/dist/templates/view_id_async_select.template.js.map +0 -1
- package/dist/templates/view_list.template.d.ts.map +0 -1
- package/dist/templates/view_list.template.js +0 -2
- package/dist/templates/view_list.template.js.map +0 -1
- package/dist/templates/view_list_columns.template.d.ts +0 -17
- package/dist/templates/view_list_columns.template.d.ts.map +0 -1
- package/dist/templates/view_list_columns.template.js +0 -2
- package/dist/templates/view_list_columns.template.js.map +0 -1
- package/dist/templates/view_search_input.template.d.ts.map +0 -1
- package/dist/templates/view_search_input.template.js +0 -2
- package/dist/templates/view_search_input.template.js.map +0 -1
- package/dist/testing/_relation-graph.js.map +0 -1
- package/dist/testing/fixture-manager.js.map +0 -1
- package/dist/types/types.js.map +0 -1
- package/dist/typings/knex.d.js.map +0 -1
- package/dist/utils/async-utils.js.map +0 -1
- package/dist/utils/controller.js.map +0 -1
- package/dist/utils/fs-utils.js.map +0 -1
- package/dist/utils/lodash-able.js.map +0 -1
- package/dist/utils/model.js.map +0 -1
- package/dist/utils/sql-parser.js.map +0 -1
- package/dist/utils/utils.js.map +0 -1
- package/dist/utils/zod-error.js.map +0 -1
- package/src/bin/cli-wrapper.ts +0 -75
- package/src/database/knex-plugins/knex-on-duplicate-update.ts +0 -45
- package/src/entity/entity-utils.ts +0 -291
- package/src/templates/base-template.ts +0 -19
- package/src/templates/generated_sso.template.ts +0 -138
- package/src/templates/index.ts +0 -1
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import z from "zod";
|
|
2
|
+
import type { EntityPropNode, RenderingNode } from "../types/types";
|
|
3
|
+
/**
|
|
4
|
+
* 엔티티의 특정 subset을 RenderingNode로 변환합니다.
|
|
5
|
+
* subset의 필드들을 Zod 타입으로 변환한 후 UI 렌더링용 노드로 만듭니다.
|
|
6
|
+
* object와 array의 경우 적절한 pick 필드를 자동으로 선택합니다.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getColumnsNode(entityId: string, subsetKey: string): Promise<RenderingNode>;
|
|
9
|
+
/**
|
|
10
|
+
* EntityPropNode를 Zod 타입으로 변환합니다.
|
|
11
|
+
* plain, array, object 세 가지 nodeType을 재귀적으로 처리합니다.
|
|
12
|
+
*/
|
|
13
|
+
export declare function propNodeToZodType(propNode: EntityPropNode): Promise<z.ZodTypeAny>;
|
|
14
|
+
//# sourceMappingURL=entity-converter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-converter.d.ts","sourceRoot":"","sources":["../../src/template/entity-converter.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,KAAK,CAAC;AAGpB,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGpE;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAyDhG;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAsCvF"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import assert from "assert";
|
|
2
|
+
import z from "zod";
|
|
3
|
+
import { EntityManager } from "../entity/entity-manager.js";
|
|
4
|
+
import { ServiceUnavailableException } from "../exceptions/so-exceptions.js";
|
|
5
|
+
import { propToZodType, zodTypeToRenderingNode } from "./zod-converter.js";
|
|
6
|
+
/**
|
|
7
|
+
* 엔티티의 특정 subset을 RenderingNode로 변환합니다.
|
|
8
|
+
* subset의 필드들을 Zod 타입으로 변환한 후 UI 렌더링용 노드로 만듭니다.
|
|
9
|
+
* object와 array의 경우 적절한 pick 필드를 자동으로 선택합니다.
|
|
10
|
+
*/ export async function getColumnsNode(entityId, subsetKey) {
|
|
11
|
+
const entity = EntityManager.get(entityId);
|
|
12
|
+
const subset = entity.subsets[subsetKey];
|
|
13
|
+
if (subset === undefined) {
|
|
14
|
+
throw new ServiceUnavailableException(`Subset ${subsetKey} 가 없습니다.`);
|
|
15
|
+
}
|
|
16
|
+
const propNodes = entity.fieldExprsToPropNodes(subset);
|
|
17
|
+
const rootPropNode = {
|
|
18
|
+
nodeType: "object",
|
|
19
|
+
children: propNodes
|
|
20
|
+
};
|
|
21
|
+
// biome-ignore lint/suspicious/noExplicitAny: zod 스키마를 로드할 때 사용하는 타입
|
|
22
|
+
const columnsZodType = await propNodeToZodType(rootPropNode);
|
|
23
|
+
const columnsNode = zodTypeToRenderingNode(columnsZodType);
|
|
24
|
+
assert(columnsNode.children !== undefined, "columnsNode.children is undefined");
|
|
25
|
+
columnsNode.children = columnsNode.children.map((child)=>{
|
|
26
|
+
if (child.renderType === "object") {
|
|
27
|
+
assert(child.children !== undefined, "child.children is undefined");
|
|
28
|
+
const pickedCol = child.children.find((cc)=>[
|
|
29
|
+
"title",
|
|
30
|
+
"name"
|
|
31
|
+
].includes(cc.name));
|
|
32
|
+
if (pickedCol) {
|
|
33
|
+
return {
|
|
34
|
+
...child,
|
|
35
|
+
renderType: "object-pick",
|
|
36
|
+
config: {
|
|
37
|
+
picked: pickedCol.name
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
} else {
|
|
41
|
+
return child;
|
|
42
|
+
}
|
|
43
|
+
} else if (child.renderType === "array" && child.element && child.element.renderType === "object") {
|
|
44
|
+
const pickedCol = child.element?.children?.find((cc)=>[
|
|
45
|
+
"title",
|
|
46
|
+
"name"
|
|
47
|
+
].includes(cc.name));
|
|
48
|
+
if (pickedCol) {
|
|
49
|
+
return {
|
|
50
|
+
...child,
|
|
51
|
+
element: {
|
|
52
|
+
...child.element,
|
|
53
|
+
renderType: "object-pick",
|
|
54
|
+
config: {
|
|
55
|
+
picked: pickedCol.name
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
} else {
|
|
60
|
+
return child;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return child;
|
|
64
|
+
});
|
|
65
|
+
return columnsNode;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* EntityPropNode를 Zod 타입으로 변환합니다.
|
|
69
|
+
* plain, array, object 세 가지 nodeType을 재귀적으로 처리합니다.
|
|
70
|
+
*/ export async function propNodeToZodType(propNode) {
|
|
71
|
+
if (propNode.nodeType === "plain") {
|
|
72
|
+
return propToZodType(propNode.prop);
|
|
73
|
+
} else if (propNode.nodeType === "array") {
|
|
74
|
+
if (propNode.prop === undefined) {
|
|
75
|
+
throw new Error();
|
|
76
|
+
} else if (propNode.children.length > 0) {
|
|
77
|
+
return (await propNodeToZodType({
|
|
78
|
+
...propNode,
|
|
79
|
+
nodeType: "object"
|
|
80
|
+
})).array();
|
|
81
|
+
} else {
|
|
82
|
+
const innerType = await propToZodType(propNode.prop);
|
|
83
|
+
if (propNode.prop.nullable === true) {
|
|
84
|
+
return z.array(innerType).nullable();
|
|
85
|
+
} else {
|
|
86
|
+
return z.array(innerType);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
} else if (propNode.nodeType === "object") {
|
|
90
|
+
const entries = await Promise.all(propNode.children.map(async (childPropNode)=>{
|
|
91
|
+
assert(childPropNode.prop?.name !== undefined, "childPropNode.prop.name is undefined");
|
|
92
|
+
return [
|
|
93
|
+
childPropNode.prop.name,
|
|
94
|
+
await propNodeToZodType(childPropNode)
|
|
95
|
+
];
|
|
96
|
+
}));
|
|
97
|
+
const obj = Object.fromEntries(entries);
|
|
98
|
+
if (propNode.prop?.nullable === true) {
|
|
99
|
+
return z.object(obj).nullable();
|
|
100
|
+
} else {
|
|
101
|
+
return z.object(obj);
|
|
102
|
+
}
|
|
103
|
+
} else {
|
|
104
|
+
throw Error;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZW1wbGF0ZS9lbnRpdHktY29udmVydGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiO1xuaW1wb3J0IHogZnJvbSBcInpvZFwiO1xuaW1wb3J0IHsgRW50aXR5TWFuYWdlciB9IGZyb20gXCIuLi9lbnRpdHkvZW50aXR5LW1hbmFnZXJcIjtcbmltcG9ydCB7IFNlcnZpY2VVbmF2YWlsYWJsZUV4Y2VwdGlvbiB9IGZyb20gXCIuLi9leGNlcHRpb25zL3NvLWV4Y2VwdGlvbnNcIjtcbmltcG9ydCB0eXBlIHsgRW50aXR5UHJvcE5vZGUsIFJlbmRlcmluZ05vZGUgfSBmcm9tIFwiLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCB7IHByb3BUb1pvZFR5cGUsIHpvZFR5cGVUb1JlbmRlcmluZ05vZGUgfSBmcm9tIFwiLi96b2QtY29udmVydGVyXCI7XG5cbi8qKlxuICog7JeU7Yuw7Yuw7J2YIO2KueyglSBzdWJzZXTsnYQgUmVuZGVyaW5nTm9kZeuhnCDrs4DtmZjtlanri4jri6QuXG4gKiBzdWJzZXTsnZgg7ZWE65Oc65Ok7J2EIFpvZCDtg4DsnoXsnLzroZwg67OA7ZmY7ZWcIO2bhCBVSSDroIzrjZTrp4Hsmqkg64W465Oc66GcIOunjOuTreuLiOuLpC5cbiAqIG9iamVjdOyZgCBhcnJheeydmCDqsr3smrAg7KCB7KCI7ZWcIHBpY2sg7ZWE65Oc66W8IOyekOuPmeycvOuhnCDshKDtg53tlanri4jri6QuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRDb2x1bW5zTm9kZShlbnRpdHlJZDogc3RyaW5nLCBzdWJzZXRLZXk6IHN0cmluZyk6IFByb21pc2U8UmVuZGVyaW5nTm9kZT4ge1xuICBjb25zdCBlbnRpdHkgPSBFbnRpdHlNYW5hZ2VyLmdldChlbnRpdHlJZCk7XG4gIGNvbnN0IHN1YnNldCA9IGVudGl0eS5zdWJzZXRzW3N1YnNldEtleV07XG4gIGlmIChzdWJzZXQgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBTZXJ2aWNlVW5hdmFpbGFibGVFeGNlcHRpb24oYFN1YnNldCAke3N1YnNldEtleX0g6rCAIOyXhuyKteuLiOuLpC5gKTtcbiAgfVxuICBjb25zdCBwcm9wTm9kZXMgPSBlbnRpdHkuZmllbGRFeHByc1RvUHJvcE5vZGVzKHN1YnNldCk7XG4gIGNvbnN0IHJvb3RQcm9wTm9kZTogRW50aXR5UHJvcE5vZGUgPSB7XG4gICAgbm9kZVR5cGU6IFwib2JqZWN0XCIsXG4gICAgY2hpbGRyZW46IHByb3BOb2RlcyxcbiAgfTtcblxuICAvLyBiaW9tZS1pZ25vcmUgbGludC9zdXNwaWNpb3VzL25vRXhwbGljaXRBbnk6IHpvZCDsiqTtgqTrp4jrpbwg66Gc65Oc7ZWgIOuVjCDsgqzsmqntlZjripQg7YOA7J6FXG4gIGNvbnN0IGNvbHVtbnNab2RUeXBlID0gKGF3YWl0IHByb3BOb2RlVG9ab2RUeXBlKHJvb3RQcm9wTm9kZSkpIGFzIHouWm9kT2JqZWN0PGFueT47XG5cbiAgY29uc3QgY29sdW1uc05vZGUgPSB6b2RUeXBlVG9SZW5kZXJpbmdOb2RlKGNvbHVtbnNab2RUeXBlKTtcbiAgYXNzZXJ0KGNvbHVtbnNOb2RlLmNoaWxkcmVuICE9PSB1bmRlZmluZWQsIFwiY29sdW1uc05vZGUuY2hpbGRyZW4gaXMgdW5kZWZpbmVkXCIpO1xuICBjb2x1bW5zTm9kZS5jaGlsZHJlbiA9IGNvbHVtbnNOb2RlLmNoaWxkcmVuLm1hcCgoY2hpbGQpID0+IHtcbiAgICBpZiAoY2hpbGQucmVuZGVyVHlwZSA9PT0gXCJvYmplY3RcIikge1xuICAgICAgYXNzZXJ0KGNoaWxkLmNoaWxkcmVuICE9PSB1bmRlZmluZWQsIFwiY2hpbGQuY2hpbGRyZW4gaXMgdW5kZWZpbmVkXCIpO1xuICAgICAgY29uc3QgcGlja2VkQ29sID0gY2hpbGQuY2hpbGRyZW4uZmluZCgoY2MpID0+IFtcInRpdGxlXCIsIFwibmFtZVwiXS5pbmNsdWRlcyhjYy5uYW1lKSk7XG4gICAgICBpZiAocGlja2VkQ29sKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uY2hpbGQsXG4gICAgICAgICAgcmVuZGVyVHlwZTogXCJvYmplY3QtcGlja1wiLFxuICAgICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgICAgcGlja2VkOiBwaWNrZWRDb2wubmFtZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoXG4gICAgICBjaGlsZC5yZW5kZXJUeXBlID09PSBcImFycmF5XCIgJiZcbiAgICAgIGNoaWxkLmVsZW1lbnQgJiZcbiAgICAgIGNoaWxkLmVsZW1lbnQucmVuZGVyVHlwZSA9PT0gXCJvYmplY3RcIlxuICAgICkge1xuICAgICAgY29uc3QgcGlja2VkQ29sID0gY2hpbGQuZWxlbWVudD8uY2hpbGRyZW4/LmZpbmQoKGNjKSA9PiBbXCJ0aXRsZVwiLCBcIm5hbWVcIl0uaW5jbHVkZXMoY2MubmFtZSkpO1xuICAgICAgaWYgKHBpY2tlZENvbCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmNoaWxkLFxuICAgICAgICAgIGVsZW1lbnQ6IHtcbiAgICAgICAgICAgIC4uLmNoaWxkLmVsZW1lbnQsXG4gICAgICAgICAgICByZW5kZXJUeXBlOiBcIm9iamVjdC1waWNrXCIsXG4gICAgICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICAgICAgcGlja2VkOiBwaWNrZWRDb2wubmFtZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNoaWxkO1xuICB9KTtcblxuICByZXR1cm4gY29sdW1uc05vZGU7XG59XG5cbi8qKlxuICogRW50aXR5UHJvcE5vZGXrpbwgWm9kIO2DgOyeheycvOuhnCDrs4DtmZjtlanri4jri6QuXG4gKiBwbGFpbiwgYXJyYXksIG9iamVjdCDshLgg6rCA7KeAIG5vZGVUeXBl7J2EIOyerOq3gOyggeycvOuhnCDsspjrpqztlanri4jri6QuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9wTm9kZVRvWm9kVHlwZShwcm9wTm9kZTogRW50aXR5UHJvcE5vZGUpOiBQcm9taXNlPHouWm9kVHlwZUFueT4ge1xuICBpZiAocHJvcE5vZGUubm9kZVR5cGUgPT09IFwicGxhaW5cIikge1xuICAgIHJldHVybiBwcm9wVG9ab2RUeXBlKHByb3BOb2RlLnByb3ApO1xuICB9IGVsc2UgaWYgKHByb3BOb2RlLm5vZGVUeXBlID09PSBcImFycmF5XCIpIHtcbiAgICBpZiAocHJvcE5vZGUucHJvcCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoKTtcbiAgICB9IGVsc2UgaWYgKHByb3BOb2RlLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGF3YWl0IHByb3BOb2RlVG9ab2RUeXBlKHtcbiAgICAgICAgICAuLi5wcm9wTm9kZSxcbiAgICAgICAgICBub2RlVHlwZTogXCJvYmplY3RcIixcbiAgICAgICAgfSlcbiAgICAgICkuYXJyYXkoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaW5uZXJUeXBlID0gYXdhaXQgcHJvcFRvWm9kVHlwZShwcm9wTm9kZS5wcm9wKTtcbiAgICAgIGlmIChwcm9wTm9kZS5wcm9wLm51bGxhYmxlID09PSB0cnVlKSB7XG4gICAgICAgIHJldHVybiB6LmFycmF5KGlubmVyVHlwZSkubnVsbGFibGUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB6LmFycmF5KGlubmVyVHlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2UgaWYgKHByb3BOb2RlLm5vZGVUeXBlID09PSBcIm9iamVjdFwiKSB7XG4gICAgY29uc3QgZW50cmllcyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgcHJvcE5vZGUuY2hpbGRyZW4ubWFwKGFzeW5jIChjaGlsZFByb3BOb2RlKSA9PiB7XG4gICAgICAgIGFzc2VydChjaGlsZFByb3BOb2RlLnByb3A/Lm5hbWUgIT09IHVuZGVmaW5lZCwgXCJjaGlsZFByb3BOb2RlLnByb3AubmFtZSBpcyB1bmRlZmluZWRcIik7XG4gICAgICAgIHJldHVybiBbY2hpbGRQcm9wTm9kZS5wcm9wLm5hbWUsIGF3YWl0IHByb3BOb2RlVG9ab2RUeXBlKGNoaWxkUHJvcE5vZGUpXSBhcyBjb25zdDtcbiAgICAgIH0pLFxuICAgICk7XG4gICAgY29uc3Qgb2JqID0gT2JqZWN0LmZyb21FbnRyaWVzKGVudHJpZXMpO1xuXG4gICAgaWYgKHByb3BOb2RlLnByb3A/Lm51bGxhYmxlID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gei5vYmplY3Qob2JqKS5udWxsYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gei5vYmplY3Qob2JqKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgRXJyb3I7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJhc3NlcnQiLCJ6IiwiRW50aXR5TWFuYWdlciIsIlNlcnZpY2VVbmF2YWlsYWJsZUV4Y2VwdGlvbiIsInByb3BUb1pvZFR5cGUiLCJ6b2RUeXBlVG9SZW5kZXJpbmdOb2RlIiwiZ2V0Q29sdW1uc05vZGUiLCJlbnRpdHlJZCIsInN1YnNldEtleSIsImVudGl0eSIsImdldCIsInN1YnNldCIsInN1YnNldHMiLCJ1bmRlZmluZWQiLCJwcm9wTm9kZXMiLCJmaWVsZEV4cHJzVG9Qcm9wTm9kZXMiLCJyb290UHJvcE5vZGUiLCJub2RlVHlwZSIsImNoaWxkcmVuIiwiY29sdW1uc1pvZFR5cGUiLCJwcm9wTm9kZVRvWm9kVHlwZSIsImNvbHVtbnNOb2RlIiwibWFwIiwiY2hpbGQiLCJyZW5kZXJUeXBlIiwicGlja2VkQ29sIiwiZmluZCIsImNjIiwiaW5jbHVkZXMiLCJuYW1lIiwiY29uZmlnIiwicGlja2VkIiwiZWxlbWVudCIsInByb3BOb2RlIiwicHJvcCIsIkVycm9yIiwibGVuZ3RoIiwiYXJyYXkiLCJpbm5lclR5cGUiLCJudWxsYWJsZSIsImVudHJpZXMiLCJQcm9taXNlIiwiYWxsIiwiY2hpbGRQcm9wTm9kZSIsIm9iaiIsIk9iamVjdCIsImZyb21FbnRyaWVzIiwib2JqZWN0Il0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxZQUFZLFNBQVM7QUFDNUIsT0FBT0MsT0FBTyxNQUFNO0FBQ3BCLFNBQVNDLGFBQWEsUUFBUSw4QkFBMkI7QUFDekQsU0FBU0MsMkJBQTJCLFFBQVEsaUNBQThCO0FBRTFFLFNBQVNDLGFBQWEsRUFBRUMsc0JBQXNCLFFBQVEscUJBQWtCO0FBRXhFOzs7O0NBSUMsR0FDRCxPQUFPLGVBQWVDLGVBQWVDLFFBQWdCLEVBQUVDLFNBQWlCO0lBQ3RFLE1BQU1DLFNBQVNQLGNBQWNRLEdBQUcsQ0FBQ0g7SUFDakMsTUFBTUksU0FBU0YsT0FBT0csT0FBTyxDQUFDSixVQUFVO0lBQ3hDLElBQUlHLFdBQVdFLFdBQVc7UUFDeEIsTUFBTSxJQUFJViw0QkFBNEIsQ0FBQyxPQUFPLEVBQUVLLFVBQVUsUUFBUSxDQUFDO0lBQ3JFO0lBQ0EsTUFBTU0sWUFBWUwsT0FBT00scUJBQXFCLENBQUNKO0lBQy9DLE1BQU1LLGVBQStCO1FBQ25DQyxVQUFVO1FBQ1ZDLFVBQVVKO0lBQ1o7SUFFQSxxRUFBcUU7SUFDckUsTUFBTUssaUJBQWtCLE1BQU1DLGtCQUFrQko7SUFFaEQsTUFBTUssY0FBY2hCLHVCQUF1QmM7SUFDM0NuQixPQUFPcUIsWUFBWUgsUUFBUSxLQUFLTCxXQUFXO0lBQzNDUSxZQUFZSCxRQUFRLEdBQUdHLFlBQVlILFFBQVEsQ0FBQ0ksR0FBRyxDQUFDLENBQUNDO1FBQy9DLElBQUlBLE1BQU1DLFVBQVUsS0FBSyxVQUFVO1lBQ2pDeEIsT0FBT3VCLE1BQU1MLFFBQVEsS0FBS0wsV0FBVztZQUNyQyxNQUFNWSxZQUFZRixNQUFNTCxRQUFRLENBQUNRLElBQUksQ0FBQyxDQUFDQyxLQUFPO29CQUFDO29CQUFTO2lCQUFPLENBQUNDLFFBQVEsQ0FBQ0QsR0FBR0UsSUFBSTtZQUNoRixJQUFJSixXQUFXO2dCQUNiLE9BQU87b0JBQ0wsR0FBR0YsS0FBSztvQkFDUkMsWUFBWTtvQkFDWk0sUUFBUTt3QkFDTkMsUUFBUU4sVUFBVUksSUFBSTtvQkFDeEI7Z0JBQ0Y7WUFDRixPQUFPO2dCQUNMLE9BQU9OO1lBQ1Q7UUFDRixPQUFPLElBQ0xBLE1BQU1DLFVBQVUsS0FBSyxXQUNyQkQsTUFBTVMsT0FBTyxJQUNiVCxNQUFNUyxPQUFPLENBQUNSLFVBQVUsS0FBSyxVQUM3QjtZQUNBLE1BQU1DLFlBQVlGLE1BQU1TLE9BQU8sRUFBRWQsVUFBVVEsS0FBSyxDQUFDQyxLQUFPO29CQUFDO29CQUFTO2lCQUFPLENBQUNDLFFBQVEsQ0FBQ0QsR0FBR0UsSUFBSTtZQUMxRixJQUFJSixXQUFXO2dCQUNiLE9BQU87b0JBQ0wsR0FBR0YsS0FBSztvQkFDUlMsU0FBUzt3QkFDUCxHQUFHVCxNQUFNUyxPQUFPO3dCQUNoQlIsWUFBWTt3QkFDWk0sUUFBUTs0QkFDTkMsUUFBUU4sVUFBVUksSUFBSTt3QkFDeEI7b0JBQ0Y7Z0JBQ0Y7WUFDRixPQUFPO2dCQUNMLE9BQU9OO1lBQ1Q7UUFDRjtRQUNBLE9BQU9BO0lBQ1Q7SUFFQSxPQUFPRjtBQUNUO0FBRUE7OztDQUdDLEdBQ0QsT0FBTyxlQUFlRCxrQkFBa0JhLFFBQXdCO0lBQzlELElBQUlBLFNBQVNoQixRQUFRLEtBQUssU0FBUztRQUNqQyxPQUFPYixjQUFjNkIsU0FBU0MsSUFBSTtJQUNwQyxPQUFPLElBQUlELFNBQVNoQixRQUFRLEtBQUssU0FBUztRQUN4QyxJQUFJZ0IsU0FBU0MsSUFBSSxLQUFLckIsV0FBVztZQUMvQixNQUFNLElBQUlzQjtRQUNaLE9BQU8sSUFBSUYsU0FBU2YsUUFBUSxDQUFDa0IsTUFBTSxHQUFHLEdBQUc7WUFDdkMsT0FBTyxBQUNMLENBQUEsTUFBTWhCLGtCQUFrQjtnQkFDdEIsR0FBR2EsUUFBUTtnQkFDWGhCLFVBQVU7WUFDWixFQUFDLEVBQ0RvQixLQUFLO1FBQ1QsT0FBTztZQUNMLE1BQU1DLFlBQVksTUFBTWxDLGNBQWM2QixTQUFTQyxJQUFJO1lBQ25ELElBQUlELFNBQVNDLElBQUksQ0FBQ0ssUUFBUSxLQUFLLE1BQU07Z0JBQ25DLE9BQU90QyxFQUFFb0MsS0FBSyxDQUFDQyxXQUFXQyxRQUFRO1lBQ3BDLE9BQU87Z0JBQ0wsT0FBT3RDLEVBQUVvQyxLQUFLLENBQUNDO1lBQ2pCO1FBQ0Y7SUFDRixPQUFPLElBQUlMLFNBQVNoQixRQUFRLEtBQUssVUFBVTtRQUN6QyxNQUFNdUIsVUFBVSxNQUFNQyxRQUFRQyxHQUFHLENBQy9CVCxTQUFTZixRQUFRLENBQUNJLEdBQUcsQ0FBQyxPQUFPcUI7WUFDM0IzQyxPQUFPMkMsY0FBY1QsSUFBSSxFQUFFTCxTQUFTaEIsV0FBVztZQUMvQyxPQUFPO2dCQUFDOEIsY0FBY1QsSUFBSSxDQUFDTCxJQUFJO2dCQUFFLE1BQU1ULGtCQUFrQnVCO2FBQWU7UUFDMUU7UUFFRixNQUFNQyxNQUFNQyxPQUFPQyxXQUFXLENBQUNOO1FBRS9CLElBQUlQLFNBQVNDLElBQUksRUFBRUssYUFBYSxNQUFNO1lBQ3BDLE9BQU90QyxFQUFFOEMsTUFBTSxDQUFDSCxLQUFLTCxRQUFRO1FBQy9CLE9BQU87WUFDTCxPQUFPdEMsRUFBRThDLE1BQU0sQ0FBQ0g7UUFDbEI7SUFDRixPQUFPO1FBQ0wsTUFBTVQ7SUFDUjtBQUNGIn0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type EntityNamesRecord } from "../entity/entity-manager";
|
|
2
|
+
import { type RelationProp } from "../types/types";
|
|
3
|
+
/**
|
|
4
|
+
* Enum의 표시용 라벨을 가져옵니다.
|
|
5
|
+
* OrderBy, SearchField 등 특수한 경우와 일반 Enum을 구분하여 처리합니다.
|
|
6
|
+
*/
|
|
7
|
+
export declare function getLabel(entityId: string, enumId: string): string;
|
|
8
|
+
/**
|
|
9
|
+
* 컬럼 이름으로부터 Enum 정보를 추출합니다.
|
|
10
|
+
* Entity의 prop 중 enum 타입인 것을 찾아 관련 정보를 반환합니다.
|
|
11
|
+
*/
|
|
12
|
+
export declare function getEnumInfoFromColName(entityId: string, colName: string): {
|
|
13
|
+
id: string;
|
|
14
|
+
targetEntityNames: EntityNamesRecord;
|
|
15
|
+
targetEntityId: string;
|
|
16
|
+
title: string;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* 컬럼 이름으로부터 Relation prop 정보를 가져옵니다.
|
|
20
|
+
* 관계형 prop이 아닌 경우 에러를 발생시킵니다.
|
|
21
|
+
*/
|
|
22
|
+
export declare function getRelationPropFromColName(entityId: string, colName: string): RelationProp;
|
|
23
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/template/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAA8B,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE/E;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAcjE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd;IACD,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,CA0BA;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,CAY1F"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import inflection from "inflection";
|
|
2
|
+
import { EntityManager } from "../entity/entity-manager.js";
|
|
3
|
+
import { isEnumProp, isRelationProp } from "../types/types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Enum의 표시용 라벨을 가져옵니다.
|
|
6
|
+
* OrderBy, SearchField 등 특수한 경우와 일반 Enum을 구분하여 처리합니다.
|
|
7
|
+
*/ export function getLabel(entityId, enumId) {
|
|
8
|
+
if (enumId.endsWith("OrderBy")) {
|
|
9
|
+
return "정렬";
|
|
10
|
+
} else if (enumId.endsWith("SearchField")) {
|
|
11
|
+
return "검색";
|
|
12
|
+
} else {
|
|
13
|
+
const enumProp = EntityManager.get(entityId).props.find((prop)=>`${entityId}${inflection.camelize(prop.name)}` === enumId);
|
|
14
|
+
if (enumProp?.desc) {
|
|
15
|
+
return enumProp.desc;
|
|
16
|
+
}
|
|
17
|
+
return enumId;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 컬럼 이름으로부터 Enum 정보를 추출합니다.
|
|
22
|
+
* Entity의 prop 중 enum 타입인 것을 찾아 관련 정보를 반환합니다.
|
|
23
|
+
*/ export function getEnumInfoFromColName(entityId, colName) {
|
|
24
|
+
const baseEntity = EntityManager.get(entityId);
|
|
25
|
+
const prop = baseEntity.props.find((p)=>p.name === colName);
|
|
26
|
+
if (prop && isEnumProp(prop)) {
|
|
27
|
+
return {
|
|
28
|
+
id: prop.id,
|
|
29
|
+
targetEntityId: entityId,
|
|
30
|
+
targetEntityNames: EntityManager.getNamesFromId(entityId),
|
|
31
|
+
title: prop.desc ?? prop.id
|
|
32
|
+
};
|
|
33
|
+
} else {
|
|
34
|
+
const idCandidate = inflection.camelize(`${inflection.underscore(entityId)}_${inflection.underscore(colName)}`, false);
|
|
35
|
+
try {
|
|
36
|
+
const targetEntityNames = EntityManager.getNamesFromId(entityId);
|
|
37
|
+
return {
|
|
38
|
+
id: idCandidate,
|
|
39
|
+
targetEntityId: entityId,
|
|
40
|
+
targetEntityNames: targetEntityNames,
|
|
41
|
+
title: idCandidate
|
|
42
|
+
};
|
|
43
|
+
} catch {}
|
|
44
|
+
throw new Error(`찾을 수 없는 EnumProp ${colName}`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* 컬럼 이름으로부터 Relation prop 정보를 가져옵니다.
|
|
49
|
+
* 관계형 prop이 아닌 경우 에러를 발생시킵니다.
|
|
50
|
+
*/ export function getRelationPropFromColName(entityId, colName) {
|
|
51
|
+
const baseEntity = EntityManager.get(entityId);
|
|
52
|
+
const relProp = baseEntity.props.find((prop)=>prop.name === colName);
|
|
53
|
+
if (isRelationProp(relProp)) {
|
|
54
|
+
const relEntity = EntityManager.get(relProp.with);
|
|
55
|
+
if (relEntity.parentId !== undefined) {
|
|
56
|
+
throw new Error("Only parent entities can be used as relation props");
|
|
57
|
+
}
|
|
58
|
+
return relProp;
|
|
59
|
+
} else {
|
|
60
|
+
throw new Error(`찾을 수 없는 Relation ${colName}`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZW1wbGF0ZS9oZWxwZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCI7XG5pbXBvcnQgeyBFbnRpdHlNYW5hZ2VyLCB0eXBlIEVudGl0eU5hbWVzUmVjb3JkIH0gZnJvbSBcIi4uL2VudGl0eS9lbnRpdHktbWFuYWdlclwiO1xuaW1wb3J0IHsgaXNFbnVtUHJvcCwgaXNSZWxhdGlvblByb3AsIHR5cGUgUmVsYXRpb25Qcm9wIH0gZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5cbi8qKlxuICogRW51beydmCDtkZzsi5zsmqkg652867Ko7J2EIOqwgOyguOyYteuLiOuLpC5cbiAqIE9yZGVyQnksIFNlYXJjaEZpZWxkIOuTsSDtirnsiJjtlZwg6rK97Jqw7JmAIOydvOuwmCBFbnVt7J2EIOq1rOu2hO2VmOyXrCDsspjrpqztlanri4jri6QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRMYWJlbChlbnRpdHlJZDogc3RyaW5nLCBlbnVtSWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChlbnVtSWQuZW5kc1dpdGgoXCJPcmRlckJ5XCIpKSB7XG4gICAgcmV0dXJuIFwi7KCV66CsXCI7XG4gIH0gZWxzZSBpZiAoZW51bUlkLmVuZHNXaXRoKFwiU2VhcmNoRmllbGRcIikpIHtcbiAgICByZXR1cm4gXCLqsoDsg4lcIjtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBlbnVtUHJvcCA9IEVudGl0eU1hbmFnZXIuZ2V0KGVudGl0eUlkKS5wcm9wcy5maW5kKFxuICAgICAgKHByb3ApID0+IGAke2VudGl0eUlkfSR7aW5mbGVjdGlvbi5jYW1lbGl6ZShwcm9wLm5hbWUpfWAgPT09IGVudW1JZCxcbiAgICApO1xuICAgIGlmIChlbnVtUHJvcD8uZGVzYykge1xuICAgICAgcmV0dXJuIGVudW1Qcm9wLmRlc2M7XG4gICAgfVxuICAgIHJldHVybiBlbnVtSWQ7XG4gIH1cbn1cblxuLyoqXG4gKiDsu6zrn7wg7J2066aE7Jy866Gc67aA7YSwIEVudW0g7KCV67O066W8IOy2lOy2nO2VqeuLiOuLpC5cbiAqIEVudGl0eeydmCBwcm9wIOykkSBlbnVtIO2DgOyeheyduCDqsoPsnYQg7LC+7JWEIOq0gOugqCDsoJXrs7Trpbwg67CY7ZmY7ZWp64uI64ukLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RW51bUluZm9Gcm9tQ29sTmFtZShcbiAgZW50aXR5SWQ6IHN0cmluZyxcbiAgY29sTmFtZTogc3RyaW5nLFxuKToge1xuICBpZDogc3RyaW5nO1xuICB0YXJnZXRFbnRpdHlOYW1lczogRW50aXR5TmFtZXNSZWNvcmQ7XG4gIHRhcmdldEVudGl0eUlkOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG59IHtcbiAgY29uc3QgYmFzZUVudGl0eSA9IEVudGl0eU1hbmFnZXIuZ2V0KGVudGl0eUlkKTtcbiAgY29uc3QgcHJvcCA9IGJhc2VFbnRpdHkucHJvcHMuZmluZCgocCkgPT4gcC5uYW1lID09PSBjb2xOYW1lKTtcbiAgaWYgKHByb3AgJiYgaXNFbnVtUHJvcChwcm9wKSkge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogcHJvcC5pZCxcbiAgICAgIHRhcmdldEVudGl0eUlkOiBlbnRpdHlJZCxcbiAgICAgIHRhcmdldEVudGl0eU5hbWVzOiBFbnRpdHlNYW5hZ2VyLmdldE5hbWVzRnJvbUlkKGVudGl0eUlkKSxcbiAgICAgIHRpdGxlOiBwcm9wLmRlc2MgPz8gcHJvcC5pZCxcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGlkQ2FuZGlkYXRlID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShcbiAgICAgIGAke2luZmxlY3Rpb24udW5kZXJzY29yZShlbnRpdHlJZCl9XyR7aW5mbGVjdGlvbi51bmRlcnNjb3JlKGNvbE5hbWUpfWAsXG4gICAgICBmYWxzZSxcbiAgICApO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB0YXJnZXRFbnRpdHlOYW1lcyA9IEVudGl0eU1hbmFnZXIuZ2V0TmFtZXNGcm9tSWQoZW50aXR5SWQpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IGlkQ2FuZGlkYXRlLFxuICAgICAgICB0YXJnZXRFbnRpdHlJZDogZW50aXR5SWQsXG4gICAgICAgIHRhcmdldEVudGl0eU5hbWVzOiB0YXJnZXRFbnRpdHlOYW1lcyxcbiAgICAgICAgdGl0bGU6IGlkQ2FuZGlkYXRlLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIHt9XG4gICAgdGhyb3cgbmV3IEVycm9yKGDssL7snYQg7IiYIOyXhuuKlCBFbnVtUHJvcCAke2NvbE5hbWV9YCk7XG4gIH1cbn1cblxuLyoqXG4gKiDsu6zrn7wg7J2066aE7Jy866Gc67aA7YSwIFJlbGF0aW9uIHByb3Ag7KCV67O066W8IOqwgOyguOyYteuLiOuLpC5cbiAqIOq0gOqzhO2YlSBwcm9w7J20IOyVhOuLjCDqsr3smrAg7JeQ65+s66W8IOuwnOyDneyLnO2CteuLiOuLpC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJlbGF0aW9uUHJvcEZyb21Db2xOYW1lKGVudGl0eUlkOiBzdHJpbmcsIGNvbE5hbWU6IHN0cmluZyk6IFJlbGF0aW9uUHJvcCB7XG4gIGNvbnN0IGJhc2VFbnRpdHkgPSBFbnRpdHlNYW5hZ2VyLmdldChlbnRpdHlJZCk7XG4gIGNvbnN0IHJlbFByb3AgPSBiYXNlRW50aXR5LnByb3BzLmZpbmQoKHByb3ApID0+IHByb3AubmFtZSA9PT0gY29sTmFtZSk7XG4gIGlmIChpc1JlbGF0aW9uUHJvcChyZWxQcm9wKSkge1xuICAgIGNvbnN0IHJlbEVudGl0eSA9IEVudGl0eU1hbmFnZXIuZ2V0KHJlbFByb3Aud2l0aCk7XG4gICAgaWYgKHJlbEVudGl0eS5wYXJlbnRJZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJPbmx5IHBhcmVudCBlbnRpdGllcyBjYW4gYmUgdXNlZCBhcyByZWxhdGlvbiBwcm9wc1wiKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlbFByb3A7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGDssL7snYQg7IiYIOyXhuuKlCBSZWxhdGlvbiAke2NvbE5hbWV9YCk7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJpbmZsZWN0aW9uIiwiRW50aXR5TWFuYWdlciIsImlzRW51bVByb3AiLCJpc1JlbGF0aW9uUHJvcCIsImdldExhYmVsIiwiZW50aXR5SWQiLCJlbnVtSWQiLCJlbmRzV2l0aCIsImVudW1Qcm9wIiwiZ2V0IiwicHJvcHMiLCJmaW5kIiwicHJvcCIsImNhbWVsaXplIiwibmFtZSIsImRlc2MiLCJnZXRFbnVtSW5mb0Zyb21Db2xOYW1lIiwiY29sTmFtZSIsImJhc2VFbnRpdHkiLCJwIiwiaWQiLCJ0YXJnZXRFbnRpdHlJZCIsInRhcmdldEVudGl0eU5hbWVzIiwiZ2V0TmFtZXNGcm9tSWQiLCJ0aXRsZSIsImlkQ2FuZGlkYXRlIiwidW5kZXJzY29yZSIsIkVycm9yIiwiZ2V0UmVsYXRpb25Qcm9wRnJvbUNvbE5hbWUiLCJyZWxQcm9wIiwicmVsRW50aXR5Iiwid2l0aCIsInBhcmVudElkIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxnQkFBZ0IsYUFBYTtBQUNwQyxTQUFTQyxhQUFhLFFBQWdDLDhCQUEyQjtBQUNqRixTQUFTQyxVQUFVLEVBQUVDLGNBQWMsUUFBMkIsb0JBQWlCO0FBRS9FOzs7Q0FHQyxHQUNELE9BQU8sU0FBU0MsU0FBU0MsUUFBZ0IsRUFBRUMsTUFBYztJQUN2RCxJQUFJQSxPQUFPQyxRQUFRLENBQUMsWUFBWTtRQUM5QixPQUFPO0lBQ1QsT0FBTyxJQUFJRCxPQUFPQyxRQUFRLENBQUMsZ0JBQWdCO1FBQ3pDLE9BQU87SUFDVCxPQUFPO1FBQ0wsTUFBTUMsV0FBV1AsY0FBY1EsR0FBRyxDQUFDSixVQUFVSyxLQUFLLENBQUNDLElBQUksQ0FDckQsQ0FBQ0MsT0FBUyxHQUFHUCxXQUFXTCxXQUFXYSxRQUFRLENBQUNELEtBQUtFLElBQUksR0FBRyxLQUFLUjtRQUUvRCxJQUFJRSxVQUFVTyxNQUFNO1lBQ2xCLE9BQU9QLFNBQVNPLElBQUk7UUFDdEI7UUFDQSxPQUFPVDtJQUNUO0FBQ0Y7QUFFQTs7O0NBR0MsR0FDRCxPQUFPLFNBQVNVLHVCQUNkWCxRQUFnQixFQUNoQlksT0FBZTtJQU9mLE1BQU1DLGFBQWFqQixjQUFjUSxHQUFHLENBQUNKO0lBQ3JDLE1BQU1PLE9BQU9NLFdBQVdSLEtBQUssQ0FBQ0MsSUFBSSxDQUFDLENBQUNRLElBQU1BLEVBQUVMLElBQUksS0FBS0c7SUFDckQsSUFBSUwsUUFBUVYsV0FBV1UsT0FBTztRQUM1QixPQUFPO1lBQ0xRLElBQUlSLEtBQUtRLEVBQUU7WUFDWEMsZ0JBQWdCaEI7WUFDaEJpQixtQkFBbUJyQixjQUFjc0IsY0FBYyxDQUFDbEI7WUFDaERtQixPQUFPWixLQUFLRyxJQUFJLElBQUlILEtBQUtRLEVBQUU7UUFDN0I7SUFDRixPQUFPO1FBQ0wsTUFBTUssY0FBY3pCLFdBQVdhLFFBQVEsQ0FDckMsR0FBR2IsV0FBVzBCLFVBQVUsQ0FBQ3JCLFVBQVUsQ0FBQyxFQUFFTCxXQUFXMEIsVUFBVSxDQUFDVCxVQUFVLEVBQ3RFO1FBRUYsSUFBSTtZQUNGLE1BQU1LLG9CQUFvQnJCLGNBQWNzQixjQUFjLENBQUNsQjtZQUN2RCxPQUFPO2dCQUNMZSxJQUFJSztnQkFDSkosZ0JBQWdCaEI7Z0JBQ2hCaUIsbUJBQW1CQTtnQkFDbkJFLE9BQU9DO1lBQ1Q7UUFDRixFQUFFLE9BQU0sQ0FBQztRQUNULE1BQU0sSUFBSUUsTUFBTSxDQUFDLGlCQUFpQixFQUFFVixTQUFTO0lBQy9DO0FBQ0Y7QUFFQTs7O0NBR0MsR0FDRCxPQUFPLFNBQVNXLDJCQUEyQnZCLFFBQWdCLEVBQUVZLE9BQWU7SUFDMUUsTUFBTUMsYUFBYWpCLGNBQWNRLEdBQUcsQ0FBQ0o7SUFDckMsTUFBTXdCLFVBQVVYLFdBQVdSLEtBQUssQ0FBQ0MsSUFBSSxDQUFDLENBQUNDLE9BQVNBLEtBQUtFLElBQUksS0FBS0c7SUFDOUQsSUFBSWQsZUFBZTBCLFVBQVU7UUFDM0IsTUFBTUMsWUFBWTdCLGNBQWNRLEdBQUcsQ0FBQ29CLFFBQVFFLElBQUk7UUFDaEQsSUFBSUQsVUFBVUUsUUFBUSxLQUFLQyxXQUFXO1lBQ3BDLE1BQU0sSUFBSU4sTUFBTTtRQUNsQjtRQUNBLE9BQU9FO0lBQ1QsT0FBTztRQUNMLE1BQU0sSUFBSUYsTUFBTSxDQUFDLGlCQUFpQixFQUFFVixTQUFTO0lBQy9DO0FBQ0YifQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { Template } from "
|
|
1
|
+
import { type EntityNamesRecord } from "../../entity/entity-manager";
|
|
2
|
+
import type { TemplateOptions } from "../../types/types";
|
|
3
|
+
import { Template } from "../template";
|
|
4
4
|
export declare class Template__entity extends Template {
|
|
5
5
|
constructor();
|
|
6
6
|
getTargetAndPath(names: EntityNamesRecord, parentNames?: EntityNamesRecord): {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/entity.template.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,gBAAiB,SAAQ,QAAQ;;IAK5C,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,EAAE,WAAW,CAAC,EAAE,iBAAiB;;;;IAS1E,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC;;;;;;CAoE1C"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Sonamu } from "../../api/index.js";
|
|
2
|
+
import { EntityManager } from "../../entity/entity-manager.js";
|
|
3
|
+
import { Template } from "../template.js";
|
|
4
|
+
export class Template__entity extends Template {
|
|
5
|
+
constructor(){
|
|
6
|
+
super("entity");
|
|
7
|
+
}
|
|
8
|
+
getTargetAndPath(names, parentNames) {
|
|
9
|
+
const { dir } = Sonamu.config.api;
|
|
10
|
+
return {
|
|
11
|
+
target: `${dir}/src/application`,
|
|
12
|
+
path: `${(parentNames ?? names).fs}/${names.fs}.entity.json`
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
render(options) {
|
|
16
|
+
const { entityId, title, parentId, table } = options;
|
|
17
|
+
const names = EntityManager.getNamesFromId(entityId);
|
|
18
|
+
const parent = (()=>{
|
|
19
|
+
if (parentId) {
|
|
20
|
+
return {
|
|
21
|
+
names: EntityManager.getNamesFromId(parentId),
|
|
22
|
+
entity: EntityManager.get(parentId)
|
|
23
|
+
};
|
|
24
|
+
} else {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
})();
|
|
28
|
+
return {
|
|
29
|
+
...this.getTargetAndPath(names, parent?.names ?? names),
|
|
30
|
+
body: JSON.stringify({
|
|
31
|
+
id: entityId,
|
|
32
|
+
title: title ?? entityId,
|
|
33
|
+
parentId,
|
|
34
|
+
table: table ?? names.fsPlural.replace(/-/g, "_"),
|
|
35
|
+
props: options.props?.length ? options.props : [
|
|
36
|
+
{
|
|
37
|
+
name: "id",
|
|
38
|
+
type: "integer",
|
|
39
|
+
desc: "ID"
|
|
40
|
+
},
|
|
41
|
+
...parent ? [
|
|
42
|
+
{
|
|
43
|
+
type: "relation",
|
|
44
|
+
name: parent.names.camel,
|
|
45
|
+
relationType: "BelongsToOne",
|
|
46
|
+
with: parentId,
|
|
47
|
+
onUpdate: "CASCADE",
|
|
48
|
+
onDelete: "CASCADE",
|
|
49
|
+
desc: parent.entity.title
|
|
50
|
+
}
|
|
51
|
+
] : [],
|
|
52
|
+
{
|
|
53
|
+
name: "created_at",
|
|
54
|
+
type: "date",
|
|
55
|
+
desc: "등록일시",
|
|
56
|
+
dbDefault: "CURRENT_TIMESTAMP"
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
indexes: [
|
|
60
|
+
...options.indexes ?? []
|
|
61
|
+
],
|
|
62
|
+
subsets: options.subsets ?? {
|
|
63
|
+
...parentId ? {} : {
|
|
64
|
+
A: [
|
|
65
|
+
"id",
|
|
66
|
+
"created_at"
|
|
67
|
+
]
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
enums: options.enums ?? {
|
|
71
|
+
...parentId ? {} : {
|
|
72
|
+
[`${names.capital}OrderBy`]: {
|
|
73
|
+
"id-desc": "ID최신순"
|
|
74
|
+
},
|
|
75
|
+
[`${names.capital}SearchField`]: {
|
|
76
|
+
id: "ID"
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}).trim(),
|
|
81
|
+
importKeys: []
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvZW50aXR5LnRlbXBsYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNvbmFtdSB9IGZyb20gXCIuLi8uLi9hcGlcIjtcbmltcG9ydCB7IEVudGl0eU1hbmFnZXIsIHR5cGUgRW50aXR5TmFtZXNSZWNvcmQgfSBmcm9tIFwiLi4vLi4vZW50aXR5L2VudGl0eS1tYW5hZ2VyXCI7XG5pbXBvcnQgdHlwZSB7IFRlbXBsYXRlT3B0aW9ucyB9IGZyb20gXCIuLi8uLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tIFwiLi4vdGVtcGxhdGVcIjtcblxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlX19lbnRpdHkgZXh0ZW5kcyBUZW1wbGF0ZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFwiZW50aXR5XCIpO1xuICB9XG5cbiAgZ2V0VGFyZ2V0QW5kUGF0aChuYW1lczogRW50aXR5TmFtZXNSZWNvcmQsIHBhcmVudE5hbWVzPzogRW50aXR5TmFtZXNSZWNvcmQpIHtcbiAgICBjb25zdCB7IGRpciB9ID0gU29uYW11LmNvbmZpZy5hcGk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdGFyZ2V0OiBgJHtkaXJ9L3NyYy9hcHBsaWNhdGlvbmAsXG4gICAgICBwYXRoOiBgJHsocGFyZW50TmFtZXMgPz8gbmFtZXMpLmZzfS8ke25hbWVzLmZzfS5lbnRpdHkuanNvbmAsXG4gICAgfTtcbiAgfVxuXG4gIHJlbmRlcihvcHRpb25zOiBUZW1wbGF0ZU9wdGlvbnNbXCJlbnRpdHlcIl0pIHtcbiAgICBjb25zdCB7IGVudGl0eUlkLCB0aXRsZSwgcGFyZW50SWQsIHRhYmxlIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IG5hbWVzID0gRW50aXR5TWFuYWdlci5nZXROYW1lc0Zyb21JZChlbnRpdHlJZCk7XG5cbiAgICBjb25zdCBwYXJlbnQgPSAoKCkgPT4ge1xuICAgICAgaWYgKHBhcmVudElkKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbmFtZXM6IEVudGl0eU1hbmFnZXIuZ2V0TmFtZXNGcm9tSWQocGFyZW50SWQpLFxuICAgICAgICAgIGVudGl0eTogRW50aXR5TWFuYWdlci5nZXQocGFyZW50SWQpLFxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfSkoKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLmdldFRhcmdldEFuZFBhdGgobmFtZXMsIHBhcmVudD8ubmFtZXMgPz8gbmFtZXMpLFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBpZDogZW50aXR5SWQsXG4gICAgICAgIHRpdGxlOiB0aXRsZSA/PyBlbnRpdHlJZCxcbiAgICAgICAgcGFyZW50SWQsXG4gICAgICAgIHRhYmxlOiB0YWJsZSA/PyBuYW1lcy5mc1BsdXJhbC5yZXBsYWNlKC8tL2csIFwiX1wiKSxcbiAgICAgICAgcHJvcHM6IG9wdGlvbnMucHJvcHM/Lmxlbmd0aFxuICAgICAgICAgID8gb3B0aW9ucy5wcm9wc1xuICAgICAgICAgIDogW1xuICAgICAgICAgICAgICB7IG5hbWU6IFwiaWRcIiwgdHlwZTogXCJpbnRlZ2VyXCIsIGRlc2M6IFwiSURcIiB9LFxuICAgICAgICAgICAgICAuLi4ocGFyZW50XG4gICAgICAgICAgICAgICAgPyBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInJlbGF0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgbmFtZTogcGFyZW50Lm5hbWVzLmNhbWVsLFxuICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uVHlwZTogXCJCZWxvbmdzVG9PbmVcIixcbiAgICAgICAgICAgICAgICAgICAgICB3aXRoOiBwYXJlbnRJZCxcbiAgICAgICAgICAgICAgICAgICAgICBvblVwZGF0ZTogXCJDQVNDQURFXCIsXG4gICAgICAgICAgICAgICAgICAgICAgb25EZWxldGU6IFwiQ0FTQ0FERVwiLFxuICAgICAgICAgICAgICAgICAgICAgIGRlc2M6IHBhcmVudC5lbnRpdHkudGl0bGUsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgOiBbXSksXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcImNyZWF0ZWRfYXRcIixcbiAgICAgICAgICAgICAgICB0eXBlOiBcImRhdGVcIixcbiAgICAgICAgICAgICAgICBkZXNjOiBcIuuTseuhneydvOyLnFwiLFxuICAgICAgICAgICAgICAgIGRiRGVmYXVsdDogXCJDVVJSRU5UX1RJTUVTVEFNUFwiLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgaW5kZXhlczogWy4uLihvcHRpb25zLmluZGV4ZXMgPz8gW10pXSxcbiAgICAgICAgc3Vic2V0czogb3B0aW9ucy5zdWJzZXRzID8/IHtcbiAgICAgICAgICAuLi4ocGFyZW50SWRcbiAgICAgICAgICAgID8ge31cbiAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgIEE6IFtcImlkXCIsIFwiY3JlYXRlZF9hdFwiXSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICAgIGVudW1zOiBvcHRpb25zLmVudW1zID8/IHtcbiAgICAgICAgICAuLi4ocGFyZW50SWRcbiAgICAgICAgICAgID8ge31cbiAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgIFtgJHtuYW1lcy5jYXBpdGFsfU9yZGVyQnlgXToge1xuICAgICAgICAgICAgICAgICAgXCJpZC1kZXNjXCI6IFwiSUTstZzsi6DsiJxcIixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFtgJHtuYW1lcy5jYXBpdGFsfVNlYXJjaEZpZWxkYF06IHsgaWQ6IFwiSURcIiB9LFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgfSxcbiAgICAgIH0pLnRyaW0oKSxcbiAgICAgIGltcG9ydEtleXM6IFtdLFxuICAgIH07XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTb25hbXUiLCJFbnRpdHlNYW5hZ2VyIiwiVGVtcGxhdGUiLCJUZW1wbGF0ZV9fZW50aXR5IiwiZ2V0VGFyZ2V0QW5kUGF0aCIsIm5hbWVzIiwicGFyZW50TmFtZXMiLCJkaXIiLCJjb25maWciLCJhcGkiLCJ0YXJnZXQiLCJwYXRoIiwiZnMiLCJyZW5kZXIiLCJvcHRpb25zIiwiZW50aXR5SWQiLCJ0aXRsZSIsInBhcmVudElkIiwidGFibGUiLCJnZXROYW1lc0Zyb21JZCIsInBhcmVudCIsImVudGl0eSIsImdldCIsImJvZHkiLCJKU09OIiwic3RyaW5naWZ5IiwiaWQiLCJmc1BsdXJhbCIsInJlcGxhY2UiLCJwcm9wcyIsImxlbmd0aCIsIm5hbWUiLCJ0eXBlIiwiZGVzYyIsImNhbWVsIiwicmVsYXRpb25UeXBlIiwid2l0aCIsIm9uVXBkYXRlIiwib25EZWxldGUiLCJkYkRlZmF1bHQiLCJpbmRleGVzIiwic3Vic2V0cyIsIkEiLCJlbnVtcyIsImNhcGl0YWwiLCJ0cmltIiwiaW1wb3J0S2V5cyJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsTUFBTSxRQUFRLHFCQUFZO0FBQ25DLFNBQVNDLGFBQWEsUUFBZ0MsaUNBQThCO0FBRXBGLFNBQVNDLFFBQVEsUUFBUSxpQkFBYztBQUV2QyxPQUFPLE1BQU1DLHlCQUF5QkQ7SUFDcEMsYUFBYztRQUNaLEtBQUssQ0FBQztJQUNSO0lBRUFFLGlCQUFpQkMsS0FBd0IsRUFBRUMsV0FBK0IsRUFBRTtRQUMxRSxNQUFNLEVBQUVDLEdBQUcsRUFBRSxHQUFHUCxPQUFPUSxNQUFNLENBQUNDLEdBQUc7UUFFakMsT0FBTztZQUNMQyxRQUFRLEdBQUdILElBQUksZ0JBQWdCLENBQUM7WUFDaENJLE1BQU0sR0FBRyxBQUFDTCxDQUFBQSxlQUFlRCxLQUFJLEVBQUdPLEVBQUUsQ0FBQyxDQUFDLEVBQUVQLE1BQU1PLEVBQUUsQ0FBQyxZQUFZLENBQUM7UUFDOUQ7SUFDRjtJQUVBQyxPQUFPQyxPQUFrQyxFQUFFO1FBQ3pDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxLQUFLLEVBQUVDLFFBQVEsRUFBRUMsS0FBSyxFQUFFLEdBQUdKO1FBQzdDLE1BQU1ULFFBQVFKLGNBQWNrQixjQUFjLENBQUNKO1FBRTNDLE1BQU1LLFNBQVMsQUFBQyxDQUFBO1lBQ2QsSUFBSUgsVUFBVTtnQkFDWixPQUFPO29CQUNMWixPQUFPSixjQUFja0IsY0FBYyxDQUFDRjtvQkFDcENJLFFBQVFwQixjQUFjcUIsR0FBRyxDQUFDTDtnQkFDNUI7WUFDRixPQUFPO2dCQUNMLE9BQU87WUFDVDtRQUNGLENBQUE7UUFFQSxPQUFPO1lBQ0wsR0FBRyxJQUFJLENBQUNiLGdCQUFnQixDQUFDQyxPQUFPZSxRQUFRZixTQUFTQSxNQUFNO1lBQ3ZEa0IsTUFBTUMsS0FBS0MsU0FBUyxDQUFDO2dCQUNuQkMsSUFBSVg7Z0JBQ0pDLE9BQU9BLFNBQVNEO2dCQUNoQkU7Z0JBQ0FDLE9BQU9BLFNBQVNiLE1BQU1zQixRQUFRLENBQUNDLE9BQU8sQ0FBQyxNQUFNO2dCQUM3Q0MsT0FBT2YsUUFBUWUsS0FBSyxFQUFFQyxTQUNsQmhCLFFBQVFlLEtBQUssR0FDYjtvQkFDRTt3QkFBRUUsTUFBTTt3QkFBTUMsTUFBTTt3QkFBV0MsTUFBTTtvQkFBSzt1QkFDdENiLFNBQ0E7d0JBQ0U7NEJBQ0VZLE1BQU07NEJBQ05ELE1BQU1YLE9BQU9mLEtBQUssQ0FBQzZCLEtBQUs7NEJBQ3hCQyxjQUFjOzRCQUNkQyxNQUFNbkI7NEJBQ05vQixVQUFVOzRCQUNWQyxVQUFVOzRCQUNWTCxNQUFNYixPQUFPQyxNQUFNLENBQUNMLEtBQUs7d0JBQzNCO3FCQUNELEdBQ0QsRUFBRTtvQkFDTjt3QkFDRWUsTUFBTTt3QkFDTkMsTUFBTTt3QkFDTkMsTUFBTTt3QkFDTk0sV0FBVztvQkFDYjtpQkFDRDtnQkFDTEMsU0FBUzt1QkFBSzFCLFFBQVEwQixPQUFPLElBQUksRUFBRTtpQkFBRTtnQkFDckNDLFNBQVMzQixRQUFRMkIsT0FBTyxJQUFJO29CQUMxQixHQUFJeEIsV0FDQSxDQUFDLElBQ0Q7d0JBQ0V5QixHQUFHOzRCQUFDOzRCQUFNO3lCQUFhO29CQUN6QixDQUFDO2dCQUNQO2dCQUNBQyxPQUFPN0IsUUFBUTZCLEtBQUssSUFBSTtvQkFDdEIsR0FBSTFCLFdBQ0EsQ0FBQyxJQUNEO3dCQUNFLENBQUMsR0FBR1osTUFBTXVDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFOzRCQUMzQixXQUFXO3dCQUNiO3dCQUNBLENBQUMsR0FBR3ZDLE1BQU11QyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRTs0QkFBRWxCLElBQUk7d0JBQUs7b0JBQzlDLENBQUM7Z0JBQ1A7WUFDRixHQUFHbUIsSUFBSTtZQUNQQyxZQUFZLEVBQUU7UUFDaEI7SUFDRjtBQUNGIn0=
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { Template } from "./base-template";
|
|
1
|
+
import type { Entity } from "../../entity/entity";
|
|
2
|
+
import { Template } from "../template";
|
|
4
3
|
export type SourceCode = {
|
|
5
4
|
label: string;
|
|
6
5
|
lines: string[];
|
|
@@ -12,7 +11,7 @@ export declare class Template__generated extends Template {
|
|
|
12
11
|
target: string;
|
|
13
12
|
path: string;
|
|
14
13
|
};
|
|
15
|
-
render(
|
|
14
|
+
render(): {
|
|
16
15
|
body: string;
|
|
17
16
|
importKeys: string[];
|
|
18
17
|
customHeaders: string[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/generated.template.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAKlD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AACF,qBAAa,mBAAoB,SAAQ,QAAQ;;IAK/C,gBAAgB;;;;IAOhB,MAAM;;;;;;;IAmGN,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAqBrD,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO,GAAG,UAAU;IAsD9E,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAiD9D,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;CA8CvD"}
|