import { computed, type ReadonlySignal } from '@preact/signals-core'; export const computedLock = ( value$: ReadonlySignal, lock$: ReadonlySignal ): ReadonlySignal => { let previousValue: T; return computed(() => { if (lock$.value) { return previousValue ?? value$.value; } previousValue = value$.value; return previousValue; }); };