@wbget/nestjs-nats
TypeScript icon, indicating that this package has built-in type declarations

0.0.2 • Public • Published

nats for nestjs

install

npm install -S @wbget/nestjs-nats 

use

@Module({
    imports: [NatsModule.forRoot({
      servers:['demo.nats.io:4222']
    })],
})
export class AppMoudle implements OnModuleInit{
    constructor(
      private readonly natsLoader: NatsLoader
    ) {}
    async onModuleInit() {
        await this.natsLoader.loadNats();
    }
}


@Nats({ name: 'A' }) // declare a nats
export class A {
  constructor(private readonly client: NatsClient) {
      // inject use 
  }
  @OnRequest({ route: 'hello', queue: 'hello' })
  async do(data: any, connect: NatsClient) {
    // subscribe on respond
    connect.emit('hi', data);
    return { a: 1 };
  }
  @OnPublish({route: 'hi'})
  async dodo(data: any, connect) {
    // subscribe on publish
    this.client.on('todo', (data) => {
        console.log(data);
    });
  }
}

Readme

Keywords

Package Sidebar

Install

npm i @wbget/nestjs-nats

Weekly Downloads

1

Version

0.0.2

License

MIT

Unpacked Size

141 kB

Total Files

21

Last publish

Collaborators

  • wbget