diff --git a/src/compiler/transformers/destructuring.ts b/src/compiler/transformers/destructuring.ts index 1dcbc081475..484cee5e497 100644 --- a/src/compiler/transformers/destructuring.ts +++ b/src/compiler/transformers/destructuring.ts @@ -5,6 +5,7 @@ namespace ts { level: FlattenLevel; downlevelIteration: boolean; hoistTempVariables: boolean; + hasTransformedPriorElement?: boolean; // indicates whether we've transformed a prior declaration emitExpression: (value: Expression) => void; emitBindingOrAssignment: (target: BindingOrAssignmentElementTarget, value: Expression, location: TextRange, original: Node | undefined) => void; createArrayBindingOrAssignmentPattern: (elements: BindingOrAssignmentElement[]) => ArrayBindingOrAssignmentPattern; @@ -265,18 +266,27 @@ namespace ts { value: Expression | undefined, location: TextRange, skipInitializer?: boolean) { + const bindingTarget = getTargetOfBindingOrAssignmentElement(element)!; // TODO: GH#18217 if (!skipInitializer) { const initializer = visitNode(getInitializerOfBindingOrAssignmentElement(element), flattenContext.visitor, isExpression); if (initializer) { // Combine value and initializer - value = value ? createDefaultValueCheck(flattenContext, value, initializer, location) : initializer; + if (value) { + value = createDefaultValueCheck(flattenContext, value, initializer, location); + // If 'value' is not a simple expression, it could contain side-effecting code that should evaluate before an object or array binding pattern. + if (!isSimpleInlineableExpression(initializer) && isBindingOrAssignmentPattern(bindingTarget)) { + value = ensureIdentifier(flattenContext, value, /*reuseIdentifierExpressions*/ true, location); + } + } + else { + value = initializer; + } } else if (!value) { // Use 'void 0' in absence of value and initializer value = flattenContext.context.factory.createVoidZero(); } } - const bindingTarget = getTargetOfBindingOrAssignmentElement(element)!; // TODO: GH#18217 if (isObjectBindingOrAssignmentPattern(bindingTarget)) { flattenObjectBindingOrAssignmentPattern(flattenContext, element, bindingTarget, value!, location); } @@ -393,7 +403,8 @@ namespace ts { if (flattenContext.level >= FlattenLevel.ObjectRest) { // If an array pattern contains an ObjectRest, we must cache the result so that we // can perform the ObjectRest destructuring in a different declaration - if (element.transformFlags & TransformFlags.ContainsObjectRestOrSpread) { + if (element.transformFlags & TransformFlags.ContainsObjectRestOrSpread || flattenContext.hasTransformedPriorElement && !isSimpleBindingOrAssignmentElement(element)) { + flattenContext.hasTransformedPriorElement = true; const temp = flattenContext.context.factory.createTempVariable(/*recordTempVariable*/ undefined); if (flattenContext.hoistTempVariables) { flattenContext.context.hoistVariableDeclaration(temp); @@ -428,6 +439,17 @@ namespace ts { } } + function isSimpleBindingOrAssignmentElement(element: BindingOrAssignmentElement): boolean { + const target = getTargetOfBindingOrAssignmentElement(element); + if (!target || isOmittedExpression(target)) return true; + const propertyName = tryGetPropertyNameOfBindingOrAssignmentElement(element); + if (propertyName && !isPropertyNameLiteral(propertyName)) return false; + const initializer = getInitializerOfBindingOrAssignmentElement(element); + if (initializer && !isSimpleInlineableExpression(initializer)) return false; + if (isBindingOrAssignmentPattern(target)) return every(getElementsOfBindingOrAssignmentPattern(target), isSimpleBindingOrAssignmentElement); + return isIdentifier(target); + } + /** * Creates an expression used to provide a default value if a value is `undefined` at runtime. * diff --git a/src/testRunner/tsconfig.json b/src/testRunner/tsconfig.json index fc9b2272ca3..7d924bb8de7 100644 --- a/src/testRunner/tsconfig.json +++ b/src/testRunner/tsconfig.json @@ -89,6 +89,7 @@ "unittests/evaluation/asyncArrow.ts", "unittests/evaluation/asyncGenerator.ts", "unittests/evaluation/awaiter.ts", + "unittests/evaluation/destructuring.ts", "unittests/evaluation/forAwaitOf.ts", "unittests/evaluation/forOf.ts", "unittests/evaluation/optionalCall.ts", diff --git a/src/testRunner/unittests/evaluation/destructuring.ts b/src/testRunner/unittests/evaluation/destructuring.ts new file mode 100644 index 00000000000..1ca027376f7 --- /dev/null +++ b/src/testRunner/unittests/evaluation/destructuring.ts @@ -0,0 +1,39 @@ +describe("unittests:: evaluation:: destructuring", () => { + // https://github.com/microsoft/TypeScript/issues/39205 + describe("correct order for array destructuring evaluation and initializers", () => { + it("when element is undefined", () => { + const result = evaluator.evaluateTypeScript(` + export const output: any[] = []; + const order = (n: any): any => output.push(n); + let [{ [order(1)]: x } = order(0)] = []; + `, { target: ts.ScriptTarget.ES5 }); + assert.deepEqual(result.output, [0, 1]); + }); + it("when element is defined", async () => { + const result = evaluator.evaluateTypeScript(` + export const output: any[] = []; + const order = (n: any): any => output.push(n); + let [{ [order(1)]: x } = order(0)] = [{}]; + `, { target: ts.ScriptTarget.ES5 }); + assert.deepEqual(result.output, [1]); + }); + }); + describe("correct order for array destructuring evaluation and initializers with spread", () => { + it("ES5", () => { + const result = evaluator.evaluateTypeScript(` + export const output: any[] = []; + const order = (n: any): any => output.push(n); + let { [order(0)]: { [order(2)]: z } = order(1), ...w } = {} as any; + `, { target: ts.ScriptTarget.ES5 }); + assert.deepEqual(result.output, [0, 1, 2]); + }); + it("ES2015", () => { + const result = evaluator.evaluateTypeScript(` + export const output: any[] = []; + const order = (n: any): any => output.push(n); + let { [order(0)]: { [order(2)]: z } = order(1), ...w } = {} as any; + `, { target: ts.ScriptTarget.ES2015 }); + assert.deepEqual(result.output, [0, 1, 2]); + }); + }); +}); diff --git a/tests/baselines/reference/arrowFunctionExpressions.js b/tests/baselines/reference/arrowFunctionExpressions.js index 19b7651b1e7..4872c904f01 100644 --- a/tests/baselines/reference/arrowFunctionExpressions.js +++ b/tests/baselines/reference/arrowFunctionExpressions.js @@ -137,7 +137,7 @@ var p8 = function (_a) { var _b = _a.a, a = _b === void 0 ? 1 : _b; }; var p9 = function (_a) { - var _b = _a.a, _c = (_b === void 0 ? { b: 1 } : _b).b, b = _c === void 0 ? 1 : _c; + var _b = _a.a, _c = _b === void 0 ? { b: 1 } : _b, _d = _c.b, b = _d === void 0 ? 1 : _d; }; var p10 = function (_a) { var _b = _a[0], value = _b.value, done = _b.done; diff --git a/tests/baselines/reference/contextualTypeForInitalizedVariablesFiltersUndefined.js b/tests/baselines/reference/contextualTypeForInitalizedVariablesFiltersUndefined.js index 3003e420e5f..b7264b62e26 100644 --- a/tests/baselines/reference/contextualTypeForInitalizedVariablesFiltersUndefined.js +++ b/tests/baselines/reference/contextualTypeForInitalizedVariablesFiltersUndefined.js @@ -12,15 +12,15 @@ function fst({ s } = t) { } //// [contextualTypeForInitalizedVariablesFiltersUndefined.js] "use strict"; var fInferred = function (_a) { - var _b = (_a === void 0 ? {} : _a).a, a = _b === void 0 ? 0 : _b; + var _b = _a === void 0 ? {} : _a, _c = _b.a, a = _c === void 0 ? 0 : _c; return a; }; // const fInferred: ({ a }?: { a?: number; }) => number var fAnnotated = function (_a) { - var _b = (_a === void 0 ? {} : _a).a, a = _b === void 0 ? 0 : _b; + var _b = _a === void 0 ? {} : _a, _c = _b.a, a = _c === void 0 ? 0 : _c; return a; }; var s = t.s; function fst(_a) { - var s = (_a === void 0 ? t : _a).s; + var _b = _a === void 0 ? t : _a, s = _b.s; } diff --git a/tests/baselines/reference/contextuallyTypedIife.js b/tests/baselines/reference/contextuallyTypedIife.js index 0f3315d66a2..b1d52d72184 100644 --- a/tests/baselines/reference/contextuallyTypedIife.js +++ b/tests/baselines/reference/contextuallyTypedIife.js @@ -95,11 +95,11 @@ let eleven = (o => o.a(11))({ a: function(n) { return n; } }); return p; })({ p: 15 }); (function (_a) { - var _b = (_a === void 0 ? { r: 18 } : _a).r, r = _b === void 0 ? 17 : _b; + var _b = _a === void 0 ? { r: 18 } : _a, _c = _b.r, r = _c === void 0 ? 17 : _c; return r; })({ r: 19 }); (function (_a) { - var _b = (_a === void 0 ? { u: 23 } : _a).u, u = _b === void 0 ? 22 : _b; + var _b = _a === void 0 ? { u: 23 } : _a, _c = _b.u, u = _c === void 0 ? 22 : _c; return u; })(); // contextually typed parameters. diff --git a/tests/baselines/reference/contextuallyTypedIifeStrict.js b/tests/baselines/reference/contextuallyTypedIifeStrict.js index c5455ab84c8..22a66a926dd 100644 --- a/tests/baselines/reference/contextuallyTypedIifeStrict.js +++ b/tests/baselines/reference/contextuallyTypedIifeStrict.js @@ -95,11 +95,11 @@ let eleven = (o => o.a(11))({ a: function(n) { return n; } }); return p; })({ p: 15 }); (function (_a) { - var _b = (_a === void 0 ? { r: 18 } : _a).r, r = _b === void 0 ? 17 : _b; + var _b = _a === void 0 ? { r: 18 } : _a, _c = _b.r, r = _c === void 0 ? 17 : _c; return r; })({ r: 19 }); (function (_a) { - var _b = (_a === void 0 ? { u: 23 } : _a).u, u = _b === void 0 ? 22 : _b; + var _b = _a === void 0 ? { u: 23 } : _a, _c = _b.u, u = _c === void 0 ? 22 : _c; return u; })(); // contextually typed parameters. diff --git a/tests/baselines/reference/crashInGetTextOfComputedPropertyName.js b/tests/baselines/reference/crashInGetTextOfComputedPropertyName.js index 15dd773c58d..619404c8fb4 100644 --- a/tests/baselines/reference/crashInGetTextOfComputedPropertyName.js +++ b/tests/baselines/reference/crashInGetTextOfComputedPropertyName.js @@ -41,7 +41,7 @@ typeof itemOk1; // pass var objWithItems = { items: {} }; var itemOk2 = objWithItems.items[itemId]; typeof itemOk2; // pass -var _c = objWithItems, _d = _c.items /*happens when default value is provided*/, _e = itemId, itemWithTSError = (_d === void 0 ? {} /*happens when default value is provided*/ : _d)[_e]; +var _c = objWithItems, _d = _c.items /*happens when default value is provided*/, _e = _d === void 0 ? {} : _d /*happens when default value is provided*/, _f = itemId, itemWithTSError = _e[_f]; // in order to re-produce the error, uncomment next line: typeof itemWithTSError; // :( // will result in: diff --git a/tests/baselines/reference/declarationEmitBindingPatterns.js b/tests/baselines/reference/declarationEmitBindingPatterns.js index a8550f54738..5581c06ebe6 100644 --- a/tests/baselines/reference/declarationEmitBindingPatterns.js +++ b/tests/baselines/reference/declarationEmitBindingPatterns.js @@ -13,7 +13,7 @@ var a; function f(_a, _b, _c) { _a = a; _b = a; - var _d = (_c === void 0 ? a : _c).p, _e = _d === void 0 ? a : _d; + var _d = _c === void 0 ? a : _c, _e = _d.p, _f = _e === void 0 ? a : _e, _g = _f; } diff --git a/tests/baselines/reference/declarationEmitDestructuring4.js b/tests/baselines/reference/declarationEmitDestructuring4.js index 2639aff0430..f2a82a9c20e 100644 --- a/tests/baselines/reference/declarationEmitDestructuring4.js +++ b/tests/baselines/reference/declarationEmitDestructuring4.js @@ -20,7 +20,7 @@ function baz1(_a) { _a = [1, 2, 3]; } function baz2(_a) { - var _b = (_a === void 0 ? [[1, 2, 3]] : _a)[0]; + var _b = _a === void 0 ? [[1, 2, 3]] : _a, _c = _b[0]; } function baz3(_a) { } function baz4(_a) { diff --git a/tests/baselines/reference/destructuringEvaluationOrder(target=es2015).js b/tests/baselines/reference/destructuringEvaluationOrder(target=es2015).js new file mode 100644 index 00000000000..09030097703 --- /dev/null +++ b/tests/baselines/reference/destructuringEvaluationOrder(target=es2015).js @@ -0,0 +1,49 @@ +//// [destructuringEvaluationOrder.ts] +// https://github.com/microsoft/TypeScript/issues/39205 +let trace: any[] = []; +let order = (n: any): any => trace.push(n); + +// order(0) should evaluate before order(1) because the first element is undefined +let [{ [order(1)]: x } = order(0)] = []; + +// order(0) should not evaluate because the first element is defined +let [{ [order(1)]: y } = order(0)] = [{}]; + +// order(0) should evaluate first (destructuring of object literal {}) +// order(1) should evaluate next (initializer because property is undefined) +// order(2) should evaluate last (evaluate object binding pattern from initializer) +let { [order(0)]: { [order(2)]: z } = order(1), ...w } = {} as any; + + +// https://github.com/microsoft/TypeScript/issues/39181 + +// b = a must occur *after* 'a' has been assigned +let [{ ...a }, b = a]: any[] = [{ x: 1 }] + + +//// [destructuringEvaluationOrder.js] +var __rest = (this && this.__rest) || function (s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +}; +// https://github.com/microsoft/TypeScript/issues/39205 +let trace = []; +let order = (n) => trace.push(n); +// order(0) should evaluate before order(1) because the first element is undefined +let [{ [order(1)]: x } = order(0)] = []; +// order(0) should not evaluate because the first element is defined +let [{ [order(1)]: y } = order(0)] = [{}]; +// order(0) should evaluate first (destructuring of object literal {}) +// order(1) should evaluate next (initializer because property is undefined) +// order(2) should evaluate last (evaluate object binding pattern from initializer) +let _a = {}, _b = order(0), _c = _a[_b], _d = _c === void 0 ? order(1) : _c, _e = order(2), z = _d[_e], w = __rest(_a, [typeof _b === "symbol" ? _b : _b + ""]); +// https://github.com/microsoft/TypeScript/issues/39181 +// b = a must occur *after* 'a' has been assigned +let [_f, _g] = [{ x: 1 }], a = __rest(_f, []), b = _g === void 0 ? a : _g; diff --git a/tests/baselines/reference/destructuringEvaluationOrder(target=es5).js b/tests/baselines/reference/destructuringEvaluationOrder(target=es5).js new file mode 100644 index 00000000000..f6628983f07 --- /dev/null +++ b/tests/baselines/reference/destructuringEvaluationOrder(target=es5).js @@ -0,0 +1,49 @@ +//// [destructuringEvaluationOrder.ts] +// https://github.com/microsoft/TypeScript/issues/39205 +let trace: any[] = []; +let order = (n: any): any => trace.push(n); + +// order(0) should evaluate before order(1) because the first element is undefined +let [{ [order(1)]: x } = order(0)] = []; + +// order(0) should not evaluate because the first element is defined +let [{ [order(1)]: y } = order(0)] = [{}]; + +// order(0) should evaluate first (destructuring of object literal {}) +// order(1) should evaluate next (initializer because property is undefined) +// order(2) should evaluate last (evaluate object binding pattern from initializer) +let { [order(0)]: { [order(2)]: z } = order(1), ...w } = {} as any; + + +// https://github.com/microsoft/TypeScript/issues/39181 + +// b = a must occur *after* 'a' has been assigned +let [{ ...a }, b = a]: any[] = [{ x: 1 }] + + +//// [destructuringEvaluationOrder.js] +var __rest = (this && this.__rest) || function (s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +}; +// https://github.com/microsoft/TypeScript/issues/39205 +var trace = []; +var order = function (n) { return trace.push(n); }; +// order(0) should evaluate before order(1) because the first element is undefined +var _a = [], _b = _a[0], _c = _b === void 0 ? order(0) : _b, _d = order(1), x = _c[_d]; +// order(0) should not evaluate because the first element is defined +var _e = [{}], _f = _e[0], _g = _f === void 0 ? order(0) : _f, _h = order(1), y = _g[_h]; +// order(0) should evaluate first (destructuring of object literal {}) +// order(1) should evaluate next (initializer because property is undefined) +// order(2) should evaluate last (evaluate object binding pattern from initializer) +var _j = {}, _k = order(0), _l = _j[_k], _m = _l === void 0 ? order(1) : _l, _o = order(2), z = _m[_o], w = __rest(_j, [typeof _k === "symbol" ? _k : _k + ""]); +// https://github.com/microsoft/TypeScript/issues/39181 +// b = a must occur *after* 'a' has been assigned +var _p = [{ x: 1 }], _q = _p[0], _r = _p[1], a = __rest(_q, []), b = _r === void 0 ? a : _r; diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES5.js b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES5.js index f201b17deda..28fa157768c 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES5.js +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment1ES5.js @@ -65,9 +65,9 @@ var a2 = {}.a2; // S has an apparent property with the property name specified in // P of a type that is assignable to the target given in P, or var b1 = { b1: 1 }.b1; -var _a = { b2: { b21: "world" } }.b2, b21 = (_a === void 0 ? { b21: "string" } : _a).b21; +var _a = { b2: { b21: "world" } }.b2, _b = _a === void 0 ? { b21: "string" } : _a, b21 = _b.b21; var b3 = { 1: "string" }[1]; -var _b = { b4: 100000 }.b4, b4 = _b === void 0 ? 1 : _b; +var _c = { b4: 100000 }.b4, b4 = _c === void 0 ? 1 : _c; var b52 = { b5: { b52: b52 } }.b5.b52; function foo() { return { diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment3.js b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment3.js index 0872a71c73b..d969ad93748 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment3.js +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment3.js @@ -13,6 +13,6 @@ var {"prop"} = { "prop": 1 }; var h = { h: 1 }.h; var i = { i: 2 }.i; var i1 = { i1: 2 }.i1; -var _a = undefined.f2, f21 = (_a === void 0 ? { f212: "string" } : _a).f21; +var _a = undefined.f2, _b = _a === void 0 ? { f212: "string" } : _a, f21 = _b.f21; var = { 1: }[1]; var = { "prop": 1 }["prop"]; diff --git a/tests/baselines/reference/destructuringParameterDeclaration1ES5.js b/tests/baselines/reference/destructuringParameterDeclaration1ES5.js index 23389455310..1995c7fc67f 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration1ES5.js +++ b/tests/baselines/reference/destructuringParameterDeclaration1ES5.js @@ -127,7 +127,7 @@ function b2(z, o) { if (o === void 0) { o = { x: 0, y: undefined }; } } function b3(_a) { - var _b = (_a === void 0 ? { z: { x: "hi", y: { j: 1 } } } : _a).z, x = _b.x, j = _b.y.j; + var _b = _a === void 0 ? { z: { x: "hi", y: { j: 1 } } } : _a, _c = _b.z, x = _c.x, j = _c.y.j; } function b6(_a) { var _b = _a === void 0 ? [undefined, null, undefined] : _a, a = _b[0], z = _b[1], y = _b[2]; @@ -149,13 +149,13 @@ function c0(_a) { var _b = _a.z, x = _b.x, j = _b.y.j; } function c1(_a) { - var z = (_a === void 0 ? { z: 10 } : _a).z; + var _b = _a === void 0 ? { z: 10 } : _a, z = _b.z; } function c2(_a) { var _b = _a.z, z = _b === void 0 ? 10 : _b; } function c3(_a) { - var b = (_a === void 0 ? { b: "hello" } : _a).b; + var _b = _a === void 0 ? { b: "hello" } : _a, b = _b.b; } function c5(_a) { var a = _a[0], b = _a[1], c = _a[2][0][0]; diff --git a/tests/baselines/reference/destructuringParameterDeclaration1ES5iterable.js b/tests/baselines/reference/destructuringParameterDeclaration1ES5iterable.js index 5e14800bb56..2c57ada4f68 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration1ES5iterable.js +++ b/tests/baselines/reference/destructuringParameterDeclaration1ES5iterable.js @@ -143,13 +143,13 @@ function b2(z, o) { if (o === void 0) { o = { x: 0, y: undefined }; } } function b3(_a) { - var _b = (_a === void 0 ? { z: { x: "hi", y: { j: 1 } } } : _a).z, x = _b.x, j = _b.y.j; + var _b = _a === void 0 ? { z: { x: "hi", y: { j: 1 } } } : _a, _c = _b.z, x = _c.x, j = _c.y.j; } function b6(_a) { - var _b = __read(_a === void 0 ? [undefined, null, undefined] : _a, 3), a = _b[0], z = _b[1], y = _b[2]; + var _b = _a === void 0 ? [undefined, null, undefined] : _a, _c = __read(_b, 3), a = _c[0], z = _c[1], y = _c[2]; } function b7(_a) { - var _b = __read(_a === void 0 ? [[undefined], undefined, [[undefined, undefined]]] : _a, 3), _c = __read(_b[0], 1), a = _c[0], b = _b[1], _d = __read(_b[2], 1), _e = __read(_d[0], 2), c = _e[0], d = _e[1]; + var _b = _a === void 0 ? [[undefined], undefined, [[undefined, undefined]]] : _a, _c = __read(_b, 3), _d = __read(_c[0], 1), a = _d[0], b = _c[1], _e = __read(_c[2], 1), _f = __read(_e[0], 2), c = _f[0], d = _f[1]; } b1([1, 2, 3]); // z is widen to the type any[] b2("string", { x: 200, y: "string" }); @@ -165,13 +165,13 @@ function c0(_a) { var _b = _a.z, x = _b.x, j = _b.y.j; } function c1(_a) { - var z = (_a === void 0 ? { z: 10 } : _a).z; + var _b = _a === void 0 ? { z: 10 } : _a, z = _b.z; } function c2(_a) { var _b = _a.z, z = _b === void 0 ? 10 : _b; } function c3(_a) { - var b = (_a === void 0 ? { b: "hello" } : _a).b; + var _b = _a === void 0 ? { b: "hello" } : _a, b = _b.b; } function c5(_a) { var _b = __read(_a, 3), a = _b[0], b = _b[1], _c = __read(_b[2], 1), _d = __read(_c[0], 1), c = _d[0]; diff --git a/tests/baselines/reference/destructuringParameterDeclaration2.js b/tests/baselines/reference/destructuringParameterDeclaration2.js index 94435f967c5..a05a59badab 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration2.js +++ b/tests/baselines/reference/destructuringParameterDeclaration2.js @@ -94,13 +94,13 @@ function c0(_a) { var _b = _a.z, x = _b.x, j = _b.y.j; } function c1(_a) { - var z = (_a === void 0 ? { z: 10 } : _a).z; + var _b = _a === void 0 ? { z: 10 } : _a, z = _b.z; } function c2(_a) { var _b = _a.z, z = _b === void 0 ? 10 : _b; } function c3(_a) { - var b = (_a === void 0 ? { b: "hello" } : _a).b; + var _b = _a === void 0 ? { b: "hello" } : _a, b = _b.b; } function c4(_a, z) { var z = _a[0]; diff --git a/tests/baselines/reference/destructuringParameterDeclaration5.js b/tests/baselines/reference/destructuringParameterDeclaration5.js index a9c5597a3e5..cc2da43a81a 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration5.js +++ b/tests/baselines/reference/destructuringParameterDeclaration5.js @@ -90,7 +90,7 @@ var SubD = /** @class */ (function (_super) { return SubD; }(D)); function d0(_a) { - var x = (_a === void 0 ? { x: new Class() } : _a).x; + var _b = _a === void 0 ? { x: new Class() } : _a, x = _b.x; } function d1(_a) { var x = _a.x; @@ -102,7 +102,7 @@ function d3(_a) { var y = _a.y; } function d4(_a) { - var y = (_a === void 0 ? { y: new D() } : _a).y; + var _b = _a === void 0 ? { y: new D() } : _a, y = _b.y; } var obj = new Class(); d0({ x: 1 }); diff --git a/tests/baselines/reference/destructuringVariableDeclaration1ES5.js b/tests/baselines/reference/destructuringVariableDeclaration1ES5.js index 6ab85ff6388..117cd448a38 100644 --- a/tests/baselines/reference/destructuringVariableDeclaration1ES5.js +++ b/tests/baselines/reference/destructuringVariableDeclaration1ES5.js @@ -55,10 +55,10 @@ var _a = { a1: 10, a2: "world" }, a1 = _a.a1, a2 = _a.a2; var _b = [1, [["hello"]], true], a3 = _b[0], a4 = _b[1][0][0], a5 = _b[2]; // The type T associated with a destructuring variable declaration is determined as follows: // Otherwise, if the declaration includes an initializer expression, T is the type of that initializer expression. -var _c = { b1: { b11: "world" } }.b1, b11 = (_c === void 0 ? { b11: "string" } : _c).b11; +var _c = { b1: { b11: "world" } }.b1, _d = _c === void 0 ? { b11: "string" } : _c, b11 = _d.b11; var temp = { t1: true, t2: "false" }; -var _d = [3, false, { t1: false, t2: "hello" }], _e = _d[0], b2 = _e === void 0 ? 3 : _e, _f = _d[1], b3 = _f === void 0 ? true : _f, _g = _d[2], b4 = _g === void 0 ? temp : _g; -var _h = [undefined, undefined, undefined], _j = _h[0], b5 = _j === void 0 ? 3 : _j, _k = _h[1], b6 = _k === void 0 ? true : _k, _l = _h[2], b7 = _l === void 0 ? temp : _l; +var _e = [3, false, { t1: false, t2: "hello" }], _f = _e[0], b2 = _f === void 0 ? 3 : _f, _g = _e[1], b3 = _g === void 0 ? true : _g, _h = _e[2], b4 = _h === void 0 ? temp : _h; +var _j = [undefined, undefined, undefined], _k = _j[0], b5 = _k === void 0 ? 3 : _k, _l = _j[1], b6 = _l === void 0 ? true : _l, _m = _j[2], b7 = _m === void 0 ? temp : _m; // The type T associated with a binding element is determined as follows: // If the binding element is a rest element, T is an array type with // an element type E, where E is the type of the numeric index signature of S. @@ -68,17 +68,17 @@ var c2 = [1, 2, 3, "string"].slice(0); // Otherwise, if S is a tuple- like type (section 3.3.3): // Let N be the zero-based index of the binding element in the array binding pattern. // If S has a property with the numerical name N, T is the type of that property. -var _m = [1, "string"], d1 = _m[0], d2 = _m[1]; +var _o = [1, "string"], d1 = _o[0], d2 = _o[1]; // The type T associated with a binding element is determined as follows: // Otherwise, if S is a tuple- like type (section 3.3.3): // Otherwise, if S has a numeric index signature, T is the type of the numeric index signature. var temp1 = [true, false, true]; -var _o = __spreadArrays([1, "string"], temp1), d3 = _o[0], d4 = _o[1]; +var _p = __spreadArrays([1, "string"], temp1), d3 = _p[0], d4 = _p[1]; // Combining both forms of destructuring, -var _p = { e: [1, 2, { b1: 4, b4: 0 }] }.e, e1 = _p[0], e2 = _p[1], _q = _p[2], e3 = _q === void 0 ? { b1: 1000, b4: 200 } : _q; -var _r = { f: [1, 2, { f3: 4, f5: 0 }] }.f, f1 = _r[0], f2 = _r[1], _s = _r[2], f4 = _s.f3, f5 = _s.f5; +var _q = { e: [1, 2, { b1: 4, b4: 0 }] }.e, e1 = _q[0], e2 = _q[1], _r = _q[2], e3 = _r === void 0 ? { b1: 1000, b4: 200 } : _r; +var _s = { f: [1, 2, { f3: 4, f5: 0 }] }.f, f1 = _s[0], f2 = _s[1], _t = _s[2], f4 = _t.f3, f5 = _t.f5; // When a destructuring variable declaration, binding property, or binding element specifies // an initializer expression, the type of the initializer expression is required to be assignable // to the widened form of the type associated with the destructuring variable declaration, binding property, or binding element. -var _t = { g: { g1: [1, 2] } }.g.g1, g1 = _t === void 0 ? [undefined, null] : _t; -var _u = { h: { h1: [1, 2] } }.h.h1, h1 = _u === void 0 ? [undefined, null] : _u; +var _u = { g: { g1: [1, 2] } }.g.g1, g1 = _u === void 0 ? [undefined, null] : _u; +var _v = { h: { h1: [1, 2] } }.h.h1, h1 = _v === void 0 ? [undefined, null] : _v; diff --git a/tests/baselines/reference/destructuringVariableDeclaration1ES5iterable.js b/tests/baselines/reference/destructuringVariableDeclaration1ES5iterable.js index 83fb3de04fc..6a7052d8956 100644 --- a/tests/baselines/reference/destructuringVariableDeclaration1ES5iterable.js +++ b/tests/baselines/reference/destructuringVariableDeclaration1ES5iterable.js @@ -68,30 +68,30 @@ var _a = { a1: 10, a2: "world" }, a1 = _a.a1, a2 = _a.a2; var _b = __read([1, [["hello"]], true], 3), a3 = _b[0], _c = __read(_b[1], 1), _d = __read(_c[0], 1), a4 = _d[0], a5 = _b[2]; // The type T associated with a destructuring variable declaration is determined as follows: // Otherwise, if the declaration includes an initializer expression, T is the type of that initializer expression. -var _e = { b1: { b11: "world" } }.b1, b11 = (_e === void 0 ? { b11: "string" } : _e).b11; +var _e = { b1: { b11: "world" } }.b1, _f = _e === void 0 ? { b11: "string" } : _e, b11 = _f.b11; var temp = { t1: true, t2: "false" }; -var _f = __read([3, false, { t1: false, t2: "hello" }], 3), _g = _f[0], b2 = _g === void 0 ? 3 : _g, _h = _f[1], b3 = _h === void 0 ? true : _h, _j = _f[2], b4 = _j === void 0 ? temp : _j; -var _k = __read([undefined, undefined, undefined], 3), _l = _k[0], b5 = _l === void 0 ? 3 : _l, _m = _k[1], b6 = _m === void 0 ? true : _m, _o = _k[2], b7 = _o === void 0 ? temp : _o; +var _g = __read([3, false, { t1: false, t2: "hello" }], 3), _h = _g[0], b2 = _h === void 0 ? 3 : _h, _j = _g[1], b3 = _j === void 0 ? true : _j, _k = _g[2], b4 = _k === void 0 ? temp : _k; +var _l = __read([undefined, undefined, undefined], 3), _m = _l[0], b5 = _m === void 0 ? 3 : _m, _o = _l[1], b6 = _o === void 0 ? true : _o, _p = _l[2], b7 = _p === void 0 ? temp : _p; // The type T associated with a binding element is determined as follows: // If the binding element is a rest element, T is an array type with // an element type E, where E is the type of the numeric index signature of S. -var _p = __read([1, 2, 3]), c1 = _p.slice(0); -var _q = __read([1, 2, 3, "string"]), c2 = _q.slice(0); +var _q = __read([1, 2, 3]), c1 = _q.slice(0); +var _r = __read([1, 2, 3, "string"]), c2 = _r.slice(0); // The type T associated with a binding element is determined as follows: // Otherwise, if S is a tuple- like type (section 3.3.3): // Let N be the zero-based index of the binding element in the array binding pattern. // If S has a property with the numerical name N, T is the type of that property. -var _r = __read([1, "string"], 2), d1 = _r[0], d2 = _r[1]; +var _s = __read([1, "string"], 2), d1 = _s[0], d2 = _s[1]; // The type T associated with a binding element is determined as follows: // Otherwise, if S is a tuple- like type (section 3.3.3): // Otherwise, if S has a numeric index signature, T is the type of the numeric index signature. var temp1 = [true, false, true]; -var _s = __read(__spread([1, "string"], temp1), 2), d3 = _s[0], d4 = _s[1]; +var _t = __read(__spread([1, "string"], temp1), 2), d3 = _t[0], d4 = _t[1]; // Combining both forms of destructuring, -var _t = __read({ e: [1, 2, { b1: 4, b4: 0 }] }.e, 3), e1 = _t[0], e2 = _t[1], _u = _t[2], e3 = _u === void 0 ? { b1: 1000, b4: 200 } : _u; -var _v = __read({ f: [1, 2, { f3: 4, f5: 0 }] }.f, 4), f1 = _v[0], f2 = _v[1], _w = _v[2], f4 = _w.f3, f5 = _w.f5; +var _u = __read({ e: [1, 2, { b1: 4, b4: 0 }] }.e, 3), e1 = _u[0], e2 = _u[1], _v = _u[2], e3 = _v === void 0 ? { b1: 1000, b4: 200 } : _v; +var _w = __read({ f: [1, 2, { f3: 4, f5: 0 }] }.f, 4), f1 = _w[0], f2 = _w[1], _x = _w[2], f4 = _x.f3, f5 = _x.f5; // When a destructuring variable declaration, binding property, or binding element specifies // an initializer expression, the type of the initializer expression is required to be assignable // to the widened form of the type associated with the destructuring variable declaration, binding property, or binding element. -var _x = { g: { g1: [1, 2] } }.g.g1, g1 = _x === void 0 ? [undefined, null] : _x; -var _y = { h: { h1: [1, 2] } }.h.h1, h1 = _y === void 0 ? [undefined, null] : _y; +var _y = { g: { g1: [1, 2] } }.g.g1, g1 = _y === void 0 ? [undefined, null] : _y; +var _z = { h: { h1: [1, 2] } }.h.h1, h1 = _z === void 0 ? [undefined, null] : _z; diff --git a/tests/baselines/reference/destructuringWithLiteralInitializers.js b/tests/baselines/reference/destructuringWithLiteralInitializers.js index 740648b04e8..9c1fd3da3ed 100644 --- a/tests/baselines/reference/destructuringWithLiteralInitializers.js +++ b/tests/baselines/reference/destructuringWithLiteralInitializers.js @@ -110,7 +110,7 @@ f6({ y: 1 }); f6({ x: 1, y: 1 }); // (arg?: { a: { x?: number, y?: number } }) => void function f7(_a) { - var _b = (_a === void 0 ? { a: {} } : _a).a, _c = _b.x, x = _c === void 0 ? 0 : _c, _d = _b.y, y = _d === void 0 ? 0 : _d; + var _b = _a === void 0 ? { a: {} } : _a, _c = _b.a, _d = _c.x, x = _d === void 0 ? 0 : _d, _e = _c.y, y = _e === void 0 ? 0 : _e; } f7(); f7({ a: {} }); diff --git a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.js b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.js index c9b30a93906..d532759425e 100644 --- a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.js +++ b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.js @@ -68,11 +68,11 @@ function f(_a, _b, _c) { _a = a; _b = a; - var _d = (_c === void 0 ? a : _c).p, _e = _d === void 0 ? a : _d; + var _d = _c === void 0 ? a : _c, _e = _d.p, _f = _e === void 0 ? a : _e, _g = _f; return function (_a, _b, _c) { _a = a; _b = a; - var _d = (_c === void 0 ? a : _c).p, _e = _d === void 0 ? a : _d; + var _d = _c === void 0 ? a : _c, _e = _d.p, _f = _e === void 0 ? a : _e, _g = _f; return a; }; } diff --git a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5iterable.js b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5iterable.js index bace5a52d95..61ff9f0dbf4 100644 --- a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5iterable.js +++ b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5iterable.js @@ -95,11 +95,11 @@ var __values = (this && this.__values) || function(o) { function f(_a, _b, _c) { _a = a; _b = a; - var _d = (_c === void 0 ? a : _c).p, _e = _d === void 0 ? a : _d; + var _d = _c === void 0 ? a : _c, _e = _d.p, _f = _e === void 0 ? a : _e, _g = _f; return function (_a, _b, _c) { _a = a; _b = a; - var _d = (_c === void 0 ? a : _c).p, _e = _d === void 0 ? a : _d; + var _d = _c === void 0 ? a : _c, _e = _d.p, _f = _e === void 0 ? a : _e, _g = _f; return a; }; } diff --git a/tests/baselines/reference/noImplicitAnyDestructuringParameterDeclaration.js b/tests/baselines/reference/noImplicitAnyDestructuringParameterDeclaration.js index d587f8789a9..c723d019371 100644 --- a/tests/baselines/reference/noImplicitAnyDestructuringParameterDeclaration.js +++ b/tests/baselines/reference/noImplicitAnyDestructuringParameterDeclaration.js @@ -29,8 +29,8 @@ function f4(_a, x) { var b = _a.b; } function f5(_a, _b, c1, d1) { - var a1 = (_a === void 0 ? [undefined] : _a)[0]; - var b1 = (_b === void 0 ? { b1: null } : _b).b1; + var _c = _a === void 0 ? [undefined] : _a, a1 = _c[0]; + var _d = _b === void 0 ? { b1: null } : _b, b1 = _d.b1; if (c1 === void 0) { c1 = undefined; } if (d1 === void 0) { d1 = null; } } diff --git a/tests/baselines/reference/objectRestSpread.js b/tests/baselines/reference/objectRestSpread.js index 0bc455c4386..0c026c42d8f 100644 --- a/tests/baselines/reference/objectRestSpread.js +++ b/tests/baselines/reference/objectRestSpread.js @@ -49,6 +49,6 @@ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _ar var _a, _b, _c, _d; let obj = {}; (Object.assign({}, obj)); -let _e = {}, { prop = Object.assign({}, obj), more = _a = Object.assign({}, obj), obj = __rest(_a, []), _a } = _e, _f = '' + 'other', _g = _e[_f], other = _g === void 0 ? Object.assign({}, obj) : _g, _h = _e.yetAnother, _j = (_h === void 0 ? Object.assign({}, obj) : _h).nested, _k = _j === void 0 ? Object.assign({}, obj) : _j, _l = 'nested' + 'prop', _m = _k[_l], nestedProp = _m === void 0 ? Object.assign({}, obj) : _m, nestedRest = __rest(_k, [typeof _l === "symbol" ? _l : _l + ""]), { fn = function () { return __asyncGenerator(this, arguments, function* () { }); } } = _e, props = __rest(_e, ["prop", "more", typeof _f === "symbol" ? _f : _f + "", "yetAnother", "fn"]); +let _e = {}, { prop = Object.assign({}, obj), more = _a = Object.assign({}, obj), obj = __rest(_a, []), _a } = _e, _f = '' + 'other', _g = _e[_f], other = _g === void 0 ? Object.assign({}, obj) : _g, _h = _e.yetAnother, _j = _h === void 0 ? Object.assign({}, obj) : _h, _k = _j.nested, _l = _k === void 0 ? Object.assign({}, obj) : _k, _m = 'nested' + 'prop', _o = _l[_m], nestedProp = _o === void 0 ? Object.assign({}, obj) : _o, nestedRest = __rest(_l, [typeof _m === "symbol" ? _m : _m + ""]), { fn = function () { return __asyncGenerator(this, arguments, function* () { }); } } = _e, props = __rest(_e, ["prop", "more", typeof _f === "symbol" ? _f : _f + "", "yetAnother", "fn"]); (_b = {}, { prop = Object.assign({}, obj) } = _b, _c = '' + 'other', _d = _b[_c], other = _d === void 0 ? Object.assign({}, obj) : _d, props = __rest(_b, ["prop", typeof _c === "symbol" ? _c : _c + ""])); function test(_a) { var { prop = Object.assign({}, obj) } = _a, props = __rest(_a, ["prop"]); } diff --git a/tests/baselines/reference/optionalParameterInDestructuringWithInitializer.js b/tests/baselines/reference/optionalParameterInDestructuringWithInitializer.js index 642f00a4f50..0fa668fcce5 100644 --- a/tests/baselines/reference/optionalParameterInDestructuringWithInitializer.js +++ b/tests/baselines/reference/optionalParameterInDestructuringWithInitializer.js @@ -97,12 +97,12 @@ function func7(_a) { // no error } function performFoo(_a) { - var bar = (_a === void 0 ? {} : _a).bar; + var _b = _a === void 0 ? {} : _a, bar = _b.bar; useBar(bar); } performFoo(); function performFoo2(_a) { - var _b = (_a === void 0 ? {} : _a).bar, bar = _b === void 0 ? null : _b; + var _b = _a === void 0 ? {} : _a, _c = _b.bar, bar = _c === void 0 ? null : _c; useBar2(bar); } performFoo2(); diff --git a/tests/baselines/reference/restElementWithNullInitializer.js b/tests/baselines/reference/restElementWithNullInitializer.js index ac378b0905b..f0a1db6bd89 100644 --- a/tests/baselines/reference/restElementWithNullInitializer.js +++ b/tests/baselines/reference/restElementWithNullInitializer.js @@ -17,11 +17,11 @@ function foo1(_a) { var r = (_a === void 0 ? null : _a).slice(0); } function foo2(_a) { - var r = (_a === void 0 ? undefined : _a).slice(0); + var _b = _a === void 0 ? undefined : _a, r = _b.slice(0); } function foo3(_a) { - var r = (_a === void 0 ? {} : _a).slice(0); + var _b = _a === void 0 ? {} : _a, r = _b.slice(0); } function foo4(_a) { - var r = (_a === void 0 ? [] : _a).slice(0); + var _b = _a === void 0 ? [] : _a, r = _b.slice(0); } diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.js b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.js index b67f5047965..0b8add71b33 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.js +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.js @@ -47,7 +47,7 @@ foo3({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" //// [sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.js] var robotA = { name: "mower", skills: { primary: "mowing", secondary: "none" } }; function foo1(_a) { - var _b = (_a === void 0 ? robotA : _a).skills, _c = _b === void 0 ? { primary: "SomeSkill", secondary: "someSkill" } : _b, _d = _c.primary, primaryA = _d === void 0 ? "primary" : _d, _e = _c.secondary, secondaryA = _e === void 0 ? "secondary" : _e; + var _b = _a === void 0 ? robotA : _a, _c = _b.skills, _d = _c === void 0 ? { primary: "SomeSkill", secondary: "someSkill" } : _c, _e = _d.primary, primaryA = _e === void 0 ? "primary" : _e, _f = _d.secondary, secondaryA = _f === void 0 ? "secondary" : _f; console.log(primaryA); } function foo2(_a) { @@ -55,7 +55,7 @@ function foo2(_a) { console.log(secondaryB); } function foo3(_a) { - var _b = (_a === void 0 ? robotA : _a).skills, skills = _b === void 0 ? { primary: "SomeSkill", secondary: "someSkill" } : _b; + var _b = _a === void 0 ? robotA : _a, _c = _b.skills, skills = _c === void 0 ? { primary: "SomeSkill", secondary: "someSkill" } : _c; console.log(skills.primary); } foo1(robotA); diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.js.map b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.js.map index eabc0e02900..bdc3e61f864 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.js.map @@ -1,3 +1,3 @@ //// [sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.js.map] -{"version":3,"file":"sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.js","sourceRoot":"","sources":["sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts"],"names":[],"mappings":"AAUA,IAAI,MAAM,GAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;AAExF,SAAS,IAAI,CACT,EAKiB;QAJb,sBAIO,MAAM,aADuC,EAHpD,qBAGI,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,KAAA,EAFhD,eAA6B,EAApB,QAAQ,mBAAG,SAAS,KAAA,EAC7B,iBAAmC,EAAxB,UAAU,mBAAG,WAAW,KAAA;IAG3C,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,SAAS,IAAI,CACT,EAMiB;QANjB,qBAMW,MAAM,KAAA,EALb,YAAoB,EAAd,KAAK,mBAAG,MAAM,KAAA,EACpB,cAGoD,EAHpD,qBAGI,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,KAAA,EAFhD,eAA6B,EAApB,QAAQ,mBAAG,SAAS,KAAA,EAC7B,iBAAmC,EAAxB,UAAU,mBAAG,WAAW,KAAA;IAG3C,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC5B,CAAC;AACD,SAAS,IAAI,CAAC,EAA8E;QAA5E,sBAAsE,MAAM,aAAnB,EAAzD,MAAM,mBAAG,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,KAAA;IACrE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAErF,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAErF,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC"} -//// https://sokra.github.io/source-map-visualization#base64,dmFyIHJvYm90QSA9IHsgbmFtZTogIm1vd2VyIiwgc2tpbGxzOiB7IHByaW1hcnk6ICJtb3dpbmciLCBzZWNvbmRhcnk6ICJub25lIiB9IH07DQpmdW5jdGlvbiBmb28xKF9hKSB7DQogICAgdmFyIF9iID0gKF9hID09PSB2b2lkIDAgPyByb2JvdEEgOiBfYSkuc2tpbGxzLCBfYyA9IF9iID09PSB2b2lkIDAgPyB7IHByaW1hcnk6ICJTb21lU2tpbGwiLCBzZWNvbmRhcnk6ICJzb21lU2tpbGwiIH0gOiBfYiwgX2QgPSBfYy5wcmltYXJ5LCBwcmltYXJ5QSA9IF9kID09PSB2b2lkIDAgPyAicHJpbWFyeSIgOiBfZCwgX2UgPSBfYy5zZWNvbmRhcnksIHNlY29uZGFyeUEgPSBfZSA9PT0gdm9pZCAwID8gInNlY29uZGFyeSIgOiBfZTsNCiAgICBjb25zb2xlLmxvZyhwcmltYXJ5QSk7DQp9DQpmdW5jdGlvbiBmb28yKF9hKSB7DQogICAgdmFyIF9iID0gX2EgPT09IHZvaWQgMCA/IHJvYm90QSA6IF9hLCBfYyA9IF9iLm5hbWUsIG5hbWVDID0gX2MgPT09IHZvaWQgMCA/ICJuYW1lIiA6IF9jLCBfZCA9IF9iLnNraWxscywgX2UgPSBfZCA9PT0gdm9pZCAwID8geyBwcmltYXJ5OiAiU29tZVNraWxsIiwgc2Vjb25kYXJ5OiAic29tZVNraWxsIiB9IDogX2QsIF9mID0gX2UucHJpbWFyeSwgcHJpbWFyeUIgPSBfZiA9PT0gdm9pZCAwID8gInByaW1hcnkiIDogX2YsIF9nID0gX2Uuc2Vjb25kYXJ5LCBzZWNvbmRhcnlCID0gX2cgPT09IHZvaWQgMCA/ICJzZWNvbmRhcnkiIDogX2c7DQogICAgY29uc29sZS5sb2coc2Vjb25kYXJ5Qik7DQp9DQpmdW5jdGlvbiBmb28zKF9hKSB7DQogICAgdmFyIF9iID0gKF9hID09PSB2b2lkIDAgPyByb2JvdEEgOiBfYSkuc2tpbGxzLCBza2lsbHMgPSBfYiA9PT0gdm9pZCAwID8geyBwcmltYXJ5OiAiU29tZVNraWxsIiwgc2Vjb25kYXJ5OiAic29tZVNraWxsIiB9IDogX2I7DQogICAgY29uc29sZS5sb2coc2tpbGxzLnByaW1hcnkpOw0KfQ0KZm9vMShyb2JvdEEpOw0KZm9vMSh7IG5hbWU6ICJFZGdlciIsIHNraWxsczogeyBwcmltYXJ5OiAiZWRnaW5nIiwgc2Vjb25kYXJ5OiAiYnJhbmNoIHRyaW1taW5nIiB9IH0pOw0KZm9vMihyb2JvdEEpOw0KZm9vMih7IG5hbWU6ICJFZGdlciIsIHNraWxsczogeyBwcmltYXJ5OiAiZWRnaW5nIiwgc2Vjb25kYXJ5OiAiYnJhbmNoIHRyaW1taW5nIiB9IH0pOw0KZm9vMyhyb2JvdEEpOw0KZm9vMyh7IG5hbWU6ICJFZGdlciIsIHNraWxsczogeyBwcmltYXJ5OiAiZWRnaW5nIiwgc2Vjb25kYXJ5OiAiYnJhbmNoIHRyaW1taW5nIiB9IH0pOw0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9c291cmNlTWFwVmFsaWRhdGlvbkRlc3RydWN0dXJpbmdQYXJhbWV0ZXJOZXN0ZWRPYmplY3RCaW5kaW5nUGF0dGVybkRlZmF1bHRWYWx1ZXMuanMubWFw,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlTWFwVmFsaWRhdGlvbkRlc3RydWN0dXJpbmdQYXJhbWV0ZXJOZXN0ZWRPYmplY3RCaW5kaW5nUGF0dGVybkRlZmF1bHRWYWx1ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzb3VyY2VNYXBWYWxpZGF0aW9uRGVzdHJ1Y3R1cmluZ1BhcmFtZXRlck5lc3RlZE9iamVjdEJpbmRpbmdQYXR0ZXJuRGVmYXVsdFZhbHVlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxJQUFJLE1BQU0sR0FBVSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQztBQUV4RixTQUFTLElBQUksQ0FDVCxFQUtpQjtRQUpiLHNCQUlPLE1BQU0sYUFEdUMsRUFIcEQscUJBR0ksRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBQSxFQUZoRCxlQUE2QixFQUFwQixRQUFRLG1CQUFHLFNBQVMsS0FBQSxFQUM3QixpQkFBbUMsRUFBeEIsVUFBVSxtQkFBRyxXQUFXLEtBQUE7SUFHM0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUMxQixDQUFDO0FBQ0QsU0FBUyxJQUFJLENBQ1QsRUFNaUI7UUFOakIscUJBTVcsTUFBTSxLQUFBLEVBTGIsWUFBb0IsRUFBZCxLQUFLLG1CQUFHLE1BQU0sS0FBQSxFQUNwQixjQUdvRCxFQUhwRCxxQkFHSSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFBLEVBRmhELGVBQTZCLEVBQXBCLFFBQVEsbUJBQUcsU0FBUyxLQUFBLEVBQzdCLGlCQUFtQyxFQUF4QixVQUFVLG1CQUFHLFdBQVcsS0FBQTtJQUczQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFDRCxTQUFTLElBQUksQ0FBQyxFQUE4RTtRQUE1RSxzQkFBc0UsTUFBTSxhQUFuQixFQUF6RCxNQUFNLG1CQUFHLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUE7SUFDckUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDaEMsQ0FBQztBQUVELElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNiLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFFckYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2IsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUVyRixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDYixJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFDIn0=,ZGVjbGFyZSB2YXIgY29uc29sZTogewogICAgbG9nKG1zZzogc3RyaW5nKTogdm9pZDsKfQppbnRlcmZhY2UgUm9ib3QgewogICAgbmFtZTogc3RyaW5nOwogICAgc2tpbGxzOiB7CiAgICAgICAgcHJpbWFyeT86IHN0cmluZzsKICAgICAgICBzZWNvbmRhcnk/OiBzdHJpbmc7CiAgICB9Owp9CnZhciByb2JvdEE6IFJvYm90ID0geyBuYW1lOiAibW93ZXIiLCBza2lsbHM6IHsgcHJpbWFyeTogIm1vd2luZyIsIHNlY29uZGFyeTogIm5vbmUiIH0gfTsKCmZ1bmN0aW9uIGZvbzEoCiAgICB7CiAgICAgICAgc2tpbGxzOiB7CiAgICAgICAgICAgIHByaW1hcnk6IHByaW1hcnlBID0gInByaW1hcnkiLAogICAgICAgICAgICBzZWNvbmRhcnk6IHNlY29uZGFyeUEgPSAic2Vjb25kYXJ5IgogICAgICAgIH0gPSB7IHByaW1hcnk6ICJTb21lU2tpbGwiLCBzZWNvbmRhcnk6ICJzb21lU2tpbGwiIH0KICAgIH06IFJvYm90ID0gcm9ib3RBKSB7CiAgICBjb25zb2xlLmxvZyhwcmltYXJ5QSk7Cn0KZnVuY3Rpb24gZm9vMigKICAgIHsKICAgICAgICBuYW1lOiBuYW1lQyA9ICJuYW1lIiwKICAgICAgICBza2lsbHM6IHsKICAgICAgICAgICAgcHJpbWFyeTogcHJpbWFyeUIgPSAicHJpbWFyeSIsCiAgICAgICAgICAgIHNlY29uZGFyeTogc2Vjb25kYXJ5QiA9ICJzZWNvbmRhcnkiCiAgICAgICAgfSA9IHsgcHJpbWFyeTogIlNvbWVTa2lsbCIsIHNlY29uZGFyeTogInNvbWVTa2lsbCIgfQogICAgfTogUm9ib3QgPSByb2JvdEEpIHsKICAgIGNvbnNvbGUubG9nKHNlY29uZGFyeUIpOwp9CmZ1bmN0aW9uIGZvbzMoeyBza2lsbHMgPSB7IHByaW1hcnk6ICJTb21lU2tpbGwiLCBzZWNvbmRhcnk6ICJzb21lU2tpbGwiIH0gIH06IFJvYm90ID0gcm9ib3RBKSB7CiAgICBjb25zb2xlLmxvZyhza2lsbHMucHJpbWFyeSk7Cn0KCmZvbzEocm9ib3RBKTsKZm9vMSh7IG5hbWU6ICJFZGdlciIsIHNraWxsczogeyBwcmltYXJ5OiAiZWRnaW5nIiwgc2Vjb25kYXJ5OiAiYnJhbmNoIHRyaW1taW5nIiB9IH0pOwoKZm9vMihyb2JvdEEpOwpmb28yKHsgbmFtZTogIkVkZ2VyIiwgc2tpbGxzOiB7IHByaW1hcnk6ICJlZGdpbmciLCBzZWNvbmRhcnk6ICJicmFuY2ggdHJpbW1pbmciIH0gfSk7Cgpmb28zKHJvYm90QSk7CmZvbzMoeyBuYW1lOiAiRWRnZXIiLCBza2lsbHM6IHsgcHJpbWFyeTogImVkZ2luZyIsIHNlY29uZGFyeTogImJyYW5jaCB0cmltbWluZyIgfSB9KTsK +{"version":3,"file":"sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.js","sourceRoot":"","sources":["sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts"],"names":[],"mappings":"AAUA,IAAI,MAAM,GAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;AAExF,SAAS,IAAI,CACT,EAKiB;QALjB,qBAKW,MAAM,KAAA,EAJb,cAGoD,EAHpD,qBAGI,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,KAAA,EAFhD,eAA6B,EAApB,QAAQ,mBAAG,SAAS,KAAA,EAC7B,iBAAmC,EAAxB,UAAU,mBAAG,WAAW,KAAA;IAG3C,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,SAAS,IAAI,CACT,EAMiB;QANjB,qBAMW,MAAM,KAAA,EALb,YAAoB,EAAd,KAAK,mBAAG,MAAM,KAAA,EACpB,cAGoD,EAHpD,qBAGI,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,KAAA,EAFhD,eAA6B,EAApB,QAAQ,mBAAG,SAAS,KAAA,EAC7B,iBAAmC,EAAxB,UAAU,mBAAG,WAAW,KAAA;IAG3C,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC5B,CAAC;AACD,SAAS,IAAI,CAAC,EAA8E;QAA9E,qBAAwE,MAAM,KAAA,EAA5E,cAAyD,EAAzD,MAAM,mBAAG,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,KAAA;IACrE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAErF,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAErF,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC"} +//// https://sokra.github.io/source-map-visualization#base64,dmFyIHJvYm90QSA9IHsgbmFtZTogIm1vd2VyIiwgc2tpbGxzOiB7IHByaW1hcnk6ICJtb3dpbmciLCBzZWNvbmRhcnk6ICJub25lIiB9IH07DQpmdW5jdGlvbiBmb28xKF9hKSB7DQogICAgdmFyIF9iID0gX2EgPT09IHZvaWQgMCA/IHJvYm90QSA6IF9hLCBfYyA9IF9iLnNraWxscywgX2QgPSBfYyA9PT0gdm9pZCAwID8geyBwcmltYXJ5OiAiU29tZVNraWxsIiwgc2Vjb25kYXJ5OiAic29tZVNraWxsIiB9IDogX2MsIF9lID0gX2QucHJpbWFyeSwgcHJpbWFyeUEgPSBfZSA9PT0gdm9pZCAwID8gInByaW1hcnkiIDogX2UsIF9mID0gX2Quc2Vjb25kYXJ5LCBzZWNvbmRhcnlBID0gX2YgPT09IHZvaWQgMCA/ICJzZWNvbmRhcnkiIDogX2Y7DQogICAgY29uc29sZS5sb2cocHJpbWFyeUEpOw0KfQ0KZnVuY3Rpb24gZm9vMihfYSkgew0KICAgIHZhciBfYiA9IF9hID09PSB2b2lkIDAgPyByb2JvdEEgOiBfYSwgX2MgPSBfYi5uYW1lLCBuYW1lQyA9IF9jID09PSB2b2lkIDAgPyAibmFtZSIgOiBfYywgX2QgPSBfYi5za2lsbHMsIF9lID0gX2QgPT09IHZvaWQgMCA/IHsgcHJpbWFyeTogIlNvbWVTa2lsbCIsIHNlY29uZGFyeTogInNvbWVTa2lsbCIgfSA6IF9kLCBfZiA9IF9lLnByaW1hcnksIHByaW1hcnlCID0gX2YgPT09IHZvaWQgMCA/ICJwcmltYXJ5IiA6IF9mLCBfZyA9IF9lLnNlY29uZGFyeSwgc2Vjb25kYXJ5QiA9IF9nID09PSB2b2lkIDAgPyAic2Vjb25kYXJ5IiA6IF9nOw0KICAgIGNvbnNvbGUubG9nKHNlY29uZGFyeUIpOw0KfQ0KZnVuY3Rpb24gZm9vMyhfYSkgew0KICAgIHZhciBfYiA9IF9hID09PSB2b2lkIDAgPyByb2JvdEEgOiBfYSwgX2MgPSBfYi5za2lsbHMsIHNraWxscyA9IF9jID09PSB2b2lkIDAgPyB7IHByaW1hcnk6ICJTb21lU2tpbGwiLCBzZWNvbmRhcnk6ICJzb21lU2tpbGwiIH0gOiBfYzsNCiAgICBjb25zb2xlLmxvZyhza2lsbHMucHJpbWFyeSk7DQp9DQpmb28xKHJvYm90QSk7DQpmb28xKHsgbmFtZTogIkVkZ2VyIiwgc2tpbGxzOiB7IHByaW1hcnk6ICJlZGdpbmciLCBzZWNvbmRhcnk6ICJicmFuY2ggdHJpbW1pbmciIH0gfSk7DQpmb28yKHJvYm90QSk7DQpmb28yKHsgbmFtZTogIkVkZ2VyIiwgc2tpbGxzOiB7IHByaW1hcnk6ICJlZGdpbmciLCBzZWNvbmRhcnk6ICJicmFuY2ggdHJpbW1pbmciIH0gfSk7DQpmb28zKHJvYm90QSk7DQpmb28zKHsgbmFtZTogIkVkZ2VyIiwgc2tpbGxzOiB7IHByaW1hcnk6ICJlZGdpbmciLCBzZWNvbmRhcnk6ICJicmFuY2ggdHJpbW1pbmciIH0gfSk7DQovLyMgc291cmNlTWFwcGluZ1VSTD1zb3VyY2VNYXBWYWxpZGF0aW9uRGVzdHJ1Y3R1cmluZ1BhcmFtZXRlck5lc3RlZE9iamVjdEJpbmRpbmdQYXR0ZXJuRGVmYXVsdFZhbHVlcy5qcy5tYXA=,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlTWFwVmFsaWRhdGlvbkRlc3RydWN0dXJpbmdQYXJhbWV0ZXJOZXN0ZWRPYmplY3RCaW5kaW5nUGF0dGVybkRlZmF1bHRWYWx1ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzb3VyY2VNYXBWYWxpZGF0aW9uRGVzdHJ1Y3R1cmluZ1BhcmFtZXRlck5lc3RlZE9iamVjdEJpbmRpbmdQYXR0ZXJuRGVmYXVsdFZhbHVlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxJQUFJLE1BQU0sR0FBVSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQztBQUV4RixTQUFTLElBQUksQ0FDVCxFQUtpQjtRQUxqQixxQkFLVyxNQUFNLEtBQUEsRUFKYixjQUdvRCxFQUhwRCxxQkFHSSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFBLEVBRmhELGVBQTZCLEVBQXBCLFFBQVEsbUJBQUcsU0FBUyxLQUFBLEVBQzdCLGlCQUFtQyxFQUF4QixVQUFVLG1CQUFHLFdBQVcsS0FBQTtJQUczQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzFCLENBQUM7QUFDRCxTQUFTLElBQUksQ0FDVCxFQU1pQjtRQU5qQixxQkFNVyxNQUFNLEtBQUEsRUFMYixZQUFvQixFQUFkLEtBQUssbUJBQUcsTUFBTSxLQUFBLEVBQ3BCLGNBR29ELEVBSHBELHFCQUdJLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUEsRUFGaEQsZUFBNkIsRUFBcEIsUUFBUSxtQkFBRyxTQUFTLEtBQUEsRUFDN0IsaUJBQW1DLEVBQXhCLFVBQVUsbUJBQUcsV0FBVyxLQUFBO0lBRzNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDNUIsQ0FBQztBQUNELFNBQVMsSUFBSSxDQUFDLEVBQThFO1FBQTlFLHFCQUF3RSxNQUFNLEtBQUEsRUFBNUUsY0FBeUQsRUFBekQsTUFBTSxtQkFBRyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFBO0lBQ3JFLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ2hDLENBQUM7QUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDYixJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBRXJGLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNiLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFFckYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2IsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQyJ9,ZGVjbGFyZSB2YXIgY29uc29sZTogewogICAgbG9nKG1zZzogc3RyaW5nKTogdm9pZDsKfQppbnRlcmZhY2UgUm9ib3QgewogICAgbmFtZTogc3RyaW5nOwogICAgc2tpbGxzOiB7CiAgICAgICAgcHJpbWFyeT86IHN0cmluZzsKICAgICAgICBzZWNvbmRhcnk/OiBzdHJpbmc7CiAgICB9Owp9CnZhciByb2JvdEE6IFJvYm90ID0geyBuYW1lOiAibW93ZXIiLCBza2lsbHM6IHsgcHJpbWFyeTogIm1vd2luZyIsIHNlY29uZGFyeTogIm5vbmUiIH0gfTsKCmZ1bmN0aW9uIGZvbzEoCiAgICB7CiAgICAgICAgc2tpbGxzOiB7CiAgICAgICAgICAgIHByaW1hcnk6IHByaW1hcnlBID0gInByaW1hcnkiLAogICAgICAgICAgICBzZWNvbmRhcnk6IHNlY29uZGFyeUEgPSAic2Vjb25kYXJ5IgogICAgICAgIH0gPSB7IHByaW1hcnk6ICJTb21lU2tpbGwiLCBzZWNvbmRhcnk6ICJzb21lU2tpbGwiIH0KICAgIH06IFJvYm90ID0gcm9ib3RBKSB7CiAgICBjb25zb2xlLmxvZyhwcmltYXJ5QSk7Cn0KZnVuY3Rpb24gZm9vMigKICAgIHsKICAgICAgICBuYW1lOiBuYW1lQyA9ICJuYW1lIiwKICAgICAgICBza2lsbHM6IHsKICAgICAgICAgICAgcHJpbWFyeTogcHJpbWFyeUIgPSAicHJpbWFyeSIsCiAgICAgICAgICAgIHNlY29uZGFyeTogc2Vjb25kYXJ5QiA9ICJzZWNvbmRhcnkiCiAgICAgICAgfSA9IHsgcHJpbWFyeTogIlNvbWVTa2lsbCIsIHNlY29uZGFyeTogInNvbWVTa2lsbCIgfQogICAgfTogUm9ib3QgPSByb2JvdEEpIHsKICAgIGNvbnNvbGUubG9nKHNlY29uZGFyeUIpOwp9CmZ1bmN0aW9uIGZvbzMoeyBza2lsbHMgPSB7IHByaW1hcnk6ICJTb21lU2tpbGwiLCBzZWNvbmRhcnk6ICJzb21lU2tpbGwiIH0gIH06IFJvYm90ID0gcm9ib3RBKSB7CiAgICBjb25zb2xlLmxvZyhza2lsbHMucHJpbWFyeSk7Cn0KCmZvbzEocm9ib3RBKTsKZm9vMSh7IG5hbWU6ICJFZGdlciIsIHNraWxsczogeyBwcmltYXJ5OiAiZWRnaW5nIiwgc2Vjb25kYXJ5OiAiYnJhbmNoIHRyaW1taW5nIiB9IH0pOwoKZm9vMihyb2JvdEEpOwpmb28yKHsgbmFtZTogIkVkZ2VyIiwgc2tpbGxzOiB7IHByaW1hcnk6ICJlZGdpbmciLCBzZWNvbmRhcnk6ICJicmFuY2ggdHJpbW1pbmciIH0gfSk7Cgpmb28zKHJvYm90QSk7CmZvbzMoeyBuYW1lOiAiRWRnZXIiLCBza2lsbHM6IHsgcHJpbWFyeTogImVkZ2luZyIsIHNlY29uZGFyeTogImJyYW5jaCB0cmltbWluZyIgfSB9KTsK diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.sourcemap.txt index 6d513899d1b..e8fa0c2182b 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.sourcemap.txt @@ -92,7 +92,7 @@ sourceFile:sourceMapValidationDestructuringParameterNestedObjectBindingPatternDe 3 > ^^^^ 4 > ^ 5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > > @@ -112,105 +112,115 @@ sourceFile:sourceMapValidationDestructuringParameterNestedObjectBindingPatternDe 4 >Emitted(2, 15) Source(14, 5) + SourceIndex(0) 5 >Emitted(2, 17) Source(19, 22) + SourceIndex(0) --- ->>> var _b = (_a === void 0 ? robotA : _a).skills, _c = _b === void 0 ? { primary: "SomeSkill", secondary: "someSkill" } : _b, _d = _c.primary, primaryA = _d === void 0 ? "primary" : _d, _e = _c.secondary, secondaryA = _e === void 0 ? "secondary" : _e; +>>> var _b = _a === void 0 ? robotA : _a, _c = _b.skills, _d = _c === void 0 ? { primary: "SomeSkill", secondary: "someSkill" } : _c, _e = _d.primary, primaryA = _e === void 0 ? "primary" : _e, _f = _d.secondary, secondaryA = _f === void 0 ? "secondary" : _f; 1->^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^^^^^ -4 > ^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^ -7 > ^^ -8 > ^^^^^^^ -9 > ^^ -10> ^^^^^^^^^^^ -11> ^^ -12> ^^^^^^^^^ -13> ^^ -14> ^^^^^^^^^^^ -15> ^^ -16> ^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^^^ +4 > ^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^^^^^^^^^^^^^^^^ +9 > ^^ +10> ^^^^^^^ +11> ^^ +12> ^^^^^^^^^^^ +13> ^^ +14> ^^^^^^^^^ +15> ^^ +16> ^^^^^^^^^^^ 17> ^^ -18> ^^^^^^^^^^^^^^^ -19> ^^ -20> ^^^^^^^^ -21> ^^^^^^^^^^^^^^^^^^^ -22> ^^^^^^^^^ -23> ^^^^^ -24> ^^ -25> ^^^^^^^^^^^^^^^^^ -26> ^^ -27> ^^^^^^^^^^ -28> ^^^^^^^^^^^^^^^^^^^ -29> ^^^^^^^^^^^ -30> ^^^^^ +18> ^^^^^ +19> ^^ +20> ^^^^^^^^^^^^^^^ +21> ^^ +22> ^^^^^^^^ +23> ^^^^^^^^^^^^^^^^^^^ +24> ^^^^^^^^^ +25> ^^^^^ +26> ^^ +27> ^^^^^^^^^^^^^^^^^ +28> ^^ +29> ^^^^^^^^^^ +30> ^^^^^^^^^^^^^^^^^^^ +31> ^^^^^^^^^^^ +32> ^^^^^ 1-> -2 > skills: { +2 > { + > skills: { > primary: primaryA = "primary", > secondary: secondaryA = "secondary" > } = { primary: "SomeSkill", secondary: "someSkill" } > }: Robot = -3 > robotA -4 > -5 > -6 > skills: { - > primary: primaryA = "primary", - > secondary: secondaryA = "secondary" - > } = -7 > { -8 > primary -9 > : -10> "SomeSkill" -11> , -12> secondary -13> : -14> "someSkill" -15> } -16> -17> -18> primary: primaryA = "primary" -19> -20> primaryA -21> = -22> "primary" -23> -24> , - > -25> secondary: secondaryA = "secondary" -26> -27> secondaryA -28> = -29> "secondary" -30> -1->Emitted(3, 9) Source(15, 9) + SourceIndex(0) -2 >Emitted(3, 31) Source(19, 16) + SourceIndex(0) -3 >Emitted(3, 37) Source(19, 22) + SourceIndex(0) -4 >Emitted(3, 50) Source(18, 61) + SourceIndex(0) -5 >Emitted(3, 52) Source(15, 9) + SourceIndex(0) -6 >Emitted(3, 73) Source(18, 13) + SourceIndex(0) -7 >Emitted(3, 75) Source(18, 15) + SourceIndex(0) -8 >Emitted(3, 82) Source(18, 22) + SourceIndex(0) -9 >Emitted(3, 84) Source(18, 24) + SourceIndex(0) -10>Emitted(3, 95) Source(18, 35) + SourceIndex(0) -11>Emitted(3, 97) Source(18, 37) + SourceIndex(0) -12>Emitted(3, 106) Source(18, 46) + SourceIndex(0) -13>Emitted(3, 108) Source(18, 48) + SourceIndex(0) -14>Emitted(3, 119) Source(18, 59) + SourceIndex(0) -15>Emitted(3, 121) Source(18, 61) + SourceIndex(0) -16>Emitted(3, 126) Source(18, 61) + SourceIndex(0) -17>Emitted(3, 128) Source(16, 13) + SourceIndex(0) -18>Emitted(3, 143) Source(16, 42) + SourceIndex(0) -19>Emitted(3, 145) Source(16, 22) + SourceIndex(0) -20>Emitted(3, 153) Source(16, 30) + SourceIndex(0) -21>Emitted(3, 172) Source(16, 33) + SourceIndex(0) -22>Emitted(3, 181) Source(16, 42) + SourceIndex(0) -23>Emitted(3, 186) Source(16, 42) + SourceIndex(0) -24>Emitted(3, 188) Source(17, 13) + SourceIndex(0) -25>Emitted(3, 205) Source(17, 48) + SourceIndex(0) -26>Emitted(3, 207) Source(17, 24) + SourceIndex(0) -27>Emitted(3, 217) Source(17, 34) + SourceIndex(0) -28>Emitted(3, 236) Source(17, 37) + SourceIndex(0) -29>Emitted(3, 247) Source(17, 48) + SourceIndex(0) -30>Emitted(3, 252) Source(17, 48) + SourceIndex(0) +3 > robotA +4 > +5 > +6 > skills: { + > primary: primaryA = "primary", + > secondary: secondaryA = "secondary" + > } = { primary: "SomeSkill", secondary: "someSkill" } +7 > +8 > skills: { + > primary: primaryA = "primary", + > secondary: secondaryA = "secondary" + > } = +9 > { +10> primary +11> : +12> "SomeSkill" +13> , +14> secondary +15> : +16> "someSkill" +17> } +18> +19> +20> primary: primaryA = "primary" +21> +22> primaryA +23> = +24> "primary" +25> +26> , + > +27> secondary: secondaryA = "secondary" +28> +29> secondaryA +30> = +31> "secondary" +32> +1->Emitted(3, 9) Source(14, 5) + SourceIndex(0) +2 >Emitted(3, 30) Source(19, 16) + SourceIndex(0) +3 >Emitted(3, 36) Source(19, 22) + SourceIndex(0) +4 >Emitted(3, 41) Source(19, 22) + SourceIndex(0) +5 >Emitted(3, 43) Source(15, 9) + SourceIndex(0) +6 >Emitted(3, 57) Source(18, 61) + SourceIndex(0) +7 >Emitted(3, 59) Source(15, 9) + SourceIndex(0) +8 >Emitted(3, 80) Source(18, 13) + SourceIndex(0) +9 >Emitted(3, 82) Source(18, 15) + SourceIndex(0) +10>Emitted(3, 89) Source(18, 22) + SourceIndex(0) +11>Emitted(3, 91) Source(18, 24) + SourceIndex(0) +12>Emitted(3, 102) Source(18, 35) + SourceIndex(0) +13>Emitted(3, 104) Source(18, 37) + SourceIndex(0) +14>Emitted(3, 113) Source(18, 46) + SourceIndex(0) +15>Emitted(3, 115) Source(18, 48) + SourceIndex(0) +16>Emitted(3, 126) Source(18, 59) + SourceIndex(0) +17>Emitted(3, 128) Source(18, 61) + SourceIndex(0) +18>Emitted(3, 133) Source(18, 61) + SourceIndex(0) +19>Emitted(3, 135) Source(16, 13) + SourceIndex(0) +20>Emitted(3, 150) Source(16, 42) + SourceIndex(0) +21>Emitted(3, 152) Source(16, 22) + SourceIndex(0) +22>Emitted(3, 160) Source(16, 30) + SourceIndex(0) +23>Emitted(3, 179) Source(16, 33) + SourceIndex(0) +24>Emitted(3, 188) Source(16, 42) + SourceIndex(0) +25>Emitted(3, 193) Source(16, 42) + SourceIndex(0) +26>Emitted(3, 195) Source(17, 13) + SourceIndex(0) +27>Emitted(3, 212) Source(17, 48) + SourceIndex(0) +28>Emitted(3, 214) Source(17, 24) + SourceIndex(0) +29>Emitted(3, 224) Source(17, 34) + SourceIndex(0) +30>Emitted(3, 243) Source(17, 37) + SourceIndex(0) +31>Emitted(3, 254) Source(17, 48) + SourceIndex(0) +32>Emitted(3, 259) Source(17, 48) + SourceIndex(0) --- >>> console.log(primaryA); 1 >^^^^ @@ -455,7 +465,7 @@ sourceFile:sourceMapValidationDestructuringParameterNestedObjectBindingPatternDe 3 > ^^^^ 4 > ^ 5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >function @@ -468,58 +478,64 @@ sourceFile:sourceMapValidationDestructuringParameterNestedObjectBindingPatternDe 4 >Emitted(10, 15) Source(32, 15) + SourceIndex(0) 5 >Emitted(10, 17) Source(32, 93) + SourceIndex(0) --- ->>> var _b = (_a === void 0 ? robotA : _a).skills, skills = _b === void 0 ? { primary: "SomeSkill", secondary: "someSkill" } : _b; +>>> var _b = _a === void 0 ? robotA : _a, _c = _b.skills, skills = _c === void 0 ? { primary: "SomeSkill", secondary: "someSkill" } : _c; 1->^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^^^^^ -4 > ^^^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^^ -7 > ^^^^^^^^^^^^^^^^^^^ -8 > ^^ -9 > ^^^^^^^ -10> ^^ -11> ^^^^^^^^^^^ -12> ^^ -13> ^^^^^^^^^ -14> ^^ -15> ^^^^^^^^^^^ -16> ^^ -17> ^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^ +3 > ^^^^^^ +4 > ^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^^ +9 > ^^^^^^^^^^^^^^^^^^^ +10> ^^ +11> ^^^^^^^ +12> ^^ +13> ^^^^^^^^^^^ +14> ^^ +15> ^^^^^^^^^ +16> ^^ +17> ^^^^^^^^^^^ +18> ^^ +19> ^^^^^ 1-> -2 > skills = { primary: "SomeSkill", secondary: "someSkill" } }: Robot = -3 > robotA -4 > -5 > -6 > skills -7 > = -8 > { -9 > primary -10> : -11> "SomeSkill" -12> , -13> secondary -14> : -15> "someSkill" -16> } -17> -1->Emitted(11, 9) Source(32, 17) + SourceIndex(0) -2 >Emitted(11, 31) Source(32, 87) + SourceIndex(0) -3 >Emitted(11, 37) Source(32, 93) + SourceIndex(0) -4 >Emitted(11, 50) Source(32, 74) + SourceIndex(0) -5 >Emitted(11, 52) Source(32, 17) + SourceIndex(0) -6 >Emitted(11, 58) Source(32, 23) + SourceIndex(0) -7 >Emitted(11, 77) Source(32, 26) + SourceIndex(0) -8 >Emitted(11, 79) Source(32, 28) + SourceIndex(0) -9 >Emitted(11, 86) Source(32, 35) + SourceIndex(0) -10>Emitted(11, 88) Source(32, 37) + SourceIndex(0) -11>Emitted(11, 99) Source(32, 48) + SourceIndex(0) -12>Emitted(11, 101) Source(32, 50) + SourceIndex(0) -13>Emitted(11, 110) Source(32, 59) + SourceIndex(0) -14>Emitted(11, 112) Source(32, 61) + SourceIndex(0) -15>Emitted(11, 123) Source(32, 72) + SourceIndex(0) -16>Emitted(11, 125) Source(32, 74) + SourceIndex(0) -17>Emitted(11, 130) Source(32, 74) + SourceIndex(0) +2 > { skills = { primary: "SomeSkill", secondary: "someSkill" } }: Robot = +3 > robotA +4 > +5 > +6 > skills = { primary: "SomeSkill", secondary: "someSkill" } +7 > +8 > skills +9 > = +10> { +11> primary +12> : +13> "SomeSkill" +14> , +15> secondary +16> : +17> "someSkill" +18> } +19> +1->Emitted(11, 9) Source(32, 15) + SourceIndex(0) +2 >Emitted(11, 30) Source(32, 87) + SourceIndex(0) +3 >Emitted(11, 36) Source(32, 93) + SourceIndex(0) +4 >Emitted(11, 41) Source(32, 93) + SourceIndex(0) +5 >Emitted(11, 43) Source(32, 17) + SourceIndex(0) +6 >Emitted(11, 57) Source(32, 74) + SourceIndex(0) +7 >Emitted(11, 59) Source(32, 17) + SourceIndex(0) +8 >Emitted(11, 65) Source(32, 23) + SourceIndex(0) +9 >Emitted(11, 84) Source(32, 26) + SourceIndex(0) +10>Emitted(11, 86) Source(32, 28) + SourceIndex(0) +11>Emitted(11, 93) Source(32, 35) + SourceIndex(0) +12>Emitted(11, 95) Source(32, 37) + SourceIndex(0) +13>Emitted(11, 106) Source(32, 48) + SourceIndex(0) +14>Emitted(11, 108) Source(32, 50) + SourceIndex(0) +15>Emitted(11, 117) Source(32, 59) + SourceIndex(0) +16>Emitted(11, 119) Source(32, 61) + SourceIndex(0) +17>Emitted(11, 130) Source(32, 72) + SourceIndex(0) +18>Emitted(11, 132) Source(32, 74) + SourceIndex(0) +19>Emitted(11, 137) Source(32, 74) + SourceIndex(0) --- >>> console.log(skills.primary); 1 >^^^^ diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.js b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.js index 9fd269c62cc..3e71fe290be 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.js +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.js @@ -33,7 +33,7 @@ foo3({ name: "Edger", skill: "cutting edges" }); var hello = "hello"; var robotA = { name: "mower", skill: "mowing" }; function foo1(_a) { - var _b = (_a === void 0 ? {} : _a).name, nameA = _b === void 0 ? "" : _b; + var _b = _a === void 0 ? {} : _a, _c = _b.name, nameA = _c === void 0 ? "" : _c; console.log(nameA); } function foo2(_a) { @@ -41,7 +41,7 @@ function foo2(_a) { console.log(nameB); } function foo3(_a) { - var _b = (_a === void 0 ? {} : _a).name, name = _b === void 0 ? "" : _b; + var _b = _a === void 0 ? {} : _a, _c = _b.name, name = _c === void 0 ? "" : _c; console.log(name); } foo1(robotA); diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.js.map b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.js.map index 03559c42fb2..c895efecd6f 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.js.map @@ -1,3 +1,3 @@ //// [sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.js.map] -{"version":3,"file":"sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.js","sourceRoot":"","sources":["sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts"],"names":[],"mappings":"AAOA,IAAI,KAAK,GAAG,OAAO,CAAC;AACpB,IAAI,MAAM,GAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAEvD,SAAS,IAAI,CAAC,EAAyC;QAAvC,sBAAoC,EAAG,WAAf,EAAlB,KAAK,mBAAG,UAAU,KAAA;IACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,SAAS,IAAI,CAAC,EAAmE;QAAnE,qBAAiE,EAAE,KAAA,EAAjE,YAAwB,EAAlB,KAAK,mBAAG,UAAU,KAAA,EAAE,aAAyB,EAAlB,MAAM,mBAAG,SAAS,KAAA;IAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,SAAS,IAAI,CAAC,EAAiC;QAA/B,sBAA6B,EAAE,WAAd,EAAjB,IAAI,mBAAG,UAAU,KAAA;IAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAED,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;AAEhD,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;AAEhD,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC"} -//// https://sokra.github.io/source-map-visualization#base64,dmFyIGhlbGxvID0gImhlbGxvIjsNCnZhciByb2JvdEEgPSB7IG5hbWU6ICJtb3dlciIsIHNraWxsOiAibW93aW5nIiB9Ow0KZnVuY3Rpb24gZm9vMShfYSkgew0KICAgIHZhciBfYiA9IChfYSA9PT0gdm9pZCAwID8ge30gOiBfYSkubmFtZSwgbmFtZUEgPSBfYiA9PT0gdm9pZCAwID8gIjxOb05hbWU+IiA6IF9iOw0KICAgIGNvbnNvbGUubG9nKG5hbWVBKTsNCn0NCmZ1bmN0aW9uIGZvbzIoX2EpIHsNCiAgICB2YXIgX2IgPSBfYSA9PT0gdm9pZCAwID8ge30gOiBfYSwgX2MgPSBfYi5uYW1lLCBuYW1lQiA9IF9jID09PSB2b2lkIDAgPyAiPE5vTmFtZT4iIDogX2MsIF9kID0gX2Iuc2tpbGwsIHNraWxsQiA9IF9kID09PSB2b2lkIDAgPyAibm9Ta2lsbCIgOiBfZDsNCiAgICBjb25zb2xlLmxvZyhuYW1lQik7DQp9DQpmdW5jdGlvbiBmb28zKF9hKSB7DQogICAgdmFyIF9iID0gKF9hID09PSB2b2lkIDAgPyB7fSA6IF9hKS5uYW1lLCBuYW1lID0gX2IgPT09IHZvaWQgMCA/ICI8Tm9OYW1lPiIgOiBfYjsNCiAgICBjb25zb2xlLmxvZyhuYW1lKTsNCn0NCmZvbzEocm9ib3RBKTsNCmZvbzEoeyBuYW1lOiAiRWRnZXIiLCBza2lsbDogImN1dHRpbmcgZWRnZXMiIH0pOw0KZm9vMihyb2JvdEEpOw0KZm9vMih7IG5hbWU6ICJFZGdlciIsIHNraWxsOiAiY3V0dGluZyBlZGdlcyIgfSk7DQpmb28zKHJvYm90QSk7DQpmb28zKHsgbmFtZTogIkVkZ2VyIiwgc2tpbGw6ICJjdXR0aW5nIGVkZ2VzIiB9KTsNCi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNvdXJjZU1hcFZhbGlkYXRpb25EZXN0cnVjdHVyaW5nUGFyYW1ldGVyT2JqZWN0QmluZGluZ1BhdHRlcm5EZWZhdWx0VmFsdWVzLmpzLm1hcA==,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlTWFwVmFsaWRhdGlvbkRlc3RydWN0dXJpbmdQYXJhbWV0ZXJPYmplY3RCaW5kaW5nUGF0dGVybkRlZmF1bHRWYWx1ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzb3VyY2VNYXBWYWxpZGF0aW9uRGVzdHJ1Y3R1cmluZ1BhcmFtZXRlck9iamVjdEJpbmRpbmdQYXR0ZXJuRGVmYXVsdFZhbHVlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxJQUFJLEtBQUssR0FBRyxPQUFPLENBQUM7QUFDcEIsSUFBSSxNQUFNLEdBQVUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQztBQUV2RCxTQUFTLElBQUksQ0FBQyxFQUF5QztRQUF2QyxzQkFBb0MsRUFBRyxXQUFmLEVBQWxCLEtBQUssbUJBQUcsVUFBVSxLQUFBO0lBQ3BDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdkIsQ0FBQztBQUNELFNBQVMsSUFBSSxDQUFDLEVBQW1FO1FBQW5FLHFCQUFpRSxFQUFFLEtBQUEsRUFBakUsWUFBd0IsRUFBbEIsS0FBSyxtQkFBRyxVQUFVLEtBQUEsRUFBRSxhQUF5QixFQUFsQixNQUFNLG1CQUFHLFNBQVMsS0FBQTtJQUMvRCxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3ZCLENBQUM7QUFDRCxTQUFTLElBQUksQ0FBQyxFQUFpQztRQUEvQixzQkFBNkIsRUFBRSxXQUFkLEVBQWpCLElBQUksbUJBQUcsVUFBVSxLQUFBO0lBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdEIsQ0FBQztBQUVELElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNiLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7QUFFaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2IsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztBQUVoRCxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDYixJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDIn0=,aW50ZXJmYWNlIFJvYm90IHsKICAgIG5hbWU/OiBzdHJpbmc7CiAgICBza2lsbD86IHN0cmluZzsKfQpkZWNsYXJlIHZhciBjb25zb2xlOiB7CiAgICBsb2cobXNnOiBzdHJpbmcpOiB2b2lkOwp9CnZhciBoZWxsbyA9ICJoZWxsbyI7CnZhciByb2JvdEE6IFJvYm90ID0geyBuYW1lOiAibW93ZXIiLCBza2lsbDogIm1vd2luZyIgfTsKCmZ1bmN0aW9uIGZvbzEoeyBuYW1lOiBuYW1lQSA9ICI8Tm9OYW1lPiIgfTogUm9ib3QgPSB7IH0pIHsKICAgIGNvbnNvbGUubG9nKG5hbWVBKTsKfQpmdW5jdGlvbiBmb28yKHsgbmFtZTogbmFtZUIgPSAiPE5vTmFtZT4iLCBza2lsbDogc2tpbGxCID0gIm5vU2tpbGwiIH06IFJvYm90ID0ge30pIHsKICAgIGNvbnNvbGUubG9nKG5hbWVCKTsKfQpmdW5jdGlvbiBmb28zKHsgbmFtZSA9ICI8Tm9OYW1lPiIgfTogUm9ib3QgPSB7fSkgewogICAgY29uc29sZS5sb2cobmFtZSk7Cn0KCmZvbzEocm9ib3RBKTsKZm9vMSh7IG5hbWU6ICJFZGdlciIsIHNraWxsOiAiY3V0dGluZyBlZGdlcyIgfSk7Cgpmb28yKHJvYm90QSk7CmZvbzIoeyBuYW1lOiAiRWRnZXIiLCBza2lsbDogImN1dHRpbmcgZWRnZXMiIH0pOwoKZm9vMyhyb2JvdEEpOwpmb28zKHsgbmFtZTogIkVkZ2VyIiwgc2tpbGw6ICJjdXR0aW5nIGVkZ2VzIiB9KTsK +{"version":3,"file":"sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.js","sourceRoot":"","sources":["sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts"],"names":[],"mappings":"AAOA,IAAI,KAAK,GAAG,OAAO,CAAC;AACpB,IAAI,MAAM,GAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAEvD,SAAS,IAAI,CAAC,EAAyC;QAAzC,qBAAsC,EAAG,KAAA,EAAvC,YAAwB,EAAlB,KAAK,mBAAG,UAAU,KAAA;IACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,SAAS,IAAI,CAAC,EAAmE;QAAnE,qBAAiE,EAAE,KAAA,EAAjE,YAAwB,EAAlB,KAAK,mBAAG,UAAU,KAAA,EAAE,aAAyB,EAAlB,MAAM,mBAAG,SAAS,KAAA;IAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,SAAS,IAAI,CAAC,EAAiC;QAAjC,qBAA+B,EAAE,KAAA,EAA/B,YAAiB,EAAjB,IAAI,mBAAG,UAAU,KAAA;IAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAED,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;AAEhD,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;AAEhD,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC"} +//// https://sokra.github.io/source-map-visualization#base64,dmFyIGhlbGxvID0gImhlbGxvIjsNCnZhciByb2JvdEEgPSB7IG5hbWU6ICJtb3dlciIsIHNraWxsOiAibW93aW5nIiB9Ow0KZnVuY3Rpb24gZm9vMShfYSkgew0KICAgIHZhciBfYiA9IF9hID09PSB2b2lkIDAgPyB7fSA6IF9hLCBfYyA9IF9iLm5hbWUsIG5hbWVBID0gX2MgPT09IHZvaWQgMCA/ICI8Tm9OYW1lPiIgOiBfYzsNCiAgICBjb25zb2xlLmxvZyhuYW1lQSk7DQp9DQpmdW5jdGlvbiBmb28yKF9hKSB7DQogICAgdmFyIF9iID0gX2EgPT09IHZvaWQgMCA/IHt9IDogX2EsIF9jID0gX2IubmFtZSwgbmFtZUIgPSBfYyA9PT0gdm9pZCAwID8gIjxOb05hbWU+IiA6IF9jLCBfZCA9IF9iLnNraWxsLCBza2lsbEIgPSBfZCA9PT0gdm9pZCAwID8gIm5vU2tpbGwiIDogX2Q7DQogICAgY29uc29sZS5sb2cobmFtZUIpOw0KfQ0KZnVuY3Rpb24gZm9vMyhfYSkgew0KICAgIHZhciBfYiA9IF9hID09PSB2b2lkIDAgPyB7fSA6IF9hLCBfYyA9IF9iLm5hbWUsIG5hbWUgPSBfYyA9PT0gdm9pZCAwID8gIjxOb05hbWU+IiA6IF9jOw0KICAgIGNvbnNvbGUubG9nKG5hbWUpOw0KfQ0KZm9vMShyb2JvdEEpOw0KZm9vMSh7IG5hbWU6ICJFZGdlciIsIHNraWxsOiAiY3V0dGluZyBlZGdlcyIgfSk7DQpmb28yKHJvYm90QSk7DQpmb28yKHsgbmFtZTogIkVkZ2VyIiwgc2tpbGw6ICJjdXR0aW5nIGVkZ2VzIiB9KTsNCmZvbzMocm9ib3RBKTsNCmZvbzMoeyBuYW1lOiAiRWRnZXIiLCBza2lsbDogImN1dHRpbmcgZWRnZXMiIH0pOw0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9c291cmNlTWFwVmFsaWRhdGlvbkRlc3RydWN0dXJpbmdQYXJhbWV0ZXJPYmplY3RCaW5kaW5nUGF0dGVybkRlZmF1bHRWYWx1ZXMuanMubWFw,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlTWFwVmFsaWRhdGlvbkRlc3RydWN0dXJpbmdQYXJhbWV0ZXJPYmplY3RCaW5kaW5nUGF0dGVybkRlZmF1bHRWYWx1ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzb3VyY2VNYXBWYWxpZGF0aW9uRGVzdHJ1Y3R1cmluZ1BhcmFtZXRlck9iamVjdEJpbmRpbmdQYXR0ZXJuRGVmYXVsdFZhbHVlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxJQUFJLEtBQUssR0FBRyxPQUFPLENBQUM7QUFDcEIsSUFBSSxNQUFNLEdBQVUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQztBQUV2RCxTQUFTLElBQUksQ0FBQyxFQUF5QztRQUF6QyxxQkFBc0MsRUFBRyxLQUFBLEVBQXZDLFlBQXdCLEVBQWxCLEtBQUssbUJBQUcsVUFBVSxLQUFBO0lBQ3BDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdkIsQ0FBQztBQUNELFNBQVMsSUFBSSxDQUFDLEVBQW1FO1FBQW5FLHFCQUFpRSxFQUFFLEtBQUEsRUFBakUsWUFBd0IsRUFBbEIsS0FBSyxtQkFBRyxVQUFVLEtBQUEsRUFBRSxhQUF5QixFQUFsQixNQUFNLG1CQUFHLFNBQVMsS0FBQTtJQUMvRCxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3ZCLENBQUM7QUFDRCxTQUFTLElBQUksQ0FBQyxFQUFpQztRQUFqQyxxQkFBK0IsRUFBRSxLQUFBLEVBQS9CLFlBQWlCLEVBQWpCLElBQUksbUJBQUcsVUFBVSxLQUFBO0lBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdEIsQ0FBQztBQUVELElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNiLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7QUFFaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2IsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztBQUVoRCxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDYixJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDIn0=,aW50ZXJmYWNlIFJvYm90IHsKICAgIG5hbWU/OiBzdHJpbmc7CiAgICBza2lsbD86IHN0cmluZzsKfQpkZWNsYXJlIHZhciBjb25zb2xlOiB7CiAgICBsb2cobXNnOiBzdHJpbmcpOiB2b2lkOwp9CnZhciBoZWxsbyA9ICJoZWxsbyI7CnZhciByb2JvdEE6IFJvYm90ID0geyBuYW1lOiAibW93ZXIiLCBza2lsbDogIm1vd2luZyIgfTsKCmZ1bmN0aW9uIGZvbzEoeyBuYW1lOiBuYW1lQSA9ICI8Tm9OYW1lPiIgfTogUm9ib3QgPSB7IH0pIHsKICAgIGNvbnNvbGUubG9nKG5hbWVBKTsKfQpmdW5jdGlvbiBmb28yKHsgbmFtZTogbmFtZUIgPSAiPE5vTmFtZT4iLCBza2lsbDogc2tpbGxCID0gIm5vU2tpbGwiIH06IFJvYm90ID0ge30pIHsKICAgIGNvbnNvbGUubG9nKG5hbWVCKTsKfQpmdW5jdGlvbiBmb28zKHsgbmFtZSA9ICI8Tm9OYW1lPiIgfTogUm9ib3QgPSB7fSkgewogICAgY29uc29sZS5sb2cobmFtZSk7Cn0KCmZvbzEocm9ib3RBKTsKZm9vMSh7IG5hbWU6ICJFZGdlciIsIHNraWxsOiAiY3V0dGluZyBlZGdlcyIgfSk7Cgpmb28yKHJvYm90QSk7CmZvbzIoeyBuYW1lOiAiRWRnZXIiLCBza2lsbDogImN1dHRpbmcgZWRnZXMiIH0pOwoKZm9vMyhyb2JvdEEpOwpmb28zKHsgbmFtZTogIkVkZ2VyIiwgc2tpbGw6ICJjdXR0aW5nIGVkZ2VzIiB9KTsK diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.sourcemap.txt index ed2df997dce..8fe13b9d40a 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.sourcemap.txt @@ -87,7 +87,7 @@ sourceFile:sourceMapValidationDestructuringParameterObjectBindingPatternDefaultV 3 > ^^^^ 4 > ^ 5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 > > > @@ -101,34 +101,40 @@ sourceFile:sourceMapValidationDestructuringParameterObjectBindingPatternDefaultV 4 >Emitted(3, 15) Source(11, 15) + SourceIndex(0) 5 >Emitted(3, 17) Source(11, 56) + SourceIndex(0) --- ->>> var _b = (_a === void 0 ? {} : _a).name, nameA = _b === void 0 ? "" : _b; +>>> var _b = _a === void 0 ? {} : _a, _c = _b.name, nameA = _c === void 0 ? "" : _c; 1->^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^ -5 > ^^ -6 > ^^^^^ -7 > ^^^^^^^^^^^^^^^^^^^ -8 > ^^^^^^^^^^ -9 > ^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^^ +9 > ^^^^^^^^^^^^^^^^^^^ +10> ^^^^^^^^^^ +11> ^^^^^ 1-> -2 > name: nameA = "" }: Robot = -3 > { } -4 > -5 > -6 > nameA -7 > = -8 > "" -9 > -1->Emitted(4, 9) Source(11, 17) + SourceIndex(0) -2 >Emitted(4, 31) Source(11, 53) + SourceIndex(0) -3 >Emitted(4, 33) Source(11, 56) + SourceIndex(0) -4 >Emitted(4, 44) Source(11, 41) + SourceIndex(0) -5 >Emitted(4, 46) Source(11, 23) + SourceIndex(0) -6 >Emitted(4, 51) Source(11, 28) + SourceIndex(0) -7 >Emitted(4, 70) Source(11, 31) + SourceIndex(0) -8 >Emitted(4, 80) Source(11, 41) + SourceIndex(0) -9 >Emitted(4, 85) Source(11, 41) + SourceIndex(0) +2 > { name: nameA = "" }: Robot = +3 > { } +4 > +5 > +6 > name: nameA = "" +7 > +8 > nameA +9 > = +10> "" +11> +1->Emitted(4, 9) Source(11, 15) + SourceIndex(0) +2 >Emitted(4, 30) Source(11, 53) + SourceIndex(0) +3 >Emitted(4, 32) Source(11, 56) + SourceIndex(0) +4 >Emitted(4, 37) Source(11, 56) + SourceIndex(0) +5 >Emitted(4, 39) Source(11, 17) + SourceIndex(0) +6 >Emitted(4, 51) Source(11, 41) + SourceIndex(0) +7 >Emitted(4, 53) Source(11, 23) + SourceIndex(0) +8 >Emitted(4, 58) Source(11, 28) + SourceIndex(0) +9 >Emitted(4, 77) Source(11, 31) + SourceIndex(0) +10>Emitted(4, 87) Source(11, 41) + SourceIndex(0) +11>Emitted(4, 92) Source(11, 41) + SourceIndex(0) --- >>> console.log(nameA); 1 >^^^^ @@ -285,7 +291,7 @@ sourceFile:sourceMapValidationDestructuringParameterObjectBindingPatternDefaultV 3 > ^^^^ 4 > ^ 5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > 2 >function @@ -298,34 +304,40 @@ sourceFile:sourceMapValidationDestructuringParameterObjectBindingPatternDefaultV 4 >Emitted(11, 15) Source(17, 15) + SourceIndex(0) 5 >Emitted(11, 17) Source(17, 48) + SourceIndex(0) --- ->>> var _b = (_a === void 0 ? {} : _a).name, name = _b === void 0 ? "" : _b; +>>> var _b = _a === void 0 ? {} : _a, _c = _b.name, name = _c === void 0 ? "" : _c; 1->^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^ -3 > ^^ -4 > ^^^^^^^^^^^ -5 > ^^ -6 > ^^^^ -7 > ^^^^^^^^^^^^^^^^^^^ -8 > ^^^^^^^^^^ -9 > ^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^ +3 > ^^ +4 > ^^^^^ +5 > ^^ +6 > ^^^^^^^^^^^^ +7 > ^^ +8 > ^^^^ +9 > ^^^^^^^^^^^^^^^^^^^ +10> ^^^^^^^^^^ +11> ^^^^^ 1-> -2 > name = "" }: Robot = -3 > {} -4 > -5 > -6 > name -7 > = -8 > "" -9 > -1->Emitted(12, 9) Source(17, 17) + SourceIndex(0) -2 >Emitted(12, 31) Source(17, 46) + SourceIndex(0) -3 >Emitted(12, 33) Source(17, 48) + SourceIndex(0) -4 >Emitted(12, 44) Source(17, 34) + SourceIndex(0) -5 >Emitted(12, 46) Source(17, 17) + SourceIndex(0) -6 >Emitted(12, 50) Source(17, 21) + SourceIndex(0) -7 >Emitted(12, 69) Source(17, 24) + SourceIndex(0) -8 >Emitted(12, 79) Source(17, 34) + SourceIndex(0) -9 >Emitted(12, 84) Source(17, 34) + SourceIndex(0) +2 > { name = "" }: Robot = +3 > {} +4 > +5 > +6 > name = "" +7 > +8 > name +9 > = +10> "" +11> +1->Emitted(12, 9) Source(17, 15) + SourceIndex(0) +2 >Emitted(12, 30) Source(17, 46) + SourceIndex(0) +3 >Emitted(12, 32) Source(17, 48) + SourceIndex(0) +4 >Emitted(12, 37) Source(17, 48) + SourceIndex(0) +5 >Emitted(12, 39) Source(17, 17) + SourceIndex(0) +6 >Emitted(12, 51) Source(17, 34) + SourceIndex(0) +7 >Emitted(12, 53) Source(17, 17) + SourceIndex(0) +8 >Emitted(12, 57) Source(17, 21) + SourceIndex(0) +9 >Emitted(12, 76) Source(17, 24) + SourceIndex(0) +10>Emitted(12, 86) Source(17, 34) + SourceIndex(0) +11>Emitted(12, 91) Source(17, 34) + SourceIndex(0) --- >>> console.log(name); 1 >^^^^ diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.js b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.js index 327791a6416..20d785fa47f 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.js +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.js @@ -40,7 +40,7 @@ function foo1(_a) { console.log(nameA); } function foo2(_a) { - var _b = (_a === void 0 ? [-1, "name", "skill"] : _a)[0], numberB = _b === void 0 ? -1 : _b; + var _b = _a === void 0 ? [-1, "name", "skill"] : _a, _c = _b[0], numberB = _c === void 0 ? -1 : _c; console.log(numberB); } function foo3(_a) { diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.js.map b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.js.map index c67d510454b..bad165e1844 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.js.map @@ -1,3 +1,3 @@ //// [sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.js.map] -{"version":3,"file":"sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.js","sourceRoot":"","sources":["sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts"],"names":[],"mappings":"AAIA,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAE3C,SAAS,IAAI,CAAC,EAAmD;QAAnD,qBAA8B,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,KAAA,EAAhD,UAAgB,EAAhB,KAAK,mBAAG,QAAQ,KAAA;IAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,IAAI,CAAC,EAA6C;QAA5C,sBAAuB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,SAAhC,EAAZ,OAAO,mBAAG,CAAC,CAAC,KAAA;IACvB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,IAAI,CAAC,EAAkF;QAAlF,qBAA6D,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,KAAA,EAAjF,UAAa,EAAb,QAAQ,mBAAG,CAAC,CAAC,KAAA,EAAE,UAAe,EAAf,MAAM,mBAAG,MAAM,KAAA,EAAE,UAAiB,EAAjB,OAAO,mBAAG,OAAO,KAAA;IAC5D,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,IAAI,CAAC,EAA6D;QAA7D,qBAAwC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,KAAA,EAA5D,UAAa,EAAb,QAAQ,mBAAG,CAAC,CAAC,KAAA,EAAK,UAAU,cAAA;IACvC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC5B,CAAC;AAED,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAEjC,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAEjC,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAEjC,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC"} -//// https://sokra.github.io/source-map-visualization#base64,dmFyIHJvYm90QSA9IFsxLCAibW93ZXIiLCAibW93aW5nIl07DQpmdW5jdGlvbiBmb28xKF9hKSB7DQogICAgdmFyIF9iID0gX2EgPT09IHZvaWQgMCA/IFstMSwgIm5hbWUiLCAic2tpbGwiXSA6IF9hLCBfYyA9IF9iWzFdLCBuYW1lQSA9IF9jID09PSB2b2lkIDAgPyAibm9OYW1lIiA6IF9jOw0KICAgIGNvbnNvbGUubG9nKG5hbWVBKTsNCn0NCmZ1bmN0aW9uIGZvbzIoX2EpIHsNCiAgICB2YXIgX2IgPSAoX2EgPT09IHZvaWQgMCA/IFstMSwgIm5hbWUiLCAic2tpbGwiXSA6IF9hKVswXSwgbnVtYmVyQiA9IF9iID09PSB2b2lkIDAgPyAtMSA6IF9iOw0KICAgIGNvbnNvbGUubG9nKG51bWJlckIpOw0KfQ0KZnVuY3Rpb24gZm9vMyhfYSkgew0KICAgIHZhciBfYiA9IF9hID09PSB2b2lkIDAgPyBbLTEsICJuYW1lIiwgInNraWxsIl0gOiBfYSwgX2MgPSBfYlswXSwgbnVtYmVyQTIgPSBfYyA9PT0gdm9pZCAwID8gLTEgOiBfYywgX2QgPSBfYlsxXSwgbmFtZUEyID0gX2QgPT09IHZvaWQgMCA/ICJuYW1lIiA6IF9kLCBfZSA9IF9iWzJdLCBza2lsbEEyID0gX2UgPT09IHZvaWQgMCA/ICJza2lsbCIgOiBfZTsNCiAgICBjb25zb2xlLmxvZyhuYW1lQTIpOw0KfQ0KZnVuY3Rpb24gZm9vNChfYSkgew0KICAgIHZhciBfYiA9IF9hID09PSB2b2lkIDAgPyBbLTEsICJuYW1lIiwgInNraWxsIl0gOiBfYSwgX2MgPSBfYlswXSwgbnVtYmVyQTMgPSBfYyA9PT0gdm9pZCAwID8gLTEgOiBfYywgcm9ib3RBSW5mbyA9IF9iLnNsaWNlKDEpOw0KICAgIGNvbnNvbGUubG9nKHJvYm90QUluZm8pOw0KfQ0KZm9vMShyb2JvdEEpOw0KZm9vMShbMiwgInRyaW1tZXIiLCAidHJpbW1pbmciXSk7DQpmb28yKHJvYm90QSk7DQpmb28yKFsyLCAidHJpbW1lciIsICJ0cmltbWluZyJdKTsNCmZvbzMocm9ib3RBKTsNCmZvbzMoWzIsICJ0cmltbWVyIiwgInRyaW1taW5nIl0pOw0KZm9vNChyb2JvdEEpOw0KZm9vNChbMiwgInRyaW1tZXIiLCAidHJpbW1pbmciXSk7DQovLyMgc291cmNlTWFwcGluZ1VSTD1zb3VyY2VNYXBWYWxpZGF0aW9uRGVzdHJ1Y3R1cmluZ1BhcmFtZXRlcnRBcnJheUJpbmRpbmdQYXR0ZXJuRGVmYXVsdFZhbHVlcy5qcy5tYXA=,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlTWFwVmFsaWRhdGlvbkRlc3RydWN0dXJpbmdQYXJhbWV0ZXJ0QXJyYXlCaW5kaW5nUGF0dGVybkRlZmF1bHRWYWx1ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzb3VyY2VNYXBWYWxpZGF0aW9uRGVzdHJ1Y3R1cmluZ1BhcmFtZXRlcnRBcnJheUJpbmRpbmdQYXR0ZXJuRGVmYXVsdFZhbHVlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxJQUFJLE1BQU0sR0FBVSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFFM0MsU0FBUyxJQUFJLENBQUMsRUFBbUQ7UUFBbkQscUJBQThCLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxLQUFBLEVBQWhELFVBQWdCLEVBQWhCLEtBQUssbUJBQUcsUUFBUSxLQUFBO0lBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdkIsQ0FBQztBQUVELFNBQVMsSUFBSSxDQUFDLEVBQTZDO1FBQTVDLHNCQUF1QixDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsU0FBaEMsRUFBWixPQUFPLG1CQUFHLENBQUMsQ0FBQyxLQUFBO0lBQ3ZCLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDekIsQ0FBQztBQUVELFNBQVMsSUFBSSxDQUFDLEVBQWtGO1FBQWxGLHFCQUE2RCxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsS0FBQSxFQUFqRixVQUFhLEVBQWIsUUFBUSxtQkFBRyxDQUFDLENBQUMsS0FBQSxFQUFFLFVBQWUsRUFBZixNQUFNLG1CQUFHLE1BQU0sS0FBQSxFQUFFLFVBQWlCLEVBQWpCLE9BQU8sbUJBQUcsT0FBTyxLQUFBO0lBQzVELE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDeEIsQ0FBQztBQUVELFNBQVMsSUFBSSxDQUFDLEVBQTZEO1FBQTdELHFCQUF3QyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsS0FBQSxFQUE1RCxVQUFhLEVBQWIsUUFBUSxtQkFBRyxDQUFDLENBQUMsS0FBQSxFQUFLLFVBQVUsY0FBQTtJQUN2QyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDYixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFFakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2IsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBRWpDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNiLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUVqQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDYixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMifQ==,ZGVjbGFyZSB2YXIgY29uc29sZTogewogICAgbG9nKG1zZzogYW55KTogdm9pZDsKfQp0eXBlIFJvYm90ID0gW251bWJlciwgc3RyaW5nLCBzdHJpbmddOwp2YXIgcm9ib3RBOiBSb2JvdCA9IFsxLCAibW93ZXIiLCAibW93aW5nIl07CgpmdW5jdGlvbiBmb28xKFssIG5hbWVBID0gIm5vTmFtZSJdOiBSb2JvdCA9IFstMSwgIm5hbWUiLCAic2tpbGwiXSkgewogICAgY29uc29sZS5sb2cobmFtZUEpOwp9CgpmdW5jdGlvbiBmb28yKFtudW1iZXJCID0gLTFdOiBSb2JvdCA9IFstMSwgIm5hbWUiLCAic2tpbGwiXSkgewogICAgY29uc29sZS5sb2cobnVtYmVyQik7Cn0KCmZ1bmN0aW9uIGZvbzMoW251bWJlckEyID0gLTEsIG5hbWVBMiA9ICJuYW1lIiwgc2tpbGxBMiA9ICJza2lsbCJdOiBSb2JvdCA9IFstMSwgIm5hbWUiLCAic2tpbGwiXSkgewogICAgY29uc29sZS5sb2cobmFtZUEyKTsKfQoKZnVuY3Rpb24gZm9vNChbbnVtYmVyQTMgPSAtMSwgLi4ucm9ib3RBSW5mb106IFJvYm90ID0gWy0xLCAibmFtZSIsICJza2lsbCJdKSB7CiAgICBjb25zb2xlLmxvZyhyb2JvdEFJbmZvKTsKfQoKZm9vMShyb2JvdEEpOwpmb28xKFsyLCAidHJpbW1lciIsICJ0cmltbWluZyJdKTsKCmZvbzIocm9ib3RBKTsKZm9vMihbMiwgInRyaW1tZXIiLCAidHJpbW1pbmciXSk7Cgpmb28zKHJvYm90QSk7CmZvbzMoWzIsICJ0cmltbWVyIiwgInRyaW1taW5nIl0pOwoKZm9vNChyb2JvdEEpOwpmb280KFsyLCAidHJpbW1lciIsICJ0cmltbWluZyJdKTs= +{"version":3,"file":"sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.js","sourceRoot":"","sources":["sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts"],"names":[],"mappings":"AAIA,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAE3C,SAAS,IAAI,CAAC,EAAmD;QAAnD,qBAA8B,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,KAAA,EAAhD,UAAgB,EAAhB,KAAK,mBAAG,QAAQ,KAAA;IAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,IAAI,CAAC,EAA6C;QAA7C,qBAAwB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,KAAA,EAA5C,UAAY,EAAZ,OAAO,mBAAG,CAAC,CAAC,KAAA;IACvB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,IAAI,CAAC,EAAkF;QAAlF,qBAA6D,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,KAAA,EAAjF,UAAa,EAAb,QAAQ,mBAAG,CAAC,CAAC,KAAA,EAAE,UAAe,EAAf,MAAM,mBAAG,MAAM,KAAA,EAAE,UAAiB,EAAjB,OAAO,mBAAG,OAAO,KAAA;IAC5D,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,IAAI,CAAC,EAA6D;QAA7D,qBAAwC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,KAAA,EAA5D,UAAa,EAAb,QAAQ,mBAAG,CAAC,CAAC,KAAA,EAAK,UAAU,cAAA;IACvC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC5B,CAAC;AAED,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAEjC,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAEjC,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAEjC,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC"} +//// https://sokra.github.io/source-map-visualization#base64,dmFyIHJvYm90QSA9IFsxLCAibW93ZXIiLCAibW93aW5nIl07DQpmdW5jdGlvbiBmb28xKF9hKSB7DQogICAgdmFyIF9iID0gX2EgPT09IHZvaWQgMCA/IFstMSwgIm5hbWUiLCAic2tpbGwiXSA6IF9hLCBfYyA9IF9iWzFdLCBuYW1lQSA9IF9jID09PSB2b2lkIDAgPyAibm9OYW1lIiA6IF9jOw0KICAgIGNvbnNvbGUubG9nKG5hbWVBKTsNCn0NCmZ1bmN0aW9uIGZvbzIoX2EpIHsNCiAgICB2YXIgX2IgPSBfYSA9PT0gdm9pZCAwID8gWy0xLCAibmFtZSIsICJza2lsbCJdIDogX2EsIF9jID0gX2JbMF0sIG51bWJlckIgPSBfYyA9PT0gdm9pZCAwID8gLTEgOiBfYzsNCiAgICBjb25zb2xlLmxvZyhudW1iZXJCKTsNCn0NCmZ1bmN0aW9uIGZvbzMoX2EpIHsNCiAgICB2YXIgX2IgPSBfYSA9PT0gdm9pZCAwID8gWy0xLCAibmFtZSIsICJza2lsbCJdIDogX2EsIF9jID0gX2JbMF0sIG51bWJlckEyID0gX2MgPT09IHZvaWQgMCA/IC0xIDogX2MsIF9kID0gX2JbMV0sIG5hbWVBMiA9IF9kID09PSB2b2lkIDAgPyAibmFtZSIgOiBfZCwgX2UgPSBfYlsyXSwgc2tpbGxBMiA9IF9lID09PSB2b2lkIDAgPyAic2tpbGwiIDogX2U7DQogICAgY29uc29sZS5sb2cobmFtZUEyKTsNCn0NCmZ1bmN0aW9uIGZvbzQoX2EpIHsNCiAgICB2YXIgX2IgPSBfYSA9PT0gdm9pZCAwID8gWy0xLCAibmFtZSIsICJza2lsbCJdIDogX2EsIF9jID0gX2JbMF0sIG51bWJlckEzID0gX2MgPT09IHZvaWQgMCA/IC0xIDogX2MsIHJvYm90QUluZm8gPSBfYi5zbGljZSgxKTsNCiAgICBjb25zb2xlLmxvZyhyb2JvdEFJbmZvKTsNCn0NCmZvbzEocm9ib3RBKTsNCmZvbzEoWzIsICJ0cmltbWVyIiwgInRyaW1taW5nIl0pOw0KZm9vMihyb2JvdEEpOw0KZm9vMihbMiwgInRyaW1tZXIiLCAidHJpbW1pbmciXSk7DQpmb28zKHJvYm90QSk7DQpmb28zKFsyLCAidHJpbW1lciIsICJ0cmltbWluZyJdKTsNCmZvbzQocm9ib3RBKTsNCmZvbzQoWzIsICJ0cmltbWVyIiwgInRyaW1taW5nIl0pOw0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9c291cmNlTWFwVmFsaWRhdGlvbkRlc3RydWN0dXJpbmdQYXJhbWV0ZXJ0QXJyYXlCaW5kaW5nUGF0dGVybkRlZmF1bHRWYWx1ZXMuanMubWFw,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlTWFwVmFsaWRhdGlvbkRlc3RydWN0dXJpbmdQYXJhbWV0ZXJ0QXJyYXlCaW5kaW5nUGF0dGVybkRlZmF1bHRWYWx1ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzb3VyY2VNYXBWYWxpZGF0aW9uRGVzdHJ1Y3R1cmluZ1BhcmFtZXRlcnRBcnJheUJpbmRpbmdQYXR0ZXJuRGVmYXVsdFZhbHVlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxJQUFJLE1BQU0sR0FBVSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFFM0MsU0FBUyxJQUFJLENBQUMsRUFBbUQ7UUFBbkQscUJBQThCLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxLQUFBLEVBQWhELFVBQWdCLEVBQWhCLEtBQUssbUJBQUcsUUFBUSxLQUFBO0lBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdkIsQ0FBQztBQUVELFNBQVMsSUFBSSxDQUFDLEVBQTZDO1FBQTdDLHFCQUF3QixDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsS0FBQSxFQUE1QyxVQUFZLEVBQVosT0FBTyxtQkFBRyxDQUFDLENBQUMsS0FBQTtJQUN2QixPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3pCLENBQUM7QUFFRCxTQUFTLElBQUksQ0FBQyxFQUFrRjtRQUFsRixxQkFBNkQsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLEtBQUEsRUFBakYsVUFBYSxFQUFiLFFBQVEsbUJBQUcsQ0FBQyxDQUFDLEtBQUEsRUFBRSxVQUFlLEVBQWYsTUFBTSxtQkFBRyxNQUFNLEtBQUEsRUFBRSxVQUFpQixFQUFqQixPQUFPLG1CQUFHLE9BQU8sS0FBQTtJQUM1RCxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxTQUFTLElBQUksQ0FBQyxFQUE2RDtRQUE3RCxxQkFBd0MsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLEtBQUEsRUFBNUQsVUFBYSxFQUFiLFFBQVEsbUJBQUcsQ0FBQyxDQUFDLEtBQUEsRUFBSyxVQUFVLGNBQUE7SUFDdkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2IsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBRWpDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNiLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUVqQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDYixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFFakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2IsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDIn0=,ZGVjbGFyZSB2YXIgY29uc29sZTogewogICAgbG9nKG1zZzogYW55KTogdm9pZDsKfQp0eXBlIFJvYm90ID0gW251bWJlciwgc3RyaW5nLCBzdHJpbmddOwp2YXIgcm9ib3RBOiBSb2JvdCA9IFsxLCAibW93ZXIiLCAibW93aW5nIl07CgpmdW5jdGlvbiBmb28xKFssIG5hbWVBID0gIm5vTmFtZSJdOiBSb2JvdCA9IFstMSwgIm5hbWUiLCAic2tpbGwiXSkgewogICAgY29uc29sZS5sb2cobmFtZUEpOwp9CgpmdW5jdGlvbiBmb28yKFtudW1iZXJCID0gLTFdOiBSb2JvdCA9IFstMSwgIm5hbWUiLCAic2tpbGwiXSkgewogICAgY29uc29sZS5sb2cobnVtYmVyQik7Cn0KCmZ1bmN0aW9uIGZvbzMoW251bWJlckEyID0gLTEsIG5hbWVBMiA9ICJuYW1lIiwgc2tpbGxBMiA9ICJza2lsbCJdOiBSb2JvdCA9IFstMSwgIm5hbWUiLCAic2tpbGwiXSkgewogICAgY29uc29sZS5sb2cobmFtZUEyKTsKfQoKZnVuY3Rpb24gZm9vNChbbnVtYmVyQTMgPSAtMSwgLi4ucm9ib3RBSW5mb106IFJvYm90ID0gWy0xLCAibmFtZSIsICJza2lsbCJdKSB7CiAgICBjb25zb2xlLmxvZyhyb2JvdEFJbmZvKTsKfQoKZm9vMShyb2JvdEEpOwpmb28xKFsyLCAidHJpbW1lciIsICJ0cmltbWluZyJdKTsKCmZvbzIocm9ib3RBKTsKZm9vMihbMiwgInRyaW1tZXIiLCAidHJpbW1pbmciXSk7Cgpmb28zKHJvYm90QSk7CmZvbzMoWzIsICJ0cmltbWVyIiwgInRyaW1taW5nIl0pOwoKZm9vNChyb2JvdEEpOwpmb280KFsyLCAidHJpbW1lciIsICJ0cmltbWluZyJdKTs= diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.sourcemap.txt index 7f4539ee686..72cb2108696 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.sourcemap.txt @@ -169,7 +169,7 @@ sourceFile:sourceMapValidationDestructuringParametertArrayBindingPatternDefaultV 3 > ^^^^ 4 > ^ 5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > > @@ -183,58 +183,64 @@ sourceFile:sourceMapValidationDestructuringParametertArrayBindingPatternDefaultV 4 >Emitted(6, 15) Source(11, 15) + SourceIndex(0) 5 >Emitted(6, 17) Source(11, 60) + SourceIndex(0) --- ->>> var _b = (_a === void 0 ? [-1, "name", "skill"] : _a)[0], numberB = _b === void 0 ? -1 : _b; +>>> var _b = _a === void 0 ? [-1, "name", "skill"] : _a, _c = _b[0], numberB = _c === void 0 ? -1 : _c; 1->^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^ -5 > ^ -6 > ^^ -7 > ^^^^^^ -8 > ^^ -9 > ^^^^^^^ -10> ^ -11> ^^^^^^^^^ -12> ^^ -13> ^^^^^^^ -14> ^^^^^^^^^^^^^^^^^^^ -15> ^ -16> ^ -17> ^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^ +3 > ^ +4 > ^ +5 > ^ +6 > ^^ +7 > ^^^^^^ +8 > ^^ +9 > ^^^^^^^ +10> ^ +11> ^^^^^ +12> ^^ +13> ^^^^^^^^^^ +14> ^^ +15> ^^^^^^^ +16> ^^^^^^^^^^^^^^^^^^^ +17> ^ +18> ^ +19> ^^^^^ 1-> -2 > numberB = -1]: Robot = -3 > [ -4 > - -5 > 1 -6 > , -7 > "name" -8 > , -9 > "skill" -10> ] -11> -12> -13> numberB -14> = -15> - -16> 1 -17> -1->Emitted(7, 9) Source(11, 16) + SourceIndex(0) -2 >Emitted(7, 31) Source(11, 39) + SourceIndex(0) -3 >Emitted(7, 32) Source(11, 40) + SourceIndex(0) -4 >Emitted(7, 33) Source(11, 41) + SourceIndex(0) -5 >Emitted(7, 34) Source(11, 42) + SourceIndex(0) -6 >Emitted(7, 36) Source(11, 44) + SourceIndex(0) -7 >Emitted(7, 42) Source(11, 50) + SourceIndex(0) -8 >Emitted(7, 44) Source(11, 52) + SourceIndex(0) -9 >Emitted(7, 51) Source(11, 59) + SourceIndex(0) -10>Emitted(7, 52) Source(11, 60) + SourceIndex(0) -11>Emitted(7, 61) Source(11, 28) + SourceIndex(0) -12>Emitted(7, 63) Source(11, 16) + SourceIndex(0) -13>Emitted(7, 70) Source(11, 23) + SourceIndex(0) -14>Emitted(7, 89) Source(11, 26) + SourceIndex(0) -15>Emitted(7, 90) Source(11, 27) + SourceIndex(0) -16>Emitted(7, 91) Source(11, 28) + SourceIndex(0) -17>Emitted(7, 96) Source(11, 28) + SourceIndex(0) +2 > [numberB = -1]: Robot = +3 > [ +4 > - +5 > 1 +6 > , +7 > "name" +8 > , +9 > "skill" +10> ] +11> +12> +13> numberB = -1 +14> +15> numberB +16> = +17> - +18> 1 +19> +1->Emitted(7, 9) Source(11, 15) + SourceIndex(0) +2 >Emitted(7, 30) Source(11, 39) + SourceIndex(0) +3 >Emitted(7, 31) Source(11, 40) + SourceIndex(0) +4 >Emitted(7, 32) Source(11, 41) + SourceIndex(0) +5 >Emitted(7, 33) Source(11, 42) + SourceIndex(0) +6 >Emitted(7, 35) Source(11, 44) + SourceIndex(0) +7 >Emitted(7, 41) Source(11, 50) + SourceIndex(0) +8 >Emitted(7, 43) Source(11, 52) + SourceIndex(0) +9 >Emitted(7, 50) Source(11, 59) + SourceIndex(0) +10>Emitted(7, 51) Source(11, 60) + SourceIndex(0) +11>Emitted(7, 56) Source(11, 60) + SourceIndex(0) +12>Emitted(7, 58) Source(11, 16) + SourceIndex(0) +13>Emitted(7, 68) Source(11, 28) + SourceIndex(0) +14>Emitted(7, 70) Source(11, 16) + SourceIndex(0) +15>Emitted(7, 77) Source(11, 23) + SourceIndex(0) +16>Emitted(7, 96) Source(11, 26) + SourceIndex(0) +17>Emitted(7, 97) Source(11, 27) + SourceIndex(0) +18>Emitted(7, 98) Source(11, 28) + SourceIndex(0) +19>Emitted(7, 103) Source(11, 28) + SourceIndex(0) --- >>> console.log(numberB); 1 >^^^^ diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.js b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.js index 392371ed5e4..1f6738b6a74 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.js +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.js @@ -36,7 +36,7 @@ function foo1(_a) { console.log(skillA); } function foo2(_a) { - var _b = (_a === void 0 ? ["name", ["skill1", "skill2"]] : _a)[0], nameMB = _b === void 0 ? "noName" : _b; + var _b = _a === void 0 ? ["name", ["skill1", "skill2"]] : _a, _c = _b[0], nameMB = _c === void 0 ? "noName" : _c; console.log(nameMB); } function foo3(_a) { diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.js.map b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.js.map index c0e965001cc..252cc698c8d 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.js.map +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.js.map @@ -1,3 +1,3 @@ //// [sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.js.map] -{"version":3,"file":"sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.js","sourceRoot":"","sources":["sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts"],"names":[],"mappings":"AAIA,IAAI,MAAM,GAAU,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAExD,SAAS,IAAI,CAAC,EAA0E;QAA1E,qBAA4C,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,KAAA,EAAvE,UAA+B,EAA/B,MAAM,mBAAG,CAAC,SAAS,EAAE,SAAS,CAAC,KAAA;IAC5C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,IAAI,CAAC,EAA2D;QAA1D,sBAA4B,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,SAAzC,EAAjB,MAAM,mBAAG,QAAQ,KAAA;IAC5B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,IAAI,CAAC,EAGoB;QAHnB,UAAiB,EAAjB,MAAM,mBAAG,QAAQ,KAAA,EAAE,UAGR,EAHQ,qBAG9B,CAAC,SAAS,EAAE,SAAS,CAAC,KAAA,EAFtB,UAAyB,EAAzB,aAAa,mBAAG,SAAS,KAAA,EACzB,UAA6B,EAA7B,eAAe,mBAAG,WAAW,KAAA;IAE7B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AAExC,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AAExC,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC"} -//// https://sokra.github.io/source-map-visualization#base64,dmFyIHJvYm90QSA9IFsidHJpbW1lciIsIFsidHJpbW1pbmciLCAiZWRnaW5nIl1dOw0KZnVuY3Rpb24gZm9vMShfYSkgew0KICAgIHZhciBfYiA9IF9hID09PSB2b2lkIDAgPyBbIm5hbWUiLCBbInNraWxsMSIsICJza2lsbDIiXV0gOiBfYSwgX2MgPSBfYlsxXSwgc2tpbGxBID0gX2MgPT09IHZvaWQgMCA/IFsibm9Ta2lsbCIsICJub1NraWxsIl0gOiBfYzsNCiAgICBjb25zb2xlLmxvZyhza2lsbEEpOw0KfQ0KZnVuY3Rpb24gZm9vMihfYSkgew0KICAgIHZhciBfYiA9IChfYSA9PT0gdm9pZCAwID8gWyJuYW1lIiwgWyJza2lsbDEiLCAic2tpbGwyIl1dIDogX2EpWzBdLCBuYW1lTUIgPSBfYiA9PT0gdm9pZCAwID8gIm5vTmFtZSIgOiBfYjsNCiAgICBjb25zb2xlLmxvZyhuYW1lTUIpOw0KfQ0KZnVuY3Rpb24gZm9vMyhfYSkgew0KICAgIHZhciBfYiA9IF9hWzBdLCBuYW1lTUEgPSBfYiA9PT0gdm9pZCAwID8gIm5vTmFtZSIgOiBfYiwgX2MgPSBfYVsxXSwgX2QgPSBfYyA9PT0gdm9pZCAwID8gWyJub1NraWxsIiwgIm5vU2tpbGwiXSA6IF9jLCBfZSA9IF9kWzBdLCBwcmltYXJ5U2tpbGxBID0gX2UgPT09IHZvaWQgMCA/ICJwcmltYXJ5IiA6IF9lLCBfZiA9IF9kWzFdLCBzZWNvbmRhcnlTa2lsbEEgPSBfZiA9PT0gdm9pZCAwID8gInNlY29uZGFyeSIgOiBfZjsNCiAgICBjb25zb2xlLmxvZyhuYW1lTUEpOw0KfQ0KZm9vMShyb2JvdEEpOw0KZm9vMShbInJvb21iYSIsIFsidmFjdXVtIiwgIm1vcHBpbmciXV0pOw0KZm9vMihyb2JvdEEpOw0KZm9vMihbInJvb21iYSIsIFsidmFjdXVtIiwgIm1vcHBpbmciXV0pOw0KZm9vMyhyb2JvdEEpOw0KZm9vMyhbInJvb21iYSIsIFsidmFjdXVtIiwgIm1vcHBpbmciXV0pOw0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9c291cmNlTWFwVmFsaWRhdGlvbkRlc3RydWN0dXJpbmdQYXJhbWV0ZXJ0QXJyYXlCaW5kaW5nUGF0dGVybkRlZmF1bHRWYWx1ZXMyLmpzLm1hcA==,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlTWFwVmFsaWRhdGlvbkRlc3RydWN0dXJpbmdQYXJhbWV0ZXJ0QXJyYXlCaW5kaW5nUGF0dGVybkRlZmF1bHRWYWx1ZXMyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic291cmNlTWFwVmFsaWRhdGlvbkRlc3RydWN0dXJpbmdQYXJhbWV0ZXJ0QXJyYXlCaW5kaW5nUGF0dGVybkRlZmF1bHRWYWx1ZXMyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLElBQUksTUFBTSxHQUFVLENBQUMsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFFeEQsU0FBUyxJQUFJLENBQUMsRUFBMEU7UUFBMUUscUJBQTRDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLEtBQUEsRUFBdkUsVUFBK0IsRUFBL0IsTUFBTSxtQkFBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBQTtJQUM1QyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxTQUFTLElBQUksQ0FBQyxFQUEyRDtRQUExRCxzQkFBNEIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsU0FBekMsRUFBakIsTUFBTSxtQkFBRyxRQUFRLEtBQUE7SUFDNUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN4QixDQUFDO0FBRUQsU0FBUyxJQUFJLENBQUMsRUFHb0I7UUFIbkIsVUFBaUIsRUFBakIsTUFBTSxtQkFBRyxRQUFRLEtBQUEsRUFBRSxVQUdSLEVBSFEscUJBRzlCLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxLQUFBLEVBRnRCLFVBQXlCLEVBQXpCLGFBQWEsbUJBQUcsU0FBUyxLQUFBLEVBQ3pCLFVBQTZCLEVBQTdCLGVBQWUsbUJBQUcsV0FBVyxLQUFBO0lBRTdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDeEIsQ0FBQztBQUVELElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNiLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFeEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2IsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUV4QyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDYixJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDIn0=,ZGVjbGFyZSB2YXIgY29uc29sZTogewogICAgbG9nKG1zZzogYW55KTogdm9pZDsKfQp0eXBlIFJvYm90ID0gW3N0cmluZywgc3RyaW5nW11dOwp2YXIgcm9ib3RBOiBSb2JvdCA9IFsidHJpbW1lciIsIFsidHJpbW1pbmciLCAiZWRnaW5nIl1dOwoKZnVuY3Rpb24gZm9vMShbLCBza2lsbEEgPSBbIm5vU2tpbGwiLCAibm9Ta2lsbCJdXTogUm9ib3Q9IFsibmFtZSIsIFsic2tpbGwxIiwgInNraWxsMiJdXSkgewogICAgY29uc29sZS5sb2coc2tpbGxBKTsKfQoKZnVuY3Rpb24gZm9vMihbbmFtZU1CID0gIm5vTmFtZSJdOiBSb2JvdCA9IFsibmFtZSIsIFsic2tpbGwxIiwgInNraWxsMiJdXSkgewogICAgY29uc29sZS5sb2cobmFtZU1CKTsKfQoKZnVuY3Rpb24gZm9vMyhbbmFtZU1BID0gIm5vTmFtZSIsIFsKICAgIHByaW1hcnlTa2lsbEEgPSAicHJpbWFyeSIsCiAgICBzZWNvbmRhcnlTa2lsbEEgPSAic2Vjb25kYXJ5IgpdID0gWyJub1NraWxsIiwgIm5vU2tpbGwiXV06IFJvYm90KSB7CiAgICBjb25zb2xlLmxvZyhuYW1lTUEpOwp9Cgpmb28xKHJvYm90QSk7CmZvbzEoWyJyb29tYmEiLCBbInZhY3V1bSIsICJtb3BwaW5nIl1dKTsKCmZvbzIocm9ib3RBKTsKZm9vMihbInJvb21iYSIsIFsidmFjdXVtIiwgIm1vcHBpbmciXV0pOwoKZm9vMyhyb2JvdEEpOwpmb28zKFsicm9vbWJhIiwgWyJ2YWN1dW0iLCAibW9wcGluZyJdXSk7 +{"version":3,"file":"sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.js","sourceRoot":"","sources":["sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts"],"names":[],"mappings":"AAIA,IAAI,MAAM,GAAU,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAExD,SAAS,IAAI,CAAC,EAA0E;QAA1E,qBAA4C,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,KAAA,EAAvE,UAA+B,EAA/B,MAAM,mBAAG,CAAC,SAAS,EAAE,SAAS,CAAC,KAAA;IAC5C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,IAAI,CAAC,EAA2D;QAA3D,qBAA6B,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,KAAA,EAA1D,UAAiB,EAAjB,MAAM,mBAAG,QAAQ,KAAA;IAC5B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,IAAI,CAAC,EAGoB;QAHnB,UAAiB,EAAjB,MAAM,mBAAG,QAAQ,KAAA,EAAE,UAGR,EAHQ,qBAG9B,CAAC,SAAS,EAAE,SAAS,CAAC,KAAA,EAFtB,UAAyB,EAAzB,aAAa,mBAAG,SAAS,KAAA,EACzB,UAA6B,EAA7B,eAAe,mBAAG,WAAW,KAAA;IAE7B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AAExC,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AAExC,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC"} +//// https://sokra.github.io/source-map-visualization#base64,dmFyIHJvYm90QSA9IFsidHJpbW1lciIsIFsidHJpbW1pbmciLCAiZWRnaW5nIl1dOw0KZnVuY3Rpb24gZm9vMShfYSkgew0KICAgIHZhciBfYiA9IF9hID09PSB2b2lkIDAgPyBbIm5hbWUiLCBbInNraWxsMSIsICJza2lsbDIiXV0gOiBfYSwgX2MgPSBfYlsxXSwgc2tpbGxBID0gX2MgPT09IHZvaWQgMCA/IFsibm9Ta2lsbCIsICJub1NraWxsIl0gOiBfYzsNCiAgICBjb25zb2xlLmxvZyhza2lsbEEpOw0KfQ0KZnVuY3Rpb24gZm9vMihfYSkgew0KICAgIHZhciBfYiA9IF9hID09PSB2b2lkIDAgPyBbIm5hbWUiLCBbInNraWxsMSIsICJza2lsbDIiXV0gOiBfYSwgX2MgPSBfYlswXSwgbmFtZU1CID0gX2MgPT09IHZvaWQgMCA/ICJub05hbWUiIDogX2M7DQogICAgY29uc29sZS5sb2cobmFtZU1CKTsNCn0NCmZ1bmN0aW9uIGZvbzMoX2EpIHsNCiAgICB2YXIgX2IgPSBfYVswXSwgbmFtZU1BID0gX2IgPT09IHZvaWQgMCA/ICJub05hbWUiIDogX2IsIF9jID0gX2FbMV0sIF9kID0gX2MgPT09IHZvaWQgMCA/IFsibm9Ta2lsbCIsICJub1NraWxsIl0gOiBfYywgX2UgPSBfZFswXSwgcHJpbWFyeVNraWxsQSA9IF9lID09PSB2b2lkIDAgPyAicHJpbWFyeSIgOiBfZSwgX2YgPSBfZFsxXSwgc2Vjb25kYXJ5U2tpbGxBID0gX2YgPT09IHZvaWQgMCA/ICJzZWNvbmRhcnkiIDogX2Y7DQogICAgY29uc29sZS5sb2cobmFtZU1BKTsNCn0NCmZvbzEocm9ib3RBKTsNCmZvbzEoWyJyb29tYmEiLCBbInZhY3V1bSIsICJtb3BwaW5nIl1dKTsNCmZvbzIocm9ib3RBKTsNCmZvbzIoWyJyb29tYmEiLCBbInZhY3V1bSIsICJtb3BwaW5nIl1dKTsNCmZvbzMocm9ib3RBKTsNCmZvbzMoWyJyb29tYmEiLCBbInZhY3V1bSIsICJtb3BwaW5nIl1dKTsNCi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNvdXJjZU1hcFZhbGlkYXRpb25EZXN0cnVjdHVyaW5nUGFyYW1ldGVydEFycmF5QmluZGluZ1BhdHRlcm5EZWZhdWx0VmFsdWVzMi5qcy5tYXA=,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlTWFwVmFsaWRhdGlvbkRlc3RydWN0dXJpbmdQYXJhbWV0ZXJ0QXJyYXlCaW5kaW5nUGF0dGVybkRlZmF1bHRWYWx1ZXMyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic291cmNlTWFwVmFsaWRhdGlvbkRlc3RydWN0dXJpbmdQYXJhbWV0ZXJ0QXJyYXlCaW5kaW5nUGF0dGVybkRlZmF1bHRWYWx1ZXMyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLElBQUksTUFBTSxHQUFVLENBQUMsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFFeEQsU0FBUyxJQUFJLENBQUMsRUFBMEU7UUFBMUUscUJBQTRDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLEtBQUEsRUFBdkUsVUFBK0IsRUFBL0IsTUFBTSxtQkFBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBQTtJQUM1QyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxTQUFTLElBQUksQ0FBQyxFQUEyRDtRQUEzRCxxQkFBNkIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsS0FBQSxFQUExRCxVQUFpQixFQUFqQixNQUFNLG1CQUFHLFFBQVEsS0FBQTtJQUM1QixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxTQUFTLElBQUksQ0FBQyxFQUdvQjtRQUhuQixVQUFpQixFQUFqQixNQUFNLG1CQUFHLFFBQVEsS0FBQSxFQUFFLFVBR1IsRUFIUSxxQkFHOUIsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLEtBQUEsRUFGdEIsVUFBeUIsRUFBekIsYUFBYSxtQkFBRyxTQUFTLEtBQUEsRUFDekIsVUFBNkIsRUFBN0IsZUFBZSxtQkFBRyxXQUFXLEtBQUE7SUFFN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN4QixDQUFDO0FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2IsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUV4QyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDYixJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRXhDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNiLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMifQ==,ZGVjbGFyZSB2YXIgY29uc29sZTogewogICAgbG9nKG1zZzogYW55KTogdm9pZDsKfQp0eXBlIFJvYm90ID0gW3N0cmluZywgc3RyaW5nW11dOwp2YXIgcm9ib3RBOiBSb2JvdCA9IFsidHJpbW1lciIsIFsidHJpbW1pbmciLCAiZWRnaW5nIl1dOwoKZnVuY3Rpb24gZm9vMShbLCBza2lsbEEgPSBbIm5vU2tpbGwiLCAibm9Ta2lsbCJdXTogUm9ib3Q9IFsibmFtZSIsIFsic2tpbGwxIiwgInNraWxsMiJdXSkgewogICAgY29uc29sZS5sb2coc2tpbGxBKTsKfQoKZnVuY3Rpb24gZm9vMihbbmFtZU1CID0gIm5vTmFtZSJdOiBSb2JvdCA9IFsibmFtZSIsIFsic2tpbGwxIiwgInNraWxsMiJdXSkgewogICAgY29uc29sZS5sb2cobmFtZU1CKTsKfQoKZnVuY3Rpb24gZm9vMyhbbmFtZU1BID0gIm5vTmFtZSIsIFsKICAgIHByaW1hcnlTa2lsbEEgPSAicHJpbWFyeSIsCiAgICBzZWNvbmRhcnlTa2lsbEEgPSAic2Vjb25kYXJ5IgpdID0gWyJub1NraWxsIiwgIm5vU2tpbGwiXV06IFJvYm90KSB7CiAgICBjb25zb2xlLmxvZyhuYW1lTUEpOwp9Cgpmb28xKHJvYm90QSk7CmZvbzEoWyJyb29tYmEiLCBbInZhY3V1bSIsICJtb3BwaW5nIl1dKTsKCmZvbzIocm9ib3RBKTsKZm9vMihbInJvb21iYSIsIFsidmFjdXVtIiwgIm1vcHBpbmciXV0pOwoKZm9vMyhyb2JvdEEpOwpmb28zKFsicm9vbWJhIiwgWyJ2YWN1dW0iLCAibW9wcGluZyJdXSk7 diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.sourcemap.txt b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.sourcemap.txt index 427d1314398..d9e2a8ec6c2 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.sourcemap.txt +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.sourcemap.txt @@ -190,7 +190,7 @@ sourceFile:sourceMapValidationDestructuringParametertArrayBindingPatternDefaultV 3 > ^^^^ 4 > ^ 5 > ^^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > > @@ -204,58 +204,64 @@ sourceFile:sourceMapValidationDestructuringParametertArrayBindingPatternDefaultV 4 >Emitted(6, 15) Source(11, 15) + SourceIndex(0) 5 >Emitted(6, 17) Source(11, 74) + SourceIndex(0) --- ->>> var _b = (_a === void 0 ? ["name", ["skill1", "skill2"]] : _a)[0], nameMB = _b === void 0 ? "noName" : _b; +>>> var _b = _a === void 0 ? ["name", ["skill1", "skill2"]] : _a, _c = _b[0], nameMB = _c === void 0 ? "noName" : _c; 1->^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^^^^^ -5 > ^^ -6 > ^ -7 > ^^^^^^^^ -8 > ^^ -9 > ^^^^^^^^ -10> ^ -11> ^ -12> ^^^^^^^^^ -13> ^^ -14> ^^^^^^ -15> ^^^^^^^^^^^^^^^^^^^ -16> ^^^^^^^^ -17> ^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^ +3 > ^ +4 > ^^^^^^ +5 > ^^ +6 > ^ +7 > ^^^^^^^^ +8 > ^^ +9 > ^^^^^^^^ +10> ^ +11> ^ +12> ^^^^^ +13> ^^ +14> ^^^^^^^^^^ +15> ^^ +16> ^^^^^^ +17> ^^^^^^^^^^^^^^^^^^^ +18> ^^^^^^^^ +19> ^^^^^ 1-> -2 > nameMB = "noName"]: Robot = -3 > [ -4 > "name" -5 > , -6 > [ -7 > "skill1" -8 > , -9 > "skill2" -10> ] -11> ] -12> -13> -14> nameMB -15> = -16> "noName" -17> -1->Emitted(7, 9) Source(11, 16) + SourceIndex(0) -2 >Emitted(7, 31) Source(11, 44) + SourceIndex(0) -3 >Emitted(7, 32) Source(11, 45) + SourceIndex(0) -4 >Emitted(7, 38) Source(11, 51) + SourceIndex(0) -5 >Emitted(7, 40) Source(11, 53) + SourceIndex(0) -6 >Emitted(7, 41) Source(11, 54) + SourceIndex(0) -7 >Emitted(7, 49) Source(11, 62) + SourceIndex(0) -8 >Emitted(7, 51) Source(11, 64) + SourceIndex(0) -9 >Emitted(7, 59) Source(11, 72) + SourceIndex(0) -10>Emitted(7, 60) Source(11, 73) + SourceIndex(0) -11>Emitted(7, 61) Source(11, 74) + SourceIndex(0) -12>Emitted(7, 70) Source(11, 33) + SourceIndex(0) -13>Emitted(7, 72) Source(11, 16) + SourceIndex(0) -14>Emitted(7, 78) Source(11, 22) + SourceIndex(0) -15>Emitted(7, 97) Source(11, 25) + SourceIndex(0) -16>Emitted(7, 105) Source(11, 33) + SourceIndex(0) -17>Emitted(7, 110) Source(11, 33) + SourceIndex(0) +2 > [nameMB = "noName"]: Robot = +3 > [ +4 > "name" +5 > , +6 > [ +7 > "skill1" +8 > , +9 > "skill2" +10> ] +11> ] +12> +13> +14> nameMB = "noName" +15> +16> nameMB +17> = +18> "noName" +19> +1->Emitted(7, 9) Source(11, 15) + SourceIndex(0) +2 >Emitted(7, 30) Source(11, 44) + SourceIndex(0) +3 >Emitted(7, 31) Source(11, 45) + SourceIndex(0) +4 >Emitted(7, 37) Source(11, 51) + SourceIndex(0) +5 >Emitted(7, 39) Source(11, 53) + SourceIndex(0) +6 >Emitted(7, 40) Source(11, 54) + SourceIndex(0) +7 >Emitted(7, 48) Source(11, 62) + SourceIndex(0) +8 >Emitted(7, 50) Source(11, 64) + SourceIndex(0) +9 >Emitted(7, 58) Source(11, 72) + SourceIndex(0) +10>Emitted(7, 59) Source(11, 73) + SourceIndex(0) +11>Emitted(7, 60) Source(11, 74) + SourceIndex(0) +12>Emitted(7, 65) Source(11, 74) + SourceIndex(0) +13>Emitted(7, 67) Source(11, 16) + SourceIndex(0) +14>Emitted(7, 77) Source(11, 33) + SourceIndex(0) +15>Emitted(7, 79) Source(11, 16) + SourceIndex(0) +16>Emitted(7, 85) Source(11, 22) + SourceIndex(0) +17>Emitted(7, 104) Source(11, 25) + SourceIndex(0) +18>Emitted(7, 112) Source(11, 33) + SourceIndex(0) +19>Emitted(7, 117) Source(11, 33) + SourceIndex(0) --- >>> console.log(nameMB); 1 >^^^^ diff --git a/tests/cases/conformance/es6/destructuring/destructuringEvaluationOrder.ts b/tests/cases/conformance/es6/destructuring/destructuringEvaluationOrder.ts new file mode 100644 index 00000000000..8dbada1f82f --- /dev/null +++ b/tests/cases/conformance/es6/destructuring/destructuringEvaluationOrder.ts @@ -0,0 +1,23 @@ +// @target: es5,es2015 +// @noTypesAndSymbols: true + +// https://github.com/microsoft/TypeScript/issues/39205 +let trace: any[] = []; +let order = (n: any): any => trace.push(n); + +// order(0) should evaluate before order(1) because the first element is undefined +let [{ [order(1)]: x } = order(0)] = []; + +// order(0) should not evaluate because the first element is defined +let [{ [order(1)]: y } = order(0)] = [{}]; + +// order(0) should evaluate first (destructuring of object literal {}) +// order(1) should evaluate next (initializer because property is undefined) +// order(2) should evaluate last (evaluate object binding pattern from initializer) +let { [order(0)]: { [order(2)]: z } = order(1), ...w } = {} as any; + + +// https://github.com/microsoft/TypeScript/issues/39181 + +// b = a must occur *after* 'a' has been assigned +let [{ ...a }, b = a]: any[] = [{ x: 1 }]