@common-stack/server-core 7.2.1-alpha.5 → 7.2.1-alpha.59

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.
@@ -22,12 +22,24 @@ export type FeatureParams<T = any, S = any> = {
22
22
  createResolversFunc?: Function | Function[];
23
23
  createContextFunc?: Function | Function[];
24
24
  postBindContainerFunc?: Function[];
25
+ postBindMicroServiceContainerFunc?: Function[];
26
+ /**
27
+ * @deprecated Use postBindMicroServiceContainerFunc instead
28
+ */
25
29
  postBindHemraContainerFunc?: Function[];
26
30
  createServiceFunc?: Function | Function[];
27
31
  createDataSourceFunc?: Function | Function[];
28
32
  createContainerFunc?: Function | Function[];
33
+ createMicroServiceContainerFunc?: Function | Function[];
34
+ /**
35
+ * @deprecated Use createMicroServiceContainerFunc instead
36
+ */
29
37
  createHemeraContainerFunc?: Function | Function[];
30
38
  createAsyncContainerFunc?: Function | Function[];
39
+ createAsyncMicroServiceContainerFunc?: Function | Function[];
40
+ /**
41
+ * @deprecated Use createAsyncMicroServiceContainerFunc instead
42
+ */
31
43
  createAsyncHemeraContainerFunc?: Function | Function[];
32
44
  preCreateServiceFunc?: Function | Function[];
33
45
  postCreateServiceFunc?: Function | Function[];
@@ -35,7 +47,19 @@ export type FeatureParams<T = any, S = any> = {
35
47
  postStartFunc?: Function | Function[];
36
48
  microservicePreStartFunc?: Function | Function[];
37
49
  microservicePostStartFunc?: Function | Function[];
50
+ addBrokerServiceClass?: Function | Function[];
51
+ /**
52
+ * @deprecated Use addBrokerServiceClass instead
53
+ */
38
54
  addBrokerMainServiceClass?: Function | Function[];
55
+ /**
56
+ * @deprecated Use addBrokerServiceClass instead
57
+ */
58
+ addMainBrokerServiceClass?: Function | Function[];
59
+ addMicroserviceBrokerServiceClass?: Function | Function[];
60
+ /**
61
+ * @deprecated Use addMicroserviceBrokerServiceClass instead
62
+ */
39
63
  addBrokerClientServiceClass?: Function | Function[];
40
64
  createWebsocketConfig?: IWebsocketConfig | IWebsocketConfig[];
41
65
  updateContainerFunc?: any | any[];
@@ -87,10 +111,22 @@ declare class Feature<T = any, S = any> {
87
111
  createServiceFunc: Function[];
88
112
  createContainerFunc: Function[];
89
113
  postBindContainerFunc: Function[];
114
+ postBindMicroServiceContainerFunc: Function[];
115
+ /**
116
+ * @deprecated Use postBindMicroServiceContainerFunc instead
117
+ */
90
118
  postBindHemraContainerFunc: Function[];
91
119
  federation: FederationServiceDeclaration[];
120
+ createMicroServiceContainerFunc: Function[];
121
+ /**
122
+ * @deprecated Use createMicroServiceContainerFunc instead
123
+ */
92
124
  createHemeraContainerFunc: Function[];
93
125
  createAsyncContainerFunc: Function[];
126
+ createAsyncMicroServiceContainerFunc: Function[];
127
+ /**
128
+ * @deprecated Use createAsyncMicroServiceContainerFunc instead
129
+ */
94
130
  createAsyncHemeraContainerFunc: Function[];
95
131
  createDataSourceFunc: Function[];
96
132
  preCreateServiceFunc: Function[];
@@ -99,7 +135,19 @@ declare class Feature<T = any, S = any> {
99
135
  postStartFunc: Function[];
100
136
  microservicePreStartFunc: Function[];
101
137
  microservicePostStartFunc: Function[];
138
+ addBrokerServiceClass: Function[];
139
+ /**
140
+ * @deprecated Use addBrokerServiceClass instead
141
+ */
102
142
  addBrokerMainServiceClass: Function[];
143
+ /**
144
+ * @deprecated Use addBrokerServiceClass instead
145
+ */
146
+ addMainBrokerServiceClass: Function[];
147
+ addMicroserviceBrokerServiceClass: Function[];
148
+ /**
149
+ * @deprecated Use addMicroserviceBrokerServiceClass instead
150
+ */
103
151
  addBrokerClientServiceClass: Function[];
104
152
  disposeFunc: any[];
105
153
  updateContainerFunc: any[];
@@ -170,9 +218,9 @@ declare class Feature<T = any, S = any> {
170
218
  createDirectives(options?: IDirectiveOptions): any;
171
219
  createContainers(options: any, containerOptions?: interfaces.ContainerOptions): Promise<any>;
172
220
  /**
173
- * Use createMicroserviceContainer
221
+ * Use createMicroserviceContainers instead
174
222
  * @param options
175
- * @deprecated
223
+ * @deprecated Use createMicroserviceContainers instead
176
224
  */
177
225
  createHemeraContainers(options: any): Promise<any>;
178
226
  /**
@@ -548,11 +596,24 @@ declare class Feature<T = any, S = any> {
548
596
  /**
549
597
  * Load and register Inngest functions from all modules
550
598
  * Similar to loadClientMoleculerService pattern
599
+ *
600
+ * @returns Array of all Inngest function instances ready for registration
551
601
  */
552
602
  loadInngestFunctions({ container, inngest, settings, }: {
553
603
  container: Container;
554
604
  inngest: any;
555
605
  settings?: unknown;
556
- }): any[];
606
+ }): Promise<any[]>;
607
+ /**
608
+ * Get a flat list of all Inngest functions for registration
609
+ * This is the main method used by the setup to register with Inngest
610
+ *
611
+ * @returns Flattened array of Inngest function instances
612
+ */
613
+ getInngestFunctionsForRegistration({ container, inngest, settings, }: {
614
+ container: Container;
615
+ inngest: any;
616
+ settings?: unknown;
617
+ }): Promise<any[]>;
557
618
  }
558
619
  export { Feature };
@@ -9,10 +9,22 @@ class Feature {
9
9
  createServiceFunc;
10
10
  createContainerFunc;
11
11
  postBindContainerFunc;
12
+ postBindMicroServiceContainerFunc;
13
+ /**
14
+ * @deprecated Use postBindMicroServiceContainerFunc instead
15
+ */
12
16
  postBindHemraContainerFunc;
13
17
  federation;
18
+ createMicroServiceContainerFunc;
19
+ /**
20
+ * @deprecated Use createMicroServiceContainerFunc instead
21
+ */
14
22
  createHemeraContainerFunc;
15
23
  createAsyncContainerFunc;
24
+ createAsyncMicroServiceContainerFunc;
25
+ /**
26
+ * @deprecated Use createAsyncMicroServiceContainerFunc instead
27
+ */
16
28
  createAsyncHemeraContainerFunc;
17
29
  createDataSourceFunc;
18
30
  preCreateServiceFunc;
@@ -21,7 +33,19 @@ class Feature {
21
33
  postStartFunc;
22
34
  microservicePreStartFunc;
23
35
  microservicePostStartFunc;
36
+ addBrokerServiceClass;
37
+ /**
38
+ * @deprecated Use addBrokerServiceClass instead
39
+ */
24
40
  addBrokerMainServiceClass;
41
+ /**
42
+ * @deprecated Use addBrokerServiceClass instead
43
+ */
44
+ addMainBrokerServiceClass;
45
+ addMicroserviceBrokerServiceClass;
46
+ /**
47
+ * @deprecated Use addMicroserviceBrokerServiceClass instead
48
+ */
25
49
  addBrokerClientServiceClass;
26
50
  disposeFunc;
27
51
  updateContainerFunc;
@@ -54,7 +78,14 @@ class Feature {
54
78
  this.createResolversFunc = combine(args, (arg) => arg.createResolversFunc);
55
79
  this.createContextFunc = combine(args, (arg) => arg.createContextFunc);
56
80
  this.postBindContainerFunc = combine(args, (arg) => arg.postBindContainerFunc);
57
- this.postBindHemraContainerFunc = combine(args, (arg) => arg.postBindHemraContainerFunc);
81
+ // Handle backward compatibility for postBindMicroServiceContainerFunc
82
+ const postBindMicroServiceFuncs = combine(args, (arg) => arg.postBindMicroServiceContainerFunc);
83
+ const oldPostBindHemeraFuncs = combine(args, (arg) => arg.postBindHemraContainerFunc);
84
+ if (oldPostBindHemeraFuncs.length > 0) {
85
+ console.warn('[DEPRECATION WARNING] postBindHemraContainerFunc is deprecated. Please use postBindMicroServiceContainerFunc instead.');
86
+ }
87
+ this.postBindMicroServiceContainerFunc = [...postBindMicroServiceFuncs, ...oldPostBindHemeraFuncs];
88
+ this.postBindHemraContainerFunc = this.postBindMicroServiceContainerFunc; // Keep reference for backward compatibility
58
89
  this.createServiceFunc = combine(args, (arg) => arg.createServiceFunc);
59
90
  this.preCreateServiceFunc = combine(args, (arg) => arg.preCreateServiceFunc);
60
91
  this.postCreateServiceFunc = combine(args, (arg) => arg.postCreateServiceFunc);
@@ -62,15 +93,52 @@ class Feature {
62
93
  this.postStartFunc = combine(args, (arg) => arg.postStartFunc);
63
94
  this.microservicePreStartFunc = combine(args, (arg) => arg.microservicePreStartFunc);
64
95
  this.microservicePostStartFunc = combine(args, (arg) => arg.microservicePostStartFunc);
65
- this.addBrokerMainServiceClass = combine(args, (arg) => arg.addBrokerMainServiceClass);
66
- this.addBrokerClientServiceClass = combine(args, (arg) => arg.addBrokerClientServiceClass);
96
+ // Handle backward compatibility for broker service classes
97
+ const brokerServiceFuncs = combine(args, (arg) => arg.addBrokerServiceClass);
98
+ const oldMainBrokerFuncs = combine(args, (arg) => arg.addBrokerMainServiceClass);
99
+ const oldMainBrokerFuncs2 = combine(args, (arg) => arg.addMainBrokerServiceClass);
100
+ if (oldMainBrokerFuncs.length > 0) {
101
+ console.warn('[DEPRECATION WARNING] addBrokerMainServiceClass is deprecated. Please use addBrokerServiceClass instead.');
102
+ }
103
+ if (oldMainBrokerFuncs2.length > 0) {
104
+ console.warn('[DEPRECATION WARNING] addMainBrokerServiceClass is deprecated. Please use addBrokerServiceClass instead.');
105
+ }
106
+ this.addBrokerServiceClass = [...brokerServiceFuncs, ...oldMainBrokerFuncs, ...oldMainBrokerFuncs2];
107
+ this.addBrokerMainServiceClass = this.addBrokerServiceClass; // Keep reference for backward compatibility
108
+ this.addMainBrokerServiceClass = this.addBrokerServiceClass; // Keep reference for backward compatibility
109
+ const microserviceBrokerFuncs = combine(args, (arg) => arg.addMicroserviceBrokerServiceClass);
110
+ const oldClientBrokerFuncs = combine(args, (arg) => arg.addBrokerClientServiceClass);
111
+ if (oldClientBrokerFuncs.length > 0) {
112
+ console.warn('[DEPRECATION WARNING] addBrokerClientServiceClass is deprecated. Please use addMicroserviceBrokerServiceClass instead.');
113
+ }
114
+ this.addMicroserviceBrokerServiceClass = [...microserviceBrokerFuncs, ...oldClientBrokerFuncs];
115
+ this.addBrokerClientServiceClass = this.addMicroserviceBrokerServiceClass; // Keep reference for backward compatibility
67
116
  this.disposeFunc = combine(args, (arg) => arg.disposeFunc);
68
117
  this.federation = combine(args, (arg) => arg.federation);
69
118
  this.migrations = combine(args, (arg) => arg);
70
119
  this.createContainerFunc = combine(args, (arg) => arg.createContainerFunc);
71
- this.createHemeraContainerFunc = combine(args, (arg) => arg.createHemeraContainerFunc);
120
+ // Handle backward compatibility for createHemeraContainerFunc -> createMicroServiceContainerFunc
121
+ const microServiceFuncs = combine(args, (arg) => arg.createMicroServiceContainerFunc);
122
+ const hemeraFuncs = combine(args, (arg) => arg.createHemeraContainerFunc);
123
+ if (hemeraFuncs.length > 0) {
124
+ console.warn('[DEPRECATION WARNING] createHemeraContainerFunc is deprecated. Please use createMicroServiceContainerFunc instead.');
125
+ }
126
+ // Merge both old and new function arrays and deduplicate by reference
127
+ const merged = [...microServiceFuncs, ...hemeraFuncs];
128
+ // Use Set to deduplicate function references (handles case where same Feature appears multiple times in args)
129
+ this.createMicroServiceContainerFunc = [...new Set(merged)];
130
+ this.createHemeraContainerFunc = this.createMicroServiceContainerFunc; // Keep reference for backward compatibility
72
131
  this.createAsyncContainerFunc = combine(args, (arg) => arg.createAsyncContainerFunc);
73
- this.createAsyncHemeraContainerFunc = combine(args, (arg) => arg.createAsyncHemeraContainerFunc);
132
+ // Handle backward compatibility for createAsyncMicroServiceContainerFunc
133
+ const asyncMicroServiceFuncs = combine(args, (arg) => arg.createAsyncMicroServiceContainerFunc);
134
+ const oldAsyncHemeraFuncs = combine(args, (arg) => arg.createAsyncHemeraContainerFunc);
135
+ if (oldAsyncHemeraFuncs.length > 0) {
136
+ console.warn('[DEPRECATION WARNING] createAsyncHemeraContainerFunc is deprecated. Please use createAsyncMicroServiceContainerFunc instead.');
137
+ }
138
+ // Merge both old and new async function arrays and deduplicate by reference
139
+ const mergedAsync = [...asyncMicroServiceFuncs, ...oldAsyncHemeraFuncs];
140
+ this.createAsyncMicroServiceContainerFunc = [...new Set(mergedAsync)];
141
+ this.createAsyncHemeraContainerFunc = this.createAsyncMicroServiceContainerFunc; // Keep reference for backward compatibility
74
142
  this.updateContainerFunc = combine(args, (arg) => arg.updateContainerFunc);
75
143
  this.createDataSourceFunc = combine(args, (arg) => arg.createDataSourceFunc);
76
144
  this.beforeware = combine(args, (arg) => arg.beforeware);
@@ -213,11 +281,12 @@ class Feature {
213
281
  return this.container;
214
282
  }
215
283
  /**
216
- * Use createMicroserviceContainer
284
+ * Use createMicroserviceContainers instead
217
285
  * @param options
218
- * @deprecated
286
+ * @deprecated Use createMicroserviceContainers instead
219
287
  */
220
288
  async createHemeraContainers(options) {
289
+ console.warn('[DEPRECATION WARNING] createHemeraContainers() is deprecated. Please use createMicroserviceContainers() instead.');
221
290
  return this.createMicroserviceContainers(options);
222
291
  }
223
292
  /**
@@ -227,14 +296,14 @@ class Feature {
227
296
  */
228
297
  async createMicroserviceContainers(options) {
229
298
  this.hemeraContainer = new Container();
230
- this.createHemeraContainerFunc.map((createModule) => {
299
+ this.createMicroServiceContainerFunc.map((createModule) => {
231
300
  this.hemeraContainer.load(createModule(options));
232
301
  });
233
- await Promise.all(this.createAsyncHemeraContainerFunc.map(async (asyncCreateModule) => {
302
+ await Promise.all(this.createAsyncMicroServiceContainerFunc.map(async (asyncCreateModule) => {
234
303
  await this.hemeraContainer.loadAsync(asyncCreateModule(options));
235
304
  }));
236
- this.postBindHemraContainerFunc.map((bindModule) => {
237
- this.hemeraContainer.load(bindModule(this.container));
305
+ this.postBindMicroServiceContainerFunc.map((bindModule) => {
306
+ this.hemeraContainer.load(bindModule(this.hemeraContainer));
238
307
  });
239
308
  return this.hemeraContainer;
240
309
  }
@@ -256,10 +325,10 @@ class Feature {
256
325
  matchingModules.map((createModule) => this.container.load(createModule(options)));
257
326
  }
258
327
  loadMainMoleculerService({ container, broker, settings, }) {
259
- this.addBrokerMainServiceClass.map((serviceClass) => broker.createService(serviceClass, { container, settings }));
328
+ this.addBrokerServiceClass.map((serviceClass) => broker.createService(serviceClass, { container, settings }));
260
329
  }
261
330
  loadClientMoleculerService({ container, broker, settings, }) {
262
- this.addBrokerClientServiceClass.map((serviceClass) => broker.createService(serviceClass, { container, settings }));
331
+ this.addMicroserviceBrokerServiceClass.map((serviceClass) => broker.createService(serviceClass, { container, settings }));
263
332
  }
264
333
  createDefaultPreferences() {
265
334
  return transformPrefsToArray(merge([], ...this.createPreference));
@@ -346,20 +415,57 @@ class Feature {
346
415
  /**
347
416
  * Load and register Inngest functions from all modules
348
417
  * Similar to loadClientMoleculerService pattern
418
+ *
419
+ * @returns Array of all Inngest function instances ready for registration
349
420
  */
350
- loadInngestFunctions({ container, inngest, settings, }) {
421
+ async loadInngestFunctions({ container, inngest, settings, }) {
351
422
  const allFunctions = [];
352
- this.inngestFunctions.forEach((functionFactory) => {
423
+ // Use Promise.all to properly await all async function factories
424
+ await Promise.all(this.inngestFunctions.map(async (functionFactory) => {
353
425
  try {
354
- const functionsCollections = functionFactory({ container, inngest, settings });
426
+ const functionsCollections = await functionFactory({ container, inngest, settings });
427
+ // Handle different return formats
355
428
  if (Array.isArray(functionsCollections)) {
429
+ // If factory returns an array of functions
356
430
  allFunctions.push(...functionsCollections);
357
431
  }
432
+ else if (typeof functionsCollections === 'object' && functionsCollections !== null) {
433
+ // If factory returns an object of functions (most common pattern)
434
+ // Extract function instances from the object
435
+ const functionInstances = Object.values(functionsCollections);
436
+ allFunctions.push(...functionInstances);
437
+ }
438
+ else if (functionsCollections) {
439
+ // Single function instance
440
+ allFunctions.push(functionsCollections);
441
+ }
358
442
  }
359
443
  catch (error) {
360
444
  console.warn('Error loading Inngest functions from factory:', error.message);
361
445
  }
362
- });
446
+ }));
363
447
  return allFunctions;
364
448
  }
449
+ /**
450
+ * Get a flat list of all Inngest functions for registration
451
+ * This is the main method used by the setup to register with Inngest
452
+ *
453
+ * @returns Flattened array of Inngest function instances
454
+ */
455
+ async getInngestFunctionsForRegistration({ container, inngest, settings, }) {
456
+ const functions = await this.loadInngestFunctions({ container, inngest, settings });
457
+ // Flatten nested arrays if any
458
+ const flattenedFunctions = functions.reduce((acc, curr) => {
459
+ if (Array.isArray(curr)) {
460
+ return [...acc, ...curr];
461
+ }
462
+ return [...acc, curr];
463
+ }, []);
464
+ // Filter out any placeholder or invalid functions
465
+ return flattenedFunctions.filter((fn) => {
466
+ // Ensure it's a valid Inngest function
467
+ // You can add more validation here based on Inngest's function structure
468
+ return fn && typeof fn === 'object' && fn.id;
469
+ });
470
+ }
365
471
  }export{Feature,featureCatalog};//# sourceMappingURL=connector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connector.js","sources":["../../src/connector/connector.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connector.js","sources":["../../src/connector/connector.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @file integration-proxy-moleculer.test.ts
3
+ * @description Integration tests for full proxy → Moleculer → service cycle
4
+ * Tests parameter wrapping/unwrapping between proxy and Moleculer handler
5
+ */
6
+ export {};
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @file moleculerEventHandler.test.ts
3
+ * @description Test suite for Moleculer event handler decorator
4
+ */
5
+ export {};
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @file serviceGenerationUtils.test.ts
3
+ * @description Test suite for service generation utilities
4
+ */
5
+ export {};
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @file typedMoleculerService.test.ts
3
+ * @description Test suite for Moleculer service generation
4
+ */
5
+ export {};
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @file typedProxyService.test.ts
3
+ * @description Test suite for proxy service generation
4
+ */
5
+ export {};
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @file moleculer-generation/index.ts
3
+ * @description Auto-generation utilities for Moleculer services and proxy services
4
+ *
5
+ * This module provides utilities for auto-generating:
6
+ * - Server-side Moleculer service actions and events
7
+ * - Client-side proxy service methods
8
+ *
9
+ * All utilities ensure consistent naming conventions (camelCase) across
10
+ * the entire microservice architecture.
11
+ */
12
+ export * from './serviceGenerationUtils';
13
+ export * from './moleculerEventHandler';
14
+ export * from './typedMoleculerService';
15
+ export * from './typedProxyService';
16
+ export * from './zodToMoleculer';
@@ -0,0 +1,73 @@
1
+ /**
2
+ * @file moleculer-event-handler.ts
3
+ * @description Decorator for marking service methods as Moleculer event handlers
4
+ *
5
+ * This allows event handlers to be defined directly in the service class
6
+ * and automatically registered as Moleculer events.
7
+ */
8
+ import 'reflect-metadata';
9
+ /**
10
+ * Moleculer namespace containing event handler utilities
11
+ */
12
+ export declare namespace Moleculer {
13
+ /**
14
+ * Metadata key for storing event handler information
15
+ */
16
+ const EVENT_HANDLER_METADATA_KEY = "moleculer:eventHandler";
17
+ /**
18
+ * Event handler metadata interface
19
+ */
20
+ interface EventHandlerMetadata {
21
+ eventName: string;
22
+ methodName: string;
23
+ group?: string;
24
+ }
25
+ /**
26
+ * Decorator for marking a service method as a Moleculer event handler
27
+ *
28
+ * @param eventName - The event name to listen for
29
+ * @param options - Optional event configuration
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * class OrganizationService implements IOrganizationService {
34
+ * @Moleculer.EventHandler(UserBroadcasterAction.OnUserCreated)
35
+ * async onUserCreated(event: IUserCreationEvent): Promise<void> {
36
+ * await this.createDefaultOrganization(event.user);
37
+ * }
38
+ *
39
+ * @Moleculer.EventHandler(OrganizationServiceAction.OnOrganizationCreated, { group: 'org-setup' })
40
+ * async onOrganizationCreated(event: IOrganizationCreatedEvent): Promise<void> {
41
+ * // Handle organization creation
42
+ * }
43
+ * }
44
+ * ```
45
+ */
46
+ function EventHandler(eventName: string, options?: {
47
+ group?: string;
48
+ }): MethodDecorator;
49
+ /**
50
+ * Get all Moleculer event handlers defined on a service class
51
+ *
52
+ * @param serviceClassOrInstance - The service class constructor or instance
53
+ * @returns Array of event handler metadata
54
+ *
55
+ * @example
56
+ * ```typescript
57
+ * const handlers = Moleculer.getEventHandlers(OrganizationService);
58
+ * // Returns: [
59
+ * // { eventName: 'user.created', methodName: 'onUserCreated' },
60
+ * // { eventName: 'org.created', methodName: 'onOrganizationCreated' }
61
+ * // ]
62
+ * ```
63
+ */
64
+ function getEventHandlers(serviceClassOrInstance: (new (...args: unknown[]) => unknown) | object): EventHandlerMetadata[];
65
+ /**
66
+ * Check if a method is marked as a Moleculer event handler
67
+ *
68
+ * @param serviceClassOrInstance - The service class constructor or instance
69
+ * @param methodName - The method name to check
70
+ * @returns Event handler metadata if found, undefined otherwise
71
+ */
72
+ function isEventHandler(serviceClassOrInstance: (new (...args: unknown[]) => unknown) | object, methodName: string): EventHandlerMetadata | undefined;
73
+ }
@@ -0,0 +1,100 @@
1
+ /**
2
+ * @file serviceGenerationUtils.ts
3
+ * @description Shared utilities for auto-generating Moleculer services and proxy services.
4
+ *
5
+ * This module provides common functionality used by both:
6
+ * - typedMoleculerService.ts (server-side Moleculer service generation)
7
+ * - typedProxyService.ts (client-side proxy service generation)
8
+ *
9
+ * Centralizing these utilities ensures consistency in action naming conventions
10
+ * and method discovery across the entire microservice architecture.
11
+ */
12
+ /**
13
+ * Excluded base service methods that should not be auto-generated as actions
14
+ */
15
+ export type ExcludedServiceMethods = 'dispose' | 'get' | 'getAll' | 'bulkDelete' | 'delete' | 'count' | 'getByName' | 'getByIds' | 'getAllWithCount' | 'create' | 'update' | 'bulkCreate' | 'insert' | 'broker' | 'logger' | 'topic' | 'callAction';
16
+ /**
17
+ * Check if a method should be excluded from auto-generation
18
+ *
19
+ * @param methodName - The method name to check
20
+ * @param context - Generation context: 'moleculer' for server-side, 'proxy' for client-side
21
+ * @returns true if the method should be excluded
22
+ */
23
+ export declare function isExcludedMethod(methodName: string, context?: 'moleculer' | 'proxy'): boolean;
24
+ /**
25
+ * Get all method names from a service instance, traversing the prototype chain.
26
+ *
27
+ * This function walks up the prototype chain to include inherited methods from
28
+ * parent classes, which is essential for services that extend base classes.
29
+ *
30
+ * @param obj - The service instance to analyze
31
+ * @returns Array of method names (includes inherited methods)
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * class BaseService {
36
+ * get() {}
37
+ * getAll() {}
38
+ * }
39
+ *
40
+ * class UserService extends BaseService {
41
+ * createUser() {}
42
+ * }
43
+ *
44
+ * const service = new UserService();
45
+ * const methods = getAllMethodNames(service);
46
+ * // Returns: ['createUser', 'get', 'getAll', 'constructor']
47
+ * ```
48
+ */
49
+ export declare function getAllMethodNames(obj: unknown): string[];
50
+ /**
51
+ * Convert method name to action name using camelCase convention.
52
+ *
53
+ * **IMPORTANT**: We use camelCase (method name as-is) for action names to match
54
+ * the Moleculer service action registration pattern. Both server-side Moleculer
55
+ * services and client-side proxy services must use the same convention.
56
+ *
57
+ * @param methodName - The method name (e.g., 'getTags', 'createTag')
58
+ * @returns The action name in camelCase (same as method name)
59
+ *
60
+ * @example
61
+ * ```typescript
62
+ * getActionName('getTags') // Returns: 'getTags'
63
+ * getActionName('createTag') // Returns: 'createTag'
64
+ * getActionName('removeTag') // Returns: 'removeTag'
65
+ * ```
66
+ *
67
+ * @deprecated PascalCase conversion (e.g., GetTags, CreateTag) is no longer used.
68
+ * Previous behavior caused mismatches between proxy and Moleculer services.
69
+ */
70
+ export declare function getActionName(methodName: string): string;
71
+ /**
72
+ * Convert string to PascalCase (first letter uppercase).
73
+ *
74
+ * **DEPRECATED**: This function is kept for backward compatibility with command enums
75
+ * but should NOT be used for action name generation. Use getActionName() instead.
76
+ *
77
+ * @param str - The string to convert
78
+ * @returns String with first letter uppercase
79
+ *
80
+ * @example
81
+ * ```typescript
82
+ * toPascalCase('getTags') // Returns: 'GetTags'
83
+ * toPascalCase('createTag') // Returns: 'CreateTag'
84
+ * ```
85
+ */
86
+ export declare function toPascalCase(str: string): string;
87
+ /**
88
+ * Build the full Moleculer action path from topic and action name.
89
+ *
90
+ * @param topic - The Moleculer service topic (e.g., 'Tag', 'User')
91
+ * @param actionName - The action name (e.g., 'getTags', 'createTag')
92
+ * @returns Full action path (e.g., 'Tag.getTags', 'User.createUser')
93
+ *
94
+ * @example
95
+ * ```typescript
96
+ * buildActionPath('Tag', 'getTags') // Returns: 'Tag.getTags'
97
+ * buildActionPath('User', 'createUser') // Returns: 'User.createUser'
98
+ * ```
99
+ */
100
+ export declare function buildActionPath(topic: string, actionName: string): string;