@eggjs/dal-decorator 4.0.0-beta.8 → 4.0.0-beta.9

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 (39) hide show
  1. package/dist/decorator/Column.d.ts +2 -0
  2. package/dist/decorator/Column.js +14 -0
  3. package/dist/decorator/Dao.d.ts +2 -0
  4. package/dist/decorator/Dao.js +16 -0
  5. package/dist/decorator/DataSourceQualifier.d.ts +1 -0
  6. package/dist/decorator/DataSourceQualifier.js +8 -0
  7. package/dist/decorator/Table.d.ts +2 -0
  8. package/dist/decorator/Table.js +19 -0
  9. package/dist/decorator/TableIndex.d.ts +2 -0
  10. package/dist/decorator/TableIndex.js +7 -0
  11. package/dist/decorator/index.d.ts +5 -0
  12. package/dist/decorator/index.js +6 -0
  13. package/dist/index.d.ts +5 -176
  14. package/dist/index.js +6 -362
  15. package/dist/model/ColumnModel.d.ts +34 -0
  16. package/dist/model/ColumnModel.js +57 -0
  17. package/dist/model/IndexModel.d.ts +29 -0
  18. package/dist/model/IndexModel.js +51 -0
  19. package/dist/model/TableModel.d.ts +51 -0
  20. package/dist/model/TableModel.js +113 -0
  21. package/dist/model/index.d.ts +3 -0
  22. package/dist/model/index.js +4 -0
  23. package/dist/type/MySql.d.ts +1 -0
  24. package/dist/type/MySql.js +2 -0
  25. package/dist/type/Spatial.d.ts +11 -0
  26. package/dist/type/Spatial.js +31 -0
  27. package/dist/type/index.d.ts +2 -0
  28. package/dist/type/index.js +3 -0
  29. package/dist/util/ColumnInfoUtil.d.ts +9 -0
  30. package/dist/util/ColumnInfoUtil.js +19 -0
  31. package/dist/util/DaoInfoUtil.d.ts +6 -0
  32. package/dist/util/DaoInfoUtil.js +11 -0
  33. package/dist/util/IndexInfoUtil.d.ts +5 -0
  34. package/dist/util/IndexInfoUtil.js +12 -0
  35. package/dist/util/TableInfoUtil.d.ts +9 -0
  36. package/dist/util/TableInfoUtil.js +23 -0
  37. package/dist/util/index.d.ts +4 -0
  38. package/dist/util/index.js +5 -0
  39. package/package.json +5 -5
