0.0.2 • Published 8 months ago

@wbget/nestjs-nats v0.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

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);
    });
  }
}
0.0.2

8 months ago

0.0.1

8 months ago