diff --git a/tests/baselines/reference/declarationEmit_bindingPatters.js b/tests/baselines/reference/declarationEmit_bindingPatters.js new file mode 100644 index 00000000000..e97d93dc634 --- /dev/null +++ b/tests/baselines/reference/declarationEmit_bindingPatters.js @@ -0,0 +1,26 @@ +//// [declarationEmit_bindingPatters.ts] + +const k = ({x: z = 'y'}) => { } + +var a; +function f({} = a, [] = a, { p: {} = a} = a) { +} + +//// [declarationEmit_bindingPatters.js] +var k = function (_a) { + var _b = _a.x, z = _b === void 0 ? 'y' : _b; +}; +var a; +function f(_a, _b, _c) { + var _a = a; + var _b = a; + var _d = (_c === void 0 ? a : _c).p, _e = _d === void 0 ? a : _d; +} + + +//// [declarationEmit_bindingPatters.d.ts] +declare const k: ({x:z}: { + x?: string; +}) => void; +declare var a: any; +declare function f({}?: any, []?: any, {p: {}}?: any): void; diff --git a/tests/baselines/reference/declarationEmit_bindingPatters.symbols b/tests/baselines/reference/declarationEmit_bindingPatters.symbols new file mode 100644 index 00000000000..522166ed511 --- /dev/null +++ b/tests/baselines/reference/declarationEmit_bindingPatters.symbols @@ -0,0 +1,17 @@ +=== tests/cases/compiler/declarationEmit_bindingPatters.ts === + +const k = ({x: z = 'y'}) => { } +>k : Symbol(k, Decl(declarationEmit_bindingPatters.ts, 1, 5)) +>x : Symbol(x) +>z : Symbol(z, Decl(declarationEmit_bindingPatters.ts, 1, 12)) + +var a; +>a : Symbol(a, Decl(declarationEmit_bindingPatters.ts, 3, 3)) + +function f({} = a, [] = a, { p: {} = a} = a) { +>f : Symbol(f, Decl(declarationEmit_bindingPatters.ts, 3, 6)) +>a : Symbol(a, Decl(declarationEmit_bindingPatters.ts, 3, 3)) +>a : Symbol(a, Decl(declarationEmit_bindingPatters.ts, 3, 3)) +>a : Symbol(a, Decl(declarationEmit_bindingPatters.ts, 3, 3)) +>a : Symbol(a, Decl(declarationEmit_bindingPatters.ts, 3, 3)) +} diff --git a/tests/baselines/reference/declarationEmit_bindingPatters.types b/tests/baselines/reference/declarationEmit_bindingPatters.types new file mode 100644 index 00000000000..44c5b3e9f43 --- /dev/null +++ b/tests/baselines/reference/declarationEmit_bindingPatters.types @@ -0,0 +1,20 @@ +=== tests/cases/compiler/declarationEmit_bindingPatters.ts === + +const k = ({x: z = 'y'}) => { } +>k : ({x:z}: { x?: string; }) => void +>({x: z = 'y'}) => { } : ({x:z}: { x?: string; }) => void +>x : any +>z : string +>'y' : string + +var a; +>a : any + +function f({} = a, [] = a, { p: {} = a} = a) { +>f : ({}?: any, []?: any, {p:{}}?: any) => void +>a : any +>a : any +>p : any +>a : any +>a : any +} diff --git a/tests/cases/compiler/declarationEmit_bindingPatters.ts b/tests/cases/compiler/declarationEmit_bindingPatters.ts new file mode 100644 index 00000000000..16d380307fd --- /dev/null +++ b/tests/cases/compiler/declarationEmit_bindingPatters.ts @@ -0,0 +1,7 @@ +// @declaration: true + +const k = ({x: z = 'y'}) => { } + +var a; +function f({} = a, [] = a, { p: {} = a} = a) { +} \ No newline at end of file