observer-subject
v1.1.1
Published
The subject in the Observer Design Pattern
Downloads
9
Maintainers
Readme
Observer Design Pattern Subject
An implementation of the subject in an Observer Design Pattern.
Example
let Observable = require('observer-subject'),
subject = new Observable(),
observer1 = {
notify(...args) {
console.log(`#1`, ...args);
}
},
observer2 = {
notify(...args) {
console.log(`#2`, ...args);
}
};
subject.registerObserver(observer1);
subject.registerObserver(observer2);
subject.notifyObservers(42);
// #1 42
// #2 42
subject.unregisterObserver(observer1);
subject.notifyObservers(32);
// #2 32
Installation
$ npm install observer-subject
API
let Observer = require('observer-subject');
.registerObserver(observer)
Will start notifying the observer.
| type | data type | name | Description |
| --- | --- | --- | --- |
| parameter | object | observer | The object to be notified. |
| throws | Type Exception | n/a | Will throw an error if observer does not have a function named notify
. |
.unregisterObserver(observer)
Will no longer notify the specified observer.
| type | data type | name | Description | | --- | --- | --- | --- | | parameter | object | observer | The object to be notified. | | returns | boolean | n/a | true if the observer was found and removed, otherwise false |
.notifyObservers(..args)
Calls each observers notify
function with the arguments provided.
| type | data type | name | Description | | --- | --- | --- | --- | | returns | boolean | n/a | true if game has ended, otherwise false. |
observer.notify(...args)
Callback that the observable object uses to notify the observer.
| type | data type | name | Description | | --- | --- | --- | --- | | parameter | ...* | args | Arguments from the observable object. |