0.1.1 • Published 6 years ago

rabbitmq-emitter v0.1.1

Weekly downloads
2
License
MIT
Repository
-
Last release
6 years ago

rabbitmq-emitter Build Status

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 - amqp uri, amqplib.Connection or amqplib.Channel
  • onEmit - callback (namespace, eventName, ...args)
    • namespace: string - required
    • eventName: 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[] - required
  • eventName: string - required
  • ...args - any - optional
  • returns Promise<void>

emitter.emitToAll(eventName, ...args)

  • eventName: string - required
  • ...args: any[] - optional
  • returns Promise<void>
0.1.1

6 years ago

0.1.0

6 years ago