0.1.1 • Published 6 years ago
rabbitmq-emitter v0.1.1
rabbitmq-emitter
Rabbitmq based event-emitter with namespaces
Install
npm install rabbitmq-emitter
Usage
const {createEmitter} = require('rabbitmq-emitter');
const emitter = await createEmitter('amqp://localhost', (namespace, eventName, arg1, arg2) => {
//do something with event
//will be called one time with [foo, event1, arg1, arg2]
});
await emitter.bind('foo');
emitter.emit('foo', 'event1', 'arg1', 'arg2');
emitter.emit('foo2', 'event2', 'arg1');
Emit to all consumers
emitter.emitToAll('event1', 'arg');
Emitter
createEmitter(amqp, onEmit, opts)
amqp
- amqpuri
,amqplib.Connection
oramqplib.Channel
onEmit
- callback (namespace, eventName, ...args)namespace: string
- requiredeventName: string
- required...args: any[]
- optional- returns
void
- returns
Promise<Emitter>
emitter.bind(namespaces)
namespaces: string | string[]
- required- returns
Promise<void>
emitter.unbind(namespaces)
namespaces: string | string[]
- required- returns
Promise<void>
emitter.emit(namespace, eventName, ...args)
namespace: string | string[]
- requiredeventName: string
- required...args
-any
- optional- returns
Promise<void>
emitter.emitToAll(eventName, ...args)
eventName: string
- required...args: any[]
- optional- returns
Promise<void>