@@ -2442,6 +2442,7 @@ var ts;
24422442 Specifies_module_resolution_strategy_Colon_node_Node_or_classic_TypeScript_pre_1_6: { code: 6069, category: ts.DiagnosticCategory.Message, key: "Specifies module resolution strategy: 'node' (Node) or 'classic' (TypeScript pre 1.6) ." },
24432443 Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file: { code: 6070, category: ts.DiagnosticCategory.Message, key: "Initializes a TypeScript project and creates a tsconfig.json file." },
24442444 Successfully_created_a_tsconfig_json_file: { code: 6071, category: ts.DiagnosticCategory.Message, key: "Successfully created a tsconfig.json file." },
2445+ Suppress_excess_property_checks_for_object_literals: { code: 6072, category: ts.DiagnosticCategory.Message, key: "Suppress excess property checks for object literals." },
24452446 Variable_0_implicitly_has_an_1_type: { code: 7005, category: ts.DiagnosticCategory.Error, key: "Variable '{0}' implicitly has an '{1}' type." },
24462447 Parameter_0_implicitly_has_an_1_type: { code: 7006, category: ts.DiagnosticCategory.Error, key: "Parameter '{0}' implicitly has an '{1}' type." },
24472448 Member_0_implicitly_has_an_1_type: { code: 7008, category: ts.DiagnosticCategory.Error, key: "Member '{0}' implicitly has an '{1}' type." },
@@ -15702,7 +15703,7 @@ var ts;
1570215703 return members;
1570315704 }
1570415705 function resolveTupleTypeMembers(type) {
15705- var arrayType = resolveStructuredTypeMembers(createArrayType(getUnionType(type.elementTypes)));
15706+ var arrayType = resolveStructuredTypeMembers(createArrayType(getUnionType(type.elementTypes, /*noDeduplication*/ true )));
1570615707 var members = createTupleTypeMemberSymbols(type.elementTypes);
1570715708 addInheritedMembers(members, arrayType.properties);
1570815709 setObjectTypeMembers(type, members, arrayType.callSignatures, arrayType.constructSignatures, arrayType.stringIndexType, arrayType.numberIndexType);
@@ -19438,7 +19439,7 @@ var ts;
1943819439 var propertiesTable = {};
1943919440 var propertiesArray = [];
1944019441 var contextualType = getContextualType(node);
19441- var typeFlags;
19442+ var typeFlags = 0 ;
1944219443 for (var _i = 0, _a = node.properties; _i < _a.length; _i++) {
1944319444 var memberDecl = _a[_i];
1944419445 var member = memberDecl.symbol;
@@ -19484,7 +19485,8 @@ var ts;
1948419485 var stringIndexType = getIndexType(0 /* String */);
1948519486 var numberIndexType = getIndexType(1 /* Number */);
1948619487 var result = createAnonymousType(node.symbol, propertiesTable, emptyArray, emptyArray, stringIndexType, numberIndexType);
19487- result.flags |= 524288 /* ObjectLiteral */ | 1048576 /* FreshObjectLiteral */ | 4194304 /* ContainsObjectLiteral */ | (typeFlags & 14680064 /* PropagatingFlags */);
19488+ var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 1048576 /* FreshObjectLiteral */;
19489+ result.flags |= 524288 /* ObjectLiteral */ | 4194304 /* ContainsObjectLiteral */ | freshObjectLiteralFlag | (typeFlags & 14680064 /* PropagatingFlags */);
1948819490 return result;
1948919491 function getIndexType(kind) {
1949019492 if (contextualType && contextualTypeHasIndexSignature(contextualType, kind)) {
@@ -24248,6 +24250,7 @@ var ts;
2424824250 if (baseTypes.length && produceDiagnostics) {
2424924251 var baseType = baseTypes[0];
2425024252 var staticBaseType = getBaseConstructorTypeOfClass(type);
24253+ checkSourceElement(baseTypeNode.expression);
2425124254 if (baseTypeNode.typeArguments) {
2425224255 ts.forEach(baseTypeNode.typeArguments, checkSourceElement);
2425324256 for (var _i = 0, _a = getConstructorsForTypeArguments(staticBaseType, baseTypeNode.typeArguments); _i < _a.length; _i++) {
@@ -25227,6 +25230,8 @@ var ts;
2522725230 case 209 /* VariableDeclaration */:
2522825231 case 210 /* VariableDeclarationList */:
2522925232 case 212 /* ClassDeclaration */:
25233+ case 241 /* HeritageClause */:
25234+ case 186 /* ExpressionWithTypeArguments */:
2523025235 case 215 /* EnumDeclaration */:
2523125236 case 245 /* EnumMember */:
2523225237 case 225 /* ExportAssignment */:
@@ -36231,6 +36236,12 @@ var ts;
3623136236 description: ts.Diagnostics.Specifies_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations,
3623236237 paramType: ts.Diagnostics.LOCATION
3623336238 },
36239+ {
36240+ name: "suppressExcessPropertyErrors",
36241+ type: "boolean",
36242+ description: ts.Diagnostics.Suppress_excess_property_checks_for_object_literals,
36243+ experimental: true
36244+ },
3623436245 {
3623536246 name: "suppressImplicitAnyIndexErrors",
3623636247 type: "boolean",
0 commit comments