simple-event-machine
What is simple-event-machine
?
simple-event-machine
is a node.js library to easily setup an event machine.
How does it work?
One possible implementation could be:
var eventmachine = new require('simple-event-machine').Instance();
var newEventmachine = new eventmachine.Instance();
var yetAnotherEventmachine = new newEventmachine.Instance();
var exoticEventmachine = {
foo: function(payload, eventname) {
console.log(eventname, payload, 'from exoticEventmachine');
}
};
new eventmachine.Instance(exoticEventmachine);
eventmachine.on('*', console.log);
newEventmachine.on('*', console.log);
exoticEventmachine.on('*', exoticEventmachine.foo);
eventmachine.on('error', console.error);
eventmachine.emit('event-name', {"this is": "my payload"});
newEventmachine.emit('newEventmachine', {"payload": "will output"});
yetAnotherEventmachine.emit('yetAnotherEventmachine', {"payload": "will not output as there is no consumer"});
exoticEventmachine.emit('exoticEventmachine', {"payload": "will output"});
eventmachine.emit('error', {"this is": "my error"});
Installation
To install you need to:
- Perform a
npm install simple-event-machine --save
- implement as above
- You're done!
(You will need >node.js< of course)
Method Signature
emit
({string} eventName
, {Object} payload
)
- Emit a new event with the name
<eventName>
and <payload>
as payload.
on
({string} eventName
, {function(Object, string): void} callback
)
- Register
<callback>
as a new consumer for <eventName>
. <callback>
will be called with <payload, eventName>
. - If
<eventName>
is *
, listen for all events.
new Instance
({Object=} me) constructor
- available in each instance. Will return a new independent instance or (
<me>
if specified). - if
<me>
is specified emit
, on
and Instance
will be injected into that object. (optional)