@@ -0,0 +1,2 @@
1
+ import type { ColumnParams, ColumnTypeParams } from '@eggjs/tegg-types';
2
+ export declare function Column(type: ColumnTypeParams, params?: ColumnParams): (target: any, propertyKey: PropertyKey) => void;
@@ -0,0 +1,14 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sdW1uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlY29yYXRvci9Db2x1bW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBSWpDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRCxNQUFNLFVBQVUsTUFBTSxDQUFDLElBQXNCLEVBQUUsTUFBcUI7SUFDbEUsT0FBTyxVQUFTLE1BQVcsRUFBRSxXQUF3QjtRQUNuRCxNQUFNLENBQUMsT0FBTyxXQUFXLEtBQUssUUFBUSxFQUNwQyxXQUFXLE1BQU0sQ0FBQyxJQUFJLHFEQUFxRCxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BHLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFnQyxDQUFDO1FBQzNELE1BQU0sVUFBVSxHQUFHLFdBQXFCLENBQUM7UUFDekMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNELElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxjQUFjLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDL0QsQ0FBQztJQUNILENBQUMsQ0FBQztBQUNKLENBQUMifQ==
@@ -0,0 +1,2 @@
1
+ import type { EggProtoImplClass } from '@eggjs/tegg-types';
2
+ export declare function Dao(): (constructor: EggProtoImplClass) => void;
@@ -0,0 +1,16 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGFvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlY29yYXRvci9EYW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUdoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFL0MsTUFBTSxVQUFVLEdBQUc7SUFDakIsT0FBTyxVQUFTLFdBQThCO1FBQzVDLFdBQVcsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEMsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDO1lBQ3JCLFdBQVcsRUFBRSxXQUFXLENBQUMsTUFBTTtZQUMvQixRQUFRLEVBQUUsY0FBYyxDQUFDLFNBQVM7U0FDbkMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xCLGFBQWEsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRixDQUFDLENBQUM7QUFDSixDQUFDIn0=
@@ -0,0 +1 @@
1
+ export declare function DataSourceQualifier(dataSourceName: string): (target: any, propertyKey: PropertyKey, parameterIndex?: number) => void;
@@ -0,0 +1,8 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVNvdXJjZVF1YWxpZmllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWNvcmF0b3IvRGF0YVNvdXJjZVF1YWxpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdEQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLGNBQXNCO0lBQ3hELE9BQU8sVUFBUyxNQUFXLEVBQUUsV0FBd0IsRUFBRSxjQUF1QjtRQUM1RSxhQUFhLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsNEJBQTRCLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDdEgsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
@@ -0,0 +1,2 @@
1
+ import type { EggProtoImplClass, TableParams } from '@eggjs/tegg-types';
2
+ export declare function Table(params?: TableParams): (constructor: EggProtoImplClass) => void;
@@ -0,0 +1,19 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVjb3JhdG9yL1RhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE1BQU0sVUFBVSxLQUFLLENBQUMsTUFBb0I7SUFDeEMsT0FBTyxVQUFTLFdBQThCO1FBQzVDLGFBQWEsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEMsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLGFBQWEsQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFDRCxNQUFNLElBQUksR0FBRyxTQUFTLENBQUM7WUFDckIsV0FBVyxFQUFFLFdBQVcsQ0FBQyxNQUFNO1lBQy9CLFFBQVEsRUFBRSxjQUFjLENBQUMsVUFBVTtTQUNwQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEIsYUFBYSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pGLENBQUMsQ0FBQztBQUNKLENBQUMifQ==
@@ -0,0 +1,2 @@
1
+ import type { EggProtoImplClass, IndexParams } from '@eggjs/tegg-types';
2
+ export declare function Index(params: IndexParams): (constructor: EggProtoImplClass) => void;
@@ -0,0 +1,7 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGVJbmRleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWNvcmF0b3IvVGFibGVJbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsTUFBTSxVQUFVLEtBQUssQ0FBQyxNQUFtQjtJQUN2QyxPQUFPLFVBQVMsV0FBOEI7UUFDNUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDOUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
@@ -0,0 +1,5 @@
1
+ export * from './Column.ts';
2
+ export * from './Dao.ts';
3
+ export * from './DataSourceQualifier.ts';
4
+ export * from './Table.ts';
5
+ export * from './TableIndex.ts';
@@ -0,0 +1,6 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVjb3JhdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxpQkFBaUIsQ0FBQyJ9
package/dist/index.d.ts CHANGED
@@ -1,176 +1,5 @@
1
- import { BaseDaoType, ColumnFormat, ColumnParams, ColumnType, ColumnTypeParams, CompressionType, EggProtoImplClass, Geometry, GeometryCollection, IndexParams, IndexStoreType, IndexType, InsertMethod, RowFormat, TableParams } from "@eggjs/tegg-types";
2
- import { DeleteResult, InsertResult, UpdateResult } from "@eggjs/rds";
3
- export * from "@eggjs/tegg-types/dal";
4
-
5
- //#region src/decorator/Column.d.ts
6
- declare function Column(type: ColumnTypeParams, params?: ColumnParams): (target: any, propertyKey: PropertyKey) => void;
7
- //#endregion
8
- //#region src/decorator/Dao.d.ts
9
- declare function Dao(): (constructor: EggProtoImplClass) => void;
10
- //#endregion
11
- //#region src/decorator/DataSourceQualifier.d.ts
12
- declare function DataSourceQualifier(dataSourceName: string): (target: any, propertyKey: PropertyKey, parameterIndex?: number) => void;
13
- //#endregion
14
- //#region src/decorator/Table.d.ts
15
- declare function Table(params?: TableParams): (constructor: EggProtoImplClass) => void;
16
- //#endregion
17
- //#region src/decorator/TableIndex.d.ts
18
- declare function Index(params: IndexParams): (constructor: EggProtoImplClass) => void;
19
- //#endregion
20
- //#region src/model/ColumnModel.d.ts
21
- declare class ColumnModel {
22
- columnName: string;
23
- propertyName: string;
24
- type: ColumnTypeParams;
25
- canNull: boolean;
26
- default?: string;
27
- comment?: string;
28
- visible?: boolean;
29
- autoIncrement?: boolean;
30
- uniqueKey?: boolean;
31
- primaryKey?: boolean;
32
- collate?: string;
33
- columnFormat?: ColumnFormat;
34
- engineAttribute?: string;
35
- secondaryEngineAttribute?: string;
36
- constructor(params: {
37
- columnName: string;
38
- propertyName: string;
39
- type: ColumnTypeParams;
40
- canNull: boolean;
41
- default?: string;
42
- comment?: string;
43
- visible?: boolean;
44
- autoIncrement?: boolean;
45
- uniqueKey?: boolean;
46
- primaryKey?: boolean;
47
- collate?: string;
48
- columnFormat?: ColumnFormat;
49
- engineAttribute?: string;
50
- secondaryEngineAttribute?: string;
51
- });
52
- static build(property: string, type: ColumnTypeParams, params?: ColumnParams): ColumnModel;
53
- }
54
- //#endregion
55
- //#region src/model/IndexModel.d.ts
56
- interface IndexKey {
57
- columnName: string;
58
- propertyName: string;
59
- }
60
- declare class IndexModel {
61
- name: string;
62
- keys: IndexKey[];
63
- type: IndexType;
64
- storeType?: IndexStoreType;
65
- comment?: string;
66
- engineAttribute?: string;
67
- secondaryEngineAttribute?: string;
68
- parser?: string;
69
- constructor(params: {
70
- name: string;
71
- keys: IndexKey[];
72
- type: IndexType;
73
- storeType?: IndexStoreType;
74
- comment?: string;
75
- engineAttribute?: string;
76
- secondaryEngineAttribute?: string;
77
- parser?: string;
78
- });
79
- static buildIndexName(keys: string[], type: IndexType): string;
80
- static build(params: IndexParams, columns: ColumnModel[], clazz: EggProtoImplClass<unknown>): IndexModel;
81
- }
82
- //#endregion
83
- //#region src/model/TableModel.d.ts
84
- declare class TableModel<T = object> {
85
- clazz: EggProtoImplClass<T>;
86
- name: string;
87
- columns: Array<ColumnModel>;
88
- indices: Array<IndexModel>;
89
- dataSourceName: string;
90
- comment?: string;
91
- autoExtendSize?: number;
92
- autoIncrement?: number;
93
- avgRowLength?: number;
94
- characterSet?: string;
95
- collate?: string;
96
- compression?: CompressionType;
97
- encryption?: boolean;
98
- engine?: string;
99
- engineAttribute?: string;
100
- insertMethod?: InsertMethod;
101
- keyBlockSize?: number;
102
- maxRows?: number;
103
- minRows?: number;
104
- rowFormat?: RowFormat;
105
- secondaryEngineAttribute?: string;
106
- constructor(params: {
107
- clazz: EggProtoImplClass<T>;
108
- name: string;
109
- dataSourceName: string;
110
- columns: Array<ColumnModel>;
111
- indices: Array<IndexModel>;
112
- comment?: string;
113
- autoExtendSize?: number;
114
- autoIncrement?: number;
115
- avgRowLength?: number;
116
- characterSet?: string;
117
- collate?: string;
118
- compression?: CompressionType;
119
- encryption?: boolean;
120
- engine?: string;
121
- engineAttribute?: string;
122
- insertMethod?: InsertMethod;
123
- keyBlockSize?: number;
124
- maxRows?: number;
125
- minRows?: number;
126
- rowFormat?: RowFormat;
127
- secondaryEngineAttribute?: string;
128
- });
129
- getPrimary(): IndexModel | undefined;
130
- static build<T>(clazz: EggProtoImplClass<T>): TableModel<T>;
131
- }
132
- //#endregion
133
- //#region src/type/Spatial.d.ts
134
- declare class SpatialHelper {
135
- static isPoint(t: Geometry): boolean;
136
- static isLine(t: Geometry): boolean;
137
- static isPolygon(t: Geometry): boolean;
138
- static getGeometryType(t: Geometry): ColumnType.POINT | ColumnType.LINESTRING | ColumnType.POLYGON;
139
- static isMultiPoint(t: GeometryCollection): boolean;
140
- static isMultiLine(t: GeometryCollection): boolean;
141
- static isMultiPolygon(t: GeometryCollection): boolean;
142
- }
143
- //#endregion
144
- //#region src/util/ColumnInfoUtil.d.ts
145
- type ColumnInfoMap = Map<string, ColumnParams>;
146
- type ColumnTypeMap = Map<string, ColumnTypeParams>;
147
- declare class ColumnInfoUtil {
148
- static addColumnInfo(clazz: EggProtoImplClass, property: string, column: ColumnInfoUtil): void;
149
- static addColumnType(clazz: EggProtoImplClass, property: string, type: ColumnTypeParams): void;
150
- static getColumnInfoMap(clazz: EggProtoImplClass): ColumnInfoMap | undefined;
151
- static getColumnTypeMap(clazz: EggProtoImplClass): ColumnTypeMap | undefined;
152
- }
153
- //#endregion
154
- //#region src/util/DaoInfoUtil.d.ts
155
- declare class DaoInfoUtil {
156
- static setIsDao(clazz: EggProtoImplClass): void;
157
- static getIsDao(clazz: EggProtoImplClass): clazz is BaseDaoType;
158
- }
159
- //#endregion
160
- //#region src/util/IndexInfoUtil.d.ts
161
- declare class IndexInfoUtil {
162
- static addIndex(clazz: EggProtoImplClass, index: IndexParams): void;
163
- static getIndexList(clazz: EggProtoImplClass): Array<IndexParams>;
164
- }
165
- //#endregion
166
- //#region src/util/TableInfoUtil.d.ts
167
- declare const TABLE_CLAZZ_LIST: Array<EggProtoImplClass>;
168
- declare class TableInfoUtil {
169
- static setIsTable(clazz: EggProtoImplClass): void;
170
- static getClazzList(): EggProtoImplClass[];
171
- static getIsTable(clazz: EggProtoImplClass): boolean;
172
- static setTableParams(clazz: EggProtoImplClass, params: TableParams): void;
173
- static getTableParams(clazz: EggProtoImplClass): TableParams | undefined;
174
- }
175
- //#endregion
176
- export { Column, ColumnInfoMap, ColumnInfoUtil, ColumnModel, ColumnTypeMap, Dao, DaoInfoUtil, DataSourceQualifier, type DeleteResult, Index, IndexInfoUtil, IndexKey, IndexModel, type InsertResult, SpatialHelper, TABLE_CLAZZ_LIST, Table, TableInfoUtil, TableModel, type UpdateResult };
1
+ export * from '@eggjs/tegg-types/dal';
2
+ export * from './decorator/index.ts';
3
+ export * from './model/index.ts';
4
+ export * from './type/index.ts';
5
+ export * from './util/index.ts';
package/dist/index.js CHANGED
@@ -1,362 +1,6 @@
1
- import assert from "node:assert";
2
- import { AccessLevel, ColumnType, DAL_COLUMN_INFO_MAP, DAL_COLUMN_TYPE_MAP, DAL_INDEX_LIST, DAL_IS_DAO, DAL_IS_TABLE, DAL_TABLE_PARAMS, DataSourceQualifierAttribute, IndexType, ObjectInitType } from "@eggjs/tegg-types";
3
- import { MetadataUtil, Prototype, PrototypeUtil, QualifierUtil } from "@eggjs/core-decorator";
4
- import { StackUtil } from "@eggjs/tegg-common-util";
5
- import snakecase from "lodash.snakecase";
6
- import pluralize from "pluralize";
7
-
8
- export * from "@eggjs/tegg-types/dal"
9
-
10
- //#region src/util/ColumnInfoUtil.ts
11
- var ColumnInfoUtil = class {
12
- static addColumnInfo(clazz, property, column) {
13
- MetadataUtil.initOwnMapMetaData(DAL_COLUMN_INFO_MAP, clazz, /* @__PURE__ */ new Map()).set(property, column);
14
- }
15
- static addColumnType(clazz, property, type) {
16
- MetadataUtil.initOwnMapMetaData(DAL_COLUMN_TYPE_MAP, clazz, /* @__PURE__ */ new Map()).set(property, type);
17
- }
18
- static getColumnInfoMap(clazz) {
19
- return MetadataUtil.getMetaData(DAL_COLUMN_INFO_MAP, clazz);
20
- }
21
- static getColumnTypeMap(clazz) {
22
- return MetadataUtil.getMetaData(DAL_COLUMN_TYPE_MAP, clazz);
23
- }
24
- };
25
-
26
- //#endregion
27
- //#region src/util/DaoInfoUtil.ts
28
- var DaoInfoUtil = class {
29
- static setIsDao(clazz) {
30
- MetadataUtil.defineMetaData(DAL_IS_DAO, true, clazz);
31
- }
32
- static getIsDao(clazz) {
33
- return MetadataUtil.getOwnMetaData(DAL_IS_DAO, clazz) === true;
34
- }
35
- };
36
-
37
- //#endregion
38
- //#region src/util/IndexInfoUtil.ts
39
- var IndexInfoUtil = class {
40
- static addIndex(clazz, index) {
41
- MetadataUtil.initOwnArrayMetaData(DAL_INDEX_LIST, clazz, []).push(index);
42
- }
43
- static getIndexList(clazz) {
44
- return MetadataUtil.getMetaData(DAL_INDEX_LIST, clazz) || [];
45
- }
46
- };
47
-
48
- //#endregion
49
- //#region src/util/TableInfoUtil.ts
50
- const TABLE_CLAZZ_LIST = [];
51
- var TableInfoUtil = class {
52
- static setIsTable(clazz) {
53
- TABLE_CLAZZ_LIST.push(clazz);
54
- MetadataUtil.defineMetaData(DAL_IS_TABLE, true, clazz);
55
- }
56
- static getClazzList() {
57
- return TABLE_CLAZZ_LIST;
58
- }
59
- static getIsTable(clazz) {
60
- return MetadataUtil.getMetaData(DAL_IS_TABLE, clazz) === true;
61
- }
62
- static setTableParams(clazz, params) {
63
- MetadataUtil.defineMetaData(DAL_TABLE_PARAMS, params, clazz);
64
- }
65
- static getTableParams(clazz) {
66
- return MetadataUtil.getMetaData(DAL_TABLE_PARAMS, clazz);
67
- }
68
- };
69
-
70
- //#endregion
71
- //#region src/decorator/Column.ts
72
- function Column(type, params) {
73
- return function(target, propertyKey) {
74
- assert(typeof propertyKey === "string", `[Column/${target.name}] expect column name be typeof string, but now is ${String(propertyKey)}`);
75
- const tableClazz = target.constructor;
76
- const columnName = propertyKey;
77
- ColumnInfoUtil.addColumnType(tableClazz, columnName, type);
78
- if (params) ColumnInfoUtil.addColumnInfo(tableClazz, columnName, params);
79
- };
80
- }
81
-
82
- //#endregion
83
- //#region src/decorator/Dao.ts
84
- function Dao() {
85
- return function(constructor) {
86
- DaoInfoUtil.setIsDao(constructor);
87
- Prototype({
88
- accessLevel: AccessLevel.PUBLIC,
89
- initType: ObjectInitType.SINGLETON
90
- })(constructor);
91
- PrototypeUtil.setFilePath(constructor, StackUtil.getCalleeFromStack(false, 5));
92
- };
93
- }
94
-
95
- //#endregion
96
- //#region src/decorator/DataSourceQualifier.ts
97
- function DataSourceQualifier(dataSourceName) {
98
- return function(target, propertyKey, parameterIndex) {
99
- QualifierUtil.addInjectQualifier(target, propertyKey, parameterIndex, DataSourceQualifierAttribute, dataSourceName);
100
- };
101
- }
102
-
103
- //#endregion
104
- //#region src/decorator/Table.ts
105
- function Table(params) {
106
- return function(constructor) {
107
- TableInfoUtil.setIsTable(constructor);
108
- if (params) TableInfoUtil.setTableParams(constructor, params);
109
- Prototype({
110
- accessLevel: AccessLevel.PUBLIC,
111
- initType: ObjectInitType.ALWAYS_NEW
112
- })(constructor);
113
- PrototypeUtil.setFilePath(constructor, StackUtil.getCalleeFromStack(false, 5));
114
- };
115
- }
116
-
117
- //#endregion
118
- //#region src/decorator/TableIndex.ts
119
- function Index(params) {
120
- return function(constructor) {
121
- IndexInfoUtil.addIndex(constructor, params);
122
- };
123
- }
124
-
125
- //#endregion
126
- //#region src/model/ColumnModel.ts
127
- var ColumnModel = class ColumnModel {
128
- columnName;
129
- propertyName;
130
- type;
131
- canNull;
132
- default;
133
- comment;
134
- visible;
135
- autoIncrement;
136
- uniqueKey;
137
- primaryKey;
138
- collate;
139
- columnFormat;
140
- engineAttribute;
141
- secondaryEngineAttribute;
142
- constructor(params) {
143
- this.columnName = params.columnName;
144
- this.propertyName = params.propertyName;
145
- this.type = params.type;
146
- this.canNull = params.canNull;
147
- this.default = params.default;
148
- this.comment = params.comment;
149
- this.visible = params.visible;
150
- this.autoIncrement = params.autoIncrement;
151
- this.uniqueKey = params.uniqueKey;
152
- this.primaryKey = params.primaryKey;
153
- this.collate = params.collate;
154
- this.columnFormat = params.columnFormat;
155
- this.engineAttribute = params.engineAttribute;
156
- this.secondaryEngineAttribute = params.secondaryEngineAttribute;
157
- }
158
- static build(property, type, params) {
159
- const columnName = params?.name ?? snakecase(property);
160
- let canNull = params?.canNull ?? false;
161
- if (params?.primaryKey) canNull = false;
162
- return new ColumnModel({
163
- columnName,
164
- propertyName: property,
165
- type,
166
- canNull,
167
- default: params?.default,
168
- comment: params?.comment,
169
- visible: params?.visible,
170
- autoIncrement: params?.autoIncrement,
171
- uniqueKey: params?.uniqueKey,
172
- primaryKey: params?.primaryKey,
173
- collate: params?.collate,
174
- columnFormat: params?.columnFormat,
175
- engineAttribute: params?.engineAttribute,
176
- secondaryEngineAttribute: params?.secondaryEngineAttribute
177
- });
178
- }
179
- };
180
-
181
- //#endregion
182
- //#region src/model/IndexModel.ts
183
- var IndexModel = class IndexModel {
184
- name;
185
- keys;
186
- type;
187
- storeType;
188
- comment;
189
- engineAttribute;
190
- secondaryEngineAttribute;
191
- parser;
192
- constructor(params) {
193
- this.name = params.name;
194
- this.keys = params.keys;
195
- this.type = params.type;
196
- this.storeType = params.storeType;
197
- this.comment = params.comment;
198
- this.engineAttribute = params.engineAttribute;
199
- this.secondaryEngineAttribute = params.secondaryEngineAttribute;
200
- this.parser = params.parser;
201
- }
202
- static buildIndexName(keys, type) {
203
- return (type === IndexType.UNIQUE ? "uk_" : "idx_") + keys.join("_");
204
- }
205
- static build(params, columns, clazz) {
206
- const type = params.type ?? IndexType.INDEX;
207
- const keys = params.keys.map((t) => {
208
- const column = columns.find((c) => c.propertyName === t);
209
- if (!column) throw new Error(`Table ${clazz.name} index configuration error: has no property named "${t}"`);
210
- return {
211
- propertyName: column.propertyName,
212
- columnName: column.columnName
213
- };
214
- });
215
- const name = params.name ?? IndexModel.buildIndexName(keys.map((t) => t.columnName), type);
216
- return new IndexModel({
217
- name,
218
- keys,
219
- type,
220
- storeType: params.storeType,
221
- comment: params.comment,
222
- engineAttribute: params.engineAttribute,
223
- secondaryEngineAttribute: params.secondaryEngineAttribute,
224
- parser: params.parser
225
- });
226
- }
227
- };
228
-
229
- //#endregion
230
- //#region src/model/TableModel.ts
231
- var TableModel = class TableModel {
232
- clazz;
233
- name;
234
- columns;
235
- indices;
236
- dataSourceName;
237
- comment;
238
- autoExtendSize;
239
- autoIncrement;
240
- avgRowLength;
241
- characterSet;
242
- collate;
243
- compression;
244
- encryption;
245
- engine;
246
- engineAttribute;
247
- insertMethod;
248
- keyBlockSize;
249
- maxRows;
250
- minRows;
251
- rowFormat;
252
- secondaryEngineAttribute;
253
- constructor(params) {
254
- this.clazz = params.clazz;
255
- this.name = params.name;
256
- this.dataSourceName = params.dataSourceName;
257
- this.columns = params.columns;
258
- this.indices = params.indices;
259
- this.comment = params.comment;
260
- this.autoExtendSize = params.autoExtendSize;
261
- this.autoIncrement = params.autoIncrement;
262
- this.avgRowLength = params.avgRowLength;
263
- this.characterSet = params.characterSet;
264
- this.collate = params.collate;
265
- this.compression = params.compression;
266
- this.encryption = params.encryption;
267
- this.engine = params.engine;
268
- this.engineAttribute = params.engineAttribute;
269
- this.insertMethod = params.insertMethod;
270
- this.keyBlockSize = params.keyBlockSize;
271
- this.maxRows = params.maxRows;
272
- this.minRows = params.minRows;
273
- this.rowFormat = params.rowFormat;
274
- this.secondaryEngineAttribute = params.secondaryEngineAttribute;
275
- }
276
- getPrimary() {
277
- const index = this.indices.find((t) => t.type === IndexType.PRIMARY);
278
- if (index) return index;
279
- const primaryColumn = this.columns.filter((t) => t.primaryKey === true);
280
- return new IndexModel({
281
- name: "PRIMARY",
282
- type: IndexType.PRIMARY,
283
- keys: primaryColumn.map((t) => {
284
- return {
285
- columnName: t.columnName,
286
- propertyName: t.propertyName
287
- };
288
- })
289
- });
290
- }
291
- static build(clazz) {
292
- const params = TableInfoUtil.getTableParams(clazz);
293
- const name = params?.name ?? snakecase(pluralize(clazz.name));
294
- const columnInfoMap = ColumnInfoUtil.getColumnInfoMap(clazz);
295
- const columnTypeMap = ColumnInfoUtil.getColumnTypeMap(clazz);
296
- const dataSourceName = params?.dataSourceName ?? "default";
297
- assert(TableInfoUtil.getIsTable(clazz), `${name} is not Table`);
298
- assert(columnTypeMap, `${name} has no columns`);
299
- const columns = [];
300
- const indices = [];
301
- for (const [property, columnType] of columnTypeMap?.entries() ?? []) {
302
- const columnParam = columnInfoMap?.get(property);
303
- columns.push(ColumnModel.build(property, columnType, columnParam));
304
- }
305
- const indexList = IndexInfoUtil.getIndexList(clazz);
306
- for (const index of indexList) indices.push(IndexModel.build(index, columns, clazz));
307
- return new TableModel({
308
- clazz,
309
- name,
310
- columns,
311
- indices,
312
- dataSourceName,
313
- comment: params?.comment,
314
- autoExtendSize: params?.autoExtendSize,
315
- autoIncrement: params?.autoIncrement,
316
- avgRowLength: params?.avgRowLength,
317
- characterSet: params?.characterSet,
318
- collate: params?.collate,
319
- compression: params?.compression,
320
- encryption: params?.encryption,
321
- engine: params?.engine,
322
- engineAttribute: params?.engineAttribute,
323
- insertMethod: params?.insertMethod,
324
- keyBlockSize: params?.keyBlockSize,
325
- maxRows: params?.maxRows,
326
- minRows: params?.minRows,
327
- rowFormat: params?.rowFormat,
328
- secondaryEngineAttribute: params?.secondaryEngineAttribute
329
- });
330
- }
331
- };
332
-
333
- //#endregion
334
- //#region src/type/Spatial.ts
335
- var SpatialHelper = class SpatialHelper {
336
- static isPoint(t) {
337
- return typeof Reflect.get(t, "x") === "number" && typeof Reflect.get(t, "y") === "number";
338
- }
339
- static isLine(t) {
340
- return Array.isArray(t) && t[0] && SpatialHelper.isPoint(t[0]);
341
- }
342
- static isPolygon(t) {
343
- return Array.isArray(t) && t[0] && SpatialHelper.isLine(t[0]);
344
- }
345
- static getGeometryType(t) {
346
- if (SpatialHelper.isPoint(t)) return ColumnType.POINT;
347
- else if (SpatialHelper.isLine(t)) return ColumnType.LINESTRING;
348
- return ColumnType.POLYGON;
349
- }
350
- static isMultiPoint(t) {
351
- return Array.isArray(t) && t[0] && SpatialHelper.isPoint(t[0]);
352
- }
353
- static isMultiLine(t) {
354
- return Array.isArray(t) && t[0] && SpatialHelper.isLine(t[0]);
355
- }
356
- static isMultiPolygon(t) {
357
- return Array.isArray(t) && t[0] && SpatialHelper.isPolygon(t[0]);
358
- }
359
- };
360
-
361
- //#endregion
362
- export { Column, ColumnInfoUtil, ColumnModel, Dao, DaoInfoUtil, DataSourceQualifier, Index, IndexInfoUtil, IndexModel, SpatialHelper, TABLE_CLAZZ_LIST, Table, TableInfoUtil, TableModel };
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUV0QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGlCQUFpQixDQUFDIn0=
@@ -0,0 +1,34 @@
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
+ }
@@ -0,0 +1,57 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sdW1uTW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvQ29sdW1uTW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxTQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFHekMsTUFBTSxPQUFPLFdBQVc7SUFDdEIsVUFBVSxDQUFTO0lBQ25CLFlBQVksQ0FBUztJQUNyQixJQUFJLENBQW1CO0lBQ3ZCLE9BQU8sQ0FBVTtJQUNqQixPQUFPLENBQVU7SUFDakIsT0FBTyxDQUFVO0lBQ2pCLE9BQU8sQ0FBVztJQUNsQixhQUFhLENBQVc7SUFDeEIsU0FBUyxDQUFXO0lBQ3BCLFVBQVUsQ0FBVztJQUNyQixPQUFPLENBQVU7SUFDakIsWUFBWSxDQUFnQjtJQUM1QixlQUFlLENBQVU7SUFDekIsd0JBQXdCLENBQVU7SUFFbEMsWUFBWSxNQWVYO1FBQ0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUN4QyxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUMxQyxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUM5QixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDeEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDO1FBQzlDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUM7SUFDbEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBZ0IsRUFBRSxJQUFzQixFQUFFLE1BQXFCO1FBQzFFLE1BQU0sVUFBVSxHQUFHLE1BQU0sRUFBRSxJQUFJLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZELElBQUksT0FBTyxHQUFHLE1BQU0sRUFBRSxPQUFPLElBQUksS0FBSyxDQUFDO1FBQ3ZDLElBQUksTUFBTSxFQUFFLFVBQVUsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDbEIsQ0FBQztRQUNELE9BQU8sSUFBSSxXQUFXLENBQUM7WUFDckIsVUFBVTtZQUNWLFlBQVksRUFBRSxRQUFRO1lBQ3RCLElBQUk7WUFDSixPQUFPO1lBQ1AsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPO1lBQ3hCLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTztZQUN4QixPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU87WUFDeEIsYUFBYSxFQUFFLE1BQU0sRUFBRSxhQUFhO1lBQ3BDLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUztZQUM1QixVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVU7WUFDOUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPO1lBQ3hCLFlBQVksRUFBRSxNQUFNLEVBQUUsWUFBWTtZQUNsQyxlQUFlLEVBQUUsTUFBTSxFQUFFLGVBQWU7WUFDeEMsd0JBQXdCLEVBQUUsTUFBTSxFQUFFLHdCQUF3QjtTQUMzRCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YifQ==
@@ -0,0 +1,29 @@
1
+ import { type EggProtoImplClass, IndexType } from '@eggjs/tegg-types';
2
+ import type { IndexParams, IndexStoreType } from '@eggjs/tegg-types';
3
+ import { ColumnModel } from './ColumnModel.ts';
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
+ }
@@ -0,0 +1,51 @@
1
+ import { IndexType } from '@eggjs/tegg-types';
2
+ import { ColumnModel } from "./ColumnModel.js";
3
+ export class IndexModel {
4
+ name;
5
+ keys;
6
+ type;
7
+ storeType;
8
+ comment;
9
+ engineAttribute;
10
+ secondaryEngineAttribute;
11
+ parser;
12
+ constructor(params) {
13
+ this.name = params.name;
14
+ this.keys = params.keys;
15
+ this.type = params.type;
16
+ this.storeType = params.storeType;
17
+ this.comment = params.comment;
18
+ this.engineAttribute = params.engineAttribute;
19
+ this.secondaryEngineAttribute = params.secondaryEngineAttribute;
20
+ this.parser = params.parser;
21
+ }
22
+ static buildIndexName(keys, type) {
23
+ const prefix = type === IndexType.UNIQUE ? 'uk_' : 'idx_';
24
+ return prefix + keys.join('_');
25
+ }
26
+ static build(params, columns, clazz) {
27
+ const type = params.type ?? IndexType.INDEX;
28
+ const keys = params.keys.map(t => {
29
+ const column = columns.find(c => c.propertyName === t);
30
+ if (!column) {
31
+ throw new Error(`Table ${clazz.name} index configuration error: has no property named "${t}"`);
32
+ }
33
+ return {
34
+ propertyName: column.propertyName,
35
+ columnName: column.columnName,
36
+ };
37
+ });
38
+ const name = params.name ?? IndexModel.buildIndexName(keys.map(t => t.columnName), type);
39
+ return new IndexModel({
40
+ name,
41
+ keys,
42
+ type,
43
+ storeType: params.storeType,
44
+ comment: params.comment,
45
+ engineAttribute: params.engineAttribute,
46
+ secondaryEngineAttribute: params.secondaryEngineAttribute,
47
+ parser: params.parser,
48
+ });
49
+ }
50
+ }
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXhNb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbC9JbmRleE1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMEIsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBTy9DLE1BQU0sT0FBTyxVQUFVO0lBQ3JCLElBQUksQ0FBUztJQUNiLElBQUksQ0FBYTtJQUNqQixJQUFJLENBQVk7SUFFaEIsU0FBUyxDQUFrQjtJQUMzQixPQUFPLENBQVU7SUFDakIsZUFBZSxDQUFVO0lBQ3pCLHdCQUF3QixDQUFVO0lBQ2xDLE1BQU0sQ0FBVTtJQUVoQixZQUFZLE1BU1g7UUFDQyxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQztRQUM5QyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDO1FBQ2hFLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUM5QixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFjLEVBQUUsSUFBZTtRQUNuRCxNQUFNLE1BQU0sR0FBRyxJQUFJLEtBQUssU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDMUQsT0FBTyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFtQixFQUFFLE9BQXNCLEVBQUUsS0FBaUM7UUFDekYsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDO1FBQzVDLE1BQU0sSUFBSSxHQUFvQixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNoRCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLEtBQUssQ0FBQyxJQUFJLHNEQUFzRCxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pHLENBQUM7WUFDRCxPQUFPO2dCQUNMLFlBQVksRUFBRSxNQUFPLENBQUMsWUFBWTtnQkFDbEMsVUFBVSxFQUFFLE1BQU8sQ0FBQyxVQUFVO2FBQy9CLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pGLE9BQU8sSUFBSSxVQUFVLENBQUM7WUFDcEIsSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO1lBQzNCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztZQUN2QixlQUFlLEVBQUUsTUFBTSxDQUFDLGVBQWU7WUFDdkMsd0JBQXdCLEVBQUUsTUFBTSxDQUFDLHdCQUF3QjtZQUN6RCxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIn0=
@@ -0,0 +1,51 @@
1
+ import type { CompressionType, EggProtoImplClass, InsertMethod, RowFormat } from '@eggjs/tegg-types';
2
+ import { ColumnModel } from './ColumnModel.ts';
3
+ import { IndexModel } from './IndexModel.ts';
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
+ }
@@ -0,0 +1,113 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGVNb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbC9UYWJsZU1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQztBQUVqQyxPQUFPLFNBQVMsTUFBTSxXQUFXLENBQUM7QUFDbEMsT0FBTyxTQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEYsTUFBTSxPQUFPLFVBQVU7SUFDckIsS0FBSyxDQUF1QjtJQUM1QixJQUFJLENBQVM7SUFDYixPQUFPLENBQXFCO0lBQzVCLE9BQU8sQ0FBb0I7SUFDM0IsY0FBYyxDQUFTO0lBQ3ZCLE9BQU8sQ0FBVTtJQUNqQixjQUFjLENBQVU7SUFDeEIsYUFBYSxDQUFVO0lBQ3ZCLFlBQVksQ0FBVTtJQUN0QixZQUFZLENBQVU7SUFDdEIsT0FBTyxDQUFVO0lBQ2pCLFdBQVcsQ0FBbUI7SUFDOUIsVUFBVSxDQUFXO0lBQ3JCLE1BQU0sQ0FBVTtJQUNoQixlQUFlLENBQVU7SUFDekIsWUFBWSxDQUFnQjtJQUM1QixZQUFZLENBQVU7SUFDdEIsT0FBTyxDQUFVO0lBQ2pCLE9BQU8sQ0FBVTtJQUNqQixTQUFTLENBQWE7SUFDdEIsd0JBQXdCLENBQVU7SUFFbEMsWUFBWSxNQXNCWDtRQUNDLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FB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
@@ -0,0 +1,3 @@
1
+ export * from './ColumnModel.ts';
2
+ export * from './IndexModel.ts';
3
+ export * from './TableModel.ts';
@@ -0,0 +1,4 @@
1
+ export * from "./ColumnModel.js";
2
+ export * from "./IndexModel.js";
3
+ export * from "./TableModel.js";
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsaUJBQWlCLENBQUMifQ==
@@ -0,0 +1 @@
1
+ export type { InsertResult, UpdateResult, DeleteResult } from '@eggjs/rds';
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTXlTcWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZS9NeVNxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1,11 @@
1
+ import { ColumnType } from '@eggjs/tegg-types';
2
+ import type { Geometry, GeometryCollection } from '@eggjs/tegg-types';
3
+ export declare class SpatialHelper {
4
+ static isPoint(t: Geometry): boolean;
5
+ static isLine(t: Geometry): boolean;
6
+ static isPolygon(t: Geometry): boolean;
7
+ static getGeometryType(t: Geometry): ColumnType.POINT | ColumnType.LINESTRING | ColumnType.POLYGON;
8
+ static isMultiPoint(t: GeometryCollection): boolean;
9
+ static isMultiLine(t: GeometryCollection): boolean;
10
+ static isMultiPolygon(t: GeometryCollection): boolean;
11
+ }
@@ -0,0 +1,31 @@
1
+ import { ColumnType } from '@eggjs/tegg-types';
2
+ export class SpatialHelper {
3
+ static isPoint(t) {
4
+ return typeof Reflect.get(t, 'x') === 'number' && typeof Reflect.get(t, 'y') === 'number';
5
+ }
6
+ static isLine(t) {
7
+ return Array.isArray(t) && t[0] && SpatialHelper.isPoint(t[0]);
8
+ }
9
+ static isPolygon(t) {
10
+ return Array.isArray(t) && t[0] && SpatialHelper.isLine(t[0]);
11
+ }
12
+ static getGeometryType(t) {
13
+ if (SpatialHelper.isPoint(t)) {
14
+ return ColumnType.POINT;
15
+ }
16
+ else if (SpatialHelper.isLine(t)) {
17
+ return ColumnType.LINESTRING;
18
+ }
19
+ return ColumnType.POLYGON;
20
+ }
21
+ static isMultiPoint(t) {
22
+ return Array.isArray(t) && t[0] && SpatialHelper.isPoint(t[0]);
23
+ }
24
+ static isMultiLine(t) {
25
+ return Array.isArray(t) && t[0] && SpatialHelper.isLine(t[0]);
26
+ }
27
+ static isMultiPolygon(t) {
28
+ return Array.isArray(t) && t[0] && SpatialHelper.isPolygon(t[0]);
29
+ }
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3BhdGlhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlL1NwYXRpYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRy9DLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBVztRQUN4QixPQUFPLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEtBQUssUUFBUSxJQUFJLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEtBQUssUUFBUSxDQUFDO0lBQzVGLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQVc7UUFDdkIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLENBQVc7UUFDMUIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLENBQVc7UUFDaEMsSUFBSSxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDN0IsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQzFCLENBQUM7YUFBTSxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxPQUFPLFVBQVUsQ0FBQyxVQUFVLENBQUM7UUFDL0IsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQztJQUU1QixDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFxQjtRQUN2QyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBcUI7UUFDdEMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLENBQXFCO1FBQ3pDLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBQ0YifQ==
@@ -0,0 +1,2 @@
1
+ export * from './MySql.ts';
2
+ export * from './Spatial.ts';
@@ -0,0 +1,3 @@
1
+ export * from "./MySql.js";
2
+ export * from "./Spatial.js";
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGNBQWMsQ0FBQyJ9
@@ -0,0 +1,9 @@
1
+ import type { ColumnParams, ColumnTypeParams, EggProtoImplClass } from '@eggjs/tegg-types';
2
+ export type ColumnInfoMap = Map<string, ColumnParams>;
3
+ export type ColumnTypeMap = Map<string, ColumnTypeParams>;
4
+ export declare class ColumnInfoUtil {
5
+ static addColumnInfo(clazz: EggProtoImplClass, property: string, column: ColumnInfoUtil): void;
6
+ static addColumnType(clazz: EggProtoImplClass, property: string, type: ColumnTypeParams): void;
7
+ static getColumnInfoMap(clazz: EggProtoImplClass): ColumnInfoMap | undefined;
8
+ static getColumnTypeMap(clazz: EggProtoImplClass): ColumnTypeMap | undefined;
9
+ }
@@ -0,0 +1,19 @@
1
+ import { DAL_COLUMN_INFO_MAP, DAL_COLUMN_TYPE_MAP } from '@eggjs/tegg-types';
2
+ import { MetadataUtil } from '@eggjs/core-decorator';
3
+ export class ColumnInfoUtil {
4
+ static addColumnInfo(clazz, property, column) {
5
+ const columnInfoMap = MetadataUtil.initOwnMapMetaData(DAL_COLUMN_INFO_MAP, clazz, new Map());
6
+ columnInfoMap.set(property, column);
7
+ }
8
+ static addColumnType(clazz, property, type) {
9
+ const columnInfoMap = MetadataUtil.initOwnMapMetaData(DAL_COLUMN_TYPE_MAP, clazz, new Map());
10
+ columnInfoMap.set(property, type);
11
+ }
12
+ static getColumnInfoMap(clazz) {
13
+ return MetadataUtil.getMetaData(DAL_COLUMN_INFO_MAP, clazz);
14
+ }
15
+ static getColumnTypeMap(clazz) {
16
+ return MetadataUtil.getMetaData(DAL_COLUMN_TYPE_MAP, clazz);
17
+ }
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sdW1uSW5mb1V0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9Db2x1bW5JbmZvVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU3RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFLckQsTUFBTSxPQUFPLGNBQWM7SUFDekIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUF3QixFQUFFLFFBQWdCLEVBQUUsTUFBc0I7UUFDckYsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixFQUFFLEtBQUssRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDN0YsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBd0IsRUFBRSxRQUFnQixFQUFFLElBQXNCO1FBQ3JGLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzdGLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBd0I7UUFDOUMsT0FBTyxZQUFZLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBd0I7UUFDOUMsT0FBTyxZQUFZLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7Q0FDRiJ9
@@ -0,0 +1,6 @@
1
+ import { type BaseDaoType } from '@eggjs/tegg-types';
2
+ import type { EggProtoImplClass } from '@eggjs/tegg-types';
3
+ export declare class DaoInfoUtil {
4
+ static setIsDao(clazz: EggProtoImplClass): void;
5
+ static getIsDao(clazz: EggProtoImplClass): clazz is BaseDaoType;
6
+ }
@@ -0,0 +1,11 @@
1
+ import { DAL_IS_DAO } from '@eggjs/tegg-types';
2
+ import { MetadataUtil } from '@eggjs/core-decorator';
3
+ export class DaoInfoUtil {
4
+ static setIsDao(clazz) {
5
+ MetadataUtil.defineMetaData(DAL_IS_DAO, true, clazz);
6
+ }
7
+ static getIsDao(clazz) {
8
+ return MetadataUtil.getOwnMetaData(DAL_IS_DAO, clazz) === true;
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGFvSW5mb1V0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9EYW9JbmZvVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRCxNQUFNLE9BQU8sV0FBVztJQUN0QixNQUFNLENBQUMsUUFBUSxDQUFDLEtBQXdCO1FBQ3RDLFlBQVksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUF3QjtRQUN0QyxPQUFPLFlBQVksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxLQUFLLElBQUksQ0FBQztJQUNqRSxDQUFDO0NBQ0YifQ==
@@ -0,0 +1,5 @@
1
+ import type { EggProtoImplClass, IndexParams } from '@eggjs/tegg-types';
2
+ export declare class IndexInfoUtil {
3
+ static addIndex(clazz: EggProtoImplClass, index: IndexParams): void;
4
+ static getIndexList(clazz: EggProtoImplClass): Array<IndexParams>;
5
+ }
@@ -0,0 +1,12 @@
1
+ import { DAL_INDEX_LIST } from '@eggjs/tegg-types';
2
+ import { MetadataUtil } from '@eggjs/core-decorator';
3
+ export class IndexInfoUtil {
4
+ static addIndex(clazz, index) {
5
+ const indexList = MetadataUtil.initOwnArrayMetaData(DAL_INDEX_LIST, clazz, []);
6
+ indexList.push(index);
7
+ }
8
+ static getIndexList(clazz) {
9
+ return MetadataUtil.getMetaData(DAL_INDEX_LIST, clazz) || [];
10
+ }
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXhJbmZvVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL0luZGV4SW5mb1V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRCxNQUFNLE9BQU8sYUFBYTtJQUN4QixNQUFNLENBQUMsUUFBUSxDQUFDLEtBQXdCLEVBQUUsS0FBa0I7UUFDMUQsTUFBTSxTQUFTLEdBQXVCLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ25HLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBd0I7UUFDMUMsT0FBTyxZQUFZLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0QsQ0FBQztDQUNGIn0=
@@ -0,0 +1,9 @@
1
+ import type { EggProtoImplClass, TableParams } from '@eggjs/tegg-types';
2
+ export declare const TABLE_CLAZZ_LIST: Array<EggProtoImplClass>;
3
+ export declare class TableInfoUtil {
4
+ static setIsTable(clazz: EggProtoImplClass): void;
5
+ static getClazzList(): EggProtoImplClass[];
6
+ static getIsTable(clazz: EggProtoImplClass): boolean;
7
+ static setTableParams(clazz: EggProtoImplClass, params: TableParams): void;
8
+ static getTableParams(clazz: EggProtoImplClass): TableParams | undefined;
9
+ }
@@ -0,0 +1,23 @@
1
+ import { DAL_IS_TABLE, DAL_TABLE_PARAMS } from '@eggjs/tegg-types';
2
+ import { MetadataUtil } from '@eggjs/core-decorator';
3
+ export const TABLE_CLAZZ_LIST = [];
4
+ export class TableInfoUtil {
5
+ static setIsTable(clazz) {
6
+ TABLE_CLAZZ_LIST.push(clazz);
7
+ MetadataUtil.defineMetaData(DAL_IS_TABLE, true, clazz);
8
+ }
9
+ // TODO del
10
+ static getClazzList() {
11
+ return TABLE_CLAZZ_LIST;
12
+ }
13
+ static getIsTable(clazz) {
14
+ return MetadataUtil.getMetaData(DAL_IS_TABLE, clazz) === true;
15
+ }
16
+ static setTableParams(clazz, params) {
17
+ MetadataUtil.defineMetaData(DAL_TABLE_PARAMS, params, clazz);
18
+ }
19
+ static getTableParams(clazz) {
20
+ return MetadataUtil.getMetaData(DAL_TABLE_PARAMS, clazz);
21
+ }
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGVJbmZvVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL1RhYmxlSW5mb1V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBNkIsRUFBRSxDQUFDO0FBRTdELE1BQU0sT0FBTyxhQUFhO0lBQ3hCLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBd0I7UUFDeEMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLFlBQVksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsV0FBVztJQUNYLE1BQU0sQ0FBQyxZQUFZO1FBQ2pCLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBd0I7UUFDeEMsT0FBTyxZQUFZLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUM7SUFDaEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBd0IsRUFBRSxNQUFtQjtRQUNqRSxZQUFZLENBQUMsY0FBYyxDQUFDLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUF3QjtRQUM1QyxPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0QsQ0FBQztDQUNGIn0=
@@ -0,0 +1,4 @@
1
+ export * from './ColumnInfoUtil.ts';
2
+ export * from './DaoInfoUtil.ts';
3
+ export * from './IndexInfoUtil.ts';
4
+ export * from './TableInfoUtil.ts';
@@ -0,0 +1,5 @@
1
+ export * from "./ColumnInfoUtil.js";
2
+ export * from "./DaoInfoUtil.js";
3
+ export * from "./IndexInfoUtil.js";
4
+ export * from "./TableInfoUtil.js";
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG9CQUFvQixDQUFDIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eggjs/dal-decorator",
3
- "version": "4.0.0-beta.8",
3
+ "version": "4.0.0-beta.9",
4
4
  "description": "tegg dal decorator",
5
5
  "keywords": [
6
6
  "egg",
@@ -35,9 +35,9 @@
35
35
  "@eggjs/rds": "^1.3.0",
36
36
  "lodash.snakecase": "^4.1.1",
37
37
  "pluralize": "^8.0.0",
38
- "@eggjs/tegg-common-util": "4.0.0-beta.8",
39
- "@eggjs/core-decorator": "4.0.0-beta.8",
40
- "@eggjs/tegg-types": "4.0.0-beta.8"
38
+ "@eggjs/core-decorator": "4.0.0-beta.9",
39
+ "@eggjs/tegg-types": "4.0.0-beta.9",
40
+ "@eggjs/tegg-common-util": "4.0.0-beta.9"
41
41
  },
42
42
  "publishConfig": {
43
43
  "access": "public"
@@ -54,7 +54,7 @@
54
54
  "types": "./dist/index.d.ts",
55
55
  "scripts": {
56
56
  "clean": "rimraf dist",
57
- "build": "tsdown",
57
+ "build": "tsdown && rimraf dist && tsc -b --clean && tsc",
58
58
  "typecheck": "tsc --noEmit"
59
59
  }
60
60
  }