typescript 4.6.0-dev.20211202 → 4.6.0-dev.20211206
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/tsc.js +51 -35
- package/lib/tsserver.js +106 -50
- package/lib/tsserverlibrary.d.ts +2 -0
- package/lib/tsserverlibrary.js +106 -50
- package/lib/typescript.d.ts +2 -0
- package/lib/typescript.js +104 -48
- package/lib/typescriptServices.d.ts +2 -0
- package/lib/typescriptServices.js +104 -48
- package/lib/typingsInstaller.js +59 -40
- package/package.json +2 -2
package/lib/typingsInstaller.js
CHANGED
|
@@ -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 = ts.versionMajorMinor + ".0-dev.
|
|
92
|
+
ts.version = ts.versionMajorMinor + ".0-dev.20211206";
|
|
93
93
|
/* @internal */
|
|
94
94
|
var Comparison;
|
|
95
95
|
(function (Comparison) {
|
|
@@ -832,7 +832,11 @@ var ts;
|
|
|
832
832
|
}
|
|
833
833
|
return deduplicated;
|
|
834
834
|
}
|
|
835
|
-
function
|
|
835
|
+
function createSortedArray() {
|
|
836
|
+
return []; // TODO: GH#19873
|
|
837
|
+
}
|
|
838
|
+
ts.createSortedArray = createSortedArray;
|
|
839
|
+
function insertSorted(array, insert, compare, allowDuplicates) {
|
|
836
840
|
if (array.length === 0) {
|
|
837
841
|
array.push(insert);
|
|
838
842
|
return;
|
|
@@ -841,6 +845,9 @@ var ts;
|
|
|
841
845
|
if (insertIndex < 0) {
|
|
842
846
|
array.splice(~insertIndex, 0, insert);
|
|
843
847
|
}
|
|
848
|
+
else if (allowDuplicates) {
|
|
849
|
+
array.splice(insertIndex, 0, insert);
|
|
850
|
+
}
|
|
844
851
|
}
|
|
845
852
|
ts.insertSorted = insertSorted;
|
|
846
853
|
function sortAndDeduplicate(array, comparer, equalityComparer) {
|
|
@@ -8206,6 +8213,7 @@ var ts;
|
|
|
8206
8213
|
Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity: diag(2308, ts.DiagnosticCategory.Error, "Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308", "Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity."),
|
|
8207
8214
|
An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements: diag(2309, ts.DiagnosticCategory.Error, "An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309", "An export assignment cannot be used in a module with other exported elements."),
|
|
8208
8215
|
Type_0_recursively_references_itself_as_a_base_type: diag(2310, ts.DiagnosticCategory.Error, "Type_0_recursively_references_itself_as_a_base_type_2310", "Type '{0}' recursively references itself as a base type."),
|
|
8216
|
+
Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function: diag(2311, ts.DiagnosticCategory.Error, "Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function_2311", "Cannot find name '{0}'. Did you mean to write this in an async function?"),
|
|
8209
8217
|
An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members: diag(2312, ts.DiagnosticCategory.Error, "An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_me_2312", "An interface can only extend an object type or intersection of object types with statically known members."),
|
|
8210
8218
|
Type_parameter_0_has_a_circular_constraint: diag(2313, ts.DiagnosticCategory.Error, "Type_parameter_0_has_a_circular_constraint_2313", "Type parameter '{0}' has a circular constraint."),
|
|
8211
8219
|
Generic_type_0_requires_1_type_argument_s: diag(2314, ts.DiagnosticCategory.Error, "Generic_type_0_requires_1_type_argument_s_2314", "Generic type '{0}' requires {1} type argument(s)."),
|
|
@@ -20747,6 +20755,10 @@ var ts;
|
|
|
20747
20755
|
return text.replace(/\$/gm, "\\$");
|
|
20748
20756
|
}
|
|
20749
20757
|
ts.escapeSnippetText = escapeSnippetText;
|
|
20758
|
+
function isThisTypeParameter(type) {
|
|
20759
|
+
return !!(type.flags & 262144 /* TypeParameter */ && type.isThisType);
|
|
20760
|
+
}
|
|
20761
|
+
ts.isThisTypeParameter = isThisTypeParameter;
|
|
20750
20762
|
})(ts || (ts = {}));
|
|
20751
20763
|
/* @internal */
|
|
20752
20764
|
var ts;
|
|
@@ -41442,7 +41454,10 @@ var ts;
|
|
|
41442
41454
|
}
|
|
41443
41455
|
}
|
|
41444
41456
|
var failedLookupLocations = [];
|
|
41445
|
-
var
|
|
41457
|
+
var features = ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node12 ? NodeResolutionFeatures.Node12Default :
|
|
41458
|
+
ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext ? NodeResolutionFeatures.NodeNextDefault :
|
|
41459
|
+
NodeResolutionFeatures.None;
|
|
41460
|
+
var moduleResolutionState = { compilerOptions: options, host: host, traceEnabled: traceEnabled, failedLookupLocations: failedLookupLocations, packageJsonInfoCache: cache, features: features, conditions: ["node", "require", "types"] };
|
|
41446
41461
|
var resolved = primaryLookup();
|
|
41447
41462
|
var primary = true;
|
|
41448
41463
|
if (!resolved) {
|
|
@@ -42117,13 +42132,15 @@ var ts;
|
|
|
42117
42132
|
// not currently backported to node 12 - https://github.com/nodejs/Release/issues/690
|
|
42118
42133
|
NodeResolutionFeatures[NodeResolutionFeatures["ExportsPatternTrailers"] = 16] = "ExportsPatternTrailers";
|
|
42119
42134
|
NodeResolutionFeatures[NodeResolutionFeatures["AllFeatures"] = 30] = "AllFeatures";
|
|
42135
|
+
NodeResolutionFeatures[NodeResolutionFeatures["Node12Default"] = 14] = "Node12Default";
|
|
42136
|
+
NodeResolutionFeatures[NodeResolutionFeatures["NodeNextDefault"] = 30] = "NodeNextDefault";
|
|
42120
42137
|
NodeResolutionFeatures[NodeResolutionFeatures["EsmMode"] = 32] = "EsmMode";
|
|
42121
42138
|
})(NodeResolutionFeatures || (NodeResolutionFeatures = {}));
|
|
42122
42139
|
function node12ModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode) {
|
|
42123
|
-
return nodeNextModuleNameResolverWorker(NodeResolutionFeatures.
|
|
42140
|
+
return nodeNextModuleNameResolverWorker(NodeResolutionFeatures.Node12Default, moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode);
|
|
42124
42141
|
}
|
|
42125
42142
|
function nodeNextModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode) {
|
|
42126
|
-
return nodeNextModuleNameResolverWorker(NodeResolutionFeatures.
|
|
42143
|
+
return nodeNextModuleNameResolverWorker(NodeResolutionFeatures.NodeNextDefault, moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode);
|
|
42127
42144
|
}
|
|
42128
42145
|
function nodeNextModuleNameResolverWorker(features, moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode) {
|
|
42129
42146
|
var containingDirectory = ts.getDirectoryPath(containingFile);
|
|
@@ -46829,6 +46846,7 @@ var ts;
|
|
|
46829
46846
|
getIndexInfosOfType: getIndexInfosOfType,
|
|
46830
46847
|
getSignaturesOfType: getSignaturesOfType,
|
|
46831
46848
|
getIndexTypeOfType: function (type, kind) { return getIndexTypeOfType(type, kind === 0 /* String */ ? stringType : numberType); },
|
|
46849
|
+
getIndexType: function (type) { return getIndexType(type); },
|
|
46832
46850
|
getBaseTypes: getBaseTypes,
|
|
46833
46851
|
getBaseTypeOfLiteralType: getBaseTypeOfLiteralType,
|
|
46834
46852
|
getWidenedType: getWidenedType,
|
|
@@ -48086,11 +48104,12 @@ var ts;
|
|
|
48086
48104
|
*
|
|
48087
48105
|
* @param isUse If true, this will count towards --noUnusedLocals / --noUnusedParameters.
|
|
48088
48106
|
*/
|
|
48089
|
-
function resolveName(location, name, meaning, nameNotFoundMessage, nameArg, isUse, excludeGlobals) {
|
|
48107
|
+
function resolveName(location, name, meaning, nameNotFoundMessage, nameArg, isUse, excludeGlobals, getSpellingSuggstions) {
|
|
48090
48108
|
if (excludeGlobals === void 0) { excludeGlobals = false; }
|
|
48091
|
-
|
|
48109
|
+
if (getSpellingSuggstions === void 0) { getSpellingSuggstions = true; }
|
|
48110
|
+
return resolveNameHelper(location, name, meaning, nameNotFoundMessage, nameArg, isUse, excludeGlobals, getSpellingSuggstions, getSymbol);
|
|
48092
48111
|
}
|
|
48093
|
-
function resolveNameHelper(location, name, meaning, nameNotFoundMessage, nameArg, isUse, excludeGlobals, lookup) {
|
|
48112
|
+
function resolveNameHelper(location, name, meaning, nameNotFoundMessage, nameArg, isUse, excludeGlobals, getSpellingSuggestions, lookup) {
|
|
48094
48113
|
var _a, _b, _c;
|
|
48095
48114
|
var originalLocation = location; // needed for did-you-mean error reporting, which gathers candidates starting from the original location
|
|
48096
48115
|
var result;
|
|
@@ -48407,7 +48426,7 @@ var ts;
|
|
|
48407
48426
|
}
|
|
48408
48427
|
}
|
|
48409
48428
|
if (!result) {
|
|
48410
|
-
if (nameNotFoundMessage) {
|
|
48429
|
+
if (nameNotFoundMessage && produceDiagnostics) {
|
|
48411
48430
|
if (!errorLocation ||
|
|
48412
48431
|
!checkAndReportErrorForMissingPrefix(errorLocation, name, nameArg) && // TODO: GH#18217
|
|
48413
48432
|
!checkAndReportErrorForExtendingInterface(errorLocation) &&
|
|
@@ -48417,7 +48436,7 @@ var ts;
|
|
|
48417
48436
|
!checkAndReportErrorForUsingNamespaceModuleAsValue(errorLocation, name, meaning) &&
|
|
48418
48437
|
!checkAndReportErrorForUsingValueAsType(errorLocation, name, meaning)) {
|
|
48419
48438
|
var suggestion = void 0;
|
|
48420
|
-
if (suggestionCount < maximumSuggestionCount) {
|
|
48439
|
+
if (getSpellingSuggestions && suggestionCount < maximumSuggestionCount) {
|
|
48421
48440
|
suggestion = getSuggestedSymbolForNonexistentSymbol(originalLocation, name, meaning);
|
|
48422
48441
|
var isGlobalScopeAugmentationDeclaration = (suggestion === null || suggestion === void 0 ? void 0 : suggestion.valueDeclaration) && ts.isAmbientModule(suggestion.valueDeclaration) && ts.isGlobalScopeAugmentation(suggestion.valueDeclaration);
|
|
48423
48442
|
if (isGlobalScopeAugmentationDeclaration) {
|
|
@@ -48453,7 +48472,7 @@ var ts;
|
|
|
48453
48472
|
return undefined;
|
|
48454
48473
|
}
|
|
48455
48474
|
// Perform extra checks only if error reporting was requested
|
|
48456
|
-
if (nameNotFoundMessage) {
|
|
48475
|
+
if (nameNotFoundMessage && produceDiagnostics) {
|
|
48457
48476
|
if (propertyWithInvalidInitializer && !(ts.getEmitScriptTarget(compilerOptions) === 99 /* ESNext */ && useDefineForClassFields)) {
|
|
48458
48477
|
// We have a match, but the reference occurred within a property initializer and the identifier also binds
|
|
48459
48478
|
// to a local variable in the constructor where the code will be emitted. Note that this is actually allowed
|
|
@@ -50929,7 +50948,7 @@ var ts;
|
|
|
50929
50948
|
context.approximateLength += 6;
|
|
50930
50949
|
return ts.factory.createKeywordTypeNode(147 /* ObjectKeyword */);
|
|
50931
50950
|
}
|
|
50932
|
-
if (isThisTypeParameter(type)) {
|
|
50951
|
+
if (ts.isThisTypeParameter(type)) {
|
|
50933
50952
|
if (context.flags & 4194304 /* InObjectTypeLiteral */) {
|
|
50934
50953
|
if (!context.encounteredError && !(context.flags & 32768 /* AllowThisInObjectLiteral */)) {
|
|
50935
50954
|
context.encounteredError = true;
|
|
@@ -58874,7 +58893,7 @@ var ts;
|
|
|
58874
58893
|
}
|
|
58875
58894
|
function getGlobalSymbol(name, meaning, diagnostic) {
|
|
58876
58895
|
// Don't track references for global symbols anyway, so value if `isReference` is arbitrary
|
|
58877
|
-
return resolveName(undefined, name, meaning, diagnostic, name, /*isUse*/ false);
|
|
58896
|
+
return resolveName(undefined, name, meaning, diagnostic, name, /*isUse*/ false, /*excludeGlobals*/ false, /*getSpellingSuggestions*/ false);
|
|
58878
58897
|
}
|
|
58879
58898
|
function getGlobalType(name, arity, reportErrors) {
|
|
58880
58899
|
var symbol = getGlobalTypeSymbol(name, reportErrors);
|
|
@@ -60453,9 +60472,6 @@ var ts;
|
|
|
60453
60472
|
return (type.flags & 58982400 /* InstantiableNonPrimitive */ || isGenericMappedType(type) || isGenericTupleType(type) ? 8388608 /* IsGenericObjectType */ : 0) |
|
|
60454
60473
|
(type.flags & (58982400 /* InstantiableNonPrimitive */ | 4194304 /* Index */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) && !isPatternLiteralType(type) ? 16777216 /* IsGenericIndexType */ : 0);
|
|
60455
60474
|
}
|
|
60456
|
-
function isThisTypeParameter(type) {
|
|
60457
|
-
return !!(type.flags & 262144 /* TypeParameter */ && type.isThisType);
|
|
60458
|
-
}
|
|
60459
60475
|
function getSimplifiedType(type, writing) {
|
|
60460
60476
|
return type.flags & 8388608 /* IndexedAccess */ ? getSimplifiedIndexedAccessType(type, writing) :
|
|
60461
60477
|
type.flags & 16777216 /* Conditional */ ? getSimplifiedConditionalType(type, writing) :
|
|
@@ -65653,7 +65669,7 @@ var ts;
|
|
|
65653
65669
|
// flags for the string, number, boolean, "", 0, false, void, undefined, or null types respectively. Returns
|
|
65654
65670
|
// no flags for all other types (including non-falsy literal types).
|
|
65655
65671
|
function getFalsyFlags(type) {
|
|
65656
|
-
return type.flags &
|
|
65672
|
+
return type.flags & 3145728 /* UnionOrIntersection */ ? getFalsyFlagsOfTypes(type.types) :
|
|
65657
65673
|
type.flags & 128 /* StringLiteral */ ? type.value === "" ? 128 /* StringLiteral */ : 0 :
|
|
65658
65674
|
type.flags & 256 /* NumberLiteral */ ? type.value === 0 ? 256 /* NumberLiteral */ : 0 :
|
|
65659
65675
|
type.flags & 2048 /* BigIntLiteral */ ? isZeroBigInt(type) ? 2048 /* BigIntLiteral */ : 0 :
|
|
@@ -67269,6 +67285,11 @@ var ts;
|
|
|
67269
67285
|
case "BigInt64Array":
|
|
67270
67286
|
case "BigUint64Array":
|
|
67271
67287
|
return ts.Diagnostics.Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later;
|
|
67288
|
+
case "await":
|
|
67289
|
+
if (ts.isCallExpression(node.parent)) {
|
|
67290
|
+
return ts.Diagnostics.Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function;
|
|
67291
|
+
}
|
|
67292
|
+
// falls through
|
|
67272
67293
|
default:
|
|
67273
67294
|
if (node.parent.kind === 295 /* ShorthandPropertyAssignment */) {
|
|
67274
67295
|
return ts.Diagnostics.No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer;
|
|
@@ -68826,7 +68847,7 @@ var ts;
|
|
|
68826
68847
|
function narrowByInKeyword(type, name, assumeTrue) {
|
|
68827
68848
|
if (type.flags & 1048576 /* Union */
|
|
68828
68849
|
|| type.flags & 524288 /* Object */ && declaredType !== type
|
|
68829
|
-
|| isThisTypeParameter(type)
|
|
68850
|
+
|| ts.isThisTypeParameter(type)
|
|
68830
68851
|
|| type.flags & 2097152 /* Intersection */ && ts.every(type.types, function (t) { return t.symbol !== globalThisSymbol; })) {
|
|
68831
68852
|
return filterType(type, function (t) { return isTypePresencePossible(t, name, assumeTrue); });
|
|
68832
68853
|
}
|
|
@@ -71646,15 +71667,9 @@ var ts;
|
|
|
71646
71667
|
}
|
|
71647
71668
|
}
|
|
71648
71669
|
function isValidSpreadType(type) {
|
|
71649
|
-
|
|
71650
|
-
|
|
71651
|
-
|
|
71652
|
-
return isValidSpreadType(constraint);
|
|
71653
|
-
}
|
|
71654
|
-
}
|
|
71655
|
-
return !!(type.flags & (1 /* Any */ | 67108864 /* NonPrimitive */ | 524288 /* Object */ | 58982400 /* InstantiableNonPrimitive */) ||
|
|
71656
|
-
getFalsyFlags(type) & 117632 /* DefinitelyFalsy */ && isValidSpreadType(removeDefinitelyFalsyTypes(type)) ||
|
|
71657
|
-
type.flags & 3145728 /* UnionOrIntersection */ && ts.every(type.types, isValidSpreadType));
|
|
71670
|
+
var t = removeDefinitelyFalsyTypes(mapType(type, getBaseConstraintOrType));
|
|
71671
|
+
return !!(t.flags & (1 /* Any */ | 67108864 /* NonPrimitive */ | 524288 /* Object */ | 58982400 /* InstantiableNonPrimitive */) ||
|
|
71672
|
+
t.flags & 3145728 /* UnionOrIntersection */ && ts.every(t.types, isValidSpreadType));
|
|
71658
71673
|
}
|
|
71659
71674
|
function checkJsxSelfClosingElementDeferred(node) {
|
|
71660
71675
|
checkJsxOpeningLikeElementOrOpeningFragment(node);
|
|
@@ -72605,7 +72620,7 @@ var ts;
|
|
|
72605
72620
|
}
|
|
72606
72621
|
var propType;
|
|
72607
72622
|
if (!prop) {
|
|
72608
|
-
var indexInfo = !ts.isPrivateIdentifier(right) && (assignmentKind === 0 /* None */ || !isGenericObjectType(leftType) || isThisTypeParameter(leftType)) ?
|
|
72623
|
+
var indexInfo = !ts.isPrivateIdentifier(right) && (assignmentKind === 0 /* None */ || !isGenericObjectType(leftType) || ts.isThisTypeParameter(leftType)) ?
|
|
72609
72624
|
getApplicableIndexInfoForName(apparentType, right.escapedText) : undefined;
|
|
72610
72625
|
if (!(indexInfo && indexInfo.type)) {
|
|
72611
72626
|
var isUncheckedJS = isUncheckedJSSuggestion(node, leftType.symbol, /*excludeClasses*/ true);
|
|
@@ -72622,7 +72637,7 @@ var ts;
|
|
|
72622
72637
|
return anyType;
|
|
72623
72638
|
}
|
|
72624
72639
|
if (right.escapedText && !checkAndReportErrorForExtendingInterface(node)) {
|
|
72625
|
-
reportNonexistentProperty(right, isThisTypeParameter(leftType) ? apparentType : leftType, isUncheckedJS);
|
|
72640
|
+
reportNonexistentProperty(right, ts.isThisTypeParameter(leftType) ? apparentType : leftType, isUncheckedJS);
|
|
72626
72641
|
}
|
|
72627
72642
|
return errorType;
|
|
72628
72643
|
}
|
|
@@ -72915,7 +72930,7 @@ var ts;
|
|
|
72915
72930
|
}
|
|
72916
72931
|
function getSuggestedSymbolForNonexistentSymbol(location, outerName, meaning) {
|
|
72917
72932
|
ts.Debug.assert(outerName !== undefined, "outername should always be defined");
|
|
72918
|
-
var result = resolveNameHelper(location, outerName, meaning, /*nameNotFoundMessage*/ undefined, outerName, /*isUse*/ false, /*excludeGlobals*/ false, function (symbols, name, meaning) {
|
|
72933
|
+
var result = resolveNameHelper(location, outerName, meaning, /*nameNotFoundMessage*/ undefined, outerName, /*isUse*/ false, /*excludeGlobals*/ false, /*getSpellingSuggestions*/ true, function (symbols, name, meaning) {
|
|
72919
72934
|
ts.Debug.assertEqual(outerName, name, "name should equal outerName");
|
|
72920
72935
|
var symbol = getSymbol(symbols, name, meaning);
|
|
72921
72936
|
// Sometimes the symbol is found when location is a return type of a function: `typeof x` and `x` is declared in the body of the function
|
|
@@ -73161,7 +73176,7 @@ var ts;
|
|
|
73161
73176
|
}
|
|
73162
73177
|
var effectiveIndexType = isForInVariableForNumericPropertyNames(indexExpression) ? numberType : indexType;
|
|
73163
73178
|
var accessFlags = ts.isAssignmentTarget(node) ?
|
|
73164
|
-
4 /* Writing */ | (isGenericObjectType(objectType) && !isThisTypeParameter(objectType) ? 2 /* NoIndexSignatures */ : 0) :
|
|
73179
|
+
4 /* Writing */ | (isGenericObjectType(objectType) && !ts.isThisTypeParameter(objectType) ? 2 /* NoIndexSignatures */ : 0) :
|
|
73165
73180
|
32 /* ExpressionPosition */;
|
|
73166
73181
|
var indexedAccessType = getIndexedAccessTypeOrUndefined(objectType, effectiveIndexType, accessFlags, node) || errorType;
|
|
73167
73182
|
return checkIndexedAccessIndexType(getFlowTypeOfAccessExpression(node, getNodeLinks(node).resolvedSymbol, indexedAccessType, indexExpression, checkMode), node);
|
|
@@ -86623,18 +86638,22 @@ var ts;
|
|
|
86623
86638
|
return false;
|
|
86624
86639
|
}
|
|
86625
86640
|
function checkNumericLiteralValueSize(node) {
|
|
86641
|
+
// We should test against `getTextOfNode(node)` rather than `node.text`, because `node.text` for large numeric literals can contain "."
|
|
86642
|
+
// e.g. `node.text` for numeric literal `1100000000000000000000` is `1.1e21`.
|
|
86643
|
+
var isFractional = ts.getTextOfNode(node).indexOf(".") !== -1;
|
|
86644
|
+
var isScientific = node.numericLiteralFlags & 16 /* Scientific */;
|
|
86626
86645
|
// Scientific notation (e.g. 2e54 and 1e00000000010) can't be converted to bigint
|
|
86627
|
-
// Literals with 15 or fewer characters aren't long enough to reach past 2^53 - 1
|
|
86628
86646
|
// Fractional numbers (e.g. 9000000000000000.001) are inherently imprecise anyway
|
|
86629
|
-
if (
|
|
86647
|
+
if (isFractional || isScientific) {
|
|
86630
86648
|
return;
|
|
86631
86649
|
}
|
|
86632
|
-
//
|
|
86633
|
-
//
|
|
86634
|
-
//
|
|
86635
|
-
//
|
|
86636
|
-
|
|
86637
|
-
|
|
86650
|
+
// Here `node` is guaranteed to be a numeric literal representing an integer.
|
|
86651
|
+
// We need to judge whether the integer `node` represents is <= 2 ** 53 - 1, which can be accomplished by comparing to `value` defined below because:
|
|
86652
|
+
// 1) when `node` represents an integer <= 2 ** 53 - 1, `node.text` is its exact string representation and thus `value` precisely represents the integer.
|
|
86653
|
+
// 2) otherwise, although `node.text` may be imprecise string representation, its mathematical value and consequently `value` cannot be less than 2 ** 53,
|
|
86654
|
+
// thus the result of the predicate won't be affected.
|
|
86655
|
+
var value = +node.text;
|
|
86656
|
+
if (value <= Math.pow(2, 53) - 1) {
|
|
86638
86657
|
return;
|
|
86639
86658
|
}
|
|
86640
86659
|
addErrorOrSuggestion(/*isError*/ false, ts.createDiagnosticForNode(node, ts.Diagnostics.Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers));
|
|
@@ -90096,7 +90115,7 @@ var ts;
|
|
|
90096
90115
|
// ], C.prototype, "prop");
|
|
90097
90116
|
//
|
|
90098
90117
|
var prefix = getClassMemberPrefix(node, member);
|
|
90099
|
-
var memberName = getExpressionForPropertyName(member, /*generateNameForComputedPropertyName*/
|
|
90118
|
+
var memberName = getExpressionForPropertyName(member, /*generateNameForComputedPropertyName*/ !ts.hasSyntacticModifier(member, 2 /* Ambient */));
|
|
90100
90119
|
var descriptor = languageVersion > 0 /* ES3 */
|
|
90101
90120
|
? member.kind === 166 /* PropertyDeclaration */
|
|
90102
90121
|
// We emit `void 0` here to indicate to `__decorate` that it can invoke `Object.defineProperty` directly, but that it
|
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.6.0-dev.
|
|
5
|
+
"version": "4.6.0-dev.20211206",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"description": "TypeScript is a language for application scale JavaScript development",
|
|
8
8
|
"keywords": [
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"browser-resolve": "^1.11.2",
|
|
62
62
|
"browserify": "latest",
|
|
63
63
|
"chai": "latest",
|
|
64
|
-
"chalk": "
|
|
64
|
+
"chalk": "^4.1.2",
|
|
65
65
|
"convert-source-map": "latest",
|
|
66
66
|
"del": "5.1.0",
|
|
67
67
|
"diff": "^4.0.2",
|