typescript 5.2.0-dev.20230727 → 5.2.0-dev.20230729
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/lib.es2015.core.d.ts +2 -2
- package/lib/lib.es2020.bigint.d.ts +4 -4
- package/lib/lib.es5.d.ts +18 -18
- package/lib/tsc.js +48 -41
- package/lib/tsserver.js +81 -58
- package/lib/tsserverlibrary.js +79 -58
- package/lib/typescript.js +74 -55
- package/lib/typingsInstaller.js +5 -5
- package/package.json +2 -2
package/lib/tsserverlibrary.js
CHANGED
|
@@ -35,7 +35,7 @@ var ts = (() => {
|
|
|
35
35
|
"src/compiler/corePublic.ts"() {
|
|
36
36
|
"use strict";
|
|
37
37
|
versionMajorMinor = "5.2";
|
|
38
|
-
version = `${versionMajorMinor}.0-dev.
|
|
38
|
+
version = `${versionMajorMinor}.0-dev.20230729`;
|
|
39
39
|
Comparison = /* @__PURE__ */ ((Comparison3) => {
|
|
40
40
|
Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
|
|
41
41
|
Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
|
|
@@ -1646,7 +1646,7 @@ var ts = (() => {
|
|
|
1646
1646
|
return void 0;
|
|
1647
1647
|
};
|
|
1648
1648
|
hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
1649
|
-
fileNameLowerCaseRegExp = /[^\u0130\u0131\u00DFa-z0-9\\/:\-_
|
|
1649
|
+
fileNameLowerCaseRegExp = /[^\u0130\u0131\u00DFa-z0-9\\/:\-_. ]+/g;
|
|
1650
1650
|
AssertionLevel = /* @__PURE__ */ ((AssertionLevel2) => {
|
|
1651
1651
|
AssertionLevel2[AssertionLevel2["None"] = 0] = "None";
|
|
1652
1652
|
AssertionLevel2[AssertionLevel2["Normal"] = 1] = "Normal";
|
|
@@ -1951,7 +1951,7 @@ Node ${formatSyntaxKind(node.kind)} was unexpected.`,
|
|
|
1951
1951
|
return func.name;
|
|
1952
1952
|
} else {
|
|
1953
1953
|
const text = Function.prototype.toString.call(func);
|
|
1954
|
-
const match = /^function\s+([\w
|
|
1954
|
+
const match = /^function\s+([\w$]+)\s*\(/.exec(text);
|
|
1955
1955
|
return match ? match[1] : "";
|
|
1956
1956
|
}
|
|
1957
1957
|
}
|
|
@@ -2936,7 +2936,7 @@ ${lanes.join("\n")}
|
|
|
2936
2936
|
"src/compiler/semver.ts"() {
|
|
2937
2937
|
"use strict";
|
|
2938
2938
|
init_ts2();
|
|
2939
|
-
versionRegExp = /^(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(
|
|
2939
|
+
versionRegExp = /^(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:\.(0|[1-9]\d*)(?:-([a-z0-9-.]+))?(?:\+([a-z0-9-.]+))?)?)?$/i;
|
|
2940
2940
|
prereleaseRegExp = /^(?:0|[1-9]\d*|[a-z-][a-z0-9-]*)(?:\.(?:0|[1-9]\d*|[a-z-][a-z0-9-]*))*$/i;
|
|
2941
2941
|
prereleasePartRegExp = /^(?:0|[1-9]\d*|[a-z-][a-z0-9-]*)$/i;
|
|
2942
2942
|
buildRegExp = /^[a-z0-9-]+(?:\.[a-z0-9-]+)*$/i;
|
|
@@ -11522,7 +11522,7 @@ ${lanes.join("\n")}
|
|
|
11522
11522
|
}
|
|
11523
11523
|
function validateLocaleAndSetLanguage(locale, sys2, errors) {
|
|
11524
11524
|
const lowerCaseLocale = locale.toLowerCase();
|
|
11525
|
-
const matchResult = /^([a-z]+)([_
|
|
11525
|
+
const matchResult = /^([a-z]+)([_-]([a-z]+))?$/.exec(lowerCaseLocale);
|
|
11526
11526
|
if (!matchResult) {
|
|
11527
11527
|
if (errors) {
|
|
11528
11528
|
errors.push(createCompilerDiagnostic(Diagnostics.Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1, "en", "ja-jp"));
|
|
@@ -16738,6 +16738,12 @@ ${lanes.join("\n")}
|
|
|
16738
16738
|
function isThisIdentifier(node) {
|
|
16739
16739
|
return !!node && node.kind === 80 /* Identifier */ && identifierIsThisKeyword(node);
|
|
16740
16740
|
}
|
|
16741
|
+
function isInTypeQuery(node) {
|
|
16742
|
+
return !!findAncestor(
|
|
16743
|
+
node,
|
|
16744
|
+
(n) => n.kind === 186 /* TypeQuery */ ? true : n.kind === 80 /* Identifier */ || n.kind === 166 /* QualifiedName */ ? false : "quit"
|
|
16745
|
+
);
|
|
16746
|
+
}
|
|
16741
16747
|
function isThisInTypeQuery(node) {
|
|
16742
16748
|
if (!isThisIdentifier(node)) {
|
|
16743
16749
|
return false;
|
|
@@ -18219,6 +18225,9 @@ ${lanes.join("\n")}
|
|
|
18219
18225
|
function getUseDefineForClassFields(compilerOptions) {
|
|
18220
18226
|
return compilerOptions.useDefineForClassFields === void 0 ? getEmitScriptTarget(compilerOptions) >= 9 /* ES2022 */ : compilerOptions.useDefineForClassFields;
|
|
18221
18227
|
}
|
|
18228
|
+
function getEmitStandardClassFields(compilerOptions) {
|
|
18229
|
+
return compilerOptions.useDefineForClassFields !== false && getEmitScriptTarget(compilerOptions) >= 9 /* ES2022 */;
|
|
18230
|
+
}
|
|
18222
18231
|
function compilerOptionsAffectSemanticDiagnostics(newOptions, oldOptions) {
|
|
18223
18232
|
return optionsHaveChanges(oldOptions, newOptions, semanticDiagnosticsOptionDeclarations);
|
|
18224
18233
|
}
|
|
@@ -19310,9 +19319,9 @@ ${lanes.join("\n")}
|
|
|
19310
19319
|
return OperatorPrecedence2;
|
|
19311
19320
|
})(OperatorPrecedence || {});
|
|
19312
19321
|
templateSubstitutionRegExp = /\$\{/g;
|
|
19313
|
-
doubleQuoteEscapedCharsRegExp = /[
|
|
19314
|
-
singleQuoteEscapedCharsRegExp = /[
|
|
19315
|
-
backtickQuoteEscapedCharsRegExp = /\r\n|[
|
|
19322
|
+
doubleQuoteEscapedCharsRegExp = /[\\"\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g;
|
|
19323
|
+
singleQuoteEscapedCharsRegExp = /[\\'\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g;
|
|
19324
|
+
backtickQuoteEscapedCharsRegExp = /\r\n|[\\`\u0000-\u001f\t\v\f\b\r\u2028\u2029\u0085]/g;
|
|
19316
19325
|
escapedCharsMap = new Map(Object.entries({
|
|
19317
19326
|
" ": "\\t",
|
|
19318
19327
|
"\v": "\\v",
|
|
@@ -19334,8 +19343,8 @@ ${lanes.join("\n")}
|
|
|
19334
19343
|
// special case for CRLFs in backticks
|
|
19335
19344
|
}));
|
|
19336
19345
|
nonAsciiCharacters = /[^\u0000-\u007F]/g;
|
|
19337
|
-
jsxDoubleQuoteEscapedCharsRegExp = /[
|
|
19338
|
-
jsxSingleQuoteEscapedCharsRegExp = /[
|
|
19346
|
+
jsxDoubleQuoteEscapedCharsRegExp = /["\u0000-\u001f\u2028\u2029\u0085]/g;
|
|
19347
|
+
jsxSingleQuoteEscapedCharsRegExp = /['\u0000-\u001f\u2028\u2029\u0085]/g;
|
|
19339
19348
|
jsxEscapedCharsMap = new Map(Object.entries({
|
|
19340
19349
|
'"': """,
|
|
19341
19350
|
"'": "'"
|
|
@@ -19356,7 +19365,7 @@ ${lanes.join("\n")}
|
|
|
19356
19365
|
getSourceMapSourceConstructor: () => SourceMapSource
|
|
19357
19366
|
};
|
|
19358
19367
|
objectAllocatorPatchers = [];
|
|
19359
|
-
reservedCharacterPattern = /[^\w\s
|
|
19368
|
+
reservedCharacterPattern = /[^\w\s/]/g;
|
|
19360
19369
|
wildcardCharCodes = [42 /* asterisk */, 63 /* question */];
|
|
19361
19370
|
commonPackageFolders = ["node_modules", "bower_components", "jspm_packages"];
|
|
19362
19371
|
implicitExcludePathRegexPattern = `(?!(${commonPackageFolders.join("|")})(/|$))`;
|
|
@@ -45518,6 +45527,7 @@ ${lanes.join("\n")}
|
|
|
45518
45527
|
var moduleKind = getEmitModuleKind(compilerOptions);
|
|
45519
45528
|
var legacyDecorators = !!compilerOptions.experimentalDecorators;
|
|
45520
45529
|
var useDefineForClassFields = getUseDefineForClassFields(compilerOptions);
|
|
45530
|
+
var emitStandardClassFields = getEmitStandardClassFields(compilerOptions);
|
|
45521
45531
|
var allowSyntheticDefaultImports = getAllowSyntheticDefaultImports(compilerOptions);
|
|
45522
45532
|
var strictNullChecks = getStrictOptionValue(compilerOptions, "strictNullChecks");
|
|
45523
45533
|
var strictFunctionTypes = getStrictOptionValue(compilerOptions, "strictFunctionTypes");
|
|
@@ -46872,7 +46882,7 @@ ${lanes.join("\n")}
|
|
|
46872
46882
|
false
|
|
46873
46883
|
);
|
|
46874
46884
|
} else if (isParameterPropertyDeclaration(declaration, declaration.parent)) {
|
|
46875
|
-
return !(
|
|
46885
|
+
return !(emitStandardClassFields && getContainingClass(declaration) === getContainingClass(usage) && isUsedInFunctionOrInstanceProperty(usage, declaration));
|
|
46876
46886
|
}
|
|
46877
46887
|
return true;
|
|
46878
46888
|
}
|
|
@@ -46886,7 +46896,7 @@ ${lanes.join("\n")}
|
|
|
46886
46896
|
return true;
|
|
46887
46897
|
}
|
|
46888
46898
|
if (isUsedInFunctionOrInstanceProperty(usage, declaration)) {
|
|
46889
|
-
if (
|
|
46899
|
+
if (emitStandardClassFields && getContainingClass(declaration) && (isPropertyDeclaration(declaration) || isParameterPropertyDeclaration(declaration, declaration.parent))) {
|
|
46890
46900
|
return !isPropertyImmediatelyReferencedWithinDeclaration(
|
|
46891
46901
|
declaration,
|
|
46892
46902
|
usage,
|
|
@@ -47010,7 +47020,7 @@ ${lanes.join("\n")}
|
|
|
47010
47020
|
return requiresScopeChangeWorker(node.name);
|
|
47011
47021
|
case 172 /* PropertyDeclaration */:
|
|
47012
47022
|
if (hasStaticModifier(node)) {
|
|
47013
|
-
return
|
|
47023
|
+
return !emitStandardClassFields;
|
|
47014
47024
|
}
|
|
47015
47025
|
return requiresScopeChangeWorker(node.name);
|
|
47016
47026
|
default:
|
|
@@ -47281,7 +47291,7 @@ ${lanes.join("\n")}
|
|
|
47281
47291
|
}
|
|
47282
47292
|
}
|
|
47283
47293
|
function checkAndReportErrorForInvalidInitializer() {
|
|
47284
|
-
if (propertyWithInvalidInitializer && !
|
|
47294
|
+
if (propertyWithInvalidInitializer && !emitStandardClassFields) {
|
|
47285
47295
|
error2(
|
|
47286
47296
|
errorLocation,
|
|
47287
47297
|
errorLocation && propertyWithInvalidInitializer.type && textRangeContainsPositionInclusive(propertyWithInvalidInitializer.type, errorLocation.pos) ? Diagnostics.Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor : Diagnostics.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor,
|
|
@@ -58837,6 +58847,9 @@ ${lanes.join("\n")}
|
|
|
58837
58847
|
function getEndElementCount(type, flags) {
|
|
58838
58848
|
return type.elementFlags.length - findLastIndex(type.elementFlags, (f) => !(f & flags)) - 1;
|
|
58839
58849
|
}
|
|
58850
|
+
function getTotalFixedElementCount(type) {
|
|
58851
|
+
return type.fixedLength + getEndElementCount(type, 3 /* Fixed */);
|
|
58852
|
+
}
|
|
58840
58853
|
function getElementTypes(type) {
|
|
58841
58854
|
const typeArguments = getTypeArguments(type);
|
|
58842
58855
|
const arity = getTypeReferenceArity(type);
|
|
@@ -59742,10 +59755,7 @@ ${lanes.join("\n")}
|
|
|
59742
59755
|
}
|
|
59743
59756
|
if (index >= 0) {
|
|
59744
59757
|
errorIfWritingToReadonlyIndex(getIndexInfoOfType(objectType, numberType));
|
|
59745
|
-
return
|
|
59746
|
-
const restType = getRestTypeOfTupleType(t) || undefinedType;
|
|
59747
|
-
return accessFlags & 1 /* IncludeUndefined */ ? getUnionType([restType, missingType]) : restType;
|
|
59748
|
-
});
|
|
59758
|
+
return getTupleElementTypeOutOfStartCount(objectType, index, accessFlags & 1 /* IncludeUndefined */ ? missingType : void 0);
|
|
59749
59759
|
}
|
|
59750
59760
|
}
|
|
59751
59761
|
}
|
|
@@ -60030,7 +60040,7 @@ ${lanes.join("\n")}
|
|
|
60030
60040
|
}
|
|
60031
60041
|
if (compilerOptions.noUncheckedIndexedAccess && accessFlags & 32 /* ExpressionPosition */)
|
|
60032
60042
|
accessFlags |= 1 /* IncludeUndefined */;
|
|
60033
|
-
if (isGenericIndexType(indexType) || (accessNode && accessNode.kind !== 199 /* IndexedAccessType */ ? isGenericTupleType(objectType) && !indexTypeLessThan(indexType, objectType.target
|
|
60043
|
+
if (isGenericIndexType(indexType) || (accessNode && accessNode.kind !== 199 /* IndexedAccessType */ ? isGenericTupleType(objectType) && !indexTypeLessThan(indexType, getTotalFixedElementCount(objectType.target)) : isGenericObjectType(objectType) && !(isTupleType(objectType) && indexTypeLessThan(indexType, getTotalFixedElementCount(objectType.target))) || isGenericReducibleType(objectType))) {
|
|
60034
60044
|
if (objectType.flags & 3 /* AnyOrUnknown */) {
|
|
60035
60045
|
return objectType;
|
|
60036
60046
|
}
|
|
@@ -65041,17 +65051,7 @@ ${lanes.join("\n")}
|
|
|
65041
65051
|
return propType;
|
|
65042
65052
|
}
|
|
65043
65053
|
if (everyType(type, isTupleType)) {
|
|
65044
|
-
return
|
|
65045
|
-
const tupleType = t;
|
|
65046
|
-
const restType = getRestTypeOfTupleType(tupleType);
|
|
65047
|
-
if (!restType) {
|
|
65048
|
-
return undefinedType;
|
|
65049
|
-
}
|
|
65050
|
-
if (compilerOptions.noUncheckedIndexedAccess && index >= tupleType.target.fixedLength + getEndElementCount(tupleType.target, 3 /* Fixed */)) {
|
|
65051
|
-
return getUnionType([restType, undefinedType]);
|
|
65052
|
-
}
|
|
65053
|
-
return restType;
|
|
65054
|
-
});
|
|
65054
|
+
return getTupleElementTypeOutOfStartCount(type, index, compilerOptions.noUncheckedIndexedAccess ? undefinedType : void 0);
|
|
65055
65055
|
}
|
|
65056
65056
|
return void 0;
|
|
65057
65057
|
}
|
|
@@ -65119,6 +65119,19 @@ ${lanes.join("\n")}
|
|
|
65119
65119
|
function getRestTypeOfTupleType(type) {
|
|
65120
65120
|
return getElementTypeOfSliceOfTupleType(type, type.target.fixedLength);
|
|
65121
65121
|
}
|
|
65122
|
+
function getTupleElementTypeOutOfStartCount(type, index, undefinedOrMissingType2) {
|
|
65123
|
+
return mapType(type, (t) => {
|
|
65124
|
+
const tupleType = t;
|
|
65125
|
+
const restType = getRestTypeOfTupleType(tupleType);
|
|
65126
|
+
if (!restType) {
|
|
65127
|
+
return undefinedType;
|
|
65128
|
+
}
|
|
65129
|
+
if (undefinedOrMissingType2 && index >= getTotalFixedElementCount(tupleType.target)) {
|
|
65130
|
+
return getUnionType([restType, undefinedOrMissingType2]);
|
|
65131
|
+
}
|
|
65132
|
+
return restType;
|
|
65133
|
+
});
|
|
65134
|
+
}
|
|
65122
65135
|
function getRestArrayTypeOfTupleType(type) {
|
|
65123
65136
|
const restType = getRestTypeOfTupleType(type);
|
|
65124
65137
|
return restType && createArrayType(restType);
|
|
@@ -66618,12 +66631,6 @@ ${lanes.join("\n")}
|
|
|
66618
66631
|
}
|
|
66619
66632
|
return links.resolvedSymbol;
|
|
66620
66633
|
}
|
|
66621
|
-
function isInTypeQuery(node) {
|
|
66622
|
-
return !!findAncestor(
|
|
66623
|
-
node,
|
|
66624
|
-
(n) => n.kind === 186 /* TypeQuery */ ? true : n.kind === 80 /* Identifier */ || n.kind === 166 /* QualifiedName */ ? false : "quit"
|
|
66625
|
-
);
|
|
66626
|
-
}
|
|
66627
66634
|
function isInAmbientOrTypeNode(node) {
|
|
66628
66635
|
return !!(node.flags & 33554432 /* Ambient */ || findAncestor(node, (n) => isInterfaceDeclaration(n) || isTypeAliasDeclaration(n) || isTypeLiteralNode(n)));
|
|
66629
66636
|
}
|
|
@@ -71846,7 +71853,7 @@ ${lanes.join("\n")}
|
|
|
71846
71853
|
}
|
|
71847
71854
|
let diagnosticMessage;
|
|
71848
71855
|
const declarationName = idText(right);
|
|
71849
|
-
if (isInPropertyInitializerOrClassStaticBlock(node) && !isOptionalPropertyDeclaration(valueDeclaration) && !(isAccessExpression(node) && isAccessExpression(node.expression)) && !isBlockScopedNameDeclaredBeforeUse(valueDeclaration, right) && !(isMethodDeclaration(valueDeclaration) && getCombinedModifierFlagsCached(valueDeclaration) & 32 /* Static */) && (
|
|
71856
|
+
if (isInPropertyInitializerOrClassStaticBlock(node) && !isOptionalPropertyDeclaration(valueDeclaration) && !(isAccessExpression(node) && isAccessExpression(node.expression)) && !isBlockScopedNameDeclaredBeforeUse(valueDeclaration, right) && !(isMethodDeclaration(valueDeclaration) && getCombinedModifierFlagsCached(valueDeclaration) & 32 /* Static */) && (useDefineForClassFields || !isPropertyDeclaredInAncestorClass(prop))) {
|
|
71850
71857
|
diagnosticMessage = error2(right, Diagnostics.Property_0_is_used_before_its_initialization, declarationName);
|
|
71851
71858
|
} else if (valueDeclaration.kind === 263 /* ClassDeclaration */ && node.parent.kind !== 183 /* TypeReference */ && !(valueDeclaration.flags & 33554432 /* Ambient */) && !isBlockScopedNameDeclaredBeforeUse(valueDeclaration, right)) {
|
|
71852
71859
|
diagnosticMessage = error2(right, Diagnostics.Class_0_used_before_its_declaration, declarationName);
|
|
@@ -77558,7 +77565,7 @@ ${lanes.join("\n")}
|
|
|
77558
77565
|
case "length":
|
|
77559
77566
|
case "caller":
|
|
77560
77567
|
case "arguments":
|
|
77561
|
-
if (
|
|
77568
|
+
if (useDefineForClassFields) {
|
|
77562
77569
|
break;
|
|
77563
77570
|
}
|
|
77564
77571
|
case "prototype":
|
|
@@ -77706,7 +77713,7 @@ ${lanes.join("\n")}
|
|
|
77706
77713
|
if (classExtendsNull) {
|
|
77707
77714
|
error2(superCall, Diagnostics.A_constructor_cannot_contain_a_super_call_when_its_class_extends_null);
|
|
77708
77715
|
}
|
|
77709
|
-
const superCallShouldBeRootLevel =
|
|
77716
|
+
const superCallShouldBeRootLevel = !emitStandardClassFields && (some(node.parent.members, isInstancePropertyWithInitializerOrPrivateIdentifierProperty) || some(node.parameters, (p) => hasSyntacticModifier(p, 16476 /* ParameterPropertyModifier */)));
|
|
77710
77717
|
if (superCallShouldBeRootLevel) {
|
|
77711
77718
|
if (!superCallIsRootLevelInConstructor(superCall, node.body)) {
|
|
77712
77719
|
error2(superCall, Diagnostics.A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_initialized_properties_parameter_properties_or_private_identifiers);
|
|
@@ -80985,7 +80992,7 @@ ${lanes.join("\n")}
|
|
|
80985
80992
|
node
|
|
80986
80993
|
);
|
|
80987
80994
|
const willTransformPrivateElementsOrClassStaticBlocks = languageVersion <= 9 /* ES2022 */;
|
|
80988
|
-
const willTransformInitializers = !
|
|
80995
|
+
const willTransformInitializers = !emitStandardClassFields;
|
|
80989
80996
|
if (willTransformStaticElementsOfDecoratedClass || willTransformPrivateElementsOrClassStaticBlocks) {
|
|
80990
80997
|
for (const member of node.members) {
|
|
80991
80998
|
if (willTransformStaticElementsOfDecoratedClass && classElementOrClassElementParameterIsDecorated(
|
|
@@ -134388,7 +134395,7 @@ ${lanes.join("\n")}
|
|
|
134388
134395
|
"src/services/sourcemaps.ts"() {
|
|
134389
134396
|
"use strict";
|
|
134390
134397
|
init_ts4();
|
|
134391
|
-
base64UrlRegExp = /^data:(?:application\/json(?:;charset=[uU][tT][fF]-8);base64,([A-Za-z0-9
|
|
134398
|
+
base64UrlRegExp = /^data:(?:application\/json(?:;charset=[uU][tT][fF]-8);base64,([A-Za-z0-9+/=]+)$)?/;
|
|
134392
134399
|
}
|
|
134393
134400
|
});
|
|
134394
134401
|
|
|
@@ -142612,7 +142619,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
142612
142619
|
}
|
|
142613
142620
|
return result;
|
|
142614
142621
|
function escapeRegExp(str) {
|
|
142615
|
-
return str.replace(/[
|
|
142622
|
+
return str.replace(/[-[\]/{}()*+?.\\^$|]/g, "\\$&");
|
|
142616
142623
|
}
|
|
142617
142624
|
function getTodoCommentsRegExp() {
|
|
142618
142625
|
const singleLineCommentStart = /(?:\/\/+\s*)/.source;
|
|
@@ -148414,7 +148421,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
148414
148421
|
function findEndOfTextBetween(jsDocComment, from, to) {
|
|
148415
148422
|
const comment = jsDocComment.getText().substring(from - jsDocComment.getStart(), to - jsDocComment.getStart());
|
|
148416
148423
|
for (let i = comment.length; i > 0; i--) {
|
|
148417
|
-
if (!/[
|
|
148424
|
+
if (!/[*/\s]/g.test(comment.substring(i - 1, i))) {
|
|
148418
148425
|
return from + i;
|
|
148419
148426
|
}
|
|
148420
148427
|
}
|
|
@@ -151927,7 +151934,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
151927
151934
|
);
|
|
151928
151935
|
}
|
|
151929
151936
|
function getSuggestion(messageText) {
|
|
151930
|
-
const [_, suggestion] = flattenDiagnosticMessageText(messageText, "\n", 0).match(
|
|
151937
|
+
const [_, suggestion] = flattenDiagnosticMessageText(messageText, "\n", 0).match(/'(.*)'/) || [];
|
|
151931
151938
|
return suggestion;
|
|
151932
151939
|
}
|
|
151933
151940
|
var fixId28, errorCodes34;
|
|
@@ -158096,7 +158103,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
158096
158103
|
return { kind: 1 /* JsDocTagName */ };
|
|
158097
158104
|
} else {
|
|
158098
158105
|
const lineStart = getLineStartPositionForPosition(position, sourceFile);
|
|
158099
|
-
if (!/[
|
|
158106
|
+
if (!/[^*|\s(/)]/.test(sourceFile.text.substring(lineStart, position))) {
|
|
158100
158107
|
return { kind: 2 /* JsDocTag */ };
|
|
158101
158108
|
}
|
|
158102
158109
|
}
|
|
@@ -158395,24 +158402,34 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
158395
158402
|
}
|
|
158396
158403
|
}
|
|
158397
158404
|
}
|
|
158398
|
-
if (!isTypeLocation) {
|
|
158405
|
+
if (!isTypeLocation || isInTypeQuery(node)) {
|
|
158399
158406
|
typeChecker.tryGetThisTypeAt(
|
|
158400
158407
|
node,
|
|
158401
158408
|
/*includeGlobalThis*/
|
|
158402
158409
|
false
|
|
158403
158410
|
);
|
|
158404
158411
|
let type = typeChecker.getTypeAtLocation(node).getNonOptionalType();
|
|
158405
|
-
|
|
158406
|
-
|
|
158407
|
-
|
|
158408
|
-
|
|
158409
|
-
|
|
158410
|
-
|
|
158411
|
-
|
|
158412
|
+
if (!isTypeLocation) {
|
|
158413
|
+
let insertQuestionDot = false;
|
|
158414
|
+
if (type.isNullableType()) {
|
|
158415
|
+
const canCorrectToQuestionDot = isRightOfDot && !isRightOfQuestionDot && preferences.includeAutomaticOptionalChainCompletions !== false;
|
|
158416
|
+
if (canCorrectToQuestionDot || isRightOfQuestionDot) {
|
|
158417
|
+
type = type.getNonNullableType();
|
|
158418
|
+
if (canCorrectToQuestionDot) {
|
|
158419
|
+
insertQuestionDot = true;
|
|
158420
|
+
}
|
|
158412
158421
|
}
|
|
158413
158422
|
}
|
|
158423
|
+
addTypeProperties(type, !!(node.flags & 65536 /* AwaitContext */), insertQuestionDot);
|
|
158424
|
+
} else {
|
|
158425
|
+
addTypeProperties(
|
|
158426
|
+
type.getNonNullableType(),
|
|
158427
|
+
/*insertAwait*/
|
|
158428
|
+
false,
|
|
158429
|
+
/*insertQuestionDot*/
|
|
158430
|
+
false
|
|
158431
|
+
);
|
|
158414
158432
|
}
|
|
158415
|
-
addTypeProperties(type, !!(node.flags & 65536 /* AwaitContext */), insertQuestionDot);
|
|
158416
158433
|
}
|
|
158417
158434
|
}
|
|
158418
158435
|
function addTypeProperties(type, insertAwait, insertQuestionDot) {
|
|
@@ -175703,7 +175720,7 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
175703
175720
|
defaultTypeSafeList = {
|
|
175704
175721
|
"jquery": {
|
|
175705
175722
|
// jquery files can have names like "jquery-1.10.2.min.js" (or "jquery.intellisense.js")
|
|
175706
|
-
match: /jquery(-[\d
|
|
175723
|
+
match: /jquery(-[\d.]+)?(\.intellisense)?(\.min)?\.js$/i,
|
|
175707
175724
|
types: ["jquery"]
|
|
175708
175725
|
},
|
|
175709
175726
|
"WinJS": {
|
|
@@ -178431,7 +178448,7 @@ Dynamic files must always be opened with service's current directory or service
|
|
|
178431
178448
|
}
|
|
178432
178449
|
}
|
|
178433
178450
|
if (!exclude) {
|
|
178434
|
-
if (/^.+[
|
|
178451
|
+
if (/^.+[.-]min\.js$/.test(normalizedNames[i])) {
|
|
178435
178452
|
excludedFiles.push(normalizedNames[i]);
|
|
178436
178453
|
} else {
|
|
178437
178454
|
filesToKeep.push(proj.rootFiles[i]);
|
|
@@ -178752,7 +178769,7 @@ Dynamic files must always be opened with service's current directory or service
|
|
|
178752
178769
|
}
|
|
178753
178770
|
};
|
|
178754
178771
|
/** Makes a filename safe to insert in a RegExp */
|
|
178755
|
-
_ProjectService.filenameEscapeRegexp = /[
|
|
178772
|
+
_ProjectService.filenameEscapeRegexp = /[-/\\^$*+?.()|[\]{}]/g;
|
|
178756
178773
|
ProjectService3 = _ProjectService;
|
|
178757
178774
|
}
|
|
178758
178775
|
});
|
|
@@ -183794,6 +183811,7 @@ ${e.message}`;
|
|
|
183794
183811
|
getEmitModuleKind: () => getEmitModuleKind,
|
|
183795
183812
|
getEmitModuleResolutionKind: () => getEmitModuleResolutionKind,
|
|
183796
183813
|
getEmitScriptTarget: () => getEmitScriptTarget,
|
|
183814
|
+
getEmitStandardClassFields: () => getEmitStandardClassFields,
|
|
183797
183815
|
getEnclosingBlockScopeContainer: () => getEnclosingBlockScopeContainer,
|
|
183798
183816
|
getEnclosingContainer: () => getEnclosingContainer,
|
|
183799
183817
|
getEncodedSemanticClassifications: () => getEncodedSemanticClassifications,
|
|
@@ -184469,6 +184487,7 @@ ${e.message}`;
|
|
|
184469
184487
|
isInString: () => isInString,
|
|
184470
184488
|
isInTemplateString: () => isInTemplateString,
|
|
184471
184489
|
isInTopLevelContext: () => isInTopLevelContext,
|
|
184490
|
+
isInTypeQuery: () => isInTypeQuery,
|
|
184472
184491
|
isIncrementalCompilation: () => isIncrementalCompilation,
|
|
184473
184492
|
isIndexSignatureDeclaration: () => isIndexSignatureDeclaration,
|
|
184474
184493
|
isIndexedAccessTypeNode: () => isIndexedAccessTypeNode,
|
|
@@ -186199,6 +186218,7 @@ ${e.message}`;
|
|
|
186199
186218
|
getEmitModuleKind: () => getEmitModuleKind,
|
|
186200
186219
|
getEmitModuleResolutionKind: () => getEmitModuleResolutionKind,
|
|
186201
186220
|
getEmitScriptTarget: () => getEmitScriptTarget,
|
|
186221
|
+
getEmitStandardClassFields: () => getEmitStandardClassFields,
|
|
186202
186222
|
getEnclosingBlockScopeContainer: () => getEnclosingBlockScopeContainer,
|
|
186203
186223
|
getEnclosingContainer: () => getEnclosingContainer,
|
|
186204
186224
|
getEncodedSemanticClassifications: () => getEncodedSemanticClassifications,
|
|
@@ -186874,6 +186894,7 @@ ${e.message}`;
|
|
|
186874
186894
|
isInString: () => isInString,
|
|
186875
186895
|
isInTemplateString: () => isInTemplateString,
|
|
186876
186896
|
isInTopLevelContext: () => isInTopLevelContext,
|
|
186897
|
+
isInTypeQuery: () => isInTypeQuery,
|
|
186877
186898
|
isIncrementalCompilation: () => isIncrementalCompilation,
|
|
186878
186899
|
isIndexSignatureDeclaration: () => isIndexSignatureDeclaration,
|
|
186879
186900
|
isIndexedAccessTypeNode: () => isIndexedAccessTypeNode,
|