From: Carlos Rodrigues Date: Wed, 22 Apr 2020 15:54:54 +0000 (+0100) Subject: fix(types): fix ref(false) type to Ref (#1028) X-Git-Tag: v3.0.0-beta.4~19 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0bdd8891569eb15e492007b3eb0f45d598e85b3f;p=thirdparty%2Fvuejs%2Fcore.git fix(types): fix ref(false) type to Ref (#1028) --- diff --git a/packages/reactivity/src/ref.ts b/packages/reactivity/src/ref.ts index 5b26aec108..79c2dc52c2 100644 --- a/packages/reactivity/src/ref.ts +++ b/packages/reactivity/src/ref.ts @@ -28,7 +28,10 @@ export function isRef(r: any): r is Ref { return r ? r._isRef === true : false } -export function ref(value: T): T extends Ref ? T : Ref> +export function ref( + value: T +): T extends Ref ? T : Ref> +export function ref(value: T): Ref> export function ref(): Ref export function ref(value?: unknown) { return createRef(value) diff --git a/test-dts/ref.test-d.ts b/test-dts/ref.test-d.ts index 7aa6c60663..41dc6ee75c 100644 --- a/test-dts/ref.test-d.ts +++ b/test-dts/ref.test-d.ts @@ -21,6 +21,16 @@ function plainType(arg: number | Ref) { expectType>(nestedRef) expectType<{ foo: number }>(nestedRef.value) + // ref boolean + const falseRef = ref(false) + expectType>(falseRef) + expectType(falseRef.value) + + // ref true + const trueRef = ref(true) + expectType>(trueRef) + expectType(trueRef.value) + // tuple expectType<[number, string]>(unref(ref([1, '1'])))