@amqp-contract/client-nestjs
v0.10.0
Published
NestJS integration for @amqp-contract/client
Downloads
2,287
Maintainers
Readme
@amqp-contract/client-nestjs
NestJS integration for @amqp-contract/client. Type-safe AMQP message publishing with automatic lifecycle management.
Installation
pnpm add @amqp-contract/client-nestjs @amqp-contract/client @amqp-contract/contract amqplibUsage
import { Injectable, Module } from "@nestjs/common";
import { AmqpClientModule, AmqpClientService } from "@amqp-contract/client-nestjs";
import { contract } from "./contract";
@Module({
imports: [
AmqpClientModule.forRoot({
contract,
urls: ["amqp://localhost"],
}),
],
})
export class AppModule {}
@Injectable()
export class OrderService {
constructor(private readonly client: AmqpClientService<typeof contract>) {}
async createOrder(orderId: string, amount: number) {
await this.client.publish("orderCreated", { orderId, amount }).resultToPromise();
}
}The client automatically connects when the module initializes and cleans up on shutdown.
Documentation
📖 Read the full documentation →
License
MIT
