From 584eae60d1abe80d15b317ec80b7556712df8e5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=89=E5=92=B2=E6=99=BA=E5=AD=90=20Kevin=20Deng?= Date: Mon, 14 Nov 2022 08:36:03 +0800 Subject: [PATCH] fix(compiler-sfc): always generate runtime prop type for Function (#7112) fix #7111 --- .../__snapshots__/compileScript.spec.ts.snap | 29 +++++++++++++++++++ .../__tests__/compileScript.spec.ts | 29 +++++++++++++++++++ packages/compiler-sfc/src/compileScript.ts | 9 ++---- 3 files changed, 61 insertions(+), 6 deletions(-) diff --git a/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap b/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap index 80fb1f087cc..b167dea7026 100644 --- a/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap +++ b/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap @@ -1729,6 +1729,35 @@ const props = __props as { +return { props, get defaults() { return defaults } } +} + +})" +`; + +exports[`SFC compile + `, + { isProd: true } + ) + assertCode(content) + expect(content).toMatch(`import { mergeDefaults as _mergeDefaults`) + expect(content).toMatch( + ` + _mergeDefaults({ + foo: { type: Function }, + bar: { type: Boolean }, + baz: { type: [Boolean, Function] }, + qux: null + }, { ...defaults })`.trim() + ) + }) + test('defineEmits w/ type', () => { const { content } = compile(`