node-observer
v0.4.4
Published
Observer pattern implementation
Downloads
318
Maintainers
Readme
Observer
This is an observer pattern module
Install
npm install node-observer
Example
Main file: app.js
"use strict";
var observer = require("node-observer");
var hello = require("./hello");
observer.subscribe(this, "HELLO", function(who, data) {
console.log(data);
});
hello.send();
File: hello.js
"use strict";
var observer = require("node-observer");
var Hello = function() { };
Hello.prototype.send = function() {
observer.send(this, "HELLO", "hello world!!!");
};
module.exports = new Hello();
Run
node app.js
API
subscribe(object, event, callback)
object:object, event:string, callback:function
subscribe event
unsubscribe(object, event)
object:object, event:string
unsubscribe event
send(object, event, data)
object:object, event:string, data:object
send event 'event' with data 'data'
Browser version
Under client directory there is a browser version of library. Added script tag in your html file. See the example below.
File index.html
<html>
<head>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="observer.js"></script>
<script type="text/javascript" src="app.js"></script>
<script type="text/javascript" src="mylib.js"></script>
</head>
<body>
Javascript observer pattern example: see the result in console
</body>
</html>
File app.js
$(function() {
Observer.subscribe(this, 'HELLO', function(who, data) {
console.log(data);
});
});
File mylib.js
(function(window) {
var getInstance = function() {
Observer.send(this, 'HELLO', 'Hello world!!!');
};
if (typeof(mylib) === 'undefined') {
window.mylib = getInstance();
} else {
console.log('mylib already defined.');
}
})(window);