@eggjs/dal-decorator 3.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +5 -0
  3. package/dist/index.d.ts +20 -0
  4. package/dist/index.js +37 -0
  5. package/dist/src/decorator/Column.d.ts +178 -0
  6. package/dist/src/decorator/Column.js +21 -0
  7. package/dist/src/decorator/DataSourceQualifier.d.ts +3 -0
  8. package/dist/src/decorator/DataSourceQualifier.js +13 -0
  9. package/dist/src/decorator/Index.d.ts +14 -0
  10. package/dist/src/decorator/Index.js +11 -0
  11. package/dist/src/decorator/Table.d.ts +25 -0
  12. package/dist/src/decorator/Table.js +23 -0
  13. package/dist/src/enum/ColumnFormat.d.ts +5 -0
  14. package/dist/src/enum/ColumnFormat.js +10 -0
  15. package/dist/src/enum/ColumnType.d.ts +40 -0
  16. package/dist/src/enum/ColumnType.js +51 -0
  17. package/dist/src/enum/CompressionType.d.ts +5 -0
  18. package/dist/src/enum/CompressionType.js +10 -0
  19. package/dist/src/enum/IndexStoreType.d.ts +4 -0
  20. package/dist/src/enum/IndexStoreType.js +9 -0
  21. package/dist/src/enum/IndexType.d.ts +7 -0
  22. package/dist/src/enum/IndexType.js +12 -0
  23. package/dist/src/enum/InsertMethod.d.ts +5 -0
  24. package/dist/src/enum/InsertMethod.js +10 -0
  25. package/dist/src/enum/RowFormat.d.ts +8 -0
  26. package/dist/src/enum/RowFormat.js +13 -0
  27. package/dist/src/model/ColumnModel.d.ts +35 -0
  28. package/dist/src/model/ColumnModel.js +51 -0
  29. package/dist/src/model/IndexModel.d.ts +30 -0
  30. package/dist/src/model/IndexModel.js +47 -0
  31. package/dist/src/model/TableModel.d.ts +54 -0
  32. package/dist/src/model/TableModel.js +102 -0
  33. package/dist/src/type/ColumnTsType.d.ts +42 -0
  34. package/dist/src/type/ColumnTsType.js +3 -0
  35. package/dist/src/type/DateSource.d.ts +13 -0
  36. package/dist/src/type/DateSource.js +3 -0
  37. package/dist/src/type/MySql.d.ts +1 -0
  38. package/dist/src/type/MySql.js +3 -0
  39. package/dist/src/type/Spatial.d.ts +21 -0
  40. package/dist/src/type/Spatial.js +35 -0
  41. package/dist/src/type/SqlMap.d.ts +19 -0
  42. package/dist/src/type/SqlMap.js +12 -0
  43. package/dist/src/util/ColumnInfoUtil.d.ts +12 -0
  44. package/dist/src/util/ColumnInfoUtil.js +24 -0
  45. package/dist/src/util/IndexInfoUtil.d.ts +7 -0
  46. package/dist/src/util/IndexInfoUtil.js +16 -0
  47. package/dist/src/util/TableInfoUtil.d.ts +12 -0
  48. package/dist/src/util/TableInfoUtil.js +28 -0
  49. package/package.json +57 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2017-present Alibaba Group Holding Limited and other contributors.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,5 @@
