react-obsidian
Version:
Dependency injection framework for React and React Native applications
21 lines • 977 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.useColdObservables = void 0;
const react_1 = require("react");
const ColdMediatorObservable_1 = require("./ColdMediatorObservable");
const mapObservablesToValues_1 = require("../mapObservablesToValues");
function useColdObservables(observables) {
const [mediator] = (0, react_1.useState)(() => new ColdMediatorObservable_1.ColdMediatorObservable((0, mapObservablesToValues_1.mapObservablesToValues)(observables)));
const [values, setValues] = (0, react_1.useState)(() => mediator.value);
(0, react_1.useEffect)(() => {
Object.keys(observables).forEach((key) => {
mediator.addSource(observables[key], (value) => {
mediator.setValue(key, value);
});
});
return mediator.subscribe(setValues);
}, []);
return values;
}
exports.useColdObservables = useColdObservables;
//# sourceMappingURL=useColdObservers.js.map
;