@amqp-contract/worker-nestjs 0.12.0 → 0.14.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.
- package/dist/index.d.cts +7 -7
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +7 -7
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/docs/index.md +45 -44
- package/package.json +4 -4
package/dist/index.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AmqpConnectionManagerOptions, ConnectionUrl } from "amqp-connection-manager";
|
|
2
2
|
import { DynamicModule, ModuleMetadata, OnModuleDestroy, OnModuleInit, Type } from "@nestjs/common";
|
|
3
3
|
import { WorkerInferSafeConsumerHandlers, WorkerInferSafeConsumerHandlers as WorkerInferSafeConsumerHandlers$1, defineHandler, defineHandlers } from "@amqp-contract/worker";
|
|
4
|
-
import {
|
|
4
|
+
import { ContractDefinitionInput } from "@amqp-contract/contract";
|
|
5
5
|
|
|
6
6
|
//#region src/worker.service.d.ts
|
|
7
7
|
|
|
@@ -27,7 +27,7 @@ import { ContractDefinition } from "@amqp-contract/contract";
|
|
|
27
27
|
* };
|
|
28
28
|
* ```
|
|
29
29
|
*/
|
|
30
|
-
type AmqpWorkerModuleOptions<TContract extends
|
|
30
|
+
type AmqpWorkerModuleOptions<TContract extends ContractDefinitionInput> = {
|
|
31
31
|
/** The AMQP contract definition specifying consumers and their message schemas */
|
|
32
32
|
contract: TContract;
|
|
33
33
|
/** Message handlers for each consumer defined in the contract. Use defineHandlers to create type-safe handlers. */
|
|
@@ -71,7 +71,7 @@ type AmqpWorkerModuleOptions<TContract extends ContractDefinition> = {
|
|
|
71
71
|
* // and stops gracefully when the application shuts down
|
|
72
72
|
* ```
|
|
73
73
|
*/
|
|
74
|
-
declare class AmqpWorkerService<TContract extends
|
|
74
|
+
declare class AmqpWorkerService<TContract extends ContractDefinitionInput> implements OnModuleInit, OnModuleDestroy {
|
|
75
75
|
private readonly options;
|
|
76
76
|
private worker;
|
|
77
77
|
constructor(options: AmqpWorkerModuleOptions<TContract>);
|
|
@@ -100,11 +100,11 @@ declare class AmqpWorkerService<TContract extends ContractDefinition> implements
|
|
|
100
100
|
/**
|
|
101
101
|
* Factory function return type for async module configuration
|
|
102
102
|
*/
|
|
103
|
-
type AmqpWorkerModuleOptionsFactory<TContract extends
|
|
103
|
+
type AmqpWorkerModuleOptionsFactory<TContract extends ContractDefinitionInput> = AmqpWorkerModuleOptions<TContract> | Promise<AmqpWorkerModuleOptions<TContract>>;
|
|
104
104
|
/**
|
|
105
105
|
* Options for async module configuration using factory pattern
|
|
106
106
|
*/
|
|
107
|
-
type AmqpWorkerModuleAsyncOptions<TContract extends
|
|
107
|
+
type AmqpWorkerModuleAsyncOptions<TContract extends ContractDefinitionInput> = {
|
|
108
108
|
/**
|
|
109
109
|
* Factory function that returns the module options.
|
|
110
110
|
* Can use injected dependencies to create configuration.
|
|
@@ -174,14 +174,14 @@ declare class AmqpWorkerModule {
|
|
|
174
174
|
* @param options - The worker configuration options with contract and handlers
|
|
175
175
|
* @returns A dynamic module for NestJS
|
|
176
176
|
*/
|
|
177
|
-
static forRoot<TContract extends
|
|
177
|
+
static forRoot<TContract extends ContractDefinitionInput>(options: AmqpWorkerModuleOptions<TContract>): DynamicModule;
|
|
178
178
|
/**
|
|
179
179
|
* Register the AMQP worker module with asynchronous configuration
|
|
180
180
|
*
|
|
181
181
|
* @param options - Async configuration options with factory function
|
|
182
182
|
* @returns A dynamic module for NestJS
|
|
183
183
|
*/
|
|
184
|
-
static forRootAsync<TContract extends
|
|
184
|
+
static forRootAsync<TContract extends ContractDefinitionInput>(options: AmqpWorkerModuleAsyncOptions<TContract>): DynamicModule;
|
|
185
185
|
}
|
|
186
186
|
//#endregion
|
|
187
187
|
//#region src/worker.module-definition.d.ts
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/worker.service.ts","../src/worker.module.ts","../src/worker.module-definition.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AA4BA;;;;;;;;AA6CA;;;;;;;;;;;;AC3DK,KDcO,uBCdP,CAAA,kBDciD,
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/worker.service.ts","../src/worker.module.ts","../src/worker.module-definition.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AA4BA;;;;;;;;AA6CA;;;;;;;;;;;;AC3DK,KDcO,uBCdP,CAAA,kBDciD,uBCdnB,CAAA,GAAA;EAAmB;EAC1B,QAAA,EDehB,SCfgB;EAAxB;EACgC,QAAA,EDgBxB,iCChBwB,CDgBQ,SChBR,CAAA;EAAxB;EAAR,IAAA,EDkBI,aClBJ,EAAA;EAAO;EAKC,iBAAA,CAAA,EDeU,4BCfkB,GAAA,SAAA;CAAmB;;;;;;AAiE3D;;;;;;;;;;;;;AClFA;;;;;;;;;;;;;;;;cFsEa,oCAAoC,oCACpC,cAAc;;;uBAMG,wBAAwB;;;;;;;;;;;kBAa9B;;;;;;;;qBAWG;;;;;;;AA7E3B,KCdK,8BDc8B,CAAA,kBCdmB,uBDcnB,CAAA,GCb/B,uBDa+B,CCbP,SDaO,CAAA,GCZ/B,ODY+B,CCZvB,uBDYuB,CCZC,SDYD,CAAA,CAAA;;;;AAIvB,KCXA,4BDWA,CAAA,kBCX+C,uBDW/C,CAAA,GAAA;EAEJ;;;AAuCR;EACiD,UAAA,EAAA,CAAA,GAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GC/Cf,8BD+Ce,CC/CgB,SD+ChB,CAAA;EAOK;;;;EANzC,MAAA,CAAA,EAAA,CAAA,MAAA,GAAA,MAAA,GC3CiB,ID2CjB,CAAA,OAAA,CAAA,CAAA,EAAA;EAAc;;;YCvCf;;AA5B2D;;;;;;;;AAavE;;;;;;;AAiEA;;;;;;;;;;;;;AClFA;;;;;;;;;;;;;;;;;;;cDmFa,gBAAA;;;;;;;mCAOsB,kCACtB,wBAAwB,aAChC;;;;;;;wCAoBmC,kCAC3B,6BAA6B,aACrC;;;;;;;;cClHQ"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DynamicModule, ModuleMetadata, OnModuleDestroy, OnModuleInit, Type } from "@nestjs/common";
|
|
2
2
|
import { WorkerInferSafeConsumerHandlers, WorkerInferSafeConsumerHandlers as WorkerInferSafeConsumerHandlers$1, defineHandler, defineHandlers } from "@amqp-contract/worker";
|
|
3
3
|
import { AmqpConnectionManagerOptions, ConnectionUrl } from "amqp-connection-manager";
|
|
4
|
-
import {
|
|
4
|
+
import { ContractDefinitionInput } from "@amqp-contract/contract";
|
|
5
5
|
|
|
6
6
|
//#region src/worker.service.d.ts
|
|
7
7
|
|
|
@@ -27,7 +27,7 @@ import { ContractDefinition } from "@amqp-contract/contract";
|
|
|
27
27
|
* };
|
|
28
28
|
* ```
|
|
29
29
|
*/
|
|
30
|
-
type AmqpWorkerModuleOptions<TContract extends
|
|
30
|
+
type AmqpWorkerModuleOptions<TContract extends ContractDefinitionInput> = {
|
|
31
31
|
/** The AMQP contract definition specifying consumers and their message schemas */
|
|
32
32
|
contract: TContract;
|
|
33
33
|
/** Message handlers for each consumer defined in the contract. Use defineHandlers to create type-safe handlers. */
|
|
@@ -71,7 +71,7 @@ type AmqpWorkerModuleOptions<TContract extends ContractDefinition> = {
|
|
|
71
71
|
* // and stops gracefully when the application shuts down
|
|
72
72
|
* ```
|
|
73
73
|
*/
|
|
74
|
-
declare class AmqpWorkerService<TContract extends
|
|
74
|
+
declare class AmqpWorkerService<TContract extends ContractDefinitionInput> implements OnModuleInit, OnModuleDestroy {
|
|
75
75
|
private readonly options;
|
|
76
76
|
private worker;
|
|
77
77
|
constructor(options: AmqpWorkerModuleOptions<TContract>);
|
|
@@ -100,11 +100,11 @@ declare class AmqpWorkerService<TContract extends ContractDefinition> implements
|
|
|
100
100
|
/**
|
|
101
101
|
* Factory function return type for async module configuration
|
|
102
102
|
*/
|
|
103
|
-
type AmqpWorkerModuleOptionsFactory<TContract extends
|
|
103
|
+
type AmqpWorkerModuleOptionsFactory<TContract extends ContractDefinitionInput> = AmqpWorkerModuleOptions<TContract> | Promise<AmqpWorkerModuleOptions<TContract>>;
|
|
104
104
|
/**
|
|
105
105
|
* Options for async module configuration using factory pattern
|
|
106
106
|
*/
|
|
107
|
-
type AmqpWorkerModuleAsyncOptions<TContract extends
|
|
107
|
+
type AmqpWorkerModuleAsyncOptions<TContract extends ContractDefinitionInput> = {
|
|
108
108
|
/**
|
|
109
109
|
* Factory function that returns the module options.
|
|
110
110
|
* Can use injected dependencies to create configuration.
|
|
@@ -174,14 +174,14 @@ declare class AmqpWorkerModule {
|
|
|
174
174
|
* @param options - The worker configuration options with contract and handlers
|
|
175
175
|
* @returns A dynamic module for NestJS
|
|
176
176
|
*/
|
|
177
|
-
static forRoot<TContract extends
|
|
177
|
+
static forRoot<TContract extends ContractDefinitionInput>(options: AmqpWorkerModuleOptions<TContract>): DynamicModule;
|
|
178
178
|
/**
|
|
179
179
|
* Register the AMQP worker module with asynchronous configuration
|
|
180
180
|
*
|
|
181
181
|
* @param options - Async configuration options with factory function
|
|
182
182
|
* @returns A dynamic module for NestJS
|
|
183
183
|
*/
|
|
184
|
-
static forRootAsync<TContract extends
|
|
184
|
+
static forRootAsync<TContract extends ContractDefinitionInput>(options: AmqpWorkerModuleAsyncOptions<TContract>): DynamicModule;
|
|
185
185
|
}
|
|
186
186
|
//#endregion
|
|
187
187
|
//#region src/worker.module-definition.d.ts
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/worker.service.ts","../src/worker.module.ts","../src/worker.module-definition.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AA4BA;;;;;;;;AA6CA;;;;;;;;;;;;AC3DK,KDcO,uBCdP,CAAA,kBDciD,
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/worker.service.ts","../src/worker.module.ts","../src/worker.module-definition.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AA4BA;;;;;;;;AA6CA;;;;;;;;;;;;AC3DK,KDcO,uBCdP,CAAA,kBDciD,uBCdnB,CAAA,GAAA;EAAmB;EAC1B,QAAA,EDehB,SCfgB;EAAxB;EACgC,QAAA,EDgBxB,iCChBwB,CDgBQ,SChBR,CAAA;EAAxB;EAAR,IAAA,EDkBI,aClBJ,EAAA;EAAO;EAKC,iBAAA,CAAA,EDeU,4BCfkB,GAAA,SAAA;CAAmB;;;;;;AAiE3D;;;;;;;;;;;;;AClFA;;;;;;;;;;;;;;;;cFsEa,oCAAoC,oCACpC,cAAc;;;uBAMG,wBAAwB;;;;;;;;;;;kBAa9B;;;;;;;;qBAWG;;;;;;;AA7E3B,KCdK,8BDc8B,CAAA,kBCdmB,uBDcnB,CAAA,GCb/B,uBDa+B,CCbP,SDaO,CAAA,GCZ/B,ODY+B,CCZvB,uBDYuB,CCZC,SDYD,CAAA,CAAA;;;;AAIvB,KCXA,4BDWA,CAAA,kBCX+C,uBDW/C,CAAA,GAAA;EAEJ;;;AAuCR;EACiD,UAAA,EAAA,CAAA,GAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GC/Cf,8BD+Ce,CC/CgB,SD+ChB,CAAA;EAOK;;;;EANzC,MAAA,CAAA,EAAA,CAAA,MAAA,GAAA,MAAA,GC3CiB,ID2CjB,CAAA,OAAA,CAAA,CAAA,EAAA;EAAc;;;YCvCf;;AA5B2D;;;;;;;;AAavE;;;;;;;AAiEA;;;;;;;;;;;;;AClFA;;;;;;;;;;;;;;;;;;;cDmFa,gBAAA;;;;;;;mCAOsB,kCACtB,wBAAwB,aAChC;;;;;;;wCAoBmC,kCAC3B,6BAA6B,aACrC;;;;;;;;cClHQ"}
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["AmqpWorkerService","AmqpWorkerModule"],"sources":["../src/worker.module-definition.ts","../src/worker.service.ts","../src/worker.module.ts"],"sourcesContent":["/**\n * Injection token for AMQP worker module options\n * Used by NestJS DI system to inject configuration into AmqpWorkerService\n */\nexport const MODULE_OPTIONS_TOKEN = Symbol(\"AMQP_WORKER_MODULE_OPTIONS\");\n","import type { AmqpConnectionManagerOptions, ConnectionUrl } from \"amqp-connection-manager\";\nimport { Inject, Injectable, type OnModuleDestroy, type OnModuleInit } from \"@nestjs/common\";\nimport { TypedAmqpWorker, type WorkerInferSafeConsumerHandlers } from \"@amqp-contract/worker\";\nimport type {
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["AmqpWorkerService","AmqpWorkerModule"],"sources":["../src/worker.module-definition.ts","../src/worker.service.ts","../src/worker.module.ts"],"sourcesContent":["/**\n * Injection token for AMQP worker module options\n * Used by NestJS DI system to inject configuration into AmqpWorkerService\n */\nexport const MODULE_OPTIONS_TOKEN = Symbol(\"AMQP_WORKER_MODULE_OPTIONS\");\n","import type { AmqpConnectionManagerOptions, ConnectionUrl } from \"amqp-connection-manager\";\nimport { Inject, Injectable, type OnModuleDestroy, type OnModuleInit } from \"@nestjs/common\";\nimport { TypedAmqpWorker, type WorkerInferSafeConsumerHandlers } from \"@amqp-contract/worker\";\nimport type { ContractDefinitionInput } from \"@amqp-contract/contract\";\nimport { MODULE_OPTIONS_TOKEN } from \"./worker.module-definition.js\";\n\n/**\n * Configuration options for the AMQP worker NestJS module.\n *\n * @typeParam TContract - The contract definition type\n *\n * @example\n * ```typescript\n * import { defineHandlers, RetryableError } from '@amqp-contract/worker';\n * import { Future } from '@swan-io/boxed';\n *\n * const options: AmqpWorkerModuleOptions<typeof contract> = {\n * contract: myContract,\n * handlers: defineHandlers(myContract, {\n * processOrder: ({ payload }) =>\n * Future.fromPromise(processPayment(payload))\n * .mapOk(() => undefined)\n * .mapError((error) => new RetryableError('Payment failed', error))\n * }),\n * urls: ['amqp://localhost'],\n * };\n * ```\n */\nexport type AmqpWorkerModuleOptions<TContract extends ContractDefinitionInput> = {\n /** The AMQP contract definition specifying consumers and their message schemas */\n contract: TContract;\n /** Message handlers for each consumer defined in the contract. Use defineHandlers to create type-safe handlers. */\n handlers: WorkerInferSafeConsumerHandlers<TContract>;\n /** AMQP broker URL(s). Multiple URLs provide failover support */\n urls: ConnectionUrl[];\n /** Optional connection configuration (heartbeat, reconnect settings, etc.) */\n connectionOptions?: AmqpConnectionManagerOptions | undefined;\n};\n\n/**\n * Type-safe AMQP worker service for NestJS applications.\n *\n * This service wraps {@link TypedAmqpWorker} and integrates it with the NestJS\n * lifecycle, automatically starting message consumption on module init and\n * cleaning up resources on module destroy.\n *\n * @typeParam TContract - The contract definition type\n *\n * @example\n * ```typescript\n * // In your module\n * import { AmqpWorkerModule } from '@amqp-contract/worker-nestjs';\n *\n * @Module({\n * imports: [\n * AmqpWorkerModule.forRoot({\n * contract: myContract,\n * handlers: {\n * processOrder: async (message) => {\n * console.log('Received order:', message.orderId);\n * // Process the order...\n * }\n * },\n * urls: ['amqp://localhost']\n * })\n * ]\n * })\n * export class AppModule {}\n *\n * // The worker automatically starts consuming messages when the module initializes\n * // and stops gracefully when the application shuts down\n * ```\n */\n@Injectable()\nexport class AmqpWorkerService<TContract extends ContractDefinitionInput>\n implements OnModuleInit, OnModuleDestroy\n{\n private worker: TypedAmqpWorker<TContract> | null = null;\n\n constructor(\n @Inject(MODULE_OPTIONS_TOKEN)\n private readonly options: AmqpWorkerModuleOptions<TContract>,\n ) {}\n\n /**\n * Initialize the AMQP worker when the NestJS module starts.\n *\n * This lifecycle hook automatically creates and starts the worker,\n * beginning message consumption from all configured consumers.\n * The connection will be established in the background with\n * automatic reconnection handling.\n *\n * @throws Error if the worker fails to start\n */\n async onModuleInit(): Promise<void> {\n this.worker = await TypedAmqpWorker.create(this.options).resultToPromise();\n }\n\n /**\n * Close the AMQP worker when the NestJS module is destroyed.\n *\n * This lifecycle hook ensures proper cleanup of resources when the\n * NestJS application shuts down, gracefully stopping message consumption\n * and closing the connection.\n */\n async onModuleDestroy(): Promise<void> {\n if (this.worker) {\n await this.worker.close().resultToPromise();\n this.worker = null;\n }\n }\n}\n","import { type AmqpWorkerModuleOptions, AmqpWorkerService } from \"./worker.service.js\";\nimport {\n type DynamicModule,\n Module,\n type ModuleMetadata,\n type Provider,\n type Type,\n} from \"@nestjs/common\";\nimport type { ContractDefinitionInput } from \"@amqp-contract/contract\";\nimport { MODULE_OPTIONS_TOKEN } from \"./worker.module-definition.js\";\n\n/**\n * Factory function return type for async module configuration\n */\ntype AmqpWorkerModuleOptionsFactory<TContract extends ContractDefinitionInput> =\n | AmqpWorkerModuleOptions<TContract>\n | Promise<AmqpWorkerModuleOptions<TContract>>;\n\n/**\n * Options for async module configuration using factory pattern\n */\nexport type AmqpWorkerModuleAsyncOptions<TContract extends ContractDefinitionInput> = {\n /**\n * Factory function that returns the module options.\n * Can use injected dependencies to create configuration.\n */\n // oxlint-disable-next-line no-explicit-any\n useFactory: (...args: any[]) => AmqpWorkerModuleOptionsFactory<TContract>;\n /**\n * Optional dependencies to inject into the factory function.\n * Can be a token (string/symbol) a class or a reference to a provider.\n */\n inject?: (string | symbol | Type<unknown>)[];\n /**\n * Optional list of imported modules that export providers needed by the factory\n */\n imports?: ModuleMetadata[\"imports\"];\n};\n\n/**\n * NestJS module for AMQP worker integration\n * This module provides type-safe AMQP worker functionality using @amqp-contract/worker\n * without relying on NestJS decorators (except for dependency injection)\n *\n * @typeParam TContract - The contract definition type for type-safe handlers\n *\n * @example\n * ```typescript\n * // Synchronous configuration\n * @Module({\n * imports: [\n * AmqpWorkerModule.forRoot({\n * contract: myContract,\n * handlers: {\n * processOrder: async (message) => {\n * // message is fully typed based on the contract\n * console.log('Order:', message.orderId);\n * }\n * },\n * urls: ['amqp://localhost']\n * })\n * ]\n * })\n * export class AppModule {}\n *\n * // Asynchronous configuration\n * @Module({\n * imports: [\n * AmqpWorkerModule.forRootAsync({\n * imports: [ConfigModule],\n * useFactory: (configService: ConfigService) => ({\n * contract: myContract,\n * handlers: {\n * processOrder: async (message) => {\n * console.log('Order:', message.orderId);\n * }\n * },\n * urls: configService.get('AMQP_URLS')\n * }),\n * inject: [ConfigService]\n * })\n * ]\n * })\n * export class AppModule {}\n * ```\n */\n@Module({})\nexport class AmqpWorkerModule {\n /**\n * Register the AMQP worker module with synchronous configuration\n *\n * @param options - The worker configuration options with contract and handlers\n * @returns A dynamic module for NestJS\n */\n static forRoot<TContract extends ContractDefinitionInput>(\n options: AmqpWorkerModuleOptions<TContract>,\n ): DynamicModule {\n return {\n module: AmqpWorkerModule,\n providers: [\n {\n provide: MODULE_OPTIONS_TOKEN,\n useValue: options,\n },\n AmqpWorkerService,\n ],\n exports: [AmqpWorkerService],\n };\n }\n\n /**\n * Register the AMQP worker module with asynchronous configuration\n *\n * @param options - Async configuration options with factory function\n * @returns A dynamic module for NestJS\n */\n static forRootAsync<TContract extends ContractDefinitionInput>(\n options: AmqpWorkerModuleAsyncOptions<TContract>,\n ): DynamicModule {\n const providers: Provider[] = [\n {\n provide: MODULE_OPTIONS_TOKEN,\n useFactory: options.useFactory,\n inject: options.inject ?? [],\n },\n AmqpWorkerService,\n ];\n\n return {\n module: AmqpWorkerModule,\n imports: options.imports ?? [],\n providers,\n exports: [AmqpWorkerService],\n };\n }\n}\n"],"mappings":";;;;;;;;AAIA,MAAa,uBAAuB,OAAO,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;ACsEjE,8BAAMA,oBAEb;CACE,AAAQ,SAA4C;CAEpD,YACE,AACiB,SACjB;EADiB;;;;;;;;;;;;CAanB,MAAM,eAA8B;AAClC,OAAK,SAAS,MAAM,gBAAgB,OAAO,KAAK,QAAQ,CAAC,iBAAiB;;;;;;;;;CAU5E,MAAM,kBAAiC;AACrC,MAAI,KAAK,QAAQ;AACf,SAAM,KAAK,OAAO,OAAO,CAAC,iBAAiB;AAC3C,QAAK,SAAS;;;;;CAnCnB,YAAY;oBAOR,OAAO,qBAAqB;;;;;;;ACO1B,iDAAMC,mBAAiB;;;;;;;CAO5B,OAAO,QACL,SACe;AACf,SAAO;GACL;GACA,WAAW,CACT;IACE,SAAS;IACT,UAAU;IACX,EACD,kBACD;GACD,SAAS,CAAC,kBAAkB;GAC7B;;;;;;;;CASH,OAAO,aACL,SACe;EACf,MAAM,YAAwB,CAC5B;GACE,SAAS;GACT,YAAY,QAAQ;GACpB,QAAQ,QAAQ,UAAU,EAAE;GAC7B,EACD,kBACD;AAED,SAAO;GACL;GACA,SAAS,QAAQ,WAAW,EAAE;GAC9B;GACA,SAAS,CAAC,kBAAkB;GAC7B;;;mDA/CJ,OAAO,EAAE,CAAC"}
|
package/docs/index.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
### AmqpWorkerModule
|
|
10
10
|
|
|
11
|
-
Defined in: [worker-nestjs/src/worker.module.ts:88](https://github.com/btravers/amqp-contract/blob/
|
|
11
|
+
Defined in: [worker-nestjs/src/worker.module.ts:88](https://github.com/btravers/amqp-contract/blob/d132d062ebeaa9cc84db5471805355a29e3a50dc/packages/worker-nestjs/src/worker.module.ts#L88)
|
|
12
12
|
|
|
13
13
|
NestJS module for AMQP worker integration
|
|
14
14
|
This module provides type-safe AMQP worker functionality using @amqp-contract/worker
|
|
@@ -79,7 +79,7 @@ new AmqpWorkerModule(): AmqpWorkerModule;
|
|
|
79
79
|
static forRoot<TContract>(options): DynamicModule;
|
|
80
80
|
```
|
|
81
81
|
|
|
82
|
-
Defined in: [worker-nestjs/src/worker.module.ts:95](https://github.com/btravers/amqp-contract/blob/
|
|
82
|
+
Defined in: [worker-nestjs/src/worker.module.ts:95](https://github.com/btravers/amqp-contract/blob/d132d062ebeaa9cc84db5471805355a29e3a50dc/packages/worker-nestjs/src/worker.module.ts#L95)
|
|
83
83
|
|
|
84
84
|
Register the AMQP worker module with synchronous configuration
|
|
85
85
|
|
|
@@ -87,7 +87,7 @@ Register the AMQP worker module with synchronous configuration
|
|
|
87
87
|
|
|
88
88
|
| Type Parameter |
|
|
89
89
|
| ------ |
|
|
90
|
-
| `TContract` *extends* `
|
|
90
|
+
| `TContract` *extends* `ContractDefinitionInput` |
|
|
91
91
|
|
|
92
92
|
###### Parameters
|
|
93
93
|
|
|
@@ -107,7 +107,7 @@ A dynamic module for NestJS
|
|
|
107
107
|
static forRootAsync<TContract>(options): DynamicModule;
|
|
108
108
|
```
|
|
109
109
|
|
|
110
|
-
Defined in: [worker-nestjs/src/worker.module.ts:117](https://github.com/btravers/amqp-contract/blob/
|
|
110
|
+
Defined in: [worker-nestjs/src/worker.module.ts:117](https://github.com/btravers/amqp-contract/blob/d132d062ebeaa9cc84db5471805355a29e3a50dc/packages/worker-nestjs/src/worker.module.ts#L117)
|
|
111
111
|
|
|
112
112
|
Register the AMQP worker module with asynchronous configuration
|
|
113
113
|
|
|
@@ -115,7 +115,7 @@ Register the AMQP worker module with asynchronous configuration
|
|
|
115
115
|
|
|
116
116
|
| Type Parameter |
|
|
117
117
|
| ------ |
|
|
118
|
-
| `TContract` *extends* `
|
|
118
|
+
| `TContract` *extends* `ContractDefinitionInput` |
|
|
119
119
|
|
|
120
120
|
###### Parameters
|
|
121
121
|
|
|
@@ -133,7 +133,7 @@ A dynamic module for NestJS
|
|
|
133
133
|
|
|
134
134
|
### AmqpWorkerService
|
|
135
135
|
|
|
136
|
-
Defined in: [worker-nestjs/src/worker.service.ts:75](https://github.com/btravers/amqp-contract/blob/
|
|
136
|
+
Defined in: [worker-nestjs/src/worker.service.ts:75](https://github.com/btravers/amqp-contract/blob/d132d062ebeaa9cc84db5471805355a29e3a50dc/packages/worker-nestjs/src/worker.service.ts#L75)
|
|
137
137
|
|
|
138
138
|
Type-safe AMQP worker service for NestJS applications.
|
|
139
139
|
|
|
@@ -171,7 +171,7 @@ export class AppModule {}
|
|
|
171
171
|
|
|
172
172
|
| Type Parameter | Description |
|
|
173
173
|
| ------ | ------ |
|
|
174
|
-
| `TContract` *extends* `
|
|
174
|
+
| `TContract` *extends* `ContractDefinitionInput` | The contract definition type |
|
|
175
175
|
|
|
176
176
|
#### Implements
|
|
177
177
|
|
|
@@ -186,7 +186,7 @@ export class AppModule {}
|
|
|
186
186
|
new AmqpWorkerService<TContract>(options): AmqpWorkerService<TContract>;
|
|
187
187
|
```
|
|
188
188
|
|
|
189
|
-
Defined in: [worker-nestjs/src/worker.service.ts:80](https://github.com/btravers/amqp-contract/blob/
|
|
189
|
+
Defined in: [worker-nestjs/src/worker.service.ts:80](https://github.com/btravers/amqp-contract/blob/d132d062ebeaa9cc84db5471805355a29e3a50dc/packages/worker-nestjs/src/worker.service.ts#L80)
|
|
190
190
|
|
|
191
191
|
###### Parameters
|
|
192
192
|
|
|
@@ -206,7 +206,7 @@ Defined in: [worker-nestjs/src/worker.service.ts:80](https://github.com/btravers
|
|
|
206
206
|
onModuleDestroy(): Promise<void>;
|
|
207
207
|
```
|
|
208
208
|
|
|
209
|
-
Defined in: [worker-nestjs/src/worker.service.ts:106](https://github.com/btravers/amqp-contract/blob/
|
|
209
|
+
Defined in: [worker-nestjs/src/worker.service.ts:106](https://github.com/btravers/amqp-contract/blob/d132d062ebeaa9cc84db5471805355a29e3a50dc/packages/worker-nestjs/src/worker.service.ts#L106)
|
|
210
210
|
|
|
211
211
|
Close the AMQP worker when the NestJS module is destroyed.
|
|
212
212
|
|
|
@@ -230,7 +230,7 @@ OnModuleDestroy.onModuleDestroy
|
|
|
230
230
|
onModuleInit(): Promise<void>;
|
|
231
231
|
```
|
|
232
232
|
|
|
233
|
-
Defined in: [worker-nestjs/src/worker.service.ts:95](https://github.com/btravers/amqp-contract/blob/
|
|
233
|
+
Defined in: [worker-nestjs/src/worker.service.ts:95](https://github.com/btravers/amqp-contract/blob/d132d062ebeaa9cc84db5471805355a29e3a50dc/packages/worker-nestjs/src/worker.service.ts#L95)
|
|
234
234
|
|
|
235
235
|
Initialize the AMQP worker when the NestJS module starts.
|
|
236
236
|
|
|
@@ -261,7 +261,7 @@ OnModuleInit.onModuleInit
|
|
|
261
261
|
type AmqpWorkerModuleAsyncOptions<TContract> = object;
|
|
262
262
|
```
|
|
263
263
|
|
|
264
|
-
Defined in: [worker-nestjs/src/worker.module.ts:22](https://github.com/btravers/amqp-contract/blob/
|
|
264
|
+
Defined in: [worker-nestjs/src/worker.module.ts:22](https://github.com/btravers/amqp-contract/blob/d132d062ebeaa9cc84db5471805355a29e3a50dc/packages/worker-nestjs/src/worker.module.ts#L22)
|
|
265
265
|
|
|
266
266
|
Options for async module configuration using factory pattern
|
|
267
267
|
|
|
@@ -269,15 +269,15 @@ Options for async module configuration using factory pattern
|
|
|
269
269
|
|
|
270
270
|
| Type Parameter |
|
|
271
271
|
| ------ |
|
|
272
|
-
| `TContract` *extends* `
|
|
272
|
+
| `TContract` *extends* `ContractDefinitionInput` |
|
|
273
273
|
|
|
274
274
|
#### Properties
|
|
275
275
|
|
|
276
276
|
| Property | Type | Description | Defined in |
|
|
277
277
|
| ------ | ------ | ------ | ------ |
|
|
278
|
-
| <a id="imports"></a> `imports?` | `ModuleMetadata`\[`"imports"`\] | Optional list of imported modules that export providers needed by the factory | [worker-nestjs/src/worker.module.ts:37](https://github.com/btravers/amqp-contract/blob/
|
|
279
|
-
| <a id="inject"></a> `inject?` | (`string` \| `symbol` \| `Type`<`unknown`>)[] | Optional dependencies to inject into the factory function. Can be a token (string/symbol) a class or a reference to a provider. | [worker-nestjs/src/worker.module.ts:33](https://github.com/btravers/amqp-contract/blob/
|
|
280
|
-
| <a id="usefactory"></a> `useFactory` | (...`args`) => `AmqpWorkerModuleOptionsFactory`<`TContract`> | Factory function that returns the module options. Can use injected dependencies to create configuration. | [worker-nestjs/src/worker.module.ts:28](https://github.com/btravers/amqp-contract/blob/
|
|
278
|
+
| <a id="imports"></a> `imports?` | `ModuleMetadata`\[`"imports"`\] | Optional list of imported modules that export providers needed by the factory | [worker-nestjs/src/worker.module.ts:37](https://github.com/btravers/amqp-contract/blob/d132d062ebeaa9cc84db5471805355a29e3a50dc/packages/worker-nestjs/src/worker.module.ts#L37) |
|
|
279
|
+
| <a id="inject"></a> `inject?` | (`string` \| `symbol` \| `Type`<`unknown`>)[] | Optional dependencies to inject into the factory function. Can be a token (string/symbol) a class or a reference to a provider. | [worker-nestjs/src/worker.module.ts:33](https://github.com/btravers/amqp-contract/blob/d132d062ebeaa9cc84db5471805355a29e3a50dc/packages/worker-nestjs/src/worker.module.ts#L33) |
|
|
280
|
+
| <a id="usefactory"></a> `useFactory` | (...`args`) => `AmqpWorkerModuleOptionsFactory`<`TContract`> | Factory function that returns the module options. Can use injected dependencies to create configuration. | [worker-nestjs/src/worker.module.ts:28](https://github.com/btravers/amqp-contract/blob/d132d062ebeaa9cc84db5471805355a29e3a50dc/packages/worker-nestjs/src/worker.module.ts#L28) |
|
|
281
281
|
|
|
282
282
|
***
|
|
283
283
|
|
|
@@ -287,7 +287,7 @@ Options for async module configuration using factory pattern
|
|
|
287
287
|
type AmqpWorkerModuleOptions<TContract> = object;
|
|
288
288
|
```
|
|
289
289
|
|
|
290
|
-
Defined in: [worker-nestjs/src/worker.service.ts:29](https://github.com/btravers/amqp-contract/blob/
|
|
290
|
+
Defined in: [worker-nestjs/src/worker.service.ts:29](https://github.com/btravers/amqp-contract/blob/d132d062ebeaa9cc84db5471805355a29e3a50dc/packages/worker-nestjs/src/worker.service.ts#L29)
|
|
291
291
|
|
|
292
292
|
Configuration options for the AMQP worker NestJS module.
|
|
293
293
|
|
|
@@ -313,35 +313,36 @@ const options: AmqpWorkerModuleOptions<typeof contract> = {
|
|
|
313
313
|
|
|
314
314
|
| Type Parameter | Description |
|
|
315
315
|
| ------ | ------ |
|
|
316
|
-
| `TContract` *extends* `
|
|
316
|
+
| `TContract` *extends* `ContractDefinitionInput` | The contract definition type |
|
|
317
317
|
|
|
318
318
|
#### Properties
|
|
319
319
|
|
|
320
320
|
| Property | Type | Description | Defined in |
|
|
321
321
|
| ------ | ------ | ------ | ------ |
|
|
322
|
-
| <a id="connectionoptions"></a> `connectionOptions?` | `AmqpConnectionManagerOptions` | Optional connection configuration (heartbeat, reconnect settings, etc.) | [worker-nestjs/src/worker.service.ts:37](https://github.com/btravers/amqp-contract/blob/
|
|
323
|
-
| <a id="contract"></a> `contract` | `TContract` | The AMQP contract definition specifying consumers and their message schemas | [worker-nestjs/src/worker.service.ts:31](https://github.com/btravers/amqp-contract/blob/
|
|
324
|
-
| <a id="handlers"></a> `handlers` | [`WorkerInferSafeConsumerHandlers`](#workerinfersafeconsumerhandlers)<`TContract`> | Message handlers for each consumer defined in the contract. Use defineHandlers to create type-safe handlers. | [worker-nestjs/src/worker.service.ts:33](https://github.com/btravers/amqp-contract/blob/
|
|
325
|
-
| <a id="urls"></a> `urls` | `ConnectionUrl`[] | AMQP broker URL(s). Multiple URLs provide failover support | [worker-nestjs/src/worker.service.ts:35](https://github.com/btravers/amqp-contract/blob/
|
|
322
|
+
| <a id="connectionoptions"></a> `connectionOptions?` | `AmqpConnectionManagerOptions` | Optional connection configuration (heartbeat, reconnect settings, etc.) | [worker-nestjs/src/worker.service.ts:37](https://github.com/btravers/amqp-contract/blob/d132d062ebeaa9cc84db5471805355a29e3a50dc/packages/worker-nestjs/src/worker.service.ts#L37) |
|
|
323
|
+
| <a id="contract"></a> `contract` | `TContract` | The AMQP contract definition specifying consumers and their message schemas | [worker-nestjs/src/worker.service.ts:31](https://github.com/btravers/amqp-contract/blob/d132d062ebeaa9cc84db5471805355a29e3a50dc/packages/worker-nestjs/src/worker.service.ts#L31) |
|
|
324
|
+
| <a id="handlers"></a> `handlers` | [`WorkerInferSafeConsumerHandlers`](#workerinfersafeconsumerhandlers)<`TContract`> | Message handlers for each consumer defined in the contract. Use defineHandlers to create type-safe handlers. | [worker-nestjs/src/worker.service.ts:33](https://github.com/btravers/amqp-contract/blob/d132d062ebeaa9cc84db5471805355a29e3a50dc/packages/worker-nestjs/src/worker.service.ts#L33) |
|
|
325
|
+
| <a id="urls"></a> `urls` | `ConnectionUrl`[] | AMQP broker URL(s). Multiple URLs provide failover support | [worker-nestjs/src/worker.service.ts:35](https://github.com/btravers/amqp-contract/blob/d132d062ebeaa9cc84db5471805355a29e3a50dc/packages/worker-nestjs/src/worker.service.ts#L35) |
|
|
326
326
|
|
|
327
327
|
***
|
|
328
328
|
|
|
329
|
-
### WorkerInferSafeConsumerHandlers
|
|
329
|
+
### ~~WorkerInferSafeConsumerHandlers~~
|
|
330
330
|
|
|
331
331
|
```ts
|
|
332
|
-
type WorkerInferSafeConsumerHandlers<TContract> =
|
|
332
|
+
type WorkerInferSafeConsumerHandlers<TContract> = WorkerInferConsumerHandlers<TContract>;
|
|
333
333
|
```
|
|
334
334
|
|
|
335
|
-
Defined in: worker/dist/index.d.mts:
|
|
336
|
-
|
|
337
|
-
Safe consumer handlers for a contract.
|
|
338
|
-
All handlers return `Future<Result<void, HandlerError>>` for explicit error control.
|
|
335
|
+
Defined in: worker/dist/index.d.mts:296
|
|
339
336
|
|
|
340
337
|
#### Type Parameters
|
|
341
338
|
|
|
342
339
|
| Type Parameter |
|
|
343
340
|
| ------ |
|
|
344
|
-
| `TContract` *extends* `
|
|
341
|
+
| `TContract` *extends* `ContractDefinitionInput` |
|
|
342
|
+
|
|
343
|
+
#### Deprecated
|
|
344
|
+
|
|
345
|
+
Use `WorkerInferConsumerHandlers` instead. Will be removed in next major version.
|
|
345
346
|
|
|
346
347
|
## Variables
|
|
347
348
|
|
|
@@ -351,7 +352,7 @@ All handlers return `Future<Result<void, HandlerError>>` for explicit error cont
|
|
|
351
352
|
const MODULE_OPTIONS_TOKEN: typeof MODULE_OPTIONS_TOKEN;
|
|
352
353
|
```
|
|
353
354
|
|
|
354
|
-
Defined in: [worker-nestjs/src/worker.module-definition.ts:5](https://github.com/btravers/amqp-contract/blob/
|
|
355
|
+
Defined in: [worker-nestjs/src/worker.module-definition.ts:5](https://github.com/btravers/amqp-contract/blob/d132d062ebeaa9cc84db5471805355a29e3a50dc/packages/worker-nestjs/src/worker.module-definition.ts#L5)
|
|
355
356
|
|
|
356
357
|
Injection token for AMQP worker module options
|
|
357
358
|
Used by NestJS DI system to inject configuration into AmqpWorkerService
|
|
@@ -366,10 +367,10 @@ Used by NestJS DI system to inject configuration into AmqpWorkerService
|
|
|
366
367
|
function defineHandler<TContract, TName>(
|
|
367
368
|
contract,
|
|
368
369
|
consumerName,
|
|
369
|
-
handler):
|
|
370
|
+
handler): WorkerInferConsumerHandlerEntry<TContract, TName>;
|
|
370
371
|
```
|
|
371
372
|
|
|
372
|
-
Defined in: worker/dist/index.d.mts:
|
|
373
|
+
Defined in: worker/dist/index.d.mts:610
|
|
373
374
|
|
|
374
375
|
Define a type-safe handler for a specific consumer in a contract.
|
|
375
376
|
|
|
@@ -384,7 +385,7 @@ Supports two patterns:
|
|
|
384
385
|
|
|
385
386
|
| Type Parameter | Description |
|
|
386
387
|
| ------ | ------ |
|
|
387
|
-
| `TContract` *extends* `
|
|
388
|
+
| `TContract` *extends* `ContractDefinitionInput` | The contract definition type |
|
|
388
389
|
| `TName` *extends* `string` \| `number` \| `symbol` | The consumer name from the contract |
|
|
389
390
|
|
|
390
391
|
##### Parameters
|
|
@@ -393,11 +394,11 @@ Supports two patterns:
|
|
|
393
394
|
| ------ | ------ | ------ |
|
|
394
395
|
| `contract` | `TContract` | The contract definition containing the consumer |
|
|
395
396
|
| `consumerName` | `TName` | The name of the consumer from the contract |
|
|
396
|
-
| `handler` | `
|
|
397
|
+
| `handler` | `WorkerInferConsumerHandler`<`TContract`, `TName`> | The handler function that returns `Future<Result<void, HandlerError>>` |
|
|
397
398
|
|
|
398
399
|
##### Returns
|
|
399
400
|
|
|
400
|
-
`
|
|
401
|
+
`WorkerInferConsumerHandlerEntry`<`TContract`, `TName`>
|
|
401
402
|
|
|
402
403
|
A type-safe handler that can be used with TypedAmqpWorker
|
|
403
404
|
|
|
@@ -439,10 +440,10 @@ function defineHandler<TContract, TName>(
|
|
|
439
440
|
contract,
|
|
440
441
|
consumerName,
|
|
441
442
|
handler,
|
|
442
|
-
options):
|
|
443
|
+
options): WorkerInferConsumerHandlerEntry<TContract, TName>;
|
|
443
444
|
```
|
|
444
445
|
|
|
445
|
-
Defined in: worker/dist/index.d.mts:
|
|
446
|
+
Defined in: worker/dist/index.d.mts:611
|
|
446
447
|
|
|
447
448
|
Define a type-safe handler for a specific consumer in a contract.
|
|
448
449
|
|
|
@@ -457,7 +458,7 @@ Supports two patterns:
|
|
|
457
458
|
|
|
458
459
|
| Type Parameter | Description |
|
|
459
460
|
| ------ | ------ |
|
|
460
|
-
| `TContract` *extends* `
|
|
461
|
+
| `TContract` *extends* `ContractDefinitionInput` | The contract definition type |
|
|
461
462
|
| `TName` *extends* `string` \| `number` \| `symbol` | The consumer name from the contract |
|
|
462
463
|
|
|
463
464
|
##### Parameters
|
|
@@ -466,13 +467,13 @@ Supports two patterns:
|
|
|
466
467
|
| ------ | ------ | ------ |
|
|
467
468
|
| `contract` | `TContract` | The contract definition containing the consumer |
|
|
468
469
|
| `consumerName` | `TName` | The name of the consumer from the contract |
|
|
469
|
-
| `handler` | `
|
|
470
|
+
| `handler` | `WorkerInferConsumerHandler`<`TContract`, `TName`> | The handler function that returns `Future<Result<void, HandlerError>>` |
|
|
470
471
|
| `options` | \{ `prefetch?`: `number`; \} | Optional consumer options (prefetch) |
|
|
471
472
|
| `options.prefetch?` | `number` | - |
|
|
472
473
|
|
|
473
474
|
##### Returns
|
|
474
475
|
|
|
475
|
-
`
|
|
476
|
+
`WorkerInferConsumerHandlerEntry`<`TContract`, `TName`>
|
|
476
477
|
|
|
477
478
|
A type-safe handler that can be used with TypedAmqpWorker
|
|
478
479
|
|
|
@@ -512,10 +513,10 @@ const validateOrderHandler = defineHandler(
|
|
|
512
513
|
### defineHandlers()
|
|
513
514
|
|
|
514
515
|
```ts
|
|
515
|
-
function defineHandlers<TContract>(contract, handlers):
|
|
516
|
+
function defineHandlers<TContract>(contract, handlers): WorkerInferConsumerHandlers<TContract>;
|
|
516
517
|
```
|
|
517
518
|
|
|
518
|
-
Defined in: worker/dist/index.d.mts:
|
|
519
|
+
Defined in: worker/dist/index.d.mts:643
|
|
519
520
|
|
|
520
521
|
Define multiple type-safe handlers for consumers in a contract.
|
|
521
522
|
|
|
@@ -526,18 +527,18 @@ providing explicit error handling and better control over retry behavior.
|
|
|
526
527
|
|
|
527
528
|
| Type Parameter | Description |
|
|
528
529
|
| ------ | ------ |
|
|
529
|
-
| `TContract` *extends* `
|
|
530
|
+
| `TContract` *extends* `ContractDefinitionInput` | The contract definition type |
|
|
530
531
|
|
|
531
532
|
#### Parameters
|
|
532
533
|
|
|
533
534
|
| Parameter | Type | Description |
|
|
534
535
|
| ------ | ------ | ------ |
|
|
535
536
|
| `contract` | `TContract` | The contract definition containing the consumers |
|
|
536
|
-
| `handlers` |
|
|
537
|
+
| `handlers` | `WorkerInferConsumerHandlers`<`TContract`> | An object with handler functions for each consumer |
|
|
537
538
|
|
|
538
539
|
#### Returns
|
|
539
540
|
|
|
540
|
-
|
|
541
|
+
`WorkerInferConsumerHandlers`<`TContract`>
|
|
541
542
|
|
|
542
543
|
A type-safe handlers object that can be used with TypedAmqpWorker
|
|
543
544
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amqp-contract/worker-nestjs",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"description": "NestJS integration for @amqp-contract/worker",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"amqp",
|
|
@@ -52,8 +52,8 @@
|
|
|
52
52
|
"docs"
|
|
53
53
|
],
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@amqp-contract/contract": "0.
|
|
56
|
-
"@amqp-contract/worker": "0.
|
|
55
|
+
"@amqp-contract/contract": "0.14.0",
|
|
56
|
+
"@amqp-contract/worker": "0.14.0"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"@nestjs/common": "11.1.12",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"typescript": "5.9.3",
|
|
73
73
|
"vitest": "4.0.17",
|
|
74
74
|
"zod": "4.3.5",
|
|
75
|
-
"@amqp-contract/testing": "0.
|
|
75
|
+
"@amqp-contract/testing": "0.14.0",
|
|
76
76
|
"@amqp-contract/tsconfig": "0.1.0",
|
|
77
77
|
"@amqp-contract/typedoc": "0.1.0"
|
|
78
78
|
},
|