@eggjs/tegg-orm-plugin 3.48.1 → 3.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,20 @@
1
+ import { EggContext, EggObject, EggObjectLifeCycleContext } from '@eggjs/tegg-runtime';
2
+ import { EggPrototype } from '@eggjs/tegg-metadata';
3
+ import { EggPrototypeName, EggObjectName } from '@eggjs/tegg';
4
+ import { Id } from '@eggjs/tegg-lifecycle';
5
+ import { Bone } from 'leoric';
6
+ import ContextModelProto from './ContextModelProto';
7
+ export declare class ContextModeObject implements EggObject {
8
+ private status;
9
+ id: Id;
10
+ readonly name: EggPrototypeName;
11
+ private _obj;
12
+ readonly proto: ContextModelProto;
13
+ readonly ctx: EggContext;
14
+ constructor(name: EggObjectName, proto: ContextModelProto, ctx: EggContext);
15
+ init(): Promise<void>;
16
+ injectProperty(): void;
17
+ get isReady(): boolean;
18
+ get obj(): typeof Bone;
19
+ static createObject(name: EggObjectName, proto: EggPrototype, _: EggObjectLifeCycleContext, ctx?: EggContext): Promise<ContextModeObject>;
20
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ContextModeObject = void 0;
7
+ const assert_1 = __importDefault(require("assert"));
8
+ const tegg_runtime_1 = require("@eggjs/tegg-runtime");
9
+ const tegg_lifecycle_1 = require("@eggjs/tegg-lifecycle");
10
+ const egg_module_common_1 = require("@eggjs/egg-module-common");
11
+ class ContextModeObject {
12
+ constructor(name, proto, ctx) {
13
+ this.status = tegg_runtime_1.EggObjectStatus.PENDING;
14
+ this.name = name;
15
+ this.proto = proto;
16
+ this.ctx = ctx;
17
+ this.id = tegg_lifecycle_1.IdenticalUtil.createObjectId(this.proto.id, this.ctx.id);
18
+ }
19
+ async init() {
20
+ const ctx = this.ctx;
21
+ const clazz = class ContextModelClass extends this.proto.model {
22
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
23
+ // @ts-ignore
24
+ static get name() {
25
+ return super.name;
26
+ }
27
+ static get ctx() {
28
+ return ctx.get(egg_module_common_1.EGG_CONTEXT);
29
+ }
30
+ // custom setter always execute before define [CTX] when new Instance(super(opts) calling), if custom setter requires ctx, it should not be undefined
31
+ get ctx() {
32
+ return ctx.get(egg_module_common_1.EGG_CONTEXT);
33
+ }
34
+ };
35
+ this._obj = clazz;
36
+ this.status = tegg_runtime_1.EggObjectStatus.READY;
37
+ }
38
+ injectProperty() {
39
+ throw new Error('never call ModelObject#injectProperty');
40
+ }
41
+ get isReady() {
42
+ return this.status === tegg_runtime_1.EggObjectStatus.READY;
43
+ }
44
+ get obj() {
45
+ return this._obj;
46
+ }
47
+ static async createObject(name, proto, _, ctx) {
48
+ (0, assert_1.default)(ctx, 'ctx must be defined for ContextModelObject');
49
+ const modelObject = new ContextModeObject(name, proto, ctx);
50
+ await modelObject.init();
51
+ return modelObject;
52
+ }
53
+ }
54
+ exports.ContextModeObject = ContextModeObject;
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dE1vZGVPYmplY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJDb250ZXh0TW9kZU9iamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsc0RBSzZCO0FBRzdCLDBEQUEwRDtBQUcxRCxnRUFBdUQ7QUFFdkQsTUFBYSxpQkFBaUI7SUFRNUIsWUFBWSxJQUFtQixFQUFFLEtBQXdCLEVBQUUsR0FBZTtRQVBsRSxXQUFNLEdBQW9CLDhCQUFlLENBQUMsT0FBTyxDQUFDO1FBUXhELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLEVBQUUsR0FBRyw4QkFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSTtRQUNSLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDckIsTUFBTSxLQUFLLEdBQUcsTUFBTSxpQkFBa0IsU0FBUSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUs7WUFDNUQsNkRBQTZEO1lBQzdELGFBQWE7WUFDYixNQUFNLEtBQUssSUFBSTtnQkFDYixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDcEIsQ0FBQztZQUVELE1BQU0sS0FBSyxHQUFHO2dCQUNaLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQywrQkFBVyxDQUFDLENBQUM7WUFDOUIsQ0FBQztZQUVELHFKQUFxSjtZQUNySixJQUFJLEdBQUc7Z0JBQ0wsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLCtCQUFXLENBQUMsQ0FBQztZQUM5QixDQUFDO1NBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsOEJBQWUsQ0FBQyxLQUFLLENBQUM7SUFDdEMsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyw4QkFBZSxDQUFDLEtBQUssQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFtQixFQUFFLEtBQW1CLEVBQUUsQ0FBNEIsRUFBRSxHQUFnQjtRQUNoSCxJQUFBLGdCQUFNLEVBQUMsR0FBRyxFQUFFLDRDQUE0QyxDQUFDLENBQUM7UUFDMUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsS0FBMEIsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNqRixNQUFNLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0NBQ0Y7QUF2REQsOENBdURDIn0=
@@ -0,0 +1,21 @@
1
+ import { EggPrototype, LoadUnit, EggPrototypeLifecycleContext } from '@eggjs/tegg-metadata';
2
+ import { AccessLevel, EggPrototypeName, ObjectInitType, QualifierInfo, MetaDataKey } from '@eggjs/tegg';
3
+ import { Id } from '@eggjs/tegg-lifecycle';
4
+ import { Bone } from 'leoric';
5
+ export default class ContextModelProto implements EggPrototype {
6
+ private readonly qualifiers;
7
+ readonly accessLevel = AccessLevel.PUBLIC;
8
+ id: Id;
9
+ readonly initType = ObjectInitType.CONTEXT;
10
+ readonly injectObjects: never[];
11
+ readonly loadUnitId: string;
12
+ readonly moduleName: string;
13
+ readonly name: EggPrototypeName;
14
+ readonly model: typeof Bone;
15
+ constructor(loadUnit: LoadUnit, model: typeof Bone);
16
+ constructEggObject(): object;
17
+ getMetaData<T>(metadataKey: MetaDataKey): T | undefined;
18
+ verifyQualifier(qualifier: QualifierInfo): boolean;
19
+ verifyQualifiers(qualifiers: QualifierInfo[]): boolean;
20
+ static createProto(ctx: EggPrototypeLifecycleContext): ContextModelProto;
21
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tegg_1 = require("@eggjs/tegg");
4
+ const tegg_lifecycle_1 = require("@eggjs/tegg-lifecycle");
5
+ class ContextModelProto {
6
+ constructor(loadUnit, model) {
7
+ this.accessLevel = tegg_1.AccessLevel.PUBLIC;
8
+ this.initType = tegg_1.ObjectInitType.CONTEXT;
9
+ this.injectObjects = [];
10
+ this.model = model;
11
+ this.id = tegg_lifecycle_1.IdenticalUtil.createProtoId(loadUnit.id, `leoric:${model.name}`);
12
+ this.loadUnitId = loadUnit.id;
13
+ this.moduleName = loadUnit.name;
14
+ this.name = model.name;
15
+ this.qualifiers = tegg_1.QualifierUtil.getProtoQualifiers(model);
16
+ }
17
+ constructEggObject() {
18
+ return {};
19
+ }
20
+ getMetaData(metadataKey) {
21
+ return tegg_1.MetadataUtil.getMetaData(metadataKey, this.model);
22
+ }
23
+ verifyQualifier(qualifier) {
24
+ const selfQualifiers = this.qualifiers.find(t => t.attribute === qualifier.attribute);
25
+ return (selfQualifiers === null || selfQualifiers === void 0 ? void 0 : selfQualifiers.value) === qualifier.value;
26
+ }
27
+ verifyQualifiers(qualifiers) {
28
+ for (const qualifier of qualifiers) {
29
+ if (!this.verifyQualifier(qualifier)) {
30
+ return false;
31
+ }
32
+ }
33
+ return true;
34
+ }
35
+ static createProto(ctx) {
36
+ return new ContextModelProto(ctx.loadUnit, ctx.clazz);
37
+ }
38
+ }
39
+ exports.default = ContextModelProto;
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dE1vZGVsUHJvdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJDb250ZXh0TW9kZWxQcm90by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLHNDQVFxQjtBQUNyQiwwREFBMEQ7QUFHMUQsTUFBcUIsaUJBQWlCO0lBV3BDLFlBQVksUUFBa0IsRUFBRSxLQUFrQjtRQVR6QyxnQkFBVyxHQUFHLGtCQUFXLENBQUMsTUFBTSxDQUFDO1FBRWpDLGFBQVEsR0FBRyxxQkFBYyxDQUFDLE9BQU8sQ0FBQztRQUNsQyxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQU8xQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsRUFBRSxHQUFHLDhCQUFhLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsVUFBVSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLG9CQUFhLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxXQUFXLENBQUksV0FBd0I7UUFDckMsT0FBTyxtQkFBWSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxlQUFlLENBQUMsU0FBd0I7UUFDdEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RixPQUFPLENBQUEsY0FBYyxhQUFkLGNBQWMsdUJBQWQsY0FBYyxDQUFFLEtBQUssTUFBSyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQ25ELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUEyQjtRQUMxQyxLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsRUFBRTtZQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDcEMsT0FBTyxLQUFLLENBQUM7YUFDZDtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFpQztRQUNsRCxPQUFPLElBQUksaUJBQWlCLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsS0FBb0IsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7Q0FDRjtBQTdDRCxvQ0E2Q0MifQ==
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "tegg"
7
7
  ]
8
8
  },
