sonamu 0.5.7 → 0.6.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/dist/api/base-frame.js +12 -2
- package/dist/api/caster.js +66 -2
- package/dist/api/code-converters.js +489 -2
- package/dist/api/config.d.ts +76 -0
- package/dist/api/config.d.ts.map +1 -0
- package/dist/api/config.js +32 -0
- package/dist/api/context.d.ts +1 -0
- package/dist/api/context.d.ts.map +1 -1
- package/dist/api/context.js +3 -2
- package/dist/api/decorators.d.ts.map +1 -1
- package/dist/api/decorators.js +142 -2
- package/dist/api/index.js +9 -2
- package/dist/api/sonamu.d.ts +8 -22
- package/dist/api/sonamu.d.ts.map +1 -1
- package/dist/api/sonamu.js +482 -2
- package/dist/bin/build-config.d.ts +2 -1
- package/dist/bin/build-config.d.ts.map +1 -1
- package/dist/bin/build-config.js +12 -2
- package/dist/bin/cli-wrapper.js +71 -2
- package/dist/bin/cli.js +418 -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/database/_batch_update.js +78 -2
- package/dist/database/base-model.js +247 -2
- package/dist/database/code-generator.js +53 -2
- package/dist/database/db.d.ts +2 -16
- package/dist/database/db.d.ts.map +1 -1
- package/dist/database/db.js +132 -2
- package/dist/database/knex-plugins/knex-on-duplicate-update.js +39 -2
- package/dist/database/puri-wrapper.js +109 -2
- package/dist/database/puri.d.ts +23 -16
- package/dist/database/puri.d.ts.map +1 -1
- package/dist/database/puri.js +539 -2
- package/dist/database/puri.types.d.ts +8 -3
- package/dist/database/puri.types.d.ts.map +1 -1
- package/dist/database/puri.types.js +3 -2
- package/dist/database/transaction-context.js +14 -2
- package/dist/database/upsert-builder.js +215 -2
- package/dist/entity/entity-manager.d.ts +3 -1
- package/dist/entity/entity-manager.d.ts.map +1 -1
- package/dist/entity/entity-manager.js +114 -2
- package/dist/entity/entity-utils.js +210 -2
- package/dist/entity/entity.d.ts.map +1 -1
- package/dist/entity/entity.js +651 -2
- package/dist/exceptions/error-handler.js +29 -2
- package/dist/exceptions/so-exceptions.js +85 -2
- package/dist/file-storage/driver.js +79 -2
- package/dist/file-storage/file-storage.js +75 -2
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -2
- package/dist/migration/code-generation.js +558 -2
- package/dist/migration/migration-set.js +364 -2
- package/dist/migration/migrator.d.ts +0 -9
- package/dist/migration/migrator.d.ts.map +1 -1
- package/dist/migration/migrator.js +510 -2
- package/dist/migration/types.js +3 -2
- package/dist/naite/naite.d.ts +12 -0
- package/dist/naite/naite.d.ts.map +1 -0
- package/dist/naite/naite.js +72 -0
- package/dist/stream/index.js +3 -2
- package/dist/stream/sse.js +38 -2
- package/dist/syncer/api-parser.d.ts +20 -0
- package/dist/syncer/api-parser.d.ts.map +1 -0
- package/dist/syncer/api-parser.js +229 -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 +141 -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 +58 -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 +82 -0
- package/dist/syncer/syncer.d.ts +93 -108
- package/dist/syncer/syncer.d.ts.map +1 -1
- package/dist/syncer/syncer.js +375 -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 +101 -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 +87 -0
- package/dist/{templates → template/implementations}/generated.template.d.ts +3 -3
- package/dist/template/implementations/generated.template.d.ts.map +1 -0
- package/dist/template/implementations/generated.template.js +232 -0
- package/dist/{templates → template/implementations}/generated_http.template.d.ts +3 -3
- 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 +3 -3
- package/dist/template/implementations/generated_sso.template.d.ts.map +1 -0
- package/dist/template/implementations/generated_sso.template.js +105 -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 +171 -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 +193 -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 +465 -0
- package/dist/{templates → template/implementations}/view_list_columns.template.d.ts +3 -3
- 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 +5 -0
- package/dist/template/index.d.ts.map +1 -0
- package/dist/template/index.js +6 -0
- package/dist/template/template.d.ts +39 -0
- package/dist/template/template.d.ts.map +1 -0
- package/dist/template/template.js +47 -0
- package/dist/template/zod-converter.d.ts +18 -0
- package/dist/template/zod-converter.d.ts.map +1 -0
- package/dist/template/zod-converter.js +166 -0
- package/dist/testing/_relation-graph.js +80 -2
- package/dist/testing/fixture-manager.d.ts.map +1 -1
- package/dist/testing/fixture-manager.js +521 -2
- package/dist/types/types.d.ts +39 -40
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/types.js +289 -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.js +26 -2
- package/dist/utils/esm-utils.d.ts +45 -0
- package/dist/utils/esm-utils.d.ts.map +1 -0
- package/dist/utils/esm-utils.js +56 -0
- package/dist/utils/fs-utils.js +17 -2
- package/dist/utils/lodash-able.js +6 -2
- package/dist/utils/model.js +22 -2
- 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.js +35 -2
- package/dist/utils/utils.d.ts +4 -7
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +33 -2
- package/dist/utils/zod-error.d.ts.map +1 -1
- package/dist/utils/zod-error.js +19 -2
- package/package.json +21 -8
- package/src/api/code-converters.ts +2 -2
- package/src/api/config.ts +142 -0
- package/src/api/context.ts +1 -0
- package/src/api/decorators.ts +1 -0
- package/src/api/sonamu.ts +81 -67
- package/src/bin/build-config.ts +2 -1
- package/src/bin/cli-wrapper.ts +10 -3
- package/src/bin/cli.ts +108 -56
- package/src/bin/hot-hook-register.ts +22 -0
- package/src/database/base-model.ts +1 -1
- package/src/database/code-generator.ts +1 -1
- package/src/database/db.ts +10 -52
- package/src/database/puri.ts +78 -53
- package/src/database/puri.types.ts +18 -5
- package/src/database/upsert-builder.ts +1 -1
- package/src/entity/entity-manager.ts +19 -15
- package/src/entity/entity.ts +4 -3
- package/src/index.ts +2 -0
- package/src/migration/code-generation.ts +1 -1
- package/src/migration/migration-set.ts +1 -1
- package/src/migration/migrator.ts +23 -152
- package/src/naite/naite.ts +70 -0
- package/src/syncer/api-parser.ts +299 -0
- package/src/syncer/checksum.ts +152 -0
- package/src/syncer/code-generator.ts +202 -0
- package/src/syncer/entity-operations.ts +68 -0
- package/src/syncer/file-patterns.ts +56 -0
- package/src/syncer/index.ts +6 -0
- package/src/syncer/module-loader.ts +125 -0
- package/src/syncer/syncer.ts +363 -1420
- package/src/template/entity-converter.ts +123 -0
- package/src/template/helpers.ts +84 -0
- package/src/{templates → template/implementations}/entity.template.ts +4 -4
- package/src/{templates → template/implementations}/generated.template.ts +9 -9
- package/src/{templates → template/implementations}/generated_http.template.ts +9 -6
- package/src/{templates → template/implementations}/generated_sso.template.ts +7 -7
- package/src/{templates → template/implementations}/init_types.template.ts +4 -4
- package/src/{templates → template/implementations}/model.template.ts +9 -9
- package/src/{templates → template/implementations}/model_test.template.ts +5 -5
- package/src/{templates → template/implementations}/service.template.ts +19 -11
- package/src/{templates → template/implementations}/view_enums_buttonset.template.ts +3 -3
- package/src/{templates → template/implementations}/view_enums_dropdown.template.ts +5 -21
- package/src/{templates → template/implementations}/view_enums_select.template.ts +4 -4
- package/src/{templates → template/implementations}/view_form.template.ts +11 -13
- package/src/{templates → template/implementations}/view_id_all_select.template.ts +3 -3
- package/src/{templates → template/implementations}/view_id_async_select.template.ts +3 -3
- package/src/{templates → template/implementations}/view_list.template.ts +13 -64
- package/src/{templates → template/implementations}/view_list_columns.template.ts +3 -3
- package/src/{templates → template/implementations}/view_search_input.template.ts +3 -3
- package/src/template/index.ts +4 -0
- package/src/template/template.ts +86 -0
- package/src/template/zod-converter.ts +219 -0
- package/src/testing/fixture-manager.ts +8 -1
- package/src/types/types.ts +38 -61
- package/src/utils/async-utils.ts +17 -0
- package/src/utils/console-util.ts +4 -0
- package/src/utils/esm-utils.ts +69 -0
- package/src/utils/path-utils.ts +102 -0
- package/src/utils/process-utils.ts +46 -0
- package/src/utils/sql-parser.ts +1 -1
- package/src/utils/utils.ts +14 -40
- package/src/utils/zod-error.ts +0 -1
- 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.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.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.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.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/templates/base-template.ts +0 -19
- package/src/templates/index.ts +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/service.template.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAgB,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAQ3D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,qBAAa,iBAAkB,SAAQ,QAAQ;;IAK7C,gBAAgB,CAAC,KAAK,EAAE,iBAAiB;;;;IAOzC,MAAM,CAAC,EAAE,WAAW,EAAE,EAAE,eAAe,CAAC,SAAS,CAAC;;;;;;;IAmClD,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG;QAClC,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB;IAyHD,WAAW,CACT,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM;IA8BpB,oBAAoB,CAClB,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,oBAAoB,EAAE,QAAQ,EAAE;IA6ClC,SAAS,CACP,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM;IAsBpB,iBAAiB,CACf,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM;IAapB,YAAY,CACV,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM;CAuB5B"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import inflection from "inflection";
|
|
2
|
+
import * as _ from "lodash-es";
|
|
3
|
+
import { ApiParamType } from "../../types/types.js";
|
|
4
|
+
import { apiParamTypeToTsType, apiParamToTsCode, unwrapPromiseOnce, zodTypeToTsTypeDef, apiParamToTsCodeAsObject } from "../../api/code-converters.js";
|
|
5
|
+
import { Template } from "../template.js";
|
|
6
|
+
import { Sonamu } from "../../api/sonamu.js";
|
|
7
|
+
export class Template__service extends Template {
|
|
8
|
+
constructor(){
|
|
9
|
+
super("service");
|
|
10
|
+
}
|
|
11
|
+
getTargetAndPath(names) {
|
|
12
|
+
return {
|
|
13
|
+
target: ":target/src/services",
|
|
14
|
+
path: `${names.fs}/${names.fs}.service.ts`
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
render({ namesRecord }) {
|
|
18
|
+
const { syncer: { apis } } = Sonamu;
|
|
19
|
+
const apisForThisModel = apis.filter((api)=>api.modelName === `${namesRecord.capital}Model`);
|
|
20
|
+
// 서비스 TypeSource
|
|
21
|
+
const { lines, importKeys } = this.getTypeSource(apisForThisModel);
|
|
22
|
+
// AxiosProgressEvent 있는지 확인
|
|
23
|
+
const hasAxiosProgressEvent = apis.find((api)=>(api.options.clients ?? []).includes("axios-multipart"));
|
|
24
|
+
return {
|
|
25
|
+
...this.getTargetAndPath(namesRecord),
|
|
26
|
+
body: lines.join("\n"),
|
|
27
|
+
importKeys: importKeys.filter((key)=>[
|
|
28
|
+
"ListResult"
|
|
29
|
+
].includes(key) === false),
|
|
30
|
+
customHeaders: [
|
|
31
|
+
`import { z } from 'zod';`,
|
|
32
|
+
`import qs from "qs";`,
|
|
33
|
+
`import useSWR, { SWRResponse } from "swr";`,
|
|
34
|
+
`import { fetch, ListResult, SWRError, SwrOptions, handleConditional, swrPostFetcher, EventHandlers, SSEStreamOptions, useSSEStream } from '../sonamu.shared';`,
|
|
35
|
+
...hasAxiosProgressEvent ? [
|
|
36
|
+
`import { AxiosProgressEvent } from 'axios';`
|
|
37
|
+
] : []
|
|
38
|
+
]
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
getTypeSource(apis) {
|
|
42
|
+
const importKeys = [];
|
|
43
|
+
// 제네릭에서 선언한 타입, importKeys에서 제외 필요
|
|
44
|
+
let typeParamNames = [];
|
|
45
|
+
const groups = _.groupBy(apis, (api)=>api.modelName);
|
|
46
|
+
const body = Object.keys(groups).map((modelName)=>{
|
|
47
|
+
const methods = groups[modelName];
|
|
48
|
+
const methodCodes = methods.map((api)=>{
|
|
49
|
+
// 컨텍스트 제외된 파라미터 리스트
|
|
50
|
+
const paramsWithoutContext = api.parameters.filter((param)=>!ApiParamType.isContext(param.type) && !ApiParamType.isRefKnex(param.type) && !(param.optional === true && param.name.startsWith("_") // _로 시작하는 파라미터는 제외
|
|
51
|
+
));
|
|
52
|
+
// 파라미터 타입 정의
|
|
53
|
+
const typeParamsDef = api.typeParameters.map((typeParam)=>{
|
|
54
|
+
return apiParamTypeToTsType(typeParam, importKeys);
|
|
55
|
+
}).join(", ");
|
|
56
|
+
typeParamNames = typeParamNames.concat(api.typeParameters.map((typeParam)=>typeParam.id));
|
|
57
|
+
// 파라미터 정의
|
|
58
|
+
const paramsDef = apiParamToTsCode(paramsWithoutContext, importKeys);
|
|
59
|
+
// 파라미터 정의 (객체 형태)
|
|
60
|
+
const paramsDefAsObject = apiParamToTsCodeAsObject(paramsWithoutContext, importKeys);
|
|
61
|
+
// 리턴 타입 정의
|
|
62
|
+
const returnTypeDef = apiParamTypeToTsType(unwrapPromiseOnce(api.returnType), importKeys);
|
|
63
|
+
// 페이로드 데이터 정의
|
|
64
|
+
const payloadDef = `{ ${paramsWithoutContext.map((param)=>param.name).join(", ")} }`;
|
|
65
|
+
// 기본 URL
|
|
66
|
+
const apiBaseUrl = `${Sonamu.config.api.route.prefix}${api.path}`;
|
|
67
|
+
return [
|
|
68
|
+
// 클라이언트별로 생성
|
|
69
|
+
..._.sortBy(api.options.clients, (client)=>client === "swr" ? 0 : 1).map((client)=>{
|
|
70
|
+
switch(client){
|
|
71
|
+
case "axios":
|
|
72
|
+
return this.renderAxios(api, apiBaseUrl, typeParamsDef, paramsDef, returnTypeDef, payloadDef);
|
|
73
|
+
case "axios-multipart":
|
|
74
|
+
return this.renderAxiosMultipart(api, apiBaseUrl, typeParamsDef, paramsDef, returnTypeDef, paramsWithoutContext);
|
|
75
|
+
case "swr":
|
|
76
|
+
return this.renderSwr(api, apiBaseUrl, typeParamsDef, paramsDef, returnTypeDef, payloadDef);
|
|
77
|
+
case "window-fetch":
|
|
78
|
+
return this.renderWindowFetch(api, apiBaseUrl, typeParamsDef, paramsDef, payloadDef);
|
|
79
|
+
default:
|
|
80
|
+
return `// Not supported ${inflection.camelize(client, true)} yet.`;
|
|
81
|
+
}
|
|
82
|
+
}),
|
|
83
|
+
// 스트리밍인 경우
|
|
84
|
+
...api.streamOptions ? [
|
|
85
|
+
this.renderStream(api, apiBaseUrl, paramsDefAsObject)
|
|
86
|
+
] : []
|
|
87
|
+
].join("\n");
|
|
88
|
+
}).join("\n\n");
|
|
89
|
+
return `export namespace ${modelName.replace(/Model$/, "Service").replace(/Frame$/, "Service")} {
|
|
90
|
+
${methodCodes}
|
|
91
|
+
}`;
|
|
92
|
+
}).join("\n\n");
|
|
93
|
+
return {
|
|
94
|
+
lines: [
|
|
95
|
+
body
|
|
96
|
+
],
|
|
97
|
+
importKeys: _.difference(_.uniq(importKeys), typeParamNames)
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
renderAxios(api, apiBaseUrl, typeParamsDef, paramsDef, returnTypeDef, payloadDef) {
|
|
101
|
+
const methodNameAxios = api.options.resourceName ? "get" + inflection.camelize(api.options.resourceName) : api.methodName;
|
|
102
|
+
if (api.options.httpMethod === "GET") {
|
|
103
|
+
return `
|
|
104
|
+
export async function ${methodNameAxios}${typeParamsDef}(${paramsDef}): Promise<${returnTypeDef}> {
|
|
105
|
+
return fetch({
|
|
106
|
+
method: "GET",
|
|
107
|
+
url: \`${apiBaseUrl}?\${qs.stringify(${payloadDef})}\`,
|
|
108
|
+
${api.options.timeout ? `signal: AbortSignal.timeout(${api.options.timeout}),` : ""}
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
`.trim();
|
|
112
|
+
} else {
|
|
113
|
+
return `
|
|
114
|
+
export async function ${methodNameAxios}${typeParamsDef}(${paramsDef}): Promise<${returnTypeDef}> {
|
|
115
|
+
return fetch({
|
|
116
|
+
method: '${api.options.httpMethod}',
|
|
117
|
+
url: \`${apiBaseUrl}\`,
|
|
118
|
+
data: ${payloadDef},
|
|
119
|
+
${api.options.timeout ? `signal: AbortSignal.timeout(${api.options.timeout}),` : ""}
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
`.trim();
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
renderAxiosMultipart(api, apiBaseUrl, typeParamsDef, paramsDef, returnTypeDef, paramsWithoutContext) {
|
|
126
|
+
const isMultiple = api.uploadOptions?.mode === "multiple";
|
|
127
|
+
const fileParamName = isMultiple ? "files" : "file";
|
|
128
|
+
const fileParamType = isMultiple ? "File[]" : "File";
|
|
129
|
+
const formDataDef = isMultiple ? [
|
|
130
|
+
`${fileParamName}.forEach(f => formData.append("${fileParamName}", f));`,
|
|
131
|
+
...paramsWithoutContext.map((param)=>`formData.append('${param.name}', String(${param.name}));`)
|
|
132
|
+
].join("\n") : [
|
|
133
|
+
`formData.append("${fileParamName}", ${fileParamName});`,
|
|
134
|
+
...paramsWithoutContext.map((param)=>`formData.append('${param.name}', String(${param.name}));`)
|
|
135
|
+
].join("\n");
|
|
136
|
+
const paramsDefComma = paramsDef !== "" ? ", " : "";
|
|
137
|
+
return `
|
|
138
|
+
export async function ${api.methodName}${typeParamsDef}(
|
|
139
|
+
${paramsDef}${paramsDefComma}
|
|
140
|
+
${fileParamName}: ${fileParamType},
|
|
141
|
+
onUploadProgress?: (pe:AxiosProgressEvent) => void
|
|
142
|
+
): Promise<${returnTypeDef}> {
|
|
143
|
+
const formData = new FormData();
|
|
144
|
+
${formDataDef}
|
|
145
|
+
return fetch({
|
|
146
|
+
method: 'POST',
|
|
147
|
+
url: \`${apiBaseUrl}\`,
|
|
148
|
+
headers: {
|
|
149
|
+
"Content-Type": "multipart/form-data",
|
|
150
|
+
},
|
|
151
|
+
onUploadProgress,
|
|
152
|
+
data: formData,
|
|
153
|
+
${api.options.timeout ? `signal: AbortSignal.timeout(${api.options.timeout}),` : ""}
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
`.trim();
|
|
157
|
+
}
|
|
158
|
+
renderSwr(api, apiBaseUrl, typeParamsDef, paramsDef, returnTypeDef, payloadDef) {
|
|
159
|
+
const methodNameSwr = api.options.resourceName ? "use" + inflection.camelize(api.options.resourceName) : "use" + inflection.camelize(api.methodName);
|
|
160
|
+
return ` export function ${inflection.camelize(methodNameSwr, true)}${typeParamsDef}(${[
|
|
161
|
+
paramsDef,
|
|
162
|
+
"swrOptions?: SwrOptions"
|
|
163
|
+
].filter((p)=>p !== "").join(",")}, ): SWRResponse<${returnTypeDef}, SWRError> {
|
|
164
|
+
return useSWR(handleConditional([
|
|
165
|
+
\`${apiBaseUrl}\`,
|
|
166
|
+
${payloadDef},
|
|
167
|
+
], swrOptions?.conditional)${api.options.httpMethod === "POST" ? ", swrPostFetcher" : ""}${api.options.timeout ? `, { loadingTimeout: ${api.options.timeout} }` : ""});
|
|
168
|
+
}`;
|
|
169
|
+
}
|
|
170
|
+
renderWindowFetch(api, apiBaseUrl, typeParamsDef, paramsDef, payloadDef) {
|
|
171
|
+
return `
|
|
172
|
+
export async function ${api.methodName}${typeParamsDef}(${paramsDef}): Promise<Response> {
|
|
173
|
+
return window.fetch(\`${apiBaseUrl}?\${qs.stringify(${payloadDef})}\`${api.options.timeout ? `, { signal: AbortSignal.timeout(${api.options.timeout}) }` : ""});
|
|
174
|
+
}
|
|
175
|
+
`.trim();
|
|
176
|
+
}
|
|
177
|
+
renderStream(api, apiBaseUrl, paramsDefAsObject) {
|
|
178
|
+
if (!api.streamOptions) {
|
|
179
|
+
return "// streamOptions not found";
|
|
180
|
+
}
|
|
181
|
+
const methodNameStream = api.options.resourceName ? "use" + inflection.camelize(api.options.resourceName) : "use" + inflection.camelize(api.methodName);
|
|
182
|
+
const methodNameStreamCamelized = inflection.camelize(methodNameStream, true);
|
|
183
|
+
const eventsTypeDef = zodTypeToTsTypeDef(api.streamOptions.events);
|
|
184
|
+
return ` export function ${methodNameStreamCamelized}(
|
|
185
|
+
params: ${paramsDefAsObject},
|
|
186
|
+
handlers: EventHandlers<${eventsTypeDef} & { end?: () => void }>,
|
|
187
|
+
options: SSEStreamOptions) {
|
|
188
|
+
return useSSEStream<${eventsTypeDef}>(\`${apiBaseUrl}\`, params, handlers, options);
|
|
189
|
+
}`;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvc2VydmljZS50ZW1wbGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiO1xuaW1wb3J0ICogYXMgXyBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgeyBUZW1wbGF0ZU9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCB7IEVudGl0eU5hbWVzUmVjb3JkIH0gZnJvbSBcIi4uLy4uL2VudGl0eS9lbnRpdHktbWFuYWdlclwiO1xuaW1wb3J0IHsgQXBpUGFyYW1UeXBlLCBBcGlQYXJhbSB9IGZyb20gXCIuLi8uLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHtcbiAgYXBpUGFyYW1UeXBlVG9Uc1R5cGUsXG4gIGFwaVBhcmFtVG9Uc0NvZGUsXG4gIHVud3JhcFByb21pc2VPbmNlLFxuICB6b2RUeXBlVG9Uc1R5cGVEZWYsXG4gIGFwaVBhcmFtVG9Uc0NvZGVBc09iamVjdCxcbn0gZnJvbSBcIi4uLy4uL2FwaS9jb2RlLWNvbnZlcnRlcnNcIjtcbmltcG9ydCB7IEV4dGVuZGVkQXBpIH0gZnJvbSBcIi4uLy4uL2FwaS9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gXCIuLi90ZW1wbGF0ZVwiO1xuaW1wb3J0IHsgU29uYW11IH0gZnJvbSBcIi4uLy4uL2FwaS9zb25hbXVcIjtcblxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlX19zZXJ2aWNlIGV4dGVuZHMgVGVtcGxhdGUge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihcInNlcnZpY2VcIik7XG4gIH1cblxuICBnZXRUYXJnZXRBbmRQYXRoKG5hbWVzOiBFbnRpdHlOYW1lc1JlY29yZCkge1xuICAgIHJldHVybiB7XG4gICAgICB0YXJnZXQ6IFwiOnRhcmdldC9zcmMvc2VydmljZXNcIixcbiAgICAgIHBhdGg6IGAke25hbWVzLmZzfS8ke25hbWVzLmZzfS5zZXJ2aWNlLnRzYCxcbiAgICB9O1xuICB9XG5cbiAgcmVuZGVyKHsgbmFtZXNSZWNvcmQgfTogVGVtcGxhdGVPcHRpb25zW1wic2VydmljZVwiXSkge1xuICAgIGNvbnN0IHtcbiAgICAgIHN5bmNlcjogeyBhcGlzIH0sXG4gICAgfSA9IFNvbmFtdTtcblxuICAgIGNvbnN0IGFwaXNGb3JUaGlzTW9kZWwgPSBhcGlzLmZpbHRlcihcbiAgICAgIChhcGkpID0+IGFwaS5tb2RlbE5hbWUgPT09IGAke25hbWVzUmVjb3JkLmNhcGl0YWx9TW9kZWxgXG4gICAgKTtcblxuICAgIC8vIOyEnOu5hOyKpCBUeXBlU291cmNlXG4gICAgY29uc3QgeyBsaW5lcywgaW1wb3J0S2V5cyB9ID0gdGhpcy5nZXRUeXBlU291cmNlKGFwaXNGb3JUaGlzTW9kZWwpO1xuXG4gICAgLy8gQXhpb3NQcm9ncmVzc0V2ZW50IOyeiOuKlOyngCDtmZXsnbhcbiAgICBjb25zdCBoYXNBeGlvc1Byb2dyZXNzRXZlbnQgPSBhcGlzLmZpbmQoKGFwaSkgPT5cbiAgICAgIChhcGkub3B0aW9ucy5jbGllbnRzID8/IFtdKS5pbmNsdWRlcyhcImF4aW9zLW11bHRpcGFydFwiKVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4udGhpcy5nZXRUYXJnZXRBbmRQYXRoKG5hbWVzUmVjb3JkKSxcbiAgICAgIGJvZHk6IGxpbmVzLmpvaW4oXCJcXG5cIiksXG4gICAgICBpbXBvcnRLZXlzOiBpbXBvcnRLZXlzLmZpbHRlcihcbiAgICAgICAgKGtleSkgPT4gW1wiTGlzdFJlc3VsdFwiXS5pbmNsdWRlcyhrZXkpID09PSBmYWxzZVxuICAgICAgKSxcbiAgICAgIGN1c3RvbUhlYWRlcnM6IFtcbiAgICAgICAgYGltcG9ydCB7IHogfSBmcm9tICd6b2QnO2AsXG4gICAgICAgIGBpbXBvcnQgcXMgZnJvbSBcInFzXCI7YCxcbiAgICAgICAgYGltcG9ydCB1c2VTV1IsIHsgU1dSUmVzcG9uc2UgfSBmcm9tIFwic3dyXCI7YCxcbiAgICAgICAgYGltcG9ydCB7IGZldGNoLCBMaXN0UmVzdWx0LCBTV1JFcnJvciwgU3dyT3B0aW9ucywgaGFuZGxlQ29uZGl0aW9uYWwsIHN3clBvc3RGZXRjaGVyLCBFdmVudEhhbmRsZXJzLCBTU0VTdHJlYW1PcHRpb25zLCB1c2VTU0VTdHJlYW0gfSBmcm9tICcuLi9zb25hbXUuc2hhcmVkJztgLFxuICAgICAgICAuLi4oaGFzQXhpb3NQcm9ncmVzc0V2ZW50XG4gICAgICAgICAgPyBbYGltcG9ydCB7IEF4aW9zUHJvZ3Jlc3NFdmVudCB9IGZyb20gJ2F4aW9zJztgXVxuICAgICAgICAgIDogW10pLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0VHlwZVNvdXJjZShhcGlzOiBFeHRlbmRlZEFwaVtdKToge1xuICAgIGxpbmVzOiBzdHJpbmdbXTtcbiAgICBpbXBvcnRLZXlzOiBzdHJpbmdbXTtcbiAgfSB7XG4gICAgY29uc3QgaW1wb3J0S2V5czogc3RyaW5nW10gPSBbXTtcblxuICAgIC8vIOygnOuEpOumreyXkOyEnCDshKDslrjtlZwg7YOA7J6FLCBpbXBvcnRLZXlz7JeQ7IScIOygnOyZuCDtlYTsmpRcbiAgICBsZXQgdHlwZVBhcmFtTmFtZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBjb25zdCBncm91cHMgPSBfLmdyb3VwQnkoYXBpcywgKGFwaSkgPT4gYXBpLm1vZGVsTmFtZSk7XG4gICAgY29uc3QgYm9keSA9IE9iamVjdC5rZXlzKGdyb3VwcylcbiAgICAgIC5tYXAoKG1vZGVsTmFtZSkgPT4ge1xuICAgICAgICBjb25zdCBtZXRob2RzID0gZ3JvdXBzW21vZGVsTmFtZV07XG4gICAgICAgIGNvbnN0IG1ldGhvZENvZGVzID0gbWV0aG9kc1xuICAgICAgICAgIC5tYXAoKGFwaSkgPT4ge1xuICAgICAgICAgICAgLy8g7Luo7YWN7Iqk7Yq4IOygnOyZuOuQnCDtjIzrnbzrr7jthLAg66as7Iqk7Yq4XG4gICAgICAgICAgICBjb25zdCBwYXJhbXNXaXRob3V0Q29udGV4dCA9IGFwaS5wYXJhbWV0ZXJzLmZpbHRlcihcbiAgICAgICAgICAgICAgKHBhcmFtKSA9PlxuICAgICAgICAgICAgICAgICFBcGlQYXJhbVR5cGUuaXNDb250ZXh0KHBhcmFtLnR5cGUpICYmXG4gICAgICAgICAgICAgICAgIUFwaVBhcmFtVHlwZS5pc1JlZktuZXgocGFyYW0udHlwZSkgJiZcbiAgICAgICAgICAgICAgICAhKHBhcmFtLm9wdGlvbmFsID09PSB0cnVlICYmIHBhcmFtLm5hbWUuc3RhcnRzV2l0aChcIl9cIikpIC8vIF/roZwg7Iuc7J6R7ZWY64qUIO2MjOudvOuvuO2EsOuKlCDsoJzsmbhcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIC8vIO2MjOudvOuvuO2EsCDtg4DsnoUg7KCV7J2YXG4gICAgICAgICAgICBjb25zdCB0eXBlUGFyYW1zRGVmID0gYXBpLnR5cGVQYXJhbWV0ZXJzXG4gICAgICAgICAgICAgIC5tYXAoKHR5cGVQYXJhbSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBhcGlQYXJhbVR5cGVUb1RzVHlwZSh0eXBlUGFyYW0sIGltcG9ydEtleXMpO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAuam9pbihcIiwgXCIpO1xuICAgICAgICAgICAgdHlwZVBhcmFtTmFtZXMgPSB0eXBlUGFyYW1OYW1lcy5jb25jYXQoXG4gICAgICAgICAgICAgIGFwaS50eXBlUGFyYW1ldGVycy5tYXAoKHR5cGVQYXJhbSkgPT4gdHlwZVBhcmFtLmlkKVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLy8g7YyM652866+47YSwIOygleydmFxuICAgICAgICAgICAgY29uc3QgcGFyYW1zRGVmID0gYXBpUGFyYW1Ub1RzQ29kZShcbiAgICAgICAgICAgICAgcGFyYW1zV2l0aG91dENvbnRleHQsXG4gICAgICAgICAgICAgIGltcG9ydEtleXNcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIC8vIO2MjOudvOuvuO2EsCDsoJXsnZggKOqwneyytCDtmJXtg5wpXG4gICAgICAgICAgICBjb25zdCBwYXJhbXNEZWZBc09iamVjdCA9IGFwaVBhcmFtVG9Uc0NvZGVBc09iamVjdChcbiAgICAgICAgICAgICAgcGFyYW1zV2l0aG91dENvbnRleHQsXG4gICAgICAgICAgICAgIGltcG9ydEtleXNcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIC8vIOumrO2EtCDtg4DsnoUg7KCV7J2YXG4gICAgICAgICAgICBjb25zdCByZXR1cm5UeXBlRGVmID0gYXBpUGFyYW1UeXBlVG9Uc1R5cGUoXG4gICAgICAgICAgICAgIHVud3JhcFByb21pc2VPbmNlKGFwaS5yZXR1cm5UeXBlKSxcbiAgICAgICAgICAgICAgaW1wb3J0S2V5c1xuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLy8g7Y6Y7J2066Gc65OcIOuNsOydtO2EsCDsoJXsnZhcbiAgICAgICAgICAgIGNvbnN0IHBheWxvYWREZWYgPSBgeyAke3BhcmFtc1dpdGhvdXRDb250ZXh0XG4gICAgICAgICAgICAgIC5tYXAoKHBhcmFtKSA9PiBwYXJhbS5uYW1lKVxuICAgICAgICAgICAgICAuam9pbihcIiwgXCIpfSB9YDtcblxuICAgICAgICAgICAgLy8g6riw67O4IFVSTFxuICAgICAgICAgICAgY29uc3QgYXBpQmFzZVVybCA9IGAke1NvbmFtdS5jb25maWcuYXBpLnJvdXRlLnByZWZpeH0ke2FwaS5wYXRofWA7XG5cbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgIC8vIO2BtOudvOydtOyWuO2KuOuzhOuhnCDsg53shLFcbiAgICAgICAgICAgICAgLi4uXy5zb3J0QnkoYXBpLm9wdGlvbnMuY2xpZW50cywgKGNsaWVudCkgPT5cbiAgICAgICAgICAgICAgICBjbGllbnQgPT09IFwic3dyXCIgPyAwIDogMVxuICAgICAgICAgICAgICApLm1hcCgoY2xpZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgc3dpdGNoIChjbGllbnQpIHtcbiAgICAgICAgICAgICAgICAgIGNhc2UgXCJheGlvc1wiOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZW5kZXJBeGlvcyhcbiAgICAgICAgICAgICAgICAgICAgICBhcGksXG4gICAgICAgICAgICAgICAgICAgICAgYXBpQmFzZVVybCxcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlUGFyYW1zRGVmLFxuICAgICAgICAgICAgICAgICAgICAgIHBhcmFtc0RlZixcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm5UeXBlRGVmLFxuICAgICAgICAgICAgICAgICAgICAgIHBheWxvYWREZWZcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIGNhc2UgXCJheGlvcy1tdWx0aXBhcnRcIjpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVuZGVyQXhpb3NNdWx0aXBhcnQoXG4gICAgICAgICAgICAgICAgICAgICAgYXBpLFxuICAgICAgICAgICAgICAgICAgICAgIGFwaUJhc2VVcmwsXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZVBhcmFtc0RlZixcbiAgICAgICAgICAgICAgICAgICAgICBwYXJhbXNEZWYsXG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuVHlwZURlZixcbiAgICAgICAgICAgICAgICAgICAgICBwYXJhbXNXaXRob3V0Q29udGV4dFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgY2FzZSBcInN3clwiOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZW5kZXJTd3IoXG4gICAgICAgICAgICAgICAgICAgICAgYXBpLFxuICAgICAgICAgICAgICAgICAgICAgIGFwaUJhc2VVcmwsXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZVBhcmFtc0RlZixcbiAgICAgICAgICAgICAgICAgICAgICBwYXJhbXNEZWYsXG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuVHlwZURlZixcbiAgICAgICAgICAgICAgICAgICAgICBwYXlsb2FkRGVmXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICBjYXNlIFwid2luZG93LWZldGNoXCI6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJlbmRlcldpbmRvd0ZldGNoKFxuICAgICAgICAgICAgICAgICAgICAgIGFwaSxcbiAgICAgICAgICAgICAgICAgICAgICBhcGlCYXNlVXJsLFxuICAgICAgICAgICAgICAgICAgICAgIHR5cGVQYXJhbXNEZWYsXG4gICAgICAgICAgICAgICAgICAgICAgcGFyYW1zRGVmLFxuICAgICAgICAgICAgICAgICAgICAgIHBheWxvYWREZWZcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgLy8gTm90IHN1cHBvcnRlZCAke2luZmxlY3Rpb24uY2FtZWxpemUoY2xpZW50LCB0cnVlKX0geWV0LmA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgLy8g7Iqk7Yq466as67CN7J24IOqyveyasFxuICAgICAgICAgICAgICAuLi4oYXBpLnN0cmVhbU9wdGlvbnNcbiAgICAgICAgICAgICAgICA/IFt0aGlzLnJlbmRlclN0cmVhbShhcGksIGFwaUJhc2VVcmwsIHBhcmFtc0RlZkFzT2JqZWN0KV1cbiAgICAgICAgICAgICAgICA6IFtdKSxcbiAgICAgICAgICAgIF0uam9pbihcIlxcblwiKTtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5qb2luKFwiXFxuXFxuXCIpO1xuXG4gICAgICAgIHJldHVybiBgZXhwb3J0IG5hbWVzcGFjZSAke21vZGVsTmFtZS5yZXBsYWNlKC9Nb2RlbCQvLCBcIlNlcnZpY2VcIikucmVwbGFjZSgvRnJhbWUkLywgXCJTZXJ2aWNlXCIpfSB7XG4ke21ldGhvZENvZGVzfVxufWA7XG4gICAgICB9KVxuICAgICAgLmpvaW4oXCJcXG5cXG5cIik7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbGluZXM6IFtib2R5XSxcbiAgICAgIGltcG9ydEtleXM6IF8uZGlmZmVyZW5jZShfLnVuaXEoaW1wb3J0S2V5cyksIHR5cGVQYXJhbU5hbWVzKSxcbiAgICB9O1xuICB9XG5cbiAgcmVuZGVyQXhpb3MoXG4gICAgYXBpOiBFeHRlbmRlZEFwaSxcbiAgICBhcGlCYXNlVXJsOiBzdHJpbmcsXG4gICAgdHlwZVBhcmFtc0RlZjogc3RyaW5nLFxuICAgIHBhcmFtc0RlZjogc3RyaW5nLFxuICAgIHJldHVyblR5cGVEZWY6IHN0cmluZyxcbiAgICBwYXlsb2FkRGVmOiBzdHJpbmdcbiAgKSB7XG4gICAgY29uc3QgbWV0aG9kTmFtZUF4aW9zID0gYXBpLm9wdGlvbnMucmVzb3VyY2VOYW1lXG4gICAgICA/IFwiZ2V0XCIgKyBpbmZsZWN0aW9uLmNhbWVsaXplKGFwaS5vcHRpb25zLnJlc291cmNlTmFtZSlcbiAgICAgIDogYXBpLm1ldGhvZE5hbWU7XG5cbiAgICBpZiAoYXBpLm9wdGlvbnMuaHR0cE1ldGhvZCA9PT0gXCJHRVRcIikge1xuICAgICAgcmV0dXJuIGBcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiAke21ldGhvZE5hbWVBeGlvc30ke3R5cGVQYXJhbXNEZWZ9KCR7cGFyYW1zRGVmfSk6IFByb21pc2U8JHtyZXR1cm5UeXBlRGVmfT4ge1xuICAgIHJldHVybiBmZXRjaCh7XG4gICAgICBtZXRob2Q6IFwiR0VUXCIsXG4gICAgICB1cmw6IFxcYCR7YXBpQmFzZVVybH0/XFwke3FzLnN0cmluZ2lmeSgke3BheWxvYWREZWZ9KX1cXGAsXG4gICAgICAke2FwaS5vcHRpb25zLnRpbWVvdXQgPyBgc2lnbmFsOiBBYm9ydFNpZ25hbC50aW1lb3V0KCR7YXBpLm9wdGlvbnMudGltZW91dH0pLGAgOiBcIlwifVxuICAgIH0pO1xufVxuICAgIGAudHJpbSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYFxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uICR7bWV0aG9kTmFtZUF4aW9zfSR7dHlwZVBhcmFtc0RlZn0oJHtwYXJhbXNEZWZ9KTogUHJvbWlzZTwke3JldHVyblR5cGVEZWZ9PiB7XG4gICAgcmV0dXJuIGZldGNoKHtcbiAgICAgIG1ldGhvZDogJyR7YXBpLm9wdGlvbnMuaHR0cE1ldGhvZH0nLFxuICAgICAgdXJsOiBcXGAke2FwaUJhc2VVcmx9XFxgLFxuICAgICAgZGF0YTogJHtwYXlsb2FkRGVmfSxcbiAgICAgICR7YXBpLm9wdGlvbnMudGltZW91dCA/IGBzaWduYWw6IEFib3J0U2lnbmFsLnRpbWVvdXQoJHthcGkub3B0aW9ucy50aW1lb3V0fSksYCA6IFwiXCJ9XG4gICAgfSk7XG59XG4gICAgICBgLnRyaW0oKTtcbiAgICB9XG4gIH1cblxuICByZW5kZXJBeGlvc011bHRpcGFydChcbiAgICBhcGk6IEV4dGVuZGVkQXBpLFxuICAgIGFwaUJhc2VVcmw6IHN0cmluZyxcbiAgICB0eXBlUGFyYW1zRGVmOiBzdHJpbmcsXG4gICAgcGFyYW1zRGVmOiBzdHJpbmcsXG4gICAgcmV0dXJuVHlwZURlZjogc3RyaW5nLFxuICAgIHBhcmFtc1dpdGhvdXRDb250ZXh0OiBBcGlQYXJhbVtdXG4gICkge1xuICAgIGNvbnN0IGlzTXVsdGlwbGUgPSBhcGkudXBsb2FkT3B0aW9ucz8ubW9kZSA9PT0gXCJtdWx0aXBsZVwiO1xuICAgIGNvbnN0IGZpbGVQYXJhbU5hbWUgPSBpc011bHRpcGxlID8gXCJmaWxlc1wiIDogXCJmaWxlXCI7XG4gICAgY29uc3QgZmlsZVBhcmFtVHlwZSA9IGlzTXVsdGlwbGUgPyBcIkZpbGVbXVwiIDogXCJGaWxlXCI7XG5cbiAgICBjb25zdCBmb3JtRGF0YURlZiA9IGlzTXVsdGlwbGVcbiAgICAgID8gW1xuICAgICAgICAgIGAke2ZpbGVQYXJhbU5hbWV9LmZvckVhY2goZiA9PiBmb3JtRGF0YS5hcHBlbmQoXCIke2ZpbGVQYXJhbU5hbWV9XCIsIGYpKTtgLFxuICAgICAgICAgIC4uLnBhcmFtc1dpdGhvdXRDb250ZXh0Lm1hcChcbiAgICAgICAgICAgIChwYXJhbSkgPT5cbiAgICAgICAgICAgICAgYGZvcm1EYXRhLmFwcGVuZCgnJHtwYXJhbS5uYW1lfScsIFN0cmluZygke3BhcmFtLm5hbWV9KSk7YFxuICAgICAgICAgICksXG4gICAgICAgIF0uam9pbihcIlxcblwiKVxuICAgICAgOiBbXG4gICAgICAgICAgYGZvcm1EYXRhLmFwcGVuZChcIiR7ZmlsZVBhcmFtTmFtZX1cIiwgJHtmaWxlUGFyYW1OYW1lfSk7YCxcbiAgICAgICAgICAuLi5wYXJhbXNXaXRob3V0Q29udGV4dC5tYXAoXG4gICAgICAgICAgICAocGFyYW0pID0+XG4gICAgICAgICAgICAgIGBmb3JtRGF0YS5hcHBlbmQoJyR7cGFyYW0ubmFtZX0nLCBTdHJpbmcoJHtwYXJhbS5uYW1lfSkpO2BcbiAgICAgICAgICApLFxuICAgICAgICBdLmpvaW4oXCJcXG5cIik7XG5cbiAgICBjb25zdCBwYXJhbXNEZWZDb21tYSA9IHBhcmFtc0RlZiAhPT0gXCJcIiA/IFwiLCBcIiA6IFwiXCI7XG4gICAgcmV0dXJuIGBcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiAke2FwaS5tZXRob2ROYW1lfSR7dHlwZVBhcmFtc0RlZn0oXG4gICR7cGFyYW1zRGVmfSR7cGFyYW1zRGVmQ29tbWF9XG4gICR7ZmlsZVBhcmFtTmFtZX06ICR7ZmlsZVBhcmFtVHlwZX0sXG4gIG9uVXBsb2FkUHJvZ3Jlc3M/OiAocGU6QXhpb3NQcm9ncmVzc0V2ZW50KSA9PiB2b2lkXG4gICk6IFByb21pc2U8JHtyZXR1cm5UeXBlRGVmfT4ge1xuICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgJHtmb3JtRGF0YURlZn1cbiAgICByZXR1cm4gZmV0Y2goe1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICB1cmw6IFxcYCR7YXBpQmFzZVVybH1cXGAsXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwibXVsdGlwYXJ0L2Zvcm0tZGF0YVwiLFxuICAgICAgfSxcbiAgICAgIG9uVXBsb2FkUHJvZ3Jlc3MsXG4gICAgICBkYXRhOiBmb3JtRGF0YSxcbiAgICAgICR7YXBpLm9wdGlvbnMudGltZW91dCA/IGBzaWduYWw6IEFib3J0U2lnbmFsLnRpbWVvdXQoJHthcGkub3B0aW9ucy50aW1lb3V0fSksYCA6IFwiXCJ9XG4gICAgfSk7XG4gIH1cbiAgYC50cmltKCk7XG4gIH1cblxuICByZW5kZXJTd3IoXG4gICAgYXBpOiBFeHRlbmRlZEFwaSxcbiAgICBhcGlCYXNlVXJsOiBzdHJpbmcsXG4gICAgdHlwZVBhcmFtc0RlZjogc3RyaW5nLFxuICAgIHBhcmFtc0RlZjogc3RyaW5nLFxuICAgIHJldHVyblR5cGVEZWY6IHN0cmluZyxcbiAgICBwYXlsb2FkRGVmOiBzdHJpbmdcbiAgKSB7XG4gICAgY29uc3QgbWV0aG9kTmFtZVN3ciA9IGFwaS5vcHRpb25zLnJlc291cmNlTmFtZVxuICAgICAgPyBcInVzZVwiICsgaW5mbGVjdGlvbi5jYW1lbGl6ZShhcGkub3B0aW9ucy5yZXNvdXJjZU5hbWUpXG4gICAgICA6IFwidXNlXCIgKyBpbmZsZWN0aW9uLmNhbWVsaXplKGFwaS5tZXRob2ROYW1lKTtcbiAgICByZXR1cm4gYCAgZXhwb3J0IGZ1bmN0aW9uICR7aW5mbGVjdGlvbi5jYW1lbGl6ZShcbiAgICAgIG1ldGhvZE5hbWVTd3IsXG4gICAgICB0cnVlXG4gICAgKX0ke3R5cGVQYXJhbXNEZWZ9KCR7W3BhcmFtc0RlZiwgXCJzd3JPcHRpb25zPzogU3dyT3B0aW9uc1wiXVxuICAgICAgLmZpbHRlcigocCkgPT4gcCAhPT0gXCJcIilcbiAgICAgIC5qb2luKFwiLFwiKX0sICk6IFNXUlJlc3BvbnNlPCR7cmV0dXJuVHlwZURlZn0sIFNXUkVycm9yPiB7XG4gICAgcmV0dXJuIHVzZVNXUihoYW5kbGVDb25kaXRpb25hbChbXG4gICAgICBcXGAke2FwaUJhc2VVcmx9XFxgLFxuICAgICAgJHtwYXlsb2FkRGVmfSxcbiAgICBdLCBzd3JPcHRpb25zPy5jb25kaXRpb25hbCkke1xuICAgICAgYXBpLm9wdGlvbnMuaHR0cE1ldGhvZCA9PT0gXCJQT1NUXCIgPyBcIiwgc3dyUG9zdEZldGNoZXJcIiA6IFwiXCJcbiAgICB9JHtcbiAgICAgIGFwaS5vcHRpb25zLnRpbWVvdXQgPyBgLCB7IGxvYWRpbmdUaW1lb3V0OiAke2FwaS5vcHRpb25zLnRpbWVvdXR9IH1gIDogXCJcIlxuICAgIH0pO1xuICB9YDtcbiAgfVxuXG4gIHJlbmRlcldpbmRvd0ZldGNoKFxuICAgIGFwaTogRXh0ZW5kZWRBcGksXG4gICAgYXBpQmFzZVVybDogc3RyaW5nLFxuICAgIHR5cGVQYXJhbXNEZWY6IHN0cmluZyxcbiAgICBwYXJhbXNEZWY6IHN0cmluZyxcbiAgICBwYXlsb2FkRGVmOiBzdHJpbmdcbiAgKSB7XG4gICAgcmV0dXJuIGBcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiAke2FwaS5tZXRob2ROYW1lfSR7dHlwZVBhcmFtc0RlZn0oJHtwYXJhbXNEZWZ9KTogUHJvbWlzZTxSZXNwb25zZT4ge1xuICAgIHJldHVybiB3aW5kb3cuZmV0Y2goXFxgJHthcGlCYXNlVXJsfT9cXCR7cXMuc3RyaW5naWZ5KCR7cGF5bG9hZERlZn0pfVxcYCR7XG4gICAgICBhcGkub3B0aW9ucy50aW1lb3V0XG4gICAgICAgID8gYCwgeyBzaWduYWw6IEFib3J0U2lnbmFsLnRpbWVvdXQoJHthcGkub3B0aW9ucy50aW1lb3V0fSkgfWBcbiAgICAgICAgOiBcIlwiXG4gICAgfSk7XG59XG4gICAgYC50cmltKCk7XG4gIH1cblxuICByZW5kZXJTdHJlYW0oXG4gICAgYXBpOiBFeHRlbmRlZEFwaSxcbiAgICBhcGlCYXNlVXJsOiBzdHJpbmcsXG4gICAgcGFyYW1zRGVmQXNPYmplY3Q6IHN0cmluZ1xuICApIHtcbiAgICBpZiAoIWFwaS5zdHJlYW1PcHRpb25zKSB7XG4gICAgICByZXR1cm4gXCIvLyBzdHJlYW1PcHRpb25zIG5vdCBmb3VuZFwiO1xuICAgIH1cblxuICAgIGNvbnN0IG1ldGhvZE5hbWVTdHJlYW0gPSBhcGkub3B0aW9ucy5yZXNvdXJjZU5hbWVcbiAgICAgID8gXCJ1c2VcIiArIGluZmxlY3Rpb24uY2FtZWxpemUoYXBpLm9wdGlvbnMucmVzb3VyY2VOYW1lKVxuICAgICAgOiBcInVzZVwiICsgaW5mbGVjdGlvbi5jYW1lbGl6ZShhcGkubWV0aG9kTmFtZSk7XG4gICAgY29uc3QgbWV0aG9kTmFtZVN0cmVhbUNhbWVsaXplZCA9IGluZmxlY3Rpb24uY2FtZWxpemUoXG4gICAgICBtZXRob2ROYW1lU3RyZWFtLFxuICAgICAgdHJ1ZVxuICAgICk7XG5cbiAgICBjb25zdCBldmVudHNUeXBlRGVmID0gem9kVHlwZVRvVHNUeXBlRGVmKGFwaS5zdHJlYW1PcHRpb25zLmV2ZW50cyk7XG5cbiAgICByZXR1cm4gYCAgZXhwb3J0IGZ1bmN0aW9uICR7bWV0aG9kTmFtZVN0cmVhbUNhbWVsaXplZH0oXG4gIHBhcmFtczogJHtwYXJhbXNEZWZBc09iamVjdH0sXG4gIGhhbmRsZXJzOiBFdmVudEhhbmRsZXJzPCR7ZXZlbnRzVHlwZURlZn0gJiB7IGVuZD86ICgpID0+IHZvaWQgfT4sXG4gIG9wdGlvbnM6IFNTRVN0cmVhbU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdXNlU1NFU3RyZWFtPCR7ZXZlbnRzVHlwZURlZn0+KFxcYCR7YXBpQmFzZVVybH1cXGAsIHBhcmFtcywgaGFuZGxlcnMsIG9wdGlvbnMpO1xuICB9YDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbImluZmxlY3Rpb24iLCJfIiwiQXBpUGFyYW1UeXBlIiwiYXBpUGFyYW1UeXBlVG9Uc1R5cGUiLCJhcGlQYXJhbVRvVHNDb2RlIiwidW53cmFwUHJvbWlzZU9uY2UiLCJ6b2RUeXBlVG9Uc1R5cGVEZWYiLCJhcGlQYXJhbVRvVHNDb2RlQXNPYmplY3QiLCJUZW1wbGF0ZSIsIlNvbmFtdSIsIlRlbXBsYXRlX19zZXJ2aWNlIiwiZ2V0VGFyZ2V0QW5kUGF0aCIsIm5hbWVzIiwidGFyZ2V0IiwicGF0aCIsImZzIiwicmVuZGVyIiwibmFtZXNSZWNvcmQiLCJzeW5jZXIiLCJhcGlzIiwiYXBpc0ZvclRoaXNNb2RlbCIsImZpbHRlciIsImFwaSIsIm1vZGVsTmFtZSIsImNhcGl0YWwiLCJsaW5lcyIsImltcG9ydEtleXMiLCJnZXRUeXBlU291cmNlIiwiaGFzQXhpb3NQcm9ncmVzc0V2ZW50IiwiZmluZCIsIm9wdGlvbnMiLCJjbGllbnRzIiwiaW5jbHVkZXMiLCJib2R5Iiwiam9pbiIsImtleSIsImN1c3RvbUhlYWRlcnMiLCJ0eXBlUGFyYW1OYW1lcyIsImdyb3VwcyIsImdyb3VwQnkiLCJPYmplY3QiLCJrZXlzIiwibWFwIiwibWV0aG9kcyIsIm1ldGhvZENvZGVzIiwicGFyYW1zV2l0aG91dENvbnRleHQiLCJwYXJhbWV0ZXJzIiwicGFyYW0iLCJpc0NvbnRleHQiLCJ0eXBlIiwiaXNSZWZLbmV4Iiwib3B0aW9uYWwiLCJuYW1lIiwic3RhcnRzV2l0aCIsInR5cGVQYXJhbXNEZWYiLCJ0eXBlUGFyYW1ldGVycyIsInR5cGVQYXJhbSIsImNvbmNhdCIsImlkIiwicGFyYW1zRGVmIiwicGFyYW1zRGVmQXNPYmplY3QiLCJyZXR1cm5UeXBlRGVmIiwicmV0dXJuVHlwZSIsInBheWxvYWREZWYiLCJhcGlCYXNlVXJsIiwiY29uZmlnIiwicm91dGUiLCJwcmVmaXgiLCJzb3J0QnkiLCJjbGllbnQiLCJyZW5kZXJBeGlvcyIsInJlbmRlckF4aW9zTXVsdGlwYXJ0IiwicmVuZGVyU3dyIiwicmVuZGVyV2luZG93RmV0Y2giLCJjYW1lbGl6ZSIsInN0cmVhbU9wdGlvbnMiLCJyZW5kZXJTdHJlYW0iLCJyZXBsYWNlIiwiZGlmZmVyZW5jZSIsInVuaXEiLCJtZXRob2ROYW1lQXhpb3MiLCJyZXNvdXJjZU5hbWUiLCJtZXRob2ROYW1lIiwiaHR0cE1ldGhvZCIsInRpbWVvdXQiLCJ0cmltIiwiaXNNdWx0aXBsZSIsInVwbG9hZE9wdGlvbnMiLCJtb2RlIiwiZmlsZVBhcmFtTmFtZSIsImZpbGVQYXJhbVR5cGUiLCJmb3JtRGF0YURlZiIsInBhcmFtc0RlZkNvbW1hIiwibWV0aG9kTmFtZVN3ciIsInAiLCJtZXRob2ROYW1lU3RyZWFtIiwibWV0aG9kTmFtZVN0cmVhbUNhbWVsaXplZCIsImV2ZW50c1R5cGVEZWYiLCJldmVudHMiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLGdCQUFnQixhQUFhO0FBQ3BDLFlBQVlDLE9BQU8sWUFBWTtBQUcvQixTQUFTQyxZQUFZLFFBQWtCLHVCQUFvQjtBQUMzRCxTQUNFQyxvQkFBb0IsRUFDcEJDLGdCQUFnQixFQUNoQkMsaUJBQWlCLEVBQ2pCQyxrQkFBa0IsRUFDbEJDLHdCQUF3QixRQUNuQiwrQkFBNEI7QUFFbkMsU0FBU0MsUUFBUSxRQUFRLGlCQUFjO0FBQ3ZDLFNBQVNDLE1BQU0sUUFBUSxzQkFBbUI7QUFFMUMsT0FBTyxNQUFNQywwQkFBMEJGO0lBQ3JDLGFBQWM7UUFDWixLQUFLLENBQUM7SUFDUjtJQUVBRyxpQkFBaUJDLEtBQXdCLEVBQUU7UUFDekMsT0FBTztZQUNMQyxRQUFRO1lBQ1JDLE1BQU0sR0FBR0YsTUFBTUcsRUFBRSxDQUFDLENBQUMsRUFBRUgsTUFBTUcsRUFBRSxDQUFDLFdBQVcsQ0FBQztRQUM1QztJQUNGO0lBRUFDLE9BQU8sRUFBRUMsV0FBVyxFQUE4QixFQUFFO1FBQ2xELE1BQU0sRUFDSkMsUUFBUSxFQUFFQyxJQUFJLEVBQUUsRUFDakIsR0FBR1Y7UUFFSixNQUFNVyxtQkFBbUJELEtBQUtFLE1BQU0sQ0FDbEMsQ0FBQ0MsTUFBUUEsSUFBSUMsU0FBUyxLQUFLLEdBQUdOLFlBQVlPLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFHMUQsaUJBQWlCO1FBQ2pCLE1BQU0sRUFBRUMsS0FBSyxFQUFFQyxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUNDLGFBQWEsQ0FBQ1A7UUFFakQsNEJBQTRCO1FBQzVCLE1BQU1RLHdCQUF3QlQsS0FBS1UsSUFBSSxDQUFDLENBQUNQLE1BQ3ZDLEFBQUNBLENBQUFBLElBQUlRLE9BQU8sQ0FBQ0MsT0FBTyxJQUFJLEVBQUUsQUFBRCxFQUFHQyxRQUFR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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { TemplateOptions } from "
|
|
2
|
-
import { EntityNamesRecord } from "
|
|
3
|
-
import { Template } from "
|
|
1
|
+
import { TemplateOptions } from "../../types/types";
|
|
2
|
+
import { EntityNamesRecord } from "../../entity/entity-manager";
|
|
3
|
+
import { Template } from "../template";
|
|
4
4
|
export declare class Template__view_enums_buttonset extends Template {
|
|
5
5
|
constructor();
|
|
6
6
|
getTargetAndPath(names: EntityNamesRecord, componentId: string): {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view_enums_buttonset.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/view_enums_buttonset.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAiB,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,8BAA+B,SAAQ,QAAQ;;IAK1D,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM;;;;IAO9D,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,eAAe,CAAC,sBAAsB,CAAC;;;;;;CAiBrE"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { EntityManager } from "../../entity/entity-manager.js";
|
|
2
|
+
import { Template } from "../template.js";
|
|
3
|
+
export class Template__view_enums_buttonset extends Template {
|
|
4
|
+
constructor(){
|
|
5
|
+
super("view_enums_buttonset");
|
|
6
|
+
}
|
|
7
|
+
getTargetAndPath(names, componentId) {
|
|
8
|
+
return {
|
|
9
|
+
target: "web/src/components",
|
|
10
|
+
path: `${names.fs}/${componentId}ButtonSet.tsx`
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
render({ entityId, enumId }) {
|
|
14
|
+
const names = EntityManager.getNamesFromId(entityId);
|
|
15
|
+
return {
|
|
16
|
+
...this.getTargetAndPath(names, enumId),
|
|
17
|
+
body: `
|
|
18
|
+
/*
|
|
19
|
+
view_enums_buttonset
|
|
20
|
+
${JSON.stringify({
|
|
21
|
+
key: this.key,
|
|
22
|
+
options: entityId
|
|
23
|
+
})}
|
|
24
|
+
*/
|
|
25
|
+
`.trim(),
|
|
26
|
+
importKeys: []
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvdmlld19lbnVtc19idXR0b25zZXQudGVtcGxhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVPcHRpb25zIH0gZnJvbSBcIi4uLy4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBFbnRpdHlNYW5hZ2VyLCBFbnRpdHlOYW1lc1JlY29yZCB9IGZyb20gXCIuLi8uLi9lbnRpdHkvZW50aXR5LW1hbmFnZXJcIjtcbmltcG9ydCB7IFRlbXBsYXRlIH0gZnJvbSBcIi4uL3RlbXBsYXRlXCI7XG5cbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZV9fdmlld19lbnVtc19idXR0b25zZXQgZXh0ZW5kcyBUZW1wbGF0ZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFwidmlld19lbnVtc19idXR0b25zZXRcIik7XG4gIH1cblxuICBnZXRUYXJnZXRBbmRQYXRoKG5hbWVzOiBFbnRpdHlOYW1lc1JlY29yZCwgY29tcG9uZW50SWQ6IHN0cmluZykge1xuICAgIHJldHVybiB7XG4gICAgICB0YXJnZXQ6IFwid2ViL3NyYy9jb21wb25lbnRzXCIsXG4gICAgICBwYXRoOiBgJHtuYW1lcy5mc30vJHtjb21wb25lbnRJZH1CdXR0b25TZXQudHN4YCxcbiAgICB9O1xuICB9XG5cbiAgcmVuZGVyKHsgZW50aXR5SWQsIGVudW1JZCB9OiBUZW1wbGF0ZU9wdGlvbnNbXCJ2aWV3X2VudW1zX2J1dHRvbnNldFwiXSkge1xuICAgIGNvbnN0IG5hbWVzID0gRW50aXR5TWFuYWdlci5nZXROYW1lc0Zyb21JZChlbnRpdHlJZCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4udGhpcy5nZXRUYXJnZXRBbmRQYXRoKG5hbWVzLCBlbnVtSWQpLFxuICAgICAgYm9keTogYFxuLypcbnZpZXdfZW51bXNfYnV0dG9uc2V0XG4ke0pTT04uc3RyaW5naWZ5KHtcbiAga2V5OiB0aGlzLmtleSxcbiAgb3B0aW9uczogZW50aXR5SWQsXG59KX1cbiovXG4gICAgICBgLnRyaW0oKSxcbiAgICAgIGltcG9ydEtleXM6IFtdLFxuICAgIH07XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJFbnRpdHlNYW5hZ2VyIiwiVGVtcGxhdGUiLCJUZW1wbGF0ZV9fdmlld19lbnVtc19idXR0b25zZXQiLCJnZXRUYXJnZXRBbmRQYXRoIiwibmFtZXMiLCJjb21wb25lbnRJZCIsInRhcmdldCIsInBhdGgiLCJmcyIsInJlbmRlciIsImVudGl0eUlkIiwiZW51bUlkIiwiZ2V0TmFtZXNGcm9tSWQiLCJib2R5IiwiSlNPTiIsInN0cmluZ2lmeSIsImtleSIsIm9wdGlvbnMiLCJ0cmltIiwiaW1wb3J0S2V5cyJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EsYUFBYSxRQUEyQixpQ0FBOEI7QUFDL0UsU0FBU0MsUUFBUSxRQUFRLGlCQUFjO0FBRXZDLE9BQU8sTUFBTUMsdUNBQXVDRDtJQUNsRCxhQUFjO1FBQ1osS0FBSyxDQUFDO0lBQ1I7SUFFQUUsaUJBQWlCQyxLQUF3QixFQUFFQyxXQUFtQixFQUFFO1FBQzlELE9BQU87WUFDTEMsUUFBUTtZQUNSQyxNQUFNLEdBQUdILE1BQU1JLEVBQUUsQ0FBQyxDQUFDLEVBQUVILFlBQVksYUFBYSxDQUFDO1FBQ2pEO0lBQ0Y7SUFFQUksT0FBTyxFQUFFQyxRQUFRLEVBQUVDLE1BQU0sRUFBMkMsRUFBRTtRQUNwRSxNQUFNUCxRQUFRSixjQUFjWSxjQUFjLENBQUNGO1FBRTNDLE9BQU87WUFDTCxHQUFHLElBQUksQ0FBQ1AsZ0JBQWdCLENBQUNDLE9BQU9PLE9BQU87WUFDdkNFLE1BQU0sQ0FBQzs7O0FBR2IsRUFBRUMsS0FBS0MsU0FBUyxDQUFDO2dCQUNmQyxLQUFLLElBQUksQ0FBQ0EsR0FBRztnQkFDYkMsU0FBU1A7WUFDWCxHQUFHOztNQUVHLENBQUMsQ0FBQ1EsSUFBSTtZQUNOQyxZQUFZLEVBQUU7UUFDaEI7SUFDRjtBQUNGIn0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { TemplateOptions } from "
|
|
2
|
-
import { EntityNamesRecord } from "
|
|
3
|
-
import { Template } from "
|
|
1
|
+
import { TemplateOptions } from "../../types/types";
|
|
2
|
+
import { EntityNamesRecord } from "../../entity/entity-manager";
|
|
3
|
+
import { Template } from "../template";
|
|
4
4
|
export declare class Template__view_enums_dropdown extends Template {
|
|
5
5
|
constructor();
|
|
6
6
|
getTargetAndPath(names: EntityNamesRecord, enumId: string): {
|
|
@@ -14,5 +14,4 @@ export declare class Template__view_enums_dropdown extends Template {
|
|
|
14
14
|
path: string;
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
|
-
export declare function getLabel(entityId: string, enumId: string): string;
|
|
18
17
|
//# sourceMappingURL=view_enums_dropdown.template.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view_enums_dropdown.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/view_enums_dropdown.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAiB,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,qBAAa,6BAA8B,SAAQ,QAAQ;;IAKzD,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM;;;;IAOzD,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,eAAe,CAAC,qBAAqB,CAAC;;;;;;CAmCpE"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { EntityManager } from "../../entity/entity-manager.js";
|
|
2
|
+
import { Template } from "../template.js";
|
|
3
|
+
import { getLabel } from "../helpers.js";
|
|
4
|
+
export class Template__view_enums_dropdown extends Template {
|
|
5
|
+
constructor(){
|
|
6
|
+
super("view_enums_dropdown");
|
|
7
|
+
}
|
|
8
|
+
getTargetAndPath(names, enumId) {
|
|
9
|
+
return {
|
|
10
|
+
target: "web/src/components",
|
|
11
|
+
path: `${names.fs}/${enumId}Dropdown.tsx`
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
render({ entityId, enumId }) {
|
|
15
|
+
const names = EntityManager.getNamesFromId(entityId);
|
|
16
|
+
const label = getLabel(entityId, enumId);
|
|
17
|
+
return {
|
|
18
|
+
...this.getTargetAndPath(names, enumId),
|
|
19
|
+
body: `
|
|
20
|
+
import React from 'react';
|
|
21
|
+
import {
|
|
22
|
+
Dropdown,
|
|
23
|
+
DropdownProps,
|
|
24
|
+
} from 'semantic-ui-react';
|
|
25
|
+
|
|
26
|
+
import { ${enumId}Label } from 'src/services/sonamu.generated';
|
|
27
|
+
|
|
28
|
+
export function ${enumId}Dropdown(props: DropdownProps) {
|
|
29
|
+
const options = Object.entries(${enumId}Label).map(([key, label]) => {
|
|
30
|
+
return {
|
|
31
|
+
key,
|
|
32
|
+
value: key,
|
|
33
|
+
text: "${label}: " + label,
|
|
34
|
+
};
|
|
35
|
+
});
|
|
36
|
+
return (
|
|
37
|
+
<Dropdown
|
|
38
|
+
className="label"
|
|
39
|
+
options={options}
|
|
40
|
+
{...props}
|
|
41
|
+
/>
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
`.trim(),
|
|
45
|
+
importKeys: []
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvdmlld19lbnVtc19kcm9wZG93bi50ZW1wbGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZU9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCB7IEVudGl0eU1hbmFnZXIsIEVudGl0eU5hbWVzUmVjb3JkIH0gZnJvbSBcIi4uLy4uL2VudGl0eS9lbnRpdHktbWFuYWdlclwiO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tIFwiLi4vdGVtcGxhdGVcIjtcbmltcG9ydCB7IGdldExhYmVsIH0gZnJvbSBcIi4uL2hlbHBlcnNcIjtcblxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlX192aWV3X2VudW1zX2Ryb3Bkb3duIGV4dGVuZHMgVGVtcGxhdGUge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihcInZpZXdfZW51bXNfZHJvcGRvd25cIik7XG4gIH1cblxuICBnZXRUYXJnZXRBbmRQYXRoKG5hbWVzOiBFbnRpdHlOYW1lc1JlY29yZCwgZW51bUlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGFyZ2V0OiBcIndlYi9zcmMvY29tcG9uZW50c1wiLFxuICAgICAgcGF0aDogYCR7bmFtZXMuZnN9LyR7ZW51bUlkfURyb3Bkb3duLnRzeGAsXG4gICAgfTtcbiAgfVxuXG4gIHJlbmRlcih7IGVudGl0eUlkLCBlbnVtSWQgfTogVGVtcGxhdGVPcHRpb25zW1widmlld19lbnVtc19kcm9wZG93blwiXSkge1xuICAgIGNvbnN0IG5hbWVzID0gRW50aXR5TWFuYWdlci5nZXROYW1lc0Zyb21JZChlbnRpdHlJZCk7XG4gICAgY29uc3QgbGFiZWwgPSBnZXRMYWJlbChlbnRpdHlJZCwgZW51bUlkKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLmdldFRhcmdldEFuZFBhdGgobmFtZXMsIGVudW1JZCksXG4gICAgICBib2R5OiBgXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtcbiAgRHJvcGRvd24sXG4gIERyb3Bkb3duUHJvcHMsXG59IGZyb20gJ3NlbWFudGljLXVpLXJlYWN0JztcblxuaW1wb3J0IHsgJHtlbnVtSWR9TGFiZWwgfSBmcm9tICdzcmMvc2VydmljZXMvc29uYW11LmdlbmVyYXRlZCc7XG5cbmV4cG9ydCBmdW5jdGlvbiAke2VudW1JZH1Ecm9wZG93bihwcm9wczogRHJvcGRvd25Qcm9wcykge1xuICBjb25zdCBvcHRpb25zID0gT2JqZWN0LmVudHJpZXMoJHtlbnVtSWR9TGFiZWwpLm1hcCgoW2tleSwgbGFiZWxdKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGtleSxcbiAgICAgIHZhbHVlOiBrZXksXG4gICAgICB0ZXh0OiBcIiR7bGFiZWx9OiBcIiArIGxhYmVsLFxuICAgIH07XG4gIH0pO1xuICByZXR1cm4gKFxuICAgIDxEcm9wZG93blxuICAgICAgY2xhc3NOYW1lPVwibGFiZWxcIlxuICAgICAgb3B0aW9ucz17b3B0aW9uc31cbiAgICAgIHsuLi5wcm9wc31cbiAgICAvPlxuICApO1xufVxuICAgICAgYC50cmltKCksXG4gICAgICBpbXBvcnRLZXlzOiBbXSxcbiAgICB9O1xuICB9XG59Il0sIm5hbWVzIjpbIkVudGl0eU1hbmFnZXIiLCJUZW1wbGF0ZSIsImdldExhYmVsIiwiVGVtcGxhdGVfX3ZpZXdfZW51bXNfZHJvcGRvd24iLCJnZXRUYXJnZXRBbmRQYXRoIiwibmFtZXMiLCJlbnVtSWQiLCJ0YXJnZXQiLCJwYXRoIiwiZnMiLCJyZW5kZXIiLCJlbnRpdHlJZCIsImdldE5hbWVzRnJvbUlkIiwibGFiZWwiLCJib2R5IiwidHJpbSIsImltcG9ydEtleXMiXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLGFBQWEsUUFBMkIsaUNBQThCO0FBQy9FLFNBQVNDLFFBQVEsUUFBUSxpQkFBYztBQUN2QyxTQUFTQyxRQUFRLFFBQVEsZ0JBQWE7QUFFdEMsT0FBTyxNQUFNQyxzQ0FBc0NGO0lBQ2pELGFBQWM7UUFDWixLQUFLLENBQUM7SUFDUjtJQUVBRyxpQkFBaUJDLEtBQXdCLEVBQUVDLE1BQWMsRUFBRTtRQUN6RCxPQUFPO1lBQ0xDLFFBQVE7WUFDUkMsTUFBTSxHQUFHSCxNQUFNSSxFQUFFLENBQUMsQ0FBQyxFQUFFSCxPQUFPLFlBQVksQ0FBQztRQUMzQztJQUNGO0lBRUFJLE9BQU8sRUFBRUMsUUFBUSxFQUFFTCxNQUFNLEVBQTBDLEVBQUU7UUFDbkUsTUFBTUQsUUFBUUwsY0FBY1ksY0FBYyxDQUFDRDtRQUMzQyxNQUFNRSxRQUFRWCxTQUFTUyxVQUFVTDtRQUVqQyxPQUFPO1lBQ0wsR0FBRyxJQUFJLENBQUNGLGdCQUFnQixDQUFDQyxPQUFPQyxPQUFPO1lBQ3ZDUSxNQUFNLENBQUM7Ozs7Ozs7U0FPSixFQUFFUixPQUFPOztnQkFFRixFQUFFQSxPQUFPO2lDQUNRLEVBQUVBLE9BQU87Ozs7YUFJN0IsRUFBRU8sTUFBTTs7Ozs7Ozs7Ozs7TUFXZixDQUFDLENBQUNFLElBQUk7WUFDTkMsWUFBWSxFQUFFO1FBQ2hCO0lBQ0Y7QUFDRiJ9
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { TemplateOptions } from "
|
|
2
|
-
import { EntityNamesRecord } from "
|
|
3
|
-
import { Template } from "
|
|
1
|
+
import { TemplateOptions } from "../../types/types";
|
|
2
|
+
import { EntityNamesRecord } from "../../entity/entity-manager";
|
|
3
|
+
import { Template } from "../template";
|
|
4
4
|
export declare class Template__view_enums_select extends Template {
|
|
5
5
|
constructor();
|
|
6
6
|
getTargetAndPath(names: EntityNamesRecord, enumId: string): {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view_enums_select.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/view_enums_select.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAiB,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,qBAAa,2BAA4B,SAAQ,QAAQ;;IAKvD,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM;;;;IAOzD,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,eAAe,CAAC,mBAAmB,CAAC;;;;;;CAwClE"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { EntityManager } from "../../entity/entity-manager.js";
|
|
2
|
+
import { Template } from "../template.js";
|
|
3
|
+
import { getLabel } from "../helpers.js";
|
|
4
|
+
export class Template__view_enums_select extends Template {
|
|
5
|
+
constructor(){
|
|
6
|
+
super("view_enums_select");
|
|
7
|
+
}
|
|
8
|
+
getTargetAndPath(names, enumId) {
|
|
9
|
+
return {
|
|
10
|
+
target: "web/src/components",
|
|
11
|
+
path: `${names.fs}/${enumId}Select.tsx`
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
render({ entityId, enumId }) {
|
|
15
|
+
const names = EntityManager.getNamesFromId(entityId);
|
|
16
|
+
const label = getLabel(entityId, enumId);
|
|
17
|
+
return {
|
|
18
|
+
...this.getTargetAndPath(names, enumId),
|
|
19
|
+
body: `
|
|
20
|
+
import React from 'react';
|
|
21
|
+
import {
|
|
22
|
+
Dropdown,
|
|
23
|
+
DropdownProps,
|
|
24
|
+
} from 'semantic-ui-react';
|
|
25
|
+
|
|
26
|
+
import { ${enumId}, ${enumId}Label } from 'src/services/sonamu.generated';
|
|
27
|
+
|
|
28
|
+
export type ${enumId}SelectProps = {
|
|
29
|
+
placeholder?: string;
|
|
30
|
+
textPrefix?: string;
|
|
31
|
+
} & DropdownProps;
|
|
32
|
+
export function ${enumId}Select({placeholder, textPrefix, ...props}: ${enumId}SelectProps) {
|
|
33
|
+
const typeOptions = ${enumId}.options.map((key) => ({
|
|
34
|
+
key,
|
|
35
|
+
value: key,
|
|
36
|
+
text: (textPrefix ?? '${label}: ') + ${enumId}Label[key],
|
|
37
|
+
}));
|
|
38
|
+
|
|
39
|
+
return (
|
|
40
|
+
<Dropdown
|
|
41
|
+
placeholder={placeholder ?? "${label}"}
|
|
42
|
+
selection
|
|
43
|
+
options={typeOptions}
|
|
44
|
+
selectOnBlur={false}
|
|
45
|
+
{...props}
|
|
46
|
+
/>
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
`.trim(),
|
|
50
|
+
importKeys: []
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZS9pbXBsZW1lbnRhdGlvbnMvdmlld19lbnVtc19zZWxlY3QudGVtcGxhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVPcHRpb25zIH0gZnJvbSBcIi4uLy4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBFbnRpdHlNYW5hZ2VyLCBFbnRpdHlOYW1lc1JlY29yZCB9IGZyb20gXCIuLi8uLi9lbnRpdHkvZW50aXR5LW1hbmFnZXJcIjtcbmltcG9ydCB7IFRlbXBsYXRlIH0gZnJvbSBcIi4uL3RlbXBsYXRlXCI7XG5pbXBvcnQgeyBnZXRMYWJlbCB9IGZyb20gXCIuLi9oZWxwZXJzXCI7XG5cbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZV9fdmlld19lbnVtc19zZWxlY3QgZXh0ZW5kcyBUZW1wbGF0ZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFwidmlld19lbnVtc19zZWxlY3RcIik7XG4gIH1cblxuICBnZXRUYXJnZXRBbmRQYXRoKG5hbWVzOiBFbnRpdHlOYW1lc1JlY29yZCwgZW51bUlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGFyZ2V0OiBcIndlYi9zcmMvY29tcG9uZW50c1wiLFxuICAgICAgcGF0aDogYCR7bmFtZXMuZnN9LyR7ZW51bUlkfVNlbGVjdC50c3hgLFxuICAgIH07XG4gIH1cblxuICByZW5kZXIoeyBlbnRpdHlJZCwgZW51bUlkIH06IFRlbXBsYXRlT3B0aW9uc1tcInZpZXdfZW51bXNfc2VsZWN0XCJdKSB7XG4gICAgY29uc3QgbmFtZXMgPSBFbnRpdHlNYW5hZ2VyLmdldE5hbWVzRnJvbUlkKGVudGl0eUlkKTtcbiAgICBjb25zdCBsYWJlbCA9IGdldExhYmVsKGVudGl0eUlkLCBlbnVtSWQpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRoaXMuZ2V0VGFyZ2V0QW5kUGF0aChuYW1lcywgZW51bUlkKSxcbiAgICAgIGJvZHk6IGBcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQge1xuICBEcm9wZG93bixcbiAgRHJvcGRvd25Qcm9wcyxcbn0gZnJvbSAnc2VtYW50aWMtdWktcmVhY3QnO1xuXG5pbXBvcnQgeyAke2VudW1JZH0sICR7ZW51bUlkfUxhYmVsIH0gZnJvbSAnc3JjL3NlcnZpY2VzL3NvbmFtdS5nZW5lcmF0ZWQnO1xuXG5leHBvcnQgdHlwZSAke2VudW1JZH1TZWxlY3RQcm9wcyA9IHtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIHRleHRQcmVmaXg/OiBzdHJpbmc7XG59ICYgRHJvcGRvd25Qcm9wcztcbmV4cG9ydCBmdW5jdGlvbiAke2VudW1JZH1TZWxlY3Qoe3BsYWNlaG9sZGVyLCB0ZXh0UHJlZml4LCAuLi5wcm9wc306ICR7ZW51bUlkfVNlbGVjdFByb3BzKSB7XG4gIGNvbnN0IHR5cGVPcHRpb25zID0gJHtlbnVtSWR9Lm9wdGlvbnMubWFwKChrZXkpID0+ICh7XG4gICAga2V5LFxuICAgIHZhbHVlOiBrZXksXG4gICAgdGV4dDogKHRleHRQcmVmaXggPz8gJyR7bGFiZWx9OiAnKSArICR7ZW51bUlkfUxhYmVsW2tleV0sXG4gIH0pKTtcblxuICByZXR1cm4gKFxuICAgIDxEcm9wZG93blxuICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyID8/IFwiJHtsYWJlbH1cIn1cbiAgICAgIHNlbGVjdGlvblxuICAgICAgb3B0aW9ucz17dHlwZU9wdGlvbnN9XG4gICAgICBzZWxlY3RPbkJsdXI9e2ZhbHNlfVxuICAgICAgey4uLnByb3BzfVxuICAgIC8+XG4gICk7XG59XG4gICAgICBgLnRyaW0oKSxcbiAgICAgIGltcG9ydEtleXM6IFtdLFxuICAgIH07XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJFbnRpdHlNYW5hZ2VyIiwiVGVtcGxhdGUiLCJnZXRMYWJlbCIsIlRlbXBsYXRlX192aWV3X2VudW1zX3NlbGVjdCIsImdldFRhcmdldEFuZFBhdGgiLCJuYW1lcyIsImVudW1JZCIsInRhcmdldCIsInBhdGgiLCJmcyIsInJlbmRlciIsImVudGl0eUlkIiwiZ2V0TmFtZXNGcm9tSWQiLCJsYWJlbCIsImJvZHkiLCJ0cmltIiwiaW1wb3J0S2V5cyJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EsYUFBYSxRQUEyQixpQ0FBOEI7QUFDL0UsU0FBU0MsUUFBUSxRQUFRLGlCQUFjO0FBQ3ZDLFNBQVNDLFFBQVEsUUFBUSxnQkFBYTtBQUV0QyxPQUFPLE1BQU1DLG9DQUFvQ0Y7SUFDL0MsYUFBYztRQUNaLEtBQUssQ0FBQztJQUNSO0lBRUFHLGlCQUFpQkMsS0FBd0IsRUFBRUMsTUFBYyxFQUFFO1FBQ3pELE9BQU87WUFDTEMsUUFBUTtZQUNSQyxNQUFNLEdBQUdILE1BQU1JLEVBQUUsQ0FBQyxDQUFDLEVBQUVILE9BQU8sVUFBVSxDQUFDO1FBQ3pDO0lBQ0Y7SUFFQUksT0FBTyxFQUFFQyxRQUFRLEVBQUVMLE1BQU0sRUFBd0MsRUFBRTtRQUNqRSxNQUFNRCxRQUFRTCxjQUFjWSxjQUFjLENBQUNEO1FBQzNDLE1BQU1FLFFBQVFYLFNBQVNTLFVBQVVMO1FBRWpDLE9BQU87WUFDTCxHQUFHLElBQUksQ0FBQ0YsZ0JBQWdCLENBQUNDLE9BQU9DLE9BQU87WUFDdkNRLE1BQU0sQ0FBQzs7Ozs7OztTQU9KLEVBQUVSLE9BQU8sRUFBRSxFQUFFQSxPQUFPOztZQUVqQixFQUFFQSxPQUFPOzs7O2dCQUlMLEVBQUVBLE9BQU8sNENBQTRDLEVBQUVBLE9BQU87c0JBQ3hELEVBQUVBLE9BQU87OzswQkFHTCxFQUFFTyxNQUFNLE9BQU8sRUFBRVAsT0FBTzs7Ozs7bUNBS2YsRUFBRU8sTUFBTTs7Ozs7Ozs7TUFRckMsQ0FBQyxDQUFDRSxJQUFJO1lBQ05DLFlBQVksRUFBRTtRQUNoQjtJQUNGO0FBQ0YifQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { RenderingNode, TemplateKey, TemplateOptions } from "
|
|
2
|
-
import { EntityNamesRecord } from "
|
|
3
|
-
import { Template } from "
|
|
1
|
+
import { RenderingNode, TemplateKey, TemplateOptions } from "../../types/types";
|
|
2
|
+
import { EntityNamesRecord } from "../../entity/entity-manager";
|
|
3
|
+
import { Template } from "../template";
|
|
4
4
|
export declare class Template__view_form extends Template {
|
|
5
5
|
constructor();
|
|
6
6
|
getTargetAndPath(names: EntityNamesRecord): {
|
|
@@ -12,7 +12,7 @@ export declare class Template__view_form extends Template {
|
|
|
12
12
|
renderColumnImport(entityId: string, col: RenderingNode): string;
|
|
13
13
|
renderColumn(entityId: string, col: RenderingNode, names: EntityNamesRecord, parent?: string): string;
|
|
14
14
|
resolveDefaultValue(columns: RenderingNode[]): object;
|
|
15
|
-
render({ entityId }: TemplateOptions["view_form"]
|
|
15
|
+
render({ entityId }: TemplateOptions["view_form"]): Promise<{
|
|
16
16
|
body: string;
|
|
17
17
|
importKeys: never[];
|
|
18
18
|
preTemplates: {
|
|
@@ -21,6 +21,6 @@ export declare class Template__view_form extends Template {
|
|
|
21
21
|
}[];
|
|
22
22
|
target: string;
|
|
23
23
|
path: string;
|
|
24
|
-
}
|
|
24
|
+
}>;
|
|
25
25
|
}
|
|
26
26
|
//# sourceMappingURL=view_form.template.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view_form.template.d.ts","sourceRoot":"","sources":["../../../src/template/implementations/view_form.template.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAiB,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAE/E,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAKvC,qBAAa,mBAAoB,SAAQ,QAAQ;;IAK/C,gBAAgB,CAAC,KAAK,EAAE,iBAAiB;;;;IAOzC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM;IAO5C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM;IAQ5C,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa;IAyBvD,YAAY,CACV,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,iBAAiB,EACxB,MAAM,GAAE,MAAW,GAClB,MAAM;IAqET,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM;IAqC/C,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,eAAe,CAAC,WAAW,CAAC;;;;;;;;;;CA2PxD"}
|