import { withPointer, effectScheduler } from './hook-engine.mjs'; export function useEffect(cb, depArray) { withPointer((pointer) => { const oldDeps = pointer.get(); const hasChanged = !Array.isArray(oldDeps) || depArray.some((dep, i) => !Object.is(dep, oldDeps[i])); if (hasChanged) { effectScheduler.queue(cb); } pointer.set(depArray); }); }