@zdavison/nestjs-rpc-toolkit 0.2.2 → 0.3.0

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.
File without changes
@@ -21,6 +21,8 @@ export declare class RpcTypesGenerator {
21
21
  private codecFields;
22
22
  /** Pending nested type checks to resolve after all types are processed */
23
23
  private pendingNestedTypes;
24
+ /** Maps external type names to their import module paths (e.g., 'JsonValue' -> 'type-fest') */
25
+ private externalImports;
24
26
  constructor(options: GeneratorOptions);
25
27
  private expandPackagePaths;
26
28
  private initializePackageProject;
@@ -35,6 +37,12 @@ export declare class RpcTypesGenerator {
35
37
  private resolveNestedTypeReferences;
36
38
  private scanForRpcMethods;
37
39
  private extractTypesFromFile;
40
+ /**
41
+ * Extract external package imports (non-relative) from a source file.
42
+ * These are imports from npm packages like 'type-fest' that need to be
43
+ * included in the generated RPC types file.
44
+ */
45
+ private extractExternalImports;
38
46
  private extractInterface;
39
47
  private extractClassAsInterface;
40
48
  /**
@@ -56,6 +64,11 @@ export declare class RpcTypesGenerator {
56
64
  private extractJsDoc;
57
65
  private generateTypesFile;
58
66
  private generateModuleTypesFile;
67
+ /**
68
+ * Generate import statements for external package types that are used in the generated file.
69
+ * Only includes types that are referenced and come from external packages (not defined in codebase).
70
+ */
71
+ private generateExternalImports;
59
72
  /** Generate codec metadata for types belonging to this module only */
60
73
  private generateCodecFieldsMetadata;
61
74
  /** Generate function metadata for RPC patterns (params and returns) */
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-types-generator.d.ts","sourceRoot":"","sources":["../../src/generators/rpc-types-generator.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,mBAAmB;IAClC,8FAA8F;IAC9F,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AA2BD,qBAAa,iBAAiB;IAchB,OAAO,CAAC,OAAO;IAb3B,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,UAAU,CAA+C;IACjE,OAAO,CAAC,KAAK,CAA0C;IACvD,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,eAAe,CAAkC;IACzD,uEAAuE;IACvE,OAAO,CAAC,WAAW,CAA+C;IAClE,0EAA0E;IAC1E,OAAO,CAAC,kBAAkB,CAAoE;gBAE1E,OAAO,EAAE,gBAAgB;IAa7C,OAAO,CAAC,kBAAkB;IA+B1B,OAAO,CAAC,wBAAwB;IA2BhC,OAAO,CAAC,sBAAsB;IA6B9B,OAAO,CAAC,UAAU;IAOlB,QAAQ,IAAI,IAAI;IAwChB;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;IAkBnC,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,gBAAgB;IA0DxB,OAAO,CAAC,uBAAuB;IAyF/B;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAI5B;IAEF;;;OAGG;IACH,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,WAAW;IA0BnB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,aAAa;IA6FrB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,iBAAiB;IA0CzB,OAAO,CAAC,uBAAuB;IAwJ/B,sEAAsE;IACtE,OAAO,CAAC,2BAA2B;IA4BnC,uEAAuE;IACvE,OAAO,CAAC,uBAAuB;IA4C/B,wFAAwF;IACxF,OAAO,CAAC,mBAAmB;IAa3B,yEAAyE;IACzE,OAAO,CAAC,2BAA2B;IAwCnC,OAAO,CAAC,qBAAqB;IA6L7B,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,yBAAyB;IAsEjC,OAAO,CAAC,yBAAyB;CAyClC"}
1
+ {"version":3,"file":"rpc-types-generator.d.ts","sourceRoot":"","sources":["../../src/generators/rpc-types-generator.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,mBAAmB;IAClC,8FAA8F;IAC9F,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AA2BD,qBAAa,iBAAiB;IAgBhB,OAAO,CAAC,OAAO;IAf3B,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,UAAU,CAA+C;IACjE,OAAO,CAAC,KAAK,CAA0C;IACvD,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,eAAe,CAAkC;IACzD,uEAAuE;IACvE,OAAO,CAAC,WAAW,CAA+C;IAClE,0EAA0E;IAC1E,OAAO,CAAC,kBAAkB,CAAoE;IAC9F,+FAA+F;IAC/F,OAAO,CAAC,eAAe,CAAkC;gBAErC,OAAO,EAAE,gBAAgB;IAa7C,OAAO,CAAC,kBAAkB;IA+B1B,OAAO,CAAC,wBAAwB;IA2BhC,OAAO,CAAC,sBAAsB;IA6B9B,OAAO,CAAC,UAAU;IAOlB,QAAQ,IAAI,IAAI;IAwChB;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;IAkBnC,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,oBAAoB;IAiB5B;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAkC9B,OAAO,CAAC,gBAAgB;IAwDxB,OAAO,CAAC,uBAAuB;IA0F/B;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAI5B;IAEF;;;OAGG;IACH,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,WAAW;IA0BnB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,aAAa;IA6FrB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,iBAAiB;IA0CzB,OAAO,CAAC,uBAAuB;IA2J/B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAwC/B,sEAAsE;IACtE,OAAO,CAAC,2BAA2B;IA4BnC,uEAAuE;IACvE,OAAO,CAAC,uBAAuB;IA4C/B,wFAAwF;IACxF,OAAO,CAAC,mBAAmB;IAa3B,yEAAyE;IACzE,OAAO,CAAC,2BAA2B;IAwCnC,OAAO,CAAC,qBAAqB;IA2M7B,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,yBAAyB;IAsEjC,OAAO,CAAC,yBAAyB;CAyClC"}
@@ -52,6 +52,8 @@ class RpcTypesGenerator {
52
52
  this.codecFields = new Map();
53
53
  /** Pending nested type checks to resolve after all types are processed */
54
54
  this.pendingNestedTypes = new Map();
55
+ /** Maps external type names to their import module paths (e.g., 'JsonValue' -> 'type-fest') */
56
+ this.externalImports = new Map();
55
57
  /**
56
58
  * Built-in codec mappings: source type -> { codecName, wireType }
57
59
  * Extensible: add more entries to support additional types.
@@ -220,6 +222,8 @@ class RpcTypesGenerator {
220
222
  });
221
223
  }
222
224
  extractTypesFromFile(sourceFile) {
225
+ // First, scan for external package imports (non-relative imports)
226
+ this.extractExternalImports(sourceFile);
223
227
  sourceFile.forEachDescendant((node) => {
224
228
  if (node.getKind() === ts_morph_1.ts.SyntaxKind.InterfaceDeclaration) {
225
229
  this.extractInterface(node, sourceFile);
@@ -235,6 +239,40 @@ class RpcTypesGenerator {
235
239
  }
236
240
  });
237
241
  }
242
+ /**
243
+ * Extract external package imports (non-relative) from a source file.
244
+ * These are imports from npm packages like 'type-fest' that need to be
245
+ * included in the generated RPC types file.
246
+ */
247
+ extractExternalImports(sourceFile) {
248
+ const imports = sourceFile.getImportDeclarations();
249
+ for (const importDecl of imports) {
250
+ const moduleSpecifier = importDecl.getModuleSpecifierValue();
251
+ // Skip relative imports (start with . or ..)
252
+ if (moduleSpecifier.startsWith('.') || moduleSpecifier.startsWith('/')) {
253
+ continue;
254
+ }
255
+ // Skip NestJS and common Node/framework packages that won't be used in RPC types
256
+ // These are framework internals that don't expose serializable types
257
+ if (moduleSpecifier.startsWith('@nestjs') ||
258
+ moduleSpecifier.startsWith('typeorm') ||
259
+ moduleSpecifier === 'reflect-metadata' ||
260
+ moduleSpecifier === 'class-validator' ||
261
+ moduleSpecifier === 'class-transformer') {
262
+ continue;
263
+ }
264
+ // Extract named imports (type imports are particularly important)
265
+ const namedImports = importDecl.getNamedImports();
266
+ for (const namedImport of namedImports) {
267
+ const importName = namedImport.getName();
268
+ // Track this external type -> package mapping
269
+ // Only add if not already tracked (first occurrence wins)
270
+ if (!this.externalImports.has(importName)) {
271
+ this.externalImports.set(importName, moduleSpecifier);
272
+ }
273
+ }
274
+ }
275
+ }
238
276
  extractInterface(interfaceDeclaration, sourceFile) {
239
277
  const name = interfaceDeclaration.getName();
240
278
  const moduleName = this.getModuleForFile(sourceFile.getFilePath());
@@ -247,6 +285,8 @@ class RpcTypesGenerator {
247
285
  const properties = interfaceDeclaration.getProperties();
248
286
  let source = interfaceDeclaration.getText();
249
287
  // Check each property for codec-handled types
288
+ // We track codec fields for RpcTypeInfo metadata, but keep original types (e.g., Date)
289
+ // in the generated interfaces. The codec handles wire format conversion at runtime.
250
290
  properties.forEach((prop) => {
251
291
  const propName = prop.getName();
252
292
  const typeNode = prop.getTypeNode();
@@ -254,10 +294,9 @@ class RpcTypesGenerator {
254
294
  const propType = typeNode.getText();
255
295
  const codecInfo = this.getCodecForType(propType);
256
296
  if (codecInfo) {
297
+ // Track the codec field for RpcTypeInfo metadata
298
+ // But DON'T replace the type - keep Date as Date in the interface
257
299
  typeCodecFields.set(propName, codecInfo.codecName);
258
- // Replace the type with wire type in the source
259
- const newType = codecInfo.wireType;
260
- source = source.replace(new RegExp(`(${propName}\\s*[?]?\\s*:\\s*)${propType.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}`, 'g'), `$1${newType}`);
261
300
  }
262
301
  else {
263
302
  // Check if this is a reference to another type (potential nested type)
@@ -326,11 +365,12 @@ class RpcTypesGenerator {
326
365
  // Clean up the type string - remove import paths and keep it simple
327
366
  propType = this.cleanTypeString(fullType);
328
367
  }
329
- // Check if this type needs a codec and convert to wire type
368
+ // Check if this type needs a codec - track for RpcTypeInfo metadata
369
+ // But keep original type (e.g., Date) in the interface - codec handles wire conversion
330
370
  const codecInfo = this.getCodecForType(propType);
331
371
  if (codecInfo) {
332
372
  typeCodecFields.set(propName, codecInfo.codecName);
333
- propType = codecInfo.wireType;
373
+ // DON'T convert to wire type - keep Date as Date
334
374
  }
335
375
  else {
336
376
  // Check if this is a reference to another type (potential nested type)
@@ -688,11 +728,13 @@ ${domainMethodDefinitions}
688
728
  const typesSection = [moduleEnums, moduleInterfaces].filter(section => section.length > 0).join('\n\n');
689
729
  // Generate codec field metadata for types in this module only
690
730
  const moduleCodecFields = this.generateCodecFieldsMetadata(moduleName);
731
+ // Generate external package imports for types that are used but not defined in the codebase
732
+ const externalImportsSection = this.generateExternalImports(referencedTypes);
691
733
  const fileContent = `// Auto-generated RPC types for ${moduleName.charAt(0).toUpperCase() + moduleName.slice(1)} module
692
734
  // Do not edit this file manually - it will be overwritten
693
735
  //
694
736
  // IMPORTANT: All types must be JSON-serializable for TCP transport when extracted to microservices
695
-
737
+ ${externalImportsSection}
696
738
  // ${moduleName.charAt(0).toUpperCase() + moduleName.slice(1)} module types
697
739
  ${typesSection}
698
740
 
@@ -703,6 +745,43 @@ ${moduleCodecFields}
703
745
  const outputPath = path.join(this.options.rootDir, this.config.outputDir, `${moduleName}.rpc.gen.ts`);
704
746
  fs.writeFileSync(outputPath, fileContent, 'utf8');
705
747
  }
748
+ /**
749
+ * Generate import statements for external package types that are used in the generated file.
750
+ * Only includes types that are referenced and come from external packages (not defined in codebase).
751
+ */
752
+ generateExternalImports(referencedTypes) {
753
+ // Group external types by their package
754
+ const packageToTypes = new Map();
755
+ referencedTypes.forEach(typeName => {
756
+ // Skip if this type is defined in our codebase (interfaces or enums)
757
+ if (this.interfaces.has(typeName) || this.enums.has(typeName)) {
758
+ return;
759
+ }
760
+ // Skip built-in types
761
+ if (this.isBuiltInType(typeName)) {
762
+ return;
763
+ }
764
+ // Check if this is an external import we tracked
765
+ const packageName = this.externalImports.get(typeName);
766
+ if (packageName) {
767
+ if (!packageToTypes.has(packageName)) {
768
+ packageToTypes.set(packageName, []);
769
+ }
770
+ packageToTypes.get(packageName).push(typeName);
771
+ }
772
+ });
773
+ if (packageToTypes.size === 0) {
774
+ return '';
775
+ }
776
+ // Generate import statements, grouped by package
777
+ const importStatements = Array.from(packageToTypes.entries())
778
+ .map(([packageName, types]) => {
779
+ const sortedTypes = types.sort();
780
+ return `import type { ${sortedTypes.join(', ')} } from '${packageName}';`;
781
+ })
782
+ .join('\n');
783
+ return `\n${importStatements}\n`;
784
+ }
706
785
  /** Generate codec metadata for types belonging to this module only */
707
786
  generateCodecFieldsMetadata(moduleName) {
708
787
  const codecEntries = [];
@@ -850,7 +929,7 @@ ${mergeEntries}
850
929
  });
851
930
  }
852
931
  });
853
- const typesList = Array.from(referencedTypes).filter(type => !this.isBuiltInType(type) && !this.isInternalType(type));
932
+ const typesList = Array.from(referencedTypes).filter(type => !this.isBuiltInType(type) && !this.isInternalType(type) && !this.externalImports.has(type));
854
933
  const imports = [`${this.toCamelCase(moduleName)}Domain`];
855
934
  if (typesList.length > 0) {
856
935
  imports.push(...typesList);
@@ -892,7 +971,7 @@ ${mergeEntries}
892
971
  });
893
972
  }
894
973
  });
895
- const typesList = Array.from(referencedTypes).filter(type => !this.isBuiltInType(type) && !this.isInternalType(type));
974
+ const typesList = Array.from(referencedTypes).filter(type => !this.isBuiltInType(type) && !this.isInternalType(type) && !this.externalImports.has(type));
896
975
  const exports = [`${this.toCamelCase(moduleName)}Domain`];
897
976
  if (typesList.length > 0) {
898
977
  exports.push(...typesList);
@@ -922,6 +1001,18 @@ export interface IRpcClient {
922
1001
  const rpcFunctionInfo = this.generateRpcFunctionInfo(moduleGroups);
923
1002
  // Generate codec field imports and re-exports from module files
924
1003
  const codecFieldImportsAndExports = this.generateCodecFieldReExports(moduleGroups);
1004
+ // Collect all external types referenced across all modules for the main file
1005
+ const allReferencedTypes = new Set();
1006
+ Object.values(moduleGroups).forEach(methods => {
1007
+ methods.forEach(method => {
1008
+ method.paramTypes.forEach(param => {
1009
+ this.extractTypeNames(param.type).forEach(typeName => allReferencedTypes.add(typeName));
1010
+ });
1011
+ this.extractTypeNames(method.returnType).forEach(typeName => allReferencedTypes.add(typeName));
1012
+ });
1013
+ });
1014
+ // Generate external imports for the main file
1015
+ const externalImportsSection = this.generateExternalImports(allReferencedTypes);
925
1016
  const fileContent = `// Auto-generated RPC types from all modules
926
1017
  // Do not edit this file manually - it will be overwritten
927
1018
  //
@@ -931,7 +1022,7 @@ export interface IRpcClient {
931
1022
  // Prefer: primitives, plain objects, arrays, null (instead of undefined), Date (auto-converted)
932
1023
 
933
1024
  ${moduleImports}
934
- ${codecFieldImportsAndExports.imports}
1025
+ ${codecFieldImportsAndExports.imports}${externalImportsSection}
935
1026
 
936
1027
  // Re-export domain interfaces and types
937
1028
  ${moduleReExports}
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-types-generator.js","sourceRoot":"","sources":["../../src/generators/rpc-types-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc-types-generator.js","sourceRoot":"","sources":["../../src/generators/rpc-types-generator.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,6 +4,7 @@ export * from './decorators/rpc-controller.decorator';
4
4
  export * from './rpc/typed-message-bus';
5
5
  export * from './rpc/rpc-registry';
6
6
  export * from './rpc/rpc-client';
7
+ export * from './rpc/rpc.module';
7
8
  export * from './transport';
8
9
  export * from './generators/rpc-types-generator';
9
10
  export * from './types/serializable';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -20,6 +20,7 @@ __exportStar(require("./decorators/rpc-controller.decorator"), exports);
20
20
  __exportStar(require("./rpc/typed-message-bus"), exports);
21
21
  __exportStar(require("./rpc/rpc-registry"), exports);
22
22
  __exportStar(require("./rpc/rpc-client"), exports);
23
+ __exportStar(require("./rpc/rpc.module"), exports);
23
24
  __exportStar(require("./transport"), exports);
24
25
  __exportStar(require("./generators/rpc-types-generator"), exports);
25
26
  __exportStar(require("./types/serializable"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,oEAAkD;AAClD,wEAAsD;AACtD,0DAAwC;AACxC,qDAAmC;AACnC,mDAAiC;AACjC,8CAA4B;AAC5B,mEAAiD;AACjD,uDAAqC;AACrC,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,oEAAkD;AAClD,wEAAsD;AACtD,0DAAwC;AACxC,qDAAmC;AACnC,mDAAiC;AACjC,mDAAiC;AACjC,8CAA4B;AAC5B,mEAAiD;AACjD,uDAAqC;AACrC,2CAAyB"}
@@ -1,3 +1,13 @@
1
+ import { Observable } from 'rxjs';
2
+ /**
3
+ * Minimal interface for ClientProxy that works with both NestJS 10 and 11.
4
+ * NestJS 11 uses generic ClientProxy<EventsMap, Status>, while NestJS 10 uses non-generic.
5
+ * This duck-typed interface ensures compatibility with both versions.
6
+ */
7
+ export interface RpcClientProxy {
8
+ send<TResult = any, TInput = any>(pattern: any, data: TInput): Observable<TResult>;
9
+ emit<TResult = any, TInput = any>(pattern: any, data: TInput): Observable<TResult>;
10
+ }
1
11
  export interface ModularModule {
2
12
  name: string;
3
13
  version: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,GAAG;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;CACjB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,OAAO,GAAG,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACnF,IAAI,CAAC,OAAO,GAAG,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;CACpF;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,GAAG;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;CACjB"}
@@ -1,5 +1,5 @@
1
- import { ClientProxy } from '@nestjs/microservices';
2
1
  import { RpcCodecMetadata } from '../codecs';
2
+ import type { RpcClientProxy } from '../interfaces';
3
3
  /**
4
4
  * Function info for an RPC pattern, containing param and return type mappings.
5
5
  */
@@ -35,7 +35,7 @@ export declare class RpcClient {
35
35
  private typeInfo;
36
36
  private functionInfo;
37
37
  private skipCodec;
38
- constructor(client: ClientProxy<any, any>, options?: RpcClientOptions);
38
+ constructor(client: RpcClientProxy, options?: RpcClientOptions);
39
39
  /**
40
40
  * Create domain proxies dynamically based on the RPC methods available.
41
41
  * Automatically encodes/decodes values using registered codecs.
@@ -66,7 +66,7 @@ export declare class RpcClient {
66
66
  * }
67
67
  * ```
68
68
  */
69
- export declare function createRpcClientProxy(client: ClientProxy<any, any>, options?: RpcClientOptions): any;
69
+ export declare function createRpcClientProxy(client: RpcClientProxy, options?: RpcClientOptions): any;
70
70
  export interface ITypedRpcClient {
71
71
  [domain: string]: {
72
72
  [method: string]: (params: any) => Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-client.d.ts","sourceRoot":"","sources":["../../src/rpc/rpc-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAoB,gBAAgB,EAAa,MAAM,WAAW,CAAC;AAG1E;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,4DAA4D;IAC5D,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAE5B;;;OAGG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC;AAaD,qBACa,SAAS;IAOlB,OAAO,CAAC,QAAQ,CAAC,MAAM;IANzB,OAAO,CAAC,aAAa,CAAmB;IACxC,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,SAAS,CAAU;gBAGR,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAC9C,OAAO,GAAE,gBAAqB;IAShC;;;;OAIG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;CA6BvC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAC7B,OAAO,GAAE,gBAAqB,GAC7B,GAAG,CAOL;AAGD,MAAM,WAAW,eAAe;IAC9B,CAAC,MAAM,EAAE,MAAM,GAAG;QAChB,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;KACjD,CAAC;CACH"}
1
+ {"version":3,"file":"rpc-client.d.ts","sourceRoot":"","sources":["../../src/rpc/rpc-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,gBAAgB,EAAa,MAAM,WAAW,CAAC;AAE1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,4DAA4D;IAC5D,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAE5B;;;OAGG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC;AAaD,qBACa,SAAS;IAOlB,OAAO,CAAC,QAAQ,CAAC,MAAM;IANzB,OAAO,CAAC,aAAa,CAAmB;IACxC,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,SAAS,CAAU;gBAGR,MAAM,EAAE,cAAc,EACvC,OAAO,GAAE,gBAAqB;IAShC;;;;OAIG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;CA6BvC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,gBAAqB,GAC7B,GAAG,CAOL;AAGD,MAAM,WAAW,eAAe;IAC9B,CAAC,MAAM,EAAE,MAAM,GAAG;QAChB,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;KACjD,CAAC;CACH"}
@@ -12,7 +12,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.RpcClient = void 0;
13
13
  exports.createRpcClientProxy = createRpcClientProxy;
14
14
  const common_1 = require("@nestjs/common");
15
- const microservices_1 = require("@nestjs/microservices");
16
15
  const rxjs_1 = require("rxjs");
17
16
  const codecs_1 = require("../codecs");
18
17
  const in_process_client_1 = require("../transport/in-process.client");
@@ -71,7 +70,7 @@ let RpcClient = class RpcClient {
71
70
  exports.RpcClient = RpcClient;
72
71
  exports.RpcClient = RpcClient = __decorate([
73
72
  (0, common_1.Injectable)(),
74
- __metadata("design:paramtypes", [microservices_1.ClientProxy, Object])
73
+ __metadata("design:paramtypes", [Object, Object])
75
74
  ], RpcClient);
76
75
  /**
77
76
  * Create an RPC client proxy with automatic Date transformation.
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-client.js","sourceRoot":"","sources":["../../src/rpc/rpc-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc-client.js","sourceRoot":"","sources":["../../src/rpc/rpc-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import { DynamicModule, type Type } from '@nestjs/common';
2
+ import type { RpcClientProxy } from '../interfaces';
3
+ import { type RpcFunctionInfoMap } from './rpc-client';
4
+ import type { RpcCodecMetadata } from '../codecs';
5
+ /**
6
+ * Options for RpcModule.forRoot()
7
+ */
8
+ export interface RpcModuleOptions {
9
+ /**
10
+ * The ClientProxy class to use for RPC communication.
11
+ * Typically InProcessClientProxy for monolith deployments.
12
+ * Uses a flexible type to support both NestJS 10 (non-generic) and NestJS 11 (generic) ClientProxy.
13
+ */
14
+ clientProxyClass: Type<RpcClientProxy>;
15
+ /**
16
+ * Optional injection token for the client.
17
+ * Defaults to 'RPC_CLIENT'.
18
+ */
19
+ clientToken?: string;
20
+ /**
21
+ * Type metadata mapping type names to their codec fields.
22
+ * Generated by the RPC type generator (RpcTypeInfo).
23
+ * When provided, Date fields are automatically converted.
24
+ */
25
+ typeInfo?: RpcCodecMetadata;
26
+ /**
27
+ * Function info mapping RPC patterns to their param/return type names.
28
+ * Generated by the RPC type generator (RpcFunctionInfo).
29
+ */
30
+ functionInfo?: RpcFunctionInfoMap;
31
+ }
32
+ /**
33
+ * Token used to inject the RPC ClientProxy.
34
+ */
35
+ export declare const RPC_CLIENT = "RPC_CLIENT";
36
+ /**
37
+ * Token used to inject the configured RPC client proxy.
38
+ * This provides a ready-to-use RPC client with automatic type transformations.
39
+ */
40
+ export declare const RPC = "RPC";
41
+ /**
42
+ * Module that configures RPC communication for a NestJS application.
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * import { RpcModule, InProcessClientProxy } from '@zdavison/nestjs-rpc-toolkit';
47
+ * import { RpcTypeInfo, RpcFunctionInfo } from '@your-org/lib-rpc';
48
+ *
49
+ * @Module({
50
+ * imports: [
51
+ * RpcModule.forRoot({
52
+ * clientProxyClass: InProcessClientProxy,
53
+ * typeInfo: RpcTypeInfo,
54
+ * functionInfo: RpcFunctionInfo,
55
+ * }),
56
+ * ],
57
+ * })
58
+ * export class AppModule {}
59
+ *
60
+ * // In any module, inject 'RPC' to get the configured client:
61
+ * @Injectable()
62
+ * class MyService {
63
+ * constructor(@Inject('RPC') private rpc: IRpcClient) {}
64
+ * }
65
+ * ```
66
+ */
67
+ export declare class RpcModule {
68
+ /**
69
+ * Configure the RPC module with a specific ClientProxy implementation.
70
+ *
71
+ * @param options - Configuration options including the ClientProxy class
72
+ * @returns Dynamic module configuration
73
+ */
74
+ static forRoot(options: RpcModuleOptions): DynamicModule;
75
+ }
76
+ //# sourceMappingURL=rpc.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc.module.d.ts","sourceRoot":"","sources":["../../src/rpc/rpc.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,aAAa,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAElE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAEvC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAE5B;;;OAGG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,eAAe,CAAC;AAEvC;;;GAGG;AACH,eAAO,MAAM,GAAG,QAAQ,CAAC;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBACa,SAAS;IACpB;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG,aAAa;CA8BzD"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var RpcModule_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.RpcModule = exports.RPC = exports.RPC_CLIENT = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const microservices_1 = require("@nestjs/microservices");
13
+ const rpc_client_1 = require("./rpc-client");
14
+ /**
15
+ * Token used to inject the RPC ClientProxy.
16
+ */
17
+ exports.RPC_CLIENT = 'RPC_CLIENT';
18
+ /**
19
+ * Token used to inject the configured RPC client proxy.
20
+ * This provides a ready-to-use RPC client with automatic type transformations.
21
+ */
22
+ exports.RPC = 'RPC';
23
+ /**
24
+ * Module that configures RPC communication for a NestJS application.
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * import { RpcModule, InProcessClientProxy } from '@zdavison/nestjs-rpc-toolkit';
29
+ * import { RpcTypeInfo, RpcFunctionInfo } from '@your-org/lib-rpc';
30
+ *
31
+ * @Module({
32
+ * imports: [
33
+ * RpcModule.forRoot({
34
+ * clientProxyClass: InProcessClientProxy,
35
+ * typeInfo: RpcTypeInfo,
36
+ * functionInfo: RpcFunctionInfo,
37
+ * }),
38
+ * ],
39
+ * })
40
+ * export class AppModule {}
41
+ *
42
+ * // In any module, inject 'RPC' to get the configured client:
43
+ * @Injectable()
44
+ * class MyService {
45
+ * constructor(@Inject('RPC') private rpc: IRpcClient) {}
46
+ * }
47
+ * ```
48
+ */
49
+ let RpcModule = RpcModule_1 = class RpcModule {
50
+ /**
51
+ * Configure the RPC module with a specific ClientProxy implementation.
52
+ *
53
+ * @param options - Configuration options including the ClientProxy class
54
+ * @returns Dynamic module configuration
55
+ */
56
+ static forRoot(options) {
57
+ const clientToken = options.clientToken ?? exports.RPC_CLIENT;
58
+ return {
59
+ module: RpcModule_1,
60
+ imports: [
61
+ microservices_1.ClientsModule.register([
62
+ {
63
+ name: clientToken,
64
+ // Cast to any to support both NestJS 10 and 11 ClientProxy types
65
+ customClass: options.clientProxyClass,
66
+ },
67
+ ]),
68
+ ],
69
+ providers: [
70
+ // Provide a configured RPC client proxy with automatic type transformations
71
+ {
72
+ provide: exports.RPC,
73
+ useFactory: (client) => (0, rpc_client_1.createRpcClientProxy)(client, {
74
+ typeInfo: options.typeInfo,
75
+ functionInfo: options.functionInfo,
76
+ }),
77
+ inject: [clientToken],
78
+ },
79
+ ],
80
+ exports: [microservices_1.ClientsModule, exports.RPC],
81
+ global: true,
82
+ };
83
+ }
84
+ };
85
+ exports.RpcModule = RpcModule;
86
+ exports.RpcModule = RpcModule = RpcModule_1 = __decorate([
87
+ (0, common_1.Module)({})
88
+ ], RpcModule);
89
+ //# sourceMappingURL=rpc.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc.module.js","sourceRoot":"","sources":["../../src/rpc/rpc.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAkE;AAClE,yDAAsD;AAEtD,6CAA6E;AAkC7E;;GAEG;AACU,QAAA,UAAU,GAAG,YAAY,CAAC;AAEvC;;;GAGG;AACU,QAAA,GAAG,GAAG,KAAK,CAAC;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEI,IAAM,SAAS,iBAAf,MAAM,SAAS;IACpB;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CAAC,OAAyB;QACtC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAU,CAAC;QAEtD,OAAO;YACL,MAAM,EAAE,WAAS;YACjB,OAAO,EAAE;gBACP,6BAAa,CAAC,QAAQ,CAAC;oBACrB;wBACE,IAAI,EAAE,WAAW;wBACjB,iEAAiE;wBACjE,WAAW,EAAE,OAAO,CAAC,gBAAuB;qBAC7C;iBACF,CAAC;aACH;YACD,SAAS,EAAE;gBACT,4EAA4E;gBAC5E;oBACE,OAAO,EAAE,WAAG;oBACZ,UAAU,EAAE,CAAC,MAAsB,EAAE,EAAE,CACrC,IAAA,iCAAoB,EAAC,MAAM,EAAE;wBAC3B,QAAQ,EAAE,OAAO,CAAC,QAAQ;wBAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;qBACnC,CAAC;oBACJ,MAAM,EAAE,CAAC,WAAW,CAAC;iBACtB;aACF;YACD,OAAO,EAAE,CAAC,6BAAa,EAAE,WAAG,CAAC;YAC7B,MAAM,EAAE,IAAI;SACb,CAAC;IACJ,CAAC;CACF,CAAA;AArCY,8BAAS;oBAAT,SAAS;IADrB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,SAAS,CAqCrB"}
@@ -1,4 +1,4 @@
1
- import { ClientProxy } from '@nestjs/microservices';
1
+ import type { RpcClientProxy } from '../interfaces';
2
2
  export interface RpcMessage<TData = any, TReturns = any> {
3
3
  pattern: string;
4
4
  data: TData;
@@ -25,7 +25,7 @@ export interface IMessageBus<TRpcMethods = any> {
25
25
  }
26
26
  export declare class MessageBus<TRpcMethods = any> implements IMessageBus<TRpcMethods> {
27
27
  private readonly client;
28
- constructor(client: ClientProxy<any, any>);
28
+ constructor(client: RpcClientProxy);
29
29
  send<TPattern extends keyof TRpcMethods>(pattern: TPattern, data: TRpcMethods[TPattern] extends {
30
30
  params: infer P;
31
31
  } ? P : any): Promise<TRpcMethods[TPattern] extends {
@@ -1 +1 @@
1
- {"version":3,"file":"typed-message-bus.d.ts","sourceRoot":"","sources":["../../src/rpc/typed-message-bus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,WAAW,UAAU,CAAC,KAAK,GAAG,GAAG,EAAE,QAAQ,GAAG,GAAG;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,KAAK,CAAC;IAEZ,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,WAAW,CAAC,WAAW,GAAG,GAAG;IAC5C;;;;;OAKG;IACH,IAAI,CAAC,QAAQ,SAAS,MAAM,WAAW,EACrC,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS;QAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,GAAG,GAChE,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS;QAAE,OAAO,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IAEzE;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC;CACxC;AAED,qBACa,UAAU,CAAC,WAAW,GAAG,GAAG,CAAE,YAAW,WAAW,CAAC,WAAW,CAAC;IAChE,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC;IAEpD,IAAI,CAAC,QAAQ,SAAS,MAAM,WAAW,EAC3C,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS;QAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,GAAG,GAChE,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS;QAAE,OAAO,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,GAAG,CAAC;IAUxE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI;CAGvC"}
1
+ {"version":3,"file":"typed-message-bus.d.ts","sourceRoot":"","sources":["../../src/rpc/typed-message-bus.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,MAAM,WAAW,UAAU,CAAC,KAAK,GAAG,GAAG,EAAE,QAAQ,GAAG,GAAG;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,KAAK,CAAC;IAEZ,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,WAAW,CAAC,WAAW,GAAG,GAAG;IAC5C;;;;;OAKG;IACH,IAAI,CAAC,QAAQ,SAAS,MAAM,WAAW,EACrC,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS;QAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,GAAG,GAChE,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS;QAAE,OAAO,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IAEzE;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC;CACxC;AAED,qBACa,UAAU,CAAC,WAAW,GAAG,GAAG,CAAE,YAAW,WAAW,CAAC,WAAW,CAAC;IAChE,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAE7C,IAAI,CAAC,QAAQ,SAAS,MAAM,WAAW,EAC3C,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS;QAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,GAAG,GAChE,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS;QAAE,OAAO,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,GAAG,CAAC;IAUxE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI;CAGvC"}
@@ -11,14 +11,14 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.MessageBus = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
- const microservices_1 = require("@nestjs/microservices");
14
+ const rxjs_1 = require("rxjs");
15
15
  let MessageBus = class MessageBus {
16
16
  constructor(client) {
17
17
  this.client = client;
18
18
  }
19
19
  async send(pattern, data) {
20
20
  try {
21
- const result = await this.client.send(pattern, data).toPromise();
21
+ const result = await (0, rxjs_1.firstValueFrom)(this.client.send(pattern, data));
22
22
  return result;
23
23
  }
24
24
  catch (error) {
@@ -33,6 +33,6 @@ let MessageBus = class MessageBus {
33
33
  exports.MessageBus = MessageBus;
34
34
  exports.MessageBus = MessageBus = __decorate([
35
35
  (0, common_1.Injectable)(),
36
- __metadata("design:paramtypes", [microservices_1.ClientProxy])
36
+ __metadata("design:paramtypes", [Object])
37
37
  ], MessageBus);
38
38
  //# sourceMappingURL=typed-message-bus.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typed-message-bus.js","sourceRoot":"","sources":["../../src/rpc/typed-message-bus.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yDAAoD;AA+B7C,IAAM,UAAU,GAAhB,MAAM,UAAU;IACrB,YAA6B,MAA6B;QAA7B,WAAM,GAAN,MAAM,CAAuB;IAAG,CAAC;IAE9D,KAAK,CAAC,IAAI,CACR,OAAiB,EACjB,IAAiE;QAEjE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;YACjE,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qDAAqD;YACrD,MAAM,IAAI,KAAK,CAAC,gBAAgB,MAAM,CAAC,OAAO,CAAC,aAAa,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAS;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;CACF,CAAA;AAnBY,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;qCAE0B,2BAAW;GADrC,UAAU,CAmBtB"}
1
+ {"version":3,"file":"typed-message-bus.js","sourceRoot":"","sources":["../../src/rpc/typed-message-bus.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,+BAAsC;AAgC/B,IAAM,UAAU,GAAhB,MAAM,UAAU;IACrB,YAA6B,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;IAAG,CAAC;IAEvD,KAAK,CAAC,IAAI,CACR,OAAiB,EACjB,IAAiE;QAEjE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAc,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YACrE,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qDAAqD;YACrD,MAAM,IAAI,KAAK,CAAC,gBAAgB,MAAM,CAAC,OAAO,CAAC,aAAa,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAS;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;CACF,CAAA;AAnBY,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;;GACA,UAAU,CAmBtB"}
@@ -134,13 +134,8 @@ interface SerializableJsonObject {
134
134
  }
135
135
  interface SerializableJsonArray extends Array<SerializableJson> {
136
136
  }
137
- type HasNeverProperty<T> = {
138
- [K in keyof T]: [T[K]] extends [never] ? true : false;
139
- }[keyof T] extends false ? false : true;
140
137
  type Equal<X, Y> = (<T>() => T extends X ? 1 : 2) extends (<T>() => T extends Y ? 1 : 2) ? true : false;
141
- type IsSerializable<T> = Equal<T, undefined> extends true ? never : Equal<T, symbol> extends true ? never : Equal<T, null> extends true ? T : T extends Function ? never : T extends Date ? T : T extends string | number | boolean ? T : T extends Array<infer U> ? Array<IsSerializable<U>> : T extends object ? ({
142
- [K in keyof T]: IsSerializable<T[K]>;
143
- } extends infer O ? HasNeverProperty<O> extends true ? never : O : never) : never;
138
+ type IsSerializable<T> = Equal<T, undefined> extends true ? never : Equal<T, symbol> extends true ? never : T extends Function ? never : T;
144
139
  /**
145
140
  * Helper type to check if a type is serializable.
146
141
  * Validates JSON compatibility (no undefined, no functions, no symbols).
@@ -1 +1 @@
1
- {"version":3,"file":"serializable.d.ts","sourceRoot":"","sources":["../../src/types/serializable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serializable.d.ts","sourceRoot":"","sources":["../../src/types/serializable.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zdavison/nestjs-rpc-toolkit",
3
- "version": "0.2.2",
3
+ "version": "0.3.0",
4
4
  "description": "Toolkit for type-safe RPC calls in NestJS monorepos.",
5
5
  "private": false,
6
6
  "main": "dist/index.js",
@@ -23,8 +23,8 @@
23
23
  "type-fest": "^5.0.1"
24
24
  },
25
25
  "devDependencies": {
26
- "@nestjs/common": "^11.0.0",
27
- "@nestjs/microservices": "^11.0.0",
26
+ "@nestjs/common": "^10.0.0",
27
+ "@nestjs/microservices": "^10.0.0",
28
28
  "@types/node": "^20.0.0",
29
29
  "typescript": "^5.0.0"
30
30
  },
@@ -35,8 +35,8 @@
35
35
  "node": ">=18.0.0"
36
36
  },
37
37
  "peerDependencies": {
38
- "@nestjs/common": "^11.0.0",
39
- "@nestjs/microservices": "^11.0.0",
38
+ "@nestjs/common": "^10.0.0 || ^11.0.0",
39
+ "@nestjs/microservices": "^10.0.0 || ^11.0.0",
40
40
  "reflect-metadata": "^0.1.13 || ^0.2.0"
41
41
  }
42
42
  }