0.2.2 • Published 10 years ago

zero-bus v0.2.2

Weekly downloads
57
License
-
Repository
-
Last release
10 years ago

zero-bus

This module use roof-bus to create a global system event bus. Modules relying on this module can simply declare a event-listener map to handler logic events.

Usage

1. Add dependency to your module package.json file like:

{
	"name" : "YOUR_MODULE_NAME",
	"zero" : {
		"dependencies" : {
			"bus" : "~0.2.0"
		}
	}
}

2. Declare the event you want to listen in module.exports like:

module.exports = {
	listen : {
       'someEvent' : function eventHandler(/*arguments of fired event*/){

       }
    }
}

Generator Function can also be use as listener.

Advanced Usage

Ordering Listeners

Fire order of listeners on the same event can be specified with order attribute like:

bus.on({
	"event":'someEvent',
	"function":function handlerName(){},
	"module":"otherModule"
})

bus.on({
	"event":'someEvent',
	"function":function handler(){},
	"order":{
		before:"otherModule.handlerName" //make this handler triggered before the one above
	},
	"module":"someModule"
})

sharing data through bus

You can use bus.data.set() to store and bus.data.get() to retrieve data.

bus.data.set('user',{id:1,name:'zero'}) //set data
bus.data.get('user') //retrieve data

//advanced usage
bus.data.set('user.id',2) //this will set the id of the object named `user` to 2, instead of creating a new piece of data named 'user.id'.

For more usage, please check http://github.com/sskyy/roof-bus

0.2.2

10 years ago

0.2.1

10 years ago

0.2.0

10 years ago

0.0.13

10 years ago

0.0.12

11 years ago

0.0.11

11 years ago

0.0.10

11 years ago

0.0.9

11 years ago

0.0.8

11 years ago

0.0.7

11 years ago

0.0.5

11 years ago

0.0.4

11 years ago

0.0.3

11 years ago

0.0.1

11 years ago