@danielkalen/simplybind
Version:
Magically simple, framework-less one-way/two-way data binding for frontend/backend in ~5kb.
19 lines (17 loc) • 587 B
JavaScript
// An ObjectObservationAdapter for test purposes.
// Delegates work to a real observer provided by the observer locator.
export class TestObservationAdapter {
constructor(locatorProvider) {
this.locatorProvider = locatorProvider;
}
getObserver(object, propertyName, descriptor) {
if (!object.handleWithAdapter) {
return null;
}
object.handleWithAdapter = false;
let observer = this.locatorProvider().getObserver(object, propertyName);
object.handleWithAdapter = true;
observer.___from_adapter = true; // for unit-tests
return observer;
}
}