@eggjs/tegg-controller-plugin 4.0.0-beta.7 → 4.0.0-beta.9

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.
Files changed (39) hide show
  1. package/dist/app/middleware/tegg_root_proto.d.ts +2 -5
  2. package/dist/app/middleware/tegg_root_proto.js +7 -11
  3. package/dist/app.d.ts +20 -24
  4. package/dist/app.js +70 -61
  5. package/dist/index.d.ts +1 -1
  6. package/dist/index.js +1 -2
  7. package/dist/lib/AppLoadUnitControllerHook.d.ts +9 -13
  8. package/dist/lib/AppLoadUnitControllerHook.js +28 -28
  9. package/dist/lib/ControllerLoadUnit.d.ts +20 -24
  10. package/dist/lib/ControllerLoadUnit.js +72 -63
  11. package/dist/lib/ControllerLoadUnitHandler.d.ts +11 -15
  12. package/dist/lib/ControllerLoadUnitHandler.js +28 -28
  13. package/dist/lib/ControllerLoadUnitInstance.d.ts +16 -20
  14. package/dist/lib/ControllerLoadUnitInstance.js +36 -40
  15. package/dist/lib/ControllerMetadataManager.d.ts +7 -11
  16. package/dist/lib/ControllerMetadataManager.js +27 -23
  17. package/dist/lib/ControllerRegister.d.ts +4 -8
  18. package/dist/lib/ControllerRegister.js +3 -4
  19. package/dist/lib/ControllerRegisterFactory.d.ts +11 -15
  20. package/dist/lib/ControllerRegisterFactory.js +22 -24
  21. package/dist/lib/EggControllerLoader.d.ts +6 -10
  22. package/dist/lib/EggControllerLoader.js +31 -29
  23. package/dist/lib/EggControllerPrototypeHook.d.ts +4 -8
  24. package/dist/lib/EggControllerPrototypeHook.js +11 -13
  25. package/dist/lib/RootProtoManager.d.ts +7 -11
  26. package/dist/lib/RootProtoManager.js +34 -28
  27. package/dist/lib/errors.d.ts +3 -7
  28. package/dist/lib/errors.js +11 -15
  29. package/dist/lib/impl/http/Acl.d.ts +2 -6
  30. package/dist/lib/impl/http/Acl.js +32 -28
  31. package/dist/lib/impl/http/HTTPControllerRegister.d.ts +17 -21
  32. package/dist/lib/impl/http/HTTPControllerRegister.js +63 -59
  33. package/dist/lib/impl/http/HTTPMethodRegister.d.ts +18 -22
  34. package/dist/lib/impl/http/HTTPMethodRegister.js +162 -136
  35. package/dist/lib/impl/http/Req.d.ts +4 -8
  36. package/dist/lib/impl/http/Req.js +13 -16
  37. package/dist/types.d.ts +2 -1
  38. package/dist/types.js +2 -3
  39. package/package.json +12 -12
@@ -1,6 +1,3 @@
1
- import { MiddlewareFunc } from "egg";
2
-
3
- //#region src/app/middleware/tegg_root_proto.d.ts
1
+ import type { MiddlewareFunc } from 'egg';
4
2
  declare const _default: () => MiddlewareFunc;
