@eggjs/dal-decorator 4.0.0-beta.35 → 4.0.0-beta.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/decorator/Column.d.ts +6 -2
- package/dist/decorator/Column.js +16 -13
- package/dist/decorator/Dao.d.ts +6 -2
- package/dist/decorator/Dao.js +19 -15
- package/dist/decorator/DataSourceQualifier.d.ts +4 -1
- package/dist/decorator/DataSourceQualifier.js +11 -7
- package/dist/decorator/Table.d.ts +6 -2
- package/dist/decorator/Table.js +20 -18
- package/dist/decorator/TableIndex.d.ts +6 -2
- package/dist/decorator/TableIndex.js +11 -6
- package/dist/decorator/index.d.ts +5 -5
- package/dist/decorator/index.js +7 -6
- package/dist/index.d.ts +20 -5
- package/dist/index.js +21 -6
- package/dist/model/ColumnModel.d.ts +23 -19
- package/dist/model/ColumnModel.js +59 -57
- package/dist/model/IndexModel.d.ts +22 -19
- package/dist/model/IndexModel.js +51 -52
- package/dist/model/TableModel.d.ts +34 -30
- package/dist/model/TableModel.js +114 -111
- package/dist/model/index.d.ts +3 -3
- package/dist/model/index.js +5 -4
- package/dist/type/MySql.d.ts +2 -1
- package/dist/type/Spatial.d.ts +13 -10
- package/dist/type/Spatial.js +31 -31
- package/dist/type/index.d.ts +2 -2
- package/dist/type/index.js +3 -3
- package/dist/util/ColumnInfoUtil.d.ts +12 -8
- package/dist/util/ColumnInfoUtil.js +21 -19
- package/dist/util/DaoInfoUtil.d.ts +8 -5
- package/dist/util/DaoInfoUtil.js +15 -11
- package/dist/util/IndexInfoUtil.d.ts +8 -4
- package/dist/util/IndexInfoUtil.js +15 -12
- package/dist/util/TableInfoUtil.d.ts +12 -8
- package/dist/util/TableInfoUtil.js +26 -23
- package/dist/util/index.d.ts +4 -4
- package/dist/util/index.js +6 -5
- package/package.json +26 -29
- package/dist/type/MySql.js +0 -2
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { ColumnParams, ColumnTypeParams } from "@eggjs/tegg-types";
|
|
2
|
+
|
|
3
|
+
//#region src/decorator/Column.d.ts
|
|
4
|
+
declare function Column(type: ColumnTypeParams, params?: ColumnParams): (target: any, propertyKey: PropertyKey) => void;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { Column };
|
package/dist/decorator/Column.js
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import { ColumnInfoUtil } from "../util/ColumnInfoUtil.js";
|
|
2
|
+
import "../util/index.js";
|
|
3
|
+
import assert from "node:assert";
|
|
4
|
+
|
|
5
|
+
//#region src/decorator/Column.ts
|
|
6
|
+
function Column(type, params) {
|
|
7
|
+
return function(target, propertyKey) {
|
|
8
|
+
assert(typeof propertyKey === "string", `[Column/${target.name}] expect column name be typeof string, but now is ${String(propertyKey)}`);
|
|
9
|
+
const tableClazz = target.constructor;
|
|
10
|
+
const columnName = propertyKey;
|
|
11
|
+
ColumnInfoUtil.addColumnType(tableClazz, columnName, type);
|
|
12
|
+
if (params) ColumnInfoUtil.addColumnInfo(tableClazz, columnName, params);
|
|
13
|
+
};
|
|
13
14
|
}
|
|
14
|
-
|
|
15
|
+
|
|
16
|
+
//#endregion
|
|
17
|
+
export { Column };
|
package/dist/decorator/Dao.d.ts
CHANGED
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { EggProtoImplClass } from "@eggjs/tegg-types";
|
|
2
|
+
|
|
3
|
+
//#region src/decorator/Dao.d.ts
|
|
4
|
+
declare function Dao(): (constructor: EggProtoImplClass) => void;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { Dao };
|
package/dist/decorator/Dao.js
CHANGED
|
@@ -1,16 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
import { DaoInfoUtil } from "../util/DaoInfoUtil.js";
|
|
2
|
+
import "../util/index.js";
|
|
3
|
+
import { Prototype, PrototypeUtil } from "@eggjs/core-decorator";
|
|
4
|
+
import { AccessLevel, ObjectInitType } from "@eggjs/tegg-types";
|
|
5
|
+
import { StackUtil } from "@eggjs/tegg-common-util";
|
|
6
|
+
|
|
7
|
+
//#region src/decorator/Dao.ts
|
|
8
|
+
function Dao() {
|
|
9
|
+
return function(constructor) {
|
|
10
|
+
DaoInfoUtil.setIsDao(constructor);
|
|
11
|
+
Prototype({
|
|
12
|
+
accessLevel: AccessLevel.PUBLIC,
|
|
13
|
+
initType: ObjectInitType.SINGLETON
|
|
14
|
+
})(constructor);
|
|
15
|
+
PrototypeUtil.setFilePath(constructor, StackUtil.getCalleeFromStack(false, 5));
|
|
16
|
+
};
|
|
15
17
|
}
|
|
16
|
-
|
|
18
|
+
|
|
19
|
+
//#endregion
|
|
20
|
+
export { Dao };
|
|
@@ -1 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
//#region src/decorator/DataSourceQualifier.d.ts
|
|
2
|
+
declare function DataSourceQualifier(dataSourceName: string): (target: any, propertyKey: PropertyKey, parameterIndex?: number) => void;
|
|
3
|
+
//#endregion
|
|
4
|
+
export { DataSourceQualifier };
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import { QualifierUtil } from
|
|
2
|
-
import { DataSourceQualifierAttribute } from
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { QualifierUtil } from "@eggjs/core-decorator";
|
|
2
|
+
import { DataSourceQualifierAttribute } from "@eggjs/tegg-types";
|
|
3
|
+
|
|
4
|
+
//#region src/decorator/DataSourceQualifier.ts
|
|
5
|
+
function DataSourceQualifier(dataSourceName) {
|
|
6
|
+
return function(target, propertyKey, parameterIndex) {
|
|
7
|
+
QualifierUtil.addInjectQualifier(target, propertyKey, parameterIndex, DataSourceQualifierAttribute, dataSourceName);
|
|
8
|
+
};
|
|
7
9
|
}
|
|
8
|
-
|
|
10
|
+
|
|
11
|
+
//#endregion
|
|
12
|
+
export { DataSourceQualifier };
|
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { EggProtoImplClass, TableParams } from "@eggjs/tegg-types";
|
|
2
|
+
|
|
3
|
+
//#region src/decorator/Table.d.ts
|
|
4
|
+
declare function Table(params?: TableParams): (constructor: EggProtoImplClass) => void;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { Table };
|
package/dist/decorator/Table.js
CHANGED
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
import { TableInfoUtil } from "../util/TableInfoUtil.js";
|
|
2
|
+
import "../util/index.js";
|
|
3
|
+
import { Prototype, PrototypeUtil } from "@eggjs/core-decorator";
|
|
4
|
+
import { AccessLevel, ObjectInitType } from "@eggjs/tegg-types";
|
|
5
|
+
import { StackUtil } from "@eggjs/tegg-common-util";
|
|
6
|
+
|
|
7
|
+
//#region src/decorator/Table.ts
|
|
8
|
+
function Table(params) {
|
|
9
|
+
return function(constructor) {
|
|
10
|
+
TableInfoUtil.setIsTable(constructor);
|
|
11
|
+
if (params) TableInfoUtil.setTableParams(constructor, params);
|
|
12
|
+
Prototype({
|
|
13
|
+
accessLevel: AccessLevel.PUBLIC,
|
|
14
|
+
initType: ObjectInitType.ALWAYS_NEW
|
|
15
|
+
})(constructor);
|
|
16
|
+
PrototypeUtil.setFilePath(constructor, StackUtil.getCalleeFromStack(false, 5));
|
|
17
|
+
};
|
|
18
18
|
}
|
|
19
|
-
|
|
19
|
+
|
|
20
|
+
//#endregion
|
|
21
|
+
export { Table };
|
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { EggProtoImplClass, IndexParams } from "@eggjs/tegg-types";
|
|
2
|
+
|
|
3
|
+
//#region src/decorator/TableIndex.d.ts
|
|
4
|
+
declare function Index(params: IndexParams): (constructor: EggProtoImplClass) => void;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { Index };
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
import { IndexInfoUtil } from "../util/
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { IndexInfoUtil } from "../util/IndexInfoUtil.js";
|
|
2
|
+
import "../util/index.js";
|
|
3
|
+
|
|
4
|
+
//#region src/decorator/TableIndex.ts
|
|
5
|
+
function Index(params) {
|
|
6
|
+
return function(constructor) {
|
|
7
|
+
IndexInfoUtil.addIndex(constructor, params);
|
|
8
|
+
};
|
|
6
9
|
}
|
|
7
|
-
|
|
10
|
+
|
|
11
|
+
//#endregion
|
|
12
|
+
export { Index };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { Column } from "./Column.js";
|
|
2
|
+
import { Dao } from "./Dao.js";
|
|
3
|
+
import { DataSourceQualifier } from "./DataSourceQualifier.js";
|
|
4
|
+
import { Table } from "./Table.js";
|
|
5
|
+
import { Index } from "./TableIndex.js";
|
package/dist/decorator/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { Column } from "./Column.js";
|
|
2
|
+
import { Dao } from "./Dao.js";
|
|
3
|
+
import { DataSourceQualifier } from "./DataSourceQualifier.js";
|
|
4
|
+
import { Table } from "./Table.js";
|
|
5
|
+
import { Index } from "./TableIndex.js";
|
|
6
|
+
|
|
7
|
+
export { };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { Column } from "./decorator/Column.js";
|
|
2
|
+
import { Dao } from "./decorator/Dao.js";
|
|
3
|
+
import { DataSourceQualifier } from "./decorator/DataSourceQualifier.js";
|
|
4
|
+
import { Table } from "./decorator/Table.js";
|
|
5
|
+
import { Index } from "./decorator/TableIndex.js";
|
|
6
|
+
import "./decorator/index.js";
|
|
7
|
+
import { ColumnModel } from "./model/ColumnModel.js";
|
|
8
|
+
import { IndexKey, IndexModel } from "./model/IndexModel.js";
|
|
9
|
+
import { TableModel } from "./model/TableModel.js";
|
|
10
|
+
import "./model/index.js";
|
|
11
|
+
import { DeleteResult, InsertResult, UpdateResult } from "./type/MySql.js";
|
|
12
|
+
import { SpatialHelper } from "./type/Spatial.js";
|
|
13
|
+
import "./type/index.js";
|
|
14
|
+
import { ColumnInfoMap, ColumnInfoUtil, ColumnTypeMap } from "./util/ColumnInfoUtil.js";
|
|
15
|
+
import { DaoInfoUtil } from "./util/DaoInfoUtil.js";
|
|
16
|
+
import { IndexInfoUtil } from "./util/IndexInfoUtil.js";
|
|
17
|
+
import { TABLE_CLAZZ_LIST, TableInfoUtil } from "./util/TableInfoUtil.js";
|
|
18
|
+
import "./util/index.js";
|
|
19
|
+
export * from "@eggjs/tegg-types/dal";
|
|
20
|
+
export { Column, ColumnInfoMap, ColumnInfoUtil, ColumnModel, ColumnTypeMap, Dao, DaoInfoUtil, DataSourceQualifier, DeleteResult, Index, IndexInfoUtil, IndexKey, IndexModel, InsertResult, SpatialHelper, TABLE_CLAZZ_LIST, Table, TableInfoUtil, TableModel, UpdateResult };
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { ColumnInfoUtil } from "./util/ColumnInfoUtil.js";
|
|
2
|
+
import { DaoInfoUtil } from "./util/DaoInfoUtil.js";
|
|
3
|
+
import { IndexInfoUtil } from "./util/IndexInfoUtil.js";
|
|
4
|
+
import { TABLE_CLAZZ_LIST, TableInfoUtil } from "./util/TableInfoUtil.js";
|
|
5
|
+
import "./util/index.js";
|
|
6
|
+
import { Column } from "./decorator/Column.js";
|
|
7
|
+
import { Dao } from "./decorator/Dao.js";
|
|
8
|
+
import { DataSourceQualifier } from "./decorator/DataSourceQualifier.js";
|
|
9
|
+
import { Table } from "./decorator/Table.js";
|
|
10
|
+
import { Index } from "./decorator/TableIndex.js";
|
|
11
|
+
import "./decorator/index.js";
|
|
12
|
+
import { ColumnModel } from "./model/ColumnModel.js";
|
|
13
|
+
import { IndexModel } from "./model/IndexModel.js";
|
|
14
|
+
import { TableModel } from "./model/TableModel.js";
|
|
15
|
+
import "./model/index.js";
|
|
16
|
+
import { SpatialHelper } from "./type/Spatial.js";
|
|
17
|
+
import "./type/index.js";
|
|
18
|
+
|
|
19
|
+
export * from "@eggjs/tegg-types/dal"
|
|
20
|
+
|
|
21
|
+
export { Column, ColumnInfoUtil, ColumnModel, Dao, DaoInfoUtil, DataSourceQualifier, Index, IndexInfoUtil, IndexModel, SpatialHelper, TABLE_CLAZZ_LIST, Table, TableInfoUtil, TableModel };
|
|
@@ -1,5 +1,22 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { ColumnFormat, ColumnParams, ColumnTypeParams } from "@eggjs/tegg-types";
|
|
2
|
+
|
|
3
|
+
//#region src/model/ColumnModel.d.ts
|
|
4
|
+
declare class ColumnModel {
|
|
5
|
+
columnName: string;
|
|
6
|
+
propertyName: string;
|
|
7
|
+
type: ColumnTypeParams;
|
|
8
|
+
canNull: boolean;
|
|
9
|
+
default?: string;
|
|
10
|
+
comment?: string;
|
|
11
|
+
visible?: boolean;
|
|
12
|
+
autoIncrement?: boolean;
|
|
13
|
+
uniqueKey?: boolean;
|
|
14
|
+
primaryKey?: boolean;
|
|
15
|
+
collate?: string;
|
|
16
|
+
columnFormat?: ColumnFormat;
|
|
17
|
+
engineAttribute?: string;
|
|
18
|
+
secondaryEngineAttribute?: string;
|
|
19
|
+
constructor(params: {
|
|
3
20
|
columnName: string;
|
|
4
21
|
propertyName: string;
|
|
5
22
|
type: ColumnTypeParams;
|
|
@@ -14,21 +31,8 @@ export declare class ColumnModel {
|
|
|
14
31
|
columnFormat?: ColumnFormat;
|
|
15
32
|
engineAttribute?: string;
|
|
16
33
|
secondaryEngineAttribute?: string;
|
|
17
|
-
|
|
18
|
-
|
|
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
|
+
});
|
|
35
|
+
static build(property: string, type: ColumnTypeParams, params?: ColumnParams): ColumnModel;
|
|
34
36
|
}
|
|
37
|
+
//#endregion
|
|
38
|
+
export { ColumnModel };
|
|
@@ -1,57 +1,59 @@
|
|
|
1
|
-
import snakecase from
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
|
|
1
|
+
import snakecase from "lodash.snakecase";
|
|
2
|
+
|
|
3
|
+
//#region src/model/ColumnModel.ts
|
|
4
|
+
var ColumnModel = class ColumnModel {
|
|
5
|
+
columnName;
|
|
6
|
+
propertyName;
|
|
7
|
+
type;
|
|
8
|
+
canNull;
|
|
9
|
+
default;
|
|
10
|
+
comment;
|
|
11
|
+
visible;
|
|
12
|
+
autoIncrement;
|
|
13
|
+
uniqueKey;
|
|
14
|
+
primaryKey;
|
|
15
|
+
collate;
|
|
16
|
+
columnFormat;
|
|
17
|
+
engineAttribute;
|
|
18
|
+
secondaryEngineAttribute;
|
|
19
|
+
constructor(params) {
|
|
20
|
+
this.columnName = params.columnName;
|
|
21
|
+
this.propertyName = params.propertyName;
|
|
22
|
+
this.type = params.type;
|
|
23
|
+
this.canNull = params.canNull;
|
|
24
|
+
this.default = params.default;
|
|
25
|
+
this.comment = params.comment;
|
|
26
|
+
this.visible = params.visible;
|
|
27
|
+
this.autoIncrement = params.autoIncrement;
|
|
28
|
+
this.uniqueKey = params.uniqueKey;
|
|
29
|
+
this.primaryKey = params.primaryKey;
|
|
30
|
+
this.collate = params.collate;
|
|
31
|
+
this.columnFormat = params.columnFormat;
|
|
32
|
+
this.engineAttribute = params.engineAttribute;
|
|
33
|
+
this.secondaryEngineAttribute = params.secondaryEngineAttribute;
|
|
34
|
+
}
|
|
35
|
+
static build(property, type, params) {
|
|
36
|
+
const columnName = params?.name ?? snakecase(property);
|
|
37
|
+
let canNull = params?.canNull ?? false;
|
|
38
|
+
if (params?.primaryKey) canNull = false;
|
|
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
|
+
|
|
58
|
+
//#endregion
|
|
59
|
+
export { ColumnModel };
|
|
@@ -1,11 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { ColumnModel } from "./ColumnModel.js";
|
|
2
|
+
import { EggProtoImplClass, IndexParams, IndexStoreType, IndexType } from "@eggjs/tegg-types";
|
|
3
|
+
|
|
4
|
+
//#region src/model/IndexModel.d.ts
|
|
5
|
+
interface IndexKey {
|
|
6
|
+
columnName: string;
|
|
7
|
+
propertyName: string;
|
|
7
8
|
}
|
|
8
|
-
|
|
9
|
+
declare class IndexModel {
|
|
10
|
+
name: string;
|
|
11
|
+
keys: IndexKey[];
|
|
12
|
+
type: IndexType;
|
|
13
|
+
storeType?: IndexStoreType;
|
|
14
|
+
comment?: string;
|
|
15
|
+
engineAttribute?: string;
|
|
16
|
+
secondaryEngineAttribute?: string;
|
|
17
|
+
parser?: string;
|
|
18
|
+
constructor(params: {
|
|
9
19
|
name: string;
|
|
10
20
|
keys: IndexKey[];
|
|
11
21
|
type: IndexType;
|
|
@@ -14,16 +24,9 @@ export declare class IndexModel {
|
|
|
14
24
|
engineAttribute?: string;
|
|
15
25
|
secondaryEngineAttribute?: string;
|
|
16
26
|
parser?: string;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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;
|
|
27
|
+
});
|
|
28
|
+
static buildIndexName(keys: string[], type: IndexType): string;
|
|
29
|
+
static build(params: IndexParams, columns: ColumnModel[], clazz: EggProtoImplClass<unknown>): IndexModel;
|
|
29
30
|
}
|
|
31
|
+
//#endregion
|
|
32
|
+
export { IndexKey, IndexModel };
|
package/dist/model/IndexModel.js
CHANGED
|
@@ -1,52 +1,51 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXhNb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbC9JbmRleE1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMEIsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBTy9DLE1BQU0sT0FBTyxVQUFVO0lBQ3JCLElBQUksQ0FBUztJQUNiLElBQUksQ0FBYTtJQUNqQixJQUFJLENBQVk7SUFFaEIsU0FBUyxDQUFrQjtJQUMzQixPQUFPLENBQVU7SUFDakIsZUFBZSxDQUFVO0lBQ3pCLHdCQUF3QixDQUFVO0lBQ2xDLE1BQU0sQ0FBVTtJQUVoQixZQUFZLE1BU1g7UUFDQyxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQztRQUM5QyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDO1FBQ2hFLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUM5QixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFjLEVBQUUsSUFBZTtRQUNuRCxNQUFNLE1BQU0sR0FBRyxJQUFJLEtBQUssU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDMUQsT0FBTyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFtQixFQUFFLE9BQXNCLEVBQUUsS0FBaUM7UUFDekYsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDO1FBQzVDLE1BQU0sSUFBSSxHQUFvQixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2xELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDekQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsU0FBUyxLQUFLLENBQUMsSUFBSSxzREFBc0QsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqRyxDQUFDO1lBQ0QsT0FBTztnQkFDTCxZQUFZLEVBQUUsTUFBTyxDQUFDLFlBQVk7Z0JBQ2xDLFVBQVUsRUFBRSxNQUFPLENBQUMsVUFBVTthQUMvQixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLElBQUksR0FDUixNQUFNLENBQUMsSUFBSTtZQUNYLFVBQVUsQ0FBQyxjQUFjLENBQ3ZCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFDN0IsSUFBSSxDQUNMLENBQUM7UUFDSixPQUFPLElBQUksVUFBVSxDQUFDO1lBQ3BCLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztZQUMzQixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87WUFDdkIsZUFBZSxFQUFFLE1BQU0sQ0FBQyxlQUFlO1lBQ3ZDLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyx3QkFBd0I7WUFDekQsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiJ9
|
|
1
|
+
import "./ColumnModel.js";
|
|
2
|
+
import { IndexType } from "@eggjs/tegg-types";
|
|
3
|
+
|
|
4
|
+
//#region src/model/IndexModel.ts
|
|
5
|
+
var IndexModel = class IndexModel {
|
|
6
|
+
name;
|
|
7
|
+
keys;
|
|
8
|
+
type;
|
|
9
|
+
storeType;
|
|
10
|
+
comment;
|
|
11
|
+
engineAttribute;
|
|
12
|
+
secondaryEngineAttribute;
|
|
13
|
+
parser;
|
|
14
|
+
constructor(params) {
|
|
15
|
+
this.name = params.name;
|
|
16
|
+
this.keys = params.keys;
|
|
17
|
+
this.type = params.type;
|
|
18
|
+
this.storeType = params.storeType;
|
|
19
|
+
this.comment = params.comment;
|
|
20
|
+
this.engineAttribute = params.engineAttribute;
|
|
21
|
+
this.secondaryEngineAttribute = params.secondaryEngineAttribute;
|
|
22
|
+
this.parser = params.parser;
|
|
23
|
+
}
|
|
24
|
+
static buildIndexName(keys, type) {
|
|
25
|
+
return (type === IndexType.UNIQUE ? "uk_" : "idx_") + keys.join("_");
|
|
26
|
+
}
|
|
27
|
+
static build(params, columns, clazz) {
|
|
28
|
+
const type = params.type ?? IndexType.INDEX;
|
|
29
|
+
const keys = params.keys.map((t) => {
|
|
30
|
+
const column = columns.find((c) => c.propertyName === t);
|
|
31
|
+
if (!column) throw new Error(`Table ${clazz.name} index configuration error: has no property named "${t}"`);
|
|
32
|
+
return {
|
|
33
|
+
propertyName: column.propertyName,
|
|
34
|
+
columnName: column.columnName
|
|
35
|
+
};
|
|
36
|
+
});
|
|
37
|
+
return new IndexModel({
|
|
38
|
+
name: params.name ?? IndexModel.buildIndexName(keys.map((t) => t.columnName), type),
|
|
39
|
+
keys,
|
|
40
|
+
type,
|
|
41
|
+
storeType: params.storeType,
|
|
42
|
+
comment: params.comment,
|
|
43
|
+
engineAttribute: params.engineAttribute,
|
|
44
|
+
secondaryEngineAttribute: params.secondaryEngineAttribute,
|
|
45
|
+
parser: params.parser
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
//#endregion
|
|
51
|
+
export { IndexModel };
|