UNPKG

@yepmind/nats-rx-client

Version:
50 lines (42 loc) 1.45 kB
import streams from "./stream-config.json"; import { NatsClientService } from './index'; import { NatsStreamConfig } from './nats-stream-config.js'; const nc = new NatsClientService({ streams: streams as NatsStreamConfig[], servers: 'nats://localhost:4222', }); nc.subscribeToEventMessage('mainEv', 'nc-app').subscribe({ next: (eventMessage) => { console.log( `EVENT: [${eventMessage.subject}] ${JSON.stringify(eventMessage.data)}`, ); }, }); nc.subscribeToRequestMessage('mainReq', 'nc-app').subscribe({ next: (requestMessage) => { console.log( `REQUEST: [${requestMessage.subject}] ${JSON.stringify(requestMessage.data)}`, ); requestMessage.respond(JSON.stringify({ y: 'ok' })); }, }); nc.dequeueData<{ key: number }>('main', 'js').subscribe({ next: (data) => { console.log(`EVENT subscription 1: [js] ${JSON.stringify(data)}`); }, }); nc.dequeueData<{ key: number }>('main', 'js').subscribe({ next: (data) => { console.log(`EVENT subscription 2: [js] ${JSON.stringify(data)}`); }, }); nc.dequeueData<{ key: number }>('main', '*').subscribe({ next: (data) => { console.log(`EVENT subscription 1: [*] ${JSON.stringify(data)}`); }, }); nc.dequeueData<{ key: number }>('main', 'xs').subscribe({ next: (data) => { console.log(`EVENT subscription 1: [xs] ${JSON.stringify(data)}`); }, });