@eggjs/tegg-orm-decorator 3.51.2 → 4.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/package.json +23 -21
  2. package/{dist/src → src}/builder/AttributeMetaBuilder.d.ts +1 -1
  3. package/src/builder/AttributeMetaBuilder.js +24 -0
  4. package/{dist/src → src}/builder/IndexMetaBuilder.d.ts +1 -2
  5. package/src/builder/IndexMetaBuilder.js +33 -0
  6. package/{dist/src → src}/builder/ModelMetaBuilder.d.ts +1 -1
  7. package/src/builder/ModelMetaBuilder.js +20 -0
  8. package/src/builder/index.d.ts +3 -0
  9. package/src/builder/index.js +4 -0
  10. package/src/decorator/Attribute.js +10 -0
  11. package/src/decorator/DataSource.js +7 -0
  12. package/src/decorator/Model.js +21 -0
  13. package/src/decorator/ModelIndex.js +7 -0
  14. package/src/decorator/index.d.ts +4 -0
  15. package/src/decorator/index.js +5 -0
  16. package/src/index.d.ts +5 -0
  17. package/src/index.js +6 -0
  18. package/src/model/AttributeMeta.js +19 -0
  19. package/src/model/IndexMeta.js +13 -0
  20. package/{dist/src → src}/model/ModelMetadata.d.ts +2 -2
  21. package/src/model/ModelMetadata.js +13 -0
  22. package/src/model/index.d.ts +3 -0
  23. package/src/model/index.js +4 -0
  24. package/src/util/ModelInfoUtil.js +43 -0
  25. package/{dist/src → src}/util/ModelMetadataUtil.d.ts +2 -2
  26. package/src/util/ModelMetadataUtil.js +11 -0
  27. package/src/util/NameUtil.js +32 -0
  28. package/src/util/index.d.ts +3 -0
  29. package/src/util/index.js +4 -0
  30. package/dist/index.d.ts +0 -13
  31. package/dist/index.js +0 -30
  32. package/dist/src/builder/AttributeMetaBuilder.js +0 -29
  33. package/dist/src/builder/IndexMetaBuilder.js +0 -37
  34. package/dist/src/builder/ModelMetaBuilder.js +0 -24
  35. package/dist/src/decorator/Attribute.js +0 -16
  36. package/dist/src/decorator/DataSource.js +0 -10
  37. package/dist/src/decorator/Index.js +0 -10
  38. package/dist/src/decorator/Model.js +0 -24
  39. package/dist/src/model/AttributeMeta.js +0 -16
  40. package/dist/src/model/IndexMeta.js +0 -13
  41. package/dist/src/model/ModelMetadata.js +0 -13
  42. package/dist/src/util/ModelInfoUtil.js +0 -47
  43. package/dist/src/util/ModelMetadataUtil.js +0 -15
  44. package/dist/src/util/NameUtil.js +0 -39
  45. /package/{dist/src → src}/decorator/Attribute.d.ts +0 -0
  46. /package/{dist/src → src}/decorator/DataSource.d.ts +0 -0
  47. /package/{dist/src → src}/decorator/Model.d.ts +0 -0
  48. /package/{dist/src/decorator/Index.d.ts → src/decorator/ModelIndex.d.ts} +0 -0
  49. /package/{dist/src → src}/model/AttributeMeta.d.ts +0 -0
  50. /package/{dist/src → src}/model/IndexMeta.d.ts +0 -0
  51. /package/{dist/src → src}/util/ModelInfoUtil.d.ts +0 -0
  52. /package/{dist/src → src}/util/NameUtil.d.ts +0 -0
package/package.json CHANGED
@@ -1,13 +1,18 @@
1
1
  {
2
2
  "name": "@eggjs/tegg-orm-decorator",
3
- "version": "3.51.2",
3
+ "version": "4.0.0-beta.1",
4
4
  "description": "tegg orm decorator",
5
- "main": "dist/index.js",
5
+ "type": "module",
6
+ "exports": {
7
+ ".": {
8
+ "types": "./src/index.d.ts",
9
+ "default": "./src/index.js"
10
+ }
11
+ },
6
12
  "files": [
7
- "dist/**/*.js",
8
- "dist/**/*.d.ts"
13
+ "src/**/*.js",
14
+ "src/**/*.d.ts"
9
15
  ],
10
- "typings": "dist/index.d.ts",
11
16
  "keywords": [
12
17
  "egg",
13
18
  "typescript",
@@ -15,11 +20,10 @@
15
20
  "tegg"
16
21
  ],
17
22
  "scripts": {
18
- "test": "cross-env NODE_ENV=test NODE_OPTIONS='--no-deprecation' mocha",
19
23
  "clean": "tsc -b --clean",
20
24
  "tsc": "npm run clean && tsc -p ./tsconfig.json",
21
- "tsc:pub": "npm run clean && tsc -p ./tsconfig.pub.json",
22
- "prepublishOnly": "npm run tsc:pub"
25
+ "tsc:pub": "npm run tsc",
26
+ "prepublishOnly": "npm run tsc"
23
27
  },
24
28
  "author": "killagu <killa123@126.com>",
25
29
  "license": "MIT",
@@ -33,13 +37,13 @@
33
37
  "directory": "core/orm-decorator"
34
38
  },
35
39
  "engines": {
36
- "node": ">=14.0.0"
40
+ "node": ">=20.0.0"
37
41
  },
38
42
  "dependencies": {
39
- "@eggjs/core-decorator": "^3.51.2",
40
- "@eggjs/tegg-common-util": "^3.51.2",
41
- "@eggjs/tegg-metadata": "^3.51.2",
42
- "@eggjs/tegg-types": "^3.51.2",
43
+ "@eggjs/core-decorator": "^4.0.0-beta.1",
44
+ "@eggjs/tegg-common-util": "^4.0.0-beta.1",
45
+ "@eggjs/tegg-metadata": "^4.0.0-beta.1",
46
+ "@eggjs/tegg-types": "^4.0.0-beta.1",
43
47
  "lodash": "^4.17.21",
44
48
  "pluralize": "^8.0.0"
45
49
  },
@@ -50,12 +54,10 @@
50
54
  "access": "public"
51
55
  },
52
56
  "devDependencies": {
53
- "@types/mocha": "^10.0.1",
54
- "@types/node": "^20.2.4",
55
- "cross-env": "^7.0.3",
56
- "mocha": "^10.2.0",
57
- "ts-node": "^10.9.1",
58
- "typescript": "^5.0.4"
59
- },
60
- "gitHead": "b310ec3c772067b98b4f91342d877bebcee4e673"
57
+ "@types/node": "22",
58
+ "@types/pluralize": "^0.0.33",
59
+ "ts-node": "10",
60
+ "typescript": "5"
61
+ },
62
+ "gitHead": "79a22905272d6de7fe06152231dff65d213d9166"
61
63
  }
@@ -1,5 +1,5 @@
1
1
  import type { EggProtoImplClass } from '@eggjs/tegg-types';
