@kanian77/choux 0.2.6 → 0.2.8

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 (65) hide show
  1. package/README.md +62 -16
  2. package/dist/core/ChouxFacade.d.ts +5 -5
  3. package/dist/core/ChouxFacade.d.ts.map +1 -1
  4. package/dist/core/ChouxFacade.js +4 -4
  5. package/dist/core/ChouxFacade.js.map +1 -1
  6. package/dist/core/HookRegistry.d.ts +5 -5
  7. package/dist/core/HookRegistry.d.ts.map +1 -1
  8. package/dist/core/HookRegistry.js +11 -11
  9. package/dist/core/HookRegistry.js.map +1 -1
  10. package/dist/core/HookRegistry.spec.js +21 -21
  11. package/dist/core/HookRegistry.spec.js.map +1 -1
  12. package/dist/core/PluginManager.d.ts +1 -0
  13. package/dist/core/PluginManager.d.ts.map +1 -1
  14. package/dist/core/PluginManager.js +12 -5
  15. package/dist/core/PluginManager.js.map +1 -1
  16. package/dist/core/RuntimePluginLoader.d.ts +9 -0
  17. package/dist/core/RuntimePluginLoader.d.ts.map +1 -0
  18. package/dist/core/RuntimePluginLoader.js +53 -0
  19. package/dist/core/RuntimePluginLoader.js.map +1 -0
  20. package/dist/core/index.d.ts +2 -0
  21. package/dist/core/index.d.ts.map +1 -1
  22. package/dist/core/index.js +2 -0
  23. package/dist/core/index.js.map +1 -1
  24. package/dist/decorators/index.d.ts +1 -0
  25. package/dist/decorators/index.d.ts.map +1 -1
  26. package/dist/decorators/index.js +1 -0
  27. package/dist/decorators/index.js.map +1 -1
  28. package/dist/lib/functions/addHookMetadata.d.ts.map +1 -1
  29. package/dist/lib/functions/addHookMetadata.js +1 -0
  30. package/dist/lib/functions/addHookMetadata.js.map +1 -1
  31. package/dist/lib/functions/index.d.ts +0 -1
  32. package/dist/lib/functions/index.d.ts.map +1 -1
  33. package/dist/lib/functions/index.js +0 -1
  34. package/dist/lib/functions/index.js.map +1 -1
  35. package/dist/lib/functions/registerHookHandler.d.ts +1 -1
  36. package/dist/lib/functions/registerHookHandler.d.ts.map +1 -1
  37. package/dist/lib/functions/registerHookHandler.js +2 -2
  38. package/dist/lib/functions/registerHookHandler.js.map +1 -1
  39. package/dist/lib/functions/registerInstanceHooks.d.ts.map +1 -1
  40. package/dist/lib/functions/registerInstanceHooks.js +2 -2
  41. package/dist/lib/functions/registerInstanceHooks.js.map +1 -1
  42. package/dist/lib/functions/registerRequestHookHandler.d.ts +1 -1
  43. package/dist/lib/functions/registerRequestHookHandler.d.ts.map +1 -1
  44. package/dist/lib/functions/registerRequestHookHandler.js +2 -2
  45. package/dist/lib/functions/registerRequestHookHandler.js.map +1 -1
  46. package/dist/lib/functions/registerStaticHooks.d.ts.map +1 -1
  47. package/dist/lib/functions/registerStaticHooks.js +2 -2
  48. package/dist/lib/functions/registerStaticHooks.js.map +1 -1
  49. package/dist/lib/test-related/plugins/plugin-a/module.d.ts.map +1 -1
  50. package/dist/lib/test-related/plugins/plugin-a/module.js +1 -1
  51. package/dist/lib/test-related/plugins/plugin-a/module.js.map +1 -1
  52. package/dist/lib/test-related/plugins/plugin-b/module.d.ts.map +1 -1
  53. package/dist/lib/test-related/plugins/plugin-b/module.js +1 -1
  54. package/dist/lib/test-related/plugins/plugin-b/module.js.map +1 -1
  55. package/dist/lib/types/IHookMetadata.d.ts +1 -0
  56. package/dist/lib/types/IHookMetadata.d.ts.map +1 -1
  57. package/dist/lib/types/IHookRegistry.d.ts +14 -6
  58. package/dist/lib/types/IHookRegistry.d.ts.map +1 -1
  59. package/dist/lib/types/PluginModule.d.ts +1 -1
  60. package/dist/lib/types/PluginModule.d.ts.map +1 -1
  61. package/package.json +3 -2
  62. package/dist/lib/functions/registerHooksForInstance.d.ts +0 -2
  63. package/dist/lib/functions/registerHooksForInstance.d.ts.map +0 -1
  64. package/dist/lib/functions/registerHooksForInstance.js +0 -22
  65. package/dist/lib/functions/registerHooksForInstance.js.map +0 -1
package/README.md CHANGED
@@ -17,23 +17,37 @@ Plugins are implemented as `PluginModule` classes, which extend the base `Module
17
17
  ### Plugin Loading & Management
18
18
 
19
19
  - **PluginManager (`src/core/PluginManager.ts`)**: Manages the initialization, lifecycle, and shutdown of plugins. It provides methods to load individual plugins, get loaded plugin instances, and properly shutdown plugins.
20
- - **ChouxModule (`src/core/ChouxModule.ts`)**: The main entry point module that provides the core services (PluginManager and HookRegistry). Must be imported and bootstrapped in your application.
20
+ - **ChouxFacade (`src/core/ChouxFacade.ts`)**: A unified facade that combines PluginManager and HookRegistry functionality. This is the recommended way to interact with Choux as it provides a single interface for all plugin and hook operations.
21
+ - **ChouxModule (`src/core/ChouxModule.ts`)**: The main entry point module that provides the core services (PluginManager, HookRegistry, and ChouxFacade). Must be imported and bootstrapped in your application.
21
22
 
22
23
  ### Dependency Injection
23
24
 
24
- All plugins and core services use the DI system from `@kanian77/tject`. Tokens (see `src/core/tokens.ts`) are used to register and inject services, including plugin services and the hook registry.
25
+ All plugins and core services use the DI system from `@kanian77/tject`. Tokens (see `src/lib/types/tokens.ts`) are used to register and inject services. Core tokens are defined as Symbols:
26
+
27
+ - `PLUGIN_MANAGER_TOKEN`: For accessing the PluginManager
28
+ - `HOOK_REGISTRY_TOKEN`: For accessing the HookRegistry
29
+ - `CHOUX_FACADE_TOKEN`: For accessing the ChouxFacade (recommended)
25
30
 
26
31
  ### Hooks & Events
27
32
 
28
33
  - **HookRegistry (`src/core/HookRegistry.ts`)**: Central registry for registering, triggering, and managing hooks/events. Plugins can register handlers for lifecycle or custom hooks, and trigger hooks to communicate with other plugins.
29
- - **Lifecycle Hooks**: Standard hooks for plugin load/init/destroy and application start/shutdown (see `LIFECYCLE_HOOKS`).
34
+ - **Lifecycle Hooks**: Standard hooks for plugin load/init/destroy and application start/shutdown. Access them via the `LIFECYCLE_HOOKS` constant:
35
+ - `APPLICATION_START`: 'core:application-start'
36
+ - `BEFORE_PLUGIN_LOAD`: 'core:before-plugin-load'
37
+ - `AFTER_PLUGIN_LOAD`: 'core:after-plugin-load'
38
+ - `BEFORE_PLUGIN_INIT`: 'core:before-plugin-init'
39
+ - `AFTER_PLUGIN_INIT`: 'core:after-plugin-init'
40
+ - `BEFORE_PLUGIN_DESTROY`: 'core:before-plugin-destroy'
41
+ - `AFTER_PLUGIN_DESTROY`: 'core:after-plugin-destroy'
42
+ - `APPLICATION_SHUTDOWN`: 'core:application-shutdown'
30
43
  - **Custom Hooks**: Plugins can define and trigger their own hooks for extensibility.
31
44
 
32
45
  ### Decorators & Utilities
33
46
 
34
- - **Hook Decorators**: Two decorators work together to enable hook functionality:
47
+ - **Hook Decorators**: Three decorators work together to enable hook functionality:
35
48
  - `@EnableHooks`: Class-level decorator that must be applied to any class using hook decorators
36
- - `@Hook(hookName)`: Method decorator for registering hook handlers in classes
49
+ - `@Hook(hookName)`: Method decorator for registering standard hook handlers in classes
50
+ - `@RequestHook(hookName)`: Method decorator for registering request hooks that return values (only one handler per hook)
37
51
  - **Function Utilities (`src/lib/functions/`)**: Helper functions for hook registration and plugin management.
38
52
  - **Types (`src/lib/types/`)**: Shared interfaces and type definitions for plugins, hook registry, plugin manager, and metadata.
39
53
 
@@ -46,18 +60,22 @@ To use Choux in your application:
46
60
  1. Import and bootstrap the ChouxModule:
47
61
 
48
62
  ```typescript
