Răsfoiți Sursa

fix(types): fix types for readonly ref

fix #4180
Evan You 4 ani în urmă
părinte
comite
2581cfb707
2 a modificat fișierele cu 15 adăugiri și 14 ștergeri
  1. 0 5
      packages/reactivity/src/ref.ts
  2. 15 9
      test-dts/reactivity.test-d.ts

+ 0 - 5
packages/reactivity/src/ref.ts

@@ -19,11 +19,6 @@ export interface Ref<T = any> {
    * @internal
    */
   _shallow?: boolean
-
-  /**
-   * Deps are maintained locally rather than in depsMap for performance reasons.
-   */
-  dep?: Dep
 }
 
 type RefBase<T> = {

+ 15 - 9
test-dts/reactivity.test-d.ts

@@ -1,9 +1,15 @@
-import { readonly, describe, expectError } from './index'
-
-describe('should support DeepReadonly', () => {
-  const r = readonly({ obj: { k: 'v' } })
-  // @ts-expect-error
-  expectError((r.obj = {}))
-  // @ts-expect-error
-  expectError((r.obj.k = 'x'))
-})
+import { ref, readonly, describe, expectError, expectType, Ref } from './index'
+
+describe('should support DeepReadonly', () => {
+  const r = readonly({ obj: { k: 'v' } })
+  // @ts-expect-error
+  expectError((r.obj = {}))
+  // @ts-expect-error
+  expectError((r.obj.k = 'x'))
+})
+
+// #4180
+describe('readonly ref', () => {
+  const r = readonly(ref({ count: 1 }))
+  expectType<Ref>(r)
+})