diff --git a/packages/compiler-dom/__tests__/decoderHtmlBrowser.spec.ts b/packages/compiler-dom/__tests__/decoderHtmlBrowser.spec.ts
index 70b6997277c..507d4243b88 100644
--- a/packages/compiler-dom/__tests__/decoderHtmlBrowser.spec.ts
+++ b/packages/compiler-dom/__tests__/decoderHtmlBrowser.spec.ts
@@ -40,11 +40,7 @@ describe('decodeHtmlBrowser', () => {
true,
),
).toBe('&')
- expect(decodeHtmlBrowser('"', true)).toBe(
- '"',
- )
- expect(decodeHtmlBrowser("'", true)).toBe(
- "'",
- )
+ expect(decodeHtmlBrowser('"', true)).toBe('"')
+ expect(decodeHtmlBrowser("'", true)).toBe("'")
})
})
diff --git a/packages/dts-test/ref.test-d.ts b/packages/dts-test/ref.test-d.ts
index 5d4c9d95dab..1456c523239 100644
--- a/packages/dts-test/ref.test-d.ts
+++ b/packages/dts-test/ref.test-d.ts
@@ -452,3 +452,7 @@ describe('toRef <-> toValue', () => {
),
)
})
+
+// unref
+declare const text: ShallowRef | ComputedRef | MaybeRef
+expectType(unref(text))
diff --git a/packages/reactivity/src/ref.ts b/packages/reactivity/src/ref.ts
index e47b8aa5582..3e9b05062f3 100644
--- a/packages/reactivity/src/ref.ts
+++ b/packages/reactivity/src/ref.ts
@@ -235,7 +235,7 @@ export type MaybeRefOrGetter = MaybeRef | (() => T)
* @param ref - Ref or plain value to be converted into the plain value.
* @see {@link https://vuejs.org/api/reactivity-utilities.html#unref}
*/
-export function unref(ref: MaybeRef | ComputedRef): T {
+export function unref(ref: MaybeRef | ComputedRef | ShallowRef): T {
return isRef(ref) ? ref.value : ref
}
@@ -255,7 +255,9 @@ export function unref(ref: MaybeRef | ComputedRef): T {
* @param source - A getter, an existing ref, or a non-function value.
* @see {@link https://vuejs.org/api/reactivity-utilities.html#tovalue}
*/
-export function toValue(source: MaybeRefOrGetter | ComputedRef): T {
+export function toValue(
+ source: MaybeRefOrGetter | ComputedRef | ShallowRef,
+): T {
return isFunction(source) ? source() : unref(source)
}