reactivity.test-d.ts 628 B

123456789101112131415161718192021222324
  1. import { shallowReadonly } from '@vue/reactivity'
  2. import { ref, readonly, describe, expectError, expectType, Ref } from './index'
  3. describe('should support DeepReadonly', () => {
  4. const r = readonly({ obj: { k: 'v' } })
  5. // @ts-expect-error
  6. expectError((r.obj = {}))
  7. // @ts-expect-error
  8. expectError((r.obj.k = 'x'))
  9. })
  10. // #4180
  11. describe('readonly ref', () => {
  12. const r = readonly(ref({ count: 1 }))
  13. expectType<Ref>(r)
  14. })
  15. describe('shallowReadonly ref unwrap', () => {
  16. const r = shallowReadonly({ count: { n: ref(1) } })
  17. // @ts-expect-error
  18. r.count = 2
  19. expectType<Ref>(r.count.n)
  20. r.count.n.value = 123
  21. })