react-magic-state
Version:
React state management without the hassle.
26 lines (25 loc) • 796 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const observer_1 = require("./observer");
class ChangeTracker {
constructor() {
this.runReactions = this.runReactions.bind(this);
}
registerChange(target, propKey) {
if (this.debug) {
this.debug(target, propKey);
}
this.runReactions(target, propKey);
}
runReactions(target, propKey) {
for (const observer of observer_1.Observer.all) {
const reactions = observer.getReactionsForChange(target, propKey);
if (reactions) {
for (const reaction of reactions) {
reaction();
}
}
}
}
}
exports.changeTracker = new ChangeTracker();