typescript 5.6.0-dev.20240805 → 5.6.0-dev.20240807

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/typescript.js CHANGED
@@ -2260,7 +2260,7 @@ module.exports = __toCommonJS(typescript_exports);
2260
2260
 
2261
2261
  // src/compiler/corePublic.ts
2262
2262
  var versionMajorMinor = "5.6";
2263
- var version = `${versionMajorMinor}.0-dev.20240805`;
2263
+ var version = `${versionMajorMinor}.0-dev.20240807`;
2264
2264
  var Comparison = /* @__PURE__ */ ((Comparison3) => {
2265
2265
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
2266
2266
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -7113,9 +7113,10 @@ var OuterExpressionKinds = /* @__PURE__ */ ((OuterExpressionKinds2) => {
7113
7113
  OuterExpressionKinds2[OuterExpressionKinds2["TypeAssertions"] = 2] = "TypeAssertions";
7114
7114
  OuterExpressionKinds2[OuterExpressionKinds2["NonNullAssertions"] = 4] = "NonNullAssertions";
7115
7115
  OuterExpressionKinds2[OuterExpressionKinds2["PartiallyEmittedExpressions"] = 8] = "PartiallyEmittedExpressions";
7116
+ OuterExpressionKinds2[OuterExpressionKinds2["ExpressionsWithTypeArguments"] = 16] = "ExpressionsWithTypeArguments";
7116
7117
  OuterExpressionKinds2[OuterExpressionKinds2["Assertions"] = 6] = "Assertions";
7117
- OuterExpressionKinds2[OuterExpressionKinds2["All"] = 15] = "All";
7118
- OuterExpressionKinds2[OuterExpressionKinds2["ExcludeJSDocTypeAssertion"] = 16] = "ExcludeJSDocTypeAssertion";
7118
+ OuterExpressionKinds2[OuterExpressionKinds2["All"] = 31] = "All";
7119
+ OuterExpressionKinds2[OuterExpressionKinds2["ExcludeJSDocTypeAssertion"] = -2147483648] = "ExcludeJSDocTypeAssertion";
7119
7120
  return OuterExpressionKinds2;
7120
7121
  })(OuterExpressionKinds || {});
7121
7122
  var LexicalEnvironmentFlags = /* @__PURE__ */ ((LexicalEnvironmentFlags2) => {
@@ -19054,7 +19055,7 @@ function skipTypeParentheses(node) {
19054
19055
  return node;
19055
19056
  }
19056
19057
  function skipParentheses(node, excludeJSDocTypeAssertions) {
19057
- const flags = excludeJSDocTypeAssertions ? 1 /* Parentheses */ | 16 /* ExcludeJSDocTypeAssertion */ : 1 /* Parentheses */;
19058
+ const flags = excludeJSDocTypeAssertions ? 1 /* Parentheses */ | -2147483648 /* ExcludeJSDocTypeAssertion */ : 1 /* Parentheses */;
19058
19059
  return skipOuterExpressions(node, flags);
19059
19060
  }
19060
19061
  function isDeleteTarget(node) {
@@ -28011,6 +28012,8 @@ function createNodeFactory(flags, baseFactory2) {
28011
28012
  return updateSatisfiesExpression(outerExpression, expression, outerExpression.type);
28012
28013
  case 235 /* NonNullExpression */:
28013
28014
  return updateNonNullExpression(outerExpression, expression);
28015
+ case 233 /* ExpressionWithTypeArguments */:
28016
+ return updateExpressionWithTypeArguments(outerExpression, expression, outerExpression.typeArguments);
28014
28017
  case 354 /* PartiallyEmittedExpression */:
28015
28018
  return updatePartiallyEmittedExpression(outerExpression, expression);
28016
28019
  }
@@ -28018,7 +28021,7 @@ function createNodeFactory(flags, baseFactory2) {
28018
28021
  function isIgnorableParen(node) {
28019
28022
  return isParenthesizedExpression(node) && nodeIsSynthesized(node) && nodeIsSynthesized(getSourceMapRange(node)) && nodeIsSynthesized(getCommentRange(node)) && !some(getSyntheticLeadingComments(node)) && !some(getSyntheticTrailingComments(node));
28020
28023
  }
28021
- function restoreOuterExpressions(outerExpression, innerExpression, kinds = 15 /* All */) {
28024
+ function restoreOuterExpressions(outerExpression, innerExpression, kinds = 31 /* All */) {
28022
28025
  if (outerExpression && isOuterExpression(outerExpression, kinds) && !isIgnorableParen(outerExpression)) {
28023
28026
  return updateOuterExpression(
28024
28027
  outerExpression,
@@ -28064,7 +28067,7 @@ function createNodeFactory(flags, baseFactory2) {
28064
28067
  }
28065
28068
  }
28066
28069
  function createCallBinding(expression, recordTempVariable, languageVersion, cacheIdentifiers = false) {
28067
- const callee = skipOuterExpressions(expression, 15 /* All */);
28070
+ const callee = skipOuterExpressions(expression, 31 /* All */);
28068
28071
  let thisArg;
28069
28072
  let target;
28070
28073
  if (isSuperProperty(callee)) {
@@ -31032,18 +31035,19 @@ function getJSDocTypeAssertionType(node) {
31032
31035
  Debug.assertIsDefined(type);
31033
31036
  return type;
31034
31037
  }
31035
- function isOuterExpression(node, kinds = 15 /* All */) {
31038
+ function isOuterExpression(node, kinds = 31 /* All */) {
31036
31039
  switch (node.kind) {
31037
31040
  case 217 /* ParenthesizedExpression */:
31038
- if (kinds & 16 /* ExcludeJSDocTypeAssertion */ && isJSDocTypeAssertion(node)) {
31041
+ if (kinds & -2147483648 /* ExcludeJSDocTypeAssertion */ && isJSDocTypeAssertion(node)) {
31039
31042
  return false;
31040
31043
  }
31041
31044
  return (kinds & 1 /* Parentheses */) !== 0;
31042
31045
  case 216 /* TypeAssertionExpression */:
31043
31046
  case 234 /* AsExpression */:
31044
- case 233 /* ExpressionWithTypeArguments */:
31045
31047
  case 238 /* SatisfiesExpression */:
31046
31048
  return (kinds & 2 /* TypeAssertions */) !== 0;
31049
+ case 233 /* ExpressionWithTypeArguments */:
31050
+ return (kinds & 16 /* ExpressionsWithTypeArguments */) !== 0;
31047
31051
  case 235 /* NonNullExpression */:
31048
31052
  return (kinds & 4 /* NonNullAssertions */) !== 0;
31049
31053
  case 354 /* PartiallyEmittedExpression */:
@@ -31051,13 +31055,13 @@ function isOuterExpression(node, kinds = 15 /* All */) {
31051
31055
  }
31052
31056
  return false;
31053
31057
  }
31054
- function skipOuterExpressions(node, kinds = 15 /* All */) {
31058
+ function skipOuterExpressions(node, kinds = 31 /* All */) {
31055
31059
  while (isOuterExpression(node, kinds)) {
31056
31060
  node = node.expression;
31057
31061
  }
31058
31062
  return node;
31059
31063
  }
31060
- function walkUpOuterExpressions(node, kinds = 15 /* All */) {
31064
+ function walkUpOuterExpressions(node, kinds = 31 /* All */) {
31061
31065
  let parent2 = node.parent;
31062
31066
  while (isOuterExpression(parent2, kinds)) {
31063
31067
  parent2 = parent2.parent;
@@ -50780,8 +50784,9 @@ function createTypeChecker(host) {
50780
50784
  getGlobalIteratorType: getGlobalAsyncIteratorType,
50781
50785
  getGlobalIterableType: getGlobalAsyncIterableType,
50782
50786
  getGlobalIterableIteratorType: getGlobalAsyncIterableIteratorType,
50783
- getGlobalBuiltinIteratorType: getGlobalBuiltinAsyncIteratorType,
50787
+ getGlobalIteratorObjectType: getGlobalAsyncIteratorObjectType,
50784
50788
  getGlobalGeneratorType: getGlobalAsyncGeneratorType,
50789
+ getGlobalBuiltinIteratorTypes: getGlobalBuiltinAsyncIteratorTypes,
50785
50790
  resolveIterationType: (type, errorNode) => getAwaitedType(type, errorNode, Diagnostics.Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member),
50786
50791
  mustHaveANextMethodDiagnostic: Diagnostics.An_async_iterator_must_have_a_next_method,
50787
50792
  mustBeAMethodDiagnostic: Diagnostics.The_0_property_of_an_async_iterator_must_be_a_method,
@@ -50794,8 +50799,9 @@ function createTypeChecker(host) {
50794
50799
  getGlobalIteratorType,
50795
50800
  getGlobalIterableType,
50796
50801
  getGlobalIterableIteratorType,
50797
- getGlobalBuiltinIteratorType,
50802
+ getGlobalIteratorObjectType,
50798
50803
  getGlobalGeneratorType,
50804
+ getGlobalBuiltinIteratorTypes,
50799
50805
  resolveIterationType: (type, _errorNode) => type,
50800
50806
  mustHaveANextMethodDiagnostic: Diagnostics.An_iterator_must_have_a_next_method,
50801
50807
  mustBeAMethodDiagnostic: Diagnostics.The_0_property_of_an_iterator_must_be_a_method,
@@ -50833,14 +50839,16 @@ function createTypeChecker(host) {
50833
50839
  var deferredGlobalIterableType;
50834
50840
  var deferredGlobalIteratorType;
50835
50841
  var deferredGlobalIterableIteratorType;
50836
- var deferredGlobalBuiltinIteratorType;
50842
+ var deferredGlobalIteratorObjectType;
50837
50843
  var deferredGlobalGeneratorType;
50838
50844
  var deferredGlobalIteratorYieldResultType;
50839
50845
  var deferredGlobalIteratorReturnResultType;
50840
50846
  var deferredGlobalAsyncIterableType;
50841
50847
  var deferredGlobalAsyncIteratorType;
50842
50848
  var deferredGlobalAsyncIterableIteratorType;
50843
- var deferredGlobalBuiltinAsyncIteratorType;
50849
+ var deferredGlobalBuiltinIteratorTypes;
50850
+ var deferredGlobalBuiltinAsyncIteratorTypes;
50851
+ var deferredGlobalAsyncIteratorObjectType;
50844
50852
  var deferredGlobalAsyncGeneratorType;
50845
50853
  var deferredGlobalTemplateStringsArrayType;
50846
50854
  var deferredGlobalImportMetaType;
@@ -59923,6 +59931,17 @@ function createTypeChecker(host) {
59923
59931
  function getNonMissingTypeOfSymbol(symbol) {
59924
59932
  return removeMissingType(getTypeOfSymbol(symbol), !!(symbol.flags & 16777216 /* Optional */));
59925
59933
  }
59934
+ function isReferenceToSomeType(type, targets) {
59935
+ if (type === void 0 || (getObjectFlags(type) & 4 /* Reference */) === 0) {
59936
+ return false;
59937
+ }
59938
+ for (const target of targets) {
59939
+ if (type.target === target) {
59940
+ return true;
59941
+ }
59942
+ }
59943
+ return false;
59944
+ }
59926
59945
  function isReferenceToType2(type, target) {
59927
59946
  return type !== void 0 && target !== void 0 && (getObjectFlags(type) & 4 /* Reference */) !== 0 && type.target === target;
59928
59947
  }
@@ -60345,7 +60364,7 @@ function createTypeChecker(host) {
60345
60364
  links.instantiations.set(getTypeListId(typeParameters), type);
60346
60365
  }
60347
60366
  if (type === intrinsicMarkerType && symbol.escapedName === "BuiltinIteratorReturn") {
60348
- type = strictBuiltinIteratorReturn ? undefinedType : anyType;
60367
+ type = getBuiltinIteratorReturnType();
60349
60368
  }
60350
60369
  } else {
60351
60370
  type = errorType;
@@ -63522,6 +63541,18 @@ function createTypeChecker(host) {
63522
63541
  const symbol = getGlobalTypeSymbol(name, reportErrors2);
63523
63542
  return symbol || reportErrors2 ? getTypeOfGlobalSymbol(symbol, arity) : void 0;
63524
63543
  }
63544
+ function getGlobalBuiltinTypes(typeNames, arity) {
63545
+ let types;
63546
+ for (const typeName of typeNames) {
63547
+ types = append(types, getGlobalType(
63548
+ typeName,
63549
+ arity,
63550
+ /*reportErrors*/
63551
+ false
63552
+ ));
63553
+ }
63554
+ return types ?? emptyArray;
63555
+ }
63525
63556
  function getGlobalTypedPropertyDescriptorType() {
63526
63557
  return deferredGlobalTypedPropertyDescriptorType || (deferredGlobalTypedPropertyDescriptorType = getGlobalType(
63527
63558
  "TypedPropertyDescriptor",
@@ -63644,9 +63675,12 @@ function createTypeChecker(host) {
63644
63675
  reportErrors2
63645
63676
  )) || emptyGenericType;
63646
63677
  }
63647
- function getGlobalBuiltinAsyncIteratorType(reportErrors2) {
63648
- return deferredGlobalBuiltinAsyncIteratorType || (deferredGlobalBuiltinAsyncIteratorType = getGlobalType(
63649
- "BuiltinAsyncIterator",
63678
+ function getGlobalBuiltinAsyncIteratorTypes() {
63679
+ return deferredGlobalBuiltinAsyncIteratorTypes ?? (deferredGlobalBuiltinAsyncIteratorTypes = getGlobalBuiltinTypes(["ReadableStreamAsyncIterator"], 1));
63680
+ }
63681
+ function getGlobalAsyncIteratorObjectType(reportErrors2) {
63682
+ return deferredGlobalAsyncIteratorObjectType || (deferredGlobalAsyncIteratorObjectType = getGlobalType(
63683
+ "AsyncIteratorObject",
63650
63684
  /*arity*/
63651
63685
  3,
63652
63686
  reportErrors2
@@ -63684,9 +63718,15 @@ function createTypeChecker(host) {
63684
63718
  reportErrors2
63685
63719
  )) || emptyGenericType;
63686
63720
  }
63687
- function getGlobalBuiltinIteratorType(reportErrors2) {
63688
- return deferredGlobalBuiltinIteratorType || (deferredGlobalBuiltinIteratorType = getGlobalType(
63689
- "BuiltinIterator",
63721
+ function getBuiltinIteratorReturnType() {
63722
+ return strictBuiltinIteratorReturn ? undefinedType : anyType;
63723
+ }
63724
+ function getGlobalBuiltinIteratorTypes() {
63725
+ return deferredGlobalBuiltinIteratorTypes ?? (deferredGlobalBuiltinIteratorTypes = getGlobalBuiltinTypes(["ArrayIterator", "MapIterator", "SetIterator", "StringIterator"], 1));
63726
+ }
63727
+ function getGlobalIteratorObjectType(reportErrors2) {
63728
+ return deferredGlobalIteratorObjectType || (deferredGlobalIteratorObjectType = getGlobalType(
63729
+ "IteratorObject",
63690
63730
  /*arity*/
63691
63731
  3,
63692
63732
  reportErrors2
@@ -82449,7 +82489,7 @@ function createTypeChecker(host) {
82449
82489
  if (isBinaryExpression(right) && (right.operatorToken.kind === 57 /* BarBarToken */ || right.operatorToken.kind === 56 /* AmpersandAmpersandToken */)) {
82450
82490
  grammarErrorOnNode(right, Diagnostics._0_and_1_operations_cannot_be_mixed_without_parentheses, tokenToString(right.operatorToken.kind), tokenToString(operatorToken.kind));
82451
82491
  }
82452
- const leftTarget = skipOuterExpressions(left, 15 /* All */);
82492
+ const leftTarget = skipOuterExpressions(left, 31 /* All */);
82453
82493
  const nullishSemantics = getSyntacticNullishnessSemantics(leftTarget);
82454
82494
  if (nullishSemantics !== 3 /* Sometimes */) {
82455
82495
  if (node.parent.kind === 226 /* BinaryExpression */) {
@@ -86553,7 +86593,7 @@ function createTypeChecker(host) {
86553
86593
  if (isReferenceToType2(type, resolver.getGlobalIterableType(
86554
86594
  /*reportErrors*/
86555
86595
  false
86556
- )) || isReferenceToType2(type, resolver.getGlobalBuiltinIteratorType(
86596
+ )) || isReferenceToType2(type, resolver.getGlobalIteratorObjectType(
86557
86597
  /*reportErrors*/
86558
86598
  false
86559
86599
  )) || isReferenceToType2(type, resolver.getGlobalIterableIteratorType(
@@ -86574,6 +86614,20 @@ function createTypeChecker(host) {
86574
86614
  void 0
86575
86615
  ) || returnType, nextType));
86576
86616
  }
86617
+ if (isReferenceToSomeType(type, resolver.getGlobalBuiltinIteratorTypes())) {
86618
+ const [yieldType] = getTypeArguments(type);
86619
+ const returnType = getBuiltinIteratorReturnType();
86620
+ const nextType = unknownType;
86621
+ return setCachedIterationTypes(type, resolver.iterableCacheKey, createIterationTypes(resolver.resolveIterationType(
86622
+ yieldType,
86623
+ /*errorNode*/
86624
+ void 0
86625
+ ) || yieldType, resolver.resolveIterationType(
86626
+ returnType,
86627
+ /*errorNode*/
86628
+ void 0
86629
+ ) || returnType, nextType));
86630
+ }
86577
86631
  }
86578
86632
  function getPropertyNameForKnownSymbolName(symbolName2) {
86579
86633
  const ctorType = getGlobalESSymbolConstructorSymbol(
@@ -86637,13 +86691,13 @@ function createTypeChecker(host) {
86637
86691
  return getCachedIterationTypes(type, resolver.iteratorCacheKey);
86638
86692
  }
86639
86693
  function getIterationTypesOfIteratorFast(type, resolver) {
86640
- if (isReferenceToType2(type, resolver.getGlobalBuiltinIteratorType(
86694
+ if (isReferenceToType2(type, resolver.getGlobalIterableIteratorType(
86641
86695
  /*reportErrors*/
86642
86696
  false
86643
- )) || isReferenceToType2(type, resolver.getGlobalIterableIteratorType(
86697
+ )) || isReferenceToType2(type, resolver.getGlobalIteratorType(
86644
86698
  /*reportErrors*/
86645
86699
  false
86646
- )) || isReferenceToType2(type, resolver.getGlobalIteratorType(
86700
+ )) || isReferenceToType2(type, resolver.getGlobalIteratorObjectType(
86647
86701
  /*reportErrors*/
86648
86702
  false
86649
86703
  )) || isReferenceToType2(type, resolver.getGlobalGeneratorType(
@@ -86653,6 +86707,12 @@ function createTypeChecker(host) {
86653
86707
  const [yieldType, returnType, nextType] = getTypeArguments(type);
86654
86708
  return setCachedIterationTypes(type, resolver.iteratorCacheKey, createIterationTypes(yieldType, returnType, nextType));
86655
86709
  }
86710
+ if (isReferenceToSomeType(type, resolver.getGlobalBuiltinIteratorTypes())) {
86711
+ const [yieldType] = getTypeArguments(type);
86712
+ const returnType = getBuiltinIteratorReturnType();
86713
+ const nextType = unknownType;
86714
+ return setCachedIterationTypes(type, resolver.iteratorCacheKey, createIterationTypes(yieldType, returnType, nextType));
86715
+ }
86656
86716
  }
86657
86717
  function isIteratorResult(type, kind) {
86658
86718
  const doneType = getTypeOfPropertyOfType(type, "done") || falseType;
@@ -97007,7 +97067,7 @@ function transformTypeScript(context) {
97007
97067
  return updated;
97008
97068
  }
97009
97069
  function visitParenthesizedExpression(node) {
97010
- const innerExpression = skipOuterExpressions(node.expression, ~6 /* Assertions */);
97070
+ const innerExpression = skipOuterExpressions(node.expression, ~(6 /* Assertions */ | 16 /* ExpressionsWithTypeArguments */));
97011
97071
  if (isAssertionExpression(innerExpression) || isSatisfiesExpression(innerExpression)) {
97012
97072
  const expression = visitNode(node.expression, visitor, isExpression);
97013
97073
  Debug.assert(expression);
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.6.0-dev.20240805",
5
+ "version": "5.6.0-dev.20240807",
6
6
  "license": "Apache-2.0",
7
7
  "description": "TypeScript is a language for application scale JavaScript development",
8
8
  "keywords": [
@@ -114,5 +114,5 @@
114
114
  "node": "20.1.0",
115
115
  "npm": "8.19.4"
116
116
  },
117
- "gitHead": "aafdfe5b3f76f5c41abeec412ce73c86da94c75f"
117
+ "gitHead": "99878128f032786bd3ad1295402a04ca7002eeb2"
118
118
  }