@eggjs/tegg-orm-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.
- package/README.md +16 -6
- package/{src → dist}/builder/AttributeMetaBuilder.d.ts +1 -1
- package/dist/builder/AttributeMetaBuilder.js +24 -0
- package/{src → dist}/builder/IndexMetaBuilder.d.ts +1 -1
- package/dist/builder/IndexMetaBuilder.js +33 -0
- package/{src → dist}/builder/ModelMetaBuilder.d.ts +1 -1
- package/dist/builder/ModelMetaBuilder.js +20 -0
- package/dist/builder/index.d.ts +3 -0
- package/dist/builder/index.js +4 -0
- package/dist/decorator/Attribute.js +10 -0
- package/dist/decorator/DataSource.js +7 -0
- package/dist/decorator/Model.js +21 -0
- package/dist/decorator/ModelIndex.js +7 -0
- package/dist/decorator/index.d.ts +4 -0
- package/dist/decorator/index.js +5 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +6 -0
- package/dist/model/AttributeMeta.js +19 -0
- package/dist/model/IndexMeta.js +13 -0
- package/{src → dist}/model/ModelMetadata.d.ts +2 -2
- package/dist/model/ModelMetadata.js +15 -0
- package/dist/model/index.d.ts +3 -0
- package/dist/model/index.js +4 -0
- package/dist/util/ModelInfoUtil.js +43 -0
- package/{src → dist}/util/ModelMetadataUtil.d.ts +1 -1
- package/dist/util/ModelMetadataUtil.js +12 -0
- package/{src → dist}/util/NameUtil.js +1 -1
- package/dist/util/index.d.ts +3 -0
- package/dist/util/index.js +4 -0
- package/package.json +23 -28
- package/src/builder/AttributeMetaBuilder.js +0 -24
- package/src/builder/IndexMetaBuilder.js +0 -33
- package/src/builder/ModelMetaBuilder.js +0 -20
- package/src/builder/index.d.ts +0 -3
- package/src/builder/index.js +0 -4
- package/src/decorator/Attribute.js +0 -10
- package/src/decorator/DataSource.js +0 -7
- package/src/decorator/Model.js +0 -21
- package/src/decorator/ModelIndex.js +0 -7
- package/src/decorator/index.d.ts +0 -4
- package/src/decorator/index.js +0 -5
- package/src/index.d.ts +0 -5
- package/src/index.js +0 -6
- package/src/model/AttributeMeta.js +0 -19
- package/src/model/IndexMeta.js +0 -13
- package/src/model/ModelMetadata.js +0 -13
- package/src/model/index.d.ts +0 -3
- package/src/model/index.js +0 -4
- package/src/util/ModelInfoUtil.js +0 -43
- package/src/util/ModelMetadataUtil.js +0 -11
- package/src/util/index.d.ts +0 -3
- package/src/util/index.js +0 -4
- /package/{src → dist}/decorator/Attribute.d.ts +0 -0
- /package/{src → dist}/decorator/DataSource.d.ts +0 -0
- /package/{src → dist}/decorator/Model.d.ts +0 -0
- /package/{src → dist}/decorator/ModelIndex.d.ts +0 -0
- /package/{src → dist}/model/AttributeMeta.d.ts +0 -0
- /package/{src → dist}/model/IndexMeta.d.ts +0 -0
- /package/{src → dist}/util/ModelInfoUtil.d.ts +0 -0
- /package/{src → dist}/util/NameUtil.d.ts +0 -0
package/README.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# `@eggjs/tegg-orm-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
|
+
[](https://nodejs.org/en/download/)
|
|
7
|
+
|
|
8
|
+
[npm-image]: https://img.shields.io/npm/v/@eggjs/tegg-orm-decorator.svg?style=flat-square
|
|
9
|
+
[npm-url]: https://npmjs.org/package/@eggjs/tegg-orm-decorator
|
|
10
|
+
[snyk-image]: https://snyk.io/test/npm/@eggjs/tegg-orm-decorator/badge.svg?style=flat-square
|
|
11
|
+
[snyk-url]: https://snyk.io/test/npm/@eggjs/tegg-orm-decorator
|
|
12
|
+
[download-image]: https://img.shields.io/npm/dm/@eggjs/tegg-orm-decorator.svg?style=flat-square
|
|
13
|
+
[download-url]: https://npmjs.org/package/@eggjs/tegg-orm-decorator
|
|
14
|
+
|
|
3
15
|
## Install
|
|
4
16
|
|
|
5
17
|
```shell
|
|
@@ -10,7 +22,9 @@ npm i --save @eggjs/tegg-orm-decorator
|
|
|
10
22
|
|
|
11
23
|
```ts
|
|
12
24
|
import { Model, Attribute } from '@eggjs/tegg-orm-decorator';
|
|
13
|
-
import
|
|
25
|
+
import leoric from 'leoric';
|
|
26
|
+
|
|
27
|
+
const { DataTypes, Bone } = leoric;
|
|
14
28
|
|
|
15
29
|
@Model()
|
|
16
30
|
export class App extends Bone {
|
|
@@ -32,10 +46,7 @@ export class AppService {
|
|
|
32
46
|
@Inject()
|
|
33
47
|
App: typeof App;
|
|
34
48
|
|
|
35
|
-
async createApp(data: {
|
|
36
|
-
name: string;
|
|
37
|
-
desc: string;
|
|
38
|
-
}): Promise<App> {
|
|
49
|
+
async createApp(data: { name: string; desc: string }): Promise<App> {
|
|
39
50
|
const bone = await this.App.create(data as any);
|
|
40
51
|
return bone as App;
|
|
41
52
|
}
|
|
@@ -45,5 +56,4 @@ export class AppService {
|
|
|
45
56
|
return app as App;
|
|
46
57
|
}
|
|
47
58
|
}
|
|
48
|
-
|
|
49
59
|
```
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { EggProtoImplClass } from '@eggjs/tegg-types';
|
|
2
|
-
import { AttributeMeta } from '../model/index.
|
|
2
|
+
import { AttributeMeta } from '../model/index.ts';
|
|
3
3
|
export declare class AttributeMetaBuilder {
|
|
4
4
|
private readonly clazz;
|
|
5
5
|
constructor(clazz: EggProtoImplClass);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { AttributeMeta } from "../model/index.js";
|
|
2
|
+
import { ModelInfoUtil, NameUtil } from "../util/index.js";
|
|
3
|
+
export class AttributeMetaBuilder {
|
|
4
|
+
clazz;
|
|
5
|
+
constructor(clazz) {
|
|
6
|
+
this.clazz = clazz;
|
|
7
|
+
}
|
|
8
|
+
build() {
|
|
9
|
+
const modelAttributes = ModelInfoUtil.getModelAttributes(this.clazz);
|
|
10
|
+
const attributes = [];
|
|
11
|
+
if (!modelAttributes) {
|
|
12
|
+
throw new Error(`model ${this.clazz.name} has no attributes`);
|
|
13
|
+
}
|
|
14
|
+
for (const [propertyName, attributeInfo] of modelAttributes) {
|
|
15
|
+
const attribute = this.buildAttributeMeta(propertyName, attributeInfo);
|
|
16
|
+
attributes.push(attribute);
|
|
17
|
+
}
|
|
18
|
+
return attributes;
|
|
19
|
+
}
|
|
20
|
+
buildAttributeMeta(propertyName, attributeInfo) {
|
|
21
|
+
return new AttributeMeta(attributeInfo.dataType, propertyName, attributeInfo.options?.name ?? NameUtil.getAttributeName(propertyName), attributeInfo.options?.allowNull ?? true, attributeInfo.options?.autoIncrement ?? false, attributeInfo.options?.primary ?? false, attributeInfo.options?.unique ?? false);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXR0cmlidXRlTWV0YUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGRlci9BdHRyaWJ1dGVNZXRhQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUzRCxNQUFNLE9BQU8sb0JBQW9CO0lBQ2QsS0FBSyxDQUFvQjtJQUUxQyxZQUFZLEtBQXdCO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxLQUFLO1FBQ0gsTUFBTSxlQUFlLEdBQUcsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRSxNQUFNLFVBQVUsR0FBeUIsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLG9CQUFvQixDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUNELEtBQUssTUFBTSxDQUFFLFlBQVksRUFBRSxhQUFhLENBQUUsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUM5RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQ3ZFLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxZQUFvQixFQUFFLGFBQWlDO1FBQ2hGLE9BQU8sSUFBSSxhQUFhLENBQ3RCLGFBQWEsQ0FBQyxRQUFRLEVBQ3RCLFlBQVksRUFDWixhQUFhLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLEVBQ3RFLGFBQWEsQ0FBQyxPQUFPLEVBQUUsU0FBUyxJQUFJLElBQUksRUFDeEMsYUFBYSxDQUFDLE9BQU8sRUFBRSxhQUFhLElBQUksS0FBSyxFQUM3QyxhQUFhLENBQUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxLQUFLLEVBQ3ZDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxJQUFJLEtBQUssQ0FDdkMsQ0FBQztJQUNKLENBQUM7Q0FDRiJ9
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { EggProtoImplClass } from '@eggjs/tegg-types';
|
|
2
|
-
import { IndexMeta, AttributeMeta } from '../model/index.
|
|
2
|
+
import { IndexMeta, AttributeMeta } from '../model/index.ts';
|
|
3
3
|
export declare class IndexMetaBuilder {
|
|
4
4
|
private readonly clazz;
|
|
5
5
|
private readonly attributes;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { IndexMeta, AttributeMeta } from "../model/index.js";
|
|
2
|
+
import { ModelInfoUtil, NameUtil } from "../util/index.js";
|
|
3
|
+
export class IndexMetaBuilder {
|
|
4
|
+
clazz;
|
|
5
|
+
attributes;
|
|
6
|
+
constructor(clazz, attributes) {
|
|
7
|
+
this.clazz = clazz;
|
|
8
|
+
this.attributes = attributes;
|
|
9
|
+
}
|
|
10
|
+
build() {
|
|
11
|
+
return ModelInfoUtil.getModelIndices(this.clazz)
|
|
12
|
+
.map(indexInfo => this.buildIndexMeta(indexInfo));
|
|
13
|
+
}
|
|
14
|
+
buildIndexMeta(indexInfo) {
|
|
15
|
+
const fields = [];
|
|
16
|
+
for (const field of indexInfo.fields) {
|
|
17
|
+
const attribute = this.attributes.find(t => t.propertyName === field);
|
|
18
|
+
if (!attribute) {
|
|
19
|
+
throw new Error(`model ${this.clazz.name} has no attribute named ${field}`);
|
|
20
|
+
}
|
|
21
|
+
fields.push(attribute.attributeName);
|
|
22
|
+
}
|
|
23
|
+
let indexName;
|
|
24
|
+
if (indexInfo.options?.name) {
|
|
25
|
+
indexName = indexInfo.options.name;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
indexName = NameUtil.getIndexName(fields, { unique: indexInfo.options?.unique });
|
|
29
|
+
}
|
|
30
|
+
return new IndexMeta(indexName, fields, indexInfo.options?.unique ?? false, indexInfo.options?.primary ?? false);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXhNZXRhQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWlsZGVyL0luZGV4TWV0YUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTNELE1BQU0sT0FBTyxnQkFBZ0I7SUFDVixLQUFLLENBQW9CO0lBQ3pCLFVBQVUsQ0FBdUI7SUFFbEQsWUFBWSxLQUF3QixFQUFFLFVBQWdDO1FBQ3BFLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxhQUFhLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7YUFDN0MsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTyxjQUFjLENBQUMsU0FBeUI7UUFDOUMsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO1FBQzVCLEtBQUssTUFBTSxLQUFLLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3JDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksS0FBSyxLQUFLLENBQUMsQ0FBQztZQUN0RSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSwyQkFBMkIsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUM5RSxDQUFDO1lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkMsQ0FBQztRQUVELElBQUksU0FBaUIsQ0FBQztRQUN0QixJQUFJLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDNUIsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3RDLENBQUM7YUFBTSxDQUFDO1lBQ04sU0FBUyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNuRixDQUFDO1FBQ0QsT0FBTyxJQUFJLFNBQVMsQ0FDbEIsU0FBUyxFQUNULE1BQU0sRUFDTixTQUFTLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxLQUFLLEVBQ2xDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxJQUFJLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Q0FDRiJ9
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { EggProtoImplClass } from '@eggjs/tegg-types';
|
|
2
|
-
import { ModelMetadata } from '../model/index.
|
|
2
|
+
import { ModelMetadata } from '../model/index.ts';
|
|
3
3
|
export declare class ModelMetaBuilder {
|
|
4
4
|
private readonly clazz;
|
|
5
5
|
constructor(clazz: EggProtoImplClass);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ModelMetadata } from "../model/index.js";
|
|
2
|
+
import { ModelInfoUtil, NameUtil } from "../util/index.js";
|
|
3
|
+
import { IndexMetaBuilder } from "./IndexMetaBuilder.js";
|
|
4
|
+
import { AttributeMetaBuilder } from "./AttributeMetaBuilder.js";
|
|
5
|
+
export class ModelMetaBuilder {
|
|
6
|
+
clazz;
|
|
7
|
+
constructor(clazz) {
|
|
8
|
+
this.clazz = clazz;
|
|
9
|
+
}
|
|
10
|
+
build() {
|
|
11
|
+
const dataSource = ModelInfoUtil.getDataSource(this.clazz);
|
|
12
|
+
const tableName = ModelInfoUtil.getTableName(this.clazz) || NameUtil.getTableName(this.clazz.name);
|
|
13
|
+
const attributeMetaBuilder = new AttributeMetaBuilder(this.clazz);
|
|
14
|
+
const attributes = attributeMetaBuilder.build();
|
|
15
|
+
const indexMetaBuilder = new IndexMetaBuilder(this.clazz, attributes);
|
|
16
|
+
const indices = indexMetaBuilder.build();
|
|
17
|
+
return new ModelMetadata(dataSource, tableName, attributes, indices);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxNZXRhQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWlsZGVyL01vZGVsTWV0YUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFakUsTUFBTSxPQUFPLGdCQUFnQjtJQUNWLEtBQUssQ0FBb0I7SUFFMUMsWUFBWSxLQUF3QjtRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsS0FBSztRQUNILE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuRyxNQUFNLG9CQUFvQixHQUFHLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sVUFBVSxHQUFHLG9CQUFvQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2hELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3pDLE9BQU8sSUFBSSxhQUFhLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkUsQ0FBQztDQUNGIn0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from "./AttributeMetaBuilder.js";
|
|
2
|
+
export * from "./IndexMetaBuilder.js";
|
|
3
|
+
export * from "./ModelMetaBuilder.js";
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx1QkFBdUIsQ0FBQyJ9
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import assert from 'node:assert';
|
|
2
|
+
import { ModelInfoUtil } from "../util/index.js";
|
|
3
|
+
export function Attribute(dataType, options) {
|
|
4
|
+
return function (target, propertyKey) {
|
|
5
|
+
const clazz = target.constructor;
|
|
6
|
+
assert(typeof propertyKey === 'string', `[model/${clazz.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
|
|
7
|
+
ModelInfoUtil.addModelAttribute(dataType, options, clazz, propertyKey);
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXR0cmlidXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlY29yYXRvci9BdHRyaWJ1dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBSWpDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxNQUFNLFVBQVUsU0FBUyxDQUFDLFFBQWdCLEVBQUUsT0FBMEI7SUFDcEUsT0FBTyxVQUFTLE1BQVcsRUFBRSxXQUF3QjtRQUNuRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsV0FBZ0MsQ0FBQztRQUN0RCxNQUFNLENBQUMsT0FBTyxXQUFXLEtBQUssUUFBUSxFQUNwQyxVQUFVLEtBQUssQ0FBQyxJQUFJLHFEQUFxRCxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xHLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN6RSxDQUFDLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ModelInfoUtil } from "../util/index.js";
|
|
2
|
+
export function DataSource(dataSource) {
|
|
3
|
+
return function (clazz) {
|
|
4
|
+
ModelInfoUtil.setDataSource(dataSource, clazz);
|
|
5
|
+
};
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWNvcmF0b3IvRGF0YVNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxVQUFrQjtJQUMzQyxPQUFPLFVBQVMsS0FBd0I7UUFDdEMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { SingletonProto } from '@eggjs/core-decorator';
|
|
2
|
+
import { AccessLevel, MODEL_PROTO_IMPL_TYPE } from '@eggjs/tegg-types';
|
|
3
|
+
import { ModelInfoUtil } from "../util/index.js";
|
|
4
|
+
export function Model(param) {
|
|
5
|
+
return function (clazz) {
|
|
6
|
+
ModelInfoUtil.setIsModel(true, clazz);
|
|
7
|
+
const func = SingletonProto({
|
|
8
|
+
name: clazz.name,
|
|
9
|
+
accessLevel: AccessLevel.PUBLIC,
|
|
10
|
+
protoImplType: MODEL_PROTO_IMPL_TYPE,
|
|
11
|
+
});
|
|
12
|
+
if (param?.tableName) {
|
|
13
|
+
ModelInfoUtil.setTableName(param.tableName, clazz);
|
|
14
|
+
}
|
|
15
|
+
if (param?.dataSource) {
|
|
16
|
+
ModelInfoUtil.setDataSource(param.dataSource, clazz);
|
|
17
|
+
}
|
|
18
|
+
func(clazz);
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVjb3JhdG9yL01vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE1BQU0sVUFBVSxLQUFLLENBQUMsS0FBbUI7SUFDdkMsT0FBTyxVQUFTLEtBQXdCO1FBQ3RDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQztZQUMxQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsV0FBVyxFQUFFLFdBQVcsQ0FBQyxNQUFNO1lBQy9CLGFBQWEsRUFBRSxxQkFBcUI7U0FDckMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUM7WUFDckIsYUFBYSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFDRCxJQUFJLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQztZQUN0QixhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNkLENBQUMsQ0FBQztBQUNKLENBQUMifQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ModelInfoUtil } from "../util/index.js";
|
|
2
|
+
export function Index(fields, params) {
|
|
3
|
+
return function (clazz) {
|
|
4
|
+
ModelInfoUtil.addModelIndex(fields, params, clazz);
|
|
5
|
+
};
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxJbmRleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWNvcmF0b3IvTW9kZWxJbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsTUFBTSxVQUFVLEtBQUssQ0FBQyxNQUFnQixFQUFFLE1BQXFCO0lBQzNELE9BQU8sVUFBUyxLQUF3QjtRQUN0QyxhQUFhLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from "./Attribute.js";
|
|
2
|
+
export * from "./DataSource.js";
|
|
3
|
+
export * from "./Model.js";
|
|
4
|
+
export * from "./ModelIndex.js";
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVjb3JhdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGlCQUFpQixDQUFDIn0=
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from '@eggjs/tegg-types/orm';
|
|
2
|
+
export * from "./builder/index.js";
|
|
3
|
+
export * from "./decorator/index.js";
|
|
4
|
+
export * from "./model/index.js";
|
|
5
|
+
export * from "./util/index.js";
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUV0QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGlCQUFpQixDQUFDIn0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export class AttributeMeta {
|
|
2
|
+
dataType;
|
|
3
|
+
propertyName;
|
|
4
|
+
attributeName;
|
|
5
|
+
allowNull;
|
|
6
|
+
autoIncrement;
|
|
7
|
+
primary;
|
|
8
|
+
unique;
|
|
9
|
+
constructor(dataType, propertyName, attributeName, allowNull, autoIncrement, primary, unique) {
|
|
10
|
+
this.dataType = dataType;
|
|
11
|
+
this.propertyName = propertyName;
|
|
12
|
+
this.attributeName = attributeName;
|
|
13
|
+
this.allowNull = allowNull;
|
|
14
|
+
this.autoIncrement = autoIncrement;
|
|
15
|
+
this.primary = primary;
|
|
16
|
+
this.unique = unique;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXR0cmlidXRlTWV0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbC9BdHRyaWJ1dGVNZXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxhQUFhO0lBQ2YsUUFBUSxDQUFTO0lBQ2pCLFlBQVksQ0FBUztJQUNyQixhQUFhLENBQVM7SUFDdEIsU0FBUyxDQUFVO0lBQ25CLGFBQWEsQ0FBVTtJQUN2QixPQUFPLENBQVU7SUFDakIsTUFBTSxDQUFVO0lBRXpCLFlBQ0UsUUFBZ0IsRUFDaEIsWUFBb0IsRUFDcEIsYUFBcUIsRUFDckIsU0FBa0IsRUFDbEIsYUFBc0IsRUFDdEIsT0FBZ0IsRUFDaEIsTUFBZTtRQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export class IndexMeta {
|
|
2
|
+
name;
|
|
3
|
+
fields;
|
|
4
|
+
unique;
|
|
5
|
+
primary;
|
|
6
|
+
constructor(name, fields, unique, primary) {
|
|
7
|
+
this.name = name;
|
|
8
|
+
this.fields = fields;
|
|
9
|
+
this.unique = unique;
|
|
10
|
+
this.primary = primary;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXhNZXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVsL0luZGV4TWV0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sU0FBUztJQUNYLElBQUksQ0FBUztJQUNiLE1BQU0sQ0FBVztJQUNqQixNQUFNLENBQVU7SUFDaEIsT0FBTyxDQUFVO0lBRTFCLFlBQ0UsSUFBWSxFQUNaLE1BQWdCLEVBQ2hCLE1BQWUsRUFDZixPQUFnQjtRQUVoQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0NBQ0YifQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AttributeMeta } from './AttributeMeta.
|
|
2
|
-
import { IndexMeta } from './IndexMeta.
|
|
1
|
+
import { AttributeMeta } from './AttributeMeta.ts';
|
|
2
|
+
import { IndexMeta } from './IndexMeta.ts';
|
|
3
3
|
export declare class ModelMetadata {
|
|
4
4
|
readonly dataSource: string | undefined;
|
|
5
5
|
readonly tableName: string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AttributeMeta } from "./AttributeMeta.js";
|
|
2
|
+
import { IndexMeta } from "./IndexMeta.js";
|
|
3
|
+
export class ModelMetadata {
|
|
4
|
+
dataSource;
|
|
5
|
+
tableName;
|
|
6
|
+
attributes;
|
|
7
|
+
indices;
|
|
8
|
+
constructor(dataSource, tableName, attributes, indices) {
|
|
9
|
+
this.dataSource = dataSource;
|
|
10
|
+
this.tableName = tableName;
|
|
11
|
+
this.attributes = attributes;
|
|
12
|
+
this.indices = indices;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxNZXRhZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbC9Nb2RlbE1ldGFkYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsTUFBTSxPQUFPLGFBQWE7SUFDZixVQUFVLENBQXFCO0lBQy9CLFNBQVMsQ0FBUztJQUNsQixVQUFVLENBQXVCO0lBQ2pDLE9BQU8sQ0FBbUI7SUFFbkMsWUFBWSxVQUE4QixFQUFFLFNBQWlCLEVBQUUsVUFBZ0MsRUFBRSxPQUF5QjtRQUN4SCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0NBQ0YifQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from "./AttributeMeta.js";
|
|
2
|
+
export * from "./IndexMeta.js";
|
|
3
|
+
export * from "./ModelMetadata.js";
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsb0JBQW9CLENBQUMifQ==
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { MetadataUtil } from '@eggjs/core-decorator';
|
|
2
|
+
import { IS_MODEL, MODEL_DATA_ATTRIBUTES, MODEL_DATA_INDICES, MODEL_DATA_SOURCE, MODEL_DATA_TABLE_NAME, } from '@eggjs/tegg-types';
|
|
3
|
+
export class ModelInfoUtil {
|
|
4
|
+
static setIsModel(isModel, clazz) {
|
|
5
|
+
MetadataUtil.defineMetaData(IS_MODEL, isModel, clazz);
|
|
6
|
+
}
|
|
7
|
+
static getIsModel(clazz) {
|
|
8
|
+
return MetadataUtil.getBooleanMetaData(IS_MODEL, clazz);
|
|
9
|
+
}
|
|
10
|
+
static setDataSource(dataSource, clazz) {
|
|
11
|
+
MetadataUtil.defineMetaData(MODEL_DATA_SOURCE, dataSource, clazz);
|
|
12
|
+
}
|
|
13
|
+
static getDataSource(clazz) {
|
|
14
|
+
return MetadataUtil.getMetaData(MODEL_DATA_SOURCE, clazz);
|
|
15
|
+
}
|
|
16
|
+
static setTableName(tableName, clazz) {
|
|
17
|
+
MetadataUtil.defineMetaData(MODEL_DATA_TABLE_NAME, tableName, clazz);
|
|
18
|
+
}
|
|
19
|
+
static getTableName(clazz) {
|
|
20
|
+
return MetadataUtil.getMetaData(MODEL_DATA_TABLE_NAME, clazz);
|
|
21
|
+
}
|
|
22
|
+
static addModelIndex(fields, options, clazz) {
|
|
23
|
+
const indexInfo = MetadataUtil.initOwnArrayMetaData(MODEL_DATA_INDICES, clazz, []);
|
|
24
|
+
indexInfo.push({
|
|
25
|
+
fields,
|
|
26
|
+
options,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
static getModelIndices(clazz) {
|
|
30
|
+
return MetadataUtil.getArrayMetaData(MODEL_DATA_INDICES, clazz);
|
|
31
|
+
}
|
|
32
|
+
static addModelAttribute(dataType, options, clazz, property) {
|
|
33
|
+
const attributeMap = MetadataUtil.initOwnMapMetaData(MODEL_DATA_ATTRIBUTES, clazz, new Map());
|
|
34
|
+
attributeMap.set(property, {
|
|
35
|
+
dataType,
|
|
36
|
+
options,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
static getModelAttributes(clazz) {
|
|
40
|
+
return MetadataUtil.getMetaData(MODEL_DATA_ATTRIBUTES, clazz);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxJbmZvVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL01vZGVsSW5mb1V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBUXJELE9BQU8sRUFDTCxRQUFRLEVBQ1IscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIscUJBQXFCLEdBQ3RCLE1BQU0sbUJBQW1CLENBQUM7QUFJM0IsTUFBTSxPQUFPLGFBQWE7SUFDeEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFnQixFQUFFLEtBQXdCO1FBQzFELFlBQVksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUF3QjtRQUN4QyxPQUFPLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBa0IsRUFBRSxLQUF3QjtRQUMvRCxZQUFZLENBQUMsY0FBYyxDQUFDLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUF3QjtRQUMzQyxPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBaUIsRUFBRSxLQUF3QjtRQUM3RCxZQUFZLENBQUMsY0FBYyxDQUFDLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUF3QjtRQUMxQyxPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBZ0IsRUFBRSxPQUFpQyxFQUFFLEtBQXdCO1FBQ2hHLE1BQU0sU0FBUyxHQUEwQixZQUFZLENBQUMsb0JBQW9CLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDYixNQUFNO1lBQ04sT0FBTztTQUNSLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLEtBQXdCO1FBQzdDLE9BQU8sWUFBWSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsUUFBZ0IsRUFBRSxPQUFxQyxFQUFFLEtBQXdCLEVBQUUsUUFBZ0I7UUFDMUgsTUFBTSxZQUFZLEdBQXNCLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2pILFlBQVksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFO1lBQ3pCLFFBQVE7WUFDUixPQUFPO1NBQ1IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxLQUF3QjtRQUNoRCxPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEUsQ0FBQztDQUNGIn0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { EggProtoImplClass } from '@eggjs/tegg-types';
|
|
2
|
-
import { ModelMetadata } from '../model/index.
|
|
2
|
+
import { ModelMetadata } from '../model/index.ts';
|
|
3
3
|
export declare const MODEL_METADATA: unique symbol;
|
|
4
4
|
export declare class ModelMetadataUtil {
|
|
5
5
|
static setModelMetadata(clazz: EggProtoImplClass, metaData: ModelMetadata): void;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { MetadataUtil } from '@eggjs/core-decorator';
|
|
2
|
+
import { ModelMetadata } from "../model/index.js";
|
|
3
|
+
export const MODEL_METADATA = Symbol.for('EggPrototype#model#metadata');
|
|
4
|
+
export class ModelMetadataUtil {
|
|
5
|
+
static setModelMetadata(clazz, metaData) {
|
|
6
|
+
MetadataUtil.defineMetaData(MODEL_METADATA, metaData, clazz);
|
|
7
|
+
}
|
|
8
|
+
static getModelMetadata(clazz) {
|
|
9
|
+
return MetadataUtil.getMetaData(MODEL_METADATA, clazz);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxNZXRhZGF0YVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9Nb2RlbE1ldGFkYXRhVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWxELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFFeEUsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBd0IsRUFBRSxRQUF1QjtRQUN2RSxZQUFZLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUF3QjtRQUM5QyxPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7Q0FDRiJ9
|
|
@@ -29,4 +29,4 @@ export class NameUtil {
|
|
|
29
29
|
return prefix + names;
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmFtZVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9OYW1lVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDdkIsT0FBTyxTQUFTLE1BQU0sV0FBVyxDQUFDO0FBRWxDLE1BQU0sT0FBTyxRQUFRO0lBQ25COzs7T0FHRztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBaUI7UUFDbkMsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFlBQW9CO1FBQzFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFnQixFQUFFLE9BQThCO1FBQ2xFLE1BQU0sTUFBTSxHQUFHLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2hELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsT0FBTyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from "./ModelInfoUtil.js";
|
|
2
|
+
export * from "./ModelMetadataUtil.js";
|
|
3
|
+
export * from "./NameUtil.js";
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxlQUFlLENBQUMifQ==
|
package/package.json
CHANGED
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eggjs/tegg-orm-decorator",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.10",
|
|
4
4
|
"description": "tegg orm decorator",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
7
|
-
".":
|
|
8
|
-
|
|
9
|
-
"default": "./src/index.js"
|
|
10
|
-
}
|
|
7
|
+
".": "./dist/index.js",
|
|
8
|
+
"./package.json": "./package.json"
|
|
11
9
|
},
|
|
12
10
|
"files": [
|
|
13
|
-
"
|
|
14
|
-
"src/**/*.d.ts"
|
|
11
|
+
"dist"
|
|
15
12
|
],
|
|
16
13
|
"keywords": [
|
|
17
14
|
"egg",
|
|
@@ -19,15 +16,9 @@
|
|
|
19
16
|
"runtime",
|
|
20
17
|
"tegg"
|
|
21
18
|
],
|
|
22
|
-
"scripts": {
|
|
23
|
-
"clean": "tsc -b --clean",
|
|
24
|
-
"tsc": "npm run clean && tsc -p ./tsconfig.json",
|
|
25
|
-
"tsc:pub": "npm run tsc",
|
|
26
|
-
"prepublishOnly": "npm run tsc"
|
|
27
|
-
},
|
|
28
19
|
"author": "killagu <killa123@126.com>",
|
|
29
20
|
"license": "MIT",
|
|
30
|
-
"homepage": "https://github.com/eggjs/tegg",
|
|
21
|
+
"homepage": "https://github.com/eggjs/tegg/tree/next/core/orm-decorator",
|
|
31
22
|
"bugs": {
|
|
32
23
|
"url": "https://github.com/eggjs/tegg/issues"
|
|
33
24
|
},
|
|
@@ -37,27 +28,31 @@
|
|
|
37
28
|
"directory": "core/orm-decorator"
|
|
38
29
|
},
|
|
39
30
|
"engines": {
|
|
40
|
-
"node": ">=
|
|
31
|
+
"node": ">=22.18.0"
|
|
41
32
|
},
|
|
42
33
|
"dependencies": {
|
|
43
|
-
"@eggjs/core-decorator": "^4.0.0-beta.1",
|
|
44
|
-
"@eggjs/tegg-common-util": "^4.0.0-beta.1",
|
|
45
|
-
"@eggjs/tegg-metadata": "^4.0.0-beta.1",
|
|
46
|
-
"@eggjs/tegg-types": "^4.0.0-beta.1",
|
|
47
34
|
"lodash": "^4.17.21",
|
|
48
|
-
"pluralize": "^8.0.0"
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
"leoric": "^2.6.1"
|
|
35
|
+
"pluralize": "^8.0.0",
|
|
36
|
+
"@eggjs/core-decorator": "4.0.0-beta.10",
|
|
37
|
+
"@eggjs/tegg-types": "4.0.0-beta.10"
|
|
52
38
|
},
|
|
53
39
|
"publishConfig": {
|
|
54
40
|
"access": "public"
|
|
55
41
|
},
|
|
56
42
|
"devDependencies": {
|
|
57
|
-
"@types/
|
|
43
|
+
"@types/lodash": "^4.17.20",
|
|
44
|
+
"@types/node": "^22.10.5",
|
|
58
45
|
"@types/pluralize": "^0.0.33",
|
|
59
|
-
"
|
|
60
|
-
"typescript": "5"
|
|
46
|
+
"tsdown": "^0.15.6",
|
|
47
|
+
"typescript": "^5.9.3",
|
|
48
|
+
"unplugin-unused": "^0.5.3"
|
|
61
49
|
},
|
|
62
|
-
"
|
|
63
|
-
|
|
50
|
+
"main": "./dist/index.js",
|
|
51
|
+
"module": "./dist/index.js",
|
|
52
|
+
"types": "./dist/index.d.ts",
|
|
53
|
+
"scripts": {
|
|
54
|
+
"clean": "rimraf dist",
|
|
55
|
+
"build": "tsdown && rimraf dist && tsc -b --clean && tsc",
|
|
56
|
+
"typecheck": "tsc --noEmit"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { AttributeMeta } from '../model/index.js';
|
|
2
|
-
import { ModelInfoUtil, NameUtil } from '../util/index.js';
|
|
3
|
-
export class AttributeMetaBuilder {
|
|
4
|
-
clazz;
|
|
5
|
-
constructor(clazz) {
|
|
6
|
-
this.clazz = clazz;
|
|
7
|
-
}
|
|
8
|
-
build() {
|
|
9
|
-
const modelAttributes = ModelInfoUtil.getModelAttributes(this.clazz);
|
|
10
|
-
const attributes = [];
|
|
11
|
-
if (!modelAttributes) {
|
|
12
|
-
throw new Error(`model ${this.clazz.name} has no attributes`);
|
|
13
|
-
}
|
|
14
|
-
for (const [propertyName, attributeInfo] of modelAttributes) {
|
|
15
|
-
const attribute = this.buildAttributeMeta(propertyName, attributeInfo);
|
|
16
|
-
attributes.push(attribute);
|
|
17
|
-
}
|
|
18
|
-
return attributes;
|
|
19
|
-
}
|
|
20
|
-
buildAttributeMeta(propertyName, attributeInfo) {
|
|
21
|
-
return new AttributeMeta(attributeInfo.dataType, propertyName, attributeInfo.options?.name ?? NameUtil.getAttributeName(propertyName), attributeInfo.options?.allowNull ?? true, attributeInfo.options?.autoIncrement ?? false, attributeInfo.options?.primary ?? false, attributeInfo.options?.unique ?? false);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXR0cmlidXRlTWV0YUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJBdHRyaWJ1dGVNZXRhQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUzRCxNQUFNLE9BQU8sb0JBQW9CO0lBQ2QsS0FBSyxDQUFvQjtJQUUxQyxZQUFZLEtBQXdCO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxLQUFLO1FBQ0gsTUFBTSxlQUFlLEdBQUcsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRSxNQUFNLFVBQVUsR0FBeUIsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLG9CQUFvQixDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUNELEtBQUssTUFBTSxDQUFFLFlBQVksRUFBRSxhQUFhLENBQUUsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUM5RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQ3ZFLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxZQUFvQixFQUFFLGFBQWlDO1FBQ2hGLE9BQU8sSUFBSSxhQUFhLENBQ3RCLGFBQWEsQ0FBQyxRQUFRLEVBQ3RCLFlBQVksRUFDWixhQUFhLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLEVBQ3RFLGFBQWEsQ0FBQyxPQUFPLEVBQUUsU0FBUyxJQUFJLElBQUksRUFDeEMsYUFBYSxDQUFDLE9BQU8sRUFBRSxhQUFhLElBQUksS0FBSyxFQUM3QyxhQUFhLENBQUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxLQUFLLEVBQ3ZDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxJQUFJLEtBQUssQ0FDdkMsQ0FBQztJQUNKLENBQUM7Q0FDRiJ9
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { IndexMeta } from '../model/index.js';
|
|
2
|
-
import { ModelInfoUtil, NameUtil } from '../util/index.js';
|
|
3
|
-
export class IndexMetaBuilder {
|
|
4
|
-
clazz;
|
|
5
|
-
attributes;
|
|
6
|
-
constructor(clazz, attributes) {
|
|
7
|
-
this.clazz = clazz;
|
|
8
|
-
this.attributes = attributes;
|
|
9
|
-
}
|
|
10
|
-
build() {
|
|
11
|
-
return ModelInfoUtil.getModelIndices(this.clazz)
|
|
12
|
-
.map(indexInfo => this.buildIndexMeta(indexInfo));
|
|
13
|
-
}
|
|
14
|
-
buildIndexMeta(indexInfo) {
|
|
15
|
-
const fields = [];
|
|
16
|
-
for (const field of indexInfo.fields) {
|
|
17
|
-
const attribute = this.attributes.find(t => t.propertyName === field);
|
|
18
|
-
if (!attribute) {
|
|
19
|
-
throw new Error(`model ${this.clazz.name} has no attribute named ${field}`);
|
|
20
|
-
}
|
|
21
|
-
fields.push(attribute.attributeName);
|
|
22
|
-
}
|
|
23
|
-
let indexName;
|
|
24
|
-
if (indexInfo.options?.name) {
|
|
25
|
-
indexName = indexInfo.options.name;
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
indexName = NameUtil.getIndexName(fields, { unique: indexInfo.options?.unique });
|
|
29
|
-
}
|
|
30
|
-
return new IndexMeta(indexName, fields, indexInfo.options?.unique ?? false, indexInfo.options?.primary ?? false);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXhNZXRhQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkluZGV4TWV0YUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBaUIsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTNELE1BQU0sT0FBTyxnQkFBZ0I7SUFDVixLQUFLLENBQW9CO0lBQ3pCLFVBQVUsQ0FBdUI7SUFFbEQsWUFBWSxLQUF3QixFQUFFLFVBQWdDO1FBQ3BFLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxhQUFhLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7YUFDN0MsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTyxjQUFjLENBQUMsU0FBeUI7UUFDOUMsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO1FBQzVCLEtBQUssTUFBTSxLQUFLLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3JDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksS0FBSyxLQUFLLENBQUMsQ0FBQztZQUN0RSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSwyQkFBMkIsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUM5RSxDQUFDO1lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkMsQ0FBQztRQUVELElBQUksU0FBaUIsQ0FBQztRQUN0QixJQUFJLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDNUIsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3RDLENBQUM7YUFBTSxDQUFDO1lBQ04sU0FBUyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNuRixDQUFDO1FBQ0QsT0FBTyxJQUFJLFNBQVMsQ0FDbEIsU0FBUyxFQUNULE1BQU0sRUFDTixTQUFTLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxLQUFLLEVBQ2xDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxJQUFJLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Q0FDRiJ9
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { ModelMetadata } from '../model/index.js';
|
|
2
|
-
import { ModelInfoUtil, NameUtil } from '../util/index.js';
|
|
3
|
-
import { IndexMetaBuilder } from './IndexMetaBuilder.js';
|
|
4
|
-
import { AttributeMetaBuilder } from './AttributeMetaBuilder.js';
|
|
5
|
-
export class ModelMetaBuilder {
|
|
6
|
-
clazz;
|
|
7
|
-
constructor(clazz) {
|
|
8
|
-
this.clazz = clazz;
|
|
9
|
-
}
|
|
10
|
-
build() {
|
|
11
|
-
const dataSource = ModelInfoUtil.getDataSource(this.clazz);
|
|
12
|
-
const tableName = ModelInfoUtil.getTableName(this.clazz) || NameUtil.getTableName(this.clazz.name);
|
|
13
|
-
const attributeMetaBuilder = new AttributeMetaBuilder(this.clazz);
|
|
14
|
-
const attributes = attributeMetaBuilder.build();
|
|
15
|
-
const indexMetaBuilder = new IndexMetaBuilder(this.clazz, attributes);
|
|
16
|
-
const indices = indexMetaBuilder.build();
|
|
17
|
-
return new ModelMetadata(dataSource, tableName, attributes, indices);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxNZXRhQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk1vZGVsTWV0YUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFakUsTUFBTSxPQUFPLGdCQUFnQjtJQUNWLEtBQUssQ0FBb0I7SUFFMUMsWUFBWSxLQUF3QjtRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsS0FBSztRQUNILE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuRyxNQUFNLG9CQUFvQixHQUFHLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sVUFBVSxHQUFHLG9CQUFvQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2hELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3pDLE9BQU8sSUFBSSxhQUFhLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkUsQ0FBQztDQUNGIn0=
|
package/src/builder/index.d.ts
DELETED
package/src/builder/index.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './AttributeMetaBuilder.js';
|
|
2
|
-
export * from './IndexMetaBuilder.js';
|
|
3
|
-
export * from './ModelMetaBuilder.js';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx1QkFBdUIsQ0FBQyJ9
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import assert from 'node:assert';
|
|
2
|
-
import { ModelInfoUtil } from '../util/index.js';
|
|
3
|
-
export function Attribute(dataType, options) {
|
|
4
|
-
return function (target, propertyKey) {
|
|
5
|
-
const clazz = target.constructor;
|
|
6
|
-
assert(typeof propertyKey === 'string', `[model/${clazz.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
|
|
7
|
-
ModelInfoUtil.addModelAttribute(dataType, options, clazz, propertyKey);
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXR0cmlidXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQXR0cmlidXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQztBQUVqQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxRQUFnQixFQUFFLE9BQTBCO0lBQ3BFLE9BQU8sVUFBUyxNQUFXLEVBQUUsV0FBd0I7UUFDbkQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFdBQWdDLENBQUM7UUFDdEQsTUFBTSxDQUFDLE9BQU8sV0FBVyxLQUFLLFFBQVEsRUFDcEMsVUFBVSxLQUFLLENBQUMsSUFBSSxxREFBcUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsRyxhQUFhLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDekUsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ModelInfoUtil } from '../util/index.js';
|
|
2
|
-
export function DataSource(dataSource) {
|
|
3
|
-
return function (clazz) {
|
|
4
|
-
ModelInfoUtil.setDataSource(dataSource, clazz);
|
|
5
|
-
};
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkRhdGFTb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE1BQU0sVUFBVSxVQUFVLENBQUMsVUFBa0I7SUFDM0MsT0FBTyxVQUFTLEtBQXdCO1FBQ3RDLGFBQWEsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUMsQ0FBQztBQUNKLENBQUMifQ==
|
package/src/decorator/Model.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { SingletonProto } from '@eggjs/core-decorator';
|
|
2
|
-
import { AccessLevel, MODEL_PROTO_IMPL_TYPE } from '@eggjs/tegg-types';
|
|
3
|
-
import { ModelInfoUtil } from '../util/index.js';
|
|
4
|
-
export function Model(param) {
|
|
5
|
-
return function (clazz) {
|
|
6
|
-
ModelInfoUtil.setIsModel(true, clazz);
|
|
7
|
-
const func = SingletonProto({
|
|
8
|
-
name: clazz.name,
|
|
9
|
-
accessLevel: AccessLevel.PUBLIC,
|
|
10
|
-
protoImplType: MODEL_PROTO_IMPL_TYPE,
|
|
11
|
-
});
|
|
12
|
-
if (param?.tableName) {
|
|
13
|
-
ModelInfoUtil.setTableName(param.tableName, clazz);
|
|
14
|
-
}
|
|
15
|
-
if (param?.dataSource) {
|
|
16
|
-
ModelInfoUtil.setDataSource(param.dataSource, clazz);
|
|
17
|
-
}
|
|
18
|
-
func(clazz);
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJNb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxNQUFNLFVBQVUsS0FBSyxDQUFDLEtBQW1CO0lBQ3ZDLE9BQU8sVUFBUyxLQUF3QjtRQUN0QyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0QyxNQUFNLElBQUksR0FBRyxjQUFjLENBQUM7WUFDMUIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2hCLFdBQVcsRUFBRSxXQUFXLENBQUMsTUFBTTtZQUMvQixhQUFhLEVBQUUscUJBQXFCO1NBQ3JDLENBQUMsQ0FBQztRQUNILElBQUksS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQ3JCLGFBQWEsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBQ0QsSUFBSSxLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUM7WUFDdEIsYUFBYSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDZCxDQUFDLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ModelInfoUtil } from '../util/index.js';
|
|
2
|
-
export function Index(fields, params) {
|
|
3
|
-
return function (clazz) {
|
|
4
|
-
ModelInfoUtil.addModelIndex(fields, params, clazz);
|
|
5
|
-
};
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxJbmRleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk1vZGVsSW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE1BQU0sVUFBVSxLQUFLLENBQUMsTUFBZ0IsRUFBRSxNQUFxQjtJQUMzRCxPQUFPLFVBQVMsS0FBd0I7UUFDdEMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3JELENBQUMsQ0FBQztBQUNKLENBQUMifQ==
|
package/src/decorator/index.d.ts
DELETED
package/src/decorator/index.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export * from './Attribute.js';
|
|
2
|
-
export * from './DataSource.js';
|
|
3
|
-
export * from './Model.js';
|
|
4
|
-
export * from './ModelIndex.js';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxpQkFBaUIsQ0FBQyJ9
|
package/src/index.d.ts
DELETED
package/src/index.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export * from '@eggjs/tegg-types/orm';
|
|
2
|
-
export * from './builder/index.js';
|
|
3
|
-
export * from './decorator/index.js';
|
|
4
|
-
export * from './model/index.js';
|
|
5
|
-
export * from './util/index.js';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsaUJBQWlCLENBQUMifQ==
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export class AttributeMeta {
|
|
2
|
-
dataType;
|
|
3
|
-
propertyName;
|
|
4
|
-
attributeName;
|
|
5
|
-
allowNull;
|
|
6
|
-
autoIncrement;
|
|
7
|
-
primary;
|
|
8
|
-
unique;
|
|
9
|
-
constructor(dataType, propertyName, attributeName, allowNull, autoIncrement, primary, unique) {
|
|
10
|
-
this.dataType = dataType;
|
|
11
|
-
this.propertyName = propertyName;
|
|
12
|
-
this.attributeName = attributeName;
|
|
13
|
-
this.allowNull = allowNull;
|
|
14
|
-
this.autoIncrement = autoIncrement;
|
|
15
|
-
this.primary = primary;
|
|
16
|
-
this.unique = unique;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXR0cmlidXRlTWV0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkF0dHJpYnV0ZU1ldGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGFBQWE7SUFDZixRQUFRLENBQVM7SUFDakIsWUFBWSxDQUFTO0lBQ3JCLGFBQWEsQ0FBUztJQUN0QixTQUFTLENBQVU7SUFDbkIsYUFBYSxDQUFVO0lBQ3ZCLE9BQU8sQ0FBVTtJQUNqQixNQUFNLENBQVU7SUFFekIsWUFDRSxRQUFnQixFQUNoQixZQUFvQixFQUNwQixhQUFxQixFQUNyQixTQUFrQixFQUNsQixhQUFzQixFQUN0QixPQUFnQixFQUNoQixNQUFlO1FBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztDQUNGIn0=
|
package/src/model/IndexMeta.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export class IndexMeta {
|
|
2
|
-
name;
|
|
3
|
-
fields;
|
|
4
|
-
unique;
|
|
5
|
-
primary;
|
|
6
|
-
constructor(name, fields, unique, primary) {
|
|
7
|
-
this.name = name;
|
|
8
|
-
this.fields = fields;
|
|
9
|
-
this.unique = unique;
|
|
10
|
-
this.primary = primary;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXhNZXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiSW5kZXhNZXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxTQUFTO0lBQ1gsSUFBSSxDQUFTO0lBQ2IsTUFBTSxDQUFXO0lBQ2pCLE1BQU0sQ0FBVTtJQUNoQixPQUFPLENBQVU7SUFFMUIsWUFDRSxJQUFZLEVBQ1osTUFBZ0IsRUFDaEIsTUFBZSxFQUNmLE9BQWdCO1FBRWhCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7Q0FDRiJ9
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export class ModelMetadata {
|
|
2
|
-
dataSource;
|
|
3
|
-
tableName;
|
|
4
|
-
attributes;
|
|
5
|
-
indices;
|
|
6
|
-
constructor(dataSource, tableName, attributes, indices) {
|
|
7
|
-
this.dataSource = dataSource;
|
|
8
|
-
this.tableName = tableName;
|
|
9
|
-
this.attributes = attributes;
|
|
10
|
-
this.indices = indices;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxNZXRhZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk1vZGVsTWV0YWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLGFBQWE7SUFDZixVQUFVLENBQXFCO0lBQy9CLFNBQVMsQ0FBUztJQUNsQixVQUFVLENBQXVCO0lBQ2pDLE9BQU8sQ0FBbUI7SUFFbkMsWUFBWSxVQUE4QixFQUFFLFNBQWlCLEVBQUUsVUFBZ0MsRUFBRSxPQUF5QjtRQUN4SCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0NBQ0YifQ==
|
package/src/model/index.d.ts
DELETED
package/src/model/index.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './AttributeMeta.js';
|
|
2
|
-
export * from './IndexMeta.js';
|
|
3
|
-
export * from './ModelMetadata.js';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxvQkFBb0IsQ0FBQyJ9
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { MetadataUtil } from '@eggjs/core-decorator';
|
|
2
|
-
import { IS_MODEL, MODEL_DATA_ATTRIBUTES, MODEL_DATA_INDICES, MODEL_DATA_SOURCE, MODEL_DATA_TABLE_NAME, } from '@eggjs/tegg-types';
|
|
3
|
-
export class ModelInfoUtil {
|
|
4
|
-
static setIsModel(isModel, clazz) {
|
|
5
|
-
MetadataUtil.defineMetaData(IS_MODEL, isModel, clazz);
|
|
6
|
-
}
|
|
7
|
-
static getIsModel(clazz) {
|
|
8
|
-
return MetadataUtil.getBooleanMetaData(IS_MODEL, clazz);
|
|
9
|
-
}
|
|
10
|
-
static setDataSource(dataSource, clazz) {
|
|
11
|
-
MetadataUtil.defineMetaData(MODEL_DATA_SOURCE, dataSource, clazz);
|
|
12
|
-
}
|
|
13
|
-
static getDataSource(clazz) {
|
|
14
|
-
return MetadataUtil.getMetaData(MODEL_DATA_SOURCE, clazz);
|
|
15
|
-
}
|
|
16
|
-
static setTableName(tableName, clazz) {
|
|
17
|
-
MetadataUtil.defineMetaData(MODEL_DATA_TABLE_NAME, tableName, clazz);
|
|
18
|
-
}
|
|
19
|
-
static getTableName(clazz) {
|
|
20
|
-
return MetadataUtil.getMetaData(MODEL_DATA_TABLE_NAME, clazz);
|
|
21
|
-
}
|
|
22
|
-
static addModelIndex(fields, options, clazz) {
|
|
23
|
-
const indexInfo = MetadataUtil.initOwnArrayMetaData(MODEL_DATA_INDICES, clazz, []);
|
|
24
|
-
indexInfo.push({
|
|
25
|
-
fields,
|
|
26
|
-
options,
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
static getModelIndices(clazz) {
|
|
30
|
-
return MetadataUtil.getArrayMetaData(MODEL_DATA_INDICES, clazz);
|
|
31
|
-
}
|
|
32
|
-
static addModelAttribute(dataType, options, clazz, property) {
|
|
33
|
-
const attributeMap = MetadataUtil.initOwnMapMetaData(MODEL_DATA_ATTRIBUTES, clazz, new Map());
|
|
34
|
-
attributeMap.set(property, {
|
|
35
|
-
dataType,
|
|
36
|
-
options,
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
static getModelAttributes(clazz) {
|
|
40
|
-
return MetadataUtil.getMetaData(MODEL_DATA_ATTRIBUTES, clazz);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxJbmZvVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk1vZGVsSW5mb1V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBUXJELE9BQU8sRUFDTCxRQUFRLEVBQ1IscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIscUJBQXFCLEdBQ3RCLE1BQU0sbUJBQW1CLENBQUM7QUFJM0IsTUFBTSxPQUFPLGFBQWE7SUFDeEIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFnQixFQUFFLEtBQXdCO1FBQzFELFlBQVksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUF3QjtRQUN4QyxPQUFPLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBa0IsRUFBRSxLQUF3QjtRQUMvRCxZQUFZLENBQUMsY0FBYyxDQUFDLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUF3QjtRQUMzQyxPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBaUIsRUFBRSxLQUF3QjtRQUM3RCxZQUFZLENBQUMsY0FBYyxDQUFDLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUF3QjtRQUMxQyxPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBZ0IsRUFBRSxPQUFpQyxFQUFFLEtBQXdCO1FBQ2hHLE1BQU0sU0FBUyxHQUEwQixZQUFZLENBQUMsb0JBQW9CLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDYixNQUFNO1lBQ04sT0FBTztTQUNSLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLEtBQXdCO1FBQzdDLE9BQU8sWUFBWSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsUUFBZ0IsRUFBRSxPQUFxQyxFQUFFLEtBQXdCLEVBQUUsUUFBZ0I7UUFDMUgsTUFBTSxZQUFZLEdBQXNCLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2pILFlBQVksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFO1lBQ3pCLFFBQVE7WUFDUixPQUFPO1NBQ1IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxLQUF3QjtRQUNoRCxPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEUsQ0FBQztDQUNGIn0=
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { MetadataUtil } from '@eggjs/core-decorator';
|
|
2
|
-
export const MODEL_METADATA = Symbol.for('EggPrototype#model#metadata');
|
|
3
|
-
export class ModelMetadataUtil {
|
|
4
|
-
static setModelMetadata(clazz, metaData) {
|
|
5
|
-
MetadataUtil.defineMetaData(MODEL_METADATA, metaData, clazz);
|
|
6
|
-
}
|
|
7
|
-
static getModelMetadata(clazz) {
|
|
8
|
-
return MetadataUtil.getMetaData(MODEL_METADATA, clazz);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxNZXRhZGF0YVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJNb2RlbE1ldGFkYXRhVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJckQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztBQUV4RSxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUF3QixFQUFFLFFBQXVCO1FBQ3ZFLFlBQVksQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQXdCO1FBQzlDLE9BQU8sWUFBWSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQztDQUNGIn0=
|
package/src/util/index.d.ts
DELETED
package/src/util/index.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './ModelInfoUtil.js';
|
|
2
|
-
export * from './ModelMetadataUtil.js';
|
|
3
|
-
export * from './NameUtil.js';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxlQUFlLENBQUMifQ==
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|