49
- import { bootstrap } from '@kanian77/tject';
50
- import { ChouxModule } from '@choux/core';
63
+ import { bootstrap, inject } from '@kanian77/tject';
64
+ import {
65
+ ChouxModule,
66
+ CHOUX_FACADE_TOKEN,
67
+ type IChouxFacade,
68
+ } from '@kanian77/choux';
51
69
  import { YourPluginModule } from './plugins/your-plugin/module';
52
70
 
53
71
  // Bootstrap the core module
54
72
  bootstrap(ChouxModule);
55
73
 
56
- // Get plugin manager
57
- const pluginManager = inject<PluginManager>(PLUGIN_MANAGER_TOKEN);
74
+ // Get the Choux facade (recommended approach)
75
+ const choux = inject<IChouxFacade>(CHOUX_FACADE_TOKEN);
58
76
 
59
77
  // Initialize your plugins
60
- await pluginManager.initializePlugins([YourPluginModule]);
78
+ await choux.initializePlugins([YourPluginModule]);
61
79
  ```
62
80
 
63
81
  ### Creating a Plugin
@@ -65,10 +83,12 @@ await pluginManager.initializePlugins([YourPluginModule]);
65
83
  Create a new plugin by extending the Plugin class and defining it as a PluginModule:
66
84
 
67
85
  ```typescript
68
- import { Plugin, PluginModule, EnableHook, Hook } from '@kanian77/choux';
86
+ import { Plugin, PluginModule, EnableHooks, Hook } from '@kanian77/choux';
69
87
  import { Service } from '@kanian77/tject';
70
88
 
71
- export const YOUR_PLUGIN_TOKEN = 'YOUR_PLUGIN_TOKEN';
89
+ // Define a unique symbol token for your plugin
90
+ export const YOUR_PLUGIN_TOKEN = Symbol('YOUR_PLUGIN');
91
+
72
92
  @Service({ token: YOUR_PLUGIN_TOKEN })
73
93
  @EnableHooks
74
94
  class YourPlugin extends Plugin {
@@ -89,7 +109,6 @@ class YourPlugin extends Plugin {
89
109
  }
90
110
  }
91
111
 
