sonamu 0.5.6 → 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 +1 -0
- 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 +5 -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.d.ts +22 -10
- package/dist/database/puri-wrapper.d.ts.map +1 -1
- package/dist/database/puri-wrapper.js +109 -2
- package/dist/database/puri.d.ts +105 -73
- package/dist/database/puri.d.ts.map +1 -1
- package/dist/database/puri.js +539 -2
- package/dist/database/puri.types.d.ts +33 -42
- package/dist/database/puri.types.d.ts.map +1 -1
- package/dist/database/puri.types.js +3 -2
- package/dist/database/transaction-context.d.ts +3 -3
- package/dist/database/transaction-context.d.ts.map +1 -1
- 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 -9
- 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 +15 -5
- package/src/api/sonamu.ts +102 -87
- 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 +53 -60
- package/src/database/puri-wrapper.ts +104 -26
- package/src/database/puri.ts +477 -580
- package/src/database/puri.types.ts +111 -201
- package/src/database/transaction-context.ts +4 -4
- 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 +29 -12
- 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 +39 -62
- 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
|
@@ -1,2 +1,114 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { glob } from "node:fs/promises";
|
|
2
|
+
import inflection from "inflection";
|
|
3
|
+
import path from "path";
|
|
4
|
+
import { Entity } from "./entity.js";
|
|
5
|
+
import { Sonamu } from "../api/sonamu.js";
|
|
6
|
+
import { readFile } from "node:fs/promises";
|
|
7
|
+
import assert from "assert";
|
|
8
|
+
class EntityManagerClass {
|
|
9
|
+
entities = new Map();
|
|
10
|
+
modulePaths = new Map();
|
|
11
|
+
tableSpecs = new Map();
|
|
12
|
+
isAutoloaded = false;
|
|
13
|
+
// 경로 전달받아 모든 entity.json 파일 로드
|
|
14
|
+
async autoload(_ = false) {
|
|
15
|
+
if (this.isAutoloaded) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const pathPattern = path.join(Sonamu.apiRootPath, "/src/application/**/*.entity.json");
|
|
19
|
+
let count = 0;
|
|
20
|
+
for await (const file of glob(path.resolve(pathPattern))){
|
|
21
|
+
await this.register(JSON.parse((await readFile(file)).toString()));
|
|
22
|
+
count++;
|
|
23
|
+
}
|
|
24
|
+
// !doSilent &&
|
|
25
|
+
// console.log(
|
|
26
|
+
// chalk.gray(
|
|
27
|
+
// `[Loading] Loaded entity definitions from "*.entity.json" files: ${count} files.`
|
|
28
|
+
// )
|
|
29
|
+
// );
|
|
30
|
+
this.isAutoloaded = true;
|
|
31
|
+
}
|
|
32
|
+
async reload(doSilent = false) {
|
|
33
|
+
this.entities.clear();
|
|
34
|
+
this.modulePaths.clear();
|
|
35
|
+
this.tableSpecs.clear();
|
|
36
|
+
this.isAutoloaded = false;
|
|
37
|
+
return await this.autoload(doSilent);
|
|
38
|
+
}
|
|
39
|
+
async register(json) {
|
|
40
|
+
const entity = new Entity(json);
|
|
41
|
+
await entity.registerModulePaths();
|
|
42
|
+
entity.registerTableSpecs();
|
|
43
|
+
this.entities.set(json.id, entity);
|
|
44
|
+
}
|
|
45
|
+
get(entityId) {
|
|
46
|
+
const entity = this.entities.get(entityId);
|
|
47
|
+
if (entity === undefined) {
|
|
48
|
+
throw new Error(`존재하지 않는 Entity 요청 ${entityId}`);
|
|
49
|
+
}
|
|
50
|
+
return entity;
|
|
51
|
+
}
|
|
52
|
+
exists(entityId) {
|
|
53
|
+
const entity = this.entities.get(entityId);
|
|
54
|
+
return entity !== undefined;
|
|
55
|
+
}
|
|
56
|
+
getAllIds() {
|
|
57
|
+
return Array.from(EntityManager.entities.keys()).sort();
|
|
58
|
+
}
|
|
59
|
+
getAllParentIds() {
|
|
60
|
+
return this.getAllIds().filter((entityId)=>{
|
|
61
|
+
const entity = this.get(entityId);
|
|
62
|
+
return entity.parentId === undefined;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
getChildrenIds(parentId) {
|
|
66
|
+
return this.getAllIds().filter((entityId)=>{
|
|
67
|
+
const entity = this.get(entityId);
|
|
68
|
+
return entity.parentId === parentId;
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
setModulePath(key, modulePath) {
|
|
72
|
+
// console.debug(chalk.cyan(`setModulePath :: ${key} :: ${modulePath}`));
|
|
73
|
+
this.modulePaths.set(key, modulePath);
|
|
74
|
+
}
|
|
75
|
+
getModulePath(key) {
|
|
76
|
+
const modulePath = this.modulePaths.get(key);
|
|
77
|
+
if (modulePath === undefined) {
|
|
78
|
+
throw new Error(`존재하지 않는 모듈 패스 요청 ${key}`);
|
|
79
|
+
}
|
|
80
|
+
return modulePath;
|
|
81
|
+
}
|
|
82
|
+
setTableSpec(tableSpec) {
|
|
83
|
+
this.tableSpecs.set(tableSpec.name, tableSpec);
|
|
84
|
+
}
|
|
85
|
+
getTableSpec(key) {
|
|
86
|
+
const tableSpec = this.tableSpecs.get(key);
|
|
87
|
+
if (tableSpec === undefined) {
|
|
88
|
+
throw new Error(`존재하지 않는 테이블 스펙 요청 ${key}`);
|
|
89
|
+
}
|
|
90
|
+
return tableSpec;
|
|
91
|
+
}
|
|
92
|
+
getNamesFromId(entityId) {
|
|
93
|
+
// entityId가 단복수 동형 단어인 경우 List 붙여서 생성
|
|
94
|
+
const pluralized = inflection.pluralize(entityId) === entityId ? `${entityId}List` : inflection.pluralize(entityId);
|
|
95
|
+
return {
|
|
96
|
+
fs: inflection.dasherize(inflection.underscore(entityId)).toLowerCase(),
|
|
97
|
+
fsPlural: inflection.dasherize(inflection.underscore(pluralized)).toLowerCase(),
|
|
98
|
+
camel: inflection.camelize(entityId, true),
|
|
99
|
+
camelPlural: inflection.camelize(pluralized, true),
|
|
100
|
+
capital: entityId,
|
|
101
|
+
capitalPlural: pluralized,
|
|
102
|
+
upper: entityId.toUpperCase(),
|
|
103
|
+
constant: inflection.underscore(entityId).toUpperCase()
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
getEntityIdFromPath(filePath) {
|
|
107
|
+
const matched = filePath.match(/application\/(.+)\//);
|
|
108
|
+
assert(matched?.[1]);
|
|
109
|
+
return inflection.camelize(matched[1].replace(/\-/g, "_"));
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
export const EntityManager = new EntityManagerClass();
|
|
113
|
+
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbnRpdHkvZW50aXR5LW1hbmFnZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2xvYiB9IGZyb20gXCJmcy9wcm9taXNlc1wiO1xuaW1wb3J0IGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIjtcbmltcG9ydCAqIGFzIF8gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IEVudGl0eSB9IGZyb20gXCIuL2VudGl0eVwiO1xuaW1wb3J0IHsgRW50aXR5SnNvbiB9IGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHsgU29uYW11IH0gZnJvbSBcIi4uL2FwaS9zb25hbXVcIjtcbmltcG9ydCB7IHJlYWRGaWxlIH0gZnJvbSBcImZzL3Byb21pc2VzXCI7XG5pbXBvcnQgeyBBYnNvbHV0ZVBhdGggfSBmcm9tIFwiLi4vdXRpbHMvcGF0aC11dGlsc1wiO1xuaW1wb3J0IGFzc2VydCBmcm9tIFwiYXNzZXJ0XCI7XG5cbmV4cG9ydCB0eXBlIEVudGl0eU5hbWVzUmVjb3JkID0gUmVjb3JkPFxuICB8IFwiZnNcIlxuICB8IFwiZnNQbHVyYWxcIlxuICB8IFwiY2FtZWxcIlxuICB8IFwiY2FtZWxQbHVyYWxcIlxuICB8IFwiY2FwaXRhbFwiXG4gIHwgXCJjYXBpdGFsUGx1cmFsXCJcbiAgfCBcInVwcGVyXCJcbiAgfCBcImNvbnN0YW50XCIsXG4gIHN0cmluZ1xuPjtcbnR5cGUgVGFibGVTcGVjID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHVuaXF1ZUluZGV4ZXM6IHsgbmFtZT86IHN0cmluZzsgY29sdW1uczogc3RyaW5nW10gfVtdO1xufTtcbmNsYXNzIEVudGl0eU1hbmFnZXJDbGFzcyB7XG4gIHByaXZhdGUgZW50aXRpZXM6IE1hcDxzdHJpbmcsIEVudGl0eT4gPSBuZXcgTWFwKCk7XG4gIHB1YmxpYyBtb2R1bGVQYXRoczogTWFwPHN0cmluZywgc3RyaW5nPiA9IG5ldyBNYXAoKTtcbiAgcHJpdmF0ZSB0YWJsZVNwZWNzOiBNYXA8c3RyaW5nLCBUYWJsZVNwZWM+ID0gbmV3IE1hcCgpO1xuICBwdWJsaWMgaXNBdXRvbG9hZGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLy8g6rK966GcIOyghOuLrOuwm+yVhCDrqqjrk6AgZW50aXR5Lmpzb24g7YyM7J28IOuhnOuTnFxuICBhc3luYyBhdXRvbG9hZChfOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBpZiAodGhpcy5pc0F1dG9sb2FkZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcGF0aFBhdHRlcm4gPSBwYXRoLmpvaW4oXG4gICAgICBTb25hbXUuYXBpUm9vdFBhdGgsXG4gICAgICBcIi9zcmMvYXBwbGljYXRpb24vKiovKi5lbnRpdHkuanNvblwiXG4gICAgKTtcblxuICAgIGxldCBjb3VudCA9IDA7XG4gICAgZm9yIGF3YWl0IChjb25zdCBmaWxlIG9mIGdsb2IocGF0aC5yZXNvbHZlKHBhdGhQYXR0ZXJuISkpKSB7XG4gICAgICBhd2FpdCB0aGlzLnJlZ2lzdGVyKEpTT04ucGFyc2UoKGF3YWl0IHJlYWRGaWxlKGZpbGUpKS50b1N0cmluZygpKSk7XG4gICAgICBjb3VudCsrO1xuICAgIH1cbiAgICAvLyAhZG9TaWxlbnQgJiZcbiAgICAvLyAgIGNvbnNvbGUubG9nKFxuICAgIC8vICAgICBjaGFsay5ncmF5KFxuICAgIC8vICAgICAgIGBbTG9hZGluZ10gTG9hZGVkIGVudGl0eSBkZWZpbml0aW9ucyBmcm9tIFwiKi5lbnRpdHkuanNvblwiIGZpbGVzOiAke2NvdW50fSBmaWxlcy5gXG4gICAgLy8gICAgIClcbiAgICAvLyAgICk7XG5cbiAgICB0aGlzLmlzQXV0b2xvYWRlZCA9IHRydWU7XG4gIH1cblxuICBhc3luYyByZWxvYWQoZG9TaWxlbnQ6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIHRoaXMuZW50aXRpZXMuY2xlYXIoKTtcbiAgICB0aGlzLm1vZHVsZVBhdGhzLmNsZWFyKCk7XG4gICAgdGhpcy50YWJsZVNwZWNzLmNsZWFyKCk7XG4gICAgdGhpcy5pc0F1dG9sb2FkZWQgPSBmYWxzZTtcblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmF1dG9sb2FkKGRvU2lsZW50KTtcbiAgfVxuXG4gIGFzeW5jIHJlZ2lzdGVyKGpzb246IEVudGl0eUpzb24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBlbnRpdHkgPSBuZXcgRW50aXR5KGpzb24pO1xuICAgIGF3YWl0IGVudGl0eS5yZWdpc3Rlck1vZHVsZVBhdGhzKCk7XG4gICAgZW50aXR5LnJlZ2lzdGVyVGFibGVTcGVjcygpO1xuICAgIHRoaXMuZW50aXRpZXMuc2V0KGpzb24uaWQsIGVudGl0eSk7XG4gIH1cblxuICBnZXQoZW50aXR5SWQ6IHN0cmluZyk6IEVudGl0eSB7XG4gICAgY29uc3QgZW50aXR5ID0gdGhpcy5lbnRpdGllcy5nZXQoZW50aXR5SWQpO1xuICAgIGlmIChlbnRpdHkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGDsobTsnqztlZjsp4Ag7JWK64qUIEVudGl0eSDsmpTssq0gJHtlbnRpdHlJZH1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZW50aXR5O1xuICB9XG5cbiAgZXhpc3RzKGVudGl0eUlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBlbnRpdHkgPSB0aGlzLmVudGl0aWVzLmdldChlbnRpdHlJZCk7XG4gICAgcmV0dXJuIGVudGl0eSAhPT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0QWxsSWRzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbShFbnRpdHlNYW5hZ2VyLmVudGl0aWVzLmtleXMoKSkuc29ydCgpO1xuICB9XG5cbiAgZ2V0QWxsUGFyZW50SWRzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBbGxJZHMoKS5maWx0ZXIoKGVudGl0eUlkKSA9PiB7XG4gICAgICBjb25zdCBlbnRpdHkgPSB0aGlzLmdldChlbnRpdHlJZCk7XG4gICAgICByZXR1cm4gZW50aXR5LnBhcmVudElkID09PSB1bmRlZmluZWQ7XG4gICAgfSk7XG4gIH1cblxuICBnZXRDaGlsZHJlbklkcyhwYXJlbnRJZDogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmdldEFsbElkcygpLmZpbHRlcigoZW50aXR5SWQpID0+IHtcbiAgICAgIGNvbnN0IGVudGl0eSA9IHRoaXMuZ2V0KGVudGl0eUlkKTtcbiAgICAgIHJldHVybiBlbnRpdHkucGFyZW50SWQgPT09IHBhcmVudElkO1xuICAgIH0pO1xuICB9XG5cbiAgc2V0TW9kdWxlUGF0aChrZXk6IHN0cmluZywgbW9kdWxlUGF0aDogc3RyaW5nKTogdm9pZCB7XG4gICAgLy8gY29uc29sZS5kZWJ1ZyhjaGFsay5jeWFuKGBzZXRNb2R1bGVQYXRoIDo6ICR7a2V5fSA6OiAke21vZHVsZVBhdGh9YCkpO1xuICAgIHRoaXMubW9kdWxlUGF0aHMuc2V0KGtleSwgbW9kdWxlUGF0aCk7XG4gIH1cblxuICBnZXRNb2R1bGVQYXRoKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBtb2R1bGVQYXRoID0gdGhpcy5tb2R1bGVQYXRocy5nZXQoa2V5KTtcbiAgICBpZiAobW9kdWxlUGF0aCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYOyhtOyerO2VmOyngCDslYrripQg66qo65OIIO2MqOyKpCDsmpTssq0gJHtrZXl9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1vZHVsZVBhdGg7XG4gIH1cblxuICBzZXRUYWJsZVNwZWModGFibGVTcGVjOiBUYWJsZVNwZWMpIHtcbiAgICB0aGlzLnRhYmxlU3BlY3Muc2V0KHRhYmxlU3BlYy5uYW1lLCB0YWJsZVNwZWMpO1xuICB9XG5cbiAgZ2V0VGFibGVTcGVjKGtleTogc3RyaW5nKTogVGFibGVTcGVjIHtcbiAgICBjb25zdCB0YWJsZVNwZWMgPSB0aGlzLnRhYmxlU3BlY3MuZ2V0KGtleSk7XG4gICAgaWYgKHRhYmxlU3BlYyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYOyhtOyerO2VmOyngCDslYrripQg7YWM7J2067iUIOyKpO2OmSDsmpTssq0gJHtrZXl9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRhYmxlU3BlYztcbiAgfVxuXG4gIGdldE5hbWVzRnJvbUlkKGVudGl0eUlkOiBzdHJpbmcpOiBFbnRpdHlOYW1lc1JlY29yZCB7XG4gICAgLy8gZW50aXR5SWTqsIAg64uo67O17IiYIOuPme2YlSDri6jslrTsnbgg6rK97JqwIExpc3Qg67aZ7Jes7IScIOyDneyEsVxuICAgIGNvbnN0IHBsdXJhbGl6ZWQgPVxuICAgICAgaW5mbGVjdGlvbi5wbHVyYWxpemUoZW50aXR5SWQpID09PSBlbnRpdHlJZFxuICAgICAgICA/IGAke2VudGl0eUlkfUxpc3RgXG4gICAgICAgIDogaW5mbGVjdGlvbi5wbHVyYWxpemUoZW50aXR5SWQpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGZzOiBpbmZsZWN0aW9uLmRhc2hlcml6ZShpbmZsZWN0aW9uLnVuZGVyc2NvcmUoZW50aXR5SWQpKS50b0xvd2VyQ2FzZSgpLFxuICAgICAgZnNQbHVyYWw6IGluZmxlY3Rpb25cbiAgICAgICAgLmRhc2hlcml6ZShpbmZsZWN0aW9uLnVuZGVyc2NvcmUocGx1cmFsaXplZCkpXG4gICAgICAgIC50b0xvd2VyQ2FzZSgpLFxuICAgICAgY2FtZWw6IGluZmxlY3Rpb24uY2FtZWxpemUoZW50aXR5SWQsIHRydWUpLFxuICAgICAgY2FtZWxQbHVyYWw6IGluZmxlY3Rpb24uY2FtZWxpemUocGx1cmFsaXplZCwgdHJ1ZSksXG4gICAgICBjYXBpdGFsOiBlbnRpdHlJZCxcbiAgICAgIGNhcGl0YWxQbHVyYWw6IHBsdXJhbGl6ZWQsXG4gICAgICB1cHBlcjogZW50aXR5SWQudG9VcHBlckNhc2UoKSxcbiAgICAgIGNvbnN0YW50OiBpbmZsZWN0aW9uLnVuZGVyc2NvcmUoZW50aXR5SWQpLnRvVXBwZXJDYXNlKCksXG4gICAgfTtcbiAgfVxuXG4gIGdldEVudGl0eUlkRnJvbVBhdGgoZmlsZVBhdGg6IEFic29sdXRlUGF0aCk6IHN0cmluZyB7XG4gICAgY29uc3QgbWF0Y2hlZCA9IGZpbGVQYXRoLm1hdGNoKC9hcHBsaWNhdGlvblxcLyguKylcXC8vKTtcbiAgICBhc3NlcnQobWF0Y2hlZD8uWzFdKTtcbiAgICByZXR1cm4gaW5mbGVjdGlvbi5jYW1lbGl6ZShtYXRjaGVkWzFdLnJlcGxhY2UoL1xcLS9nLCBcIl9cIikpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBFbnRpdHlNYW5hZ2VyID0gbmV3IEVudGl0eU1hbmFnZXJDbGFzcygpO1xuIl0sIm5hbWVzIjpbImdsb2IiLCJpbmZsZWN0aW9uIiwicGF0aCIsIkVudGl0eSIsIlNvbmFtdSIsInJlYWRGaWxlIiwiYXNzZXJ0IiwiRW50aXR5TWFuYWdlckNsYXNzIiwiZW50aXRpZXMiLCJNYXAiLCJtb2R1bGVQYXRocyIsInRhYmxlU3BlY3MiLCJpc0F1dG9sb2FkZWQiLCJhdXRvbG9hZCIsIl8iLCJwYXRoUGF0dGVybiIsImpvaW4iLCJhcGlSb290UGF0aCIsImNvdW50IiwiZmlsZSIsInJlc29sdmUiLCJyZWdpc3RlciIsIkpTT04iLCJwYXJzZSIsInRvU3RyaW5nIiwicmVsb2FkIiwiZG9TaWxlbnQiLCJjbGVhciIsImpzb24iLCJlbnRpdHkiLCJyZWdpc3Rlck1vZHVsZVBhdGhzIiwicmVnaXN0ZXJUYWJsZVNwZWNzIiwic2V0IiwiaWQiLCJnZXQiLCJlbnRpdHlJZCIsInVuZGVmaW5lZCIsIkVycm9yIiwiZXhpc3RzIiwiZ2V0QWxsSWRzIiwiQXJyYXkiLCJmcm9tIiwiRW50aXR5TWFuYWdlciIsImtleXMiLCJzb3J0IiwiZ2V0QWxsUGFyZW50SWRzIiwiZmlsdGVyIiwicGFyZW50SWQiLCJnZXRDaGlsZHJlbklkcyIsInNldE1vZHVsZVBhdGgiLCJrZXkiLCJtb2R1bGVQYXRoIiwiZ2V0TW9kdWxlUGF0aCIsInNldFRhYmxlU3BlYyIsInRhYmxlU3BlYyIsIm5hbWUiLCJnZXRUYWJsZVNwZWMiLCJnZXROYW1lc0Zyb21JZCIsInBsdXJhbGl6ZWQiLCJwbHVyYWxpemUiLCJmcyIsImRhc2hlcml6ZSIsInVuZGVyc2NvcmUiLCJ0b0xvd2VyQ2FzZSIsImZzUGx1cmFsIiwiY2FtZWwiLCJjYW1lbGl6ZSIsImNhbWVsUGx1cmFsIiwiY2FwaXRhbCIsImNhcGl0YWxQbHVyYWwiLCJ1cHBlciIsInRvVXBwZXJDYXNlIiwiY29uc3RhbnQiLCJnZXRFbnRpdHlJZEZyb21QYXRoIiwiZmlsZVBhdGgiLCJtYXRjaGVkIiwibWF0Y2giLCJyZXBsYWNlIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxJQUFJLFFBQVEsbUJBQWM7QUFDbkMsT0FBT0MsZ0JBQWdCLGFBQWE7QUFFcEMsT0FBT0MsVUFBVSxPQUFPO0FBQ3hCLFNBQVNDLE1BQU0sUUFBUSxjQUFXO0FBRWxDLFNBQVNDLE1BQU0sUUFBUSxtQkFBZ0I7QUFDdkMsU0FBU0MsUUFBUSxRQUFRLG1CQUFjO0FBRXZDLE9BQU9DLFlBQVksU0FBUztBQWlCNUIsTUFBTUM7SUFDSUMsV0FBZ0MsSUFBSUMsTUFBTTtJQUMzQ0MsY0FBbUMsSUFBSUQsTUFBTTtJQUM1Q0UsYUFBcUMsSUFBSUYsTUFBTTtJQUNoREcsZUFBd0IsTUFBTTtJQUVyQywrQkFBK0I7SUFDL0IsTUFBTUMsU0FBU0MsSUFBYSxLQUFLLEVBQUU7UUFDakMsSUFBSSxJQUFJLENBQUNGLFlBQVksRUFBRTtZQUNyQjtRQUNGO1FBQ0EsTUFBTUcsY0FBY2IsS0FBS2MsSUFBSSxDQUMzQlosT0FBT2EsV0FBVyxFQUNsQjtRQUdGLElBQUlDLFFBQVE7UUFDWixXQUFXLE1BQU1DLFFBQVFuQixLQUFLRSxLQUFLa0IsT0FBTyxDQUFDTCxjQUFnQjtZQUN6RCxNQUFNLElBQUksQ0FBQ00sUUFBUSxDQUFDQyxLQUFLQyxLQUFLLENBQUMsQUFBQyxDQUFBLE1BQU1sQixTQUFTYyxLQUFJLEVBQUdLLFFBQVE7WUFDOUROO1FBQ0Y7UUFDQSxlQUFlO1FBQ2YsaUJB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
|
|
@@ -1,2 +1,210 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import inflection from "inflection";
|
|
2
|
+
import { asArray } from "../utils/model.js";
|
|
3
|
+
export const p = {
|
|
4
|
+
integer,
|
|
5
|
+
bigInteger,
|
|
6
|
+
text,
|
|
7
|
+
string,
|
|
8
|
+
float,
|
|
9
|
+
double,
|
|
10
|
+
decimal,
|
|
11
|
+
boolean,
|
|
12
|
+
date,
|
|
13
|
+
dateTime,
|
|
14
|
+
time,
|
|
15
|
+
timestamp,
|
|
16
|
+
json,
|
|
17
|
+
uuid,
|
|
18
|
+
enums,
|
|
19
|
+
virtual,
|
|
20
|
+
relationOneToOne,
|
|
21
|
+
relationBelongsToOne,
|
|
22
|
+
relationHasMany,
|
|
23
|
+
relationManyToMany
|
|
24
|
+
};
|
|
25
|
+
function integer(name, option) {
|
|
26
|
+
return {
|
|
27
|
+
name,
|
|
28
|
+
type: "integer",
|
|
29
|
+
...option
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function bigInteger(name, option) {
|
|
33
|
+
return {
|
|
34
|
+
name,
|
|
35
|
+
type: "bigInteger",
|
|
36
|
+
...option
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function text(name, option) {
|
|
40
|
+
return {
|
|
41
|
+
name,
|
|
42
|
+
type: "text",
|
|
43
|
+
...option
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function string(name, option) {
|
|
47
|
+
return {
|
|
48
|
+
name,
|
|
49
|
+
type: "string",
|
|
50
|
+
...option
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function float(name, option) {
|
|
54
|
+
return {
|
|
55
|
+
name,
|
|
56
|
+
type: "float",
|
|
57
|
+
precision: 8,
|
|
58
|
+
scale: 2,
|
|
59
|
+
...option
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function double(name, option) {
|
|
63
|
+
return {
|
|
64
|
+
name,
|
|
65
|
+
type: "double",
|
|
66
|
+
precision: 8,
|
|
67
|
+
scale: 2,
|
|
68
|
+
...option
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
function decimal(name, option) {
|
|
72
|
+
return {
|
|
73
|
+
name,
|
|
74
|
+
type: "decimal",
|
|
75
|
+
precision: 8,
|
|
76
|
+
scale: 2,
|
|
77
|
+
...option
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function boolean(name, option) {
|
|
81
|
+
return {
|
|
82
|
+
name,
|
|
83
|
+
type: "boolean",
|
|
84
|
+
...option
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
function date(name, option) {
|
|
88
|
+
if (option?.now === true) {
|
|
89
|
+
delete option.now;
|
|
90
|
+
option.dbDefault = "CURRENT_TIMESTAMP";
|
|
91
|
+
}
|
|
92
|
+
return {
|
|
93
|
+
name,
|
|
94
|
+
type: "date",
|
|
95
|
+
...option
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
function dateTime(name, option) {
|
|
99
|
+
if (option?.now === true) {
|
|
100
|
+
delete option.now;
|
|
101
|
+
option.dbDefault = "CURRENT_TIMESTAMP";
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
name,
|
|
105
|
+
type: "datetime",
|
|
106
|
+
...option
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
function time(name, option) {
|
|
110
|
+
if (option?.now === true) {
|
|
111
|
+
delete option.now;
|
|
112
|
+
option.dbDefault = "CURRENT_TIMESTAMP";
|
|
113
|
+
}
|
|
114
|
+
return {
|
|
115
|
+
name,
|
|
116
|
+
type: "time",
|
|
117
|
+
...option
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
function timestamp(name, option) {
|
|
121
|
+
if (option?.now === true) {
|
|
122
|
+
delete option.now;
|
|
123
|
+
option.dbDefault = "CURRENT_TIMESTAMP";
|
|
124
|
+
}
|
|
125
|
+
return {
|
|
126
|
+
name,
|
|
127
|
+
type: "timestamp",
|
|
128
|
+
...option
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
function json(name, option) {
|
|
132
|
+
return {
|
|
133
|
+
name,
|
|
134
|
+
type: "json",
|
|
135
|
+
...option
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
function uuid(name, option) {
|
|
139
|
+
return {
|
|
140
|
+
name,
|
|
141
|
+
type: "uuid",
|
|
142
|
+
...option
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
function enums(name, option) {
|
|
146
|
+
return {
|
|
147
|
+
name,
|
|
148
|
+
type: "enum",
|
|
149
|
+
id: option.id ?? `$Model${inflection.camelize(name)}`,
|
|
150
|
+
...option
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
function virtual(name, option) {
|
|
154
|
+
return {
|
|
155
|
+
name,
|
|
156
|
+
type: "virtual",
|
|
157
|
+
...option
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
function relationOneToOne(name, option) {
|
|
161
|
+
return {
|
|
162
|
+
name,
|
|
163
|
+
type: "relation",
|
|
164
|
+
relationType: "OneToOne",
|
|
165
|
+
...option
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
function relationBelongsToOne(name, option) {
|
|
169
|
+
option.useConstraint = option.useConstraint ?? true;
|
|
170
|
+
return {
|
|
171
|
+
name,
|
|
172
|
+
type: "relation",
|
|
173
|
+
relationType: "BelongsToOne",
|
|
174
|
+
...option
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
function relationHasMany(name, option) {
|
|
178
|
+
return {
|
|
179
|
+
name,
|
|
180
|
+
type: "relation",
|
|
181
|
+
relationType: "HasMany",
|
|
182
|
+
...option
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
function relationManyToMany(name, option) {
|
|
186
|
+
return {
|
|
187
|
+
name,
|
|
188
|
+
type: "relation",
|
|
189
|
+
relationType: "ManyToMany",
|
|
190
|
+
...option
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
export const i = {
|
|
194
|
+
index,
|
|
195
|
+
unique
|
|
196
|
+
};
|
|
197
|
+
function index(columns) {
|
|
198
|
+
return {
|
|
199
|
+
type: "index",
|
|
200
|
+
columns: asArray(columns)
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
function unique(columns) {
|
|
204
|
+
return {
|
|
205
|
+
type: "unique",
|
|
206
|
+
columns: asArray(columns)
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbnRpdHkvZW50aXR5LXV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCI7XG5pbXBvcnQge1xuICBCZWxvbmdzVG9PbmVSZWxhdGlvblByb3AsXG4gIEJpZ0ludGVnZXJQcm9wLFxuICBCb29sZWFuUHJvcCxcbiAgRGF0ZVByb3AsXG4gIERhdGVUaW1lUHJvcCxcbiAgRGVjaW1hbFByb3AsXG4gIERpc3RyaWJ1dGl2ZU9taXQsXG4gIERvdWJsZVByb3AsXG4gIEVudW1Qcm9wLFxuICBGbG9hdFByb3AsXG4gIEhhc01hbnlSZWxhdGlvblByb3AsXG4gIEludGVnZXJQcm9wLFxuICBKc29uUHJvcCxcbiAgTWFueVRvTWFueVJlbGF0aW9uUHJvcCxcbiAgT25lVG9PbmVSZWxhdGlvblByb3AsXG4gIEVudGl0eUluZGV4LFxuICBTdHJpbmdQcm9wLFxuICBUZXh0UHJvcCxcbiAgVGltZVByb3AsXG4gIFRpbWVzdGFtcFByb3AsXG4gIFV1aWRQcm9wLFxuICBWaXJ0dWFsUHJvcCxcbn0gZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBhc0FycmF5IH0gZnJvbSBcIi4uL3V0aWxzL21vZGVsXCI7XG5cbmV4cG9ydCBjb25zdCBwID0ge1xuICBpbnRlZ2VyLFxuICBiaWdJbnRlZ2VyLFxuICB0ZXh0LFxuICBzdHJpbmcsXG4gIGZsb2F0LFxuICBkb3VibGUsXG4gIGRlY2ltYWwsXG4gIGJvb2xlYW4sXG4gIGRhdGUsXG4gIGRhdGVUaW1lLFxuICB0aW1lLFxuICB0aW1lc3RhbXAsXG4gIGpzb24sXG4gIHV1aWQsXG4gIGVudW1zLFxuICB2aXJ0dWFsLFxuICByZWxhdGlvbk9uZVRvT25lLFxuICByZWxhdGlvbkJlbG9uZ3NUb09uZSxcbiAgcmVsYXRpb25IYXNNYW55LFxuICByZWxhdGlvbk1hbnlUb01hbnksXG59O1xuXG5mdW5jdGlvbiBpbnRlZ2VyKFxuICBuYW1lOiBzdHJpbmcsXG4gIG9wdGlvbj86IE9taXQ8SW50ZWdlclByb3AsIFwibmFtZVwiIHwgXCJ0eXBlXCI+XG4pOiBJbnRlZ2VyUHJvcCB7XG4gIHJldHVybiB7XG4gICAgbmFtZSxcbiAgICB0eXBlOiBcImludGVnZXJcIixcbiAgICAuLi5vcHRpb24sXG4gIH07XG59XG5mdW5jdGlvbiBiaWdJbnRlZ2VyKFxuICBuYW1lOiBzdHJpbmcsXG4gIG9wdGlvbj86IE9taXQ8QmlnSW50ZWdlclByb3AsIFwibmFtZVwiIHwgXCJ0eXBlXCI+XG4pOiBCaWdJbnRlZ2VyUHJvcCB7XG4gIHJldHVybiB7XG4gICAgbmFtZSxcbiAgICB0eXBlOiBcImJpZ0ludGVnZXJcIixcbiAgICAuLi5vcHRpb24sXG4gIH07XG59XG5mdW5jdGlvbiB0ZXh0KG5hbWU6IHN0cmluZywgb3B0aW9uOiBPbWl0PFRleHRQcm9wLCBcIm5hbWVcIiB8IFwidHlwZVwiPik6IFRleHRQcm9wIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lLFxuICAgIHR5cGU6IFwidGV4dFwiLFxuICAgIC4uLm9wdGlvbixcbiAgfTtcbn1cbmZ1bmN0aW9uIHN0cmluZyhcbiAgbmFtZTogc3RyaW5nLFxuICBvcHRpb246IE9taXQ8U3RyaW5nUHJvcCwgXCJuYW1lXCIgfCBcInR5cGVcIj5cbik6IFN0cmluZ1Byb3Age1xuICByZXR1cm4ge1xuICAgIG5hbWUsXG4gICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAuLi5vcHRpb24sXG4gIH07XG59XG5mdW5jdGlvbiBmbG9hdChcbiAgbmFtZTogc3RyaW5nLFxuICBvcHRpb24/OiBPbWl0PEZsb2F0UHJvcCwgXCJuYW1lXCIgfCBcInR5cGVcIj5cbik6IEZsb2F0UHJvcCB7XG4gIHJldHVybiB7XG4gICAgbmFtZSxcbiAgICB0eXBlOiBcImZsb2F0XCIsXG4gICAgcHJlY2lzaW9uOiA4LFxuICAgIHNjYWxlOiAyLFxuICAgIC4uLm9wdGlvbixcbiAgfTtcbn1cbmZ1bmN0aW9uIGRvdWJsZShcbiAgbmFtZTogc3RyaW5nLFxuICBvcHRpb24/OiBPbWl0PERvdWJsZVByb3AsIFwibmFtZVwiIHwgXCJ0eXBlXCI+XG4pOiBEb3VibGVQcm9wIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lLFxuICAgIHR5cGU6IFwiZG91YmxlXCIsXG4gICAgcHJlY2lzaW9uOiA4LFxuICAgIHNjYWxlOiAyLFxuICAgIC4uLm9wdGlvbixcbiAgfTtcbn1cbmZ1bmN0aW9uIGRlY2ltYWwoXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uPzogT21pdDxEZWNpbWFsUHJvcCwgXCJuYW1lXCIgfCBcInR5cGVcIj5cbik6IERlY2ltYWxQcm9wIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lLFxuICAgIHR5cGU6IFwiZGVjaW1hbFwiLFxuICAgIHByZWNpc2lvbjogOCxcbiAgICBzY2FsZTogMixcbiAgICAuLi5vcHRpb24sXG4gIH07XG59XG5mdW5jdGlvbiBib29sZWFuKFxuICBuYW1lOiBzdHJpbmcsXG4gIG9wdGlvbj86IE9taXQ8Qm9vbGVhblByb3AsIFwibmFtZVwiIHwgXCJ0eXBlXCI+XG4pOiBCb29sZWFuUHJvcCB7XG4gIHJldHVybiB7XG4gICAgbmFtZSxcbiAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICAuLi5vcHRpb24sXG4gIH07XG59XG5mdW5jdGlvbiBkYXRlKFxuICBuYW1lOiBzdHJpbmcsXG4gIG9wdGlvbj86IE9taXQ8RGF0ZVByb3AsIFwibmFtZVwiIHwgXCJ0eXBlXCI+ICYgeyBub3c/OiB0cnVlIH1cbik6IERhdGVQcm9wIHtcbiAgaWYgKG9wdGlvbj8ubm93ID09PSB0cnVlKSB7XG4gICAgZGVsZXRlIG9wdGlvbi5ub3c7XG4gICAgb3B0aW9uLmRiRGVmYXVsdCA9IFwiQ1VSUkVOVF9USU1FU1RBTVBcIjtcbiAgfVxuICByZXR1cm4ge1xuICAgIG5hbWUsXG4gICAgdHlwZTogXCJkYXRlXCIsXG4gICAgLi4ub3B0aW9uLFxuICB9O1xufVxuZnVuY3Rpb24gZGF0ZVRpbWUoXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uPzogT21pdDxEYXRlVGltZVByb3AsIFwibmFtZVwiIHwgXCJ0eXBlXCI+ICYgeyBub3c/OiB0cnVlIH1cbik6IERhdGVUaW1lUHJvcCB7XG4gIGlmIChvcHRpb24/Lm5vdyA9PT0gdHJ1ZSkge1xuICAgIGRlbGV0ZSBvcHRpb24ubm93O1xuICAgIG9wdGlvbi5kYkRlZmF1bHQgPSBcIkNVUlJFTlRfVElNRVNUQU1QXCI7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBuYW1lLFxuICAgIHR5cGU6IFwiZGF0ZXRpbWVcIixcbiAgICAuLi5vcHRpb24sXG4gIH07XG59XG5mdW5jdGlvbiB0aW1lKFxuICBuYW1lOiBzdHJpbmcsXG4gIG9wdGlvbj86IE9taXQ8VGltZVByb3AsIFwibmFtZVwiIHwgXCJ0eXBlXCI+ICYgeyBub3c/OiB0cnVlIH1cbik6IFRpbWVQcm9wIHtcbiAgaWYgKG9wdGlvbj8ubm93ID09PSB0cnVlKSB7XG4gICAgZGVsZXRlIG9wdGlvbi5ub3c7XG4gICAgb3B0aW9uLmRiRGVmYXVsdCA9IFwiQ1VSUkVOVF9USU1FU1RBTVBcIjtcbiAgfVxuICByZXR1cm4ge1xuICAgIG5hbWUsXG4gICAgdHlwZTogXCJ0aW1lXCIsXG4gICAgLi4ub3B0aW9uLFxuICB9O1xufVxuZnVuY3Rpb24gdGltZXN0YW1wKFxuICBuYW1lOiBzdHJpbmcsXG4gIG9wdGlvbj86IE9taXQ8VGltZXN0YW1wUHJvcCwgXCJuYW1lXCIgfCBcInR5cGVcIj4gJiB7IG5vdz86IHRydWUgfVxuKTogVGltZXN0YW1wUHJvcCB7XG4gIGlmIChvcHRpb24/Lm5vdyA9PT0gdHJ1ZSkge1xuICAgIGRlbGV0ZSBvcHRpb24ubm93O1xuICAgIG9wdGlvbi5kYkRlZmF1bHQgPSBcIkNVUlJFTlRfVElNRVNUQU1QXCI7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBuYW1lLFxuICAgIHR5cGU6IFwidGltZXN0YW1wXCIsXG4gICAgLi4ub3B0aW9uLFxuICB9O1xufVxuZnVuY3Rpb24ganNvbihuYW1lOiBzdHJpbmcsIG9wdGlvbjogT21pdDxKc29uUHJvcCwgXCJuYW1lXCIgfCBcInR5cGVcIj4pOiBKc29uUHJvcCB7XG4gIHJldHVybiB7XG4gICAgbmFtZSxcbiAgICB0eXBlOiBcImpzb25cIixcbiAgICAuLi5vcHRpb24sXG4gIH07XG59XG5mdW5jdGlvbiB1dWlkKG5hbWU6IHN0cmluZywgb3B0aW9uOiBPbWl0PFV1aWRQcm9wLCBcIm5hbWVcIiB8IFwidHlwZVwiPik6IFV1aWRQcm9wIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lLFxuICAgIHR5cGU6IFwidXVpZFwiLFxuICAgIC4uLm9wdGlvbixcbiAgfTtcbn1cbmZ1bmN0aW9uIGVudW1zKFxuICBuYW1lOiBzdHJpbmcsXG4gIG9wdGlvbjogT21pdDxFbnVtUHJvcCwgXCJuYW1lXCIgfCBcInR5cGVcIiB8IFwiaWRcIj4gJiB7IGlkPzogc3RyaW5nIH1cbik6IEVudW1Qcm9wIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lLFxuICAgIHR5cGU6IFwiZW51bVwiLFxuICAgIGlkOiBvcHRpb24uaWQgPz8gYCRNb2RlbCR7aW5mbGVjdGlvbi5jYW1lbGl6ZShuYW1lKX1gLFxuICAgIC4uLm9wdGlvbixcbiAgfTtcbn1cbmZ1bmN0aW9uIHZpcnR1YWwoXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uOiBPbWl0PFZpcnR1YWxQcm9wLCBcIm5hbWVcIiB8IFwidHlwZVwiIHwgXCJkYkRlZmF1bHRcIiB8IFwidG9GaWx0ZXJcIj5cbik6IFZpcnR1YWxQcm9wIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lLFxuICAgIHR5cGU6IFwidmlydHVhbFwiLFxuICAgIC4uLm9wdGlvbixcbiAgfTtcbn1cbmZ1bmN0aW9uIHJlbGF0aW9uT25lVG9PbmUoXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uOiBEaXN0cmlidXRpdmVPbWl0PFxuICAgIE9uZVRvT25lUmVsYXRpb25Qcm9wLFxuICAgIFwibmFtZVwiIHwgXCJ0eXBlXCIgfCBcInJlbGF0aW9uVHlwZVwiXG4gID5cbik6IE9uZVRvT25lUmVsYXRpb25Qcm9wIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lLFxuICAgIHR5cGU6IFwicmVsYXRpb25cIixcbiAgICByZWxhdGlvblR5cGU6IFwiT25lVG9PbmVcIixcbiAgICAuLi5vcHRpb24sXG4gIH07XG59XG5mdW5jdGlvbiByZWxhdGlvbkJlbG9uZ3NUb09uZShcbiAgbmFtZTogc3RyaW5nLFxuICBvcHRpb246IE9taXQ8QmVsb25nc1RvT25lUmVsYXRpb25Qcm9wLCBcIm5hbWVcIiB8IFwidHlwZVwiIHwgXCJyZWxhdGlvblR5cGVcIj5cbik6IEJlbG9uZ3NUb09uZVJlbGF0aW9uUHJvcCB7XG4gIG9wdGlvbi51c2VDb25zdHJhaW50ID0gKG9wdGlvbi51c2VDb25zdHJhaW50ID8/IHRydWUpIGFzIGZhbHNlO1xuICByZXR1cm4ge1xuICAgIG5hbWUsXG4gICAgdHlwZTogXCJyZWxhdGlvblwiLFxuICAgIHJlbGF0aW9uVHlwZTogXCJCZWxvbmdzVG9PbmVcIixcbiAgICAuLi5vcHRpb24sXG4gIH07XG59XG5mdW5jdGlvbiByZWxhdGlvbkhhc01hbnkoXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uOiBPbWl0PEhhc01hbnlSZWxhdGlvblByb3AsIFwibmFtZVwiIHwgXCJ0eXBlXCIgfCBcInJlbGF0aW9uVHlwZVwiPlxuKTogSGFzTWFueVJlbGF0aW9uUHJvcCB7XG4gIHJldHVybiB7XG4gICAgbmFtZSxcbiAgICB0eXBlOiBcInJlbGF0aW9uXCIsXG4gICAgcmVsYXRpb25UeXBlOiBcIkhhc01hbnlcIixcbiAgICAuLi5vcHRpb24sXG4gIH07XG59XG5mdW5jdGlvbiByZWxhdGlvbk1hbnlUb01hbnkoXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uOiBPbWl0PE1hbnlUb01hbnlSZWxhdGlvblByb3AsIFwibmFtZVwiIHwgXCJ0eXBlXCIgfCBcInJlbGF0aW9uVHlwZVwiPlxuKTogTWFueVRvTWFueVJlbGF0aW9uUHJvcCB7XG4gIHJldHVybiB7XG4gICAgbmFtZSxcbiAgICB0eXBlOiBcInJlbGF0aW9uXCIsXG4gICAgcmVsYXRpb25UeXBlOiBcIk1hbnlUb01hbnlcIixcbiAgICAuLi5vcHRpb24sXG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBpID0ge1xuICBpbmRleCxcbiAgdW5pcXVlLFxufTtcblxuZnVuY3Rpb24gaW5kZXgoY29sdW1uczogc3RyaW5nIHwgc3RyaW5nW10pOiBFbnRpdHlJbmRleCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogXCJpbmRleFwiLFxuICAgIGNvbHVtbnM6IGFzQXJyYXkoY29sdW1ucyksXG4gIH07XG59XG5cbmZ1bmN0aW9uIHVuaXF1ZShjb2x1bW5zOiBzdHJpbmcgfCBzdHJpbmdbXSk6IEVudGl0eUluZGV4IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBcInVuaXF1ZVwiLFxuICAgIGNvbHVtbnM6IGFzQXJyYXkoY29sdW1ucyksXG4gIH07XG59XG4iXSwibmFtZXMiOlsiaW5mbGVjdGlvbiIsImFzQXJyYXkiLCJwIiwiaW50ZWdlciIsImJpZ0ludGVnZXIiLCJ0ZXh0Iiwic3RyaW5nIiwiZmxvYXQiLCJkb3VibGUiLCJkZWNpbWFsIiwiYm9vbGVhbiIsImRhdGUiLCJkYXRlVGltZSIsInRpbWUiLCJ0aW1lc3RhbXAiLCJqc29uIiwidXVpZCIsImVudW1zIiwidmlydHVhbCIsInJlbGF0aW9uT25lVG9PbmUiLCJyZWxhdGlvbkJlbG9uZ3NUb09uZSIsInJlbGF0aW9uSGFzTWFueSIsInJlbGF0aW9uTWFueVRvTWFueSIsIm5hbWUiLCJvcHRpb24iLCJ0eXBlIiwicHJlY2lzaW9uIiwic2NhbGUiLCJub3ciLCJkYkRlZmF1bHQiLCJpZCIsImNhbWVsaXplIiwicmVsYXRpb25UeXBlIiwidXNlQ29uc3RyYWludCIsImkiLCJpbmRleCIsInVuaXF1ZSIsImNvbHVtbnMiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLGdCQUFnQixhQUFhO0FBeUJwQyxTQUFTQyxPQUFPLFFBQVEsb0JBQWlCO0FBRXpDLE9BQU8sTUFBTUMsSUFBSTtJQUNmQztJQUNBQztJQUNBQztJ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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/entity/entity.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/entity/entity.ts"],"names":[],"mappings":"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"}
|