@eggjs/dal-decorator 4.0.0-beta.4 → 4.0.0-beta.5
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/README.md +13 -1
- package/dist/decorator/Column.d.ts +6 -0
- package/dist/decorator/Column.js +17 -0
- package/dist/decorator/Dao.d.ts +6 -0
- package/dist/decorator/Dao.js +20 -0
- package/dist/decorator/DataSourceQualifier.d.ts +4 -0
- package/dist/decorator/DataSourceQualifier.js +12 -0
- package/dist/decorator/Table.d.ts +6 -0
- package/dist/decorator/Table.js +21 -0
- package/dist/decorator/TableIndex.d.ts +6 -0
- package/dist/decorator/TableIndex.js +12 -0
- package/dist/decorator/index.js +7 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.js +21 -0
- package/dist/model/ColumnModel.d.ts +38 -0
- package/dist/model/ColumnModel.js +59 -0
- package/dist/model/IndexModel.d.ts +32 -0
- package/dist/model/IndexModel.js +52 -0
- package/dist/model/TableModel.d.ts +55 -0
- package/dist/model/TableModel.js +116 -0
- package/dist/model/index.js +5 -0
- package/dist/type/MySql.d.ts +2 -0
- package/dist/type/Spatial.d.ts +14 -0
- package/dist/type/Spatial.js +31 -0
- package/dist/type/index.js +3 -0
- package/dist/util/ColumnInfoUtil.d.ts +13 -0
- package/dist/util/ColumnInfoUtil.js +21 -0
- package/dist/util/DaoInfoUtil.d.ts +9 -0
- package/dist/util/DaoInfoUtil.js +15 -0
- package/dist/util/IndexInfoUtil.d.ts +9 -0
- package/dist/util/IndexInfoUtil.js +15 -0
- package/dist/util/TableInfoUtil.d.ts +13 -0
- package/dist/util/TableInfoUtil.js +26 -0
- package/dist/util/index.js +6 -0
- package/package.json +23 -24
- package/src/decorator/Column.d.ts +0 -2
- package/src/decorator/Column.js +0 -14
- package/src/decorator/Dao.d.ts +0 -2
- package/src/decorator/Dao.js +0 -16
- package/src/decorator/DataSourceQualifier.d.ts +0 -1
- package/src/decorator/DataSourceQualifier.js +0 -8
- package/src/decorator/Table.d.ts +0 -2
- package/src/decorator/Table.js +0 -19
- package/src/decorator/TableIndex.d.ts +0 -2
- package/src/decorator/TableIndex.js +0 -7
- package/src/decorator/index.d.ts +0 -5
- package/src/decorator/index.js +0 -6
- package/src/index.d.ts +0 -5
- package/src/index.js +0 -6
- package/src/model/ColumnModel.d.ts +0 -34
- package/src/model/ColumnModel.js +0 -57
- package/src/model/IndexModel.d.ts +0 -29
- package/src/model/IndexModel.js +0 -50
- package/src/model/TableModel.d.ts +0 -51
- package/src/model/TableModel.js +0 -113
- package/src/model/index.d.ts +0 -3
- package/src/model/index.js +0 -4
- package/src/type/MySql.d.ts +0 -1
- package/src/type/MySql.js +0 -2
- package/src/type/Spatial.d.ts +0 -11
- package/src/type/Spatial.js +0 -31
- package/src/type/index.d.ts +0 -2
- package/src/type/index.js +0 -3
- package/src/util/ColumnInfoUtil.d.ts +0 -9
- package/src/util/ColumnInfoUtil.js +0 -19
- package/src/util/DaoInfoUtil.d.ts +0 -6
- package/src/util/DaoInfoUtil.js +0 -11
- package/src/util/IndexInfoUtil.d.ts +0 -5
- package/src/util/IndexInfoUtil.js +0 -12
- package/src/util/TableInfoUtil.d.ts +0 -9
- package/src/util/TableInfoUtil.js +0 -23
- package/src/util/index.d.ts +0 -4
- package/src/util/index.js +0 -5
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DAL_IS_DAO } from "@eggjs/tegg-types";
|
|
2
|
+
import { MetadataUtil } from "@eggjs/core-decorator";
|
|
3
|
+
|
|
4
|
+
//#region src/util/DaoInfoUtil.ts
|
|
5
|
+
var DaoInfoUtil = class {
|
|
6
|
+
static setIsDao(clazz) {
|
|
7
|
+
MetadataUtil.defineMetaData(DAL_IS_DAO, true, clazz);
|
|
8
|
+
}
|
|
9
|
+
static getIsDao(clazz) {
|
|
10
|
+
return MetadataUtil.getOwnMetaData(DAL_IS_DAO, clazz) === true;
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
//#endregion
|
|
15
|
+
export { DaoInfoUtil };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EggProtoImplClass, IndexParams } from "@eggjs/tegg-types";
|
|
2
|
+
|
|
3
|
+
//#region src/util/IndexInfoUtil.d.ts
|
|
4
|
+
declare class IndexInfoUtil {
|
|
5
|
+
static addIndex(clazz: EggProtoImplClass, index: IndexParams): void;
|
|
6
|
+
static getIndexList(clazz: EggProtoImplClass): Array<IndexParams>;
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { IndexInfoUtil };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DAL_INDEX_LIST } from "@eggjs/tegg-types";
|
|
2
|
+
import { MetadataUtil } from "@eggjs/core-decorator";
|
|
3
|
+
|
|
4
|
+
//#region src/util/IndexInfoUtil.ts
|
|
5
|
+
var IndexInfoUtil = class {
|
|
6
|
+
static addIndex(clazz, index) {
|
|
7
|
+
MetadataUtil.initOwnArrayMetaData(DAL_INDEX_LIST, clazz, []).push(index);
|
|
8
|
+
}
|
|
9
|
+
static getIndexList(clazz) {
|
|
10
|
+
return MetadataUtil.getMetaData(DAL_INDEX_LIST, clazz) || [];
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
//#endregion
|
|
15
|
+
export { IndexInfoUtil };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { EggProtoImplClass, TableParams } from "@eggjs/tegg-types";
|
|
2
|
+
|
|
3
|
+
//#region src/util/TableInfoUtil.d.ts
|
|
4
|
+
declare const TABLE_CLAZZ_LIST: Array<EggProtoImplClass>;
|
|
5
|
+
declare class TableInfoUtil {
|
|
6
|
+
static setIsTable(clazz: EggProtoImplClass): void;
|
|
7
|
+
static getClazzList(): EggProtoImplClass[];
|
|
8
|
+
static getIsTable(clazz: EggProtoImplClass): boolean;
|
|
9
|
+
static setTableParams(clazz: EggProtoImplClass, params: TableParams): void;
|
|
10
|
+
static getTableParams(clazz: EggProtoImplClass): TableParams | undefined;
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { TABLE_CLAZZ_LIST, TableInfoUtil };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { DAL_IS_TABLE, DAL_TABLE_PARAMS } from "@eggjs/tegg-types";
|
|
2
|
+
import { MetadataUtil } from "@eggjs/core-decorator";
|
|
3
|
+
|
|
4
|
+
//#region src/util/TableInfoUtil.ts
|
|
5
|
+
const TABLE_CLAZZ_LIST = [];
|
|
6
|
+
var TableInfoUtil = class {
|
|
7
|
+
static setIsTable(clazz) {
|
|
8
|
+
TABLE_CLAZZ_LIST.push(clazz);
|
|
9
|
+
MetadataUtil.defineMetaData(DAL_IS_TABLE, true, clazz);
|
|
10
|
+
}
|
|
11
|
+
static getClazzList() {
|
|
12
|
+
return TABLE_CLAZZ_LIST;
|
|
13
|
+
}
|
|
14
|
+
static getIsTable(clazz) {
|
|
15
|
+
return MetadataUtil.getMetaData(DAL_IS_TABLE, clazz) === true;
|
|
16
|
+
}
|
|
17
|
+
static setTableParams(clazz, params) {
|
|
18
|
+
MetadataUtil.defineMetaData(DAL_TABLE_PARAMS, params, clazz);
|
|
19
|
+
}
|
|
20
|
+
static getTableParams(clazz) {
|
|
21
|
+
return MetadataUtil.getMetaData(DAL_TABLE_PARAMS, clazz);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
//#endregion
|
|
26
|
+
export { TABLE_CLAZZ_LIST, TableInfoUtil };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eggjs/dal-decorator",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.5",
|
|
4
4
|
"description": "tegg dal decorator",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"egg",
|
|
@@ -11,24 +11,15 @@
|
|
|
11
11
|
],
|
|
12
12
|
"type": "module",
|
|
13
13
|
"exports": {
|
|
14
|
-
".":
|
|
15
|
-
|
|
16
|
-
"default": "./src/index.js"
|
|
17
|
-
}
|
|
14
|
+
".": "./dist/index.js",
|
|
15
|
+
"./package.json": "./package.json"
|
|
18
16
|
},
|
|
19
17
|
"files": [
|
|
20
|
-
"
|
|
21
|
-
"src/**/*.d.ts"
|
|
18
|
+
"dist"
|
|
22
19
|
],
|
|
23
|
-
"scripts": {
|
|
24
|
-
"clean": "tsc -b --clean",
|
|
25
|
-
"tsc": "npm run clean && tsc -p ./tsconfig.json",
|
|
26
|
-
"tsc:pub": "npm run tsc",
|
|
27
|
-
"prepublishOnly": "npm run tsc"
|
|
28
|
-
},
|
|
29
20
|
"author": "killagu <killa123@126.com>",
|
|
30
21
|
"license": "MIT",
|
|
31
|
-
"homepage": "https://github.com/eggjs/tegg",
|
|
22
|
+
"homepage": "https://github.com/eggjs/tegg/tree/next/core/dal-decorator",
|
|
32
23
|
"bugs": {
|
|
33
24
|
"url": "https://github.com/eggjs/tegg/issues"
|
|
34
25
|
},
|
|
@@ -38,24 +29,32 @@
|
|
|
38
29
|
"directory": "core/dal-decorator"
|
|
39
30
|
},
|
|
40
31
|
"engines": {
|
|
41
|
-
"node": ">=
|
|
32
|
+
"node": ">=22.18.0"
|
|
42
33
|
},
|
|
43
34
|
"dependencies": {
|
|
44
|
-
"@eggjs/
|
|
45
|
-
"@eggjs/tegg-common-util": "^4.0.0-beta.4",
|
|
46
|
-
"@eggjs/tegg-types": "^4.0.0-beta.4",
|
|
35
|
+
"@eggjs/rds": "^1.3.0",
|
|
47
36
|
"lodash.snakecase": "^4.1.1",
|
|
48
|
-
"pluralize": "^8.0.0"
|
|
37
|
+
"pluralize": "^8.0.0",
|
|
38
|
+
"@eggjs/core-decorator": "4.0.0-beta.5",
|
|
39
|
+
"@eggjs/tegg-types": "4.0.0-beta.5",
|
|
40
|
+
"@eggjs/tegg-common-util": "4.0.0-beta.5"
|
|
49
41
|
},
|
|
50
42
|
"publishConfig": {
|
|
51
43
|
"access": "public"
|
|
52
44
|
},
|
|
53
45
|
"devDependencies": {
|
|
54
46
|
"@types/lodash.snakecase": "^4.1.9",
|
|
55
|
-
"@types/node": "22",
|
|
47
|
+
"@types/node": "^22.10.5",
|
|
56
48
|
"@types/pluralize": "^0.0.33",
|
|
57
|
-
"
|
|
58
|
-
"typescript": "5"
|
|
49
|
+
"tsdown": "^0.15.6",
|
|
50
|
+
"typescript": "^5.9.3"
|
|
59
51
|
},
|
|
60
|
-
"
|
|
61
|
-
|
|
52
|
+
"main": "./dist/index.js",
|
|
53
|
+
"module": "./dist/index.js",
|
|
54
|
+
"types": "./dist/index.d.ts",
|
|
55
|
+
"scripts": {
|
|
56
|
+
"clean": "rimraf dist",
|
|
57
|
+
"build": "tsdown",
|
|
58
|
+
"typecheck": "tsc --noEmit"
|
|
59
|
+
}
|
|
60
|
+
}
|
package/src/decorator/Column.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import assert from 'node:assert';
|
|
2
|
-
import { ColumnInfoUtil } from '../util/index.js';
|
|
3
|
-
export function Column(type, params) {
|
|
4
|
-
return function (target, propertyKey) {
|
|
5
|
-
assert(typeof propertyKey === 'string', `[Column/${target.name}] expect column name be typeof string, but now is ${String(propertyKey)}`);
|
|
6
|
-
const tableClazz = target.constructor;
|
|
7
|
-
const columnName = propertyKey;
|
|
8
|
-
ColumnInfoUtil.addColumnType(tableClazz, columnName, type);
|
|
9
|
-
if (params) {
|
|
10
|
-
ColumnInfoUtil.addColumnInfo(tableClazz, columnName, params);
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sdW1uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQ29sdW1uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQztBQUVqQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxJQUFzQixFQUFFLE1BQXFCO0lBQ2xFLE9BQU8sVUFBUyxNQUFXLEVBQUUsV0FBd0I7UUFDbkQsTUFBTSxDQUFDLE9BQU8sV0FBVyxLQUFLLFFBQVEsRUFDcEMsV0FBVyxNQUFNLENBQUMsSUFBSSxxREFBcUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwRyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsV0FBZ0MsQ0FBQztRQUMzRCxNQUFNLFVBQVUsR0FBRyxXQUFxQixDQUFDO1FBQ3pDLGNBQWMsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsY0FBYyxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQy9ELENBQUM7SUFDSCxDQUFDLENBQUM7QUFDSixDQUFDIn0=
|
package/src/decorator/Dao.d.ts
DELETED
package/src/decorator/Dao.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Prototype, PrototypeUtil } from '@eggjs/core-decorator';
|
|
2
|
-
import { StackUtil } from '@eggjs/tegg-common-util';
|
|
3
|
-
import { AccessLevel, ObjectInitType } from '@eggjs/tegg-types';
|
|
4
|
-
import { DaoInfoUtil } from '../util/index.js';
|
|
5
|
-
export function Dao() {
|
|
6
|
-
return function (constructor) {
|
|
7
|
-
DaoInfoUtil.setIsDao(constructor);
|
|
8
|
-
const func = Prototype({
|
|
9
|
-
accessLevel: AccessLevel.PUBLIC,
|
|
10
|
-
initType: ObjectInitType.SINGLETON,
|
|
11
|
-
});
|
|
12
|
-
func(constructor);
|
|
13
|
-
PrototypeUtil.setFilePath(constructor, StackUtil.getCalleeFromStack(false, 5));
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGFvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRGFvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DLE1BQU0sVUFBVSxHQUFHO0lBQ2pCLE9BQU8sVUFBUyxXQUE4QjtRQUM1QyxXQUFXLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQztZQUNyQixXQUFXLEVBQUUsV0FBVyxDQUFDLE1BQU07WUFDL0IsUUFBUSxFQUFFLGNBQWMsQ0FBQyxTQUFTO1NBQ25DLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsQixhQUFhLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakYsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function DataSourceQualifier(dataSourceName: string): (target: any, propertyKey: PropertyKey, parameterIndex?: number) => void;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { DataSourceQualifierAttribute } from '@eggjs/tegg-types';
|
|
2
|
-
import { QualifierUtil } from '@eggjs/core-decorator';
|
|
3
|
-
export function DataSourceQualifier(dataSourceName) {
|
|
4
|
-
return function (target, propertyKey, parameterIndex) {
|
|
5
|
-
QualifierUtil.addInjectQualifier(target, propertyKey, parameterIndex, DataSourceQualifierAttribute, dataSourceName);
|
|
6
|
-
};
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVNvdXJjZVF1YWxpZmllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkRhdGFTb3VyY2VRdWFsaWZpZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXRELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxjQUFzQjtJQUN4RCxPQUFPLFVBQVMsTUFBVyxFQUFFLFdBQXdCLEVBQUUsY0FBdUI7UUFDNUUsYUFBYSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLDRCQUE0QixFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3RILENBQUMsQ0FBQztBQUNKLENBQUMifQ==
|
package/src/decorator/Table.d.ts
DELETED
package/src/decorator/Table.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Prototype, PrototypeUtil } from '@eggjs/core-decorator';
|
|
2
|
-
import { StackUtil } from '@eggjs/tegg-common-util';
|
|
3
|
-
import { AccessLevel, ObjectInitType } from '@eggjs/tegg-types';
|
|
4
|
-
import { TableInfoUtil } from '../util/index.js';
|
|
5
|
-
export function Table(params) {
|
|
6
|
-
return function (constructor) {
|
|
7
|
-
TableInfoUtil.setIsTable(constructor);
|
|
8
|
-
if (params) {
|
|
9
|
-
TableInfoUtil.setTableParams(constructor, params);
|
|
10
|
-
}
|
|
11
|
-
const func = Prototype({
|
|
12
|
-
accessLevel: AccessLevel.PUBLIC,
|
|
13
|
-
initType: ObjectInitType.ALWAYS_NEW,
|
|
14
|
-
});
|
|
15
|
-
func(constructor);
|
|
16
|
-
PrototypeUtil.setFilePath(constructor, StackUtil.getCalleeFromStack(false, 5));
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJUYWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxNQUFNLFVBQVUsS0FBSyxDQUFDLE1BQW9CO0lBQ3hDLE9BQU8sVUFBUyxXQUE4QjtRQUM1QyxhQUFhLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RDLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxhQUFhLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDO1lBQ3JCLFdBQVcsRUFBRSxXQUFXLENBQUMsTUFBTTtZQUMvQixRQUFRLEVBQUUsY0FBYyxDQUFDLFVBQVU7U0FDcEMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xCLGFBQWEsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRixDQUFDLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { IndexInfoUtil } from '../util/index.js';
|
|
2
|
-
export function Index(params) {
|
|
3
|
-
return function (constructor) {
|
|
4
|
-
IndexInfoUtil.addIndex(constructor, params);
|
|
5
|
-
};
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGVJbmRleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlRhYmxlSW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE1BQU0sVUFBVSxLQUFLLENBQUMsTUFBbUI7SUFDdkMsT0FBTyxVQUFTLFdBQThCO1FBQzVDLGFBQWEsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLENBQUMsQ0FBQztBQUNKLENBQUMifQ==
|
package/src/decorator/index.d.ts
DELETED
package/src/decorator/index.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export * from './Column.js';
|
|
2
|
-
export * from './Dao.js';
|
|
3
|
-
export * from './DataSourceQualifier.js';
|
|
4
|
-
export * from './Table.js';
|
|
5
|
-
export * from './TableIndex.js';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsaUJBQWlCLENBQUMifQ==
|
package/src/index.d.ts
DELETED
package/src/index.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export * from '@eggjs/tegg-types/dal';
|
|
2
|
-
export * from './decorator/index.js';
|
|
3
|
-
export * from './model/index.js';
|
|
4
|
-
export * from './type/index.js';
|
|
5
|
-
export * from './util/index.js';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsaUJBQWlCLENBQUMifQ==
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import type { ColumnFormat, ColumnParams, ColumnTypeParams } from '@eggjs/tegg-types';
|
|
2
|
-
export declare class ColumnModel {
|
|
3
|
-
columnName: string;
|
|
4
|
-
propertyName: string;
|
|
5
|
-
type: ColumnTypeParams;
|
|
6
|
-
canNull: boolean;
|
|
7
|
-
default?: string;
|
|
8
|
-
comment?: string;
|
|
9
|
-
visible?: boolean;
|
|
10
|
-
autoIncrement?: boolean;
|
|
11
|
-
uniqueKey?: boolean;
|
|
12
|
-
primaryKey?: boolean;
|
|
13
|
-
collate?: string;
|
|
14
|
-
columnFormat?: ColumnFormat;
|
|
15
|
-
engineAttribute?: string;
|
|
16
|
-
secondaryEngineAttribute?: string;
|
|
17
|
-
constructor(params: {
|
|
18
|
-
columnName: string;
|
|
19
|
-
propertyName: string;
|
|
20
|
-
type: ColumnTypeParams;
|
|
21
|
-
canNull: boolean;
|
|
22
|
-
default?: string;
|
|
23
|
-
comment?: string;
|
|
24
|
-
visible?: boolean;
|
|
25
|
-
autoIncrement?: boolean;
|
|
26
|
-
uniqueKey?: boolean;
|
|
27
|
-
primaryKey?: boolean;
|
|
28
|
-
collate?: string;
|
|
29
|
-
columnFormat?: ColumnFormat;
|
|
30
|
-
engineAttribute?: string;
|
|
31
|
-
secondaryEngineAttribute?: string;
|
|
32
|
-
});
|
|
33
|
-
static build(property: string, type: ColumnTypeParams, params?: ColumnParams): ColumnModel;
|
|
34
|
-
}
|
package/src/model/ColumnModel.js
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import snakecase from 'lodash.snakecase';
|
|
2
|
-
export class ColumnModel {
|
|
3
|
-
columnName;
|
|
4
|
-
propertyName;
|
|
5
|
-
type;
|
|
6
|
-
canNull;
|
|
7
|
-
default;
|
|
8
|
-
comment;
|
|
9
|
-
visible;
|
|
10
|
-
autoIncrement;
|
|
11
|
-
uniqueKey;
|
|
12
|
-
primaryKey;
|
|
13
|
-
collate;
|
|
14
|
-
columnFormat;
|
|
15
|
-
engineAttribute;
|
|
16
|
-
secondaryEngineAttribute;
|
|
17
|
-
constructor(params) {
|
|
18
|
-
this.columnName = params.columnName;
|
|
19
|
-
this.propertyName = params.propertyName;
|
|
20
|
-
this.type = params.type;
|
|
21
|
-
this.canNull = params.canNull;
|
|
22
|
-
this.default = params.default;
|
|
23
|
-
this.comment = params.comment;
|
|
24
|
-
this.visible = params.visible;
|
|
25
|
-
this.autoIncrement = params.autoIncrement;
|
|
26
|
-
this.uniqueKey = params.uniqueKey;
|
|
27
|
-
this.primaryKey = params.primaryKey;
|
|
28
|
-
this.collate = params.collate;
|
|
29
|
-
this.columnFormat = params.columnFormat;
|
|
30
|
-
this.engineAttribute = params.engineAttribute;
|
|
31
|
-
this.secondaryEngineAttribute = params.secondaryEngineAttribute;
|
|
32
|
-
}
|
|
33
|
-
static build(property, type, params) {
|
|
34
|
-
const columnName = params?.name ?? snakecase(property);
|
|
35
|
-
let canNull = params?.canNull ?? false;
|
|
36
|
-
if (params?.primaryKey) {
|
|
37
|
-
canNull = false;
|
|
38
|
-
}
|
|
39
|
-
return new ColumnModel({
|
|
40
|
-
columnName,
|
|
41
|
-
propertyName: property,
|
|
42
|
-
type,
|
|
43
|
-
canNull,
|
|
44
|
-
default: params?.default,
|
|
45
|
-
comment: params?.comment,
|
|
46
|
-
visible: params?.visible,
|
|
47
|
-
autoIncrement: params?.autoIncrement,
|
|
48
|
-
uniqueKey: params?.uniqueKey,
|
|
49
|
-
primaryKey: params?.primaryKey,
|
|
50
|
-
collate: params?.collate,
|
|
51
|
-
columnFormat: params?.columnFormat,
|
|
52
|
-
engineAttribute: params?.engineAttribute,
|
|
53
|
-
secondaryEngineAttribute: params?.secondaryEngineAttribute,
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sdW1uTW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJDb2x1bW5Nb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFNBQVMsTUFBTSxrQkFBa0IsQ0FBQztBQUd6QyxNQUFNLE9BQU8sV0FBVztJQUN0QixVQUFVLENBQVM7SUFDbkIsWUFBWSxDQUFTO0lBQ3JCLElBQUksQ0FBbUI7SUFDdkIsT0FBTyxDQUFVO0lBQ2pCLE9BQU8sQ0FBVTtJQUNqQixPQUFPLENBQVU7SUFDakIsT0FBTyxDQUFXO0lBQ2xCLGFBQWEsQ0FBVztJQUN4QixTQUFTLENBQVc7SUFDcEIsVUFBVSxDQUFXO0lBQ3JCLE9BQU8sQ0FBVTtJQUNqQixZQUFZLENBQWdCO0lBQzVCLGVBQWUsQ0FBVTtJQUN6Qix3QkFBd0IsQ0FBVTtJQUVsQyxZQUFZLE1BZVg7UUFDQyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDcEMsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO1FBQzFDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNsQyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUN4QyxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUM7UUFDOUMsSUFBSSxDQUFDLHdCQUF3QixHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQztJQUNsRSxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFnQixFQUFFLElBQXNCLEVBQUUsTUFBcUI7UUFDMUUsTUFBTSxVQUFVLEdBQUcsTUFBTSxFQUFFLElBQUksSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkQsSUFBSSxPQUFPLEdBQUcsTUFBTSxFQUFFLE9BQU8sSUFBSSxLQUFLLENBQUM7UUFDdkMsSUFBSSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7WUFDdkIsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNsQixDQUFDO1FBQ0QsT0FBTyxJQUFJLFdBQVcsQ0FBQztZQUNyQixVQUFVO1lBQ1YsWUFBWSxFQUFFLFFBQVE7WUFDdEIsSUFBSTtZQUNKLE9BQU87WUFDUCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU87WUFDeEIsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPO1lBQ3hCLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTztZQUN4QixhQUFhLEVBQUUsTUFBTSxFQUFFLGFBQWE7WUFDcEMsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTO1lBQzVCLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVTtZQUM5QixPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU87WUFDeEIsWUFBWSxFQUFFLE1BQU0sRUFBRSxZQUFZO1lBQ2xDLGVBQWUsRUFBRSxNQUFNLEVBQUUsZUFBZTtZQUN4Qyx3QkFBd0IsRUFBRSxNQUFNLEVBQUUsd0JBQXdCO1NBQzNELENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiJ9
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { EggProtoImplClass, IndexType } from '@eggjs/tegg-types';
|
|
2
|
-
import type { IndexParams, IndexStoreType } from '@eggjs/tegg-types';
|
|
3
|
-
import { ColumnModel } from './ColumnModel.js';
|
|
4
|
-
export interface IndexKey {
|
|
5
|
-
columnName: string;
|
|
6
|
-
propertyName: string;
|
|
7
|
-
}
|
|
8
|
-
export declare class IndexModel {
|
|
9
|
-
name: string;
|
|
10
|
-
keys: IndexKey[];
|
|
11
|
-
type: IndexType;
|
|
12
|
-
storeType?: IndexStoreType;
|
|
13
|
-
comment?: string;
|
|
14
|
-
engineAttribute?: string;
|
|
15
|
-
secondaryEngineAttribute?: string;
|
|
16
|
-
parser?: string;
|
|
17
|
-
constructor(params: {
|
|
18
|
-
name: string;
|
|
19
|
-
keys: IndexKey[];
|
|
20
|
-
type: IndexType;
|
|
21
|
-
storeType?: IndexStoreType;
|
|
22
|
-
comment?: string;
|
|
23
|
-
engineAttribute?: string;
|
|
24
|
-
secondaryEngineAttribute?: string;
|
|
25
|
-
parser?: string;
|
|
26
|
-
});
|
|
27
|
-
static buildIndexName(keys: string[], type: IndexType): string;
|
|
28
|
-
static build(params: IndexParams, columns: ColumnModel[], clazz: EggProtoImplClass<unknown>): IndexModel;
|
|
29
|
-
}
|
package/src/model/IndexModel.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { IndexType } from '@eggjs/tegg-types';
|
|
2
|
-
export class IndexModel {
|
|
3
|
-
name;
|
|
4
|
-
keys;
|
|
5
|
-
type;
|
|
6
|
-
storeType;
|
|
7
|
-
comment;
|
|
8
|
-
engineAttribute;
|
|
9
|
-
secondaryEngineAttribute;
|
|
10
|
-
parser;
|
|
11
|
-
constructor(params) {
|
|
12
|
-
this.name = params.name;
|
|
13
|
-
this.keys = params.keys;
|
|
14
|
-
this.type = params.type;
|
|
15
|
-
this.storeType = params.storeType;
|
|
16
|
-
this.comment = params.comment;
|
|
17
|
-
this.engineAttribute = params.engineAttribute;
|
|
18
|
-
this.secondaryEngineAttribute = params.secondaryEngineAttribute;
|
|
19
|
-
this.parser = params.parser;
|
|
20
|
-
}
|
|
21
|
-
static buildIndexName(keys, type) {
|
|
22
|
-
const prefix = type === IndexType.UNIQUE ? 'uk_' : 'idx_';
|
|
23
|
-
return prefix + keys.join('_');
|
|
24
|
-
}
|
|
25
|
-
static build(params, columns, clazz) {
|
|
26
|
-
const type = params.type ?? IndexType.INDEX;
|
|
27
|
-
const keys = params.keys.map(t => {
|
|
28
|
-
const column = columns.find(c => c.propertyName === t);
|
|
29
|
-
if (!column) {
|
|
30
|
-
throw new Error(`Table ${clazz.name} index configuration error: has no property named "${t}"`);
|
|
31
|
-
}
|
|
32
|
-
return {
|
|
33
|
-
propertyName: column.propertyName,
|
|
34
|
-
columnName: column.columnName,
|
|
35
|
-
};
|
|
36
|
-
});
|
|
37
|
-
const name = params.name ?? IndexModel.buildIndexName(keys.map(t => t.columnName), type);
|
|
38
|
-
return new IndexModel({
|
|
39
|
-
name,
|
|
40
|
-
keys,
|
|
41
|
-
type,
|
|
42
|
-
storeType: params.storeType,
|
|
43
|
-
comment: params.comment,
|
|
44
|
-
engineAttribute: params.engineAttribute,
|
|
45
|
-
secondaryEngineAttribute: params.secondaryEngineAttribute,
|
|
46
|
-
parser: params.parser,
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXhNb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkluZGV4TW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQVNqRSxNQUFNLE9BQU8sVUFBVTtJQUNyQixJQUFJLENBQVM7SUFDYixJQUFJLENBQWE7SUFDakIsSUFBSSxDQUFZO0lBRWhCLFNBQVMsQ0FBa0I7SUFDM0IsT0FBTyxDQUFVO0lBQ2pCLGVBQWUsQ0FBVTtJQUN6Qix3QkFBd0IsQ0FBVTtJQUNsQyxNQUFNLENBQVU7SUFFaEIsWUFBWSxNQVNYO1FBQ0MsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUM5QixJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUM7UUFDOUMsSUFBSSxDQUFDLHdCQUF3QixHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQztRQUNoRSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDOUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBYyxFQUFFLElBQWU7UUFDbkQsTUFBTSxNQUFNLEdBQUcsSUFBSSxLQUFLLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzFELE9BQU8sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBbUIsRUFBRSxPQUFzQixFQUFFLEtBQWlDO1FBQ3pGLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQztRQUM1QyxNQUFNLElBQUksR0FBb0IsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDaEQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsU0FBUyxLQUFLLENBQUMsSUFBSSxzREFBc0QsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqRyxDQUFDO1lBQ0QsT0FBTztnQkFDTCxZQUFZLEVBQUUsTUFBTyxDQUFDLFlBQVk7Z0JBQ2xDLFVBQVUsRUFBRSxNQUFPLENBQUMsVUFBVTthQUMvQixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN6RixPQUFPLElBQUksVUFBVSxDQUFDO1lBQ3BCLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztZQUMzQixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87WUFDdkIsZUFBZSxFQUFFLE1BQU0sQ0FBQyxlQUFlO1lBQ3ZDLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyx3QkFBd0I7WUFDekQsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiJ9
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import type { CompressionType, EggProtoImplClass, InsertMethod, RowFormat } from '@eggjs/tegg-types';
|
|
2
|
-
import { ColumnModel } from './ColumnModel.js';
|
|
3
|
-
import { IndexModel } from './IndexModel.js';
|
|
4
|
-
export declare class TableModel<T = object> {
|
|
5
|
-
clazz: EggProtoImplClass<T>;
|
|
6
|
-
name: string;
|
|
7
|
-
columns: Array<ColumnModel>;
|
|
8
|
-
indices: Array<IndexModel>;
|
|
9
|
-
dataSourceName: string;
|
|
10
|
-
comment?: string;
|
|
11
|
-
autoExtendSize?: number;
|
|
12
|
-
autoIncrement?: number;
|
|
13
|
-
avgRowLength?: number;
|
|
14
|
-
characterSet?: string;
|
|
15
|
-
collate?: string;
|
|
16
|
-
compression?: CompressionType;
|
|
17
|
-
encryption?: boolean;
|
|
18
|
-
engine?: string;
|
|
19
|
-
engineAttribute?: string;
|
|
20
|
-
insertMethod?: InsertMethod;
|
|
21
|
-
keyBlockSize?: number;
|
|
22
|
-
maxRows?: number;
|
|
23
|
-
minRows?: number;
|
|
24
|
-
rowFormat?: RowFormat;
|
|
25
|
-
secondaryEngineAttribute?: string;
|
|
26
|
-
constructor(params: {
|
|
27
|
-
clazz: EggProtoImplClass<T>;
|
|
28
|
-
name: string;
|
|
29
|
-
dataSourceName: string;
|
|
30
|
-
columns: Array<ColumnModel>;
|
|
31
|
-
indices: Array<IndexModel>;
|
|
32
|
-
comment?: string;
|
|
33
|
-
autoExtendSize?: number;
|
|
34
|
-
autoIncrement?: number;
|
|
35
|
-
avgRowLength?: number;
|
|
36
|
-
characterSet?: string;
|
|
37
|
-
collate?: string;
|
|
38
|
-
compression?: CompressionType;
|
|
39
|
-
encryption?: boolean;
|
|
40
|
-
engine?: string;
|
|
41
|
-
engineAttribute?: string;
|
|
42
|
-
insertMethod?: InsertMethod;
|
|
43
|
-
keyBlockSize?: number;
|
|
44
|
-
maxRows?: number;
|
|
45
|
-
minRows?: number;
|
|
46
|
-
rowFormat?: RowFormat;
|
|
47
|
-
secondaryEngineAttribute?: string;
|
|
48
|
-
});
|
|
49
|
-
getPrimary(): IndexModel | undefined;
|
|
50
|
-
static build<T>(clazz: EggProtoImplClass<T>): TableModel<T>;
|
|
51
|
-
}
|
package/src/model/TableModel.js
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import assert from 'node:assert';
|
|
2
|
-
import pluralize from 'pluralize';
|
|
3
|
-
import snakecase from 'lodash.snakecase';
|
|
4
|
-
import { IndexType } from '@eggjs/tegg-types';
|
|
5
|
-
import { ColumnModel } from './ColumnModel.js';
|
|
6
|
-
import { IndexModel } from './IndexModel.js';
|
|
7
|
-
import { TableInfoUtil, ColumnInfoUtil, IndexInfoUtil } from '../util/index.js';
|
|
8
|
-
export class TableModel {
|
|
9
|
-
clazz;
|
|
10
|
-
name;
|
|
11
|
-
columns;
|
|
12
|
-
indices;
|
|
13
|
-
dataSourceName;
|
|
14
|
-
comment;
|
|
15
|
-
autoExtendSize;
|
|
16
|
-
autoIncrement;
|
|
17
|
-
avgRowLength;
|
|
18
|
-
characterSet;
|
|
19
|
-
collate;
|
|
20
|
-
compression;
|
|
21
|
-
encryption;
|
|
22
|
-
engine;
|
|
23
|
-
engineAttribute;
|
|
24
|
-
insertMethod;
|
|
25
|
-
keyBlockSize;
|
|
26
|
-
maxRows;
|
|
27
|
-
minRows;
|
|
28
|
-
rowFormat;
|
|
29
|
-
secondaryEngineAttribute;
|
|
30
|
-
constructor(params) {
|
|
31
|
-
this.clazz = params.clazz;
|
|
32
|
-
this.name = params.name;
|
|
33
|
-
this.dataSourceName = params.dataSourceName;
|
|
34
|
-
this.columns = params.columns;
|
|
35
|
-
this.indices = params.indices;
|
|
36
|
-
this.comment = params.comment;
|
|
37
|
-
this.autoExtendSize = params.autoExtendSize;
|
|
38
|
-
this.autoIncrement = params.autoIncrement;
|
|
39
|
-
this.avgRowLength = params.avgRowLength;
|
|
40
|
-
this.characterSet = params.characterSet;
|
|
41
|
-
this.collate = params.collate;
|
|
42
|
-
this.compression = params.compression;
|
|
43
|
-
this.encryption = params.encryption;
|
|
44
|
-
this.engine = params.engine;
|
|
45
|
-
this.engineAttribute = params.engineAttribute;
|
|
46
|
-
this.insertMethod = params.insertMethod;
|
|
47
|
-
this.keyBlockSize = params.keyBlockSize;
|
|
48
|
-
this.maxRows = params.maxRows;
|
|
49
|
-
this.minRows = params.minRows;
|
|
50
|
-
this.rowFormat = params.rowFormat;
|
|
51
|
-
this.secondaryEngineAttribute = params.secondaryEngineAttribute;
|
|
52
|
-
}
|
|
53
|
-
getPrimary() {
|
|
54
|
-
const index = this.indices.find(t => t.type === IndexType.PRIMARY);
|
|
55
|
-
if (index) {
|
|
56
|
-
return index;
|
|
57
|
-
}
|
|
58
|
-
const primaryColumn = this.columns.filter(t => t.primaryKey === true);
|
|
59
|
-
return new IndexModel({
|
|
60
|
-
name: 'PRIMARY',
|
|
61
|
-
type: IndexType.PRIMARY,
|
|
62
|
-
keys: primaryColumn.map(t => {
|
|
63
|
-
return {
|
|
64
|
-
columnName: t.columnName,
|
|
65
|
-
propertyName: t.propertyName,
|
|
66
|
-
};
|
|
67
|
-
}),
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
static build(clazz) {
|
|
71
|
-
const params = TableInfoUtil.getTableParams(clazz);
|
|
72
|
-
const name = params?.name ?? snakecase(pluralize(clazz.name));
|
|
73
|
-
const columnInfoMap = ColumnInfoUtil.getColumnInfoMap(clazz);
|
|
74
|
-
const columnTypeMap = ColumnInfoUtil.getColumnTypeMap(clazz);
|
|
75
|
-
const dataSourceName = params?.dataSourceName ?? 'default';
|
|
76
|
-
assert(TableInfoUtil.getIsTable(clazz), `${name} is not Table`);
|
|
77
|
-
assert(columnTypeMap, `${name} has no columns`);
|
|
78
|
-
const columns = [];
|
|
79
|
-
const indices = [];
|
|
80
|
-
for (const [property, columnType] of columnTypeMap?.entries() ?? []) {
|
|
81
|
-
const columnParam = columnInfoMap?.get(property);
|
|
82
|
-
columns.push(ColumnModel.build(property, columnType, columnParam));
|
|
83
|
-
}
|
|
84
|
-
const indexList = IndexInfoUtil.getIndexList(clazz);
|
|
85
|
-
for (const index of indexList) {
|
|
86
|
-
indices.push(IndexModel.build(index, columns, clazz));
|
|
87
|
-
}
|
|
88
|
-
return new TableModel({
|
|
89
|
-
clazz,
|
|
90
|
-
name,
|
|
91
|
-
columns,
|
|
92
|
-
indices,
|
|
93
|
-
dataSourceName,
|
|
94
|
-
comment: params?.comment,
|
|
95
|
-
autoExtendSize: params?.autoExtendSize,
|
|
96
|
-
autoIncrement: params?.autoIncrement,
|
|
97
|
-
avgRowLength: params?.avgRowLength,
|
|
98
|
-
characterSet: params?.characterSet,
|
|
99
|
-
collate: params?.collate,
|
|
100
|
-
compression: params?.compression,
|
|
101
|
-
encryption: params?.encryption,
|
|
102
|
-
engine: params?.engine,
|
|
103
|
-
engineAttribute: params?.engineAttribute,
|
|
104
|
-
insertMethod: params?.insertMethod,
|
|
105
|
-
keyBlockSize: params?.keyBlockSize,
|
|
106
|
-
maxRows: params?.maxRows,
|
|
107
|
-
minRows: params?.minRows,
|
|
108
|
-
rowFormat: params?.rowFormat,
|
|
109
|
-
secondaryEngineAttribute: params?.secondaryEngineAttribute,
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGVNb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlRhYmxlTW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBQ2pDLE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQztBQUNsQyxPQUFPLFNBQVMsTUFBTSxrQkFBa0IsQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRixNQUFNLE9BQU8sVUFBVTtJQUNyQixLQUFLLENBQXVCO0lBQzVCLElBQUksQ0FBUztJQUNiLE9BQU8sQ0FBcUI7SUFDNUIsT0FBTyxDQUFvQjtJQUMzQixjQUFjLENBQVM7SUFDdkIsT0FBTyxDQUFVO0lBQ2pCLGNBQWMsQ0FBVTtJQUN4QixhQUFhLENBQVU7SUFDdkIsWUFBWSxDQUFVO0lBQ3RCLFlBQVksQ0FBVTtJQUN0QixPQUFPLENBQVU7SUFDakIsV0FBVyxDQUFtQjtJQUM5QixVQUFVLENBQVc7SUFDckIsTUFBTSxDQUFVO0lBQ2hCLGVBQWUsQ0FBVTtJQUN6QixZQUFZLENBQWdCO0lBQzVCLFlBQVksQ0FBVTtJQUN0QixPQUFPLENBQVU7SUFDakIsT0FBTyxDQUFVO0lBQ2pCLFNBQVMsQ0FBYTtJQUN0Qix3QkFBd0IsQ0FBVTtJQUVsQyxZQUFZLE1Bc0JYO1FBQ0MsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFj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
|