From a6e5f82d8ea5fe55432d0277e88300045eca4237 Mon Sep 17 00:00:00 2001 From: Evan You Date: Thu, 9 Sep 2021 12:28:59 -0400 Subject: [PATCH] fix(compiler-sfc): properly analyze destructured bindings with dynamic keys fix #4540 --- .../__snapshots__/compileScript.spec.ts.snap | 13 +++++++++++ .../__tests__/compileScript.spec.ts | 17 ++++++++++++++ packages/compiler-sfc/src/compileScript.ts | 23 ++++++++----------- 3 files changed, 40 insertions(+), 13 deletions(-) diff --git a/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap b/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap index 54591d402bd..29bfc58cddb 100644 --- a/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap +++ b/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap @@ -96,6 +96,19 @@ export default /*#__PURE__*/ Object.assign(__default__, { })" `; +exports[`SFC compile + `) + expect(content).toMatch('return { foo, bar, baz, y, z }') + expect(bindings).toStrictEqual({ + foo: BindingTypes.SETUP_MAYBE_REF, + bar: BindingTypes.SETUP_MAYBE_REF, + baz: BindingTypes.SETUP_MAYBE_REF, + y: BindingTypes.SETUP_MAYBE_REF, + z: BindingTypes.SETUP_MAYBE_REF + }) + assertCode(content) + }) + test('defineProps()', () => { const { content, bindings } = compile(`