@eggjs/tegg-runtime 3.17.0 → 3.18.1

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,7 +1,7 @@
1
1
  import { EggPrototype } from '@eggjs/tegg-metadata';
2
2
  import { EggContainer } from '../model/EggContainer';
3
3
  import { LifecycleContext } from '@eggjs/tegg-lifecycle';
4
- import { EggObjectName, ObjectInitTypeLike } from '@eggjs/core-decorator';
4
+ import { EggObjectName, ObjectInitTypeLike, EggProtoImplClass } from '@eggjs/core-decorator';
5
5
  import { EggObject } from '../model/EggObject';
6
6
  export type ContainerGetMethod = (proto: EggPrototype) => EggContainer<LifecycleContext>;
7
7
  export declare class EggContainerFactory {
@@ -14,5 +14,11 @@ export declare class EggContainerFactory {
14
14
  * will create context egg object for it.
15
15
  */
16
16
  static getOrCreateEggObject(proto: EggPrototype, name?: EggObjectName): Promise<EggObject>;
17
+ /**
18
+ * get or create egg object from the Class
19
+ * If get singleton egg object in context,
20
+ * will create context egg object for it.
21
+ */
22
+ static getOrCreateEggObjectFromClazz(clazz: EggProtoImplClass, name?: EggObjectName): Promise<EggObject>;
17
23
  static getEggObject(proto: EggPrototype, name?: EggObjectName): EggObject;
18
24
  }
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EggContainerFactory = void 0;
4
+ const core_decorator_1 = require("@eggjs/core-decorator");
4
5
  const ContextHandler_1 = require("../model/ContextHandler");
5
6
  const ContextInitiator_1 = require("../impl/ContextInitiator");
6
7
  class EggContainerFactory {
@@ -30,6 +31,18 @@ class EggContainerFactory {
30
31
  }
31
32
  return obj;
32
33
  }
34
+ /**
35
+ * get or create egg object from the Class
36
+ * If get singleton egg object in context,
37
+ * will create context egg object for it.
38
+ */
39
+ static async getOrCreateEggObjectFromClazz(clazz, name) {
40
+ const proto = core_decorator_1.PrototypeUtil.getClazzProto(clazz);
41
+ if (!proto) {
42
+ throw new Error(`can not get proto for clazz ${clazz.name}`);
43
+ }
44
+ return await this.getOrCreateEggObject(proto, name);
45
+ }
33
46
  static getEggObject(proto, name) {
34
47
  const container = this.getContainer(proto);
35
48
  name = name || proto.name;
@@ -38,4 +51,4 @@ class EggContainerFactory {
38
51
  }
39
52
  exports.EggContainerFactory = EggContainerFactory;
40
53
  EggContainerFactory.containerGetMethodMap = new Map();
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnQ29udGFpbmVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mYWN0b3J5L0VnZ0NvbnRhaW5lckZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0EsNERBQXlEO0FBQ3pELCtEQUE0RDtBQUk1RCxNQUFhLG1CQUFtQjtJQUc5QixNQUFNLENBQUMsMEJBQTBCLENBQUMsUUFBNEIsRUFBRSxNQUEwQjtRQUN4RixJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFtQjtRQUNyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLEtBQUssQ0FBQyxRQUFRLHNDQUFzQyxDQUFDLENBQUM7U0FDbkY7UUFDRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsS0FBbUIsRUFBRSxJQUFvQjtRQUN6RSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLElBQUksR0FBRyxJQUFJLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQztRQUMxQixNQUFNLEdBQUcsR0FBRyxNQUFNLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUQsTUFBTSxHQUFHLEdBQUcsK0JBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN4QyxJQUFJLEdBQUcsRUFBRTtZQUNQLE1BQU0sU0FBUyxHQUFHLG1DQUFnQixDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQy9ELE1BQU0sU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUMzQjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBbUIsRUFBRSxJQUFvQjtRQUMzRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLElBQUksR0FBRyxJQUFJLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQztRQUMxQixPQUFPLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdDLENBQUM7O0FBcENILGtEQXFDQztBQXBDZ0IseUNBQXFCLEdBQWdELElBQUksR0FBRyxFQUFFLENBQUMifQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnQ29udGFpbmVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mYWN0b3J5L0VnZ0NvbnRhaW5lckZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsMERBQTRHO0FBRTVHLDREQUF5RDtBQUN6RCwrREFBNEQ7QUFJNUQsTUFBYSxtQkFBbUI7SUFHOUIsTUFBTSxDQUFDLDBCQUEwQixDQUFDLFFBQTRCLEVBQUUsTUFBMEI7UUFDeEYsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBbUI7UUFDckMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsWUFBWSxLQUFLLENBQUMsUUFBUSxzQ0FBc0MsQ0FBQyxDQUFDO1NBQ25GO1FBQ0QsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLEtBQW1CLEVBQUUsSUFBb0I7UUFDekUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxJQUFJLEdBQUcsSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDMUIsTUFBTSxHQUFHLEdBQUcsTUFBTSxTQUFTLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlELE1BQU0sR0FBRyxHQUFHLCtCQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDeEMsSUFBSSxHQUFHLEVBQUU7WUFDUCxNQUFNLFNBQVMsR0FBRyxtQ0FBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMvRCxNQUFNLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDM0I7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxLQUF3QixFQUFFLElBQW9CO1FBQ3ZGLE1BQU0sS0FBSyxHQUFHLDhCQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBaUIsQ0FBQztRQUNqRSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7U0FDOUQ7UUFDRCxPQUFPLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFtQixFQUFFLElBQW9CO1FBQzNELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsSUFBSSxHQUFHLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQzFCLE9BQU8sU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDN0MsQ0FBQzs7QUFqREgsa0RBa0RDO0FBakRnQix5Q0FBcUIsR0FBZ0QsSUFBSSxHQUFHLEVBQUUsQ0FBQyJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eggjs/tegg-runtime",
3
- "version": "3.17.0",
3
+ "version": "3.18.1",
4
4
  "description": "tegg runtime",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -36,13 +36,13 @@
36
36
  "node": ">=14.0.0"
37
37
  },
38
38
  "dependencies": {
39
- "@eggjs/core-decorator": "^3.17.0",
40
- "@eggjs/tegg-common-util": "^3.17.0",
41
- "@eggjs/tegg-lifecycle": "^3.17.0",
42
- "@eggjs/tegg-metadata": "^3.17.0"
39
+ "@eggjs/core-decorator": "^3.18.1",
40
+ "@eggjs/tegg-common-util": "^3.18.1",
41
+ "@eggjs/tegg-lifecycle": "^3.18.1",
42
+ "@eggjs/tegg-metadata": "^3.18.1"
43
43
  },
44
44
  "devDependencies": {
45
- "@eggjs/tegg-loader": "^3.17.0",
45
+ "@eggjs/tegg-loader": "^3.18.1",
46
46
  "@types/mocha": "^10.0.1",
47
47
  "@types/node": "^20.2.4",
48
48
  "cross-env": "^7.0.3",
@@ -54,5 +54,5 @@
54
54
  "publishConfig": {
55
55
  "access": "public"
56
56
  },
57
- "gitHead": "f049412d99d784468f48e030dcc501c428112d63"
57
+ "gitHead": "265ac4ae37cad57cd7d38a0ea21d945a8f620b0c"
58
58
  }