5
- //#endregion
6
- export { _default as default };
3
+ export default _default;
@@ -1,12 +1,8 @@
1
- import { ROOT_PROTO } from "@eggjs/egg-module-common";
2
-
3
- //#region src/app/middleware/tegg_root_proto.ts
4
- var tegg_root_proto_default = () => {
5
- return async function teggRootProto(ctx, next) {
6
- ctx[ROOT_PROTO] = ctx.app.rootProtoManager.getRootProto(ctx);
7
- return next();
8
- };
1
+ import { ROOT_PROTO } from '@eggjs/egg-module-common';
2
+ export default () => {
3
+ return async function teggRootProto(ctx, next) {
4
+ ctx[ROOT_PROTO] = ctx.app.rootProtoManager.getRootProto(ctx);
5
+ return next();
6
+ };
9
7
  };
10
-
11
- //#endregion
12
- export { tegg_root_proto_default as default };
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVnZ19yb290X3Byb3RvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9taWRkbGV3YXJlL3RlZ2dfcm9vdF9wcm90by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdEQsZUFBZSxHQUFtQixFQUFFO0lBQ2xDLE9BQU8sS0FBSyxVQUFVLGFBQWEsQ0FBQyxHQUFHLEVBQUUsSUFBSTtRQUMzQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0QsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDLENBQUM7QUFDSixDQUFDLENBQUEifQ==
package/dist/app.d.ts CHANGED
@@ -1,27 +1,23 @@
1
- import { RootProtoManager } from "./lib/RootProtoManager.js";
2
- import { ControllerRegisterFactory } from "./lib/ControllerRegisterFactory.js";
3
- import { ControllerMetaBuilderFactory } from "@eggjs/tegg";
4
- import { Application, ILifecycleBoot } from "egg";
5
-
6
- //#region src/app.d.ts
7
- declare class ControllerAppBootHook implements ILifecycleBoot {
8
- private readonly app;
9
- private readonly loadUnitHook;
10
- private readonly controllerRegisterFactory;
11
- private controllerLoadUnitHandler;
12
- private readonly controllerPrototypeHook;
13
- constructor(app: Application);
14
- configWillLoad(): void;
15
- prepareMiddleware(middlewareNames: string[]): string[];
16
- didLoad(): Promise<void>;
17
- beforeClose(): Promise<void>;
1
+ import type { Application, ILifecycleBoot } from 'egg';
2
+ import { ControllerMetaBuilderFactory } from '@eggjs/tegg';
3
+ import { ControllerRegisterFactory } from './lib/ControllerRegisterFactory.ts';
4
+ import { RootProtoManager } from './lib/RootProtoManager.ts';
5
+ export default class ControllerAppBootHook implements ILifecycleBoot {
6
+ private readonly app;
7
+ private readonly loadUnitHook;
8
+ private readonly controllerRegisterFactory;
9
+ private controllerLoadUnitHandler;
10
+ private readonly controllerPrototypeHook;
11
+ constructor(app: Application);
12
+ configWillLoad(): void;
13
+ prepareMiddleware(middlewareNames: string[]): string[];
14
+ didLoad(): Promise<void>;
15
+ beforeClose(): Promise<void>;
18
16
  }
19
17
  declare module 'egg' {
20
- interface Application {
21
- rootProtoManager: RootProtoManager;
22
- controllerRegisterFactory: ControllerRegisterFactory;
23
- controllerMetaBuilderFactory: typeof ControllerMetaBuilderFactory;
24
- }
18
+ interface Application {
19
+ rootProtoManager: RootProtoManager;
20
+ controllerRegisterFactory: ControllerRegisterFactory;
21
+ controllerMetaBuilderFactory: typeof ControllerMetaBuilderFactory;
22
+ }
25
23
  }
26
- //#endregion
27
- export { ControllerAppBootHook as default };
package/dist/app.js CHANGED
@@ -1,67 +1,76 @@
1
+ import {} from '@eggjs/tegg-metadata';
2
+ import { ControllerMetaBuilderFactory, ControllerType } from '@eggjs/tegg';
3
+ import { ModuleLoadUnitInstance } from '@eggjs/tegg-runtime';
1
4
  import { CONTROLLER_LOAD_UNIT, ControllerLoadUnit } from "./lib/ControllerLoadUnit.js";
2
- import { RootProtoManager } from "./lib/RootProtoManager.js";
3
- import { ControllerRegisterFactory } from "./lib/ControllerRegisterFactory.js";
4
- import { ControllerMetadataManager } from "./lib/ControllerMetadataManager.js";
5
5
  import { AppLoadUnitControllerHook } from "./lib/AppLoadUnitControllerHook.js";
6
6
  import { HTTPControllerRegister } from "./lib/impl/http/HTTPControllerRegister.js";
7
+ import { ControllerRegisterFactory } from "./lib/ControllerRegisterFactory.js";
7
8
  import { ControllerLoadUnitHandler } from "./lib/ControllerLoadUnitHandler.js";
9
+ import { ControllerMetadataManager } from "./lib/ControllerMetadataManager.js";
8
10
  import { EggControllerPrototypeHook } from "./lib/EggControllerPrototypeHook.js";
11
+ import { RootProtoManager } from "./lib/RootProtoManager.js";
9
12
  import { EggControllerLoader } from "./lib/EggControllerLoader.js";
10
- import "@eggjs/tegg-metadata";
11
- import { ControllerMetaBuilderFactory, ControllerType } from "@eggjs/tegg";
12
- import { ModuleLoadUnitInstance } from "@eggjs/tegg-runtime";
13
-
14
- //#region src/app.ts
15
- var ControllerAppBootHook = class {
16
- app;
17
- loadUnitHook;
18
- controllerRegisterFactory;
19
- controllerLoadUnitHandler;
20
- controllerPrototypeHook;
21
- constructor(app) {
22
- this.app = app;
23
- this.controllerRegisterFactory = new ControllerRegisterFactory(this.app);
24
- this.app.rootProtoManager = new RootProtoManager();
25
- this.app.controllerRegisterFactory = this.controllerRegisterFactory;
26
- this.app.controllerMetaBuilderFactory = ControllerMetaBuilderFactory;
27
- this.loadUnitHook = new AppLoadUnitControllerHook(this.controllerRegisterFactory, this.app.rootProtoManager);
28
- this.controllerPrototypeHook = new EggControllerPrototypeHook();
29
- }
30
- configWillLoad() {
31
- this.app.loadUnitLifecycleUtil.registerLifecycle(this.loadUnitHook);
32
- this.app.eggPrototypeLifecycleUtil.registerLifecycle(this.controllerPrototypeHook);
33
- this.app.loaderFactory.registerLoader(CONTROLLER_LOAD_UNIT, (unitPath) => {
34
- return new EggControllerLoader(unitPath);
35
- });
36
- this.controllerRegisterFactory.registerControllerRegister(ControllerType.HTTP, HTTPControllerRegister.create);
37
- this.app.loadUnitFactory.registerLoadUnitCreator(CONTROLLER_LOAD_UNIT, (ctx) => {
38
- return new ControllerLoadUnit(`tegg-app-controller:${ctx.unitPath}`, ctx.unitPath, ctx.loader, this.app.eggPrototypeFactory, this.app.eggPrototypeCreatorFactory);
39
- });
40
- this.app.loadUnitInstanceFactory.registerLoadUnitInstanceClass(CONTROLLER_LOAD_UNIT, (ctx) => {
41
- return new ModuleLoadUnitInstance(ctx.loadUnit);
42
- });
43
- this.prepareMiddleware(this.app.config.coreMiddleware);
44
- }
45
- prepareMiddleware(middlewareNames) {
46
- if (!middlewareNames.includes("teggCtxLifecycleMiddleware")) middlewareNames.unshift("teggCtxLifecycleMiddleware");
47
- const index = middlewareNames.indexOf("teggCtxLifecycleMiddleware");
48
- middlewareNames.splice(index, 0, "teggRootProto");
49
- return middlewareNames;
50
- }
51
- async didLoad() {
52
- await this.app.moduleHandler.ready();
53
- this.controllerLoadUnitHandler = new ControllerLoadUnitHandler(this.app);
54
- await this.controllerLoadUnitHandler.ready();
55
- HTTPControllerRegister.instance?.doRegister(this.app.rootProtoManager);
56
- }
57
- async beforeClose() {
58
- if (this.controllerLoadUnitHandler) await this.controllerLoadUnitHandler.destroy();
59
- this.app.loadUnitLifecycleUtil.deleteLifecycle(this.loadUnitHook);
60
- this.app.eggPrototypeLifecycleUtil.deleteLifecycle(this.controllerPrototypeHook);
61
- ControllerMetadataManager.instance.clear();
62
- HTTPControllerRegister.clean();
63
- }
64
- };
65
-
66
- //#endregion
67
- export { ControllerAppBootHook as default };
13
+ // Load Controller process
14
+ // 1. await add load unit is ready, controller may depend other load unit
15
+ // 2. load ${app_base_dir}app/controller file
16
+ // 3. ControllerRegister register controller implement
17
+ export default class ControllerAppBootHook {
18
+ app;
19
+ loadUnitHook;
20
+ controllerRegisterFactory;
21
+ controllerLoadUnitHandler;
22
+ controllerPrototypeHook;
23
+ constructor(app) {
24
+ this.app = app;
25
+ this.controllerRegisterFactory = new ControllerRegisterFactory(this.app);
26
+ this.app.rootProtoManager = new RootProtoManager();
27
+ this.app.controllerRegisterFactory = this.controllerRegisterFactory;
28
+ this.app.controllerMetaBuilderFactory = ControllerMetaBuilderFactory;
29
+ this.loadUnitHook = new AppLoadUnitControllerHook(this.controllerRegisterFactory, this.app.rootProtoManager);
30
+ this.controllerPrototypeHook = new EggControllerPrototypeHook();
31
+ }
32
+ configWillLoad() {
33
+ this.app.loadUnitLifecycleUtil.registerLifecycle(this.loadUnitHook);
34
+ this.app.eggPrototypeLifecycleUtil.registerLifecycle(this.controllerPrototypeHook);
35
+ this.app.loaderFactory.registerLoader(CONTROLLER_LOAD_UNIT, unitPath => {
36
+ return new EggControllerLoader(unitPath);
37
+ });
38
+ this.controllerRegisterFactory.registerControllerRegister(ControllerType.HTTP, HTTPControllerRegister.create);
39
+ this.app.loadUnitFactory.registerLoadUnitCreator(CONTROLLER_LOAD_UNIT, (ctx) => {
40
+ return new ControllerLoadUnit(`tegg-app-controller:${ctx.unitPath}`, ctx.unitPath, ctx.loader, this.app.eggPrototypeFactory, this.app.eggPrototypeCreatorFactory);
41
+ });
42
+ this.app.loadUnitInstanceFactory.registerLoadUnitInstanceClass(CONTROLLER_LOAD_UNIT, (ctx) => {
43
+ return new ModuleLoadUnitInstance(ctx.loadUnit);
44
+ });
45
+ // init http root proto middleware
46
+ this.prepareMiddleware(this.app.config.coreMiddleware);
47
+ }
48
+ prepareMiddleware(middlewareNames) {
49
+ if (!middlewareNames.includes('teggCtxLifecycleMiddleware')) {
50
+ middlewareNames.unshift('teggCtxLifecycleMiddleware');
51
+ }
52
+ const index = middlewareNames.indexOf('teggCtxLifecycleMiddleware');
53
+ middlewareNames.splice(index, 0, 'teggRootProto');
54
+ return middlewareNames;
55
+ }
56
+ async didLoad() {
57
+ await this.app.moduleHandler.ready();
58
+ this.controllerLoadUnitHandler = new ControllerLoadUnitHandler(this.app);
59
+ await this.controllerLoadUnitHandler.ready();
60
+ // The real register HTTP controller/method.
61
+ // HTTP method should sort by priority
62
+ // The HTTPControllerRegister will collect all the methods
63
+ // and register methods after collect is done.
64
+ HTTPControllerRegister.instance?.doRegister(this.app.rootProtoManager);
65
+ }
66
+ async beforeClose() {
67
+ if (this.controllerLoadUnitHandler) {
68
+ await this.controllerLoadUnitHandler.destroy();
69
+ }
70
+ this.app.loadUnitLifecycleUtil.deleteLifecycle(this.loadUnitHook);
71
+ this.app.eggPrototypeLifecycleUtil.deleteLifecycle(this.controllerPrototypeHook);
72
+ ControllerMetadataManager.instance.clear();
73
+ HTTPControllerRegister.clean();
74
+ }
75
+ }
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWlDLE1BQU0sc0JBQXNCLENBQUM7QUFDckUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzRSxPQUFPLEVBQXlDLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDL0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDL0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDL0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbkUsMEJBQTBCO0FBQzFCLHlFQUF5RTtBQUN6RSw2Q0FBNkM7QUFDN0Msc0RBQXNEO0FBRXRELE1BQU0sQ0FBQyxPQUFPLE9BQU8scUJBQXFCO0lBQ3ZCLEdBQUcsQ0FBYztJQUNqQixZQUFZLENBQTRCO0lBQ3hDLHlCQUF5QixDQUE0QjtJQUM5RCx5QkFBeUIsQ0FBNEI7SUFDNUMsdUJBQXVCLENBQTZCO0lBRXJFLFlBQVksR0FBZ0I7UUFDMUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMseUJBQXlCLEdBQUcs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
package/dist/index.d.ts CHANGED
@@ -1 +1 @@
1
- export { };
1
+ import './types.ts';
package/dist/index.js CHANGED
@@ -1,3 +1,2 @@
1
1
  import "./types.js";
2
-
3
- export { };
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxZQUFZLENBQUMifQ==
@@ -1,14 +1,10 @@
1
- import { RootProtoManager } from "./RootProtoManager.js";
2
- import { ControllerRegisterFactory } from "./ControllerRegisterFactory.js";
3
- import { LoadUnit, LoadUnitLifecycleContext } from "@eggjs/tegg-metadata";
4
- import { LifecycleHook } from "@eggjs/tegg";
5
-
6
- //#region src/lib/AppLoadUnitControllerHook.d.ts
7
- declare class AppLoadUnitControllerHook implements LifecycleHook<LoadUnitLifecycleContext, LoadUnit> {
8
- private readonly controllerRegisterFactory;
9
- private readonly rootProtoManager;
10
- constructor(controllerRegisterFactory: ControllerRegisterFactory, rootProtoManager: RootProtoManager);
11
- postCreate(_: LoadUnitLifecycleContext, obj: LoadUnit): Promise<void>;
1
+ import { type LoadUnit, type LoadUnitLifecycleContext } from '@eggjs/tegg-metadata';
2
+ import { type LifecycleHook } from '@eggjs/tegg';
3
+ import { ControllerRegisterFactory } from './ControllerRegisterFactory.ts';
4
+ import { RootProtoManager } from './RootProtoManager.ts';
5
+ export declare class AppLoadUnitControllerHook implements LifecycleHook<LoadUnitLifecycleContext, LoadUnit> {
6
+ private readonly controllerRegisterFactory;
7
+ private readonly rootProtoManager;
8
+ constructor(controllerRegisterFactory: ControllerRegisterFactory, rootProtoManager: RootProtoManager);
9
+ postCreate(_: LoadUnitLifecycleContext, obj: LoadUnit): Promise<void>;
12
10
  }
13
- //#endregion
14
- export { AppLoadUnitControllerHook };
@@ -1,29 +1,29 @@
1
- import "./RootProtoManager.js";
2
- import "./ControllerRegisterFactory.js";
1
+ import {} from '@eggjs/tegg-metadata';
2
+ import { CONTROLLER_META_DATA } from '@eggjs/tegg';
3
+ import { ControllerRegisterFactory } from "./ControllerRegisterFactory.js";
3
4
  import { ControllerMetadataManager } from "./ControllerMetadataManager.js";
4
- import "@eggjs/tegg-metadata";
5
- import { CONTROLLER_META_DATA } from "@eggjs/tegg";
6
-
7
- //#region src/lib/AppLoadUnitControllerHook.ts
8
- var AppLoadUnitControllerHook = class {
9
- controllerRegisterFactory;
10
- rootProtoManager;
11
- constructor(controllerRegisterFactory, rootProtoManager) {
12
- this.controllerRegisterFactory = controllerRegisterFactory;
13
- this.rootProtoManager = rootProtoManager;
14
- }
15
- async postCreate(_, obj) {
16
- const iterator = obj.iterateEggPrototype();
17
- for (const proto of iterator) {
18
- const metadata = proto.getMetaData(CONTROLLER_META_DATA);
19
- if (!metadata) continue;
20
- const register = this.controllerRegisterFactory.getControllerRegister(proto, metadata);
21
- if (!register) throw new Error(`not find controller implement for ${String(proto.name)} which type is ${metadata.type}`);
22
- ControllerMetadataManager.instance.addController(metadata);
23
- await register.register(this.rootProtoManager, obj);
24
- }
25
- }
26
- };
27
-
28
- //#endregion
29
- export { AppLoadUnitControllerHook };
5
+ import { RootProtoManager } from "./RootProtoManager.js";
6
+ export class AppLoadUnitControllerHook {
7
+ controllerRegisterFactory;
8
+ rootProtoManager;
9
+ constructor(controllerRegisterFactory, rootProtoManager) {
10
+ this.controllerRegisterFactory = controllerRegisterFactory;
11
+ this.rootProtoManager = rootProtoManager;
12
+ }
13
+ async postCreate(_, obj) {
14
+ const iterator = obj.iterateEggPrototype();
15
+ for (const proto of iterator) {
16
+ const metadata = proto.getMetaData(CONTROLLER_META_DATA);
17
+ if (!metadata) {
18
+ continue;
19
+ }
20
+ const register = this.controllerRegisterFactory.getControllerRegister(proto, metadata);
21
+ if (!register) {
22
+ throw new Error(`not find controller implement for ${String(proto.name)} which type is ${metadata.type}`);
23
+ }
24
+ ControllerMetadataManager.instance.addController(metadata);
25
+ await register.register(this.rootProtoManager, obj);
26
+ }
27
+ }
28
+ }
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwTG9hZFVuaXRDb250cm9sbGVySG9vay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvQXBwTG9hZFVuaXRDb250cm9sbGVySG9vay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdELE1BQU0sc0JBQXNCLENBQUM7QUFDcEYsT0FBTyxFQUFFLG9CQUFvQixFQUErQyxNQUFNLGFBQWEsQ0FBQztBQUVoRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RCxNQUFNLE9BQU8seUJBQXlCO0lBQ25CLHlCQUF5QixDQUE0QjtJQUNyRCxnQkFBZ0IsQ0FBbUI7SUFFcEQsWUFBWSx5QkFBb0QsRUFBRSxnQkFBa0M7UUFDbEcsSUFBSSxDQUFDLHlCQUF5QixHQUFHLHlCQUF5QixDQUFDO1FBQzNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztJQUMzQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUEyQixFQUFFLEdBQWE7UUFDekQsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0MsS0FBSyxNQUFNLEtBQUssSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUM3QixNQUFNLFFBQVEsR0FBbUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQ3pGLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDZCxTQUFTO1lBQ1gsQ0FBQztZQUNELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDdkYsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUM1RyxDQUFDO1lBQ0QseUJBQXlCLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMzRCxNQUFNLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==
@@ -1,25 +1,21 @@
1
- import { EggPrototype, EggPrototypeCreatorFactory, EggPrototypeFactory, LoadUnit, Loader } from "@eggjs/tegg-metadata";
2
- import { Id, QualifierInfo } from "@eggjs/tegg";
3
-
4
- //#region src/lib/ControllerLoadUnit.d.ts
5
- declare const CONTROLLER_LOAD_UNIT = "app#controller";
6
- declare class ControllerLoadUnit implements LoadUnit {
7
- private readonly loader;
8
- id: Id;
9
- readonly name: string;
10
- readonly type = "app#controller";
11
- readonly unitPath: string;
12
- private eggPrototypeFactory;
13
- private eggPrototypeCreatorFactory;
14
- private protoMap;
15
- constructor(name: string, unitPath: string, loader: Loader, eggPrototypeFactory: EggPrototypeFactory, eggPrototypeCreatorFactory: typeof EggPrototypeCreatorFactory);
16
- init(): Promise<void>;
17
- containPrototype(proto: EggPrototype): boolean;
18
- getEggPrototype(name: string, qualifiers: QualifierInfo[]): EggPrototype[];
19
- registerEggPrototype(proto: EggPrototype): void;
20
- deletePrototype(proto: EggPrototype): void;
21
- destroy(): Promise<void>;
22
- iterateEggPrototype(): IterableIterator<EggPrototype>;
1
+ import { type EggPrototype, EggPrototypeFactory, type Loader, type LoadUnit, type EggPrototypeCreatorFactory } from '@eggjs/tegg-metadata';
2
+ import { type QualifierInfo, type Id } from '@eggjs/tegg';
3
+ export declare const CONTROLLER_LOAD_UNIT = "app#controller";
4
+ export declare class ControllerLoadUnit implements LoadUnit {
5
+ private readonly loader;
6
+ id: Id;
7
+ readonly name: string;
8
+ readonly type = "app#controller";
9
+ readonly unitPath: string;
10
+ private eggPrototypeFactory;
11
+ private eggPrototypeCreatorFactory;
12
+ private protoMap;
13
+ constructor(name: string, unitPath: string, loader: Loader, eggPrototypeFactory: EggPrototypeFactory, eggPrototypeCreatorFactory: typeof EggPrototypeCreatorFactory);
14
+ init(): Promise<void>;
15
+ containPrototype(proto: EggPrototype): boolean;
16
+ getEggPrototype(name: string, qualifiers: QualifierInfo[]): EggPrototype[];
17
+ registerEggPrototype(proto: EggPrototype): void;
18
+ deletePrototype(proto: EggPrototype): void;
19
+ destroy(): Promise<void>;
20
+ iterateEggPrototype(): IterableIterator<EggPrototype>;
23
21
  }
24
- //#endregion
25
- export { CONTROLLER_LOAD_UNIT, ControllerLoadUnit };
@@ -1,63 +1,72 @@
1
- import { EggPrototypeFactory } from "@eggjs/tegg-metadata";
2
- import { IdenticalUtil } from "@eggjs/tegg";
3
- import { MapUtil } from "@eggjs/tegg-common-util";
4
-
5
- //#region src/lib/ControllerLoadUnit.ts
6
- const CONTROLLER_LOAD_UNIT = "app#controller";
7
- var ControllerLoadUnit = class {
8
- loader;
9
- id;
10
- name;
11
- type = CONTROLLER_LOAD_UNIT;
12
- unitPath;
13
- eggPrototypeFactory;
14
- eggPrototypeCreatorFactory;
15
- protoMap = /* @__PURE__ */ new Map();
16
- constructor(name, unitPath, loader, eggPrototypeFactory, eggPrototypeCreatorFactory) {
17
- this.id = IdenticalUtil.createLoadUnitId(name);
18
- this.name = name;
19
- this.unitPath = unitPath;
20
- this.loader = loader;
21
- this.eggPrototypeFactory = eggPrototypeFactory;
22
- this.eggPrototypeCreatorFactory = eggPrototypeCreatorFactory;
23
- }
24
- async init() {
25
- const clazzList = await this.loader.load();
26
- for (const clazz of clazzList) {
27
- const protos = await this.eggPrototypeCreatorFactory.createProto(clazz, this);
28
- for (const proto of protos) this.eggPrototypeFactory.registerPrototype(proto, this);
29
- }
30
- }
31
- containPrototype(proto) {
32
- return !!this.protoMap.get(proto.name)?.find((t) => t === proto);
33
- }
34
- getEggPrototype(name, qualifiers) {
35
- return this.protoMap.get(name)?.filter((proto) => proto.verifyQualifiers(qualifiers)) || [];
36
- }
37
- registerEggPrototype(proto) {
38
- MapUtil.getOrStore(this.protoMap, proto.name, []).push(proto);
39
- }
40
- deletePrototype(proto) {
41
- const protos = this.protoMap.get(proto.name);
42
- if (protos) {
43
- const index = protos.indexOf(proto);
44
- if (index !== -1) protos.splice(index, 1);
45
- }
46
- }
47
- async destroy() {
48
- for (const namedProtos of this.protoMap.values()) {
49
- const protos = namedProtos.slice();
50
- for (const proto of protos) EggPrototypeFactory.instance.deletePrototype(proto, this);
51
- }
52
- this.protoMap.clear();
53
- }
54
- iterateEggPrototype() {
55
- return Array.from(this.protoMap.values()).reduce((p, c) => {
56
- p = p.concat(c);
57
- return p;
58
- }, []).values();
59
- }
60
- };
61
-
62
- //#endregion
63
- export { CONTROLLER_LOAD_UNIT, ControllerLoadUnit };
1
+ import { EggPrototypeFactory, } from '@eggjs/tegg-metadata';
2
+ import { IdenticalUtil, } from '@eggjs/tegg';
3
+ import { MapUtil } from '@eggjs/tegg-common-util';
4
+ export const CONTROLLER_LOAD_UNIT = 'app#controller';
5
+ // ControllerLoadUnit is responsible for manage controller proto
6
+ export class ControllerLoadUnit {
7
+ loader;
8
+ id;
9
+ name;
10
+ type = CONTROLLER_LOAD_UNIT;
11
+ unitPath;
12
+ eggPrototypeFactory;
13
+ eggPrototypeCreatorFactory;
14
+ protoMap = new Map();
15
+ constructor(name, unitPath, loader, eggPrototypeFactory, eggPrototypeCreatorFactory) {
16
+ this.id = IdenticalUtil.createLoadUnitId(name);
17
+ this.name = name;
18
+ this.unitPath = unitPath;
19
+ this.loader = loader;
20
+ this.eggPrototypeFactory = eggPrototypeFactory;
21
+ this.eggPrototypeCreatorFactory = eggPrototypeCreatorFactory;
22
+ }
23
+ async init() {
24
+ const clazzList = await this.loader.load();
25
+ for (const clazz of clazzList) {
26
+ const protos = await this.eggPrototypeCreatorFactory.createProto(clazz, this);
27
+ for (const proto of protos) {
28
+ this.eggPrototypeFactory.registerPrototype(proto, this);
29
+ }
30
+ }
31
+ }
32
+ containPrototype(proto) {
33
+ return !!(this.protoMap.get(proto.name)?.find(t => t === proto));
34
+ }
35
+ getEggPrototype(name, qualifiers) {
36
+ const protos = this.protoMap.get(name);
37
+ return protos?.filter(proto => proto.verifyQualifiers(qualifiers)) || [];
38
+ }
39
+ registerEggPrototype(proto) {
40
+ const protoList = MapUtil.getOrStore(this.protoMap, proto.name, []);
41
+ protoList.push(proto);
42
+ }
43
+ deletePrototype(proto) {
44
+ const protos = this.protoMap.get(proto.name);
45
+ if (protos) {
46
+ const index = protos.indexOf(proto);
47
+ if (index !== -1) {
48
+ protos.splice(index, 1);
49
+ }
50
+ }
51
+ }
52
+ async destroy() {
53
+ for (const namedProtos of this.protoMap.values()) {
54
+ // Delete prototype will delete item
55
+ // array iterator is not safe
56
+ const protos = namedProtos.slice();
57
+ for (const proto of protos) {
58
+ EggPrototypeFactory.instance.deletePrototype(proto, this);
59
+ }
60
+ }
61
+ this.protoMap.clear();
62
+ }
63
+ iterateEggPrototype() {
64
+ const protos = Array.from(this.protoMap.values())
65
+ .reduce((p, c) => {
66
+ p = p.concat(c);
67
+ return p;
68
+ }, []);
69
+ return protos.values();
70
+ }
71
+ }
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udHJvbGxlckxvYWRVbml0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9Db250cm9sbGVyTG9hZFVuaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLG1CQUFtQixHQUlwQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFJTCxhQUFhLEdBQ2QsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWxELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLGdCQUFnQixDQUFDO0FBRXJELGdFQUFnRTtBQUNoRSxNQUFNLE9BQU8sa0JBQWtCO0lBQ1osTUFBTSxDQUFTO0lBQ2hDLEVBQUUsQ0FBSztJQUNFLElBQUksQ0FBUztJQUNiLElBQUksR0FBRyxvQkFBb0IsQ0FBQztJQUM1QixRQUFRLENBQVM7SUFDbEIsbUJBQW1CLENBQXNCO0lBQ3pDLDBCQUEwQixDQUFvQztJQUM5RCxRQUFRLEdBQTBDLElBQUksR0FBRyxFQUFFLENBQUM7SUFFcEUsWUFDRSxJQUFZLEVBQ1osUUFBZ0IsRUFDaEIsTUFBYyxFQUNkLG1CQUF3QyxFQUN4QywwQkFBNkQ7UUFFN0QsSUFBSSxDQUFDLEVBQUUsR0FBRyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLG1CQUFtQixDQUFDO1FBQy9DLElBQUksQ0FBQywwQkFBMEIsR0FBRywwQkFBMEIsQ0FBQztJQUMvRCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUk7UUFDUixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFB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
@@ -1,16 +1,12 @@
1
- import { LoadUnit } from "@eggjs/tegg-metadata";
2
- import { LoadUnitInstance } from "@eggjs/tegg-runtime";
3
- import { Application } from "egg";
4
- import { Base } from "sdk-base";
5
-
6
- //#region src/lib/ControllerLoadUnitHandler.d.ts
7
- declare class ControllerLoadUnitHandler extends Base {
8
- private readonly app;
9
- controllerLoadUnit: LoadUnit;
10
- controllerLoadUnitInstance: LoadUnitInstance;
11
- constructor(app: Application);
12
- _init(): Promise<void>;
13
- destroy(): Promise<void>;
1
+ import { Base } from 'sdk-base';
2
+ import type { Application } from 'egg';
3
+ import { type LoadUnit } from '@eggjs/tegg-metadata';
4
+ import { type LoadUnitInstance } from '@eggjs/tegg-runtime';
5
+ export declare class ControllerLoadUnitHandler extends Base {
6
+ private readonly app;
7
+ controllerLoadUnit: LoadUnit;
8
+ controllerLoadUnitInstance: LoadUnitInstance;
9
+ constructor(app: Application);
10
+ _init(): Promise<void>;
11
+ destroy(): Promise<void>;
14
12
  }
15
- //#endregion
16
- export { ControllerLoadUnitHandler };
@@ -1,29 +1,29 @@
1
+ import path from 'node:path';
2
+ import { Base } from 'sdk-base';
3
+ import { EggLoadUnitType } from '@eggjs/tegg-metadata';
4
+ import {} from '@eggjs/tegg-runtime';
1
5
  import { CONTROLLER_LOAD_UNIT } from "./ControllerLoadUnit.js";
2
- import "@eggjs/tegg-metadata";
3
- import "@eggjs/tegg-runtime";
4
- import path from "node:path";
5
- import { Base } from "sdk-base";
6
-
7
- //#region src/lib/ControllerLoadUnitHandler.ts
8
- var ControllerLoadUnitHandler = class extends Base {
9
- app;
10
- controllerLoadUnit;
11
- controllerLoadUnitInstance;
12
- constructor(app) {
13
- super({ initMethod: "_init" });
14
- this.app = app;
15
- }
16
- async _init() {
17
- const controllerDir = path.join(this.app.config.baseDir, "app/controller");
18
- const loader = this.app.loaderFactory.createLoader(controllerDir, CONTROLLER_LOAD_UNIT);
19
- this.controllerLoadUnit = await this.app.loadUnitFactory.createLoadUnit(controllerDir, CONTROLLER_LOAD_UNIT, loader);
20
- this.controllerLoadUnitInstance = await this.app.loadUnitInstanceFactory.createLoadUnitInstance(this.controllerLoadUnit);
21
- }
22
- async destroy() {
23
- if (this.controllerLoadUnit) await this.app.loadUnitFactory.destroyLoadUnit(this.controllerLoadUnit);
24
- if (this.controllerLoadUnitInstance) await this.app.loadUnitInstanceFactory.destroyLoadUnitInstance(this.controllerLoadUnitInstance);
25
- }
26
- };
27
-
28
- //#endregion
29
- export { ControllerLoadUnitHandler };
6
+ export class ControllerLoadUnitHandler extends Base {
7
+ app;
8
+ controllerLoadUnit;
9
+ controllerLoadUnitInstance;
10
+ constructor(app) {
11
+ super({ initMethod: '_init' });
12
+ this.app = app;
13
+ }
14
+ async _init() {
15
+ const controllerDir = path.join(this.app.config.baseDir, 'app/controller');
16
+ const loader = this.app.loaderFactory.createLoader(controllerDir, CONTROLLER_LOAD_UNIT);
17
+ this.controllerLoadUnit = await this.app.loadUnitFactory.createLoadUnit(controllerDir, CONTROLLER_LOAD_UNIT, loader);
18
+ this.controllerLoadUnitInstance = await this.app.loadUnitInstanceFactory.createLoadUnitInstance(this.controllerLoadUnit);
19
+ }
20
+ async destroy() {
21
+ if (this.controllerLoadUnit) {
22
+ await this.app.loadUnitFactory.destroyLoadUnit(this.controllerLoadUnit);
23
+ }
24
+ if (this.controllerLoadUnitInstance) {
25
+ await this.app.loadUnitInstanceFactory.destroyLoadUnitInstance(this.controllerLoadUnitInstance);
26
+ }
27
+ }
28
+ }
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udHJvbGxlckxvYWRVbml0SGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvQ29udHJvbGxlckxvYWRVbml0SGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFFN0IsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVoQyxPQUFPLEVBQUUsZUFBZSxFQUFpQixNQUFNLHNCQUFzQixDQUFDO0FBQ3RFLE9BQU8sRUFBeUIsTUFBTSxxQkFBcUIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUvRCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsSUFBSTtJQUNoQyxHQUFHLENBQWM7SUFDbEMsa0JBQWtCLENBQVc7SUFDN0IsMEJBQTBCLENBQW1CO0lBRTdDLFlBQVksR0FBZ0I7UUFDMUIsS0FBSyxDQUFDLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1QsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUMzRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLG9CQUF1QyxDQUFDLENBQUM7UUFDM0csSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNySCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzNILENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDNUIsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7WUFDcEMsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQ2xHLENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==