From 9c8f114c2eec123decec14a208e9de9a173bece6 Mon Sep 17 00:00:00 2001 From: daiwei Date: Fri, 29 Apr 2022 15:46:53 +0800 Subject: [PATCH 1/5] fix(compiler-sfc): support resolve type declaration from normal script fix(compiler-sfc): support resolve type declaration from normal script fix(compiler-sfc): support resolve type declaration from normal script update test case --- .../__snapshots__/compileScript.spec.ts.snap | 24 +++++++++++++++++ .../__tests__/compileScript.spec.ts | 16 ++++++++++++ packages/compiler-sfc/src/compileScript.ts | 26 +++++++++++++------ 3 files changed, 58 insertions(+), 8 deletions(-) diff --git a/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap b/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap index de223bf91d8..70b7e0c732a 100644 --- a/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap +++ b/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap @@ -1445,6 +1445,30 @@ const props = __props as { foo: string, bar?: number, baz: boolean, qux(): numbe +return { props } +} + +})" +`; + +exports[`SFC compile + + `) + assertCode(content) + }) + test('defineEmits w/ type', () => { const { content } = compile(` + + `) + assertCode(content) + }) + test('withDefaults (dynamic)', () => { const { content } = compile(` - - `) - assertCode(content) - }) - test('defineEmits w/ type', () => { const { content } = compile(` + + `) + assertCode(content) + expect(content).toMatch(`emit: ({ (e: 'foo' | 'bar'): void }),`) + expect(content).toMatch(`emits: ["foo", "bar"]`) + }) + test('defineEmits w/ type (type alias)', () => { const { content } = compile(`