92
- // Enable hook processing for the class
93
112
  export const YourPluginModule = new PluginModule({
94
113
  token: YOUR_PLUGIN_TOKEN,
95
114
  providers: [
@@ -115,12 +134,39 @@ const yourService = inject<IYourService>(YOUR_SERVICE_TOKEN);
115
134
  yourService.doSomething();
116
135
  ```
117
136
 
137
+ ### Using the ChouxFacade
138
+
139
+ The `ChouxFacade` provides a unified interface for both plugin management and hook operations:
140
+
141
+ ```typescript
142
+ import { inject } from '@kanian77/tject';
143
+ import { CHOUX_FACADE_TOKEN, type ChouxFacade } from '@kanian77/choux';
144
+
145
+ const choux = inject<ChouxFacade>(CHOUX_FACADE_TOKEN);
146
+
147
+ // Plugin management
148
+ await choux.initializePlugins([PluginModule1, PluginModule2]);
149
+ const loadedPlugin = choux.getPlugin('plugin-name'); // Returns { plugin: PluginInstance, metadata: PluginMetadata }
150
+ const allPlugins = choux.getAllPlugins();
151
+ await choux.shutdown();
152
+
153
+ // Hook operations - trigger events
154
+ await choux.trigger('custom:event', eventData);
155
+
156
+ // Hook operations - request values
157
+ const config = await choux.request<ConfigType>('config:get');
158
+
159
+ // Register hooks programmatically
160
+ choux.register('custom:event', target, handlerFunction);
161
+ choux.registerRequest('custom:query', target, queryFunction);
162
+ ```
163
+
118
164
  ## Directory Overview
119
165
 
120
- - `src/core/`: Core plugin system (Plugin, PluginManager, HookRegistry, tokens, ChouxModule)
121
- - `src/decorators/`: Hook decorator and registration utilities
166
+ - `src/core/`: Core plugin system (Plugin, PluginManager, HookRegistry, ChouxFacade, ChouxModule)
167
+ - `src/decorators/`: Hook decorators (@EnableHooks, @Hook, @RequestHook) and registration utilities
122
168
  - `src/lib/functions/`: Helper functions for hooks and plugins
123
- - `src/lib/types/`: Shared type definitions
169
+ - `src/lib/types/`: Shared type definitions and tokens
124
170
 
125
171
  ## License
126
172
 
@@ -1,4 +1,4 @@
1
- import { HookFn, LoadedPlugin, PluginModule, RequestHookFn } from '../lib/types';
1
+ import { HookFn, HookMapEntry, LoadedPlugin, PluginModule, RequestHookFn, RequestHookMapEntry } from '../lib/types';
2
2
  import { IChouxFacade } from './IChouxFacade';
3
3
  export declare class ChouxFacade implements IChouxFacade {
4
4
  private readonly pluginManager;
@@ -8,14 +8,14 @@ export declare class ChouxFacade implements IChouxFacade {
8
8
  shutdown(): Promise<void>;
9
9
  getPlugin(name: string): LoadedPlugin | undefined;
10
10
  getAllPlugins(): LoadedPlugin[];
11
- register(name: string, fn: HookFn): void;
11
+ register(name: string, target: any, fn: HookFn): void;
12
12
  trigger(name: string, ...args: any[]): Promise<void>;
13
13
  request<T = any>(name: string, ...args: any[]): Promise<T | undefined>;
14
- registerRequest(name: string, fn: RequestHookFn): void;
14
+ registerRequest(name: string, target: any, fn: RequestHookFn): void;
15
15
  unregister(name: string, fn?: HookFn): void;
16
16
  unregisterRequest(name: string): void;
17
- getHooks(name: string): HookFn[];
18
- getRequestHook(name: string): RequestHookFn | undefined;
17
+ getHooks(name: string): HookMapEntry[];
18
+ getRequestHook(name: string): RequestHookMapEntry | undefined;
19
19
  clear(): void;
20
20
  }
21
21
  //# sourceMappingURL=ChouxFacade.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChouxFacade.d.ts","sourceRoot":"","sources":["../../src/core/ChouxFacade.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,MAAM,EAGN,YAAY,EAEZ,YAAY,EACZ,aAAa,EACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qBACa,WAAY,YAAW,YAAY;IAE9C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkB;IAEhD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiB;IAGxC,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAInE,iBAAiB,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIjD,aAAa,IAAI,YAAY,EAAE;IAK/B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAIlC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI5E,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,GAAG,IAAI;IAItD,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAI3C,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIrC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAIhC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIvD,KAAK,IAAI,IAAI;CAGd"}
1
+ {"version":3,"file":"ChouxFacade.d.ts","sourceRoot":"","sources":["../../src/core/ChouxFacade.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,MAAM,EACN,YAAY,EAGZ,YAAY,EAEZ,YAAY,EACZ,aAAa,EACb,mBAAmB,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qBACa,WAAY,YAAW,YAAY;IAE9C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkB;IAEhD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiB;IAGxC,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAInE,iBAAiB,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIjD,aAAa,IAAI,YAAY,EAAE;IAK/B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAI/C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI5E,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,aAAa,GAAG,IAAI;IAInE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAI3C,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIrC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE;IAItC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAI7D,KAAK,IAAI,IAAI;CAGd"}
@@ -82,8 +82,8 @@ let ChouxFacade = (() => {
82
82
  return this.pluginManager.getAllPlugins();
83
83
  }
84
84
  // IHookRegistry methods
85
- register(name, fn) {
86
- return this.hookRegistry.register(name, fn);
85
+ register(name, target, fn) {
86
+ return this.hookRegistry.register(name, target, fn);
87
87
  }
88
88
  trigger(name, ...args) {
89
89
  return __awaiter(this, void 0, void 0, function* () {
@@ -95,8 +95,8 @@ let ChouxFacade = (() => {
95
95
  return yield this.hookRegistry.request(name, ...args);
96
96
  });
97
97
  }
98
- registerRequest(name, fn) {
99
- this.hookRegistry.registerRequest(name, fn);
98
+ registerRequest(name, target, fn) {
99
+ this.hookRegistry.registerRequest(name, target, fn);
100
100
  }
101
101
  unregister(name, fn) {
102
102
  return this.hookRegistry.unregister(name, fn);
@@ -1 +1 @@
1
- {"version":3,"file":"ChouxFacade.js","sourceRoot":"","sources":["../../src/core/ChouxFacade.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EAKnB,oBAAoB,GAGrB,MAAM,cAAc,CAAC;IAIT,WAAW;4BADvB,OAAO,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;;;;;;;;;;;QAO7D,yBAAyB;QACnB,gBAAgB,CAAC,YAA0B;;gBAC/C,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YACjE,CAAC;SAAA;QAEK,iBAAiB,CAAC,aAA6B;;gBACnD,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;YACnE,CAAC;SAAA;QAEK,QAAQ;;gBACZ,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC7C,CAAC;SAAA;QAED,SAAS,CAAC,IAAY;YACpB,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAED,aAAa;YACX,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;QAC5C,CAAC;QAED,wBAAwB;QACxB,QAAQ,CAAC,IAAY,EAAE,EAAU;YAC/B,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC;QAEK,OAAO,CAAC,IAAY,EAAE,GAAG,IAAW;;gBACxC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;YACxD,CAAC;SAAA;QAEK,OAAO,CAAU,IAAY,EAAE,GAAG,IAAW;;gBACjD,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAI,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;YAC3D,CAAC;SAAA;QAED,eAAe,CAAC,IAAY,EAAE,EAAiB;YAC7C,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,UAAU,CAAC,IAAY,EAAE,EAAW;YAClC,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,iBAAiB,CAAC,IAAY;YAC5B,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAED,QAAQ,CAAC,IAAY;YACnB,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAED,cAAc,CAAC,IAAY;YACzB,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC;QAED,KAAK;YACH,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QACnC,CAAC;;YA5DgB;;;;;eAA+B;YAE/B;;;;;eAA6B;;;;;;;qCAH7C,MAAM,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;oCAEvC,MAAM,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;QADvC,yLAAiB,aAAa,6BAAb,aAAa,qGAAkB;QAEhD,sLAAiB,YAAY,6BAAZ,YAAY,mGAAiB;QAJhD,6KA+DC;;;QA/DY,uDAAW;;;;SAAX,WAAW"}
1
+ {"version":3,"file":"ChouxFacade.js","sourceRoot":"","sources":["../../src/core/ChouxFacade.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EAMnB,oBAAoB,GAIrB,MAAM,cAAc,CAAC;IAIT,WAAW;4BADvB,OAAO,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;;;;;;;;;;;QAO7D,yBAAyB;QACnB,gBAAgB,CAAC,YAA0B;;gBAC/C,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YACjE,CAAC;SAAA;QAEK,iBAAiB,CAAC,aAA6B;;gBACnD,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;YACnE,CAAC;SAAA;QAEK,QAAQ;;gBACZ,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC7C,CAAC;SAAA;QAED,SAAS,CAAC,IAAY;YACpB,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAED,aAAa;YACX,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;QAC5C,CAAC;QAED,wBAAwB;QACxB,QAAQ,CAAC,IAAY,EAAE,MAAW,EAAE,EAAU;YAC5C,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC;QAEK,OAAO,CAAC,IAAY,EAAE,GAAG,IAAW;;gBACxC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;YACxD,CAAC;SAAA;QAEK,OAAO,CAAU,IAAY,EAAE,GAAG,IAAW;;gBACjD,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAI,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;YAC3D,CAAC;SAAA;QAED,eAAe,CAAC,IAAY,EAAE,MAAW,EAAE,EAAiB;YAC1D,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,UAAU,CAAC,IAAY,EAAE,EAAW;YAClC,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,iBAAiB,CAAC,IAAY;YAC5B,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAED,QAAQ,CAAC,IAAY;YACnB,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAED,cAAc,CAAC,IAAY;YACzB,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC;QAED,KAAK;YACH,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QACnC,CAAC;;YA5DgB;;;;;eAA+B;YAE/B;;;;;eAA6B;;;;;;;qCAH7C,MAAM,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;oCAEvC,MAAM,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;QADvC,yLAAiB,aAAa,6BAAb,aAAa,qGAAkB;QAEhD,sLAAiB,YAAY,6BAAZ,YAAY,mGAAiB;QAJhD,6KA+DC;;;QA/DY,uDAAW;;;;SAAX,WAAW"}
@@ -1,4 +1,4 @@
1
- import type { HookFn, IHookRegistry, RequestHookFn } from '../lib/types';
1
+ import type { HookFn, HookMapEntry, IHookRegistry, RequestHookFn, RequestHookMapEntry } from '../lib/types';
2
2
  /**
3
3
  * Registry for application hooks.
4
4
  */
@@ -10,13 +10,13 @@ export declare class HookRegistry implements IHookRegistry {
10
10
  * @param name The name of the hook to register the function for.
11
11
  * @param fn The hook handler function.
12
12
  */
13
- register(name: string, fn: HookFn): void;
13
+ register(name: string, target: any, fn: HookFn): void;
14
14
  /**
15
15
  * Register a hook handler.
16
16
  * @param name The name of the hook to register the function for.
17
17
  * @param fn The hook handler function.
18
18
  */
19
- registerRequest(name: string, fn: RequestHookFn): void;
19
+ registerRequest(name: string, target: any, fn: RequestHookFn): void;
20
20
  /**
21
21
  * Trigger a hook, calling all registered handlers.
22
22
  * @param name The name of the hook to trigger.
@@ -48,13 +48,13 @@ export declare class HookRegistry implements IHookRegistry {
48
48
  * @param name The name of the hook to retrieve handlers for.
49
49
  * @returns An array of hook handler functions.
50
50
  */
51
- getHooks(name: string): HookFn[];
51
+ getHooks(name: string): HookMapEntry[];
52
52
  /**
53
53
  * Get registered request handler for a specific request hook.
54
54
  * @param name The name of the hook to retrieve a handler for.
55
55
  * @returns A hook handler function or undefined.
56
56
  */
57
- getRequestHook(name: string): RequestHookFn | undefined;
57
+ getRequestHook(name: string): RequestHookMapEntry | undefined;
58
58
  /**
59
59
  * Clear all registered hooks.
60
60
  */
@@ -1 +1 @@
1
- {"version":3,"file":"HookRegistry.d.ts","sourceRoot":"","sources":["../../src/core/HookRegistry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,MAAM,EAEN,aAAa,EACb,aAAa,EAEd,MAAM,cAAc,CAAC;AAEtB;;GAEG;AACH,qBACa,YAAa,YAAW,aAAa;IAChD,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,YAAY,CAA6B;IAEjD;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAKxC;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,GAAG,IAAI;IAQtD;;;;OAIG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1D;;;;OAIG;IACU,OAAO,CAAC,CAAC,GAAG,GAAG,EAC1B,IAAI,EAAE,MAAM,EACZ,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAkBzB;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAW3C;;;;;OAKG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIrC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAIhC;;;;OAIG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIvD;;OAEG;IACH,KAAK,IAAI,IAAI;CAId;AAGD,eAAO,MAAM,eAAe;;;;;;;;;CASlB,CAAC"}
1
+ {"version":3,"file":"HookRegistry.d.ts","sourceRoot":"","sources":["../../src/core/HookRegistry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,MAAM,EAEN,YAAY,EACZ,aAAa,EACb,aAAa,EAEb,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAEtB;;GAEG;AACH,qBACa,YAAa,YAAW,aAAa;IAChD,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,YAAY,CAA6B;IAEjD;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAKrD;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,aAAa,GAAG,IAAI;IAQnE;;;;OAIG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1D;;;;OAIG;IACU,OAAO,CAAC,CAAC,GAAG,GAAG,EAC1B,IAAI,EAAE,MAAM,EACZ,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAmBzB;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAW3C;;;;;OAKG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIrC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE;IAItC;;;;OAIG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAI7D;;OAEG;IACH,KAAK,IAAI,IAAI;CAId;AAGD,eAAO,MAAM,eAAe;;;;;;;;;CASlB,CAAC"}
@@ -75,21 +75,21 @@ let HookRegistry = (() => {
75
75
  * @param name The name of the hook to register the function for.
76
76
  * @param fn The hook handler function.
77
77
  */
78
- register(name, fn) {
78
+ register(name, target, fn) {
79
79
  const list = this.hooks.get(name) || [];
80
- this.hooks.set(name, [...list, fn]);
80
+ this.hooks.set(name, [...list, { target, fn }]);
81
81
  }
82
82
  /**
83
83
  * Register a hook handler.
84
84
  * @param name The name of the hook to register the function for.
85
85
  * @param fn The hook handler function.
86
86
  */
87
- registerRequest(name, fn) {
87
+ registerRequest(name, target, fn) {
88
88
  const handler = this.requestHooks.get(name) || undefined;
89
89
  if (this.requestHooks.has(name)) {
90
90
  console.warn('You are possibly overwritting a request hook.');
91
91
  }
92
- this.requestHooks.set(name, fn);
92
+ this.requestHooks.set(name, { target, fn });
93
93
  }
94
94
  /**
95
95
  * Trigger a hook, calling all registered handlers.
@@ -98,9 +98,9 @@ let HookRegistry = (() => {
98
98
  */
99
99
  trigger(name, ...args) {
100
100
  return __awaiter(this, void 0, void 0, function* () {
101
- const fns = this.hooks.get(name) || [];
102
- for (const fn of fns) {
103
- yield fn(...args);
101
+ const entries = this.hooks.get(name) || [];
102
+ for (const entry of entries) {
103
+ yield entry.fn.call(entry.target, ...args);
104
104
  }
105
105
  });
106
106
  }
@@ -111,14 +111,14 @@ let HookRegistry = (() => {
111
111
  */
112
112
  request(name, ...args) {
113
113
  return __awaiter(this, void 0, void 0, function* () {
114
- const handler = this.getRequestHook(name);
115
- if (!handler) {
114
+ const entry = this.getRequestHook(name);
115
+ if (!entry) {
116
116
  console.warn(`No handler registered for requested hook: ${name}`);
117
117
  return undefined;
118
118
  }
119
119
  // Execute the first handler and return its value
120
120
  try {
121
- const result = yield handler(...args);
121
+ const result = yield entry.fn.call(entry.target, ...args);
122
122
  return result;
123
123
  }
124
124
  catch (error) {
@@ -139,7 +139,7 @@ let HookRegistry = (() => {
139
139
  return;
140
140
  }
141
141
  const list = this.hooks.get(name) || [];
142
- const filtered = list.filter((registeredFn) => registeredFn !== fn);
142
+ const filtered = list.filter((entry) => entry.fn !== fn);
143
143
  this.hooks.set(name, filtered);
144
144
  }
145
145
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"HookRegistry.js","sourceRoot":"","sources":["../../src/core/HookRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HookRegistry.js","sourceRoot":"","sources":["../../src/core/HookRegistry.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ describe('HookRegistry', () => {
19
19
  const fn = () => {
20
20
  called = true;
21
21
  };
22
- registry.register('test:hook', fn);
22
+ registry.register('test:hook', {}, fn);
23
23
  yield registry.trigger('test:hook');
24
24
  expect(called).toBe(true);
25
25
  }));
@@ -30,7 +30,7 @@ describe('HookRegistry', () => {
30
30
  called = true;
31
31
  expect(payload).toEqual({ test: 'data' });
32
32
  };
33
- registry.register('test:hook', fn);
33
+ registry.register('test:hook', {}, fn);
34
34
  yield registry.trigger('test:hook', payload);
35
35
  expect(called).toBe(true);
36
36
  }));
@@ -39,7 +39,7 @@ describe('HookRegistry', () => {
39
39
  const fn = () => {
40
40
  called = true;
41
41
  };
42
- registry.register('test:hook', fn);
42
+ registry.register('test:hook', {}, fn);
43
43
  registry.unregister('test:hook', fn);
44
44
  yield registry.trigger('test:hook');
45
45
  expect(called).toBe(false);
@@ -49,7 +49,7 @@ describe('HookRegistry', () => {
49
49
  const fn = () => {
50
50
  called = true;
51
51
  };
52
- registry.register('test:hook', fn);
52
+ registry.register('test:hook', {}, fn);
53
53
  registry.unregister('test:hook');
54
54
  yield registry.trigger('test:hook');
55
55
  expect(called).toBe(false);
@@ -57,16 +57,16 @@ describe('HookRegistry', () => {
57
57
  it('getHooks returns all registered handlers', () => {
58
58
  const fn1 = () => { };
59
59
  const fn2 = () => { };
60
- registry.register('test:hook', fn1);
61
- registry.register('test:hook', fn2);
60
+ registry.register('test:hook', {}, fn1);
61
+ registry.register('test:hook', {}, fn2);
62
62
  const hooks = registry.getHooks('test:hook');
63
63
  expect(hooks.length).toBe(2);
64
- expect(hooks).toContain(fn1);
65
- expect(hooks).toContain(fn2);
64
+ expect(hooks.map((hook) => hook.fn)).toContain(fn1);
65
+ expect(hooks.map((hook) => hook.fn)).toContain(fn2);
66
66
  });
67
67
  it('clear removes all hooks', () => {
68
68
  const fn = () => { };
69
- registry.register('test:hook', fn);
69
+ registry.register('test:hook', {}, fn);
70
70
  registry.clear();
71
71
  expect(registry.getHooks('test:hook').length).toBe(0);
72
72
  });
@@ -78,8 +78,8 @@ describe('HookRegistry', () => {
78
78
  const fn2 = () => __awaiter(void 0, void 0, void 0, function* () {
79
79
  result += 'b';
80
80
  });
81
- registry.register('test:hook', fn1);
82
- registry.register('test:hook', fn2);
81
+ registry.register('test:hook', {}, fn1);
82
+ registry.register('test:hook', {}, fn2);
83
83
  yield registry.trigger('test:hook');
84
84
  expect(result).toBe('ab');
85
85
  }));
@@ -87,7 +87,7 @@ describe('HookRegistry', () => {
87
87
  describe('HookRegistry - Request/Response', () => {
88
88
  it('registers and executes a request hook', () => __awaiter(void 0, void 0, void 0, function* () {
89
89
  const fn = () => 'test data';
90
- registry.registerRequest('req:hook', fn);
90
+ registry.registerRequest('req:hook', {}, fn);
91
91
  const result = yield registry.request('req:hook', 'testProvider');
92
92
  expect(result).toBe('test data');
93
93
  }));
@@ -97,19 +97,19 @@ describe('HookRegistry', () => {
97
97
  expect(p).toEqual(payload);
98
98
  return 'got payload';
99
99
  };
100
- registry.registerRequest('req:hook', fn);
100
+ registry.registerRequest('req:hook', {}, fn);
101
101
  const result = yield registry.request('req:hook', payload);
102
102
  expect(result).toBe('got payload');
103
103
  }));
104
104
  it('returns undefined if hook name does not match', () => __awaiter(void 0, void 0, void 0, function* () {
105
105
  const fn = () => 'test data';
106
- registry.registerRequest('req:hook', fn);
106
+ registry.registerRequest('req:hook', {}, fn);
107
107
  const result = yield registry.request('req:wrong-hook', 'testProvider');
108
108
  expect(result).toBeUndefined();
109
109
  }));
110
110
  it('unregisters a specific request handler', () => __awaiter(void 0, void 0, void 0, function* () {
111
111
  const fn = () => 'test data';
112
- registry.registerRequest('req:hook', fn);
112
+ registry.registerRequest('req:hook', {}, fn);
113
113
  // Ensure it's there
114
114
  const result1 = yield registry.request('req:hook', 'testProvider');
115
115
  expect(result1).toBe('test data');
@@ -121,8 +121,8 @@ describe('HookRegistry', () => {
121
121
  it('unregisters all request handlers for a hook name if no fn provided', () => __awaiter(void 0, void 0, void 0, function* () {
122
122
  const fn1 = () => 'data 1';
123
123
  const fn2 = () => 'data 2';
124
- registry.registerRequest('req:hook', fn1);
125
- registry.registerRequest('req:hook', fn2);
124
+ registry.registerRequest('req:hook', {}, fn1);
125
+ registry.registerRequest('req:hook', {}, fn2);
126
126
  // Unregister all for 'req:hook'
127
127
  registry.unregisterRequest('req:hook');
128
128
  const result1 = yield registry.request('req:hook');
@@ -132,9 +132,9 @@ describe('HookRegistry', () => {
132
132
  }));
133
133
  it('getRequestHook returns the correct handler', () => {
134
134
  const fn = () => { };
135
- registry.registerRequest('req:hook', fn);
135
+ registry.registerRequest('req:hook', {}, fn);
136
136
  const hook = registry.getRequestHook('req:hook');
137
- expect(hook).toBe(fn);
137
+ expect(hook === null || hook === void 0 ? void 0 : hook.fn).toBe(fn);
138
138
  });
139
139
  });
140
140
  // --- Updated Clear Test ---
@@ -142,8 +142,8 @@ describe('HookRegistry', () => {
142
142
  // Register one of each
143
143
  const fn = () => { };
144
144
  const reqFn = () => { };
145
- registry.register('test:hook', fn);
146
- registry.registerRequest('req:hook', reqFn);
145
+ registry.register('test:hook', {}, fn);
146
+ registry.registerRequest('req:hook', {}, reqFn);
147
147
  // Clear all
148
148
  registry.clear();
149
149
  // Check both are gone
@@ -1 +1 @@
1
- {"version":3,"file":"HookRegistry.spec.js","sourceRoot":"","sources":["../../src/core/HookRegistry.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HookRegistry.spec.js","sourceRoot":"","sources":["../../src/core/HookRegistry.spec.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export declare class PluginManager implements IPluginManager {
7
7
  initializePlugin(pluginModule: PluginModule): Promise<LoadedPlugin>;
8
8
  initializePlugins(pluginModules: PluginModule[]): Promise<void>;
9
9
  loadPluginModule(pluginModule: PluginModule): Promise<LoadedPlugin>;
10
+ loadRuntimePlugin(pluginModule: PluginModule): Promise<void>;
10
11
  private initializeLoadedPlugin;
11
12
  shutdown(): Promise<void>;
12
13
  unloadPlugin(pluginName: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"PluginManager.d.ts","sourceRoot":"","sources":["../../src/core/PluginManager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAKzD,qBACa,aAAc,YAAW,cAAc;IAElD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,aAAa,CAAwC;;IAIvD,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAOnE,iBAAiB,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAa/D,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;YA8B3D,sBAAsB;IAY9B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAazB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBrD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIjD,aAAa,IAAI,YAAY,EAAE;IAI/B,IAAI,YAAY,IAAI,aAAa,CAEhC;CACF"}
1
+ {"version":3,"file":"PluginManager.d.ts","sourceRoot":"","sources":["../../src/core/PluginManager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAMzD,qBACa,aAAc,YAAW,cAAc;IAElD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,aAAa,CAAwC;;IAIvD,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAOnE,iBAAiB,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAa/D,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAsCnE,iBAAiB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;YAYpD,sBAAsB;IAmB9B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAazB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBrD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIjD,aAAa,IAAI,YAAY,EAAE;IAI/B,IAAI,YAAY,IAAI,aAAa,CAEhC;CACF"}
@@ -91,9 +91,9 @@ let PluginManager = (() => {
91
91
  }
92
92
  loadPluginModule(pluginModule) {
93
93
  return __awaiter(this, void 0, void 0, function* () {
94
- const hookRegistry = inject(HOOK_REGISTRY_TOKEN);
94
+ const hookRegistry = inject(HOOK_REGISTRY_TOKEN, true, pluginModule.scope);
95
95
  bootstrap(pluginModule);
96
- const pluginInstance = inject(pluginModule.token);
96
+ const pluginInstance = inject(pluginModule.token, true, pluginModule.scope);
97
97
  yield hookRegistry.trigger(LIFECYCLE_HOOKS.BEFORE_PLUGIN_LOAD, pluginInstance.metadata);
98
98
  if (!pluginInstance.metadata) {
99
99
  throw new Error(`Plugin ${pluginInstance} must have metadata property`);
@@ -108,13 +108,20 @@ let PluginManager = (() => {
108
108
  };
109
109
  this.loadedPlugins.set(pluginInstance.metadata.name, loadedPlugin);
110
110
  yield hookRegistry.trigger(LIFECYCLE_HOOKS.AFTER_PLUGIN_LOAD, loadedPlugin);
111
- yield this.initializeLoadedPlugin(loadedPlugin);
111
+ yield this.initializeLoadedPlugin(loadedPlugin, pluginModule.scope);
112
112
  return loadedPlugin;
113
113
  });
114
114
  }
115
- initializeLoadedPlugin(loaded) {
115
+ loadRuntimePlugin(pluginModule) {
116
116
  return __awaiter(this, void 0, void 0, function* () {
117
- const hookRegistry = inject(HOOK_REGISTRY_TOKEN);
117
+ console.log(`[PluginManager] Hot-loading plugin: ${pluginModule.token.toString()}`);
118
+ const loadedPlugin = yield this.loadPluginModule(pluginModule);
119
+ console.log(`[PluginManager] Successfully hot-loaded: ${loadedPlugin.metadata.name}`);
120
+ });
121
+ }
122
+ initializeLoadedPlugin(loaded, scope) {
123
+ return __awaiter(this, void 0, void 0, function* () {
124
+ const hookRegistry = inject(HOOK_REGISTRY_TOKEN, true, scope);
118
125
  yield hookRegistry.trigger(LIFECYCLE_HOOKS.BEFORE_PLUGIN_INIT, loaded);
119
126
  // Call plugin's onInit lifecycle method
120
127
  if (loaded.plugin.onInit) {
@@ -1 +1 @@
1
- {"version":3,"file":"PluginManager.js","sourceRoot":"","sources":["../../src/core/PluginManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PluginManager.js","sourceRoot":"","sources":["../../src/core/PluginManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { PluginModule } from '../lib/types/PluginModule';
2
+ export declare class RuntimePluginLoader {
3
+ /**
4
+ * Attempts to load a plugin from an arbitrary file system path.
5
+ * @param absolutePath The full path to the plugin folder
6
+ */
7
+ loadFromPath(absolutePath: string): Promise<PluginModule>;
8
+ }
9
+ //# sourceMappingURL=RuntimePluginLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuntimePluginLoader.d.ts","sourceRoot":"","sources":["../../src/core/RuntimePluginLoader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,qBAAa,mBAAmB;IAC9B;;;OAGG;IACG,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CA2ChE"}
@@ -0,0 +1,53 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import fs from 'node:fs/promises';
11
+ import path from 'node:path';
12
+ import { PluginModule } from '../lib/types/PluginModule';
13
+ export class RuntimePluginLoader {
14
+ /**
15
+ * Attempts to load a plugin from an arbitrary file system path.
16
+ * @param absolutePath The full path to the plugin folder
17
+ */
18
+ loadFromPath(absolutePath) {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ // 1. Validate the path exists
21
+ try {
22
+ yield fs.access(absolutePath);
23
+ }
24
+ catch (_a) {
25
+ throw new Error(`Plugin path does not exist: ${absolutePath}`);
26
+ }
27
+ // 2. Resolve entry point based on environment
28
+ let entryPointName = 'index.js';
29
+ if (process.env.ENV === 'dev') {
30
+ entryPointName = 'index.ts';
31
+ }
32
+ const entryPoint = path.join(absolutePath, entryPointName);
33
+ try {
34
+ yield fs.access(entryPoint);
35
+ }
36
+ catch (_b) {
37
+ throw new Error(`Could not find ${entryPointName} in ${absolutePath}. (Env: ${process.env.ENV})`);
38
+ }
39
+ // 3. Dynamic Import
40
+ // We use dynamic import which handles both CJS and ESM
41
+ console.log(`[RuntimeLoader] Importing plugin from: ${entryPoint}`);
42
+ const rawModule = yield import(entryPoint);
43
+ // 4. Extract PluginModule
44
+ // Support both default export and named export 'module' or 'PluginModule'
45
+ const pluginModule = rawModule.default || rawModule.module || rawModule.PluginModule;
46
+ if (!pluginModule || !(pluginModule instanceof PluginModule)) {
47
+ throw new Error(`Module at ${absolutePath} does not export a valid PluginModule.`);
48
+ }
49
+ return pluginModule;
50
+ });
51
+ }
52
+ }
53
+ //# sourceMappingURL=RuntimePluginLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuntimePluginLoader.js","sourceRoot":"","sources":["../../src/core/RuntimePluginLoader.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,MAAM,OAAO,mBAAmB;IAC9B;;;OAGG;IACG,YAAY,CAAC,YAAoB;;YACrC,8BAA8B;YAC9B,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAChC,CAAC;YAAC,WAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CAAC,+BAA+B,YAAY,EAAE,CAAC,CAAC;YACjE,CAAC;YAED,8CAA8C;YAC9C,IAAI,cAAc,GAAG,UAAU,CAAC;YAChC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;gBAC9B,cAAc,GAAG,UAAU,CAAC;YAC9B,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;YAE3D,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC9B,CAAC;YAAC,WAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CACb,kBAAkB,cAAc,OAAO,YAAY,WAAW,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CACjF,CAAC;YACJ,CAAC;YAED,oBAAoB;YACpB,uDAAuD;YACvD,OAAO,CAAC,GAAG,CAAC,0CAA0C,UAAU,EAAE,CAAC,CAAC;YAEpE,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;YAE3C,0BAA0B;YAC1B,0EAA0E;YAC1E,MAAM,YAAY,GAChB,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,YAAY,CAAC;YAElE,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,YAAY,YAAY,CAAC,EAAE,CAAC;gBAC7D,MAAM,IAAI,KAAK,CACb,aAAa,YAAY,wCAAwC,CAClE,CAAC;YACJ,CAAC;YAED,OAAO,YAAY,CAAC;QACtB,CAAC;KAAA;CACF"}
@@ -3,4 +3,6 @@ export * from './PluginManager';
3
3
  export * from './HookRegistry';
4
4
  export * from './ChouxModule';
5
5
  export * from './ChouxFacade';
6
+ export * from './IChouxFacade';
7
+ export * from './RuntimePluginLoader';
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC"}
@@ -3,4 +3,6 @@ export * from './PluginManager';
3
3
  export * from './HookRegistry';
4
4
  export * from './ChouxModule';
5
5
  export * from './ChouxFacade';
6
+ export * from './IChouxFacade';
7
+ export * from './RuntimePluginLoader';
6
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './hookDecorator';
2
+ export * from './requestHookDecorator';
2
3
  export * from './enableHooksDecorator';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './hookDecorator';
2
+ export * from './requestHookDecorator';
2
3
  export * from './enableHooksDecorator';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"addHookMetadata.d.ts","sourceRoot":"","sources":["../../../src/lib/functions/addHookMetadata.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,OAAO,EAClB,QAAQ,GAAE,OAAe,QA0B1B"}
1
+ {"version":3,"file":"addHookMetadata.d.ts","sourceRoot":"","sources":["../../../src/lib/functions/addHookMetadata.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,OAAO,EAClB,QAAQ,GAAE,OAAe,QA2B1B"}
@@ -16,6 +16,7 @@ export function addHookMetadata(ctor, hookName, methodName, isRequest, isStatic
16
16
  if (!exists) {
17
17
  metadata.push({
18
18
  hookName,
19
+ target: ctor,
19
20
  methodName,
20
21
  isStatic,
21
22
  isRequest,
@@ -1 +1 @@
1
- {"version":3,"file":"addHookMetadata.js","sourceRoot":"","sources":["../../../src/lib/functions/addHookMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,UAAU,CAAC;AAE5D;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAS,EACT,QAAgB,EAChB,UAAkB,EAClB,SAAkB,EAClB,WAAoB,KAAK;IAEzB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,EAAE,CAAC;QACzD,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC/C,IAAI,CAAC,iBAAiB,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,CAAC;IAED,MAAM,QAAQ,GAAoB,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAE1D,qBAAqB;IACrB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,QAAQ,KAAK,QAAQ;QACvB,CAAC,CAAC,UAAU,KAAK,UAAU;QAC3B,CAAC,CAAC,QAAQ,KAAK,QAAQ;QACvB,CAAC,CAAC,SAAS,KAAK,SAAS,CAC5B,CAAC;IAEF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,QAAQ,CAAC,IAAI,CAAC;YACZ,QAAQ;YACR,UAAU;YACV,QAAQ;YACR,SAAS;SACV,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"addHookMetadata.js","sourceRoot":"","sources":["../../../src/lib/functions/addHookMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,UAAU,CAAC;AAE5D;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAS,EACT,QAAgB,EAChB,UAAkB,EAClB,SAAkB,EAClB,WAAoB,KAAK;IAEzB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,EAAE,CAAC;QACzD,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC/C,IAAI,CAAC,iBAAiB,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,CAAC;IAED,MAAM,QAAQ,GAAoB,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAE1D,qBAAqB;IACrB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,QAAQ,KAAK,QAAQ;QACvB,CAAC,CAAC,UAAU,KAAK,UAAU;QAC3B,CAAC,CAAC,QAAQ,KAAK,QAAQ;QACvB,CAAC,CAAC,SAAS,KAAK,SAAS,CAC5B,CAAC;IAEF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,QAAQ,CAAC,IAAI,CAAC;YACZ,QAAQ;YACR,MAAM,EAAE,IAAI;YACZ,UAAU;YACV,QAAQ;YACR,SAAS;SACV,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -1,4 +1,3 @@
1
- export * from './registerHooksForInstance';
2
1
  export * from './registerStaticHooks';
3
2
  export * from './registerHookHandler';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/functions/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/functions/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
@@ -1,4 +1,3 @@
1
- export * from './registerHooksForInstance';
2
1
  export * from './registerStaticHooks';
3
2
  export * from './registerHookHandler';
4
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/functions/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/functions/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const registerHookHandler: (hookName: string, handler: (...args: any[]) => void | Promise<void>) => void;
1
+ export declare const registerHookHandler: (hookName: string, instance: any, handler: (...args: any[]) => void | Promise<void>) => void;
2
2
  //# sourceMappingURL=registerHookHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registerHookHandler.d.ts","sourceRoot":"","sources":["../../../src/lib/functions/registerHookHandler.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB,aACpB,MAAM,WACP,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,SAIlD,CAAC"}
1
+ {"version":3,"file":"registerHookHandler.d.ts","sourceRoot":"","sources":["../../../src/lib/functions/registerHookHandler.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB,aACpB,MAAM,YACN,GAAG,WACJ,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,SAIlD,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { inject } from '@kanian77/tject';
2
2
  import { HOOK_REGISTRY_TOKEN } from '../types/tokens';
3
- export const registerHookHandler = (hookName, handler) => {
3
+ export const registerHookHandler = (hookName, instance, handler) => {
4
4
  const hookRegistry = inject(HOOK_REGISTRY_TOKEN);
5
- hookRegistry.register(hookName, handler);
5
+ hookRegistry.register(hookName, instance, handler);
6
6
  };
7
7
  //# sourceMappingURL=registerHookHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registerHookHandler.js","sourceRoot":"","sources":["../../../src/lib/functions/registerHookHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,QAAgB,EAChB,OAAiD,EACjD,EAAE;IACF,MAAM,YAAY,GAAG,MAAM,CAAgB,mBAAmB,CAAC,CAAC;IAChE,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC,CAAC"}
1
+ {"version":3,"file":"registerHookHandler.js","sourceRoot":"","sources":["../../../src/lib/functions/registerHookHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,QAAgB,EAChB,QAAa,EACb,OAAiD,EACjD,EAAE;IACF,MAAM,YAAY,GAAG,MAAM,CAAgB,mBAAmB,CAAC,CAAC;IAChE,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"registerInstanceHooks.d.ts","sourceRoot":"","sources":["../../../src/lib/functions/registerInstanceHooks.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,aAAc,GAAG,KAAG,IA0CrD,CAAC"}
1
+ {"version":3,"file":"registerInstanceHooks.d.ts","sourceRoot":"","sources":["../../../src/lib/functions/registerInstanceHooks.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,aAAc,GAAG,KAAG,IA2CrD,CAAC"}
@@ -15,10 +15,10 @@ export const registerInstanceHooks = (instance) => {
15
15
  const originalMethod = method.__original || method;
16
16
  // Bind to the instance
17
17
  if (!isRequest) {
18
- registerHookHandler(hookName, originalMethod.bind(instance));
18
+ registerHookHandler(hookName, instance, originalMethod);
19
19
  }
20
20
  else {
21
- registerRequestHookHandler(hookName, originalMethod.bind(instance));
21
+ registerRequestHookHandler(hookName, instance, originalMethod);
22
22
  }
23
23
  }
24
24
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"registerInstanceHooks.js","sourceRoot":"","sources":["../../../src/lib/functions/registerInstanceHooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,QAAa,EAAQ,EAAE;IAC3D,IAAI,CAAC;QACH,mBAAmB;QACnB,MAAM,YAAY,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,iBAAiB,CAAC;YAC3D,EAAE,CAAoB,CAAC;QAEzB,KAAK,MAAM,EACT,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,SAAS,GACV,IAAI,YAAY,EAAE,CAAC;YAClB,sCAAsC;YACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,+BAA+B;gBAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAEpC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;oBACjC,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC;oBACnD,uBAAuB;oBACvB,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,mBAAmB,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC/D,CAAC;yBAAM,CAAC;wBAEN,0BAA0B,CACxB,QAAQ,EACR,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC9B,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CACV,0BAA0B,UAAU,8BAA8B,QAAQ,CAAC,WAAW,CAAC,IAAI,GAAG,CAC/F,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CACV,yCAAyC,QAAQ,CAAC,WAAW,CAAC,IAAI,GAAG,EACrE,KAAK,CACN,CAAC;IACJ,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"registerInstanceHooks.js","sourceRoot":"","sources":["../../../src/lib/functions/registerInstanceHooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,QAAa,EAAQ,EAAE;IAC3D,IAAI,CAAC;QACH,mBAAmB;QACnB,MAAM,YAAY,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,iBAAiB,CAAC;YAC3D,EAAE,CAAoB,CAAC;QAEzB,KAAK,MAAM,EACT,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,SAAS,GACV,IAAI,YAAY,EAAE,CAAC;YAClB,sCAAsC;YACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,+BAA+B;gBAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAEpC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;oBACjC,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC;oBACnD,uBAAuB;oBACvB,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;oBAC1D,CAAC;yBAAM,CAAC;wBAEN,0BAA0B,CACxB,QAAQ,EACR,QAAQ,EACR,cAAc,CACf,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CACV,0BAA0B,UAAU,8BAA8B,QAAQ,CAAC,WAAW,CAAC,IAAI,GAAG,CAC/F,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CACV,yCAAyC,QAAQ,CAAC,WAAW,CAAC,IAAI,GAAG,EACrE,KAAK,CACN,CAAC;IACJ,CAAC;AACH,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const registerRequestHookHandler: (hookName: string, handler: (...args: any[]) => void | Promise<void>) => void;
1
+ export declare const registerRequestHookHandler: (hookName: string, target: any, handler: (...args: any[]) => void | Promise<void>) => void;
2
2
  //# sourceMappingURL=registerRequestHookHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registerRequestHookHandler.d.ts","sourceRoot":"","sources":["../../../src/lib/functions/registerRequestHookHandler.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,0BAA0B,aAC3B,MAAM,WACP,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,SAIlD,CAAC"}
1
+ {"version":3,"file":"registerRequestHookHandler.d.ts","sourceRoot":"","sources":["../../../src/lib/functions/registerRequestHookHandler.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,0BAA0B,aAC3B,MAAM,UACR,GAAG,WACF,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,SAIlD,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { inject } from '@kanian77/tject';
2
2
  import { HOOK_REGISTRY_TOKEN } from '../types/tokens';
3
- export const registerRequestHookHandler = (hookName, handler) => {
3
+ export const registerRequestHookHandler = (hookName, target, handler) => {
4
4
  const hookRegistry = inject(HOOK_REGISTRY_TOKEN);
5
- hookRegistry.registerRequest(hookName, handler);
5
+ hookRegistry.registerRequest(hookName, target, handler);
6
6
  };
7
7
  //# sourceMappingURL=registerRequestHookHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registerRequestHookHandler.js","sourceRoot":"","sources":["../../../src/lib/functions/registerRequestHookHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,QAAgB,EAChB,OAAiD,EACjD,EAAE;IACF,MAAM,YAAY,GAAG,MAAM,CAAgB,mBAAmB,CAAC,CAAC;IAChE,YAAY,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC,CAAC"}
1
+ {"version":3,"file":"registerRequestHookHandler.js","sourceRoot":"","sources":["../../../src/lib/functions/registerRequestHookHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,QAAgB,EAChB,MAAW,EACX,OAAiD,EACjD,EAAE;IACF,MAAM,YAAY,GAAG,MAAM,CAAgB,mBAAmB,CAAC,CAAC;IAChE,YAAY,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC1D,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"registerStaticHooks.d.ts","sourceRoot":"","sources":["../../../src/lib/functions/registerStaticHooks.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,mBAAmB,gBAAiB,GAAG,KAAG,IA0CtD,CAAC"}
1
+ {"version":3,"file":"registerStaticHooks.d.ts","sourceRoot":"","sources":["../../../src/lib/functions/registerStaticHooks.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,mBAAmB,gBAAiB,GAAG,KAAG,IA2CtD,CAAC"}
@@ -17,10 +17,10 @@ export const registerStaticHooks = (constructor) => {
17
17
  if (typeof method === 'function') {
18
18
  const originalMethod = method.__original || method;
19
19
  if (!isRequest) {
20
- registerHookHandler(hookName, originalMethod.bind(constructor));
20
+ registerHookHandler(hookName, constructor, originalMethod);
21
21
  }
22
22
  else {
23
- registerRequestHookHandler(hookName, originalMethod.bind(constructor));
23
+ registerRequestHookHandler(hookName, constructor, originalMethod);
24
24
  }
25
25
  }
26
26
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"registerStaticHooks.js","sourceRoot":"","sources":["../../../src/lib/functions/registerStaticHooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,8EAA8E;AAC9E,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,WAAgB,EAAQ,EAAE;IAC5D,IAAI,WAAW,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACzC,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,mBAAmB;QACnB,MAAM,YAAY,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC;YAClD,EAAE,CAAoB,CAAC;QAEzB,KAAK,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,YAAY,EAAE,CAAC;YACzE,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;gBAEvC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;oBACjC,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC;oBACnD,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,mBAAmB,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;oBAClE,CAAC;yBAAM,CAAC;wBACN,0BAA0B,CACxB,QAAQ,EACR,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CACjC,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CACV,wBAAwB,UAAU,wBAAwB,WAAW,CAAC,IAAI,GAAG,CAC9E,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,uBAAuB,EAAE;YAC1D,KAAK,EAAE,IAAI;YACX,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CACV,uCAAuC,WAAW,CAAC,IAAI,GAAG,EAC1D,KAAK,CACN,CAAC;IACJ,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"registerStaticHooks.js","sourceRoot":"","sources":["../../../src/lib/functions/registerStaticHooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,8EAA8E;AAC9E,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,WAAgB,EAAQ,EAAE;IAC5D,IAAI,WAAW,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACzC,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,mBAAmB;QACnB,MAAM,YAAY,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC;YAClD,EAAE,CAAoB,CAAC;QAEzB,KAAK,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,YAAY,EAAE,CAAC;YACzE,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;gBAEvC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;oBACjC,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC;oBACnD,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,mBAAmB,CAAC,QAAQ,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;oBAC7D,CAAC;yBAAM,CAAC;wBACN,0BAA0B,CACxB,QAAQ,EACR,WAAW,EACX,cAAc,CACf,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CACV,wBAAwB,UAAU,wBAAwB,WAAW,CAAC,IAAI,GAAG,CAC9E,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,uBAAuB,EAAE;YAC1D,KAAK,EAAE,IAAI;YACX,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CACV,uCAAuC,WAAW,CAAC,IAAI,GAAG,EAC1D,KAAK,CACN,CAAC;IACJ,CAAC;AACH,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../src/lib/test-related/plugins/plugin-a/module.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAI1C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAEL,eAAe,EAEhB,MAAM,gBAAgB,CAAC;AAExB,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAG/C,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,MAAM;IAQ7B,OAAO,CAAC,eAAe;IAPnC,QAAQ,CAAC,QAAQ;;;;;MAKf;gBAEkB,eAAe,EAAE,eAAe;IAIrC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAOvB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;YAM3B,kBAAkB;YAKlB,kBAAkB;YAKlB,kBAAkB;IAIhC,OAAO,CAAC,uBAAuB;YAOjB,iBAAiB;CAIhC;AAED,eAAO,MAAM,aAAa,cAcxB,CAAC"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../src/lib/test-related/plugins/plugin-a/module.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAI1C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAEL,eAAe,EAEhB,MAAM,gBAAgB,CAAC;AAExB,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAG/C,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,MAAM;IAQ7B,OAAO,CAAC,eAAe;IAPnC,QAAQ,CAAC,QAAQ;;;;;MAKf;gBAEkB,eAAe,EAAE,eAAe;IAIrC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAOvB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;YAM3B,kBAAkB;YAKlB,kBAAkB;YAKlB,kBAAkB;IAIhC,OAAO,CAAC,uBAAuB;YAQjB,iBAAiB;CAIhC;AAED,eAAO,MAAM,aAAa,cAcxB,CAAC"}
@@ -118,7 +118,7 @@ let PluginA = (() => {
118
118
  }
119
119
  registerAdditionalHooks() {
120
120
  const hookRegistry = inject(HOOK_REGISTRY_TOKEN);
121
- hookRegistry.register('dynamic:custom-hook', this.handleDynamicHook.bind(this));
121
+ hookRegistry.register('dynamic:custom-hook', this, this.handleDynamicHook);
122
122
  }
123
123
  handleDynamicHook(data) {
124
124
  return __awaiter(this, void 0, void 0, function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/lib/test-related/plugins/plugin-a/module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/lib/test-related/plugins/plugin-a/module.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../src/lib/test-related/plugins/plugin-b/module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAI1C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAEL,eAAe,EAEhB,MAAM,gBAAgB,CAAC;AAExB,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAG/C,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,MAAM;IAQ7B,OAAO,CAAC,eAAe;IAPnC,QAAQ,CAAC,QAAQ;;;;;MAKf;gBAEkB,eAAe,EAAE,eAAe;IAIrC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAOvB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;YAU3B,kBAAkB;YAKlB,kBAAkB;YAKlB,kBAAkB;IAIhC,OAAO,CAAC,uBAAuB;YAQjB,iBAAiB;CAGhC;AAED,eAAO,MAAM,aAAa,cAcxB,CAAC"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../src/lib/test-related/plugins/plugin-b/module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAI1C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAEL,eAAe,EAEhB,MAAM,gBAAgB,CAAC;AAExB,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAG/C,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,MAAM;IAQ7B,OAAO,CAAC,eAAe;IAPnC,QAAQ,CAAC,QAAQ;;;;;MAKf;gBAEkB,eAAe,EAAE,eAAe;IAIrC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAOvB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;YAU3B,kBAAkB;YAKlB,kBAAkB;YAKlB,kBAAkB;IAIhC,OAAO,CAAC,uBAAuB;YASjB,iBAAiB;CAGhC;AAED,eAAO,MAAM,aAAa,cAcxB,CAAC"}
@@ -121,7 +121,7 @@ let PluginB = (() => {
121
121
  }
122
122
  registerAdditionalHooks() {
123
123
  const hookRegistry = inject(HOOK_REGISTRY_TOKEN);
124
- hookRegistry.register('dynamic:custom-hook', this.handleDynamicHook.bind(this));
124
+ hookRegistry.register('dynamic:custom-hook', this, this.handleDynamicHook);
125
125
  }
126
126
  handleDynamicHook(data) {
127
127
  return __awaiter(this, void 0, void 0, function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/lib/test-related/plugins/plugin-b/module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../src/lib/test-related/plugins/plugin-b/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EACL,uBAAuB,EAEvB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAExB,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC;;4BAC9C,OAAO,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAClC,WAAW;;;;sBACyB,MAAM;;;;;oCAAd,SAAQ,WAAM;QAQzC,YAAoB,eAAgC;YAClD,KAAK,EAAE,CAAC;YADE;;;;wBARO,mDAAO,EAQN,eAAe;eAAiB;YAP3C;;;;uBAAW;oBAClB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,OAAO;oBAChB,WAAW,EAAE,mBAAmB;oBAChC,YAAY,EAAE,EAAE,EAAE,qCAAqC;iBACxD;eAAC;QAIF,CAAC;QAEc,MAAM;;gBACnB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YACpC,CAAC;SAAA;QAEc,MAAM;;gBACnB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;gBAEpC,gDAAgD;gBAChD,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACjC,CAAC;SAAA;QAEc,SAAS;;gBACtB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YACpC,CAAC;SAAA;QAED,mDAAmD;QACnD,yDAAyD;QACzD,IAAI;QAEJ,kEAAkE;QAEpD,kBAAkB,CAAC,IAAS;;gBACxC,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,IAAI,CAAC,CAAC;YAC7D,CAAC;SAAA;QAGa,kBAAkB;;gBAC9B,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;YACvE,CAAC;SAAA;QAGa,kBAAkB,CAAC,UAAkB;;gBACjD,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,UAAU,CAAC,CAAC;YAC9D,CAAC;SAAA;QAEO,uBAAuB;YAC7B,MAAM,YAAY,GAAG,MAAM,CAAgB,mBAAmB,CAAC,CAAC;YAChE,YAAY,CAAC,QAAQ,CACnB,qBAAqB,EACrB,IAAI,EACJ,IAAI,CAAC,iBAAiB,CACvB,CAAC;QACJ,CAAC;QAEa,iBAAiB,CAAC,IAAS;;gBACvC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;YAC9C,CAAC;SAAA;;;;;;0CA1BA,IAAI,CAAC,sBAAsB,CAAC;0CAK5B,IAAI,CAAC,wBAAwB,CAAC;0CAK9B,IAAI,CAAC,yBAAyB,CAAC;QAThC,+MAAc,kBAAkB,6DAE/B;QAGD,+MAAc,kBAAkB,6DAE/B;QAGD,+MAAc,kBAAkB,6DAE/B;QA7CH,6KA2DC;;;QA3DoB,uDAAO;;;;AAA5B,uBA2DC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,YAAY,CAAC;IAC5C,KAAK,EAAE,cAAc;IACrB,SAAS,EAAE;QACT;YACE,OAAO,EAAE,cAAc;YACvB,QAAQ,EAAE,OAAO;SAClB;KACF;IACD,OAAO,EAAE;QACP;YACE,MAAM,EAAE,qBAAqB;YAC7B,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC;SAC/D;KACF;CACF,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export interface IHookMetadata {
2
2
  hookName: string;
3
3
  isRequest?: boolean;
4
+ target: any;
4
5
  methodName: string;
5
6
  isStatic: boolean;
6
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IHookMetadata.d.ts","sourceRoot":"","sources":["../../../src/lib/types/IHookMetadata.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB"}
1
+ {"version":3,"file":"IHookMetadata.d.ts","sourceRoot":"","sources":["../../../src/lib/types/IHookMetadata.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,GAAG,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB"}
@@ -1,16 +1,24 @@
1
1
  export type HookFn = (...args: any[]) => void | Promise<void>;
2
2
  export type RequestHookFn<T = any> = (...args: any[]) => Promise<T> | T;
3
- export type HookMap = Map<string, HookFn[]>;
4
- export type RequestHookMap = Map<string, RequestHookFn>;
3
+ export type HookMapEntry = {
4
+ target: any;
5
+ fn: HookFn;
6
+ };
7
+ export type RequestHookMapEntry = {
8
+ target: any;
9
+ fn: RequestHookFn;
10
+ };
11
+ export type HookMap = Map<string, HookMapEntry[]>;
12
+ export type RequestHookMap = Map<string, RequestHookMapEntry>;
5
13
  export interface IHookRegistry {
6
- register(name: string, fn: HookFn): void;
7
- registerRequest(name: string, fn: RequestHookFn): void;
14
+ register(name: string, target: any, fn: HookFn): void;
15
+ registerRequest(name: string, target: any, fn: RequestHookFn): void;
8
16
  trigger(name: string, ...args: any[]): Promise<void>;
9
17
  request<T = any>(name: string, ...args: any[]): Promise<T | undefined> | T | undefined;
10
18
  unregister(name: string, fn?: HookFn): void;
11
19
  unregisterRequest(name?: string): void;
12
- getHooks(name: string): HookFn[];
13
- getRequestHook(name: string): RequestHookFn | undefined;
20
+ getHooks(name: string): HookMapEntry[];
21
+ getRequestHook(name: string): RequestHookMapEntry | undefined;
14
22
  clear(): void;
15
23
  }
16
24
  //# sourceMappingURL=IHookRegistry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IHookRegistry.d.ts","sourceRoot":"","sources":["../../../src/lib/types/IHookRegistry.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9D,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAExE,MAAM,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AAC5C,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AACxD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAG,EAAE,EAAE,aAAa,GAAG,IAAI,CAAC;IACxD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,OAAO,CAAC,CAAC,GAAG,GAAG,EACb,IAAI,EAAE,MAAM,EACZ,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC1C,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACjC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IACxD,KAAK,IAAI,IAAI,CAAC;CACf"}
1
+ {"version":3,"file":"IHookRegistry.d.ts","sourceRoot":"","sources":["../../../src/lib/types/IHookRegistry.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9D,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACxE,MAAM,MAAM,YAAY,GAAG;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AACvD,MAAM,MAAM,mBAAmB,GAAG;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,EAAE,EAAE,aAAa,CAAA;CAAE,CAAC;AAErE,MAAM,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;AAClD,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAC9D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACtD,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,aAAa,GAAG,IAAI,CAAC;IACpE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,OAAO,CAAC,CAAC,GAAG,GAAG,EACb,IAAI,EAAE,MAAM,EACZ,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC1C,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE,CAAC;IACvC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAAC;IAC9D,KAAK,IAAI,IAAI,CAAC;CACf"}
@@ -1,7 +1,7 @@
1
1
  import { Module, ModuleOptions } from '@kanian77/tject';
2
2
  import { Token } from '@kanian77/tject/dist/types/Token';
3
3
  export interface PluginModuleOptions extends ModuleOptions {
4
- token: string;
4
+ token: Token;
5
5
  }
6
6
  export declare class PluginModule extends Module {
7
7
  token: Token;
@@ -1 +1 @@
1
- {"version":3,"file":"PluginModule.d.ts","sourceRoot":"","sources":["../../../src/lib/types/PluginModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAEzD,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,KAAK,EAAE,MAAM,CAAC;CACf;AACD,qBAAa,YAAa,SAAQ,MAAM;IACtC,KAAK,EAAE,KAAK,CAAM;gBACN,OAAO,EAAE,mBAAmB;CAIzC"}
1
+ {"version":3,"file":"PluginModule.d.ts","sourceRoot":"","sources":["../../../src/lib/types/PluginModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAEzD,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,KAAK,EAAE,KAAK,CAAC;CACd;AACD,qBAAa,YAAa,SAAQ,MAAM;IACtC,KAAK,EAAE,KAAK,CAAM;gBACN,OAAO,EAAE,mBAAmB;CAIzC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kanian77/choux",
3
- "version": "0.2.6",
3
+ "version": "0.2.8",
4
4
  "description": "A simple plugin framework for TypeScript.",
5
5
  "author": {
6
6
  "name": "Patrick Assoa Adou",
@@ -25,7 +25,8 @@
25
25
  "build": "tsc --build --verbose",
26
26
  "dev": "tsc --build --verbose --watch",
27
27
  "clean": "rm -rf dist && rm -rf tsconfig.tsbuildinfo",
28
- "prepublishOnly": "bun run clean && bun run build"
28
+ "prepare": "bun run clean && bun run build",
29
+ "release": "bun run prepare && npm publish --userconfig .npmrc --access public"
29
30
  },
30
31
  "devDependencies": {
31
32
  "@types/bun": "latest",
@@ -1,2 +0,0 @@
1
- export declare function registerHooksForInstance(instance: any): void;
2
- //# sourceMappingURL=registerHooksForInstance.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registerHooksForInstance.d.ts","sourceRoot":"","sources":["../../../src/lib/functions/registerHooksForInstance.ts"],"names":[],"mappings":"AAKA,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI,CAuB5D"}
@@ -1,22 +0,0 @@
1
- import { inject } from '@kanian77/tject';
2
- import { HOOK_METADATA_KEY, HOOK_REGISTRY_TOKEN } from '../types/tokens';
3
- export function registerHooksForInstance(instance) {
4
- const constructor = instance.constructor;
5
- const hookMetadata = constructor[HOOK_METADATA_KEY] || [];
6
- if (hookMetadata.length === 0) {
7
- return;
8
- }
9
- try {
10
- const hookRegistry = inject(HOOK_REGISTRY_TOKEN);
11
- for (const { hookName, methodName } of hookMetadata) {
12
- const method = instance[methodName];
13
- if (typeof method === 'function') {
14
- hookRegistry.register(hookName, method.bind(instance));
15
- }
16
- }
17
- }
18
- catch (error) {
19
- console.warn('Failed to register hooks - HookRegistry may not be available yet:', error);
20
- }
21
- }
22
- //# sourceMappingURL=registerHooksForInstance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registerHooksForInstance.js","sourceRoot":"","sources":["../../../src/lib/functions/registerHooksForInstance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEzE,MAAM,UAAU,wBAAwB,CAAC,QAAa;IACpD,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;IACzC,MAAM,YAAY,GAAoB,WAAW,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;IAE3E,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,CAAgB,mBAAmB,CAAC,CAAC;QAEhE,KAAK,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,YAAY,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YACpC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;gBACjC,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CACV,mEAAmE,EACnE,KAAK,CACN,CAAC;IACJ,CAAC;AACH,CAAC"}