sobs
Version:
React observables
21 lines • 776 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = require("react");
const utils_1 = require("../internal/utils");
exports.default = (...observableObjects) => {
for (const observable of observableObjects)
observe(observable);
};
const observe = (observable) => {
const forceUpdate = utils_1.useForcedUpdate();
react_1.useEffect(() => {
if (observable === null || observable === undefined)
return;
const listeners = observable.__sobs_listeners;
if (!listeners)
return;
const listenerId = observable.__sobs_addListener(forceUpdate);
return () => observable.__sobs_removeListener(listenerId);
}, [observable]);
};
//# sourceMappingURL=observe.js.map