typescript 5.3.0-dev.20230823 → 5.3.0-dev.20230824

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 CHANGED
@@ -18,7 +18,7 @@ and limitations under the License.
18
18
 
19
19
  // src/compiler/corePublic.ts
20
20
  var versionMajorMinor = "5.3";
21
- var version = `${versionMajorMinor}.0-dev.20230823`;
21
+ var version = `${versionMajorMinor}.0-dev.20230824`;
22
22
 
23
23
  // src/compiler/core.ts
24
24
  var emptyArray = [];
@@ -11771,8 +11771,8 @@ function getInternalEmitFlags(node) {
11771
11771
  const emitNode = node.emitNode;
11772
11772
  return emitNode && emitNode.internalFlags || 0;
11773
11773
  }
11774
- function getScriptTargetFeatures() {
11775
- return new Map(Object.entries({
11774
+ var getScriptTargetFeatures = /* @__PURE__ */ memoize(
11775
+ () => new Map(Object.entries({
11776
11776
  Array: new Map(Object.entries({
11777
11777
  es2015: [
11778
11778
  "find",
@@ -11839,7 +11839,7 @@ function getScriptTargetFeatures() {
11839
11839
  "defineProperty",
11840
11840
  "deleteProperty",
11841
11841
  "get",
11842
- " getOwnPropertyDescriptor",
11842
+ "getOwnPropertyDescriptor",
11843
11843
  "getPrototypeOf",
11844
11844
  "has",
11845
11845
  "isExtensible",
@@ -12165,8 +12165,8 @@ function getScriptTargetFeatures() {
12165
12165
  "cause"
12166
12166
  ]
12167
12167
  }))
12168
- }));
12169
- }
12168
+ }))
12169
+ );
12170
12170
  function getLiteralText(node, sourceFile, flags) {
12171
12171
  if (sourceFile && canUseOriginalText(node, flags)) {
12172
12172
  return getSourceTextOfNodeFromSourceFile(sourceFile, node);
@@ -64020,12 +64020,14 @@ function createTypeChecker(host) {
64020
64020
  }
64021
64021
  function inferFromSignatures(source, target, kind) {
64022
64022
  const sourceSignatures = getSignaturesOfType(source, kind);
64023
- const targetSignatures = getSignaturesOfType(target, kind);
64024
64023
  const sourceLen = sourceSignatures.length;
64025
- const targetLen = targetSignatures.length;
64026
- const len = sourceLen < targetLen ? sourceLen : targetLen;
64027
- for (let i = 0; i < len; i++) {
64028
- inferFromSignature(getBaseSignature(sourceSignatures[sourceLen - len + i]), getErasedSignature(targetSignatures[targetLen - len + i]));
64024
+ if (sourceLen > 0) {
64025
+ const targetSignatures = getSignaturesOfType(target, kind);
64026
+ const targetLen = targetSignatures.length;
64027
+ for (let i = 0; i < targetLen; i++) {
64028
+ const sourceIndex = Math.max(sourceLen - targetLen + i, 0);
64029
+ inferFromSignature(getBaseSignature(sourceSignatures[sourceIndex]), getErasedSignature(targetSignatures[i]));
64030
+ }
64029
64031
  }
64030
64032
  }
64031
64033
  function inferFromSignature(source, target) {
@@ -65561,7 +65563,7 @@ function createTypeChecker(host) {
65561
65563
  return void 0;
65562
65564
  }
65563
65565
  function getDiscriminantPropertyAccess(expr, computedType) {
65564
- const type = declaredType.flags & 1048576 /* Union */ ? declaredType : computedType;
65566
+ const type = !(computedType.flags & 1048576 /* Union */) && declaredType.flags & 1048576 /* Union */ ? declaredType : computedType;
65565
65567
  if (type.flags & 1048576 /* Union */) {
65566
65568
  const access = getCandidateDiscriminantPropertyAccess(expr);
65567
65569
  if (access) {
package/lib/tsserver.js CHANGED
@@ -2333,7 +2333,7 @@ module.exports = __toCommonJS(server_exports);
2333
2333
 
2334
2334
  // src/compiler/corePublic.ts
2335
2335
  var versionMajorMinor = "5.3";
2336
- var version = `${versionMajorMinor}.0-dev.20230823`;
2336
+ var version = `${versionMajorMinor}.0-dev.20230824`;
2337
2337
  var Comparison = /* @__PURE__ */ ((Comparison3) => {
2338
2338
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
2339
2339
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -15541,8 +15541,8 @@ function getInternalEmitFlags(node) {
15541
15541
  const emitNode = node.emitNode;
15542
15542
  return emitNode && emitNode.internalFlags || 0;
15543
15543
  }
15544
- function getScriptTargetFeatures() {
15545
- return new Map(Object.entries({
15544
+ var getScriptTargetFeatures = /* @__PURE__ */ memoize(
15545
+ () => new Map(Object.entries({
15546
15546
  Array: new Map(Object.entries({
15547
15547
  es2015: [
15548
15548
  "find",
@@ -15609,7 +15609,7 @@ function getScriptTargetFeatures() {
15609
15609
  "defineProperty",
15610
15610
  "deleteProperty",
15611
15611
  "get",
15612
- " getOwnPropertyDescriptor",
15612
+ "getOwnPropertyDescriptor",
15613
15613
  "getPrototypeOf",
15614
15614
  "has",
15615
15615
  "isExtensible",
@@ -15935,8 +15935,8 @@ function getScriptTargetFeatures() {
15935
15935
  "cause"
15936
15936
  ]
15937
15937
  }))
15938
- }));
15939
- }
15938
+ }))
15939
+ );
15940
15940
  var GetLiteralTextFlags = /* @__PURE__ */ ((GetLiteralTextFlags2) => {
15941
15941
  GetLiteralTextFlags2[GetLiteralTextFlags2["None"] = 0] = "None";
15942
15942
  GetLiteralTextFlags2[GetLiteralTextFlags2["NeverAsciiEscape"] = 1] = "NeverAsciiEscape";
@@ -68728,12 +68728,14 @@ function createTypeChecker(host) {
68728
68728
  }
68729
68729
  function inferFromSignatures(source, target, kind) {
68730
68730
  const sourceSignatures = getSignaturesOfType(source, kind);
68731
- const targetSignatures = getSignaturesOfType(target, kind);
68732
68731
  const sourceLen = sourceSignatures.length;
68733
- const targetLen = targetSignatures.length;
68734
- const len = sourceLen < targetLen ? sourceLen : targetLen;
68735
- for (let i = 0; i < len; i++) {
68736
- inferFromSignature(getBaseSignature(sourceSignatures[sourceLen - len + i]), getErasedSignature(targetSignatures[targetLen - len + i]));
68732
+ if (sourceLen > 0) {
68733
+ const targetSignatures = getSignaturesOfType(target, kind);
68734
+ const targetLen = targetSignatures.length;
68735
+ for (let i = 0; i < targetLen; i++) {
68736
+ const sourceIndex = Math.max(sourceLen - targetLen + i, 0);
68737
+ inferFromSignature(getBaseSignature(sourceSignatures[sourceIndex]), getErasedSignature(targetSignatures[i]));
68738
+ }
68737
68739
  }
68738
68740
  }
68739
68741
  function inferFromSignature(source, target) {
@@ -70269,7 +70271,7 @@ function createTypeChecker(host) {
70269
70271
  return void 0;
70270
70272
  }
70271
70273
  function getDiscriminantPropertyAccess(expr, computedType) {
70272
- const type = declaredType.flags & 1048576 /* Union */ ? declaredType : computedType;
70274
+ const type = !(computedType.flags & 1048576 /* Union */) && declaredType.flags & 1048576 /* Union */ ? declaredType : computedType;
70273
70275
  if (type.flags & 1048576 /* Union */) {
70274
70276
  const access = getCandidateDiscriminantPropertyAccess(expr);
70275
70277
  if (access) {
@@ -164666,11 +164668,11 @@ function provideInlayHints(context) {
164666
164668
  function isSignatureSupportingReturnAnnotation(node) {
164667
164669
  return isArrowFunction(node) || isFunctionExpression(node) || isFunctionDeclaration(node) || isMethodDeclaration(node) || isGetAccessorDeclaration(node);
164668
164670
  }
164669
- function addParameterHints(text, parameter, position, isFirstVariadicArgument, sourceFile) {
164671
+ function addParameterHints(text, parameter, position, isFirstVariadicArgument) {
164670
164672
  let hintText = `${isFirstVariadicArgument ? "..." : ""}${text}`;
164671
164673
  let displayParts;
164672
164674
  if (shouldUseInteractiveInlayHints(preferences)) {
164673
- displayParts = [getNodeDisplayPart(hintText, parameter, sourceFile), { text: ":" }];
164675
+ displayParts = [getNodeDisplayPart(hintText, parameter), { text: ":" }];
164674
164676
  hintText = "";
164675
164677
  } else {
164676
164678
  hintText += ":";
@@ -164742,7 +164744,6 @@ function provideInlayHints(context) {
164742
164744
  if (!signature || !candidates.length) {
164743
164745
  return;
164744
164746
  }
164745
- const sourceFile = shouldUseInteractiveInlayHints(preferences) ? expr.getSourceFile() : void 0;
164746
164747
  let signatureParamPos = 0;
164747
164748
  for (const originalArg of args) {
164748
164749
  const arg = skipParentheses(originalArg);
@@ -164777,7 +164778,7 @@ function provideInlayHints(context) {
164777
164778
  if (leadingCommentsContainsParameterName(arg, name)) {
164778
164779
  continue;
164779
164780
  }
164780
- addParameterHints(name, parameter, originalArg.getStart(), isFirstVariadicArgument, sourceFile);
164781
+ addParameterHints(name, parameter, originalArg.getStart(), isFirstVariadicArgument);
164781
164782
  }
164782
164783
  }
164783
164784
  }
@@ -164913,7 +164914,8 @@ function provideInlayHints(context) {
164913
164914
  }
164914
164915
  return true;
164915
164916
  }
164916
- function getNodeDisplayPart(text, node, sourceFile) {
164917
+ function getNodeDisplayPart(text, node) {
164918
+ const sourceFile = node.getSourceFile();
164917
164919
  return {
164918
164920
  text,
164919
164921
  span: createTextSpanFromNode(node, sourceFile),
@@ -167712,11 +167714,12 @@ function getSymbolDisplayPartsDocumentationAndSymbolKindWorker(typeChecker, symb
167712
167714
  if (documentation.length === 0 && isIdentifier(location) && symbol.valueDeclaration && isBindingElement(symbol.valueDeclaration)) {
167713
167715
  const declaration = symbol.valueDeclaration;
167714
167716
  const parent2 = declaration.parent;
167715
- if (isIdentifier(declaration.name) && isObjectBindingPattern(parent2)) {
167716
- const name = getTextOfIdentifierOrLiteral(declaration.name);
167717
+ const name = declaration.propertyName || declaration.name;
167718
+ if (isIdentifier(name) && isObjectBindingPattern(parent2)) {
167719
+ const propertyName = getTextOfIdentifierOrLiteral(name);
167717
167720
  const objectType = typeChecker.getTypeAtLocation(parent2);
167718
167721
  documentation = firstDefined(objectType.isUnion() ? objectType.types : [objectType], (t) => {
167719
- const prop = t.getProperty(name);
167722
+ const prop = t.getProperty(propertyName);
167720
167723
  return prop ? prop.getDocumentationComment(typeChecker) : void 0;
167721
167724
  }) || emptyArray;
167722
167725
  }
@@ -183599,14 +183602,22 @@ Project '${project.projectName}' (${ProjectKind[project.projectKind]}) ${counter
183599
183602
  return {
183600
183603
  ...hint,
183601
183604
  position: scriptInfo.positionToLineOffset(position),
183602
- displayParts: displayParts == null ? void 0 : displayParts.map(({ text, span, file: file2 }) => ({
183603
- text,
183604
- span: span && {
183605
- start: scriptInfo.positionToLineOffset(span.start),
183606
- end: scriptInfo.positionToLineOffset(span.start + span.length),
183607
- file: file2
183605
+ displayParts: displayParts == null ? void 0 : displayParts.map(({ text, span, file: file2 }) => {
183606
+ if (span) {
183607
+ Debug.assertIsDefined(file2, "Target file should be defined together with its span.");
183608
+ const scriptInfo2 = this.projectService.getScriptInfo(file2);
183609
+ return {
183610
+ text,
183611
+ span: {
183612
+ start: scriptInfo2.positionToLineOffset(span.start),
183613
+ end: scriptInfo2.positionToLineOffset(span.start + span.length),
183614
+ file: file2
183615
+ }
183616
+ };
183617
+ } else {
183618
+ return { text };
183608
183619
  }
183609
- }))
183620
+ })
183610
183621
  };
183611
183622
  });
183612
183623
  }
package/lib/typescript.js CHANGED
@@ -35,7 +35,7 @@ var ts = (() => {
35
35
  "src/compiler/corePublic.ts"() {
36
36
  "use strict";
37
37
  versionMajorMinor = "5.3";
38
- version = `${versionMajorMinor}.0-dev.20230823`;
38
+ version = `${versionMajorMinor}.0-dev.20230824`;
39
39
  Comparison = /* @__PURE__ */ ((Comparison3) => {
40
40
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
41
41
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -13329,402 +13329,6 @@ ${lanes.join("\n")}
13329
13329
  const emitNode = node.emitNode;
13330
13330
  return emitNode && emitNode.internalFlags || 0;
13331
13331
  }
13332
- function getScriptTargetFeatures() {
13333
- return new Map(Object.entries({
13334
- Array: new Map(Object.entries({
13335
- es2015: [
13336
- "find",
13337
- "findIndex",
13338
- "fill",
13339
- "copyWithin",
13340
- "entries",
13341
- "keys",
13342
- "values"
13343
- ],
13344
- es2016: [
13345
- "includes"
13346
- ],
13347
- es2019: [
13348
- "flat",
13349
- "flatMap"
13350
- ],
13351
- es2022: [
13352
- "at"
13353
- ],
13354
- es2023: [
13355
- "findLastIndex",
13356
- "findLast"
13357
- ]
13358
- })),
13359
- Iterator: new Map(Object.entries({
13360
- es2015: emptyArray
13361
- })),
13362
- AsyncIterator: new Map(Object.entries({
13363
- es2015: emptyArray
13364
- })),
13365
- Atomics: new Map(Object.entries({
13366
- es2017: emptyArray
13367
- })),
13368
- SharedArrayBuffer: new Map(Object.entries({
13369
- es2017: emptyArray
13370
- })),
13371
- AsyncIterable: new Map(Object.entries({
13372
- es2018: emptyArray
13373
- })),
13374
- AsyncIterableIterator: new Map(Object.entries({
13375
- es2018: emptyArray
13376
- })),
13377
- AsyncGenerator: new Map(Object.entries({
13378
- es2018: emptyArray
13379
- })),
13380
- AsyncGeneratorFunction: new Map(Object.entries({
13381
- es2018: emptyArray
13382
- })),
13383
- RegExp: new Map(Object.entries({
13384
- es2015: [
13385
- "flags",
13386
- "sticky",
13387
- "unicode"
13388
- ],
13389
- es2018: [
13390
- "dotAll"
13391
- ]
13392
- })),
13393
- Reflect: new Map(Object.entries({
13394
- es2015: [
13395
- "apply",
13396
- "construct",
13397
- "defineProperty",
13398
- "deleteProperty",
13399
- "get",
13400
- " getOwnPropertyDescriptor",
13401
- "getPrototypeOf",
13402
- "has",
13403
- "isExtensible",
13404
- "ownKeys",
13405
- "preventExtensions",
13406
- "set",
13407
- "setPrototypeOf"
13408
- ]
13409
- })),
13410
- ArrayConstructor: new Map(Object.entries({
13411
- es2015: [
13412
- "from",
13413
- "of"
13414
- ]
13415
- })),
13416
- ObjectConstructor: new Map(Object.entries({
13417
- es2015: [
13418
- "assign",
13419
- "getOwnPropertySymbols",
13420
- "keys",
13421
- "is",
13422
- "setPrototypeOf"
13423
- ],
13424
- es2017: [
13425
- "values",
13426
- "entries",
13427
- "getOwnPropertyDescriptors"
13428
- ],
13429
- es2019: [
13430
- "fromEntries"
13431
- ],
13432
- es2022: [
13433
- "hasOwn"
13434
- ]
13435
- })),
13436
- NumberConstructor: new Map(Object.entries({
13437
- es2015: [
13438
- "isFinite",
13439
- "isInteger",
13440
- "isNaN",
13441
- "isSafeInteger",
13442
- "parseFloat",
13443
- "parseInt"
13444
- ]
13445
- })),
13446
- Math: new Map(Object.entries({
13447
- es2015: [
13448
- "clz32",
13449
- "imul",
13450
- "sign",
13451
- "log10",
13452
- "log2",
13453
- "log1p",
13454
- "expm1",
13455
- "cosh",
13456
- "sinh",
13457
- "tanh",
13458
- "acosh",
13459
- "asinh",
13460
- "atanh",
13461
- "hypot",
13462
- "trunc",
13463
- "fround",
13464
- "cbrt"
13465
- ]
13466
- })),
13467
- Map: new Map(Object.entries({
13468
- es2015: [
13469
- "entries",
13470
- "keys",
13471
- "values"
13472
- ]
13473
- })),
13474
- Set: new Map(Object.entries({
13475
- es2015: [
13476
- "entries",
13477
- "keys",
13478
- "values"
13479
- ]
13480
- })),
13481
- PromiseConstructor: new Map(Object.entries({
13482
- es2015: [
13483
- "all",
13484
- "race",
13485
- "reject",
13486
- "resolve"
13487
- ],
13488
- es2020: [
13489
- "allSettled"
13490
- ],
13491
- es2021: [
13492
- "any"
13493
- ]
13494
- })),
13495
- Symbol: new Map(Object.entries({
13496
- es2015: [
13497
- "for",
13498
- "keyFor"
13499
- ],
13500
- es2019: [
13501
- "description"
13502
- ]
13503
- })),
13504
- WeakMap: new Map(Object.entries({
13505
- es2015: [
13506
- "entries",
13507
- "keys",
13508
- "values"
13509
- ]
13510
- })),
13511
- WeakSet: new Map(Object.entries({
13512
- es2015: [
13513
- "entries",
13514
- "keys",
13515
- "values"
13516
- ]
13517
- })),
13518
- String: new Map(Object.entries({
13519
- es2015: [
13520
- "codePointAt",
13521
- "includes",
13522
- "endsWith",
13523
- "normalize",
13524
- "repeat",
13525
- "startsWith",
13526
- "anchor",
13527
- "big",
13528
- "blink",
13529
- "bold",
13530
- "fixed",
13531
- "fontcolor",
13532
- "fontsize",
13533
- "italics",
13534
- "link",
13535
- "small",
13536
- "strike",
13537
- "sub",
13538
- "sup"
13539
- ],
13540
- es2017: [
13541
- "padStart",
13542
- "padEnd"
13543
- ],
13544
- es2019: [
13545
- "trimStart",
13546
- "trimEnd",
13547
- "trimLeft",
13548
- "trimRight"
13549
- ],
13550
- es2020: [
13551
- "matchAll"
13552
- ],
13553
- es2021: [
13554
- "replaceAll"
13555
- ],
13556
- es2022: [
13557
- "at"
13558
- ]
13559
- })),
13560
- StringConstructor: new Map(Object.entries({
13561
- es2015: [
13562
- "fromCodePoint",
13563
- "raw"
13564
- ]
13565
- })),
13566
- DateTimeFormat: new Map(Object.entries({
13567
- es2017: [
13568
- "formatToParts"
13569
- ]
13570
- })),
13571
- Promise: new Map(Object.entries({
13572
- es2015: emptyArray,
13573
- es2018: [
13574
- "finally"
13575
- ]
13576
- })),
13577
- RegExpMatchArray: new Map(Object.entries({
13578
- es2018: [
13579
- "groups"
13580
- ]
13581
- })),
13582
- RegExpExecArray: new Map(Object.entries({
13583
- es2018: [
13584
- "groups"
13585
- ]
13586
- })),
13587
- Intl: new Map(Object.entries({
13588
- es2018: [
13589
- "PluralRules"
13590
- ]
13591
- })),
13592
- NumberFormat: new Map(Object.entries({
13593
- es2018: [
13594
- "formatToParts"
13595
- ]
13596
- })),
13597
- SymbolConstructor: new Map(Object.entries({
13598
- es2020: [
13599
- "matchAll"
13600
- ]
13601
- })),
13602
- DataView: new Map(Object.entries({
13603
- es2020: [
13604
- "setBigInt64",
13605
- "setBigUint64",
13606
- "getBigInt64",
13607
- "getBigUint64"
13608
- ]
13609
- })),
13610
- BigInt: new Map(Object.entries({
13611
- es2020: emptyArray
13612
- })),
13613
- RelativeTimeFormat: new Map(Object.entries({
13614
- es2020: [
13615
- "format",
13616
- "formatToParts",
13617
- "resolvedOptions"
13618
- ]
13619
- })),
13620
- Int8Array: new Map(Object.entries({
13621
- es2022: [
13622
- "at"
13623
- ],
13624
- es2023: [
13625
- "findLastIndex",
13626
- "findLast"
13627
- ]
13628
- })),
13629
- Uint8Array: new Map(Object.entries({
13630
- es2022: [
13631
- "at"
13632
- ],
13633
- es2023: [
13634
- "findLastIndex",
13635
- "findLast"
13636
- ]
13637
- })),
13638
- Uint8ClampedArray: new Map(Object.entries({
13639
- es2022: [
13640
- "at"
13641
- ],
13642
- es2023: [
13643
- "findLastIndex",
13644
- "findLast"
13645
- ]
13646
- })),
13647
- Int16Array: new Map(Object.entries({
13648
- es2022: [
13649
- "at"
13650
- ],
13651
- es2023: [
13652
- "findLastIndex",
13653
- "findLast"
13654
- ]
13655
- })),
13656
- Uint16Array: new Map(Object.entries({
13657
- es2022: [
13658
- "at"
13659
- ],
13660
- es2023: [
13661
- "findLastIndex",
13662
- "findLast"
13663
- ]
13664
- })),
13665
- Int32Array: new Map(Object.entries({
13666
- es2022: [
13667
- "at"
13668
- ],
13669
- es2023: [
13670
- "findLastIndex",
13671
- "findLast"
13672
- ]
13673
- })),
13674
- Uint32Array: new Map(Object.entries({
13675
- es2022: [
13676
- "at"
13677
- ],
13678
- es2023: [
13679
- "findLastIndex",
13680
- "findLast"
13681
- ]
13682
- })),
13683
- Float32Array: new Map(Object.entries({
13684
- es2022: [
13685
- "at"
13686
- ],
13687
- es2023: [
13688
- "findLastIndex",
13689
- "findLast"
13690
- ]
13691
- })),
13692
- Float64Array: new Map(Object.entries({
13693
- es2022: [
13694
- "at"
13695
- ],
13696
- es2023: [
13697
- "findLastIndex",
13698
- "findLast"
13699
- ]
13700
- })),
13701
- BigInt64Array: new Map(Object.entries({
13702
- es2020: emptyArray,
13703
- es2022: [
13704
- "at"
13705
- ],
13706
- es2023: [
13707
- "findLastIndex",
13708
- "findLast"
13709
- ]
13710
- })),
13711
- BigUint64Array: new Map(Object.entries({
13712
- es2020: emptyArray,
13713
- es2022: [
13714
- "at"
13715
- ],
13716
- es2023: [
13717
- "findLastIndex",
13718
- "findLast"
13719
- ]
13720
- })),
13721
- Error: new Map(Object.entries({
13722
- es2022: [
13723
- "cause"
13724
- ]
13725
- }))
13726
- }));
13727
- }
13728
13332
  function getLiteralText(node, sourceFile, flags) {
13729
13333
  if (sourceFile && canUseOriginalText(node, flags)) {
13730
13334
  return getSourceTextOfNodeFromSourceFile(sourceFile, node);
@@ -19303,7 +18907,7 @@ ${lanes.join("\n")}
19303
18907
  }
19304
18908
  return Debug.fail();
19305
18909
  }
19306
- var resolvingEmptyArray, externalHelpersModuleNameText, defaultMaximumTruncationLength, noTruncationMaximumTruncationLength, stringWriter, GetLiteralTextFlags, fullTripleSlashReferencePathRegEx, fullTripleSlashReferenceTypeReferenceDirectiveRegEx, fullTripleSlashLibReferenceRegEx, fullTripleSlashAMDReferencePathRegEx, fullTripleSlashAMDModuleRegEx, defaultLibReferenceRegEx, AssignmentKind, FunctionFlags, Associativity, OperatorPrecedence, templateSubstitutionRegExp, doubleQuoteEscapedCharsRegExp, singleQuoteEscapedCharsRegExp, backtickQuoteEscapedCharsRegExp, escapedCharsMap, nonAsciiCharacters, jsxDoubleQuoteEscapedCharsRegExp, jsxSingleQuoteEscapedCharsRegExp, jsxEscapedCharsMap, indentStrings, base64Digits, carriageReturnLineFeed, lineFeed, objectAllocator, objectAllocatorPatchers, localizedDiagnosticMessages, reservedCharacterPattern, wildcardCharCodes, commonPackageFolders, implicitExcludePathRegexPattern, filesMatcher, directoriesMatcher, excludeMatcher, wildcardMatchers, supportedTSExtensions, supportedTSExtensionsFlat, supportedTSExtensionsWithJson, supportedTSExtensionsForExtractExtension, supportedJSExtensions, supportedJSExtensionsFlat, allSupportedExtensions, allSupportedExtensionsWithJson, supportedDeclarationExtensions, supportedTSImplementationExtensions, extensionsNotSupportingExtensionlessResolution, ModuleSpecifierEnding, extensionsToRemove, emptyFileSystemEntries;
18910
+ var resolvingEmptyArray, externalHelpersModuleNameText, defaultMaximumTruncationLength, noTruncationMaximumTruncationLength, stringWriter, getScriptTargetFeatures, GetLiteralTextFlags, fullTripleSlashReferencePathRegEx, fullTripleSlashReferenceTypeReferenceDirectiveRegEx, fullTripleSlashLibReferenceRegEx, fullTripleSlashAMDReferencePathRegEx, fullTripleSlashAMDModuleRegEx, defaultLibReferenceRegEx, AssignmentKind, FunctionFlags, Associativity, OperatorPrecedence, templateSubstitutionRegExp, doubleQuoteEscapedCharsRegExp, singleQuoteEscapedCharsRegExp, backtickQuoteEscapedCharsRegExp, escapedCharsMap, nonAsciiCharacters, jsxDoubleQuoteEscapedCharsRegExp, jsxSingleQuoteEscapedCharsRegExp, jsxEscapedCharsMap, indentStrings, base64Digits, carriageReturnLineFeed, lineFeed, objectAllocator, objectAllocatorPatchers, localizedDiagnosticMessages, reservedCharacterPattern, wildcardCharCodes, commonPackageFolders, implicitExcludePathRegexPattern, filesMatcher, directoriesMatcher, excludeMatcher, wildcardMatchers, supportedTSExtensions, supportedTSExtensionsFlat, supportedTSExtensionsWithJson, supportedTSExtensionsForExtractExtension, supportedJSExtensions, supportedJSExtensionsFlat, allSupportedExtensions, allSupportedExtensionsWithJson, supportedDeclarationExtensions, supportedTSImplementationExtensions, extensionsNotSupportingExtensionlessResolution, ModuleSpecifierEnding, extensionsToRemove, emptyFileSystemEntries;
19307
18911
  var init_utilities = __esm({
19308
18912
  "src/compiler/utilities.ts"() {
19309
18913
  "use strict";
@@ -19313,6 +18917,402 @@ ${lanes.join("\n")}
19313
18917
  defaultMaximumTruncationLength = 160;
19314
18918
  noTruncationMaximumTruncationLength = 1e6;
19315
18919
  stringWriter = createSingleLineStringWriter();
18920
+ getScriptTargetFeatures = /* @__PURE__ */ memoize(
18921
+ () => new Map(Object.entries({
18922
+ Array: new Map(Object.entries({
18923
+ es2015: [
18924
+ "find",
18925
+ "findIndex",
18926
+ "fill",
18927
+ "copyWithin",
18928
+ "entries",
18929
+ "keys",
18930
+ "values"
18931
+ ],
18932
+ es2016: [
18933
+ "includes"
18934
+ ],
18935
+ es2019: [
18936
+ "flat",
18937
+ "flatMap"
18938
+ ],
18939
+ es2022: [
18940
+ "at"
18941
+ ],
18942
+ es2023: [
18943
+ "findLastIndex",
18944
+ "findLast"
18945
+ ]
18946
+ })),
18947
+ Iterator: new Map(Object.entries({
18948
+ es2015: emptyArray
18949
+ })),
18950
+ AsyncIterator: new Map(Object.entries({
18951
+ es2015: emptyArray
18952
+ })),
18953
+ Atomics: new Map(Object.entries({
18954
+ es2017: emptyArray
18955
+ })),
18956
+ SharedArrayBuffer: new Map(Object.entries({
18957
+ es2017: emptyArray
18958
+ })),
18959
+ AsyncIterable: new Map(Object.entries({
18960
+ es2018: emptyArray
18961
+ })),
18962
+ AsyncIterableIterator: new Map(Object.entries({
18963
+ es2018: emptyArray
18964
+ })),
18965
+ AsyncGenerator: new Map(Object.entries({
18966
+ es2018: emptyArray
18967
+ })),
18968
+ AsyncGeneratorFunction: new Map(Object.entries({
18969
+ es2018: emptyArray
18970
+ })),
18971
+ RegExp: new Map(Object.entries({
18972
+ es2015: [
18973
+ "flags",
18974
+ "sticky",
18975
+ "unicode"
18976
+ ],
18977
+ es2018: [
18978
+ "dotAll"
18979
+ ]
18980
+ })),
18981
+ Reflect: new Map(Object.entries({
18982
+ es2015: [
18983
+ "apply",
18984
+ "construct",
18985
+ "defineProperty",
18986
+ "deleteProperty",
18987
+ "get",
18988
+ "getOwnPropertyDescriptor",
18989
+ "getPrototypeOf",
18990
+ "has",
18991
+ "isExtensible",
18992
+ "ownKeys",
18993
+ "preventExtensions",
18994
+ "set",
18995
+ "setPrototypeOf"
18996
+ ]
18997
+ })),
18998
+ ArrayConstructor: new Map(Object.entries({
18999
+ es2015: [
19000
+ "from",
19001
+ "of"
19002
+ ]
19003
+ })),
19004
+ ObjectConstructor: new Map(Object.entries({
19005
+ es2015: [
19006
+ "assign",
19007
+ "getOwnPropertySymbols",
19008
+ "keys",
19009
+ "is",
19010
+ "setPrototypeOf"
19011
+ ],
19012
+ es2017: [
19013
+ "values",
19014
+ "entries",
19015
+ "getOwnPropertyDescriptors"
19016
+ ],
19017
+ es2019: [
19018
+ "fromEntries"
19019
+ ],
19020
+ es2022: [
19021
+ "hasOwn"
19022
+ ]
19023
+ })),
19024
+ NumberConstructor: new Map(Object.entries({
19025
+ es2015: [
19026
+ "isFinite",
19027
+ "isInteger",
19028
+ "isNaN",
19029
+ "isSafeInteger",
19030
+ "parseFloat",
19031
+ "parseInt"
19032
+ ]
19033
+ })),
19034
+ Math: new Map(Object.entries({
19035
+ es2015: [
19036
+ "clz32",
19037
+ "imul",
19038
+ "sign",
19039
+ "log10",
19040
+ "log2",
19041
+ "log1p",
19042
+ "expm1",
19043
+ "cosh",
19044
+ "sinh",
19045
+ "tanh",
19046
+ "acosh",
19047
+ "asinh",
19048
+ "atanh",
19049
+ "hypot",
19050
+ "trunc",
19051
+ "fround",
19052
+ "cbrt"
19053
+ ]
19054
+ })),
19055
+ Map: new Map(Object.entries({
19056
+ es2015: [
19057
+ "entries",
19058
+ "keys",
19059
+ "values"
19060
+ ]
19061
+ })),
19062
+ Set: new Map(Object.entries({
19063
+ es2015: [
19064
+ "entries",
19065
+ "keys",
19066
+ "values"
19067
+ ]
19068
+ })),
19069
+ PromiseConstructor: new Map(Object.entries({
19070
+ es2015: [
19071
+ "all",
19072
+ "race",
19073
+ "reject",
19074
+ "resolve"
19075
+ ],
19076
+ es2020: [
19077
+ "allSettled"
19078
+ ],
19079
+ es2021: [
19080
+ "any"
19081
+ ]
19082
+ })),
19083
+ Symbol: new Map(Object.entries({
19084
+ es2015: [
19085
+ "for",
19086
+ "keyFor"
19087
+ ],
19088
+ es2019: [
19089
+ "description"
19090
+ ]
19091
+ })),
19092
+ WeakMap: new Map(Object.entries({
19093
+ es2015: [
19094
+ "entries",
19095
+ "keys",
19096
+ "values"
19097
+ ]
19098
+ })),
19099
+ WeakSet: new Map(Object.entries({
19100
+ es2015: [
19101
+ "entries",
19102
+ "keys",
19103
+ "values"
19104
+ ]
19105
+ })),
19106
+ String: new Map(Object.entries({
19107
+ es2015: [
19108
+ "codePointAt",
19109
+ "includes",
19110
+ "endsWith",
19111
+ "normalize",
19112
+ "repeat",
19113
+ "startsWith",
19114
+ "anchor",
19115
+ "big",
19116
+ "blink",
19117
+ "bold",
19118
+ "fixed",
19119
+ "fontcolor",
19120
+ "fontsize",
19121
+ "italics",
19122
+ "link",
19123
+ "small",
19124
+ "strike",
19125
+ "sub",
19126
+ "sup"
19127
+ ],
19128
+ es2017: [
19129
+ "padStart",
19130
+ "padEnd"
19131
+ ],
19132
+ es2019: [
19133
+ "trimStart",
19134
+ "trimEnd",
19135
+ "trimLeft",
19136
+ "trimRight"
19137
+ ],
19138
+ es2020: [
19139
+ "matchAll"
19140
+ ],
19141
+ es2021: [
19142
+ "replaceAll"
19143
+ ],
19144
+ es2022: [
19145
+ "at"
19146
+ ]
19147
+ })),
19148
+ StringConstructor: new Map(Object.entries({
19149
+ es2015: [
19150
+ "fromCodePoint",
19151
+ "raw"
19152
+ ]
19153
+ })),
19154
+ DateTimeFormat: new Map(Object.entries({
19155
+ es2017: [
19156
+ "formatToParts"
19157
+ ]
19158
+ })),
19159
+ Promise: new Map(Object.entries({
19160
+ es2015: emptyArray,
19161
+ es2018: [
19162
+ "finally"
19163
+ ]
19164
+ })),
19165
+ RegExpMatchArray: new Map(Object.entries({
19166
+ es2018: [
19167
+ "groups"
19168
+ ]
19169
+ })),
19170
+ RegExpExecArray: new Map(Object.entries({
19171
+ es2018: [
19172
+ "groups"
19173
+ ]
19174
+ })),
19175
+ Intl: new Map(Object.entries({
19176
+ es2018: [
19177
+ "PluralRules"
19178
+ ]
19179
+ })),
19180
+ NumberFormat: new Map(Object.entries({
19181
+ es2018: [
19182
+ "formatToParts"
19183
+ ]
19184
+ })),
19185
+ SymbolConstructor: new Map(Object.entries({
19186
+ es2020: [
19187
+ "matchAll"
19188
+ ]
19189
+ })),
19190
+ DataView: new Map(Object.entries({
19191
+ es2020: [
19192
+ "setBigInt64",
19193
+ "setBigUint64",
19194
+ "getBigInt64",
19195
+ "getBigUint64"
19196
+ ]
19197
+ })),
19198
+ BigInt: new Map(Object.entries({
19199
+ es2020: emptyArray
19200
+ })),
19201
+ RelativeTimeFormat: new Map(Object.entries({
19202
+ es2020: [
19203
+ "format",
19204
+ "formatToParts",
19205
+ "resolvedOptions"
19206
+ ]
19207
+ })),
19208
+ Int8Array: new Map(Object.entries({
19209
+ es2022: [
19210
+ "at"
19211
+ ],
19212
+ es2023: [
19213
+ "findLastIndex",
19214
+ "findLast"
19215
+ ]
19216
+ })),
19217
+ Uint8Array: new Map(Object.entries({
19218
+ es2022: [
19219
+ "at"
19220
+ ],
19221
+ es2023: [
19222
+ "findLastIndex",
19223
+ "findLast"
19224
+ ]
19225
+ })),
19226
+ Uint8ClampedArray: new Map(Object.entries({
19227
+ es2022: [
19228
+ "at"
19229
+ ],
19230
+ es2023: [
19231
+ "findLastIndex",
19232
+ "findLast"
19233
+ ]
19234
+ })),
19235
+ Int16Array: new Map(Object.entries({
19236
+ es2022: [
19237
+ "at"
19238
+ ],
19239
+ es2023: [
19240
+ "findLastIndex",
19241
+ "findLast"
19242
+ ]
19243
+ })),
19244
+ Uint16Array: new Map(Object.entries({
19245
+ es2022: [
19246
+ "at"
19247
+ ],
19248
+ es2023: [
19249
+ "findLastIndex",
19250
+ "findLast"
19251
+ ]
19252
+ })),
19253
+ Int32Array: new Map(Object.entries({
19254
+ es2022: [
19255
+ "at"
19256
+ ],
19257
+ es2023: [
19258
+ "findLastIndex",
19259
+ "findLast"
19260
+ ]
19261
+ })),
19262
+ Uint32Array: new Map(Object.entries({
19263
+ es2022: [
19264
+ "at"
19265
+ ],
19266
+ es2023: [
19267
+ "findLastIndex",
19268
+ "findLast"
19269
+ ]
19270
+ })),
19271
+ Float32Array: new Map(Object.entries({
19272
+ es2022: [
19273
+ "at"
19274
+ ],
19275
+ es2023: [
19276
+ "findLastIndex",
19277
+ "findLast"
19278
+ ]
19279
+ })),
19280
+ Float64Array: new Map(Object.entries({
19281
+ es2022: [
19282
+ "at"
19283
+ ],
19284
+ es2023: [
19285
+ "findLastIndex",
19286
+ "findLast"
19287
+ ]
19288
+ })),
19289
+ BigInt64Array: new Map(Object.entries({
19290
+ es2020: emptyArray,
19291
+ es2022: [
19292
+ "at"
19293
+ ],
19294
+ es2023: [
19295
+ "findLastIndex",
19296
+ "findLast"
19297
+ ]
19298
+ })),
19299
+ BigUint64Array: new Map(Object.entries({
19300
+ es2020: emptyArray,
19301
+ es2022: [
19302
+ "at"
19303
+ ],
19304
+ es2023: [
19305
+ "findLastIndex",
19306
+ "findLast"
19307
+ ]
19308
+ })),
19309
+ Error: new Map(Object.entries({
19310
+ es2022: [
19311
+ "cause"
19312
+ ]
19313
+ }))
19314
+ }))
19315
+ );
19316
19316
  GetLiteralTextFlags = /* @__PURE__ */ ((GetLiteralTextFlags2) => {
19317
19317
  GetLiteralTextFlags2[GetLiteralTextFlags2["None"] = 0] = "None";
19318
19318
  GetLiteralTextFlags2[GetLiteralTextFlags2["NeverAsciiEscape"] = 1] = "NeverAsciiEscape";
@@ -66489,12 +66489,14 @@ ${lanes.join("\n")}
66489
66489
  }
66490
66490
  function inferFromSignatures(source, target, kind) {
66491
66491
  const sourceSignatures = getSignaturesOfType(source, kind);
66492
- const targetSignatures = getSignaturesOfType(target, kind);
66493
66492
  const sourceLen = sourceSignatures.length;
66494
- const targetLen = targetSignatures.length;
66495
- const len = sourceLen < targetLen ? sourceLen : targetLen;
66496
- for (let i = 0; i < len; i++) {
66497
- inferFromSignature(getBaseSignature(sourceSignatures[sourceLen - len + i]), getErasedSignature(targetSignatures[targetLen - len + i]));
66493
+ if (sourceLen > 0) {
66494
+ const targetSignatures = getSignaturesOfType(target, kind);
66495
+ const targetLen = targetSignatures.length;
66496
+ for (let i = 0; i < targetLen; i++) {
66497
+ const sourceIndex = Math.max(sourceLen - targetLen + i, 0);
66498
+ inferFromSignature(getBaseSignature(sourceSignatures[sourceIndex]), getErasedSignature(targetSignatures[i]));
66499
+ }
66498
66500
  }
66499
66501
  }
66500
66502
  function inferFromSignature(source, target) {
@@ -68030,7 +68032,7 @@ ${lanes.join("\n")}
68030
68032
  return void 0;
68031
68033
  }
68032
68034
  function getDiscriminantPropertyAccess(expr, computedType) {
68033
- const type = declaredType.flags & 1048576 /* Union */ ? declaredType : computedType;
68035
+ const type = !(computedType.flags & 1048576 /* Union */) && declaredType.flags & 1048576 /* Union */ ? declaredType : computedType;
68034
68036
  if (type.flags & 1048576 /* Union */) {
68035
68037
  const access = getCandidateDiscriminantPropertyAccess(expr);
68036
68038
  if (access) {
@@ -164012,11 +164014,11 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
164012
164014
  function isSignatureSupportingReturnAnnotation(node) {
164013
164015
  return isArrowFunction(node) || isFunctionExpression(node) || isFunctionDeclaration(node) || isMethodDeclaration(node) || isGetAccessorDeclaration(node);
164014
164016
  }
164015
- function addParameterHints(text, parameter, position, isFirstVariadicArgument, sourceFile) {
164017
+ function addParameterHints(text, parameter, position, isFirstVariadicArgument) {
164016
164018
  let hintText = `${isFirstVariadicArgument ? "..." : ""}${text}`;
164017
164019
  let displayParts;
164018
164020
  if (shouldUseInteractiveInlayHints(preferences)) {
164019
- displayParts = [getNodeDisplayPart(hintText, parameter, sourceFile), { text: ":" }];
164021
+ displayParts = [getNodeDisplayPart(hintText, parameter), { text: ":" }];
164020
164022
  hintText = "";
164021
164023
  } else {
164022
164024
  hintText += ":";
@@ -164088,7 +164090,6 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
164088
164090
  if (!signature || !candidates.length) {
164089
164091
  return;
164090
164092
  }
164091
- const sourceFile = shouldUseInteractiveInlayHints(preferences) ? expr.getSourceFile() : void 0;
164092
164093
  let signatureParamPos = 0;
164093
164094
  for (const originalArg of args) {
164094
164095
  const arg = skipParentheses(originalArg);
@@ -164123,7 +164124,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
164123
164124
  if (leadingCommentsContainsParameterName(arg, name)) {
164124
164125
  continue;
164125
164126
  }
164126
- addParameterHints(name, parameter, originalArg.getStart(), isFirstVariadicArgument, sourceFile);
164127
+ addParameterHints(name, parameter, originalArg.getStart(), isFirstVariadicArgument);
164127
164128
  }
164128
164129
  }
164129
164130
  }
@@ -164259,7 +164260,8 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
164259
164260
  }
164260
164261
  return true;
164261
164262
  }
164262
- function getNodeDisplayPart(text, node, sourceFile) {
164263
+ function getNodeDisplayPart(text, node) {
164264
+ const sourceFile = node.getSourceFile();
164263
164265
  return {
164264
164266
  text,
164265
164267
  span: createTextSpanFromNode(node, sourceFile),
@@ -167147,11 +167149,12 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
167147
167149
  if (documentation.length === 0 && isIdentifier(location) && symbol.valueDeclaration && isBindingElement(symbol.valueDeclaration)) {
167148
167150
  const declaration = symbol.valueDeclaration;
167149
167151
  const parent2 = declaration.parent;
167150
- if (isIdentifier(declaration.name) && isObjectBindingPattern(parent2)) {
167151
- const name = getTextOfIdentifierOrLiteral(declaration.name);
167152
+ const name = declaration.propertyName || declaration.name;
167153
+ if (isIdentifier(name) && isObjectBindingPattern(parent2)) {
167154
+ const propertyName = getTextOfIdentifierOrLiteral(name);
167152
167155
  const objectType = typeChecker.getTypeAtLocation(parent2);
167153
167156
  documentation = firstDefined(objectType.isUnion() ? objectType.types : [objectType], (t) => {
167154
- const prop = t.getProperty(name);
167157
+ const prop = t.getProperty(propertyName);
167155
167158
  return prop ? prop.getDocumentationComment(typeChecker) : void 0;
167156
167159
  }) || emptyArray;
167157
167160
  }
@@ -181002,14 +181005,22 @@ Project '${project.projectName}' (${ProjectKind[project.projectKind]}) ${counter
181002
181005
  return {
181003
181006
  ...hint,
181004
181007
  position: scriptInfo.positionToLineOffset(position),
181005
- displayParts: displayParts == null ? void 0 : displayParts.map(({ text, span, file: file2 }) => ({
181006
- text,
181007
- span: span && {
181008
- start: scriptInfo.positionToLineOffset(span.start),
181009
- end: scriptInfo.positionToLineOffset(span.start + span.length),
181010
- file: file2
181008
+ displayParts: displayParts == null ? void 0 : displayParts.map(({ text, span, file: file2 }) => {
181009
+ if (span) {
181010
+ Debug.assertIsDefined(file2, "Target file should be defined together with its span.");
181011
+ const scriptInfo2 = this.projectService.getScriptInfo(file2);
181012
+ return {
181013
+ text,
181014
+ span: {
181015
+ start: scriptInfo2.positionToLineOffset(span.start),
181016
+ end: scriptInfo2.positionToLineOffset(span.start + span.length),
181017
+ file: file2
181018
+ }
181019
+ };
181020
+ } else {
181021
+ return { text };
181011
181022
  }
181012
- }))
181023
+ })
181013
181024
  };
181014
181025
  });
181015
181026
  }
@@ -54,7 +54,7 @@ var path = __toESM(require("path"));
54
54
 
55
55
  // src/compiler/corePublic.ts
56
56
  var versionMajorMinor = "5.3";
57
- var version = `${versionMajorMinor}.0-dev.20230823`;
57
+ var version = `${versionMajorMinor}.0-dev.20230824`;
58
58
 
59
59
  // src/compiler/core.ts
60
60
  var emptyArray = [];
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": "5.3.0-dev.20230823",
5
+ "version": "5.3.0-dev.20230824",
6
6
  "license": "Apache-2.0",
7
7
  "description": "TypeScript is a language for application scale JavaScript development",
8
8
  "keywords": [
@@ -42,7 +42,6 @@
42
42
  "@esfx/canceltoken": "^1.0.0",
43
43
  "@octokit/rest": "^19.0.13",
44
44
  "@types/chai": "^4.3.4",
45
- "@types/fs-extra": "^9.0.13",
46
45
  "@types/glob": "^8.1.0",
47
46
  "@types/microsoft__typescript-etw": "^0.1.1",
48
47
  "@types/minimist": "^1.2.2",
@@ -59,7 +58,6 @@
59
58
  "chai": "^4.3.7",
60
59
  "chalk": "^4.1.2",
61
60
  "chokidar": "^3.5.3",
62
- "del": "^6.1.1",
63
61
  "diff": "^5.1.0",
64
62
  "dprint": "^0.40.2",
65
63
  "esbuild": "^0.19.0",
@@ -69,7 +67,6 @@
69
67
  "eslint-plugin-no-null": "^1.0.2",
70
68
  "eslint-plugin-simple-import-sort": "^10.0.0",
71
69
  "fast-xml-parser": "^4.0.11",
72
- "fs-extra": "^9.1.0",
73
70
  "glob": "^8.1.0",
74
71
  "hereby": "^1.6.4",
75
72
  "jsonc-parser": "^3.2.0",
@@ -115,5 +112,5 @@
115
112
  "node": "20.1.0",
116
113
  "npm": "8.19.4"
117
114
  },
118
- "gitHead": "d0684f789b6e8368789c0f9e09f5b5217f59de2b"
115
+ "gitHead": "769f2daf712c2cf057259ac5321174702ba0d59e"
119
116
  }