2
- import { AttributeMeta } from '../model/AttributeMeta';
2
+ import { AttributeMeta } from '../model/index.js';
3
3
  export declare class AttributeMetaBuilder {
4
4
  private readonly clazz;
5
5
  constructor(clazz: EggProtoImplClass);
@@ -0,0 +1,24 @@
1
+ import { AttributeMeta } from '../model/index.js';
2
+ import { ModelInfoUtil, NameUtil } from '../util/index.js';
3
+ export class AttributeMetaBuilder {
4
+ clazz;
5
+ constructor(clazz) {
6
+ this.clazz = clazz;
7
+ }
8
+ build() {
9
+ const modelAttributes = ModelInfoUtil.getModelAttributes(this.clazz);
10
+ const attributes = [];
11
+ if (!modelAttributes) {
12
+ throw new Error(`model ${this.clazz.name} has no attributes`);
13
+ }
14
+ for (const [propertyName, attributeInfo] of modelAttributes) {
15
+ const attribute = this.buildAttributeMeta(propertyName, attributeInfo);
16
+ attributes.push(attribute);
17
+ }
18
+ return attributes;
19
+ }
20
+ buildAttributeMeta(propertyName, attributeInfo) {
21
+ return new AttributeMeta(attributeInfo.dataType, propertyName, attributeInfo.options?.name ?? NameUtil.getAttributeName(propertyName), attributeInfo.options?.allowNull ?? true, attributeInfo.options?.autoIncrement ?? false, attributeInfo.options?.primary ?? false, attributeInfo.options?.unique ?? false);
22
+ }
23
+ }
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXR0cmlidXRlTWV0YUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJBdHRyaWJ1dGVNZXRhQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUzRCxNQUFNLE9BQU8sb0JBQW9CO0lBQ2QsS0FBSyxDQUFvQjtJQUUxQyxZQUFZLEtBQXdCO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxLQUFLO1FBQ0gsTUFBTSxlQUFlLEdBQUcsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRSxNQUFNLFVBQVUsR0FBeUIsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLG9CQUFvQixDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUNELEtBQUssTUFBTSxDQUFFLFlBQVksRUFBRSxhQUFhLENBQUUsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUM5RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQ3ZFLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxZQUFvQixFQUFFLGFBQWlDO1FBQ2hGLE9BQU8sSUFBSSxhQUFhLENBQ3RCLGFBQWEsQ0FBQyxRQUFRLEVBQ3RCLFlBQVksRUFDWixhQUFhLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLEVBQ3RFLGFBQWEsQ0FBQyxPQUFPLEVBQUUsU0FBUyxJQUFJLElBQUksRUFDeEMsYUFBYSxDQUFDLE9BQU8sRUFBRSxhQUFhLElBQUksS0FBSyxFQUM3QyxhQUFhLENBQUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxLQUFLLEVBQ3ZDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxJQUFJLEtBQUssQ0FDdkMsQ0FBQztJQUNKLENBQUM7Q0FDRiJ9
@@ -1,6 +1,5 @@
1
1
  import type { EggProtoImplClass } from '@eggjs/tegg-types';
2
- import { IndexMeta } from '../model/IndexMeta';
3
- import { AttributeMeta } from '../model/AttributeMeta';
2
+ import { IndexMeta, AttributeMeta } from '../model/index.js';
4
3
  export declare class IndexMetaBuilder {
5
4
  private readonly clazz;
6
5
  private readonly attributes;
@@ -0,0 +1,33 @@
1
+ import { IndexMeta } from '../model/index.js';
2
+ import { ModelInfoUtil, NameUtil } from '../util/index.js';
3
+ export class IndexMetaBuilder {
4
+ clazz;
5
+ attributes;
6
+ constructor(clazz, attributes) {
7
+ this.clazz = clazz;
8
+ this.attributes = attributes;
9
+ }
10
+ build() {
11
+ return ModelInfoUtil.getModelIndices(this.clazz)
12
+ .map(indexInfo => this.buildIndexMeta(indexInfo));
13
+ }
14
+ buildIndexMeta(indexInfo) {
15
+ const fields = [];
16
+ for (const field of indexInfo.fields) {
17
+ const attribute = this.attributes.find(t => t.propertyName === field);
18
+ if (!attribute) {
19
+ throw new Error(`model ${this.clazz.name} has no attribute named ${field}`);
20
+ }
21
+ fields.push(attribute.attributeName);
22
+ }
23
+ let indexName;
24
+ if (indexInfo.options?.name) {
25
+ indexName = indexInfo.options.name;
26
+ }
27
+ else {
28
+ indexName = NameUtil.getIndexName(fields, { unique: indexInfo.options?.unique });
29
+ }
30
+ return new IndexMeta(indexName, fields, indexInfo.options?.unique ?? false, indexInfo.options?.primary ?? false);
31
+ }
32
+ }
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXhNZXRhQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkluZGV4TWV0YUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBaUIsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTNELE1BQU0sT0FBTyxnQkFBZ0I7SUFDVixLQUFLLENBQW9CO0lBQ3pCLFVBQVUsQ0FBdUI7SUFFbEQsWUFBWSxLQUF3QixFQUFFLFVBQWdDO1FBQ3BFLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxhQUFhLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7YUFDN0MsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTyxjQUFjLENBQUMsU0FBeUI7UUFDOUMsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO1FBQzVCLEtBQUssTUFBTSxLQUFLLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3JDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksS0FBSyxLQUFLLENBQUMsQ0FBQztZQUN0RSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSwyQkFBMkIsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUM5RSxDQUFDO1lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkMsQ0FBQztRQUVELElBQUksU0FBaUIsQ0FBQztRQUN0QixJQUFJLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDNUIsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3RDLENBQUM7YUFBTSxDQUFDO1lBQ04sU0FBUyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNuRixDQUFDO1FBQ0QsT0FBTyxJQUFJLFNBQVMsQ0FDbEIsU0FBUyxFQUNULE1BQU0sRUFDTixTQUFTLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxLQUFLLEVBQ2xDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxJQUFJLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Q0FDRiJ9
@@ -1,5 +1,5 @@
1
1
  import type { EggProtoImplClass } from '@eggjs/tegg-types';
2
- import { ModelMetadata } from '../model/ModelMetadata';
2
+ import { ModelMetadata } from '../model/index.js';
3
3
  export declare class ModelMetaBuilder {
4
4
  private readonly clazz;
5
5
  constructor(clazz: EggProtoImplClass);
@@ -0,0 +1,20 @@
1
+ import { ModelMetadata } from '../model/index.js';
2
+ import { ModelInfoUtil, NameUtil } from '../util/index.js';
3
+ import { IndexMetaBuilder } from './IndexMetaBuilder.js';
4
+ import { AttributeMetaBuilder } from './AttributeMetaBuilder.js';
5
+ export class ModelMetaBuilder {
6
+ clazz;
7
+ constructor(clazz) {
8
+ this.clazz = clazz;
9
+ }
10
+ build() {
11
+ const dataSource = ModelInfoUtil.getDataSource(this.clazz);
12
+ const tableName = ModelInfoUtil.getTableName(this.clazz) || NameUtil.getTableName(this.clazz.name);
13
+ const attributeMetaBuilder = new AttributeMetaBuilder(this.clazz);
14
+ const attributes = attributeMetaBuilder.build();
15
+ const indexMetaBuilder = new IndexMetaBuilder(this.clazz, attributes);
16
+ const indices = indexMetaBuilder.build();
17
+ return new ModelMetadata(dataSource, tableName, attributes, indices);
18
+ }
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxNZXRhQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk1vZGVsTWV0YUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFakUsTUFBTSxPQUFPLGdCQUFnQjtJQUNWLEtBQUssQ0FBb0I7SUFFMUMsWUFBWSxLQUF3QjtRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsS0FBSztRQUNILE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuRyxNQUFNLG9CQUFvQixHQUFHLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sVUFBVSxHQUFHLG9CQUFvQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2hELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3pDLE9BQU8sSUFBSSxhQUFhLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkUsQ0FBQztDQUNGIn0=
@@ -0,0 +1,3 @@
1
+ export * from './AttributeMetaBuilder.js';
2
+ export * from './IndexMetaBuilder.js';
3
+ export * from './ModelMetaBuilder.js';
@@ -0,0 +1,4 @@
1
+ export * from './AttributeMetaBuilder.js';
2
+ export * from './IndexMetaBuilder.js';
3
+ export * from './ModelMetaBuilder.js';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx1QkFBdUIsQ0FBQyJ9
@@ -0,0 +1,10 @@
1
+ import assert from 'node:assert';
2
+ import { ModelInfoUtil } from '../util/index.js';
3
+ export function Attribute(dataType, options) {
4
+ return function (target, propertyKey) {
5
+ const clazz = target.constructor;
6
+ assert(typeof propertyKey === 'string', `[model/${clazz.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
7
+ ModelInfoUtil.addModelAttribute(dataType, options, clazz, propertyKey);
8
+ };
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXR0cmlidXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQXR0cmlidXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQztBQUVqQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxRQUFnQixFQUFFLE9BQTBCO0lBQ3BFLE9BQU8sVUFBUyxNQUFXLEVBQUUsV0FBd0I7UUFDbkQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFdBQWdDLENBQUM7UUFDdEQsTUFBTSxDQUFDLE9BQU8sV0FBVyxLQUFLLFFBQVEsRUFDcEMsVUFBVSxLQUFLLENBQUMsSUFBSSxxREFBcUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsRyxhQUFhLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDekUsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
@@ -0,0 +1,7 @@
1
+ import { ModelInfoUtil } from '../util/index.js';
2
+ export function DataSource(dataSource) {
3
+ return function (clazz) {
4
+ ModelInfoUtil.setDataSource(dataSource, clazz);
5
+ };
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkRhdGFTb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE1BQU0sVUFBVSxVQUFVLENBQUMsVUFBa0I7SUFDM0MsT0FBTyxVQUFTLEtBQXdCO1FBQ3RDLGFBQWEsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUMsQ0FBQztBQUNKLENBQUMifQ==
@@ -0,0 +1,21 @@
1
+ import { SingletonProto } from '@eggjs/core-decorator';
2
+ import { AccessLevel, MODEL_PROTO_IMPL_TYPE } from '@eggjs/tegg-types';
3
+ import { ModelInfoUtil } from '../util/index.js';
4
+ export function Model(param) {
5
+ return function (clazz) {
6
+ ModelInfoUtil.setIsModel(true, clazz);
7
+ const func = SingletonProto({
8
+ name: clazz.name,
9
+ accessLevel: AccessLevel.PUBLIC,
10
+ protoImplType: MODEL_PROTO_IMPL_TYPE,
11
+ });
12
+ if (param?.tableName) {
13
+ ModelInfoUtil.setTableName(param.tableName, clazz);
14
+ }
15
+ if (param?.dataSource) {
16
+ ModelInfoUtil.setDataSource(param.dataSource, clazz);
17
+ }
18
+ func(clazz);
19
+ };
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJNb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxNQUFNLFVBQVUsS0FBSyxDQUFDLEtBQW1CO0lBQ3ZDLE9BQU8sVUFBUyxLQUF3QjtRQUN0QyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0QyxNQUFNLElBQUksR0FBRyxjQUFjLENBQUM7WUFDMUIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2hCLFdBQVcsRUFBRSxXQUFXLENBQUMsTUFBTTtZQUMvQixhQUFhLEVBQUUscUJBQXFCO1NBQ3JDLENBQUMsQ0FBQztRQUNILElBQUksS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQ3JCLGFBQWEsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBQ0QsSUFBSSxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUM7WUFDdEIsYUFBYSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDZCxDQUFDLENBQUM7QUFDSixDQUFDIn0=
@@ -0,0 +1,7 @@
1
+ import { ModelInfoUtil } from '../util/index.js';
2
+ export function Index(fields, params) {
3
+ return function (clazz) {
4
+ ModelInfoUtil.addModelIndex(fields, params, clazz);
5
+ };
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxJbmRleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk1vZGVsSW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE1BQU0sVUFBVSxLQUFLLENBQUMsTUFBZ0IsRUFBRSxNQUFxQjtJQUMzRCxPQUFPLFVBQVMsS0FBd0I7UUFDdEMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3JELENBQUMsQ0FBQztBQUNKLENBQUMifQ==
@@ -0,0 +1,4 @@
1
+ export * from './Attribute.js';
2
+ export * from './DataSource.js';
3
+ export * from './Model.js';
4
+ export * from './ModelIndex.js';
@@ -0,0 +1,5 @@
1
+ export * from './Attribute.js';
2
+ export * from './DataSource.js';
3
+ export * from './Model.js';
4
+ export * from './ModelIndex.js';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxpQkFBaUIsQ0FBQyJ9
package/src/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ export * from '@eggjs/tegg-types/orm';
2
+ export * from './builder/index.js';
3
+ export * from './decorator/index.js';
4
+ export * from './model/index.js';
5
+ export * from './util/index.js';
package/src/index.js ADDED
@@ -0,0 +1,6 @@
1
+ export * from '@eggjs/tegg-types/orm';
2
+ export * from './builder/index.js';
3
+ export * from './decorator/index.js';
4
+ export * from './model/index.js';
5
+ export * from './util/index.js';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsaUJBQWlCLENBQUMifQ==
@@ -0,0 +1,19 @@
1
+ export class AttributeMeta {
2
+ dataType;
3
+ propertyName;
4
+ attributeName;
5
+ allowNull;
6
+ autoIncrement;
7
+ primary;
8
+ unique;
9
+ constructor(dataType, propertyName, attributeName, allowNull, autoIncrement, primary, unique) {
10
+ this.dataType = dataType;
11
+ this.propertyName = propertyName;
12
+ this.attributeName = attributeName;
13
+ this.allowNull = allowNull;
14
+ this.autoIncrement = autoIncrement;
15
+ this.primary = primary;
16
+ this.unique = unique;
17
+ }
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXR0cmlidXRlTWV0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkF0dHJpYnV0ZU1ldGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGFBQWE7SUFDZixRQUFRLENBQVM7SUFDakIsWUFBWSxDQUFTO0lBQ3JCLGFBQWEsQ0FBUztJQUN0QixTQUFTLENBQVU7SUFDbkIsYUFBYSxDQUFVO0lBQ3ZCLE9BQU8sQ0FBVTtJQUNqQixNQUFNLENBQVU7SUFFekIsWUFDRSxRQUFnQixFQUNoQixZQUFvQixFQUNwQixhQUFxQixFQUNyQixTQUFrQixFQUNsQixhQUFzQixFQUN0QixPQUFnQixFQUNoQixNQUFlO1FBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztDQUNGIn0=
@@ -0,0 +1,13 @@
1
+ export class IndexMeta {
2
+ name;
3
+ fields;
4
+ unique;
5
+ primary;
6
+ constructor(name, fields, unique, primary) {
7
+ this.name = name;
8
+ this.fields = fields;
9
+ this.unique = unique;
10
+ this.primary = primary;
11
+ }
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXhNZXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiSW5kZXhNZXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxTQUFTO0lBQ1gsSUFBSSxDQUFTO0lBQ2IsTUFBTSxDQUFXO0lBQ2pCLE1BQU0sQ0FBVTtJQUNoQixPQUFPLENBQVU7SUFFMUIsWUFDRSxJQUFZLEVBQ1osTUFBZ0IsRUFDaEIsTUFBZSxFQUNmLE9BQWdCO1FBRWhCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7Q0FDRiJ9
@@ -1,5 +1,5 @@
1
- import { AttributeMeta } from './AttributeMeta';
2
- import { IndexMeta } from './IndexMeta';
1
+ import { AttributeMeta } from './AttributeMeta.js';
2
+ import { IndexMeta } from './IndexMeta.js';
3
3
  export declare class ModelMetadata {
4
4
  readonly dataSource: string | undefined;
5
5
  readonly tableName: string;
@@ -0,0 +1,13 @@
1
+ export class ModelMetadata {
2
+ dataSource;
3
+ tableName;
4
+ attributes;
5
+ indices;
6
+ constructor(dataSource, tableName, attributes, indices) {
7
+ this.dataSource = dataSource;
8
+ this.tableName = tableName;
9
+ this.attributes = attributes;
10
+ this.indices = indices;
11
+ }
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxNZXRhZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk1vZGVsTWV0YWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLGFBQWE7SUFDZixVQUFVLENBQXFCO0lBQy9CLFNBQVMsQ0FBUztJQUNsQixVQUFVLENBQXVCO0lBQ2pDLE9BQU8sQ0FBbUI7SUFFbkMsWUFBWSxVQUE4QixFQUFFLFNBQWlCLEVBQUUsVUFBZ0MsRUFBRSxPQUF5QjtRQUN4SCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0NBQ0YifQ==
@@ -0,0 +1,3 @@
1
+ export * from './AttributeMeta.js';
2
+ export * from './IndexMeta.js';
3
+ export * from './ModelMetadata.js';
@@ -0,0 +1,4 @@
1
+ export * from './AttributeMeta.js';
2
+ export * from './IndexMeta.js';
3
+ export * from './ModelMetadata.js';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxvQkFBb0IsQ0FBQyJ9
@@ -0,0 +1,43 @@
1
+ import { MetadataUtil } from '@eggjs/core-decorator';
2
+ import { IS_MODEL, MODEL_DATA_ATTRIBUTES, MODEL_DATA_INDICES, MODEL_DATA_SOURCE, MODEL_DATA_TABLE_NAME, } from '@eggjs/tegg-types';
3
+ export class ModelInfoUtil {
4
+ static setIsModel(isModel, clazz) {
5
+ MetadataUtil.defineMetaData(IS_MODEL, isModel, clazz);
6
+ }
7
+ static getIsModel(clazz) {
8
+ return MetadataUtil.getBooleanMetaData(IS_MODEL, clazz);
9
+ }
10
+ static setDataSource(dataSource, clazz) {
11
+ MetadataUtil.defineMetaData(MODEL_DATA_SOURCE, dataSource, clazz);
12
+ }
13
+ static getDataSource(clazz) {
14
+ return MetadataUtil.getMetaData(MODEL_DATA_SOURCE, clazz);
15
+ }
16
+ static setTableName(tableName, clazz) {
17
+ MetadataUtil.defineMetaData(MODEL_DATA_TABLE_NAME, tableName, clazz);
18
+ }
19
+ static getTableName(clazz) {
20
+ return MetadataUtil.getMetaData(MODEL_DATA_TABLE_NAME, clazz);
21
+ }
22
+ static addModelIndex(fields, options, clazz) {
23
+ const indexInfo = MetadataUtil.initOwnArrayMetaData(MODEL_DATA_INDICES, clazz, []);
24
+ indexInfo.push({
25
+ fields,
26
+ options,
27
+ });
28
+ }
29
+ static getModelIndices(clazz) {
30
+ return MetadataUtil.getArrayMetaData(MODEL_DATA_INDICES, clazz);
31
+ }
32
+ static addModelAttribute(dataType, options, clazz, property) {
33
+ const attributeMap = MetadataUtil.initOwnMapMetaData(MODEL_DATA_ATTRIBUTES, clazz, new Map());
34
+ attributeMap.set(property, {
35
+ dataType,
36
+ options,
37
+ });
38
+ }
39
+ static getModelAttributes(clazz) {
40
+ return MetadataUtil.getMetaData(MODEL_DATA_ATTRIBUTES, clazz);
41
+ }
42
+ }
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxJbmZvVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk1vZGVsSW5mb1V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBUXJELE9BQU8sRUFDTCxRQUFRLEVBQ1IscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIscUJBQXFCLEdBQ3RCLE1BQU0sbUJBQW1CLENBQUM7QUFJM0IsTUFBTSxPQUFPLGFBQWE7SUFDeEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFnQixFQUFFLEtBQXdCO1FBQzFELFlBQVksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUF3QjtRQUN4QyxPQUFPLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBa0IsRUFBRSxLQUF3QjtRQUMvRCxZQUFZLENBQUMsY0FBYyxDQUFDLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUF3QjtRQUMzQyxPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBaUIsRUFBRSxLQUF3QjtRQUM3RCxZQUFZLENBQUMsY0FBYyxDQUFDLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUF3QjtRQUMxQyxPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBZ0IsRUFBRSxPQUFpQyxFQUFFLEtBQXdCO1FBQ2hHLE1BQU0sU0FBUyxHQUEwQixZQUFZLENBQUMsb0JBQW9CLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDYixNQUFNO1lBQ04sT0FBTztTQUNSLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLEtBQXdCO1FBQzdDLE9BQU8sWUFBWSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsUUFBZ0IsRUFBRSxPQUFxQyxFQUFFLEtBQXdCLEVBQUUsUUFBZ0I7UUFDMUgsTUFBTSxZQUFZLEdBQXNCLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2pILFlBQVksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFO1lBQ3pCLFFBQVE7WUFDUixPQUFPO1NBQ1IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxLQUF3QjtRQUNoRCxPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEUsQ0FBQztDQUNGIn0=
@@ -1,7 +1,7 @@
1
1
  import type { EggProtoImplClass } from '@eggjs/tegg-types';
2
- import { ModelMetadata } from '../model/ModelMetadata';
2
+ import { ModelMetadata } from '../model/index.js';
3
3
  export declare const MODEL_METADATA: unique symbol;
4
4
  export declare class ModelMetadataUtil {
5
5
  static setModelMetadata(clazz: EggProtoImplClass, metaData: ModelMetadata): void;
6
- static getModelMetadata(clazz: any): ModelMetadata | undefined;
6
+ static getModelMetadata(clazz: EggProtoImplClass): ModelMetadata | undefined;
7
7
  }
@@ -0,0 +1,11 @@
1
+ import { MetadataUtil } from '@eggjs/core-decorator';
2
+ export const MODEL_METADATA = Symbol.for('EggPrototype#model#metadata');
3
+ export class ModelMetadataUtil {
4
+ static setModelMetadata(clazz, metaData) {
5
+ MetadataUtil.defineMetaData(MODEL_METADATA, metaData, clazz);
6
+ }
7
+ static getModelMetadata(clazz) {
8
+ return MetadataUtil.getMetaData(MODEL_METADATA, clazz);
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxNZXRhZGF0YVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJNb2RlbE1ldGFkYXRhVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJckQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztBQUV4RSxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUF3QixFQUFFLFFBQXVCO1FBQ3ZFLFlBQVksQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQXdCO1FBQzlDLE9BQU8sWUFBWSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQztDQUNGIn0=
@@ -0,0 +1,32 @@
1
+ import _ from 'lodash';
2
+ import pluralize from 'pluralize';
3
+ export class NameUtil {
4
+ /**
5
+ * get table name
6
+ * StudentScore -> student_scores
7
+ */
8
+ static getTableName(modelName) {
9
+ const modelNames = pluralize(modelName);
10
+ return _.snakeCase(modelNames);
11
+ }
12
+ /**
13
+ * get attribute name
14
+ * userName -> user_name
15
+ */
16
+ static getAttributeName(propertyName) {
17
+ return _.snakeCase(propertyName);
18
+ }
19
+ /**
20
+ * [ 'user_name' ], unique
21
+ * uk_user_name
22
+ *
23
+ * [ 'user_name', 'gender' ]
24
+ * idx_user_name_gender
25
+ */
26
+ static getIndexName(fields, options) {
27
+ const prefix = options?.unique ? 'uk_' : 'idx_';
28
+ const names = fields.join('_');
29
+ return prefix + names;
30
+ }
31
+ }
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmFtZVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJOYW1lVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDdkIsT0FBTyxTQUFTLE1BQU0sV0FBVyxDQUFDO0FBRWxDLE1BQU0sT0FBTyxRQUFRO0lBQ25COzs7T0FHRztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBaUI7UUFDbkMsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFlBQW9CO1FBQzFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFnQixFQUFFLE9BQThCO1FBQ2xFLE1BQU0sTUFBTSxHQUFHLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2hELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsT0FBTyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7Q0FDRiJ9
@@ -0,0 +1,3 @@
1
+ export * from './ModelInfoUtil.js';
2
+ export * from './ModelMetadataUtil.js';
3
+ export * from './NameUtil.js';
@@ -0,0 +1,4 @@
1
+ export * from './ModelInfoUtil.js';
2
+ export * from './ModelMetadataUtil.js';
3
+ export * from './NameUtil.js';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxlQUFlLENBQUMifQ==
package/dist/index.d.ts DELETED
@@ -1,13 +0,0 @@
1
- export * from '@eggjs/tegg-types/orm';
2
- export * from './src/model/ModelMetadata';
3
- export * from './src/model/AttributeMeta';
4
- export * from './src/model/IndexMeta';
5
- export * from './src/builder/AttributeMetaBuilder';
6
- export * from './src/builder/ModelMetaBuilder';
7
- export * from './src/builder/IndexMetaBuilder';
8
- export * from './src/decorator/Index';
9
- export * from './src/decorator/Model';
10
- export * from './src/decorator/Attribute';
11
- export * from './src/decorator/DataSource';
12
- export * from './src/util/ModelInfoUtil';
13
- export * from './src/util/ModelMetadataUtil';
package/dist/index.js DELETED
@@ -1,30 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("@eggjs/tegg-types/orm"), exports);
18
- __exportStar(require("./src/model/ModelMetadata"), exports);
19
- __exportStar(require("./src/model/AttributeMeta"), exports);
20
- __exportStar(require("./src/model/IndexMeta"), exports);
21
- __exportStar(require("./src/builder/AttributeMetaBuilder"), exports);
22
- __exportStar(require("./src/builder/ModelMetaBuilder"), exports);
23
- __exportStar(require("./src/builder/IndexMetaBuilder"), exports);
24
- __exportStar(require("./src/decorator/Index"), exports);
25
- __exportStar(require("./src/decorator/Model"), exports);
26
- __exportStar(require("./src/decorator/Attribute"), exports);
27
- __exportStar(require("./src/decorator/DataSource"), exports);
28
- __exportStar(require("./src/util/ModelInfoUtil"), exports);
29
- __exportStar(require("./src/util/ModelMetadataUtil"), exports);
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsd0RBQXNDO0FBQ3RDLDREQUEwQztBQUMxQyw0REFBMEM7QUFDMUMsd0RBQXNDO0FBQ3RDLHFFQUFtRDtBQUNuRCxpRUFBK0M7QUFDL0MsaUVBQStDO0FBQy9DLHdEQUFzQztBQUN0Qyx3REFBc0M7QUFDdEMsNERBQTBDO0FBQzFDLDZEQUEyQztBQUMzQywyREFBeUM7QUFDekMsK0RBQTZDIn0=
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AttributeMetaBuilder = void 0;
4
- const AttributeMeta_1 = require("../model/AttributeMeta");
5
- const ModelInfoUtil_1 = require("../util/ModelInfoUtil");
6
- const NameUtil_1 = require("../util/NameUtil");
7
- class AttributeMetaBuilder {
8
- constructor(clazz) {
9
- this.clazz = clazz;
10
- }
11
- build() {
12
- const modelAttributes = ModelInfoUtil_1.ModelInfoUtil.getModelAttributes(this.clazz);
13
- const attributes = [];
14
- if (!modelAttributes) {
15
- throw new Error(`model ${this.clazz.name} has no attributes`);
16
- }
17
- for (const [propertyName, attributeInfo] of modelAttributes) {
18
- const attribute = this.buildAttributeMeta(propertyName, attributeInfo);
19
- attributes.push(attribute);
20
- }
21
- return attributes;
22
- }
23
- buildAttributeMeta(propertyName, attributeInfo) {
24
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
25
- return new AttributeMeta_1.AttributeMeta(attributeInfo.dataType, propertyName, (_b = (_a = attributeInfo.options) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : NameUtil_1.NameUtil.getAttributeName(propertyName), (_d = (_c = attributeInfo.options) === null || _c === void 0 ? void 0 : _c.allowNull) !== null && _d !== void 0 ? _d : true, (_f = (_e = attributeInfo.options) === null || _e === void 0 ? void 0 : _e.autoIncrement) !== null && _f !== void 0 ? _f : false, (_h = (_g = attributeInfo.options) === null || _g === void 0 ? void 0 : _g.primary) !== null && _h !== void 0 ? _h : false, (_k = (_j = attributeInfo.options) === null || _j === void 0 ? void 0 : _j.unique) !== null && _k !== void 0 ? _k : false);
26
- }
27
- }
28
- exports.AttributeMetaBuilder = AttributeMetaBuilder;
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXR0cmlidXRlTWV0YUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbGRlci9BdHRyaWJ1dGVNZXRhQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwwREFBdUQ7QUFDdkQseURBQXNEO0FBQ3RELCtDQUE0QztBQUU1QyxNQUFhLG9CQUFvQjtJQUcvQixZQUFZLEtBQXdCO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxLQUFLO1FBQ0gsTUFBTSxlQUFlLEdBQUcsNkJBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckUsTUFBTSxVQUFVLEdBQXlCLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxLQUFLLE1BQU0sQ0FBRSxZQUFZLEVBQUUsYUFBYSxDQUFFLElBQUksZUFBZSxFQUFFLENBQUM7WUFDOUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQztZQUN2RSxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRU8sa0JBQWtCLENBQUMsWUFBb0IsRUFBRSxhQUFpQzs7UUFDaEYsT0FBTyxJQUFJLDZCQUFhLENBQ3RCLGFBQWEsQ0FBQyxRQUFRLEVBQ3RCLFlBQVksRUFDWixNQUFBLE1BQUEsYUFBYSxDQUFDLE9BQU8sMENBQUUsSUFBSSxtQ0FBSSxtQkFBUSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxFQUN0RSxNQUFBLE1BQUEsYUFBYSxDQUFDLE9BQU8sMENBQUUsU0FBUyxtQ0FBSSxJQUFJLEVBQ3hDLE1BQUEsTUFBQSxhQUFhLENBQUMsT0FBTywwQ0FBRSxhQUFhLG1DQUFJLEtBQUssRUFDN0MsTUFBQSxNQUFBLGFBQWEsQ0FBQyxPQUFPLDBDQUFFLE9BQU8sbUNBQUksS0FBSyxFQUN2QyxNQUFBLE1BQUEsYUFBYSxDQUFDLE9BQU8sMENBQUUsTUFBTSxtQ0FBSSxLQUFLLENBQ3ZDLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUEvQkQsb0RBK0JDIn0=
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IndexMetaBuilder = void 0;
4
- const IndexMeta_1 = require("../model/IndexMeta");
5
- const ModelInfoUtil_1 = require("../util/ModelInfoUtil");
6
- const NameUtil_1 = require("../util/NameUtil");
7
- class IndexMetaBuilder {
8
- constructor(clazz, attributes) {
9
- this.clazz = clazz;
10
- this.attributes = attributes;
11
- }
12
- build() {
13
- return ModelInfoUtil_1.ModelInfoUtil.getModelIndices(this.clazz)
14
- .map(indexInfo => this.buildIndexMeta(indexInfo));
15
- }
16
- buildIndexMeta(indexInfo) {
17
- var _a, _b, _c, _d, _e, _f;
18
- const fields = [];
19
- for (const field of indexInfo.fields) {
20
- const attribute = this.attributes.find(t => t.propertyName === field);
21
- if (!attribute) {
22
- throw new Error(`model ${this.clazz.name} has no attribute named ${field}`);
23
- }
24
- fields.push(attribute.attributeName);
25
- }
26
- let indexName;
27
- if ((_a = indexInfo.options) === null || _a === void 0 ? void 0 : _a.name) {
28
- indexName = indexInfo.options.name;
29
- }
30
- else {
31
- indexName = NameUtil_1.NameUtil.getIndexName(fields, { unique: (_b = indexInfo.options) === null || _b === void 0 ? void 0 : _b.unique });
32
- }
33
- return new IndexMeta_1.IndexMeta(indexName, fields, (_d = (_c = indexInfo.options) === null || _c === void 0 ? void 0 : _c.unique) !== null && _d !== void 0 ? _d : false, (_f = (_e = indexInfo.options) === null || _e === void 0 ? void 0 : _e.primary) !== null && _f !== void 0 ? _f : false);
34
- }
35
- }
36
- exports.IndexMetaBuilder = IndexMetaBuilder;
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXhNZXRhQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9idWlsZGVyL0luZGV4TWV0YUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0Esa0RBQStDO0FBQy9DLHlEQUFzRDtBQUN0RCwrQ0FBNEM7QUFHNUMsTUFBYSxnQkFBZ0I7SUFJM0IsWUFBWSxLQUF3QixFQUFFLFVBQWdDO1FBQ3BFLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyw2QkFBYSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2FBQzdDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU8sY0FBYyxDQUFDLFNBQXlCOztRQUM5QyxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7UUFDNUIsS0FBSyxNQUFNLEtBQUssSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDckMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxLQUFLLEtBQUssQ0FBQyxDQUFDO1lBQ3RFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDZixNQUFNLElBQUksS0FBSyxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLDJCQUEyQixLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzlFLENBQUM7WUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBRUQsSUFBSSxTQUFpQixDQUFDO1FBQ3RCLElBQUksTUFBQSxTQUFTLENBQUMsT0FBTywwQ0FBRSxJQUFJLEVBQUUsQ0FBQztZQUM1QixTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQVEsQ0FBQyxJQUFJLENBQUM7UUFDdEMsQ0FBQzthQUFNLENBQUM7WUFDTixTQUFTLEdBQUcsbUJBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQUEsU0FBUyxDQUFDLE9BQU8sMENBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNuRixDQUFDO1FBQ0QsT0FBTyxJQUFJLHFCQUFTLENBQ2xCLFNBQVMsRUFDVCxNQUFNLEVBQ04sTUFBQSxNQUFBLFNBQVMsQ0FBQyxPQUFPLDBDQUFFLE1BQU0sbUNBQUksS0FBSyxFQUNsQyxNQUFBLE1BQUEsU0FBUyxDQUFDLE9BQU8sMENBQUUsT0FBTyxtQ0FBSSxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0NBQ0Y7QUFwQ0QsNENBb0NDIn0=
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ModelMetaBuilder = void 0;
4
- const ModelMetadata_1 = require("../model/ModelMetadata");
5
- const ModelInfoUtil_1 = require("../util/ModelInfoUtil");
6
- const NameUtil_1 = require("../util/NameUtil");
7
- const IndexMetaBuilder_1 = require("./IndexMetaBuilder");
8
- const AttributeMetaBuilder_1 = require("./AttributeMetaBuilder");
9
- class ModelMetaBuilder {
10
- constructor(clazz) {
11
- this.clazz = clazz;
12
- }
13
- build() {
14
- const dataSource = ModelInfoUtil_1.ModelInfoUtil.getDataSource(this.clazz);
15
- const tableName = ModelInfoUtil_1.ModelInfoUtil.getTableName(this.clazz) || NameUtil_1.NameUtil.getTableName(this.clazz.name);
16
- const attributeMetaBuilder = new AttributeMetaBuilder_1.AttributeMetaBuilder(this.clazz);
17
- const attributes = attributeMetaBuilder.build();
18
- const indexMetaBuilder = new IndexMetaBuilder_1.IndexMetaBuilder(this.clazz, attributes);
19
- const indices = indexMetaBuilder.build();
20
- return new ModelMetadata_1.ModelMetadata(dataSource, tableName, attributes, indices);
21
- }
22
- }
23
- exports.ModelMetaBuilder = ModelMetaBuilder;
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxNZXRhQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9idWlsZGVyL01vZGVsTWV0YUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMERBQXVEO0FBQ3ZELHlEQUFzRDtBQUN0RCwrQ0FBNEM7QUFDNUMseURBQXNEO0FBQ3RELGlFQUE4RDtBQUU5RCxNQUFhLGdCQUFnQjtJQUczQixZQUFZLEtBQXdCO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxLQUFLO1FBQ0gsTUFBTSxVQUFVLEdBQUcsNkJBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELE1BQU0sU0FBUyxHQUFHLDZCQUFhLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxtQkFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25HLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSwyQ0FBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEUsTUFBTSxVQUFVLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDaEQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLG1DQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDdEUsTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekMsT0FBTyxJQUFJLDZCQUFhLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkUsQ0FBQztDQUNGO0FBaEJELDRDQWdCQyJ9
@@ -1,16 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Attribute = Attribute;
7
- const node_assert_1 = __importDefault(require("node:assert"));
8
- const ModelInfoUtil_1 = require("../util/ModelInfoUtil");
9
- function Attribute(dataType, options) {
10
- return function (target, propertyKey) {
11
- const clazz = target.constructor;
12
- (0, node_assert_1.default)(typeof propertyKey === 'string', `[model/${clazz.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
13
- ModelInfoUtil_1.ModelInfoUtil.addModelAttribute(dataType, options, clazz, propertyKey);
14
- };
15
- }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXR0cmlidXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RlY29yYXRvci9BdHRyaWJ1dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFJQSw4QkFPQztBQVhELDhEQUFpQztBQUVqQyx5REFBc0Q7QUFFdEQsU0FBZ0IsU0FBUyxDQUFDLFFBQWdCLEVBQUUsT0FBMEI7SUFDcEUsT0FBTyxVQUFTLE1BQVcsRUFBRSxXQUF3QjtRQUNuRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsV0FBZ0MsQ0FBQztRQUN0RCxJQUFBLHFCQUFNLEVBQUMsT0FBTyxXQUFXLEtBQUssUUFBUSxFQUNwQyxVQUFVLEtBQUssQ0FBQyxJQUFJLHFEQUFxRCxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xHLDZCQUFhLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDekUsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DataSource = DataSource;
4
- const ModelInfoUtil_1 = require("../util/ModelInfoUtil");
5
- function DataSource(dataSource) {
6
- return function (clazz) {
7
- ModelInfoUtil_1.ModelInfoUtil.setDataSource(dataSource, clazz);
8
- };
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNvcmF0b3IvRGF0YVNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLGdDQUlDO0FBTkQseURBQXNEO0FBRXRELFNBQWdCLFVBQVUsQ0FBQyxVQUFrQjtJQUMzQyxPQUFPLFVBQVMsS0FBd0I7UUFDdEMsNkJBQWEsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUMsQ0FBQztBQUNKLENBQUMifQ==
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Index = Index;
4
- const ModelInfoUtil_1 = require("../util/ModelInfoUtil");
5
- function Index(fields, params) {
6
- return function (clazz) {
7
- ModelInfoUtil_1.ModelInfoUtil.addModelIndex(fields, params, clazz);
8
- };
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVjb3JhdG9yL0luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0Esc0JBSUM7QUFORCx5REFBc0Q7QUFFdEQsU0FBZ0IsS0FBSyxDQUFDLE1BQWdCLEVBQUUsTUFBcUI7SUFDM0QsT0FBTyxVQUFTLEtBQXdCO1FBQ3RDLDZCQUFhLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Model = Model;
4
- const core_decorator_1 = require("@eggjs/core-decorator");
5
- const tegg_types_1 = require("@eggjs/tegg-types");
6
- const ModelInfoUtil_1 = require("../util/ModelInfoUtil");
7
- function Model(param) {
8
- return function (clazz) {
9
- ModelInfoUtil_1.ModelInfoUtil.setIsModel(true, clazz);
10
- const func = (0, core_decorator_1.SingletonProto)({
11
- name: clazz.name,
12
- accessLevel: tegg_types_1.AccessLevel.PUBLIC,
13
- protoImplType: tegg_types_1.MODEL_PROTO_IMPL_TYPE,
14
- });
15
- if (param === null || param === void 0 ? void 0 : param.tableName) {
16
- ModelInfoUtil_1.ModelInfoUtil.setTableName(param.tableName, clazz);
17
- }
18
- if (param === null || param === void 0 ? void 0 : param.dataSource) {
19
- ModelInfoUtil_1.ModelInfoUtil.setDataSource(param.dataSource, clazz);
20
- }
21
- func(clazz);
22
- };
23
- }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVjb3JhdG9yL01vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBS0Esc0JBZ0JDO0FBckJELDBEQUF1RDtBQUN2RCxrREFBdUU7QUFFdkUseURBQXNEO0FBRXRELFNBQWdCLEtBQUssQ0FBQyxLQUFtQjtJQUN2QyxPQUFPLFVBQVMsS0FBd0I7UUFDdEMsNkJBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sSUFBSSxHQUFHLElBQUEsK0JBQWMsRUFBQztZQUMxQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsV0FBVyxFQUFFLHdCQUFXLENBQUMsTUFBTTtZQUMvQixhQUFhLEVBQUUsa0NBQXFCO1NBQ3JDLENBQUMsQ0FBQztRQUNILElBQUksS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFNBQVMsRUFBRSxDQUFDO1lBQ3JCLDZCQUFhLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUNELElBQUksS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFVBQVUsRUFBRSxDQUFDO1lBQ3RCLDZCQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNkLENBQUMsQ0FBQztBQUNKLENBQUMifQ==
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AttributeMeta = void 0;
4
- class AttributeMeta {
5
- constructor(dataType, propertyName, attributeName, allowNull, autoIncrement, primary, unique) {
6
- this.dataType = dataType;
7
- this.propertyName = propertyName;
8
- this.attributeName = attributeName;
9
- this.allowNull = allowNull;
10
- this.autoIncrement = autoIncrement;
11
- this.primary = primary;
12
- this.unique = unique;
13
- }
14
- }
15
- exports.AttributeMeta = AttributeMeta;
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXR0cmlidXRlTWV0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RlbC9BdHRyaWJ1dGVNZXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLE1BQWEsYUFBYTtJQVN4QixZQUNFLFFBQWdCLEVBQ2hCLFlBQW9CLEVBQ3BCLGFBQXFCLEVBQ3JCLFNBQWtCLEVBQ2xCLGFBQXNCLEVBQ3RCLE9BQWdCLEVBQ2hCLE1BQWU7UUFDZixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0NBQ0Y7QUF6QkQsc0NBeUJDIn0=
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IndexMeta = void 0;
4
- class IndexMeta {
5
- constructor(name, fields, unique, primary) {
6
- this.name = name;
7
- this.fields = fields;
8
- this.unique = unique;
9
- this.primary = primary;
10
- }
11
- }
12
- exports.IndexMeta = IndexMeta;
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXhNZXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVsL0luZGV4TWV0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFhLFNBQVM7SUFNcEIsWUFDRSxJQUFZLEVBQ1osTUFBZ0IsRUFDaEIsTUFBZSxFQUNmLE9BQWdCO1FBRWhCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7Q0FDRjtBQWpCRCw4QkFpQkMifQ==
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ModelMetadata = void 0;
4
- class ModelMetadata {
5
- constructor(dataSource, tableName, attributes, indices) {
6
- this.dataSource = dataSource;
7
- this.tableName = tableName;
8
- this.attributes = attributes;
9
- this.indices = indices;
10
- }
11
- }
12
- exports.ModelMetadata = ModelMetadata;
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxNZXRhZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RlbC9Nb2RlbE1ldGFkYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLE1BQWEsYUFBYTtJQU14QixZQUFZLFVBQThCLEVBQUUsU0FBaUIsRUFBRSxVQUFnQyxFQUFFLE9BQXlCO1FBQ3hILElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7Q0FDRjtBQVpELHNDQVlDIn0=
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ModelInfoUtil = void 0;
4
- const core_decorator_1 = require("@eggjs/core-decorator");
5
- const tegg_types_1 = require("@eggjs/tegg-types");
6
- class ModelInfoUtil {
7
- static setIsModel(isModel, clazz) {
8
- core_decorator_1.MetadataUtil.defineMetaData(tegg_types_1.IS_MODEL, isModel, clazz);
9
- }
10
- static getIsModel(clazz) {
11
- return core_decorator_1.MetadataUtil.getBooleanMetaData(tegg_types_1.IS_MODEL, clazz);
12
- }
13
- static setDataSource(dataSource, clazz) {
14
- core_decorator_1.MetadataUtil.defineMetaData(tegg_types_1.MODEL_DATA_SOURCE, dataSource, clazz);
15
- }
16
- static getDataSource(clazz) {
17
- return core_decorator_1.MetadataUtil.getMetaData(tegg_types_1.MODEL_DATA_SOURCE, clazz);
18
- }
19
- static setTableName(tableName, clazz) {
20
- core_decorator_1.MetadataUtil.defineMetaData(tegg_types_1.MODEL_DATA_TABLE_NAME, tableName, clazz);
21
- }
22
- static getTableName(clazz) {
23
- return core_decorator_1.MetadataUtil.getMetaData(tegg_types_1.MODEL_DATA_TABLE_NAME, clazz);
24
- }
25
- static addModelIndex(fields, options, clazz) {
26
- const indexInfo = core_decorator_1.MetadataUtil.initOwnArrayMetaData(tegg_types_1.MODEL_DATA_INDICES, clazz, []);
27
- indexInfo.push({
28
- fields,
29
- options,
30
- });
31
- }
32
- static getModelIndices(clazz) {
33
- return core_decorator_1.MetadataUtil.getArrayMetaData(tegg_types_1.MODEL_DATA_INDICES, clazz);
34
- }
35
- static addModelAttribute(dataType, options, clazz, property) {
36
- const attributeMap = core_decorator_1.MetadataUtil.initOwnMapMetaData(tegg_types_1.MODEL_DATA_ATTRIBUTES, clazz, new Map());
37
- attributeMap.set(property, {
38
- dataType,
39
- options,
40
- });
41
- }
42
- static getModelAttributes(clazz) {
43
- return core_decorator_1.MetadataUtil.getMetaData(tegg_types_1.MODEL_DATA_ATTRIBUTES, clazz);
44
- }
45
- }
46
- exports.ModelInfoUtil = ModelInfoUtil;
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxJbmZvVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsL01vZGVsSW5mb1V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMERBQXFEO0FBUXJELGtEQU0yQjtBQUkzQixNQUFhLGFBQWE7SUFDeEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFnQixFQUFFLEtBQXdCO1FBQzFELDZCQUFZLENBQUMsY0FBYyxDQUFDLHFCQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQXdCO1FBQ3hDLE9BQU8sNkJBQVksQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDLFVBQWtCLEVBQUUsS0FBd0I7UUFDL0QsNkJBQVksQ0FBQyxjQUFjLENBQUMsOEJBQWlCLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQXdCO1FBQzNDLE9BQU8sNkJBQVksQ0FBQyxXQUFXLENBQUMsOEJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBaUIsRUFBRSxLQUF3QjtRQUM3RCw2QkFBWSxDQUFDLGNBQWMsQ0FBQyxrQ0FBcUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBd0I7UUFDMUMsT0FBTyw2QkFBWSxDQUFDLFdBQVcsQ0FBQyxrQ0FBcUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFnQixFQUFFLE9BQWlDLEVBQUUsS0FBd0I7UUFDaEcsTUFBTSxTQUFTLEdBQTBCLDZCQUFZLENBQUMsb0JBQW9CLENBQUMsK0JBQWtCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDYixNQUFNO1lBQ04sT0FBTztTQUNSLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLEtBQXdCO1FBQzdDLE9BQU8sNkJBQVksQ0FBQyxnQkFBZ0IsQ0FBQywrQkFBa0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFFBQWdCLEVBQUUsT0FBcUMsRUFBRSxLQUF3QixFQUFFLFFBQWdCO1FBQzFILE1BQU0sWUFBWSxHQUFzQiw2QkFBWSxDQUFDLGtCQUFrQixDQUFDLGtDQUFxQixFQUFFLEtBQUssRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDakgsWUFBWSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUU7WUFDekIsUUFBUTtZQUNSLE9BQU87U0FDUixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEtBQXdCO1FBQ2hELE9BQU8sNkJBQVksQ0FBQyxXQUFXLENBQUMsa0NBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEUsQ0FBQztDQUNGO0FBaERELHNDQWdEQyJ9
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ModelMetadataUtil = exports.MODEL_METADATA = void 0;
4
- const core_decorator_1 = require("@eggjs/core-decorator");
5
- exports.MODEL_METADATA = Symbol.for('EggPrototype#model#metadata');
6
- class ModelMetadataUtil {
7
- static setModelMetadata(clazz, metaData) {
8
- core_decorator_1.MetadataUtil.defineMetaData(exports.MODEL_METADATA, metaData, clazz);
9
- }
10
- static getModelMetadata(clazz) {
11
- return core_decorator_1.MetadataUtil.getMetaData(exports.MODEL_METADATA, clazz);
12
- }
13
- }
14
- exports.ModelMetadataUtil = ModelMetadataUtil;
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxNZXRhZGF0YVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbC9Nb2RlbE1ldGFkYXRhVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwwREFBcUQ7QUFJeEMsUUFBQSxjQUFjLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0FBRXhFLE1BQWEsaUJBQWlCO0lBQzVCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUF3QixFQUFFLFFBQXVCO1FBQ3ZFLDZCQUFZLENBQUMsY0FBYyxDQUFDLHNCQUFjLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBSztRQUMzQixPQUFPLDZCQUFZLENBQUMsV0FBVyxDQUFDLHNCQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQztDQUNGO0FBUkQsOENBUUMifQ==
@@ -1,39 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.NameUtil = void 0;
7
- const lodash_1 = __importDefault(require("lodash"));
8
- const pluralize_1 = __importDefault(require("pluralize"));
9
- class NameUtil {
10
- /**
11
- * get table name
12
- * StudentScore -> student_scores
13
- */
14
- static getTableName(modelName) {
15
- const modelNames = (0, pluralize_1.default)(modelName);
16
- return lodash_1.default.snakeCase(modelNames);
17
- }
18
- /**
19
- * get attribute name
20
- * userName -> user_name
21
- */
22
- static getAttributeName(propertyName) {
23
- return lodash_1.default.snakeCase(propertyName);
24
- }
25
- /**
26
- * [ 'user_name' ], unique
27
- * uk_user_name
28
- *
29
- * [ 'user_name', 'gender' ]
30
- * idx_user_name_gender
31
- */
32
- static getIndexName(fields, options) {
33
- const prefix = (options === null || options === void 0 ? void 0 : options.unique) ? 'uk_' : 'idx_';
34
- const names = fields.join('_');
35
- return prefix + names;
36
- }
37
- }
38
- exports.NameUtil = NameUtil;
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmFtZVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbC9OYW1lVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxvREFBdUI7QUFDdkIsMERBQWtDO0FBRWxDLE1BQWEsUUFBUTtJQUNuQjs7O09BR0c7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLFNBQWlCO1FBQ25DLE1BQU0sVUFBVSxHQUFHLElBQUEsbUJBQVMsRUFBQyxTQUFTLENBQUMsQ0FBQztRQUN4QyxPQUFPLGdCQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsWUFBb0I7UUFDMUMsT0FBTyxnQkFBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFnQixFQUFFLE9BQThCO1FBQ2xFLE1BQU0sTUFBTSxHQUFHLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE1BQU0sRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDaEQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQixPQUFPLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztDQUNGO0FBOUJELDRCQThCQyJ9
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes