typescript 5.3.0-dev.20230828 → 5.3.0-dev.20230829

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/tsserver.js CHANGED
@@ -1949,8 +1949,6 @@ __export(server_exports, {
1949
1949
  outFile: () => outFile,
1950
1950
  packageIdToPackageName: () => packageIdToPackageName,
1951
1951
  packageIdToString: () => packageIdToString,
1952
- padLeft: () => padLeft,
1953
- padRight: () => padRight,
1954
1952
  paramHelper: () => paramHelper,
1955
1953
  parameterIsThisKeyword: () => parameterIsThisKeyword,
1956
1954
  parameterNamePart: () => parameterNamePart,
@@ -2243,9 +2241,6 @@ __export(server_exports, {
2243
2241
  transpile: () => transpile,
2244
2242
  transpileModule: () => transpileModule,
2245
2243
  transpileOptionValueCompilerOptions: () => transpileOptionValueCompilerOptions,
2246
- trimString: () => trimString,
2247
- trimStringEnd: () => trimStringEnd,
2248
- trimStringStart: () => trimStringStart,
2249
2244
  tryAddToSet: () => tryAddToSet,
2250
2245
  tryAndIgnoreErrors: () => tryAndIgnoreErrors,
2251
2246
  tryCast: () => tryCast,
@@ -2332,7 +2327,7 @@ module.exports = __toCommonJS(server_exports);
2332
2327
 
2333
2328
  // src/compiler/corePublic.ts
2334
2329
  var versionMajorMinor = "5.3";
2335
- var version = `${versionMajorMinor}.0-dev.20230828`;
2330
+ var version = `${versionMajorMinor}.0-dev.20230829`;
2336
2331
  var Comparison = /* @__PURE__ */ ((Comparison3) => {
2337
2332
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
2338
2333
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -3627,10 +3622,7 @@ function getStringComparer(ignoreCase) {
3627
3622
  return ignoreCase ? compareStringsCaseInsensitive : compareStringsCaseSensitive;
3628
3623
  }
3629
3624
  var createUIStringComparer = (() => {
3630
- let defaultComparer;
3631
- let enUSComparer;
3632
- const stringComparerFactory = getStringComparerFactory();
3633
- return createStringComparer;
3625
+ return createIntlCollatorStringComparer;
3634
3626
  function compareWithCallback(a, b, comparer) {
3635
3627
  if (a === b)
3636
3628
  return 0 /* EqualTo */;
@@ -3645,41 +3637,6 @@ var createUIStringComparer = (() => {
3645
3637
  const comparer = new Intl.Collator(locale, { usage: "sort", sensitivity: "variant" }).compare;
3646
3638
  return (a, b) => compareWithCallback(a, b, comparer);
3647
3639
  }
3648
- function createLocaleCompareStringComparer(locale) {
3649
- if (locale !== void 0)
3650
- return createFallbackStringComparer();
3651
- return (a, b) => compareWithCallback(a, b, compareStrings);
3652
- function compareStrings(a, b) {
3653
- return a.localeCompare(b);
3654
- }
3655
- }
3656
- function createFallbackStringComparer() {
3657
- return (a, b) => compareWithCallback(a, b, compareDictionaryOrder);
3658
- function compareDictionaryOrder(a, b) {
3659
- return compareStrings(a.toUpperCase(), b.toUpperCase()) || compareStrings(a, b);
3660
- }
3661
- function compareStrings(a, b) {
3662
- return a < b ? -1 /* LessThan */ : a > b ? 1 /* GreaterThan */ : 0 /* EqualTo */;
3663
- }
3664
- }
3665
- function getStringComparerFactory() {
3666
- if (typeof Intl === "object" && typeof Intl.Collator === "function") {
3667
- return createIntlCollatorStringComparer;
3668
- }
3669
- if (typeof String.prototype.localeCompare === "function" && typeof String.prototype.toLocaleUpperCase === "function" && "a".localeCompare("B") < 0) {
3670
- return createLocaleCompareStringComparer;
3671
- }
3672
- return createFallbackStringComparer;
3673
- }
3674
- function createStringComparer(locale) {
3675
- if (locale === void 0) {
3676
- return defaultComparer || (defaultComparer = stringComparerFactory(locale));
3677
- } else if (locale === "en-US") {
3678
- return enUSComparer || (enUSComparer = stringComparerFactory(locale));
3679
- } else {
3680
- return stringComparerFactory(locale);
3681
- }
3682
- }
3683
3640
  })();
3684
3641
  var uiComparerCaseSensitive;
3685
3642
  var uiLocale;
@@ -3960,12 +3917,6 @@ function cartesianProductWorker(arrays, result, outer, index) {
3960
3917
  }
3961
3918
  }
3962
3919
  }
3963
- function padLeft(s, length2, padString = " ") {
3964
- return length2 <= s.length ? s : padString.repeat(length2 - s.length) + s;
3965
- }
3966
- function padRight(s, length2, padString = " ") {
3967
- return length2 <= s.length ? s : s + padString.repeat(length2 - s.length);
3968
- }
3969
3920
  function takeWhile(array, predicate) {
3970
3921
  if (array) {
3971
3922
  const len = array.length;
@@ -3986,18 +3937,6 @@ function skipWhile(array, predicate) {
3986
3937
  return array.slice(index);
3987
3938
  }
3988
3939
  }
3989
- var trimString = !!String.prototype.trim ? (s) => s.trim() : (s) => trimStringEnd(trimStringStart(s));
3990
- var trimStringEnd = !!String.prototype.trimEnd ? (s) => s.trimEnd() : trimEndImpl;
3991
- var trimStringStart = !!String.prototype.trimStart ? (s) => s.trimStart() : (s) => s.replace(/^\s+/g, "");
3992
- function trimEndImpl(s) {
3993
- let end = s.length - 1;
3994
- while (end >= 0) {
3995
- if (!isWhiteSpaceLike(s.charCodeAt(end)))
3996
- break;
3997
- end--;
3998
- }
3999
- return s.slice(0, end + 1);
4000
- }
4001
3940
  function isNodeLikeSystem() {
4002
3941
  return typeof process !== "undefined" && !!process.nextTick && !process.browser && typeof module === "object";
4003
3942
  }
@@ -5193,18 +5132,18 @@ var hyphenRegExp = /^\s*([a-z0-9-+.*]+)\s+-\s+([a-z0-9-+.*]+)\s*$/i;
5193
5132
  var rangeRegExp = /^(~|\^|<|<=|>|>=|=)?\s*([a-z0-9-+.*]+)$/i;
5194
5133
  function parseRange(text) {
5195
5134
  const alternatives = [];
5196
- for (let range of trimString(text).split(logicalOrRegExp)) {
5135
+ for (let range of text.trim().split(logicalOrRegExp)) {
5197
5136
  if (!range)
5198
5137
  continue;
5199
5138
  const comparators = [];
5200
- range = trimString(range);
5139
+ range = range.trim();
5201
5140
  const match = hyphenRegExp.exec(range);
5202
5141
  if (match) {
5203
5142
  if (!parseHyphen(match[1], match[2], comparators))
5204
5143
  return void 0;
5205
5144
  } else {
5206
5145
  for (const simple of range.split(whitespaceRegExp)) {
5207
- const match2 = rangeRegExp.exec(trimString(simple));
5146
+ const match2 = rangeRegExp.exec(simple.trim());
5208
5147
  if (!match2 || !parseComparator(match2[1], match2[2], comparators))
5209
5148
  return void 0;
5210
5149
  }
@@ -12403,7 +12342,7 @@ function createScanner(languageVersion, skipTrivia2, languageVariant = 0 /* Stan
12403
12342
  tokenFlags |= 2048 /* ContainsInvalidEscape */;
12404
12343
  if (shouldEmitInvalidEscapeError) {
12405
12344
  const code = parseInt(text.substring(start3 + 1, pos), 8);
12406
- error2(Diagnostics.Octal_escape_sequences_are_not_allowed_Use_the_syntax_0, start3, pos - start3, "\\x" + padLeft(code.toString(16), 2, "0"));
12345
+ error2(Diagnostics.Octal_escape_sequences_are_not_allowed_Use_the_syntax_0, start3, pos - start3, "\\x" + code.toString(16).padStart(2, "0"));
12407
12346
  return String.fromCharCode(code);
12408
12347
  }
12409
12348
  return text.substring(start3, pos);
@@ -13206,7 +13145,7 @@ function createScanner(languageVersion, skipTrivia2, languageVariant = 0 /* Stan
13206
13145
  return token;
13207
13146
  }
13208
13147
  function appendIfCommentDirective(commentDirectives2, text2, commentDirectiveRegEx, lineStart) {
13209
- const type = getDirectiveFromComment(trimStringStart(text2), commentDirectiveRegEx);
13148
+ const type = getDirectiveFromComment(text2.trimStart(), commentDirectiveRegEx);
13210
13149
  if (type === void 0) {
13211
13150
  return commentDirectives2;
13212
13151
  }
@@ -13540,20 +13479,9 @@ function createScanner(languageVersion, skipTrivia2, languageVariant = 0 /* Stan
13540
13479
  inJSDocType += inType ? 1 : -1;
13541
13480
  }
13542
13481
  }
13543
- var codePointAt = String.prototype.codePointAt ? (s, i) => s.codePointAt(i) : function codePointAt2(str, i) {
13544
- const size = str.length;
13545
- if (i < 0 || i >= size) {
13546
- return void 0;
13547
- }
13548
- const first2 = str.charCodeAt(i);
13549
- if (first2 >= 55296 && first2 <= 56319 && size > i + 1) {
13550
- const second = str.charCodeAt(i + 1);
13551
- if (second >= 56320 && second <= 57343) {
13552
- return (first2 - 55296) * 1024 + second - 56320 + 65536;
13553
- }
13554
- }
13555
- return first2;
13556
- };
13482
+ function codePointAt(s, i) {
13483
+ return s.codePointAt(i);
13484
+ }
13557
13485
  function charSize(ch) {
13558
13486
  if (ch >= 65536) {
13559
13487
  return 2;
@@ -15516,7 +15444,7 @@ function getTextOfNodeFromSourceText(sourceText, node, includeTrivia = false) {
15516
15444
  }
15517
15445
  let text = sourceText.substring(includeTrivia ? node.pos : skipTrivia(sourceText, node.pos), node.end);
15518
15446
  if (isJSDocTypeExpressionOrChild(node)) {
15519
- text = text.split(/\r\n|\n|\r/).map((line) => trimStringStart(line.replace(/^\s*\*/, ""))).join("\n");
15447
+ text = text.split(/\r\n|\n|\r/).map((line) => line.replace(/^\s*\*/, "").trimStart()).join("\n");
15520
15448
  }
15521
15449
  return text;
15522
15450
  }
@@ -19305,7 +19233,7 @@ function writeCommentRange(text, lineMap, writer, commentPos, commentEnd, newLin
19305
19233
  }
19306
19234
  function writeTrimmedCurrentLine(text, commentEnd, writer, newLine, pos, nextLineStart) {
19307
19235
  const end = Math.min(commentEnd, nextLineStart - 1);
19308
- const currentLineText = trimString(text.substring(pos, end));
19236
+ const currentLineText = text.substring(pos, end).trim();
19309
19237
  if (currentLineText) {
19310
19238
  writer.writeComment(currentLineText);
19311
19239
  if (end !== commentEnd) {
@@ -36148,7 +36076,7 @@ var Parser;
36148
36076
  }
36149
36077
  function parseModuleOrNamespaceDeclaration(pos, hasJSDoc, modifiers, flags) {
36150
36078
  const namespaceFlag = flags & 32 /* Namespace */;
36151
- const name = parseIdentifier();
36079
+ const name = flags & 8 /* NestedNamespace */ ? parseIdentifierName() : parseIdentifier();
36152
36080
  const body = parseOptional(25 /* DotToken */) ? parseModuleOrNamespaceDeclaration(
36153
36081
  getNodePos(),
36154
36082
  /*hasJSDoc*/
@@ -36618,8 +36546,6 @@ var Parser;
36618
36546
  PropertyLikeParse2[PropertyLikeParse2["CallbackParameter"] = 4] = "CallbackParameter";
36619
36547
  })(PropertyLikeParse || (PropertyLikeParse = {}));
36620
36548
  function parseJSDocCommentWorker(start2 = 0, length2) {
36621
- const saveParsingContext = parsingContext;
36622
- parsingContext |= 1 << 25 /* JSDocComment */;
36623
36549
  const content = sourceText;
36624
36550
  const end = length2 === void 0 ? content.length : start2 + length2;
36625
36551
  length2 = end - start2;
@@ -36636,6 +36562,8 @@ var Parser;
36636
36562
  let commentsPos;
36637
36563
  let comments = [];
36638
36564
  const parts = [];
36565
+ const saveParsingContext = parsingContext;
36566
+ parsingContext |= 1 << 25 /* JSDocComment */;
36639
36567
  const result = scanner2.scanRange(start2 + 3, length2 - 5, doJSDocScan);
36640
36568
  parsingContext = saveParsingContext;
36641
36569
  return result;
@@ -36727,7 +36655,7 @@ var Parser;
36727
36655
  nextTokenJSDoc();
36728
36656
  }
36729
36657
  }
36730
- const trimmedComments = trimStringEnd(comments.join(""));
36658
+ const trimmedComments = comments.join("").trimEnd();
36731
36659
  if (parts.length && trimmedComments.length) {
36732
36660
  parts.push(finishNode(factory2.createJSDocText(trimmedComments), linkEnd ?? start2, commentsPos));
36733
36661
  }
@@ -36743,7 +36671,7 @@ var Parser;
36743
36671
  }
36744
36672
  function removeTrailingWhitespace(comments2) {
36745
36673
  while (comments2.length) {
36746
- const trimmed = trimStringEnd(comments2[comments2.length - 1]);
36674
+ const trimmed = comments2[comments2.length - 1].trimEnd();
36747
36675
  if (trimmed === "") {
36748
36676
  comments2.pop();
36749
36677
  } else if (trimmed.length < comments2[comments2.length - 1].length) {
@@ -36983,7 +36911,7 @@ var Parser;
36983
36911
  }
36984
36912
  }
36985
36913
  removeLeadingNewlines(comments2);
36986
- const trimmedComments = trimStringEnd(comments2.join(""));
36914
+ const trimmedComments = comments2.join("").trimEnd();
36987
36915
  if (parts2.length) {
36988
36916
  if (trimmedComments.length) {
36989
36917
  parts2.push(finishNode(factory2.createJSDocText(trimmedComments), linkEnd2 ?? commentsPos2));
@@ -38067,7 +37995,7 @@ function getNamedPragmaArguments(pragma, text) {
38067
37995
  return {};
38068
37996
  if (!pragma.args)
38069
37997
  return {};
38070
- const args = trimString(text).split(/\s+/);
37998
+ const args = text.trim().split(/\s+/);
38071
37999
  const argMap = {};
38072
38000
  for (let i = 0; i < pragma.args.length; i++) {
38073
38001
  const argument = pragma.args[i];
@@ -39592,10 +39520,10 @@ function createDiagnosticForInvalidCustomType(opt, createDiagnostic) {
39592
39520
  return createDiagnostic(Diagnostics.Argument_for_0_option_must_be_Colon_1, `--${opt.name}`, stringNames);
39593
39521
  }
39594
39522
  function parseCustomTypeOption(opt, value, errors) {
39595
- return convertJsonOptionOfCustomType(opt, trimString(value || ""), errors);
39523
+ return convertJsonOptionOfCustomType(opt, (value ?? "").trim(), errors);
39596
39524
  }
39597
39525
  function parseListTypeOption(opt, value = "", errors) {
39598
- value = trimString(value);
39526
+ value = value.trim();
39599
39527
  if (startsWith(value, "-")) {
39600
39528
  return void 0;
39601
39529
  }
@@ -48283,6 +48211,7 @@ function createTypeChecker(host) {
48283
48211
  var anyType = createIntrinsicType(1 /* Any */, "any");
48284
48212
  var autoType = createIntrinsicType(1 /* Any */, "any", 262144 /* NonInferrableType */);
48285
48213
  var wildcardType = createIntrinsicType(1 /* Any */, "any");
48214
+ var blockedStringType = createIntrinsicType(1 /* Any */, "any");
48286
48215
  var errorType = createIntrinsicType(1 /* Any */, "error");
48287
48216
  var unresolvedType = createIntrinsicType(1 /* Any */, "unresolved");
48288
48217
  var nonInferrableAnyType = createIntrinsicType(1 /* Any */, "any", 65536 /* ContainsWideningType */);
@@ -49969,7 +49898,7 @@ function createTypeChecker(host) {
49969
49898
  }
49970
49899
  }
49971
49900
  function isSameScopeDescendentOf(initial, parent2, stopAt) {
49972
- return !!parent2 && !!findAncestor(initial, (n) => n === parent2 || (n === stopAt || isFunctionLike(n) && (!getImmediatelyInvokedFunctionExpression(n) || isAsyncFunction(n)) ? "quit" : false));
49901
+ return !!parent2 && !!findAncestor(initial, (n) => n === parent2 || (n === stopAt || isFunctionLike(n) && (!getImmediatelyInvokedFunctionExpression(n) || getFunctionFlags(n) & 3 /* AsyncGenerator */) ? "quit" : false));
49973
49902
  }
49974
49903
  function getAnyImportSyntax(node) {
49975
49904
  switch (node.kind) {
@@ -54193,6 +54122,7 @@ function createTypeChecker(host) {
54193
54122
  }
54194
54123
  }
54195
54124
  function symbolTableToDeclarationStatements(symbolTable, context, bundled) {
54125
+ var _a;
54196
54126
  const serializePropertySymbolForClass = makeSerializePropertySymbol(
54197
54127
  factory.createPropertyDeclaration,
54198
54128
  174 /* MethodDeclaration */,
@@ -54214,12 +54144,15 @@ function createTypeChecker(host) {
54214
54144
  ...oldcontext,
54215
54145
  usedSymbolNames: new Set(oldcontext.usedSymbolNames),
54216
54146
  remappedSymbolNames: /* @__PURE__ */ new Map(),
54147
+ remappedSymbolReferences: new Map((_a = oldcontext.remappedSymbolReferences) == null ? void 0 : _a.entries()),
54217
54148
  tracker: void 0
54218
54149
  };
54219
54150
  const tracker = {
54220
54151
  ...oldcontext.tracker.inner,
54221
54152
  trackSymbol: (sym, decl, meaning) => {
54222
- var _a;
54153
+ var _a2, _b;
54154
+ if ((_a2 = context.remappedSymbolNames) == null ? void 0 : _a2.has(getSymbolId(sym)))
54155
+ return false;
54223
54156
  const accessibleResult = isSymbolAccessible(
54224
54157
  sym,
54225
54158
  decl,
@@ -54236,7 +54169,7 @@ function createTypeChecker(host) {
54236
54169
  includePrivateSymbol(root);
54237
54170
  }
54238
54171
  }
54239
- } else if ((_a = oldcontext.tracker.inner) == null ? void 0 : _a.trackSymbol) {
54172
+ } else if ((_b = oldcontext.tracker.inner) == null ? void 0 : _b.trackSymbol) {
54240
54173
  return oldcontext.tracker.inner.trackSymbol(sym, decl, meaning);
54241
54174
  }
54242
54175
  return false;
@@ -54445,10 +54378,10 @@ function createTypeChecker(host) {
54445
54378
  context = oldContext;
54446
54379
  }
54447
54380
  }
54448
- function serializeSymbolWorker(symbol, isPrivate, propertyAsAlias) {
54449
- var _a, _b, _c, _d;
54450
- const symbolName2 = unescapeLeadingUnderscores(symbol.escapedName);
54451
- const isDefault = symbol.escapedName === "default" /* Default */;
54381
+ function serializeSymbolWorker(symbol, isPrivate, propertyAsAlias, escapedSymbolName = symbol.escapedName) {
54382
+ var _a2, _b, _c, _d, _e, _f;
54383
+ const symbolName2 = unescapeLeadingUnderscores(escapedSymbolName);
54384
+ const isDefault = escapedSymbolName === "default" /* Default */;
54452
54385
  if (isPrivate && !(context.flags & 131072 /* AllowAnonymousIdentifier */) && isStringANonContextualKeyword(symbolName2) && !isDefault) {
54453
54386
  context.encounteredError = true;
54454
54387
  return;
@@ -54459,7 +54392,7 @@ function createTypeChecker(host) {
54459
54392
  isPrivate = true;
54460
54393
  }
54461
54394
  const modifierFlags = (!isPrivate ? 1 /* Export */ : 0) | (isDefault && !needsPostExportDefault ? 1024 /* Default */ : 0);
54462
- const isConstMergedWithNS = symbol.flags & 1536 /* Module */ && symbol.flags & (2 /* BlockScopedVariable */ | 1 /* FunctionScopedVariable */ | 4 /* Property */) && symbol.escapedName !== "export=" /* ExportEquals */;
54395
+ const isConstMergedWithNS = symbol.flags & 1536 /* Module */ && symbol.flags & (2 /* BlockScopedVariable */ | 1 /* FunctionScopedVariable */ | 4 /* Property */) && escapedSymbolName !== "export=" /* ExportEquals */;
54463
54396
  const isConstMergedWithNSPrintableAsSignatureMerge = isConstMergedWithNS && isTypeRepresentableAsFunctionNamespaceMerge(getTypeOfSymbol(symbol), symbol);
54464
54397
  if (symbol.flags & (16 /* Function */ | 8192 /* Method */) || isConstMergedWithNSPrintableAsSignatureMerge) {
54465
54398
  serializeAsFunctionNamespaceMerge(getTypeOfSymbol(symbol), symbol, getInternalSymbolName(symbol, symbolName2), modifierFlags);
@@ -54467,7 +54400,7 @@ function createTypeChecker(host) {
54467
54400
  if (symbol.flags & 524288 /* TypeAlias */) {
54468
54401
  serializeTypeAlias(symbol, symbolName2, modifierFlags);
54469
54402
  }
54470
- if (symbol.flags & (2 /* BlockScopedVariable */ | 1 /* FunctionScopedVariable */ | 4 /* Property */ | 98304 /* Accessor */) && symbol.escapedName !== "export=" /* ExportEquals */ && !(symbol.flags & 4194304 /* Prototype */) && !(symbol.flags & 32 /* Class */) && !(symbol.flags & 8192 /* Method */) && !isConstMergedWithNSPrintableAsSignatureMerge) {
54403
+ if (symbol.flags & (2 /* BlockScopedVariable */ | 1 /* FunctionScopedVariable */ | 4 /* Property */ | 98304 /* Accessor */) && escapedSymbolName !== "export=" /* ExportEquals */ && !(symbol.flags & 4194304 /* Prototype */) && !(symbol.flags & 32 /* Class */) && !(symbol.flags & 8192 /* Method */) && !isConstMergedWithNSPrintableAsSignatureMerge) {
54471
54404
  if (propertyAsAlias) {
54472
54405
  const createdExport = serializeMaybeAliasAssignment(symbol);
54473
54406
  if (createdExport) {
@@ -54477,17 +54410,24 @@ function createTypeChecker(host) {
54477
54410
  } else {
54478
54411
  const type = getTypeOfSymbol(symbol);
54479
54412
  const localName = getInternalSymbolName(symbol, symbolName2);
54480
- if (!(symbol.flags & 16 /* Function */) && isTypeRepresentableAsFunctionNamespaceMerge(type, symbol)) {
54413
+ if (type.symbol && type.symbol !== symbol && type.symbol.flags & 16 /* Function */ && some(type.symbol.declarations, isFunctionExpressionOrArrowFunction) && (((_a2 = type.symbol.members) == null ? void 0 : _a2.size) || ((_b = type.symbol.exports) == null ? void 0 : _b.size))) {
54414
+ if (!context.remappedSymbolReferences) {
54415
+ context.remappedSymbolReferences = /* @__PURE__ */ new Map();
54416
+ }
54417
+ context.remappedSymbolReferences.set(getSymbolId(type.symbol), symbol);
54418
+ serializeSymbolWorker(type.symbol, isPrivate, propertyAsAlias, escapedSymbolName);
54419
+ context.remappedSymbolReferences.delete(getSymbolId(type.symbol));
54420
+ } else if (!(symbol.flags & 16 /* Function */) && isTypeRepresentableAsFunctionNamespaceMerge(type, symbol)) {
54481
54421
  serializeAsFunctionNamespaceMerge(type, symbol, localName, modifierFlags);
54482
54422
  } else {
54483
- const flags = !(symbol.flags & 2 /* BlockScopedVariable */) ? ((_a = symbol.parent) == null ? void 0 : _a.valueDeclaration) && isSourceFile((_b = symbol.parent) == null ? void 0 : _b.valueDeclaration) ? 2 /* Const */ : void 0 : isConstantVariable(symbol) ? 2 /* Const */ : 1 /* Let */;
54423
+ const flags = !(symbol.flags & 2 /* BlockScopedVariable */) ? ((_c = symbol.parent) == null ? void 0 : _c.valueDeclaration) && isSourceFile((_d = symbol.parent) == null ? void 0 : _d.valueDeclaration) ? 2 /* Const */ : void 0 : isConstantVariable(symbol) ? 2 /* Const */ : 1 /* Let */;
54484
54424
  const name = needsPostExportDefault || !(symbol.flags & 4 /* Property */) ? localName : getUnusedName(localName, symbol);
54485
54425
  let textRange = symbol.declarations && find(symbol.declarations, (d) => isVariableDeclaration(d));
54486
54426
  if (textRange && isVariableDeclarationList(textRange.parent) && textRange.parent.declarations.length === 1) {
54487
54427
  textRange = textRange.parent.parent;
54488
54428
  }
54489
- const propertyAccessRequire = (_c = symbol.declarations) == null ? void 0 : _c.find(isPropertyAccessExpression);
54490
- if (propertyAccessRequire && isBinaryExpression(propertyAccessRequire.parent) && isIdentifier(propertyAccessRequire.parent.right) && ((_d = type.symbol) == null ? void 0 : _d.valueDeclaration) && isSourceFile(type.symbol.valueDeclaration)) {
54429
+ const propertyAccessRequire = (_e = symbol.declarations) == null ? void 0 : _e.find(isPropertyAccessExpression);
54430
+ if (propertyAccessRequire && isBinaryExpression(propertyAccessRequire.parent) && isIdentifier(propertyAccessRequire.parent.right) && ((_f = type.symbol) == null ? void 0 : _f.valueDeclaration) && isSourceFile(type.symbol.valueDeclaration)) {
54491
54431
  const alias = localName === propertyAccessRequire.parent.right.escapedText ? void 0 : propertyAccessRequire.parent.right;
54492
54432
  addResult(
54493
54433
  factory.createExportDeclaration(
@@ -54642,11 +54582,11 @@ function createTypeChecker(host) {
54642
54582
  results.push(node);
54643
54583
  }
54644
54584
  function serializeTypeAlias(symbol, symbolName2, modifierFlags) {
54645
- var _a;
54585
+ var _a2;
54646
54586
  const aliasType = getDeclaredTypeOfTypeAlias(symbol);
54647
54587
  const typeParams = getSymbolLinks(symbol).typeParameters;
54648
54588
  const typeParamDecls = map(typeParams, (p) => typeParameterToDeclaration(p, context));
54649
- const jsdocAliasDecl = (_a = symbol.declarations) == null ? void 0 : _a.find(isJSDocTypeAlias);
54589
+ const jsdocAliasDecl = (_a2 = symbol.declarations) == null ? void 0 : _a2.find(isJSDocTypeAlias);
54650
54590
  const commentText = getTextOfJSDocComment(jsdocAliasDecl ? jsdocAliasDecl.comment || jsdocAliasDecl.parent.comment : void 0);
54651
54591
  const oldFlags = context.flags;
54652
54592
  context.flags |= 8388608 /* InTypeAlias */;
@@ -54717,12 +54657,12 @@ function createTypeChecker(host) {
54717
54657
  /*isTypeOnly*/
54718
54658
  false,
54719
54659
  factory.createNamedExports(mapDefined(filter(mergedMembers, (n) => n.escapedName !== "export=" /* ExportEquals */), (s) => {
54720
- var _a, _b;
54660
+ var _a2, _b;
54721
54661
  const name = unescapeLeadingUnderscores(s.escapedName);
54722
54662
  const localName2 = getInternalSymbolName(s, name);
54723
54663
  const aliasDecl = s.declarations && getDeclarationOfAliasSymbol(s);
54724
54664
  if (containingFile && (aliasDecl ? containingFile !== getSourceFileOfNode(aliasDecl) : !some(s.declarations, (d) => getSourceFileOfNode(d) === containingFile))) {
54725
- (_b = (_a = context.tracker) == null ? void 0 : _a.reportNonlocalAugmentation) == null ? void 0 : _b.call(_a, containingFile, symbol, s);
54665
+ (_b = (_a2 = context.tracker) == null ? void 0 : _a2.reportNonlocalAugmentation) == null ? void 0 : _b.call(_a2, containingFile, symbol, s);
54726
54666
  return void 0;
54727
54667
  }
54728
54668
  const target = aliasDecl && getTargetOfAliasDeclaration(
@@ -54888,8 +54828,8 @@ function createTypeChecker(host) {
54888
54828
  return void 0;
54889
54829
  }
54890
54830
  function serializeAsClass(symbol, localName, modifierFlags) {
54891
- var _a, _b;
54892
- const originalDecl = (_a = symbol.declarations) == null ? void 0 : _a.find(isClassLike);
54831
+ var _a2, _b;
54832
+ const originalDecl = (_a2 = symbol.declarations) == null ? void 0 : _a2.find(isClassLike);
54893
54833
  const oldEnclosing = context.enclosingDeclaration;
54894
54834
  context.enclosingDeclaration = originalDecl || oldEnclosing;
54895
54835
  const localParams = getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(symbol);
@@ -54985,7 +54925,7 @@ function createTypeChecker(host) {
54985
54925
  });
54986
54926
  }
54987
54927
  function serializeAsAlias(symbol, localName, modifierFlags) {
54988
- var _a, _b, _c, _d, _e;
54928
+ var _a2, _b, _c, _d, _e;
54989
54929
  const node = getDeclarationOfAliasSymbol(symbol);
54990
54930
  if (!node)
54991
54931
  return Debug.fail();
@@ -55005,7 +54945,7 @@ function createTypeChecker(host) {
55005
54945
  includePrivateSymbol(target);
55006
54946
  switch (node.kind) {
55007
54947
  case 208 /* BindingElement */:
55008
- if (((_b = (_a = node.parent) == null ? void 0 : _a.parent) == null ? void 0 : _b.kind) === 260 /* VariableDeclaration */) {
54948
+ if (((_b = (_a2 = node.parent) == null ? void 0 : _a2.parent) == null ? void 0 : _b.kind) === 260 /* VariableDeclaration */) {
55009
54949
  const specifier2 = getSpecifierForModuleSymbol(target.parent || target, context);
55010
54950
  const { propertyName } = node;
55011
54951
  addResult(
@@ -55224,7 +55164,7 @@ function createTypeChecker(host) {
55224
55164
  );
55225
55165
  }
55226
55166
  function serializeMaybeAliasAssignment(symbol) {
55227
- var _a;
55167
+ var _a2;
55228
55168
  if (symbol.flags & 4194304 /* Prototype */) {
55229
55169
  return false;
55230
55170
  }
@@ -55307,7 +55247,7 @@ function createTypeChecker(host) {
55307
55247
  void 0,
55308
55248
  serializeTypeForDeclaration(context, typeToSerialize, symbol, enclosingDeclaration, includePrivateSymbol, bundled)
55309
55249
  )
55310
- ], ((_a = context.enclosingDeclaration) == null ? void 0 : _a.kind) === 267 /* ModuleDeclaration */ ? 1 /* Let */ : 2 /* Const */)
55250
+ ], ((_a2 = context.enclosingDeclaration) == null ? void 0 : _a2.kind) === 267 /* ModuleDeclaration */ ? 1 /* Let */ : 2 /* Const */)
55311
55251
  );
55312
55252
  addResult(
55313
55253
  statement,
@@ -55337,7 +55277,7 @@ function createTypeChecker(host) {
55337
55277
  }
55338
55278
  function makeSerializePropertySymbol(createProperty2, methodKind, useAccessors) {
55339
55279
  return function serializePropertySymbol(p, isStatic2, baseType) {
55340
- var _a, _b, _c, _d, _e;
55280
+ var _a2, _b, _c, _d, _e;
55341
55281
  const modifierFlags = getDeclarationModifierFlagsFromSymbol(p);
55342
55282
  const isPrivate = !!(modifierFlags & 8 /* Private */);
55343
55283
  if (isStatic2 && p.flags & (788968 /* Type */ | 1920 /* Namespace */ | 2097152 /* Alias */)) {
@@ -55348,7 +55288,7 @@ function createTypeChecker(host) {
55348
55288
  }
55349
55289
  const flag = modifierFlags & ~512 /* Async */ | (isStatic2 ? 32 /* Static */ : 0);
55350
55290
  const name = getPropertyNameNodeForSymbol(p, context);
55351
- const firstPropertyLikeDecl = (_a = p.declarations) == null ? void 0 : _a.find(or(isPropertyDeclaration, isAccessor, isVariableDeclaration, isPropertySignature, isBinaryExpression, isPropertyAccessExpression));
55291
+ const firstPropertyLikeDecl = (_a2 = p.declarations) == null ? void 0 : _a2.find(or(isPropertyDeclaration, isAccessor, isVariableDeclaration, isPropertySignature, isBinaryExpression, isPropertyAccessExpression));
55352
55292
  if (p.flags & 98304 /* Accessor */ && useAccessors) {
55353
55293
  const result = [];
55354
55294
  if (p.flags & 65536 /* SetAccessor */) {
@@ -55594,7 +55534,7 @@ function createTypeChecker(host) {
55594
55534
  }
55595
55535
  }
55596
55536
  function getUnusedName(input, symbol) {
55597
- var _a, _b;
55537
+ var _a2, _b;
55598
55538
  const id = symbol ? getSymbolId(symbol) : void 0;
55599
55539
  if (id) {
55600
55540
  if (context.remappedSymbolNames.has(id)) {
@@ -55606,7 +55546,7 @@ function createTypeChecker(host) {
55606
55546
  }
55607
55547
  let i = 0;
55608
55548
  const original = input;
55609
- while ((_a = context.usedSymbolNames) == null ? void 0 : _a.has(input)) {
55549
+ while ((_a2 = context.usedSymbolNames) == null ? void 0 : _a2.has(input)) {
55610
55550
  i++;
55611
55551
  input = `${original}_${i}`;
55612
55552
  }
@@ -55734,6 +55674,10 @@ function createTypeChecker(host) {
55734
55674
  }
55735
55675
  }
55736
55676
  function getNameOfSymbolAsWritten(symbol, context) {
55677
+ var _a;
55678
+ if ((_a = context == null ? void 0 : context.remappedSymbolReferences) == null ? void 0 : _a.has(getSymbolId(symbol))) {
55679
+ symbol = context.remappedSymbolReferences.get(getSymbolId(symbol));
55680
+ }
55737
55681
  if (context && symbol.escapedName === "default" /* Default */ && !(context.flags & 16384 /* UseAliasDefinedOutsideCurrentScope */) && // If it's not the first part of an entity name, it must print as `default`
55738
55682
  (!(context.flags & 16777216 /* InInitialEntityName */) || // if the symbol is synthesized, it will only be referenced externally it must print as `default`
55739
55683
  !symbol.declarations || // if not in the same binding context (source file, module declaration), it must print as `default`
@@ -57897,7 +57841,13 @@ function createTypeChecker(host) {
57897
57841
  const baseTypes = getBaseTypes(source);
57898
57842
  if (baseTypes.length) {
57899
57843
  if (source.symbol && members === getMembersOfSymbol(source.symbol)) {
57900
- members = createSymbolTable(source.declaredProperties);
57844
+ const symbolTable = createSymbolTable();
57845
+ for (const symbol of members.values()) {
57846
+ if (!(symbol.flags & 262144 /* TypeParameter */)) {
57847
+ symbolTable.set(symbol.escapedName, symbol);
57848
+ }
57849
+ }
57850
+ members = symbolTable;
57901
57851
  }
57902
57852
  setStructuredTypeMembers(type, members, callSignatures, constructSignatures, indexInfos);
57903
57853
  const thisArgument = lastOrUndefined(typeArguments);
@@ -68848,7 +68798,7 @@ function createTypeChecker(host) {
68848
68798
  const constraint = getConstraintOfTypeParameter(inference.typeParameter);
68849
68799
  if (constraint) {
68850
68800
  const instantiatedConstraint = instantiateType(constraint, context.nonFixingMapper);
68851
- if (!inferredType || inferredType === wildcardType || !context.compareTypes(inferredType, getTypeWithThisArgument(instantiatedConstraint, inferredType))) {
68801
+ if (!inferredType || inferredType === blockedStringType || !context.compareTypes(inferredType, getTypeWithThisArgument(instantiatedConstraint, inferredType))) {
68852
68802
  inference.inferredType = fallbackType && context.compareTypes(fallbackType, getTypeWithThisArgument(instantiatedConstraint, fallbackType)) ? fallbackType : instantiatedConstraint;
68853
68803
  }
68854
68804
  }
@@ -74031,7 +73981,7 @@ function createTypeChecker(host) {
74031
73981
  apparentType,
74032
73982
  right.escapedText,
74033
73983
  /*skipObjectFunctionPropertyAugment*/
74034
- false,
73984
+ isConstEnumObjectType(apparentType),
74035
73985
  /*includeTypeOnlyMembers*/
74036
73986
  node.kind === 166 /* QualifiedName */
74037
73987
  );
@@ -76998,18 +76948,16 @@ function createTypeChecker(host) {
76998
76948
  const len = signature.parameters.length - (signatureHasRestParameter(signature) ? 1 : 0);
76999
76949
  for (let i = 0; i < len; i++) {
77000
76950
  const declaration = signature.parameters[i].valueDeclaration;
77001
- if (declaration.type) {
77002
- const typeNode = getEffectiveTypeAnnotationNode(declaration);
77003
- if (typeNode) {
77004
- const source = addOptionality(
77005
- getTypeFromTypeNode(typeNode),
77006
- /*isProperty*/
77007
- false,
77008
- isOptionalDeclaration(declaration)
77009
- );
77010
- const target = getTypeAtPosition(context, i);
77011
- inferTypes(inferenceContext.inferences, source, target);
77012
- }
76951
+ const typeNode = getEffectiveTypeAnnotationNode(declaration);
76952
+ if (typeNode) {
76953
+ const source = addOptionality(
76954
+ getTypeFromTypeNode(typeNode),
76955
+ /*isProperty*/
76956
+ false,
76957
+ isOptionalDeclaration(declaration)
76958
+ );
76959
+ const target = getTypeAtPosition(context, i);
76960
+ inferTypes(inferenceContext.inferences, source, target);
77013
76961
  }
77014
76962
  }
77015
76963
  }
@@ -79441,7 +79389,7 @@ function createTypeChecker(host) {
79441
79389
  return nullWideningType;
79442
79390
  case 15 /* NoSubstitutionTemplateLiteral */:
79443
79391
  case 11 /* StringLiteral */:
79444
- return hasSkipDirectInferenceFlag(node) ? wildcardType : getFreshTypeOfLiteralType(getStringLiteralType(node.text));
79392
+ return hasSkipDirectInferenceFlag(node) ? blockedStringType : getFreshTypeOfLiteralType(getStringLiteralType(node.text));
79445
79393
  case 9 /* NumericLiteral */: {
79446
79394
  checkGrammarNumericLiteral(node);
79447
79395
  const value = +node.text;
@@ -90188,7 +90136,7 @@ function tryGetSourceMappingURL(lineInfo) {
90188
90136
  const line = lineInfo.getLineText(index);
90189
90137
  const comment = sourceMapCommentRegExp.exec(line);
90190
90138
  if (comment) {
90191
- return trimStringEnd(comment[1]);
90139
+ return comment[1].trimEnd();
90192
90140
  } else if (!line.match(whitespaceOrMapCommentRegExp)) {
90193
90141
  break;
90194
90142
  }
@@ -111866,6 +111814,9 @@ function transformDeclarations(context) {
111866
111814
  if (elem.kind === 232 /* OmittedExpression */) {
111867
111815
  return elem;
111868
111816
  }
111817
+ if (elem.propertyName && isComputedPropertyName(elem.propertyName) && isEntityNameExpression(elem.propertyName.expression)) {
111818
+ checkEntityNameVisibility(elem.propertyName.expression, enclosingDeclaration);
111819
+ }
111869
111820
  if (elem.propertyName && isIdentifier(elem.propertyName) && isIdentifier(elem.name) && !elem.symbol.isReferenced && !isIdentifierANonContextualKeyword(elem.propertyName)) {
111870
111821
  return factory2.updateBindingElement(
111871
111822
  elem,
@@ -119840,17 +119791,17 @@ function formatCodeSpan(file, start2, length2, indent3, squiggleColor, host) {
119840
119791
  for (let i = firstLine; i <= lastLine; i++) {
119841
119792
  context += host.getNewLine();
119842
119793
  if (hasMoreThanFiveLines && firstLine + 1 < i && i < lastLine - 1) {
119843
- context += indent3 + formatColorAndReset(padLeft(ellipsis, gutterWidth), gutterStyleSequence) + gutterSeparator + host.getNewLine();
119794
+ context += indent3 + formatColorAndReset(ellipsis.padStart(gutterWidth), gutterStyleSequence) + gutterSeparator + host.getNewLine();
119844
119795
  i = lastLine - 1;
119845
119796
  }
119846
119797
  const lineStart = getPositionOfLineAndCharacter(file, i, 0);
119847
119798
  const lineEnd = i < lastLineInFile ? getPositionOfLineAndCharacter(file, i + 1, 0) : file.text.length;
119848
119799
  let lineContent = file.text.slice(lineStart, lineEnd);
119849
- lineContent = trimStringEnd(lineContent);
119800
+ lineContent = lineContent.trimEnd();
119850
119801
  lineContent = lineContent.replace(/\t/g, " ");
119851
- context += indent3 + formatColorAndReset(padLeft(i + 1 + "", gutterWidth), gutterStyleSequence) + gutterSeparator;
119802
+ context += indent3 + formatColorAndReset((i + 1 + "").padStart(gutterWidth), gutterStyleSequence) + gutterSeparator;
119852
119803
  context += lineContent + host.getNewLine();
119853
- context += indent3 + formatColorAndReset(padLeft("", gutterWidth), gutterStyleSequence) + gutterSeparator;
119804
+ context += indent3 + formatColorAndReset("".padStart(gutterWidth), gutterStyleSequence) + gutterSeparator;
119854
119805
  context += squiggleColor;
119855
119806
  if (i === firstLine) {
119856
119807
  const lastCharForLine = i === lastLine ? lastLineChar : void 0;
@@ -130073,7 +130024,7 @@ function findArgument(argumentName) {
130073
130024
  }
130074
130025
  function nowString() {
130075
130026
  const d = /* @__PURE__ */ new Date();
130076
- return `${padLeft(d.getHours().toString(), 2, "0")}:${padLeft(d.getMinutes().toString(), 2, "0")}:${padLeft(d.getSeconds().toString(), 2, "0")}.${padLeft(d.getMilliseconds().toString(), 3, "0")}`;
130027
+ return `${d.getHours().toString().padStart(2, "0")}:${d.getMinutes().toString().padStart(2, "0")}:${d.getSeconds().toString().padStart(2, "0")}.${d.getMilliseconds().toString().padStart(3, "0")}`;
130077
130028
  }
130078
130029
 
130079
130030
  // src/services/types.ts
@@ -166065,11 +166016,11 @@ function addRegionOutliningSpans(sourceFile, out) {
166065
166016
  }
166066
166017
  var regionDelimiterRegExp = /^#(end)?region(?:\s+(.*))?(?:\r)?$/;
166067
166018
  function isRegionDelimiter(lineText) {
166068
- lineText = trimStringStart(lineText);
166019
+ lineText = lineText.trimStart();
166069
166020
  if (!startsWith(lineText, "//")) {
166070
166021
  return null;
166071
166022
  }
166072
- lineText = trimString(lineText.slice(2));
166023
+ lineText = lineText.slice(2).trim();
166073
166024
  return regionDelimiterRegExp.exec(lineText);
166074
166025
  }
166075
166026
  function addOutliningForLeadingCommentsForPos(pos, sourceFile, cancellationToken, out) {
@@ -173864,8 +173815,6 @@ __export(ts_exports2, {
173864
173815
  outFile: () => outFile,
173865
173816
  packageIdToPackageName: () => packageIdToPackageName,
173866
173817
  packageIdToString: () => packageIdToString,
173867
- padLeft: () => padLeft,
173868
- padRight: () => padRight,
173869
173818
  paramHelper: () => paramHelper,
173870
173819
  parameterIsThisKeyword: () => parameterIsThisKeyword,
173871
173820
  parameterNamePart: () => parameterNamePart,
@@ -174158,9 +174107,6 @@ __export(ts_exports2, {
174158
174107
  transpile: () => transpile,
174159
174108
  transpileModule: () => transpileModule,
174160
174109
  transpileOptionValueCompilerOptions: () => transpileOptionValueCompilerOptions,
174161
- trimString: () => trimString,
174162
- trimStringEnd: () => trimStringEnd,
174163
- trimStringStart: () => trimStringStart,
174164
174110
  tryAddToSet: () => tryAddToSet,
174165
174111
  tryAndIgnoreErrors: () => tryAndIgnoreErrors,
174166
174112
  tryCast: () => tryCast,
@@ -188426,8 +188372,6 @@ start(initializeNodeSystem(), require("os").platform());
188426
188372
  outFile,
188427
188373
  packageIdToPackageName,
188428
188374
  packageIdToString,
188429
- padLeft,
188430
- padRight,
188431
188375
  paramHelper,
188432
188376
  parameterIsThisKeyword,
188433
188377
  parameterNamePart,
@@ -188720,9 +188664,6 @@ start(initializeNodeSystem(), require("os").platform());
188720
188664
  transpile,
188721
188665
  transpileModule,
188722
188666
  transpileOptionValueCompilerOptions,
188723
- trimString,
188724
- trimStringEnd,
188725
- trimStringStart,
188726
188667
  tryAddToSet,
188727
188668
  tryAndIgnoreErrors,
188728
188669
  tryCast,