Constructor
# new ProxyObserver(object)
Parameters:
Name | Type | Description |
---|---|---|
object |
object |
- Since:
- 1.0.0
- Copyright:
- schukai GmbH
Throws:
-
value is not a object
- Type
- TypeError
Example
import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.23.0/dist/modules/types/proxyobserver.js';
import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.23.0/dist/modules/types/observer.js';
import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.23.0/dist/modules/types/is.js';
const o = new Observer(function () {
if (isObject(this) && this instanceof ProxyObserver) {
// do something (this ist ProxyObserver)
const subject = this.getSubject();
console.log(subject);
}
});
let realSubject = {
a: {
b: {
c: true
},
d: 9
}
}
const p = new ProxyObserver(realSubject);
p.attachObserver(o);
const s = p.getSubject();
s.a.b.c = false;
Methods
# attachObserver(observer) → {ProxyObserver}
attach a new observer
Parameters:
Name | Type | Description |
---|---|---|
observer |
Observer |
Returns:
- Type
- ProxyObserver
# containsObserver(observer) → {boolean}
Parameters:
Name | Type | Description |
---|---|---|
observer |
Observer |
Returns:
- Type
- boolean
# detachObserver(observer) → {ProxyObserver}
detach a observer
Parameters:
Name | Type | Description |
---|---|---|
observer |
Observer |
Returns:
- Type
- ProxyObserver
# getRealSubject() → {object}
get the proxied object
Returns:
- Type
- object
# getSubject() → {object}
get the real object
changes to this object are not noticed by the observers, so you can make a large number of changes and inform the observers later.
Returns:
- Type
- object
# notifyObservers() → {Promise}
notify all observer
Returns:
- Type
- Promise