Function readonly()
Takes an object (reactive or plain) or a ref and
returns a readonly proxy to the original.
function readonly<T extends object>(
target: T
): DeepReadonly<UnwrapNestedRefs<T>>
const original = reactive({ count: 0 })
const copy = readonly(original)
watchEffect(() => {
// works for reactivity tracking
console.log(copy.count)
})
// mutating original will trigger watchers relying on the copy
original.count++
// mutating the copy will fail and result in a warning
copy.count++ // warning!