]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
types: Use unique symbol type for _isRef property of ref object (#118)
authorRahul Kadyan <hi@znck.me>
Sun, 6 Oct 2019 02:32:50 +0000 (08:02 +0530)
committerEvan You <yyx990803@gmail.com>
Sun, 6 Oct 2019 02:32:50 +0000 (22:32 -0400)
packages/reactivity/__tests__/ref.spec.ts
packages/reactivity/src/effect.ts
packages/reactivity/src/ref.ts

index 899cf103e9a5081be215e02b4cd93cad377e510d..dd04ac6a5ce35e73968efdd1da7339d38d2e0590 100644 (file)
@@ -78,6 +78,7 @@ describe('reactivity/ref', () => {
     expect(isRef(computed(() => 1))).toBe(true)
 
     expect(isRef(0)).toBe(false)
+    expect(isRef(1)).toBe(false)
     // an object that looks like a ref isn't necessarily a ref
     expect(isRef({ value: 0 })).toBe(false)
   })
index 5284825ce222b2b977109b048a6e8e4391f26cc6..a147e6136a045476de67c1c01256e7c825be1bf7 100644 (file)
@@ -131,7 +131,7 @@ export function track(
       targetMap.set(target, (depsMap = new Map()))
     }
     let dep = depsMap.get(key!)
-    if (!dep) {
+    if (dep === void 0) {
       depsMap.set(key!, (dep = new Set()))
     }
     if (!dep.has(effect)) {
index ad39a74f0f92e63574fb3221ce8379f6b34734f7..ff25d371d3673475e15f8795ed052f09af9d17fb 100644 (file)
@@ -4,9 +4,10 @@ import { isObject } from '@vue/shared'
 import { reactive } from './reactive'
 
 export const refSymbol = Symbol()
+export type RefSymbol = typeof refSymbol
 
 export interface Ref<T> {
-  _isRef: symbol
+  _isRef: RefSymbol
   value: UnwrapNestedRefs<T>
 }