typescript 4.4.0-dev.20210806 → 4.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/ko/diagnosticMessages.generated.json +2 -2
- package/lib/lib.dom.d.ts +6 -2
- package/lib/protocol.d.ts +2 -6
- package/lib/tsc.js +15 -12
- package/lib/tsserver.js +103 -41
- package/lib/tsserverlibrary.d.ts +3 -7
- package/lib/tsserverlibrary.js +103 -41
- package/lib/typescript.d.ts +1 -1
- package/lib/typescript.js +101 -33
- package/lib/typescriptServices.d.ts +1 -1
- package/lib/typescriptServices.js +101 -33
- package/lib/typingsInstaller.js +16 -12
- package/package.json +2 -2
|
@@ -21,7 +21,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
21
21
|
ar[i] = from[i];
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
return to.concat(ar || from);
|
|
24
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
25
25
|
};
|
|
26
26
|
var __assign = (this && this.__assign) || function () {
|
|
27
27
|
__assign = Object.assign || function(t) {
|
|
@@ -294,7 +294,7 @@ var ts;
|
|
|
294
294
|
// The following is baselined as a literal template type without intervention
|
|
295
295
|
/** The version of the TypeScript compiler release */
|
|
296
296
|
// eslint-disable-next-line @typescript-eslint/no-inferrable-types
|
|
297
|
-
ts.version =
|
|
297
|
+
ts.version = "4.4.2";
|
|
298
298
|
/* @internal */
|
|
299
299
|
var Comparison;
|
|
300
300
|
(function (Comparison) {
|
|
@@ -8170,7 +8170,7 @@ var ts;
|
|
|
8170
8170
|
Decorators_are_not_valid_here: diag(1206, ts.DiagnosticCategory.Error, "Decorators_are_not_valid_here_1206", "Decorators are not valid here."),
|
|
8171
8171
|
Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name: diag(1207, ts.DiagnosticCategory.Error, "Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207", "Decorators cannot be applied to multiple get/set accessors of the same name."),
|
|
8172
8172
|
_0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_import_export_or_an_empty_export_statement_to_make_it_a_module: diag(1208, ts.DiagnosticCategory.Error, "_0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_imp_1208", "'{0}' cannot be compiled under '--isolatedModules' because it is considered a global script file. Add an import, export, or an empty 'export {}' statement to make it a module."),
|
|
8173
|
-
|
|
8173
|
+
Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode: diag(1210, ts.DiagnosticCategory.Error, "Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of__1210", "Code contained in a class is evaluated in JavaScript's strict mode which does not allow this use of '{0}'. For more information, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode."),
|
|
8174
8174
|
A_class_declaration_without_the_default_modifier_must_have_a_name: diag(1211, ts.DiagnosticCategory.Error, "A_class_declaration_without_the_default_modifier_must_have_a_name_1211", "A class declaration without the 'default' modifier must have a name."),
|
|
8175
8175
|
Identifier_expected_0_is_a_reserved_word_in_strict_mode: diag(1212, ts.DiagnosticCategory.Error, "Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212", "Identifier expected. '{0}' is a reserved word in strict mode."),
|
|
8176
8176
|
Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode: diag(1213, ts.DiagnosticCategory.Error, "Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213", "Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode."),
|
|
@@ -9772,6 +9772,8 @@ var ts;
|
|
|
9772
9772
|
Can_only_convert_named_export: diag(95164, ts.DiagnosticCategory.Message, "Can_only_convert_named_export_95164", "Can only convert named export"),
|
|
9773
9773
|
Add_missing_properties: diag(95165, ts.DiagnosticCategory.Message, "Add_missing_properties_95165", "Add missing properties"),
|
|
9774
9774
|
Add_all_missing_properties: diag(95166, ts.DiagnosticCategory.Message, "Add_all_missing_properties_95166", "Add all missing properties"),
|
|
9775
|
+
Add_missing_attributes: diag(95167, ts.DiagnosticCategory.Message, "Add_missing_attributes_95167", "Add missing attributes"),
|
|
9776
|
+
Add_all_missing_attributes: diag(95168, ts.DiagnosticCategory.Message, "Add_all_missing_attributes_95168", "Add all missing attributes"),
|
|
9775
9777
|
No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer: diag(18004, ts.DiagnosticCategory.Error, "No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer_18004", "No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer."),
|
|
9776
9778
|
Classes_may_not_have_a_field_named_constructor: diag(18006, ts.DiagnosticCategory.Error, "Classes_may_not_have_a_field_named_constructor_18006", "Classes may not have a field named 'constructor'."),
|
|
9777
9779
|
JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array: diag(18007, ts.DiagnosticCategory.Error, "JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array_18007", "JSX expressions may not use the comma operator. Did you mean to write an array?"),
|
|
@@ -20863,6 +20865,11 @@ var ts;
|
|
|
20863
20865
|
return false;
|
|
20864
20866
|
}
|
|
20865
20867
|
ts.hasContextSensitiveParameters = hasContextSensitiveParameters;
|
|
20868
|
+
/* @internal */
|
|
20869
|
+
function isInfinityOrNaNString(name) {
|
|
20870
|
+
return name === "Infinity" || name === "-Infinity" || name === "NaN";
|
|
20871
|
+
}
|
|
20872
|
+
ts.isInfinityOrNaNString = isInfinityOrNaNString;
|
|
20866
20873
|
})(ts || (ts = {}));
|
|
20867
20874
|
/* @internal */
|
|
20868
20875
|
var ts;
|
|
@@ -27420,7 +27427,7 @@ var ts;
|
|
|
27420
27427
|
name: "typescript:spreadArray",
|
|
27421
27428
|
importName: "__spreadArray",
|
|
27422
27429
|
scoped: false,
|
|
27423
|
-
text: "\n var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || from);\n };"
|
|
27430
|
+
text: "\n var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n };"
|
|
27424
27431
|
};
|
|
27425
27432
|
// ES2015 Destructuring Helpers
|
|
27426
27433
|
ts.valuesHelper = {
|
|
@@ -44466,7 +44473,7 @@ var ts;
|
|
|
44466
44473
|
// Provide specialized messages to help the user understand why we think they're in
|
|
44467
44474
|
// strict mode.
|
|
44468
44475
|
if (ts.getContainingClass(node)) {
|
|
44469
|
-
return ts.Diagnostics.
|
|
44476
|
+
return ts.Diagnostics.Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode;
|
|
44470
44477
|
}
|
|
44471
44478
|
if (file.externalModuleIndicator) {
|
|
44472
44479
|
return ts.Diagnostics.Invalid_use_of_0_Modules_are_automatically_in_strict_mode;
|
|
@@ -70060,9 +70067,6 @@ var ts;
|
|
|
70060
70067
|
// but this behavior is consistent with checkIndexedAccess
|
|
70061
70068
|
return isTypeAssignableToKind(checkComputedPropertyName(name), 296 /* NumberLike */);
|
|
70062
70069
|
}
|
|
70063
|
-
function isInfinityOrNaNString(name) {
|
|
70064
|
-
return name === "Infinity" || name === "-Infinity" || name === "NaN";
|
|
70065
|
-
}
|
|
70066
70070
|
function isNumericLiteralName(name) {
|
|
70067
70071
|
// The intent of numeric names is that
|
|
70068
70072
|
// - they are names with text in a numeric form, and that
|
|
@@ -80354,8 +80358,8 @@ var ts;
|
|
|
80354
80358
|
error(member, ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1, baseClassName, symbolToString(suggestion)) :
|
|
80355
80359
|
error(member, ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0, baseClassName);
|
|
80356
80360
|
}
|
|
80357
|
-
else if (prop && (baseProp === null || baseProp === void 0 ? void 0 : baseProp.
|
|
80358
|
-
var baseHasAbstract = ts.
|
|
80361
|
+
else if (prop && (baseProp === null || baseProp === void 0 ? void 0 : baseProp.declarations) && compilerOptions.noImplicitOverride && !nodeInAmbientContext) {
|
|
80362
|
+
var baseHasAbstract = ts.some(baseProp.declarations, function (d) { return ts.hasAbstractModifier(d); });
|
|
80359
80363
|
if (hasOverride) {
|
|
80360
80364
|
return;
|
|
80361
80365
|
}
|
|
@@ -80735,7 +80739,7 @@ var ts;
|
|
|
80735
80739
|
}
|
|
80736
80740
|
else {
|
|
80737
80741
|
var text = ts.getTextOfPropertyName(member.name);
|
|
80738
|
-
if (isNumericLiteralName(text) && !isInfinityOrNaNString(text)) {
|
|
80742
|
+
if (isNumericLiteralName(text) && !ts.isInfinityOrNaNString(text)) {
|
|
80739
80743
|
error(member.name, ts.Diagnostics.An_enum_member_cannot_have_a_numeric_name);
|
|
80740
80744
|
}
|
|
80741
80745
|
}
|
|
@@ -80835,7 +80839,7 @@ var ts;
|
|
|
80835
80839
|
return evaluate(expr.expression);
|
|
80836
80840
|
case 79 /* Identifier */:
|
|
80837
80841
|
var identifier = expr;
|
|
80838
|
-
if (isInfinityOrNaNString(identifier.escapedText)) {
|
|
80842
|
+
if (ts.isInfinityOrNaNString(identifier.escapedText)) {
|
|
80839
80843
|
return +(identifier.escapedText);
|
|
80840
80844
|
}
|
|
80841
80845
|
return ts.nodeIsMissing(expr) ? 0 : evaluateEnumMember(expr, getSymbolOfNode(member.parent), identifier.escapedText);
|
|
@@ -121729,7 +121733,7 @@ var ts;
|
|
|
121729
121733
|
if (ts.isClassDeclaration(node)) {
|
|
121730
121734
|
// for class and function declarations, use the `default` modifier
|
|
121731
121735
|
// when the declaration is unnamed.
|
|
121732
|
-
var defaultModifier = ts.find(node.modifiers, isDefaultModifier);
|
|
121736
|
+
var defaultModifier = node.modifiers && ts.find(node.modifiers, isDefaultModifier);
|
|
121733
121737
|
if (defaultModifier)
|
|
121734
121738
|
return defaultModifier;
|
|
121735
121739
|
}
|
|
@@ -125487,7 +125491,7 @@ var ts;
|
|
|
125487
125491
|
if (ts.isJsxExpression(node)) {
|
|
125488
125492
|
inJSXElement = false;
|
|
125489
125493
|
}
|
|
125490
|
-
if (ts.isIdentifier(node) && !inJSXElement && !inImportClause(node) && !isInfinityOrNaNString(node.escapedText)) {
|
|
125494
|
+
if (ts.isIdentifier(node) && !inJSXElement && !inImportClause(node) && !ts.isInfinityOrNaNString(node.escapedText)) {
|
|
125491
125495
|
var symbol = typeChecker.getSymbolAtLocation(node);
|
|
125492
125496
|
if (symbol) {
|
|
125493
125497
|
if (symbol.flags & 2097152 /* Alias */) {
|
|
@@ -125619,9 +125623,6 @@ var ts;
|
|
|
125619
125623
|
function isRightSideOfQualifiedNameOrPropertyAccess(node) {
|
|
125620
125624
|
return (ts.isQualifiedName(node.parent) && node.parent.right === node) || (ts.isPropertyAccessExpression(node.parent) && node.parent.name === node);
|
|
125621
125625
|
}
|
|
125622
|
-
function isInfinityOrNaNString(name) {
|
|
125623
|
-
return name === "Infinity" || name === "NaN";
|
|
125624
|
-
}
|
|
125625
125626
|
var tokenFromDeclarationMapping = new ts.Map([
|
|
125626
125627
|
[252 /* VariableDeclaration */, 7 /* variable */],
|
|
125627
125628
|
[162 /* Parameter */, 6 /* parameter */],
|
|
@@ -137684,7 +137685,7 @@ var ts;
|
|
|
137684
137685
|
for (var i = 0; i < args.length; ++i) {
|
|
137685
137686
|
var originalArg = args[i];
|
|
137686
137687
|
var arg = ts.skipParentheses(originalArg);
|
|
137687
|
-
if (shouldShowLiteralParameterNameHintsOnly(preferences) && !
|
|
137688
|
+
if (shouldShowLiteralParameterNameHintsOnly(preferences) && !isHintableLiteral(arg)) {
|
|
137688
137689
|
continue;
|
|
137689
137690
|
}
|
|
137690
137691
|
var identifierNameInfo = checker.getParameterIdentifierNameAtPosition(signature, i);
|
|
@@ -137722,8 +137723,22 @@ var ts;
|
|
|
137722
137723
|
var regex = leadingParameterNameCommentRegexFactory(name);
|
|
137723
137724
|
return ts.some(ranges, function (range) { return regex.test(sourceFileText.substring(range.pos, range.end)); });
|
|
137724
137725
|
}
|
|
137725
|
-
function
|
|
137726
|
-
|
|
137726
|
+
function isHintableLiteral(node) {
|
|
137727
|
+
switch (node.kind) {
|
|
137728
|
+
case 217 /* PrefixUnaryExpression */: {
|
|
137729
|
+
var operand = node.operand;
|
|
137730
|
+
return ts.isLiteralExpression(operand) || ts.isIdentifier(operand) && ts.isInfinityOrNaNString(operand.escapedText);
|
|
137731
|
+
}
|
|
137732
|
+
case 110 /* TrueKeyword */:
|
|
137733
|
+
case 95 /* FalseKeyword */:
|
|
137734
|
+
case 104 /* NullKeyword */:
|
|
137735
|
+
return true;
|
|
137736
|
+
case 79 /* Identifier */: {
|
|
137737
|
+
var name = node.escapedText;
|
|
137738
|
+
return isUndefined(name) || ts.isInfinityOrNaNString(name);
|
|
137739
|
+
}
|
|
137740
|
+
}
|
|
137741
|
+
return ts.isLiteralExpression(node);
|
|
137727
137742
|
}
|
|
137728
137743
|
function visitFunctionDeclarationLikeForReturnType(decl) {
|
|
137729
137744
|
if (ts.isArrowFunction(decl)) {
|
|
@@ -137801,6 +137816,9 @@ var ts;
|
|
|
137801
137816
|
printer.writeNode(4 /* Unspecified */, typeNode, /*sourceFile*/ file, writer);
|
|
137802
137817
|
});
|
|
137803
137818
|
}
|
|
137819
|
+
function isUndefined(name) {
|
|
137820
|
+
return name === "undefined";
|
|
137821
|
+
}
|
|
137804
137822
|
}
|
|
137805
137823
|
InlayHints.provideInlayHints = provideInlayHints;
|
|
137806
137824
|
})(InlayHints = ts.InlayHints || (ts.InlayHints = {}));
|
|
@@ -147056,6 +147074,7 @@ var ts;
|
|
|
147056
147074
|
(function (codefix) {
|
|
147057
147075
|
var fixMissingMember = "fixMissingMember";
|
|
147058
147076
|
var fixMissingProperties = "fixMissingProperties";
|
|
147077
|
+
var fixMissingAttributes = "fixMissingAttributes";
|
|
147059
147078
|
var fixMissingFunctionDeclaration = "fixMissingFunctionDeclaration";
|
|
147060
147079
|
var errorCodes = [
|
|
147061
147080
|
ts.Diagnostics.Property_0_does_not_exist_on_type_1.code,
|
|
@@ -147077,6 +147096,10 @@ var ts;
|
|
|
147077
147096
|
var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return addObjectLiteralProperties(t, context, info); });
|
|
147078
147097
|
return [codefix.createCodeFixAction(fixMissingProperties, changes, ts.Diagnostics.Add_missing_properties, fixMissingProperties, ts.Diagnostics.Add_all_missing_properties)];
|
|
147079
147098
|
}
|
|
147099
|
+
if (info.kind === 4 /* JsxAttributes */) {
|
|
147100
|
+
var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return addJsxAttributes(t, context, info); });
|
|
147101
|
+
return [codefix.createCodeFixAction(fixMissingAttributes, changes, ts.Diagnostics.Add_missing_attributes, fixMissingAttributes, ts.Diagnostics.Add_all_missing_attributes)];
|
|
147102
|
+
}
|
|
147080
147103
|
if (info.kind === 2 /* Function */) {
|
|
147081
147104
|
var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return addFunctionDeclaration(t, context, info); });
|
|
147082
147105
|
return [codefix.createCodeFixAction(fixMissingFunctionDeclaration, changes, [ts.Diagnostics.Add_missing_function_declaration_0, info.token.text], fixMissingFunctionDeclaration, ts.Diagnostics.Add_all_missing_function_declarations)];
|
|
@@ -147087,7 +147110,7 @@ var ts;
|
|
|
147087
147110
|
}
|
|
147088
147111
|
return ts.concatenate(getActionsForMissingMethodDeclaration(context, info), getActionsForMissingMemberDeclaration(context, info));
|
|
147089
147112
|
},
|
|
147090
|
-
fixIds: [fixMissingMember, fixMissingFunctionDeclaration, fixMissingProperties],
|
|
147113
|
+
fixIds: [fixMissingMember, fixMissingFunctionDeclaration, fixMissingProperties, fixMissingAttributes],
|
|
147091
147114
|
getAllCodeActions: function (context) {
|
|
147092
147115
|
var program = context.program, fixId = context.fixId;
|
|
147093
147116
|
var checker = program.getTypeChecker();
|
|
@@ -147099,15 +147122,14 @@ var ts;
|
|
|
147099
147122
|
if (!info || !ts.addToSeen(seen, ts.getNodeId(info.parentDeclaration) + "#" + info.token.text)) {
|
|
147100
147123
|
return;
|
|
147101
147124
|
}
|
|
147102
|
-
if (fixId === fixMissingFunctionDeclaration) {
|
|
147103
|
-
|
|
147104
|
-
addFunctionDeclaration(changes, context, info);
|
|
147105
|
-
}
|
|
147125
|
+
if (fixId === fixMissingFunctionDeclaration && info.kind === 2 /* Function */) {
|
|
147126
|
+
addFunctionDeclaration(changes, context, info);
|
|
147106
147127
|
}
|
|
147107
|
-
else if (fixId === fixMissingProperties) {
|
|
147108
|
-
|
|
147109
|
-
|
|
147110
|
-
|
|
147128
|
+
else if (fixId === fixMissingProperties && info.kind === 3 /* ObjectLiteral */) {
|
|
147129
|
+
addObjectLiteralProperties(changes, context, info);
|
|
147130
|
+
}
|
|
147131
|
+
else if (fixId === fixMissingAttributes && info.kind === 4 /* JsxAttributes */) {
|
|
147132
|
+
addJsxAttributes(changes, context, info);
|
|
147111
147133
|
}
|
|
147112
147134
|
else {
|
|
147113
147135
|
if (info.kind === 0 /* Enum */) {
|
|
@@ -147163,6 +147185,7 @@ var ts;
|
|
|
147163
147185
|
InfoKind[InfoKind["ClassOrInterface"] = 1] = "ClassOrInterface";
|
|
147164
147186
|
InfoKind[InfoKind["Function"] = 2] = "Function";
|
|
147165
147187
|
InfoKind[InfoKind["ObjectLiteral"] = 3] = "ObjectLiteral";
|
|
147188
|
+
InfoKind[InfoKind["JsxAttributes"] = 4] = "JsxAttributes";
|
|
147166
147189
|
})(InfoKind || (InfoKind = {}));
|
|
147167
147190
|
function getInfo(sourceFile, tokenPos, checker, program) {
|
|
147168
147191
|
// The identifier of the missing property. eg:
|
|
@@ -147179,6 +147202,12 @@ var ts;
|
|
|
147179
147202
|
return { kind: 3 /* ObjectLiteral */, token: token, properties: properties, parentDeclaration: parent.initializer };
|
|
147180
147203
|
}
|
|
147181
147204
|
}
|
|
147205
|
+
if (ts.isIdentifier(token) && ts.isJsxOpeningLikeElement(token.parent)) {
|
|
147206
|
+
var attributes = getUnmatchedAttributes(checker, token.parent);
|
|
147207
|
+
if (ts.length(attributes)) {
|
|
147208
|
+
return { kind: 4 /* JsxAttributes */, token: token, attributes: attributes, parentDeclaration: token.parent };
|
|
147209
|
+
}
|
|
147210
|
+
}
|
|
147182
147211
|
if (ts.isIdentifier(token) && ts.isCallExpression(parent)) {
|
|
147183
147212
|
return { kind: 2 /* Function */, token: token, call: parent, sourceFile: sourceFile, modifierFlags: 0 /* None */, parentDeclaration: sourceFile };
|
|
147184
147213
|
}
|
|
@@ -147407,17 +147436,31 @@ var ts;
|
|
|
147407
147436
|
var functionDeclaration = codefix.createSignatureDeclarationFromCallExpression(254 /* FunctionDeclaration */, context, importAdder, info.call, ts.idText(info.token), info.modifierFlags, info.parentDeclaration);
|
|
147408
147437
|
changes.insertNodeAtEndOfScope(info.sourceFile, info.parentDeclaration, functionDeclaration);
|
|
147409
147438
|
}
|
|
147439
|
+
function addJsxAttributes(changes, context, info) {
|
|
147440
|
+
var importAdder = codefix.createImportAdder(context.sourceFile, context.program, context.preferences, context.host);
|
|
147441
|
+
var quotePreference = ts.getQuotePreference(context.sourceFile, context.preferences);
|
|
147442
|
+
var checker = context.program.getTypeChecker();
|
|
147443
|
+
var jsxAttributesNode = info.parentDeclaration.attributes;
|
|
147444
|
+
var hasSpreadAttribute = ts.some(jsxAttributesNode.properties, ts.isJsxSpreadAttribute);
|
|
147445
|
+
var attrs = ts.map(info.attributes, function (attr) {
|
|
147446
|
+
var value = attr.valueDeclaration ? tryGetValueFromType(context, checker, importAdder, quotePreference, checker.getTypeAtLocation(attr.valueDeclaration)) : createUndefined();
|
|
147447
|
+
return ts.factory.createJsxAttribute(ts.factory.createIdentifier(attr.name), ts.factory.createJsxExpression(/*dotDotDotToken*/ undefined, value));
|
|
147448
|
+
});
|
|
147449
|
+
var jsxAttributes = ts.factory.createJsxAttributes(hasSpreadAttribute ? __spreadArray(__spreadArray([], attrs, true), jsxAttributesNode.properties, true) : __spreadArray(__spreadArray([], jsxAttributesNode.properties, true), attrs, true));
|
|
147450
|
+
var options = { prefix: jsxAttributesNode.pos === jsxAttributesNode.end ? " " : undefined };
|
|
147451
|
+
changes.replaceNode(context.sourceFile, jsxAttributesNode, jsxAttributes, options);
|
|
147452
|
+
}
|
|
147410
147453
|
function addObjectLiteralProperties(changes, context, info) {
|
|
147411
147454
|
var importAdder = codefix.createImportAdder(context.sourceFile, context.program, context.preferences, context.host);
|
|
147412
147455
|
var quotePreference = ts.getQuotePreference(context.sourceFile, context.preferences);
|
|
147413
147456
|
var checker = context.program.getTypeChecker();
|
|
147414
147457
|
var props = ts.map(info.properties, function (prop) {
|
|
147415
|
-
var initializer = prop.valueDeclaration ?
|
|
147458
|
+
var initializer = prop.valueDeclaration ? tryGetValueFromType(context, checker, importAdder, quotePreference, checker.getTypeAtLocation(prop.valueDeclaration)) : createUndefined();
|
|
147416
147459
|
return ts.factory.createPropertyAssignment(prop.name, initializer);
|
|
147417
147460
|
});
|
|
147418
147461
|
changes.replaceNode(context.sourceFile, info.parentDeclaration, ts.factory.createObjectLiteralExpression(__spreadArray(__spreadArray([], info.parentDeclaration.properties, true), props, true), /*multiLine*/ true));
|
|
147419
147462
|
}
|
|
147420
|
-
function
|
|
147463
|
+
function tryGetValueFromType(context, checker, importAdder, quotePreference, type) {
|
|
147421
147464
|
if (type.flags & 3 /* AnyOrUnknown */) {
|
|
147422
147465
|
return createUndefined();
|
|
147423
147466
|
}
|
|
@@ -147454,7 +147497,7 @@ var ts;
|
|
|
147454
147497
|
return ts.factory.createNull();
|
|
147455
147498
|
}
|
|
147456
147499
|
if (type.flags & 1048576 /* Union */) {
|
|
147457
|
-
var expression = ts.firstDefined(type.types, function (t) { return
|
|
147500
|
+
var expression = ts.firstDefined(type.types, function (t) { return tryGetValueFromType(context, checker, importAdder, quotePreference, t); });
|
|
147458
147501
|
return expression !== null && expression !== void 0 ? expression : createUndefined();
|
|
147459
147502
|
}
|
|
147460
147503
|
if (checker.isArrayLikeType(type)) {
|
|
@@ -147462,7 +147505,7 @@ var ts;
|
|
|
147462
147505
|
}
|
|
147463
147506
|
if (isObjectLiteralType(type)) {
|
|
147464
147507
|
var props = ts.map(checker.getPropertiesOfType(type), function (prop) {
|
|
147465
|
-
var initializer = prop.valueDeclaration ?
|
|
147508
|
+
var initializer = prop.valueDeclaration ? tryGetValueFromType(context, checker, importAdder, quotePreference, checker.getTypeAtLocation(prop.valueDeclaration)) : createUndefined();
|
|
147466
147509
|
return ts.factory.createPropertyAssignment(prop.name, initializer);
|
|
147467
147510
|
});
|
|
147468
147511
|
return ts.factory.createObjectLiteralExpression(props, /*multiLine*/ true);
|
|
@@ -147495,6 +147538,31 @@ var ts;
|
|
|
147495
147538
|
return (type.flags & 524288 /* Object */) &&
|
|
147496
147539
|
((ts.getObjectFlags(type) & 128 /* ObjectLiteral */) || (type.symbol && ts.tryCast(ts.singleOrUndefined(type.symbol.declarations), ts.isTypeLiteralNode)));
|
|
147497
147540
|
}
|
|
147541
|
+
function getUnmatchedAttributes(checker, source) {
|
|
147542
|
+
var attrsType = checker.getContextualType(source.attributes);
|
|
147543
|
+
if (attrsType === undefined)
|
|
147544
|
+
return ts.emptyArray;
|
|
147545
|
+
var targetProps = attrsType.getProperties();
|
|
147546
|
+
if (!ts.length(targetProps))
|
|
147547
|
+
return ts.emptyArray;
|
|
147548
|
+
var seenNames = new ts.Set();
|
|
147549
|
+
for (var _i = 0, _a = source.attributes.properties; _i < _a.length; _i++) {
|
|
147550
|
+
var sourceProp = _a[_i];
|
|
147551
|
+
if (ts.isJsxAttribute(sourceProp)) {
|
|
147552
|
+
seenNames.add(sourceProp.name.escapedText);
|
|
147553
|
+
}
|
|
147554
|
+
if (ts.isJsxSpreadAttribute(sourceProp)) {
|
|
147555
|
+
var type = checker.getTypeAtLocation(sourceProp.expression);
|
|
147556
|
+
for (var _b = 0, _c = type.getProperties(); _b < _c.length; _b++) {
|
|
147557
|
+
var prop = _c[_b];
|
|
147558
|
+
seenNames.add(prop.escapedName);
|
|
147559
|
+
}
|
|
147560
|
+
}
|
|
147561
|
+
}
|
|
147562
|
+
return ts.filter(targetProps, function (targetProp) {
|
|
147563
|
+
return !((targetProp.flags & 16777216 /* Optional */ || ts.getCheckFlags(targetProp) & 48 /* Partial */) || seenNames.has(targetProp.escapedName));
|
|
147564
|
+
});
|
|
147565
|
+
}
|
|
147498
147566
|
})(codefix = ts.codefix || (ts.codefix = {}));
|
|
147499
147567
|
})(ts || (ts = {}));
|
|
147500
147568
|
/* @internal */
|
package/lib/typingsInstaller.js
CHANGED
|
@@ -22,7 +22,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
22
22
|
ar[i] = from[i];
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
return to.concat(ar || from);
|
|
25
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
26
26
|
};
|
|
27
27
|
var __assign = (this && this.__assign) || function () {
|
|
28
28
|
__assign = Object.assign || function(t) {
|
|
@@ -89,7 +89,7 @@ var ts;
|
|
|
89
89
|
// The following is baselined as a literal template type without intervention
|
|
90
90
|
/** The version of the TypeScript compiler release */
|
|
91
91
|
// eslint-disable-next-line @typescript-eslint/no-inferrable-types
|
|
92
|
-
ts.version =
|
|
92
|
+
ts.version = "4.4.2";
|
|
93
93
|
/* @internal */
|
|
94
94
|
var Comparison;
|
|
95
95
|
(function (Comparison) {
|
|
@@ -7965,7 +7965,7 @@ var ts;
|
|
|
7965
7965
|
Decorators_are_not_valid_here: diag(1206, ts.DiagnosticCategory.Error, "Decorators_are_not_valid_here_1206", "Decorators are not valid here."),
|
|
7966
7966
|
Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name: diag(1207, ts.DiagnosticCategory.Error, "Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207", "Decorators cannot be applied to multiple get/set accessors of the same name."),
|
|
7967
7967
|
_0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_import_export_or_an_empty_export_statement_to_make_it_a_module: diag(1208, ts.DiagnosticCategory.Error, "_0_cannot_be_compiled_under_isolatedModules_because_it_is_considered_a_global_script_file_Add_an_imp_1208", "'{0}' cannot be compiled under '--isolatedModules' because it is considered a global script file. Add an import, export, or an empty 'export {}' statement to make it a module."),
|
|
7968
|
-
|
|
7968
|
+
Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode: diag(1210, ts.DiagnosticCategory.Error, "Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of__1210", "Code contained in a class is evaluated in JavaScript's strict mode which does not allow this use of '{0}'. For more information, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode."),
|
|
7969
7969
|
A_class_declaration_without_the_default_modifier_must_have_a_name: diag(1211, ts.DiagnosticCategory.Error, "A_class_declaration_without_the_default_modifier_must_have_a_name_1211", "A class declaration without the 'default' modifier must have a name."),
|
|
7970
7970
|
Identifier_expected_0_is_a_reserved_word_in_strict_mode: diag(1212, ts.DiagnosticCategory.Error, "Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212", "Identifier expected. '{0}' is a reserved word in strict mode."),
|
|
7971
7971
|
Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode: diag(1213, ts.DiagnosticCategory.Error, "Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213", "Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode."),
|
|
@@ -9567,6 +9567,8 @@ var ts;
|
|
|
9567
9567
|
Can_only_convert_named_export: diag(95164, ts.DiagnosticCategory.Message, "Can_only_convert_named_export_95164", "Can only convert named export"),
|
|
9568
9568
|
Add_missing_properties: diag(95165, ts.DiagnosticCategory.Message, "Add_missing_properties_95165", "Add missing properties"),
|
|
9569
9569
|
Add_all_missing_properties: diag(95166, ts.DiagnosticCategory.Message, "Add_all_missing_properties_95166", "Add all missing properties"),
|
|
9570
|
+
Add_missing_attributes: diag(95167, ts.DiagnosticCategory.Message, "Add_missing_attributes_95167", "Add missing attributes"),
|
|
9571
|
+
Add_all_missing_attributes: diag(95168, ts.DiagnosticCategory.Message, "Add_all_missing_attributes_95168", "Add all missing attributes"),
|
|
9570
9572
|
No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer: diag(18004, ts.DiagnosticCategory.Error, "No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer_18004", "No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer."),
|
|
9571
9573
|
Classes_may_not_have_a_field_named_constructor: diag(18006, ts.DiagnosticCategory.Error, "Classes_may_not_have_a_field_named_constructor_18006", "Classes may not have a field named 'constructor'."),
|
|
9572
9574
|
JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array: diag(18007, ts.DiagnosticCategory.Error, "JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array_18007", "JSX expressions may not use the comma operator. Did you mean to write an array?"),
|
|
@@ -20658,6 +20660,11 @@ var ts;
|
|
|
20658
20660
|
return false;
|
|
20659
20661
|
}
|
|
20660
20662
|
ts.hasContextSensitiveParameters = hasContextSensitiveParameters;
|
|
20663
|
+
/* @internal */
|
|
20664
|
+
function isInfinityOrNaNString(name) {
|
|
20665
|
+
return name === "Infinity" || name === "-Infinity" || name === "NaN";
|
|
20666
|
+
}
|
|
20667
|
+
ts.isInfinityOrNaNString = isInfinityOrNaNString;
|
|
20661
20668
|
})(ts || (ts = {}));
|
|
20662
20669
|
/* @internal */
|
|
20663
20670
|
var ts;
|
|
@@ -27215,7 +27222,7 @@ var ts;
|
|
|
27215
27222
|
name: "typescript:spreadArray",
|
|
27216
27223
|
importName: "__spreadArray",
|
|
27217
27224
|
scoped: false,
|
|
27218
|
-
text: "\n var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || from);\n };"
|
|
27225
|
+
text: "\n var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n };"
|
|
27219
27226
|
};
|
|
27220
27227
|
// ES2015 Destructuring Helpers
|
|
27221
27228
|
ts.valuesHelper = {
|
|
@@ -44261,7 +44268,7 @@ var ts;
|
|
|
44261
44268
|
// Provide specialized messages to help the user understand why we think they're in
|
|
44262
44269
|
// strict mode.
|
|
44263
44270
|
if (ts.getContainingClass(node)) {
|
|
44264
|
-
return ts.Diagnostics.
|
|
44271
|
+
return ts.Diagnostics.Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode;
|
|
44265
44272
|
}
|
|
44266
44273
|
if (file.externalModuleIndicator) {
|
|
44267
44274
|
return ts.Diagnostics.Invalid_use_of_0_Modules_are_automatically_in_strict_mode;
|
|
@@ -69855,9 +69862,6 @@ var ts;
|
|
|
69855
69862
|
// but this behavior is consistent with checkIndexedAccess
|
|
69856
69863
|
return isTypeAssignableToKind(checkComputedPropertyName(name), 296 /* NumberLike */);
|
|
69857
69864
|
}
|
|
69858
|
-
function isInfinityOrNaNString(name) {
|
|
69859
|
-
return name === "Infinity" || name === "-Infinity" || name === "NaN";
|
|
69860
|
-
}
|
|
69861
69865
|
function isNumericLiteralName(name) {
|
|
69862
69866
|
// The intent of numeric names is that
|
|
69863
69867
|
// - they are names with text in a numeric form, and that
|
|
@@ -80149,8 +80153,8 @@ var ts;
|
|
|
80149
80153
|
error(member, ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1, baseClassName, symbolToString(suggestion)) :
|
|
80150
80154
|
error(member, ts.Diagnostics.This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0, baseClassName);
|
|
80151
80155
|
}
|
|
80152
|
-
else if (prop && (baseProp === null || baseProp === void 0 ? void 0 : baseProp.
|
|
80153
|
-
var baseHasAbstract = ts.
|
|
80156
|
+
else if (prop && (baseProp === null || baseProp === void 0 ? void 0 : baseProp.declarations) && compilerOptions.noImplicitOverride && !nodeInAmbientContext) {
|
|
80157
|
+
var baseHasAbstract = ts.some(baseProp.declarations, function (d) { return ts.hasAbstractModifier(d); });
|
|
80154
80158
|
if (hasOverride) {
|
|
80155
80159
|
return;
|
|
80156
80160
|
}
|
|
@@ -80530,7 +80534,7 @@ var ts;
|
|
|
80530
80534
|
}
|
|
80531
80535
|
else {
|
|
80532
80536
|
var text = ts.getTextOfPropertyName(member.name);
|
|
80533
|
-
if (isNumericLiteralName(text) && !isInfinityOrNaNString(text)) {
|
|
80537
|
+
if (isNumericLiteralName(text) && !ts.isInfinityOrNaNString(text)) {
|
|
80534
80538
|
error(member.name, ts.Diagnostics.An_enum_member_cannot_have_a_numeric_name);
|
|
80535
80539
|
}
|
|
80536
80540
|
}
|
|
@@ -80630,7 +80634,7 @@ var ts;
|
|
|
80630
80634
|
return evaluate(expr.expression);
|
|
80631
80635
|
case 79 /* Identifier */:
|
|
80632
80636
|
var identifier = expr;
|
|
80633
|
-
if (isInfinityOrNaNString(identifier.escapedText)) {
|
|
80637
|
+
if (ts.isInfinityOrNaNString(identifier.escapedText)) {
|
|
80634
80638
|
return +(identifier.escapedText);
|
|
80635
80639
|
}
|
|
80636
80640
|
return ts.nodeIsMissing(expr) ? 0 : evaluateEnumMember(expr, getSymbolOfNode(member.parent), identifier.escapedText);
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "typescript",
|
|
3
3
|
"author": "Microsoft Corp.",
|
|
4
4
|
"homepage": "https://www.typescriptlang.org/",
|
|
5
|
-
"version": "4.4.
|
|
5
|
+
"version": "4.4.2",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"description": "TypeScript is a language for application scale JavaScript development",
|
|
8
8
|
"keywords": [
|
|
@@ -130,4 +130,4 @@
|
|
|
130
130
|
"volta": {
|
|
131
131
|
"node": "14.15.5"
|
|
132
132
|
}
|
|
133
|
-
}
|
|
133
|
+
}
|