import { withPointer } from './hook-engine.mjs'; export function useMemo(fn, dependencies) { return withPointer((pointer) => { const prev = pointer.get(); if (!prev || prev.dependencies.length !== dependencies.length || prev.dependencies.some((dep, i) => dep !== dependencies[i])) { const value = fn(); pointer.set({ value, dependencies }); return value; } return prev.value; }); }