@eggjs/tegg-metadata 3.43.1 → 3.43.2
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.
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import type { EggLoadUnitTypeLike, Id, LoadUnit, Loader, LoadUnitCreator } from '@eggjs/tegg-types';
|
|
1
|
+
import type { EggLoadUnitTypeLike, Id, LoadUnit, LoadUnitLifecycleContext, Loader, LoadUnitCreator } from '@eggjs/tegg-types';
|
|
2
2
|
export declare class LoadUnitFactory {
|
|
3
3
|
private static loadUnitCreatorMap;
|
|
4
4
|
private static loadUnitMap;
|
|
5
5
|
private static loadUnitIdMap;
|
|
6
|
+
protected static getLoanUnit(ctx: LoadUnitLifecycleContext, type: EggLoadUnitTypeLike): Promise<LoadUnit>;
|
|
6
7
|
static createLoadUnit(unitPath: string, type: EggLoadUnitTypeLike, loader: Loader): Promise<LoadUnit>;
|
|
8
|
+
static createPreloadLoadUnit(unitPath: string, type: EggLoadUnitTypeLike, loader: Loader): Promise<LoadUnit>;
|
|
7
9
|
static destroyLoadUnit(loadUnit: LoadUnit): Promise<void>;
|
|
8
10
|
static getLoadUnitById(id: Id): LoadUnit | undefined;
|
|
9
11
|
static registerLoadUnitCreator(type: EggLoadUnitTypeLike, creator: LoadUnitCreator): void;
|
|
@@ -3,30 +3,40 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.LoadUnitFactory = void 0;
|
|
4
4
|
const LoadUnit_1 = require("../model/LoadUnit");
|
|
5
5
|
class LoadUnitFactory {
|
|
6
|
-
static async
|
|
7
|
-
|
|
8
|
-
return this.loadUnitMap.get(unitPath).loadUnit;
|
|
9
|
-
}
|
|
10
|
-
const creator = this.loadUnitCreatorMap.get(type);
|
|
6
|
+
static async getLoanUnit(ctx, type) {
|
|
7
|
+
const creator = LoadUnitFactory.loadUnitCreatorMap.get(type);
|
|
11
8
|
if (!creator) {
|
|
12
9
|
throw new Error(`not find creator for load unit type ${type}`);
|
|
13
10
|
}
|
|
11
|
+
return await creator(ctx);
|
|
12
|
+
}
|
|
13
|
+
static async createLoadUnit(unitPath, type, loader) {
|
|
14
|
+
if (LoadUnitFactory.loadUnitMap.has(unitPath)) {
|
|
15
|
+
return LoadUnitFactory.loadUnitMap.get(unitPath).loadUnit;
|
|
16
|
+
}
|
|
14
17
|
const ctx = {
|
|
15
18
|
unitPath,
|
|
16
19
|
loader,
|
|
17
20
|
};
|
|
18
|
-
const loadUnit = await
|
|
21
|
+
const loadUnit = await LoadUnitFactory.getLoanUnit(ctx, type);
|
|
19
22
|
await LoadUnit_1.LoadUnitLifecycleUtil.objectPreCreate(ctx, loadUnit);
|
|
20
23
|
if (loadUnit.init) {
|
|
21
24
|
await loadUnit.init(ctx);
|
|
22
25
|
}
|
|
23
26
|
await LoadUnit_1.LoadUnitLifecycleUtil.objectPostCreate(ctx, loadUnit);
|
|
24
|
-
|
|
25
|
-
|
|
27
|
+
LoadUnitFactory.loadUnitMap.set(unitPath, { loadUnit, ctx });
|
|
28
|
+
LoadUnitFactory.loadUnitIdMap.set(loadUnit.id, loadUnit);
|
|
26
29
|
return loadUnit;
|
|
27
30
|
}
|
|
31
|
+
static async createPreloadLoadUnit(unitPath, type, loader) {
|
|
32
|
+
const ctx = {
|
|
33
|
+
unitPath,
|
|
34
|
+
loader,
|
|
35
|
+
};
|
|
36
|
+
return await LoadUnitFactory.getLoanUnit(ctx, type);
|
|
37
|
+
}
|
|
28
38
|
static async destroyLoadUnit(loadUnit) {
|
|
29
|
-
const { ctx } =
|
|
39
|
+
const { ctx } = LoadUnitFactory.loadUnitMap.get(loadUnit.unitPath);
|
|
30
40
|
try {
|
|
31
41
|
await LoadUnit_1.LoadUnitLifecycleUtil.objectPreDestroy(ctx, loadUnit);
|
|
32
42
|
if (loadUnit.destroy) {
|
|
@@ -34,20 +44,20 @@ class LoadUnitFactory {
|
|
|
34
44
|
}
|
|
35
45
|
}
|
|
36
46
|
finally {
|
|
37
|
-
|
|
38
|
-
|
|
47
|
+
LoadUnitFactory.loadUnitMap.delete(loadUnit.unitPath);
|
|
48
|
+
LoadUnitFactory.loadUnitIdMap.delete(loadUnit.id);
|
|
39
49
|
LoadUnit_1.LoadUnitLifecycleUtil.clearObjectLifecycle(loadUnit);
|
|
40
50
|
}
|
|
41
51
|
}
|
|
42
52
|
static getLoadUnitById(id) {
|
|
43
|
-
return
|
|
53
|
+
return LoadUnitFactory.loadUnitIdMap.get(id);
|
|
44
54
|
}
|
|
45
55
|
static registerLoadUnitCreator(type, creator) {
|
|
46
|
-
|
|
56
|
+
LoadUnitFactory.loadUnitCreatorMap.set(type, creator);
|
|
47
57
|
}
|
|
48
58
|
}
|
|
49
59
|
exports.LoadUnitFactory = LoadUnitFactory;
|
|
50
60
|
LoadUnitFactory.loadUnitCreatorMap = new Map();
|
|
51
61
|
LoadUnitFactory.loadUnitMap = new Map();
|
|
52
62
|
LoadUnitFactory.loadUnitIdMap = new Map();
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9hZFVuaXRGYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ZhY3RvcnkvTG9hZFVuaXRGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVNBLGdEQUEwRDtBQUUxRCxNQUFhLGVBQWU7SUFLaEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBNkIsRUFBRSxJQUF5QjtRQUN6RixNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUNELE9BQU8sTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFFBQWdCLEVBQUUsSUFBeUIsRUFBRSxNQUFjO1FBQ3JGLElBQUksZUFBZSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUM5QyxPQUFPLGVBQWUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBRSxDQUFDLFFBQVEsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsTUFBTSxHQUFHLEdBQTZCO1lBQ3BDLFFBQVE7WUFDUixNQUFNO1NBQ1AsQ0FBQztRQUNGLE1BQU0sUUFBUSxHQUFHLE1BQU0sZUFBZSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUQsTUFBTSxnQ0FBcUIsQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzNELElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xCLE1BQU0sUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBQ0QsTUFBTSxnQ0FBcUIsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDNUQsZUFBZSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDN0QsZUFBZSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN6RCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxRQUFnQixFQUFFLElBQXlCLEVBQUUsTUFBYztRQUM1RixNQUFNLEdBQUcsR0FBNkI7WUFDcEMsUUFBUTtZQUNSLE1BQU07U0FDUCxDQUFDO1FBQ0YsT0FBTyxNQUFNLGVBQWUsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxRQUFrQjtRQUM3QyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsZUFBZSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBRSxDQUFDO1FBQ3BFLElBQUksQ0FBQztZQUNILE1BQU0sZ0NBQXFCLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzVELElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNyQixNQUFNLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUIsQ0FBQztRQUNILENBQUM7Z0JBQVMsQ0FBQztZQUNULGVBQWUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN0RCxlQUFlLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbEQsZ0NBQXFCLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLEVBQU07UUFDM0IsT0FBTyxlQUFlLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsTUFBTSxDQUFDLHVCQUF1QixDQUFDLElBQXlCLEVBQUUsT0FBd0I7UUFDaEYsZUFBZSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7QUE1REgsMENBNkRDO0FBNURnQixrQ0FBa0IsR0FBOEMsSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUMxRSwyQkFBVyxHQUE4QixJQUFJLEdBQUcsRUFBRSxDQUFDO0FBQ25ELDZCQUFhLEdBQXNCLElBQUksR0FBRyxFQUFFLENBQUMifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eggjs/tegg-metadata",
|
|
3
|
-
"version": "3.43.
|
|
3
|
+
"version": "3.43.2",
|
|
4
4
|
"description": "tegg metadata",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"egg",
|
|
@@ -35,10 +35,10 @@
|
|
|
35
35
|
"node": ">=14.0.0"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@eggjs/core-decorator": "^3.43.
|
|
39
|
-
"@eggjs/tegg-common-util": "^3.43.
|
|
40
|
-
"@eggjs/tegg-lifecycle": "^3.43.
|
|
41
|
-
"@eggjs/tegg-types": "^3.43.
|
|
38
|
+
"@eggjs/core-decorator": "^3.43.2",
|
|
39
|
+
"@eggjs/tegg-common-util": "^3.43.2",
|
|
40
|
+
"@eggjs/tegg-lifecycle": "^3.43.2",
|
|
41
|
+
"@eggjs/tegg-types": "^3.43.2",
|
|
42
42
|
"egg-errors": "^2.2.3"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"publishConfig": {
|
|
55
55
|
"access": "public"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "6e13b2697b3356681ca649b0d89d4b88163694dd"
|
|
58
58
|
}
|