@eggjs/tegg-lifecycle 3.2.3 → 3.8.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.
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -18,4 +18,5 @@ __exportStar(require("./src/LifecycleHook"), exports);
|
|
|
18
18
|
__exportStar(require("./src/EggObjectLifecycle"), exports);
|
|
19
19
|
__exportStar(require("./src/LifycycleUtil"), exports);
|
|
20
20
|
__exportStar(require("./src/IdenticalObject"), exports);
|
|
21
|
-
|
|
21
|
+
__exportStar(require("./src/decorator"), exports);
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0RBQW9DO0FBQ3BDLDJEQUF5QztBQUN6QyxzREFBb0M7QUFDcEMsd0RBQXNDO0FBQ3RDLGtEQUFnQyJ9
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
+
import { EggProtoImplClass } from '@eggjs/core-decorator';
|
|
2
|
+
import { EggPrototype } from '@eggjs/tegg-metadata';
|
|
1
3
|
import { LifecycleContext, LifecycleHook, LifecycleObject } from './LifecycleHook';
|
|
4
|
+
import { EggObjectLifecycle } from './EggObjectLifecycle';
|
|
5
|
+
export type LifecycleHookName = keyof EggObjectLifecycle;
|
|
2
6
|
export declare class LifecycleUtil<T extends LifecycleContext, R extends LifecycleObject<T>> {
|
|
3
7
|
private lifecycleSet;
|
|
4
8
|
private objLifecycleSet;
|
|
@@ -7,6 +11,7 @@ export declare class LifecycleUtil<T extends LifecycleContext, R extends Lifecyc
|
|
|
7
11
|
getLifecycleList(): LifecycleHook<T, R>[];
|
|
8
12
|
registerObjectLifecycle(obj: R, lifecycle: LifecycleHook<T, R>): void;
|
|
9
13
|
deleteObjectLifecycle(obj: R, lifecycle: LifecycleHook<T, R>): void;
|
|
14
|
+
clearObjectLifecycle(obj: R): void;
|
|
10
15
|
getObjectLifecycleList(obj: R): LifecycleHook<T, R>[];
|
|
11
16
|
objectPreCreate(ctx: T, obj: R): Promise<void>;
|
|
12
17
|
objectPostCreate(ctx: T, obj: R): Promise<void>;
|
|
@@ -14,4 +19,6 @@ export declare class LifecycleUtil<T extends LifecycleContext, R extends Lifecyc
|
|
|
14
19
|
static callPreCreate<T extends LifecycleContext, R extends LifecycleObject<T>>(lifecycle: LifecycleHook<T, R> | undefined, ctx: T, obj: R): Promise<void>;
|
|
15
20
|
static callPostCreate<T extends LifecycleContext, R extends LifecycleObject<T>>(lifecycle: LifecycleHook<T, R> | undefined, ctx: T, obj: R): Promise<void>;
|
|
16
21
|
static callPreDestroy<T extends LifecycleContext, R extends LifecycleObject<T>>(lifecycle: LifecycleHook<T, R> | undefined, ctx: T, obj: R): Promise<void>;
|
|
22
|
+
static setLifecycleHook(method: string, hookName: LifecycleHookName, clazz: EggProtoImplClass): void;
|
|
23
|
+
getLifecycleHook(hookName: LifecycleHookName, proto: EggPrototype): string | undefined;
|
|
17
24
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LifecycleUtil = void 0;
|
|
4
|
+
const core_decorator_1 = require("@eggjs/core-decorator");
|
|
4
5
|
class LifecycleUtil {
|
|
5
6
|
constructor() {
|
|
6
7
|
this.lifecycleSet = new Set();
|
|
@@ -25,6 +26,9 @@ class LifecycleUtil {
|
|
|
25
26
|
var _a;
|
|
26
27
|
(_a = this.objLifecycleSet.get(obj.id)) === null || _a === void 0 ? void 0 : _a.delete(lifecycle);
|
|
27
28
|
}
|
|
29
|
+
clearObjectLifecycle(obj) {
|
|
30
|
+
this.objLifecycleSet.delete(obj.id);
|
|
31
|
+
}
|
|
28
32
|
getObjectLifecycleList(obj) {
|
|
29
33
|
if (this.objLifecycleSet.has(obj.id)) {
|
|
30
34
|
return Array.from(this.objLifecycleSet.get(obj.id));
|
|
@@ -67,6 +71,14 @@ class LifecycleUtil {
|
|
|
67
71
|
}
|
|
68
72
|
await lifecycle.preDestroy(ctx, obj);
|
|
69
73
|
}
|
|
74
|
+
static setLifecycleHook(method, hookName, clazz) {
|
|
75
|
+
const LIFECYCLE_HOOK = Symbol.for(`EggPrototype#Lifecycle${hookName}`);
|
|
76
|
+
core_decorator_1.MetadataUtil.defineMetaData(LIFECYCLE_HOOK, method, clazz);
|
|
77
|
+
}
|
|
78
|
+
getLifecycleHook(hookName, proto) {
|
|
79
|
+
const LIFECYCLE_HOOK = Symbol.for(`EggPrototype#Lifecycle${hookName}`);
|
|
80
|
+
return proto.getMetaData(LIFECYCLE_HOOK);
|
|
81
|
+
}
|
|
70
82
|
}
|
|
71
83
|
exports.LifecycleUtil = LifecycleUtil;
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGlmeWN5Y2xlVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9MaWZ5Y3ljbGVVdGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDBEQUF3RTtBQU94RSxNQUFhLGFBQWE7SUFBMUI7UUFFVSxpQkFBWSxHQUE2QixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ25ELG9CQUFlLEdBQTBDLElBQUksR0FBRyxFQUFFLENBQUM7SUF1RjdFLENBQUM7SUFyRkMsaUJBQWlCLENBQUMsU0FBOEI7UUFDOUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGVBQWUsQ0FBQyxTQUE4QjtRQUM1QyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsdUJBQXVCLENBQUMsR0FBTSxFQUFFLFNBQThCO1FBQzVELElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDckMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7U0FDN0M7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxHQUFNLEVBQUUsU0FBOEI7O1FBQzFELE1BQUEsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQywwQ0FBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENB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
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const LifecyclePostConstruct: () => (target: object, methodName: string) => void;
|
|
2
|
+
export declare const LifecyclePreInject: () => (target: object, methodName: string) => void;
|
|
3
|
+
export declare const LifecyclePostInject: () => (target: object, methodName: string) => void;
|
|
4
|
+
export declare const LifecycleInit: () => (target: object, methodName: string) => void;
|
|
5
|
+
export declare const LifecyclePreDestroy: () => (target: object, methodName: string) => void;
|
|
6
|
+
export declare const LifecycleDestroy: () => (target: object, methodName: string) => void;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LifecycleDestroy = exports.LifecyclePreDestroy = exports.LifecycleInit = exports.LifecyclePostInject = exports.LifecyclePreInject = exports.LifecyclePostConstruct = void 0;
|
|
4
|
+
const LifycycleUtil_1 = require("../LifycycleUtil");
|
|
5
|
+
function createLifecycle(hookName) {
|
|
6
|
+
return () => {
|
|
7
|
+
return function (target, methodName) {
|
|
8
|
+
const clazz = target.constructor;
|
|
9
|
+
LifycycleUtil_1.LifecycleUtil.setLifecycleHook(methodName, hookName, clazz);
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
exports.LifecyclePostConstruct = createLifecycle('postConstruct');
|
|
14
|
+
exports.LifecyclePreInject = createLifecycle('preInject');
|
|
15
|
+
exports.LifecyclePostInject = createLifecycle('postInject');
|
|
16
|
+
exports.LifecycleInit = createLifecycle('init');
|
|
17
|
+
exports.LifecyclePreDestroy = createLifecycle('preDestroy');
|
|
18
|
+
exports.LifecycleDestroy = createLifecycle('destroy');
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVjb3JhdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLG9EQUFvRTtBQUVwRSxTQUFTLGVBQWUsQ0FBQyxRQUEyQjtJQUNsRCxPQUFPLEdBQUcsRUFBRTtRQUNWLE9BQU8sVUFBUyxNQUFjLEVBQUUsVUFBa0I7WUFDaEQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFdBQWdDLENBQUM7WUFDdEQsNkJBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFWSxRQUFBLHNCQUFzQixHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUMxRCxRQUFBLGtCQUFrQixHQUFHLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNsRCxRQUFBLG1CQUFtQixHQUFHLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUNwRCxRQUFBLGFBQWEsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDeEMsUUFBQSxtQkFBbUIsR0FBRyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDcEQsUUFBQSxnQkFBZ0IsR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eggjs/tegg-lifecycle",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.8.0",
|
|
4
4
|
"description": "tegg lifecycle definition",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"egg",
|
|
@@ -38,13 +38,17 @@
|
|
|
38
38
|
"publishConfig": {
|
|
39
39
|
"access": "public"
|
|
40
40
|
},
|
|
41
|
+
"dependencies": {
|
|
42
|
+
"@eggjs/core-decorator": "^3.8.0",
|
|
43
|
+
"@eggjs/tegg-metadata": "^3.8.0"
|
|
44
|
+
},
|
|
41
45
|
"devDependencies": {
|
|
42
46
|
"@types/mocha": "^10.0.1",
|
|
43
|
-
"@types/node": "^
|
|
47
|
+
"@types/node": "^20.2.4",
|
|
44
48
|
"cross-env": "^7.0.3",
|
|
45
49
|
"mocha": "^10.2.0",
|
|
46
50
|
"ts-node": "^10.9.1",
|
|
47
|
-
"typescript": "^
|
|
51
|
+
"typescript": "^5.0.4"
|
|
48
52
|
},
|
|
49
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "2c683c3dfce4d0483c1ecfa79b6e34af52bdc0ed"
|
|
50
54
|
}
|