9
- "version": "3.48.1",
9
+ "version": "3.50.0",
10
10
  "description": "orm decorator for egg",
11
11
  "keywords": [
12
12
  "egg",
@@ -48,24 +48,24 @@
48
48
  "node": ">=14.0.0"
49
49
  },
50
50
  "dependencies": {
51
- "@eggjs/egg-module-common": "^3.48.1",
52
- "@eggjs/tegg": "^3.48.1",
53
- "@eggjs/tegg-common-util": "^3.48.1",
54
- "@eggjs/tegg-lifecycle": "^3.48.1",
55
- "@eggjs/tegg-loader": "^3.48.1",
56
- "@eggjs/tegg-metadata": "^3.48.1",
57
- "@eggjs/tegg-orm-decorator": "^3.48.1",
58
- "@eggjs/tegg-runtime": "^3.48.1",
51
+ "@eggjs/egg-module-common": "^3.50.0",
52
+ "@eggjs/tegg": "^3.50.0",
53
+ "@eggjs/tegg-common-util": "^3.50.0",
54
+ "@eggjs/tegg-lifecycle": "^3.50.0",
55
+ "@eggjs/tegg-loader": "^3.50.0",
56
+ "@eggjs/tegg-metadata": "^3.50.0",
57
+ "@eggjs/tegg-orm-decorator": "^3.50.0",
58
+ "@eggjs/tegg-runtime": "^3.50.0",
59
59
  "@types/koa-router": "^7.0.40",
60
60
  "koa-compose": "^3.2.1",
61
61
  "leoric": "^2.12.2",
62
62
  "sdk-base": "^4.2.0"
63
63
  },
64
64
  "devDependencies": {
65
- "@eggjs/module-test-util": "^3.48.1",
65
+ "@eggjs/module-test-util": "^3.50.0",
66
66
  "@eggjs/router": "^2.0.0",
67
- "@eggjs/tegg-config": "^3.48.1",
68
- "@eggjs/tegg-plugin": "^3.48.1",
67
+ "@eggjs/tegg-config": "^3.50.0",
68
+ "@eggjs/tegg-plugin": "^3.50.0",
69
69
  "@types/mocha": "^10.0.1",
70
70
  "@types/node": "^20.2.4",
71
71
  "cross-env": "^7.0.3",
@@ -81,5 +81,5 @@
81
81
  "publishConfig": {
82
82
  "access": "public"
83
83
  },
84
- "gitHead": "e94c045e5928c1959bfa20a93fe1d74ff553793b"
84
+ "gitHead": "1a10a171b8758d6b322be75d4fd3b275de0b2981"
85
85
  }