From 12787c09118a2baf17b496aa08f879c3dda4ca7b Mon Sep 17 00:00:00 2001 From: tycho Date: Mon, 15 Jul 2024 10:30:32 +0800 Subject: [PATCH 1/3] fix(reactivity): ensure `unref` correctly resolves type for `ShallowRef` --- packages/dts-test/ref.test-d.ts | 4 ++++ packages/reactivity/src/ref.ts | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) 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..644adea0c07 100644 --- a/packages/reactivity/src/ref.ts +++ b/packages/reactivity/src/ref.ts @@ -216,7 +216,7 @@ export function triggerRef(ref: Ref) { triggerRefValue(ref, DirtyLevels.Dirty, __DEV__ ? ref.value : void 0) } -export type MaybeRef = T | Ref +export type MaybeRef = T | Ref | ShallowRef export type MaybeRefOrGetter = MaybeRef | (() => T) /** From 09d9c58611f0f393041e6ac0c30a6c74bcb45b90 Mon Sep 17 00:00:00 2001 From: tycho Date: Tue, 16 Jul 2024 10:26:30 +0800 Subject: [PATCH 2/3] fix: add `ShallowRef` to `unref` and `toValue` argument union --- packages/reactivity/src/ref.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/reactivity/src/ref.ts b/packages/reactivity/src/ref.ts index 644adea0c07..3e9b05062f3 100644 --- a/packages/reactivity/src/ref.ts +++ b/packages/reactivity/src/ref.ts @@ -216,7 +216,7 @@ export function triggerRef(ref: Ref) { triggerRefValue(ref, DirtyLevels.Dirty, __DEV__ ? ref.value : void 0) } -export type MaybeRef = T | Ref | ShallowRef +export type MaybeRef = T | Ref export type MaybeRefOrGetter = MaybeRef | (() => T) /** @@ -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) } From f79b34cbb222c60a61fbd65ef69bfc3b1ce3628b Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Tue, 16 Jul 2024 02:31:17 +0000 Subject: [PATCH 3/3] [autofix.ci] apply automated fixes --- .../compiler-dom/__tests__/decoderHtmlBrowser.spec.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) 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("'") }) })