@nauma/eventemitter

1.0.7 • Public • Published

EventEmitter

Using EventEmitter on node.js Size: 1.27 Kb 0 dependencies

install

npm i @nauma/eventemitter --save

using

require

const ee = require('@nauma/eventemitter')

create EventEmitter

let rest = new ee.EventEmitter()

add events

rest.on('todo', response => {
	console.log('in ->', response.data)
})

remove events

rest.removeEventListener('todo')

emit data

rest.emit('todo', { data: 'test-data' })

reply system

rest.on('todo', response => {
	console.log('in ->', response.data)
	response.reply({ text: 'hello world' })
})

rest.emit('todo', { data: 'test-data' })
  .then(data => {
    console.log('reply ->', data)
  })

EventEmitters group

const app = new ee.GroupEventEmitters()

const rest = new ee.EventEmitter('rest')
const database = new ee.EventEmitter('database')

app
  .add(rest)
  .add(database)
  // .add([rest, database])

app.get('rest')
	.on('todo', response => {
		console.log('in ->', response.data)
		response.reply({ lol: 'aruuuu' })
	})

app.get('rest')
	.emit('todo', { kek: 'lol' })
	.then(data => {
		console.log('reply ->', data)
	})

License

Apache 2.0

Package Sidebar

Install

npm i @nauma/eventemitter

Weekly Downloads

3

Version

1.0.7

License

Apache-2.0

Unpacked Size

15.3 kB

Total Files

7

Last publish

Collaborators

  • nauma