@eggjs/dal-decorator 4.0.0-beta.1 → 4.0.0-beta.10

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