1
+ # `@eggjs/dal-decorator`
2
+
3
+ ## Usage
4
+
5
+ Please read [@eggjs/tegg-dal-plugin](../../plugin/dal-plugin)
@@ -0,0 +1,20 @@
1
+ export * from './src/enum/CompressionType';
2
+ export * from './src/enum/InsertMethod';
3
+ export * from './src/enum/RowFormat';
4
+ export * from './src/enum/IndexType';
5
+ export * from './src/enum/ColumnType';
6
+ export * from './src/decorator/Index';
7
+ export * from './src/decorator/Table';
8
+ export * from './src/decorator/Column';
9
+ export * from './src/decorator/DataSourceQualifier';
10
+ export * from './src/util/ColumnInfoUtil';
11
+ export * from './src/util/IndexInfoUtil';
12
+ export * from './src/util/TableInfoUtil';
13
+ export * from './src/model/ColumnModel';
14
+ export * from './src/model/IndexModel';
15
+ export * from './src/model/TableModel';
16
+ export * from './src/type/DateSource';
17
+ export * from './src/type/Spatial';
18
+ export * from './src/type/SqlMap';
19
+ export * from './src/type/ColumnTsType';
20
+ export * from './src/type/MySql';
package/dist/index.js ADDED
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./src/enum/CompressionType"), exports);
18
+ __exportStar(require("./src/enum/InsertMethod"), exports);
19
+ __exportStar(require("./src/enum/RowFormat"), exports);
20
+ __exportStar(require("./src/enum/IndexType"), exports);
21
+ __exportStar(require("./src/enum/ColumnType"), exports);
22
+ __exportStar(require("./src/decorator/Index"), exports);
23
+ __exportStar(require("./src/decorator/Table"), exports);
24
+ __exportStar(require("./src/decorator/Column"), exports);
25
+ __exportStar(require("./src/decorator/DataSourceQualifier"), exports);
26
+ __exportStar(require("./src/util/ColumnInfoUtil"), exports);
27
+ __exportStar(require("./src/util/IndexInfoUtil"), exports);
28
+ __exportStar(require("./src/util/TableInfoUtil"), exports);
29
+ __exportStar(require("./src/model/ColumnModel"), exports);
30
+ __exportStar(require("./src/model/IndexModel"), exports);
31
+ __exportStar(require("./src/model/TableModel"), exports);
32
+ __exportStar(require("./src/type/DateSource"), exports);
33
+ __exportStar(require("./src/type/Spatial"), exports);
34
+ __exportStar(require("./src/type/SqlMap"), exports);
35
+ __exportStar(require("./src/type/ColumnTsType"), exports);
36
+ __exportStar(require("./src/type/MySql"), exports);
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQTJDO0FBQzNDLDBEQUF3QztBQUN4Qyx1REFBcUM7QUFDckMsdURBQXFDO0FBQ3JDLHdEQUFzQztBQUV0Qyx3REFBc0M7QUFDdEMsd0RBQXNDO0FBQ3RDLHlEQUF1QztBQUN2QyxzRUFBb0Q7QUFFcEQsNERBQTBDO0FBQzFDLDJEQUF5QztBQUN6QywyREFBeUM7QUFFekMsMERBQXdDO0FBQ3hDLHlEQUF1QztBQUN2Qyx5REFBdUM7QUFFdkMsd0RBQXNDO0FBQ3RDLHFEQUFtQztBQUNuQyxvREFBa0M7QUFDbEMsMERBQXdDO0FBQ3hDLG1EQUFpQyJ9
@@ -0,0 +1,178 @@
1
+ import { ColumnType } from '../enum/ColumnType';
2
+ import { ColumnFormat } from '../enum/ColumnFormat';
3
+ export interface ColumnParams {
4
+ name?: string;
5
+ default?: string;
6
+ canNull?: boolean;
7
+ comment?: string;
8
+ visible?: boolean;
9
+ autoIncrement?: boolean;
10
+ uniqueKey?: boolean;
11
+ primaryKey?: boolean;
12
+ collate?: string;
13
+ columnFormat?: ColumnFormat;
14
+ engineAttribute?: string;
15
+ secondaryEngineAttribute?: string;
16
+ }
17
+ export interface IColumnTypeParams {
18
+ type: ColumnType;
19
+ }
20
+ export interface BitParams extends IColumnTypeParams {
21
+ type: ColumnType.BIT;
22
+ length?: number;
23
+ }
24
+ export interface BoolParams extends IColumnTypeParams {
25
+ type: ColumnType.BOOL;
26
+ }
27
+ interface BaseNumericParams extends IColumnTypeParams {
28
+ length?: number;
29
+ unsigned?: boolean;
30
+ zeroFill?: boolean;
31
+ }
32
+ interface BaseFloatNumericParams extends IColumnTypeParams {
33
+ length?: number;
34
+ fractionalLength?: number;
35
+ unsigned?: boolean;
36
+ zeroFill?: boolean;
37
+ }
38
+ export interface TinyIntParams extends BaseNumericParams {
39
+ type: ColumnType.TINYINT;
40
+ }
41
+ export interface SmallIntParams extends BaseNumericParams {
42
+ type: ColumnType.SMALLINT;
43
+ }
44
+ export interface MediumIntParams extends BaseNumericParams {
45
+ type: ColumnType.MEDIUMINT;
46
+ }
47
+ export interface IntParams extends BaseNumericParams {
48
+ type: ColumnType.INT;
49
+ }
50
+ export interface BigIntParams extends BaseNumericParams {
51
+ type: ColumnType.BIGINT;
52
+ }
53
+ export interface DecimalParams extends BaseFloatNumericParams {
54
+ type: ColumnType.DECIMAL;
55
+ }
56
+ export interface FloatParams extends BaseFloatNumericParams {
57
+ type: ColumnType.FLOAT;
58
+ }
59
+ export interface DoubleParams extends BaseFloatNumericParams {
60
+ type: ColumnType.DOUBLE;
61
+ }
62
+ export interface DateParams extends IColumnTypeParams {
63
+ type: ColumnType.DATE;
64
+ }
65
+ export interface DateTimeParams extends IColumnTypeParams {
66
+ type: ColumnType.DATETIME;
67
+ precision?: number;
68
+ }
69
+ export interface TimestampParams extends IColumnTypeParams {
70
+ type: ColumnType.TIMESTAMP;
71
+ precision?: number;
72
+ }
73
+ export interface TimeParams extends IColumnTypeParams {
74
+ type: ColumnType.TIME;
75
+ precision?: number;
76
+ }
77
+ export interface YearParams extends IColumnTypeParams {
78
+ type: ColumnType.YEAR;
79
+ }
80
+ export interface CharParams extends IColumnTypeParams {
81
+ type: ColumnType.CHAR;
82
+ length?: number;
83
+ characterSet?: string;
84
+ collate?: string;
85
+ }
86
+ export interface VarCharParams extends IColumnTypeParams {
87
+ type: ColumnType.VARCHAR;
88
+ length: number;
89
+ characterSet?: string;
90
+ collate?: string;
91
+ }
92
+ export interface BinaryParams extends IColumnTypeParams {
93
+ type: ColumnType.BINARY;
94
+ length?: number;
95
+ }
96
+ export interface VarBinaryParams extends IColumnTypeParams {
97
+ type: ColumnType.VARBINARY;
98
+ length: number;
99
+ }
100
+ export interface TinyBlobParams extends IColumnTypeParams {
101
+ type: ColumnType.TINYBLOB;
102
+ }
103
+ export interface TinyTextParams extends IColumnTypeParams {
104
+ type: ColumnType.TINYTEXT;
105
+ characterSet?: string;
106
+ collate?: string;
107
+ }
108
+ export interface BlobParams extends IColumnTypeParams {
109
+ type: ColumnType.BLOB;
110
+ length?: number;
111
+ }
112
+ export interface TextParams extends IColumnTypeParams {
113
+ type: ColumnType.TEXT;
114
+ length?: number;
115
+ characterSet?: string;
116
+ collate?: string;
117
+ }
118
+ export interface MediumBlobParams extends IColumnTypeParams {
119
+ type: ColumnType.MEDIUMBLOB;
120
+ }
121
+ export interface LongBlobParams extends IColumnTypeParams {
122
+ type: ColumnType.LONGBLOB;
123
+ }
124
+ export interface MediumTextParams extends IColumnTypeParams {
125
+ type: ColumnType.MEDIUMTEXT;
126
+ characterSet?: string;
127
+ collate?: string;
128
+ }
129
+ export interface LongTextParams extends IColumnTypeParams {
130
+ type: ColumnType.LONGTEXT;
131
+ characterSet?: string;
132
+ collate?: string;
133
+ }
134
+ export interface EnumParams extends IColumnTypeParams {
135
+ type: ColumnType.ENUM;
136
+ enums: string[];
137
+ characterSet?: string;
138
+ collate?: string;
139
+ }
140
+ export interface SetParams extends IColumnTypeParams {
141
+ type: ColumnType.SET;
142
+ enums: string[];
143
+ characterSet?: string;
144
+ collate?: string;
145
+ }
146
+ export interface JsonParams extends IColumnTypeParams {
147
+ type: ColumnType.JSON;
148
+ }
149
+ export interface BaseSpatialParams extends IColumnTypeParams {
150
+ SRID?: number;
151
+ }
152
+ export interface GeometryParams extends BaseSpatialParams {
153
+ type: ColumnType.GEOMETRY;
154
+ }
155
+ export interface PointParams extends BaseSpatialParams {
156
+ type: ColumnType.POINT;
157
+ }
158
+ export interface LinestringParams extends BaseSpatialParams {
159
+ type: ColumnType.LINESTRING;
160
+ }
161
+ export interface PolygonParams extends BaseSpatialParams {
162
+ type: ColumnType.POLYGON;
163
+ }
164
+ export interface MultiPointParams extends BaseSpatialParams {
165
+ type: ColumnType.MULTIPOINT;
166
+ }
167
+ export interface MultiLinestringParams extends BaseSpatialParams {
168
+ type: ColumnType.MULTILINESTRING;
169
+ }
170
+ export interface MultiPolygonParams extends BaseSpatialParams {
171
+ type: ColumnType.MULTIPOLYGON;
172
+ }
173
+ export interface GeometryCollectionParams extends BaseSpatialParams {
174
+ type: ColumnType.GEOMETRYCOLLECTION;
175
+ }
176
+ export type ColumnTypeParams = BitParams | BoolParams | TinyIntParams | SmallIntParams | MediumIntParams | IntParams | BigIntParams | DecimalParams | FloatParams | DoubleParams | DateParams | DateTimeParams | TimestampParams | TimeParams | YearParams | CharParams | VarCharParams | BinaryParams | VarBinaryParams | TinyBlobParams | TinyTextParams | BlobParams | TextParams | MediumBlobParams | MediumTextParams | LongBlobParams | LongTextParams | EnumParams | SetParams | JsonParams | GeometryParams | PointParams | LinestringParams | PolygonParams | MultiPointParams | MultiLinestringParams | MultiPolygonParams | GeometryCollectionParams;
177
+ export declare function Column(type: ColumnTypeParams, params?: ColumnParams): (target: any, propertyKey: PropertyKey) => void;
178
+ export {};
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Column = void 0;
7
+ const node_assert_1 = __importDefault(require("node:assert"));
8
+ const ColumnInfoUtil_1 = require("../util/ColumnInfoUtil");
9
+ function Column(type, params) {
10
+ return function (target, propertyKey) {
11
+ (0, node_assert_1.default)(typeof propertyKey === 'string', `[Column/${target.name}] expect column name be typeof string, but now is ${String(propertyKey)}`);
12
+ const tableClazz = target.constructor;
13
+ const columnName = propertyKey;
14
+ ColumnInfoUtil_1.ColumnInfoUtil.addColumnType(tableClazz, columnName, type);
15
+ if (params) {
16
+ ColumnInfoUtil_1.ColumnInfoUtil.addColumnInfo(tableClazz, columnName, params);
17
+ }
18
+ };
19
+ }
20
+ exports.Column = Column;
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sdW1uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RlY29yYXRvci9Db2x1bW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOERBQWlDO0FBR2pDLDJEQUF3RDtBQWtReEQsU0FBZ0IsTUFBTSxDQUFDLElBQXNCLEVBQUUsTUFBcUI7SUFDbEUsT0FBTyxVQUFTLE1BQVcsRUFBRSxXQUF3QjtRQUNuRCxJQUFBLHFCQUFNLEVBQUMsT0FBTyxXQUFXLEtBQUssUUFBUSxFQUNwQyxXQUFXLE1BQU0sQ0FBQyxJQUFJLHFEQUFxRCxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BHLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFnQyxDQUFDO1FBQzNELE1BQU0sVUFBVSxHQUFHLFdBQXFCLENBQUM7UUFDekMsK0JBQWMsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsK0JBQWMsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMvRCxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQVhELHdCQVdDIn0=
@@ -0,0 +1,3 @@
1
+ export declare const DataSourceQualifierAttribute: unique symbol;
2
+ export declare const DataSourceInjectName = "dataSource";
3
+ export declare function DataSourceQualifier(dataSourceName: string): (target: any, propertyKey: PropertyKey) => void;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataSourceQualifier = exports.DataSourceInjectName = exports.DataSourceQualifierAttribute = void 0;
4
+ const tegg_1 = require("@eggjs/tegg");
5
+ exports.DataSourceQualifierAttribute = Symbol('Qualifier.DataSource');
6
+ exports.DataSourceInjectName = 'dataSource';
7
+ function DataSourceQualifier(dataSourceName) {
8
+ return function (target, propertyKey) {
9
+ tegg_1.QualifierUtil.addProperQualifier(target.constructor, propertyKey, exports.DataSourceQualifierAttribute, dataSourceName);
10
+ };
11
+ }
12
+ exports.DataSourceQualifier = DataSourceQualifier;
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVNvdXJjZVF1YWxpZmllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNvcmF0b3IvRGF0YVNvdXJjZVF1YWxpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzQ0FBK0Q7QUFFbEQsUUFBQSw0QkFBNEIsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUM5RCxRQUFBLG9CQUFvQixHQUFHLFlBQVksQ0FBQztBQUVqRCxTQUFnQixtQkFBbUIsQ0FBQyxjQUFzQjtJQUN4RCxPQUFPLFVBQVMsTUFBVyxFQUFFLFdBQXdCO1FBQ25ELG9CQUFhLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLFdBQWdDLEVBQ3RFLFdBQVcsRUFBRSxvQ0FBNEIsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUMvRCxDQUFDLENBQUM7QUFDSixDQUFDO0FBTEQsa0RBS0MifQ==
@@ -0,0 +1,14 @@
1
+ import { IndexType } from '../enum/IndexType';
2
+ import { IndexStoreType } from '../enum/IndexStoreType';
3
+ import { EggProtoImplClass } from '@eggjs/core-decorator';
4
+ export interface IndexParams {
5
+ keys: string[];
6
+ name?: string;
7
+ type?: IndexType;
8
+ storeType?: IndexStoreType;
9
+ comment?: string;
10
+ engineAttribute?: string;
11
+ secondaryEngineAttribute?: string;
12
+ parser?: string;
13
+ }
14
+ export declare function Index(params: IndexParams): (constructor: EggProtoImplClass) => void;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Index = void 0;
4
+ const IndexInfoUtil_1 = require("../util/IndexInfoUtil");
5
+ function Index(params) {
6
+ return function (constructor) {
7
+ IndexInfoUtil_1.IndexInfoUtil.addIndex(constructor, params);
8
+ };
9
+ }
10
+ exports.Index = Index;
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVjb3JhdG9yL0luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLHlEQUFzRDtBQWF0RCxTQUFnQixLQUFLLENBQUMsTUFBbUI7SUFDdkMsT0FBTyxVQUFTLFdBQThCO1FBQzVDLDZCQUFhLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5QyxDQUFDLENBQUM7QUFDSixDQUFDO0FBSkQsc0JBSUMifQ==
@@ -0,0 +1,25 @@
1
+ import { EggProtoImplClass } from '@eggjs/core-decorator';
2
+ import { InsertMethod } from '../enum/InsertMethod';
3
+ import { CompressionType } from '../enum/CompressionType';
4
+ import { RowFormat } from '../enum/RowFormat';
5
+ export interface TableParams {
6
+ name?: string;
7
+ dataSourceName?: string;
8
+ comment?: string;
9
+ autoExtendSize?: number;
10
+ autoIncrement?: number;
11
+ avgRowLength?: number;
12
+ characterSet?: string;
13
+ collate?: string;
14
+ compression?: CompressionType;
15
+ encryption?: boolean;
16
+ engine?: string;
17
+ engineAttribute?: string;
18
+ insertMethod?: InsertMethod;
19
+ keyBlockSize?: number;
20
+ maxRows?: number;
21
+ minRows?: number;
22
+ rowFormat?: RowFormat;
23
+ secondaryEngineAttribute?: string;
24
+ }
25
+ export declare function Table(params?: TableParams): (constructor: EggProtoImplClass) => void;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ // Create Table https://dev.mysql.com/doc/refman/8.0/en/create-table.html
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Table = void 0;
5
+ const core_decorator_1 = require("@eggjs/core-decorator");
6
+ const TableInfoUtil_1 = require("../util/TableInfoUtil");
7
+ const tegg_common_util_1 = require("@eggjs/tegg-common-util");
8
+ function Table(params) {
9
+ return function (constructor) {
10
+ TableInfoUtil_1.TableInfoUtil.setIsTable(constructor);
11
+ if (params) {
12
+ TableInfoUtil_1.TableInfoUtil.setTableParams(constructor, params);
13
+ }
14
+ const func = (0, core_decorator_1.Prototype)({
15
+ accessLevel: core_decorator_1.AccessLevel.PUBLIC,
16
+ initType: core_decorator_1.ObjectInitType.ALWAYS_NEW,
17
+ });
18
+ func(constructor);
19
+ core_decorator_1.PrototypeUtil.setFilePath(constructor, tegg_common_util_1.StackUtil.getCalleeFromStack(false, 5));
20
+ };
21
+ }
22
+ exports.Table = Table;
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVjb3JhdG9yL1RhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx5RUFBeUU7OztBQUV6RSwwREFBaUg7QUFDakgseURBQXNEO0FBRXRELDhEQUFvRDtBQXlCcEQsU0FBZ0IsS0FBSyxDQUFDLE1BQW9CO0lBQ3hDLE9BQU8sVUFBUyxXQUE4QjtRQUM1Qyw2QkFBYSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0QyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsNkJBQWEsQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFDRCxNQUFNLElBQUksR0FBRyxJQUFBLDBCQUFTLEVBQUM7WUFDckIsV0FBVyxFQUFFLDRCQUFXLENBQUMsTUFBTTtZQUMvQixRQUFRLEVBQUUsK0JBQWMsQ0FBQyxVQUFVO1NBQ3BDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsQiw4QkFBYSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsNEJBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRixDQUFDLENBQUM7QUFDSixDQUFDO0FBYkQsc0JBYUMifQ==
@@ -0,0 +1,5 @@
1
+ export declare enum ColumnFormat {
2
+ FIXED = "FIXED",
3
+ DYNAMIC = "DYNAMIC",
4
+ DEFAULT = "DEFAULT"
5
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ColumnFormat = void 0;
4
+ var ColumnFormat;
5
+ (function (ColumnFormat) {
6
+ ColumnFormat["FIXED"] = "FIXED";
7
+ ColumnFormat["DYNAMIC"] = "DYNAMIC";
8
+ ColumnFormat["DEFAULT"] = "DEFAULT";
9
+ })(ColumnFormat || (exports.ColumnFormat = ColumnFormat = {}));
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sdW1uRm9ybWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VudW0vQ29sdW1uRm9ybWF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksWUFJWDtBQUpELFdBQVksWUFBWTtJQUN0QiwrQkFBZSxDQUFBO0lBQ2YsbUNBQW1CLENBQUE7SUFDbkIsbUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUpXLFlBQVksNEJBQVosWUFBWSxRQUl2QiJ9
@@ -0,0 +1,40 @@
1
+ export declare enum ColumnType {
2
+ BIT = "BIT",
3
+ TINYINT = "TINYINT",
4
+ BOOL = "BOOL",
5
+ SMALLINT = "SMALLINT",
6
+ MEDIUMINT = "MEDIUMINT",
7
+ INT = "INT",
8
+ BIGINT = "BIGINT",
9
+ DECIMAL = "DECIMAL",
10
+ FLOAT = "FLOAT",
11
+ DOUBLE = "DOUBLE",
12
+ DATE = "DATE",
13
+ DATETIME = "DATETIME",
14
+ TIMESTAMP = "TIMESTAMP",
15
+ TIME = "TIME",
16
+ YEAR = "YEAR",
17
+ CHAR = "CHAR",
18
+ VARCHAR = "VARCHAR",
19
+ BINARY = "BINARY",
20
+ VARBINARY = "VARBINARY",
21
+ TINYBLOB = "TINYBLOB",
22
+ TINYTEXT = "TINYTEXT",
23
+ BLOB = "BLOB",
24
+ TEXT = "TEXT",
25
+ MEDIUMBLOB = "MEDIUMBLOB",
26
+ MEDIUMTEXT = "MEDIUMTEXT",
27
+ LONGBLOB = "LONGBLOB",
28
+ LONGTEXT = "LONGTEXT",
29
+ ENUM = "ENUM",
30
+ SET = "SET",
31
+ JSON = "JSON",
32
+ GEOMETRY = "GEOMETRY",
33
+ POINT = "POINT",
34
+ LINESTRING = "LINESTRING",
35
+ POLYGON = "POLYGON",
36
+ MULTIPOINT = "MULTIPOINT",
37
+ MULTILINESTRING = "MULTILINESTRING",
38
+ MULTIPOLYGON = "MULTIPOLYGON",
39
+ GEOMETRYCOLLECTION = "GEOMETRYCOLLECTION"
40
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ColumnType = void 0;
4
+ // Data Types https://dev.mysql.com/doc/refman/8.0/en/data-types.html
5
+ var ColumnType;
6
+ (function (ColumnType) {
7
+ // Numeric
8
+ ColumnType["BIT"] = "BIT";
9
+ ColumnType["TINYINT"] = "TINYINT";
10
+ ColumnType["BOOL"] = "BOOL";
11
+ ColumnType["SMALLINT"] = "SMALLINT";
12
+ ColumnType["MEDIUMINT"] = "MEDIUMINT";
13
+ ColumnType["INT"] = "INT";
14
+ ColumnType["BIGINT"] = "BIGINT";
15
+ ColumnType["DECIMAL"] = "DECIMAL";
16
+ ColumnType["FLOAT"] = "FLOAT";
17
+ ColumnType["DOUBLE"] = "DOUBLE";
18
+ // Date
19
+ ColumnType["DATE"] = "DATE";
20
+ ColumnType["DATETIME"] = "DATETIME";
21
+ ColumnType["TIMESTAMP"] = "TIMESTAMP";
22
+ ColumnType["TIME"] = "TIME";
23
+ ColumnType["YEAR"] = "YEAR";
24
+ // String
25
+ ColumnType["CHAR"] = "CHAR";
26
+ ColumnType["VARCHAR"] = "VARCHAR";
27
+ ColumnType["BINARY"] = "BINARY";
28
+ ColumnType["VARBINARY"] = "VARBINARY";
29
+ ColumnType["TINYBLOB"] = "TINYBLOB";
30
+ ColumnType["TINYTEXT"] = "TINYTEXT";
31
+ ColumnType["BLOB"] = "BLOB";
32
+ ColumnType["TEXT"] = "TEXT";
33
+ ColumnType["MEDIUMBLOB"] = "MEDIUMBLOB";
34
+ ColumnType["MEDIUMTEXT"] = "MEDIUMTEXT";
35
+ ColumnType["LONGBLOB"] = "LONGBLOB";
36
+ ColumnType["LONGTEXT"] = "LONGTEXT";
37
+ ColumnType["ENUM"] = "ENUM";
38
+ ColumnType["SET"] = "SET";
39
+ // JSON
40
+ ColumnType["JSON"] = "JSON";
41
+ // Spatial
42
+ ColumnType["GEOMETRY"] = "GEOMETRY";
43
+ ColumnType["POINT"] = "POINT";
44
+ ColumnType["LINESTRING"] = "LINESTRING";
45
+ ColumnType["POLYGON"] = "POLYGON";
46
+ ColumnType["MULTIPOINT"] = "MULTIPOINT";
47
+ ColumnType["MULTILINESTRING"] = "MULTILINESTRING";
48
+ ColumnType["MULTIPOLYGON"] = "MULTIPOLYGON";
49
+ ColumnType["GEOMETRYCOLLECTION"] = "GEOMETRYCOLLECTION";
50
+ })(ColumnType || (exports.ColumnType = ColumnType = {}));
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sdW1uVHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbnVtL0NvbHVtblR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQXFFO0FBQ3JFLElBQVksVUE0Q1g7QUE1Q0QsV0FBWSxVQUFVO0lBQ3BCLFVBQVU7SUFDVix5QkFBVyxDQUFBO0lBQ1gsaUNBQW1CLENBQUE7SUFDbkIsMkJBQWEsQ0FBQTtJQUNiLG1DQUFxQixDQUFBO0lBQ3JCLHFDQUF1QixDQUFBO0lBQ3ZCLHlCQUFXLENBQUE7SUFDWCwrQkFBaUIsQ0FBQTtJQUNqQixpQ0FBbUIsQ0FBQTtJQUNuQiw2QkFBZSxDQUFBO0lBQ2YsK0JBQWlCLENBQUE7SUFDakIsT0FBTztJQUNQLDJCQUFhLENBQUE7SUFDYixtQ0FBcUIsQ0FBQTtJQUNyQixxQ0FBdUIsQ0FBQTtJQUN2QiwyQkFBYSxDQUFBO0lBQ2IsMkJBQWEsQ0FBQTtJQUNiLFNBQVM7SUFDVCwyQkFBYSxDQUFBO0lBQ2IsaUNBQW1CLENBQUE7SUFDbkIsK0JBQWlCLENBQUE7SUFDakIscUNBQXVCLENBQUE7SUFDdkIsbUNBQXFCLENBQUE7SUFDckIsbUNBQXFCLENBQUE7SUFDckIsMkJBQWEsQ0FBQTtJQUNiLDJCQUFhLENBQUE7SUFDYix1Q0FBeUIsQ0FBQTtJQUN6Qix1Q0FBeUIsQ0FBQTtJQUN6QixtQ0FBcUIsQ0FBQTtJQUNyQixtQ0FBcUIsQ0FBQTtJQUNyQiwyQkFBYSxDQUFBO0lBQ2IseUJBQVcsQ0FBQTtJQUNYLE9BQU87SUFDUCwyQkFBYSxDQUFBO0lBQ2IsVUFBVTtJQUNWLG1DQUFxQixDQUFBO0lBQ3JCLDZCQUFlLENBQUE7SUFDZix1Q0FBeUIsQ0FBQTtJQUN6QixpQ0FBbUIsQ0FBQTtJQUNuQix1Q0FBeUIsQ0FBQTtJQUN6QixpREFBbUMsQ0FBQTtJQUNuQywyQ0FBNkIsQ0FBQTtJQUM3Qix1REFBeUMsQ0FBQTtBQUMzQyxDQUFDLEVBNUNXLFVBQVUsMEJBQVYsVUFBVSxRQTRDckIifQ==
@@ -0,0 +1,5 @@
1
+ export declare enum CompressionType {
2
+ ZLIB = "ZLIB",
3
+ LZ4 = "LZ4",
4
+ NONE = "NONE"
5
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CompressionType = void 0;
4
+ var CompressionType;
5
+ (function (CompressionType) {
6
+ CompressionType["ZLIB"] = "ZLIB";
7
+ CompressionType["LZ4"] = "LZ4";
8
+ CompressionType["NONE"] = "NONE";
9
+ })(CompressionType || (exports.CompressionType = CompressionType = {}));
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcHJlc3Npb25UeXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VudW0vQ29tcHJlc3Npb25UeXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksZUFJWDtBQUpELFdBQVksZUFBZTtJQUN6QixnQ0FBYSxDQUFBO0lBQ2IsOEJBQVcsQ0FBQTtJQUNYLGdDQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsZUFBZSwrQkFBZixlQUFlLFFBSTFCIn0=
@@ -0,0 +1,4 @@
1
+ export declare enum IndexStoreType {
2
+ BTREE = "BTREE",
3
+ HASH = "HASH"
4
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IndexStoreType = void 0;
4
+ var IndexStoreType;
5
+ (function (IndexStoreType) {
6
+ IndexStoreType["BTREE"] = "BTREE";
7
+ IndexStoreType["HASH"] = "HASH";
8
+ })(IndexStoreType || (exports.IndexStoreType = IndexStoreType = {}));
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXhTdG9yZVR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZW51bS9JbmRleFN0b3JlVHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFZLGNBR1g7QUFIRCxXQUFZLGNBQWM7SUFDeEIsaUNBQWUsQ0FBQTtJQUNmLCtCQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsY0FBYyw4QkFBZCxjQUFjLFFBR3pCIn0=
@@ -0,0 +1,7 @@
1
+ export declare enum IndexType {
2
+ PRIMARY = "PRIMARY",
3
+ UNIQUE = "UNIQUE",
4
+ INDEX = "INDEX",
5
+ FULLTEXT = "FULLTEXT",
6
+ SPATIAL = "SPATIAL"
7
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IndexType = void 0;
4
+ var IndexType;
5
+ (function (IndexType) {
6
+ IndexType["PRIMARY"] = "PRIMARY";
7
+ IndexType["UNIQUE"] = "UNIQUE";
8
+ IndexType["INDEX"] = "INDEX";
9
+ IndexType["FULLTEXT"] = "FULLTEXT";
10
+ IndexType["SPATIAL"] = "SPATIAL";
11
+ })(IndexType || (exports.IndexType = IndexType = {}));
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXhUeXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VudW0vSW5kZXhUeXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksU0FNWDtBQU5ELFdBQVksU0FBUztJQUNuQixnQ0FBbUIsQ0FBQTtJQUNuQiw4QkFBaUIsQ0FBQTtJQUNqQiw0QkFBZSxDQUFBO0lBQ2Ysa0NBQXFCLENBQUE7SUFDckIsZ0NBQW1CLENBQUE7QUFDckIsQ0FBQyxFQU5XLFNBQVMseUJBQVQsU0FBUyxRQU1wQiJ9
@@ -0,0 +1,5 @@
1
+ export declare enum InsertMethod {
2
+ NO = "NO",
3
+ FIRST = "FIRST",
4
+ LAST = "LAST"
5
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InsertMethod = void 0;
4
+ var InsertMethod;
5
+ (function (InsertMethod) {
6
+ InsertMethod["NO"] = "NO";
7
+ InsertMethod["FIRST"] = "FIRST";
8
+ InsertMethod["LAST"] = "LAST";
9
+ })(InsertMethod || (exports.InsertMethod = InsertMethod = {}));
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5zZXJ0TWV0aG9kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VudW0vSW5zZXJ0TWV0aG9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksWUFJWDtBQUpELFdBQVksWUFBWTtJQUN0Qix5QkFBUyxDQUFBO0lBQ1QsK0JBQWUsQ0FBQTtJQUNmLDZCQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsWUFBWSw0QkFBWixZQUFZLFFBSXZCIn0=
@@ -0,0 +1,8 @@
1
+ export declare enum RowFormat {
2
+ DEFAULT = "DEFAULT",
3
+ DYNAMIC = "DYNAMIC",
4
+ FIXED = "FIXED",
5
+ COMPRESSED = "COMPRESSED",
6
+ REDUNDANT = "REDUNDANT",
7
+ COMPACT = "COMPACT"
8
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RowFormat = void 0;
4
+ var RowFormat;
5
+ (function (RowFormat) {
6
+ RowFormat["DEFAULT"] = "DEFAULT";
7
+ RowFormat["DYNAMIC"] = "DYNAMIC";
8
+ RowFormat["FIXED"] = "FIXED";
9
+ RowFormat["COMPRESSED"] = "COMPRESSED";
10
+ RowFormat["REDUNDANT"] = "REDUNDANT";
11
+ RowFormat["COMPACT"] = "COMPACT";
12
+ })(RowFormat || (exports.RowFormat = RowFormat = {}));
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm93Rm9ybWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VudW0vUm93Rm9ybWF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksU0FPWDtBQVBELFdBQVksU0FBUztJQUNuQixnQ0FBbUIsQ0FBQTtJQUNuQixnQ0FBbUIsQ0FBQTtJQUNuQiw0QkFBZSxDQUFBO0lBQ2Ysc0NBQXlCLENBQUE7SUFDekIsb0NBQXVCLENBQUE7SUFDdkIsZ0NBQW1CLENBQUE7QUFDckIsQ0FBQyxFQVBXLFNBQVMseUJBQVQsU0FBUyxRQU9wQiJ9
@@ -0,0 +1,35 @@
1
+ import { ColumnFormat } from '../enum/ColumnFormat';
2
+ import { ColumnParams, ColumnTypeParams } from '../decorator/Column';
3
+ export declare class ColumnModel {
4
+ columnName: string;
5
+ propertyName: string;
6
+ type: ColumnTypeParams;
7
+ canNull: boolean;
8
+ default?: string;
9
+ comment?: string;
10
+ visible?: boolean;
11
+ autoIncrement?: boolean;
12
+ uniqueKey?: boolean;
13
+ primaryKey?: boolean;
14
+ collate?: string;
15
+ columnFormat?: ColumnFormat;
16
+ engineAttribute?: string;
17
+ secondaryEngineAttribute?: string;
18
+ constructor(params: {
19
+ columnName: string;
20
+ propertyName: string;
21
+ type: ColumnTypeParams;
22
+ canNull: boolean;
23
+ default?: string;
24
+ comment?: string;
25
+ visible?: boolean;
26
+ autoIncrement?: boolean;
27
+ uniqueKey?: boolean;
28
+ primaryKey?: boolean;
29
+ collate?: string;
30
+ columnFormat?: ColumnFormat;
31
+ engineAttribute?: string;
32
+ secondaryEngineAttribute?: string;
33
+ });
34
+ static build(property: string, type: ColumnTypeParams, params?: ColumnParams): ColumnModel;
35
+ }