From af4880d68640506b551180af71da4e43b0ed7812 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: Thu, 30 Mar 2023 15:49:53 +0800 Subject: [PATCH] feat: slot type for defineComponent --- .../__snapshots__/compileScript.spec.ts.snap | 45 +++++++++++++++++++ .../__tests__/compileScript.spec.ts | 34 ++++++++++++++ packages/compiler-sfc/src/compileScript.ts | 2 +- packages/dts-test/defineComponent.test-d.tsx | 32 ++++++++++++- packages/dts-test/setupHelpers.test-d.ts | 17 ++++++- .../runtime-core/src/apiDefineComponent.ts | 29 +++++++++--- packages/runtime-core/src/apiSetupHelpers.ts | 10 ++--- packages/runtime-core/src/component.ts | 24 +++++++--- packages/runtime-core/src/componentOptions.ts | 31 +++++++++++-- .../src/componentPublicInstance.ts | 6 ++- packages/runtime-core/src/componentSlots.ts | 18 +++++++- packages/runtime-core/src/index.ts | 2 +- packages/runtime-dom/src/apiCustomElement.ts | 9 +++- 13 files changed, 229 insertions(+), 30 deletions(-) diff --git a/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap b/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap index e78522ee3af..24b6b6b3f85 100644 --- a/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap +++ b/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap @@ -1769,6 +1769,51 @@ return { props, emit } })" `; +exports[`SFC compile + `) + assertCode(content) + expect(content).toMatch(`const slots = _useSlots()`) + }) + + test('defineSlots w/o return value', () => { + const { content } = compile(` + + `) + assertCode(content) + expect(content).not.toMatch(`_useSlots`) + }) + + test('defineSlots w/o generic params', () => { + const { content } = compile(` + + `) + assertCode(content) + expect(content).toMatch(`const slots = _useSlots()`) + }) + test('runtime Enum', () => { const { content, bindings } = compile( `