@eggjs/lifecycle 4.0.2-beta.0 → 4.0.2-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.
@@ -14,6 +14,7 @@ declare class LifecycleUtil<T extends LifecycleContext, R extends LifecycleObjec
14
14
  objectPreCreate(ctx: T, obj: R): Promise<void>;
15
15
  objectPostCreate(ctx: T, obj: R): Promise<void>;
16
16
  objectPreDestroy(ctx: T, obj: R): Promise<void>;
17
+ private static waitAll;
17
18
  static callPreCreate<T extends LifecycleContext, R extends LifecycleObject<T>>(lifecycle: LifecycleHook<T, R> | undefined, ctx: T, obj: R): Promise<void>;
18
19
  static callPostCreate<T extends LifecycleContext, R extends LifecycleObject<T>>(lifecycle: LifecycleHook<T, R> | undefined, ctx: T, obj: R): Promise<void>;
19
20
  static callPreDestroy<T extends LifecycleContext, R extends LifecycleObject<T>>(lifecycle: LifecycleHook<T, R> | undefined, ctx: T, obj: R): Promise<void>;
@@ -30,20 +30,24 @@ var LifecycleUtil = class LifecycleUtil {
30
30
  async objectPreCreate(ctx, obj) {
31
31
  const globalLifecycleList = this.getLifecycleList();
32
32
  const objLifecycleList = this.getObjectLifecycleList(obj);
33
- await Promise.all(globalLifecycleList.map((lifecycle) => LifecycleUtil.callPreCreate(lifecycle, ctx, obj)));
34
- await Promise.all(objLifecycleList.map((lifecycle) => LifecycleUtil.callPreCreate(lifecycle, ctx, obj)));
33
+ await LifecycleUtil.waitAll(globalLifecycleList.map((lifecycle) => LifecycleUtil.callPreCreate(lifecycle, ctx, obj)));
34
+ await LifecycleUtil.waitAll(objLifecycleList.map((lifecycle) => LifecycleUtil.callPreCreate(lifecycle, ctx, obj)));
35
35
  }
36
36
  async objectPostCreate(ctx, obj) {
37
37
  const lifecycleList = this.getLifecycleList();
38
38
  const objLifecycleList = this.getObjectLifecycleList(obj);
39
- await Promise.all(lifecycleList.map((lifecycle) => LifecycleUtil.callPostCreate(lifecycle, ctx, obj)));
40
- await Promise.all(objLifecycleList.map((lifecycle) => LifecycleUtil.callPostCreate(lifecycle, ctx, obj)));
39
+ await LifecycleUtil.waitAll(lifecycleList.map((lifecycle) => LifecycleUtil.callPostCreate(lifecycle, ctx, obj)));
40
+ await LifecycleUtil.waitAll(objLifecycleList.map((lifecycle) => LifecycleUtil.callPostCreate(lifecycle, ctx, obj)));
41
41
  }
42
42
  async objectPreDestroy(ctx, obj) {
43
43
  const lifecycleList = this.getLifecycleList();
44
44
  const objLifecycleList = this.getObjectLifecycleList(obj);
45
- await Promise.all(lifecycleList.map((lifecycle) => LifecycleUtil.callPreDestroy(lifecycle, ctx, obj)));
46
- await Promise.all(objLifecycleList.map((lifecycle) => LifecycleUtil.callPreDestroy(lifecycle, ctx, obj)));
45
+ await LifecycleUtil.waitAll(lifecycleList.map((lifecycle) => LifecycleUtil.callPreDestroy(lifecycle, ctx, obj)));
46
+ await LifecycleUtil.waitAll(objLifecycleList.map((lifecycle) => LifecycleUtil.callPreDestroy(lifecycle, ctx, obj)));
47
+ }
48
+ static async waitAll(promises) {
49
+ const rejected = (await Promise.allSettled(promises)).find((result) => result.status === "rejected");
50
+ if (rejected) throw rejected.reason;
47
51
  }
48
52
  static async callPreCreate(lifecycle, ctx, obj) {
49
53
  if (!lifecycle || !lifecycle.preCreate) return;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eggjs/lifecycle",
3
- "version": "4.0.2-beta.0",
3
+ "version": "4.0.2-beta.10",
4
4
  "description": "tegg lifecycle definition and decorators",
5
5
  "keywords": [
6
6
  "egg",
@@ -34,8 +34,8 @@
34
34
  "access": "public"
35
35
  },
36
36
  "dependencies": {
37
- "@eggjs/core-decorator": "4.0.2-beta.0",
38
- "@eggjs/tegg-types": "4.0.2-beta.0"
37
+ "@eggjs/core-decorator": "4.0.2-beta.10",
38
+ "@eggjs/tegg-types": "4.0.2-beta.10"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@types/node": "^24.10.2",