import { useRef } from "react"; import { isUndefined } from "@videojs/utils/predicate"; //#region src/utils/use-sync-props.ts function useSyncProps(target, props, defaults) { const rest = {}; const synced = /* @__PURE__ */ new Set(); const prevSyncedRef = useRef(null); const sync = (key, value) => { if (target[key] !== value) target[key] = value; }; for (const key of prevSyncedRef.current ?? []) if (isUndefined(props[key])) sync(key, defaults[key]); for (const key in props) if (key in defaults) { if (isUndefined(props[key])) continue; synced.add(key); sync(key, props[key]); } else rest[key] = props[key]; prevSyncedRef.current = synced; return rest; } //#endregion export { useSyncProps }; //# sourceMappingURL=use-sync-props.js.map