import {useRef} from "./use-ref.js" import {useMount} from "./use-mount.js" /** mount/unmount lifecycle, but also return a value */ export function useLifecycle(fn: () => [value: Value, dispose: () => void]) { const ref = useRef(undefined as Value) useMount(() => { const [value, dispose] = fn() ref.current = value return dispose }) return ref.current }