typescript 5.2.0-dev.20230728 → 5.2.0-dev.20230730

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.
@@ -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.20230728`;
38
+ version = `${versionMajorMinor}.0-dev.20230730`;
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\\/:\-_\. ]+/g;
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\$]+)\s*\(/.exec(text);
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*)(?:\-([a-z0-9-.]+))?(?:\+([a-z0-9-.]+))?)?)?$/i;
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]+)([_\-]([a-z]+))?$/.exec(lowerCaseLocale);
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 = /[\\\"\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g;
19314
- singleQuoteEscapedCharsRegExp = /[\\\'\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g;
19315
- backtickQuoteEscapedCharsRegExp = /\r\n|[\\\`\u0000-\u001f\t\v\f\b\r\u2028\u2029\u0085]/g;
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 = /[\"\u0000-\u001f\u2028\u2029\u0085]/g;
19338
- jsxSingleQuoteEscapedCharsRegExp = /[\'\u0000-\u001f\u2028\u2029\u0085]/g;
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\/]/g;
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 !(getEmitScriptTarget(compilerOptions) === 99 /* ESNext */ && useDefineForClassFields && getContainingClass(declaration) === getContainingClass(usage) && isUsedInFunctionOrInstanceProperty(usage, declaration));
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 (getEmitScriptTarget(compilerOptions) >= 9 /* ES2022 */ && useDefineForClassFields && getContainingClass(declaration) && (isPropertyDeclaration(declaration) || isParameterPropertyDeclaration(declaration, declaration.parent))) {
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 target < 99 /* ESNext */ || !useDefineForClassFields;
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 && !(useDefineForClassFields && getEmitScriptTarget(compilerOptions) >= 9 /* ES2022 */)) {
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 mapType(objectType, (t) => {
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.fixedLength) : isGenericObjectType(objectType) && !(isTupleType(objectType) && indexTypeLessThan(indexType, objectType.target.fixedLength)) || isGenericReducibleType(objectType))) {
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 mapType(type, (t) => {
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 */) && (compilerOptions.useDefineForClassFields || !isPropertyDeclaredInAncestorClass(prop))) {
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 (compilerOptions.useDefineForClassFields) {
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 = (getEmitScriptTarget(compilerOptions) !== 99 /* ESNext */ || !useDefineForClassFields) && (some(node.parent.members, isInstancePropertyWithInitializerOrPrivateIdentifierProperty) || some(node.parameters, (p) => hasSyntacticModifier(p, 16476 /* ParameterPropertyModifier */)));
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 = !useDefineForClassFields || languageVersion < 9 /* ES2022 */;
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(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
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 (!/[*\/\s]/g.test(comment.substring(i - 1, i))) {
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 (!/[^\*|\s(/)]/.test(sourceFile.text.substring(lineStart, position))) {
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
- let insertQuestionDot = false;
158406
- if (type.isNullableType()) {
158407
- const canCorrectToQuestionDot = isRightOfDot && !isRightOfQuestionDot && preferences.includeAutomaticOptionalChainCompletions !== false;
158408
- if (canCorrectToQuestionDot || isRightOfQuestionDot) {
158409
- type = type.getNonNullableType();
158410
- if (canCorrectToQuestionDot) {
158411
- insertQuestionDot = true;
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\.]+)?(\.intellisense)?(\.min)?\.js$/i,
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 (/^.+[\.-]min\.js$/.test(normalizedNames[i])) {
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 = /[-\/\\^$*+?.()|[\]{}]/g;
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,