Files
Webklar.com/node_modules/motion-dom/dist/es/value/subscribe-value.mjs
Basilosaurusrex f027651f9b main repo
2025-11-24 18:09:40 +01:00

14 lines
501 B
JavaScript

import { cancelFrame, frame } from '../frameloop/frame.mjs';
function subscribeValue(inputValues, outputValue, getLatest) {
const update = () => outputValue.set(getLatest());
const scheduleUpdate = () => frame.preRender(update, false, true);
const subscriptions = inputValues.map((v) => v.on("change", scheduleUpdate));
outputValue.on("destroy", () => {
subscriptions.forEach((unsubscribe) => unsubscribe());
cancelFrame(update);
});
}
export { subscribeValue };