typescript 5.7.0-dev.20241022 → 5.7.0-dev.20241023

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.
Files changed (3) hide show
  1. package/lib/_tsc.js +102 -13
  2. package/lib/typescript.js +105 -13
  3. package/package.json +2 -2
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.7";
21
- var version = `${versionMajorMinor}.0-dev.20241022`;
21
+ var version = `${versionMajorMinor}.0-dev.20241023`;
22
22
 
23
23
  // src/compiler/core.ts
24
24
  var emptyArray = [];
@@ -82579,7 +82579,7 @@ function createTypeChecker(host) {
82579
82579
  return anyIterationTypes;
82580
82580
  }
82581
82581
  if (!(type.flags & 1048576 /* Union */)) {
82582
- const errorOutputContainer = errorNode ? { errors: void 0 } : void 0;
82582
+ const errorOutputContainer = errorNode ? { errors: void 0, skipLogging: true } : void 0;
82583
82583
  const iterationTypes2 = getIterationTypesOfIterableWorker(type, use, errorNode, errorOutputContainer);
82584
82584
  if (iterationTypes2 === noIterationTypes) {
82585
82585
  if (errorNode) {
@@ -82747,11 +82747,27 @@ function createTypeChecker(host) {
82747
82747
  if (isTypeAny(methodType)) {
82748
82748
  return noCache ? anyIterationTypes : setCachedIterationTypes(type, resolver.iterableCacheKey, anyIterationTypes);
82749
82749
  }
82750
- const signatures = methodType ? getSignaturesOfType(methodType, 0 /* Call */) : void 0;
82751
- if (!some(signatures)) {
82750
+ const allSignatures = methodType ? getSignaturesOfType(methodType, 0 /* Call */) : void 0;
82751
+ const validSignatures = filter(allSignatures, (sig) => getMinArgumentCount(sig) === 0);
82752
+ if (!some(validSignatures)) {
82753
+ if (errorNode && some(allSignatures)) {
82754
+ checkTypeAssignableTo(
82755
+ type,
82756
+ resolver.getGlobalIterableType(
82757
+ /*reportErrors*/
82758
+ true
82759
+ ),
82760
+ errorNode,
82761
+ /*headMessage*/
82762
+ void 0,
82763
+ /*containingMessageChain*/
82764
+ void 0,
82765
+ errorOutputContainer
82766
+ );
82767
+ }
82752
82768
  return noCache ? noIterationTypes : setCachedIterationTypes(type, resolver.iterableCacheKey, noIterationTypes);
82753
82769
  }
82754
- const iteratorType = getIntersectionType(map(signatures, getReturnTypeOfSignature));
82770
+ const iteratorType = getIntersectionType(map(validSignatures, getReturnTypeOfSignature));
82755
82771
  const iterationTypes = getIterationTypesOfIteratorWorker(iteratorType, resolver, errorNode, errorOutputContainer, noCache) ?? noIterationTypes;
82756
82772
  return noCache ? iterationTypes : setCachedIterationTypes(type, resolver.iterableCacheKey, iterationTypes);
82757
82773
  }
@@ -116770,15 +116786,88 @@ function createPrinter(printerOptions = {}, handlers = {}) {
116770
116786
  return false;
116771
116787
  }
116772
116788
  function parenthesizeExpressionForNoAsi(node) {
116773
- if (!commentsDisabled && isPartiallyEmittedExpression(node) && willEmitLeadingNewLine(node)) {
116774
- const parseNode = getParseTreeNode(node);
116775
- if (parseNode && isParenthesizedExpression(parseNode)) {
116776
- const parens = factory.createParenthesizedExpression(node.expression);
116777
- setOriginalNode(parens, node);
116778
- setTextRange(parens, parseNode);
116779
- return parens;
116789
+ if (!commentsDisabled) {
116790
+ switch (node.kind) {
116791
+ case 355 /* PartiallyEmittedExpression */:
116792
+ if (willEmitLeadingNewLine(node)) {
116793
+ const parseNode = getParseTreeNode(node);
116794
+ if (parseNode && isParenthesizedExpression(parseNode)) {
116795
+ const parens = factory.createParenthesizedExpression(node.expression);
116796
+ setOriginalNode(parens, node);
116797
+ setTextRange(parens, parseNode);
116798
+ return parens;
116799
+ }
116800
+ return factory.createParenthesizedExpression(node);
116801
+ }
116802
+ return factory.updatePartiallyEmittedExpression(
116803
+ node,
116804
+ parenthesizeExpressionForNoAsi(node.expression)
116805
+ );
116806
+ case 211 /* PropertyAccessExpression */:
116807
+ return factory.updatePropertyAccessExpression(
116808
+ node,
116809
+ parenthesizeExpressionForNoAsi(node.expression),
116810
+ node.name
116811
+ );
116812
+ case 212 /* ElementAccessExpression */:
116813
+ return factory.updateElementAccessExpression(
116814
+ node,
116815
+ parenthesizeExpressionForNoAsi(node.expression),
116816
+ node.argumentExpression
116817
+ );
116818
+ case 213 /* CallExpression */:
116819
+ return factory.updateCallExpression(
116820
+ node,
116821
+ parenthesizeExpressionForNoAsi(node.expression),
116822
+ node.typeArguments,
116823
+ node.arguments
116824
+ );
116825
+ case 215 /* TaggedTemplateExpression */:
116826
+ return factory.updateTaggedTemplateExpression(
116827
+ node,
116828
+ parenthesizeExpressionForNoAsi(node.tag),
116829
+ node.typeArguments,
116830
+ node.template
116831
+ );
116832
+ case 225 /* PostfixUnaryExpression */:
116833
+ return factory.updatePostfixUnaryExpression(
116834
+ node,
116835
+ parenthesizeExpressionForNoAsi(node.operand)
116836
+ );
116837
+ case 226 /* BinaryExpression */:
116838
+ return factory.updateBinaryExpression(
116839
+ node,
116840
+ parenthesizeExpressionForNoAsi(node.left),
116841
+ node.operatorToken,
116842
+ node.right
116843
+ );
116844
+ case 227 /* ConditionalExpression */:
116845
+ return factory.updateConditionalExpression(
116846
+ node,
116847
+ parenthesizeExpressionForNoAsi(node.condition),
116848
+ node.questionToken,
116849
+ node.whenTrue,
116850
+ node.colonToken,
116851
+ node.whenFalse
116852
+ );
116853
+ case 234 /* AsExpression */:
116854
+ return factory.updateAsExpression(
116855
+ node,
116856
+ parenthesizeExpressionForNoAsi(node.expression),
116857
+ node.type
116858
+ );
116859
+ case 238 /* SatisfiesExpression */:
116860
+ return factory.updateSatisfiesExpression(
116861
+ node,
116862
+ parenthesizeExpressionForNoAsi(node.expression),
116863
+ node.type
116864
+ );
116865
+ case 235 /* NonNullExpression */:
116866
+ return factory.updateNonNullExpression(
116867
+ node,
116868
+ parenthesizeExpressionForNoAsi(node.expression)
116869
+ );
116780
116870
  }
116781
- return factory.createParenthesizedExpression(node);
116782
116871
  }
116783
116872
  return node;
116784
116873
  }
package/lib/typescript.js CHANGED
@@ -2277,7 +2277,7 @@ module.exports = __toCommonJS(typescript_exports);
2277
2277
 
2278
2278
  // src/compiler/corePublic.ts
2279
2279
  var versionMajorMinor = "5.7";
2280
- var version = `${versionMajorMinor}.0-dev.20241022`;
2280
+ var version = `${versionMajorMinor}.0-dev.20241023`;
2281
2281
  var Comparison = /* @__PURE__ */ ((Comparison3) => {
2282
2282
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
2283
2283
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -87175,7 +87175,7 @@ function createTypeChecker(host) {
87175
87175
  return anyIterationTypes;
87176
87176
  }
87177
87177
  if (!(type.flags & 1048576 /* Union */)) {
87178
- const errorOutputContainer = errorNode ? { errors: void 0 } : void 0;
87178
+ const errorOutputContainer = errorNode ? { errors: void 0, skipLogging: true } : void 0;
87179
87179
  const iterationTypes2 = getIterationTypesOfIterableWorker(type, use, errorNode, errorOutputContainer);
87180
87180
  if (iterationTypes2 === noIterationTypes) {
87181
87181
  if (errorNode) {
@@ -87343,11 +87343,27 @@ function createTypeChecker(host) {
87343
87343
  if (isTypeAny(methodType)) {
87344
87344
  return noCache ? anyIterationTypes : setCachedIterationTypes(type, resolver.iterableCacheKey, anyIterationTypes);
87345
87345
  }
87346
- const signatures = methodType ? getSignaturesOfType(methodType, 0 /* Call */) : void 0;
87347
- if (!some(signatures)) {
87346
+ const allSignatures = methodType ? getSignaturesOfType(methodType, 0 /* Call */) : void 0;
87347
+ const validSignatures = filter(allSignatures, (sig) => getMinArgumentCount(sig) === 0);
87348
+ if (!some(validSignatures)) {
87349
+ if (errorNode && some(allSignatures)) {
87350
+ checkTypeAssignableTo(
87351
+ type,
87352
+ resolver.getGlobalIterableType(
87353
+ /*reportErrors*/
87354
+ true
87355
+ ),
87356
+ errorNode,
87357
+ /*headMessage*/
87358
+ void 0,
87359
+ /*containingMessageChain*/
87360
+ void 0,
87361
+ errorOutputContainer
87362
+ );
87363
+ }
87348
87364
  return noCache ? noIterationTypes : setCachedIterationTypes(type, resolver.iterableCacheKey, noIterationTypes);
87349
87365
  }
87350
- const iteratorType = getIntersectionType(map(signatures, getReturnTypeOfSignature));
87366
+ const iteratorType = getIntersectionType(map(validSignatures, getReturnTypeOfSignature));
87351
87367
  const iterationTypes = getIterationTypesOfIteratorWorker(iteratorType, resolver, errorNode, errorOutputContainer, noCache) ?? noIterationTypes;
87352
87368
  return noCache ? iterationTypes : setCachedIterationTypes(type, resolver.iterableCacheKey, iterationTypes);
87353
87369
  }
@@ -121559,15 +121575,88 @@ function createPrinter(printerOptions = {}, handlers = {}) {
121559
121575
  return false;
121560
121576
  }
121561
121577
  function parenthesizeExpressionForNoAsi(node) {
121562
- if (!commentsDisabled && isPartiallyEmittedExpression(node) && willEmitLeadingNewLine(node)) {
121563
- const parseNode = getParseTreeNode(node);
121564
- if (parseNode && isParenthesizedExpression(parseNode)) {
121565
- const parens = factory.createParenthesizedExpression(node.expression);
121566
- setOriginalNode(parens, node);
121567
- setTextRange(parens, parseNode);
121568
- return parens;
121578
+ if (!commentsDisabled) {
121579
+ switch (node.kind) {
121580
+ case 355 /* PartiallyEmittedExpression */:
121581
+ if (willEmitLeadingNewLine(node)) {
121582
+ const parseNode = getParseTreeNode(node);
121583
+ if (parseNode && isParenthesizedExpression(parseNode)) {
121584
+ const parens = factory.createParenthesizedExpression(node.expression);
121585
+ setOriginalNode(parens, node);
121586
+ setTextRange(parens, parseNode);
121587
+ return parens;
121588
+ }
121589
+ return factory.createParenthesizedExpression(node);
121590
+ }
121591
+ return factory.updatePartiallyEmittedExpression(
121592
+ node,
121593
+ parenthesizeExpressionForNoAsi(node.expression)
121594
+ );
121595
+ case 211 /* PropertyAccessExpression */:
121596
+ return factory.updatePropertyAccessExpression(
121597
+ node,
121598
+ parenthesizeExpressionForNoAsi(node.expression),
121599
+ node.name
121600
+ );
121601
+ case 212 /* ElementAccessExpression */:
121602
+ return factory.updateElementAccessExpression(
121603
+ node,
121604
+ parenthesizeExpressionForNoAsi(node.expression),
121605
+ node.argumentExpression
121606
+ );
121607
+ case 213 /* CallExpression */:
121608
+ return factory.updateCallExpression(
121609
+ node,
121610
+ parenthesizeExpressionForNoAsi(node.expression),
121611
+ node.typeArguments,
121612
+ node.arguments
121613
+ );
121614
+ case 215 /* TaggedTemplateExpression */:
121615
+ return factory.updateTaggedTemplateExpression(
121616
+ node,
121617
+ parenthesizeExpressionForNoAsi(node.tag),
121618
+ node.typeArguments,
121619
+ node.template
121620
+ );
121621
+ case 225 /* PostfixUnaryExpression */:
121622
+ return factory.updatePostfixUnaryExpression(
121623
+ node,
121624
+ parenthesizeExpressionForNoAsi(node.operand)
121625
+ );
121626
+ case 226 /* BinaryExpression */:
121627
+ return factory.updateBinaryExpression(
121628
+ node,
121629
+ parenthesizeExpressionForNoAsi(node.left),
121630
+ node.operatorToken,
121631
+ node.right
121632
+ );
121633
+ case 227 /* ConditionalExpression */:
121634
+ return factory.updateConditionalExpression(
121635
+ node,
121636
+ parenthesizeExpressionForNoAsi(node.condition),
121637
+ node.questionToken,
121638
+ node.whenTrue,
121639
+ node.colonToken,
121640
+ node.whenFalse
121641
+ );
121642
+ case 234 /* AsExpression */:
121643
+ return factory.updateAsExpression(
121644
+ node,
121645
+ parenthesizeExpressionForNoAsi(node.expression),
121646
+ node.type
121647
+ );
121648
+ case 238 /* SatisfiesExpression */:
121649
+ return factory.updateSatisfiesExpression(
121650
+ node,
121651
+ parenthesizeExpressionForNoAsi(node.expression),
121652
+ node.type
121653
+ );
121654
+ case 235 /* NonNullExpression */:
121655
+ return factory.updateNonNullExpression(
121656
+ node,
121657
+ parenthesizeExpressionForNoAsi(node.expression)
121658
+ );
121569
121659
  }
121570
- return factory.createParenthesizedExpression(node);
121571
121660
  }
121572
121661
  return node;
121573
121662
  }
@@ -179607,6 +179696,9 @@ function isSemicolonDeletionContext(context) {
179607
179696
  if (startLine === endLine) {
179608
179697
  return nextTokenKind === 20 /* CloseBraceToken */ || nextTokenKind === 1 /* EndOfFileToken */;
179609
179698
  }
179699
+ if (nextTokenKind === 27 /* SemicolonToken */ && context.currentTokenSpan.kind === 27 /* SemicolonToken */) {
179700
+ return true;
179701
+ }
179610
179702
  if (nextTokenKind === 240 /* SemicolonClassElement */ || nextTokenKind === 27 /* SemicolonToken */) {
179611
179703
  return false;
179612
179704
  }
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.7.0-dev.20241022",
5
+ "version": "5.7.0-dev.20241023",
6
6
  "license": "Apache-2.0",
7
7
  "description": "TypeScript is a language for application scale JavaScript development",
8
8
  "keywords": [
@@ -116,5 +116,5 @@
116
116
  "node": "20.1.0",
117
117
  "npm": "8.19.4"
118
118
  },
119
- "gitHead": "aa411acab7ea3bfe40647218c2762290d4647fb3"
119
+ "gitHead": "1679f4481deb02e7858dc8824c79deda76d48fc3"
120
120
  }