1.1.0 • Published 5 years ago

evbus v1.1.0

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

evbus

Hierarchical event library written in javascript, no dependencies

Features

  • Hierarchical events(event namespace)
  • Binding multiple events separated by at least one whitespace
  • Compitable with IE8(ES3)
  • Compitable with CommonJS, AMD and browser

Installation

npm i -S evbus

or

<script src="js/evbus/index.js"></script>

Usage

Bind hierarchical events
const evbus = require('evbus');

let bus = evbus(); // or new evbus();

bus.on('world', d => console.log(d + '-world'))
  .on('world.asia', d => console.log(d + '-asia'))
  .on('world.asia.china', d => console.log(d + '-china'))
  .on('world.asia.china.beijing', d => console.log(d + '-beijing'))


bus.trigger('world.asia.china.beijing', 1);

'1-beijing'
'1-china'
'1-asia'
'1-world'

// unbind "world.asia.china" and "world.asia.china.beijing"
bus.off('world.asia.china');

bus.trigger('world.asia.china.beijing', 2);

// so there is no output

bus.trigger('world.asia', 2);
'2-asia'
'2-world'
Bind multiple events at the same time
const evbus = require('evbus');

let bus = evbus();

bus.on('a.b.c x.y', d => console.log(d))

bus.trigger('a.b.c x.y', 123);

123
123