@typescript-deploys/pr-build 5.1.0-pr-50951-3 → 5.1.0-pr-53258-7

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
@@ -35,7 +35,7 @@ var ts = (() => {
35
35
  "src/compiler/corePublic.ts"() {
36
36
  "use strict";
37
37
  versionMajorMinor = "5.1";
38
- version = `${versionMajorMinor}.0-insiders.20230313`;
38
+ version = `${versionMajorMinor}.0-insiders.20230314`;
39
39
  Comparison = /* @__PURE__ */ ((Comparison3) => {
40
40
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
41
41
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -3545,7 +3545,7 @@ ${lanes.join("\n")}
3545
3545
  const name = DiagnosticCategory[d.category];
3546
3546
  return lowerCase ? name.toLowerCase() : name;
3547
3547
  }
3548
- var SyntaxKind, NodeFlags, ModifierFlags, JsxFlags, RelationComparisonResult, GeneratedIdentifierFlags, TokenFlags, FlowFlags, CommentDirectiveType, OperationCanceledException, FileIncludeKind, FilePreprocessingDiagnosticsKind, EmitOnly, StructureIsReused, ExitStatus, MemberOverrideStatus, UnionReduction, ContextFlags, NodeBuilderFlags, TypeFormatFlags, SymbolFormatFlags, SymbolAccessibility, SyntheticSymbolKind, TypePredicateKind, TypeReferenceSerializationKind, SymbolFlags, EnumKind, CheckFlags, InternalSymbolName, NodeCheckFlags, TypeFlags, ObjectFlags, VarianceFlags, ElementFlags, AccessFlags, JsxReferenceKind, SignatureKind, SignatureFlags, IndexKind, TypeMapKind, InferencePriority, InferenceFlags, Ternary, AssignmentDeclarationKind, DiagnosticCategory, ModuleResolutionKind, ModuleDetectionKind, WatchFileKind, WatchDirectoryKind, PollingWatchKind, ModuleKind, JsxEmit, ImportsNotUsedAsValues, NewLineKind, ScriptKind, ScriptTarget, LanguageVariant, WatchDirectoryFlags, CharacterCodes, Extension, TransformFlags, SnippetKind, EmitFlags, InternalEmitFlags, ExternalEmitHelpers, EmitHint, OuterExpressionKinds, LexicalEnvironmentFlags, BundleFileSectionKind, ListFormat, PragmaKindFlags, commentPragmas;
3548
+ var SyntaxKind, NodeFlags, ModifierFlags, JsxFlags, RelationComparisonResult, GeneratedIdentifierFlags, TokenFlags, FlowFlags, CommentDirectiveType, OperationCanceledException, FileIncludeKind, FilePreprocessingDiagnosticsKind, EmitOnly, StructureIsReused, ExitStatus, MemberOverrideStatus, UnionReduction, ContextFlags, NodeBuilderFlags, TypeFormatFlags, SymbolFormatFlags, SymbolAccessibility, SyntheticSymbolKind, TypePredicateKind, TypeReferenceSerializationKind, SymbolFlags, EnumKind, CheckFlags, InternalSymbolName, NodeCheckFlags, TypeFlags, ObjectFlags, VarianceFlags, ElementFlags, AccessFlags, IndexFlags, JsxReferenceKind, SignatureKind, SignatureFlags, IndexKind, TypeMapKind, InferencePriority, InferenceFlags, Ternary, AssignmentDeclarationKind, DiagnosticCategory, ModuleResolutionKind, ModuleDetectionKind, WatchFileKind, WatchDirectoryKind, PollingWatchKind, ModuleKind, JsxEmit, ImportsNotUsedAsValues, NewLineKind, ScriptKind, ScriptTarget, LanguageVariant, WatchDirectoryFlags, CharacterCodes, Extension, TransformFlags, SnippetKind, EmitFlags, InternalEmitFlags, ExternalEmitHelpers, EmitHint, OuterExpressionKinds, LexicalEnvironmentFlags, BundleFileSectionKind, ListFormat, PragmaKindFlags, commentPragmas;
3549
3549
  var init_types = __esm({
3550
3550
  "src/compiler/types.ts"() {
3551
3551
  "use strict";
@@ -4556,6 +4556,13 @@ ${lanes.join("\n")}
4556
4556
  AccessFlags2[AccessFlags2["Persistent"] = 1 /* IncludeUndefined */] = "Persistent";
4557
4557
  return AccessFlags2;
4558
4558
  })(AccessFlags || {});
4559
+ IndexFlags = /* @__PURE__ */ ((IndexFlags2) => {
4560
+ IndexFlags2[IndexFlags2["None"] = 0] = "None";
4561
+ IndexFlags2[IndexFlags2["StringsOnly"] = 1] = "StringsOnly";
4562
+ IndexFlags2[IndexFlags2["NoIndexSignatures"] = 2] = "NoIndexSignatures";
4563
+ IndexFlags2[IndexFlags2["NoReducibleCheck"] = 4] = "NoReducibleCheck";
4564
+ return IndexFlags2;
4565
+ })(IndexFlags || {});
4559
4566
  JsxReferenceKind = /* @__PURE__ */ ((JsxReferenceKind2) => {
4560
4567
  JsxReferenceKind2[JsxReferenceKind2["Component"] = 0] = "Component";
4561
4568
  JsxReferenceKind2[JsxReferenceKind2["Function"] = 1] = "Function";
@@ -7215,6 +7222,7 @@ ${lanes.join("\n")}
7215
7222
  Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5: diag(1250, 1 /* Error */, "Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250", "Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'."),
7216
7223
  Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode: diag(1251, 1 /* Error */, "Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251", "Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Class definitions are automatically in strict mode."),
7217
7224
  Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode: diag(1252, 1 /* Error */, "Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252", "Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Modules are automatically in strict mode."),
7225
+ Abstract_properties_can_only_appear_within_an_abstract_class: diag(1253, 1 /* Error */, "Abstract_properties_can_only_appear_within_an_abstract_class_1253", "Abstract properties can only appear within an abstract class."),
7218
7226
  A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference: diag(1254, 1 /* Error */, "A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_refere_1254", "A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference."),
7219
7227
  A_definite_assignment_assertion_is_not_permitted_in_this_context: diag(1255, 1 /* Error */, "A_definite_assignment_assertion_is_not_permitted_in_this_context_1255", "A definite assignment assertion '!' is not permitted in this context."),
7220
7228
  A_required_element_cannot_follow_an_optional_element: diag(1257, 1 /* Error */, "A_required_element_cannot_follow_an_optional_element_1257", "A required element cannot follow an optional element."),
@@ -11671,36 +11679,32 @@ ${lanes.join("\n")}
11671
11679
  return filter(node.modifiers, isModifier);
11672
11680
  }
11673
11681
  }
11674
- function getJSDocParameterTagsWorker(node, noCache) {
11675
- const declaration = getRootDeclaration(node);
11676
- if (isParameter(declaration)) {
11677
- const name = node.name;
11678
- const signatureDeclaration = declaration.parent;
11679
- const jsDocParameterTags = filter(getJSDocTagsWorker(signatureDeclaration, noCache), isJSDocParameterTag);
11680
- if (length(jsDocParameterTags) === 0) {
11681
- return emptyArray;
11682
- }
11683
- if (isIdentifier(name)) {
11684
- return filter(jsDocParameterTags, (tag) => isIdentifier(tag.name) && tag.name.escapedText === name.escapedText);
11685
- }
11686
- const i = signatureDeclaration.parameters.indexOf(declaration);
11687
- Debug.assert(i > -1, "Parameters should always be in their parents' parameter list");
11688
- if (i < length(jsDocParameterTags)) {
11689
- return [jsDocParameterTags[i]];
11682
+ function getJSDocParameterTagsWorker(param, noCache) {
11683
+ if (param.name) {
11684
+ if (isIdentifier(param.name)) {
11685
+ const name = param.name.escapedText;
11686
+ return getJSDocTagsWorker(param.parent, noCache).filter((tag) => isJSDocParameterTag(tag) && isIdentifier(tag.name) && tag.name.escapedText === name);
11687
+ } else {
11688
+ const i = param.parent.parameters.indexOf(param);
11689
+ Debug.assert(i > -1, "Parameters should always be in their parents' parameter list");
11690
+ const paramTags = getJSDocTagsWorker(param.parent, noCache).filter(isJSDocParameterTag);
11691
+ if (i < paramTags.length) {
11692
+ return [paramTags[i]];
11693
+ }
11690
11694
  }
11691
11695
  }
11692
11696
  return emptyArray;
11693
11697
  }
11694
- function getJSDocParameterTags(node) {
11698
+ function getJSDocParameterTags(param) {
11695
11699
  return getJSDocParameterTagsWorker(
11696
- node,
11700
+ param,
11697
11701
  /*noCache*/
11698
11702
  false
11699
11703
  );
11700
11704
  }
11701
- function getJSDocParameterTagsNoCache(node) {
11705
+ function getJSDocParameterTagsNoCache(param) {
11702
11706
  return getJSDocParameterTagsWorker(
11703
- node,
11707
+ param,
11704
11708
  /*noCache*/
11705
11709
  true
11706
11710
  );
@@ -15351,7 +15355,7 @@ ${lanes.join("\n")}
15351
15355
  if (hasJSDocNodes(node)) {
15352
15356
  result = addRange(result, filterOwnedJSDocTags(hostNode, last(node.jsDoc)));
15353
15357
  }
15354
- if (node.kind === 167 /* Parameter */ || node.kind === 206 /* BindingElement */) {
15358
+ if (node.kind === 167 /* Parameter */) {
15355
15359
  result = addRange(result, (noCache ? getJSDocParameterTagsNoCache : getJSDocParameterTags)(node));
15356
15360
  break;
15357
15361
  }
@@ -45086,6 +45090,7 @@ ${lanes.join("\n")}
45086
45090
  var noImplicitThis = getStrictOptionValue(compilerOptions, "noImplicitThis");
45087
45091
  var useUnknownInCatchVariables = getStrictOptionValue(compilerOptions, "useUnknownInCatchVariables");
45088
45092
  var keyofStringsOnly = !!compilerOptions.keyofStringsOnly;
45093
+ var defaultIndexFlags = keyofStringsOnly ? 1 /* StringsOnly */ : 0 /* None */;
45089
45094
  var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 8192 /* FreshLiteral */;
45090
45095
  var exactOptionalPropertyTypes = compilerOptions.exactOptionalPropertyTypes;
45091
45096
  var checkBinaryExpression = createCheckBinaryExpression();
@@ -56354,6 +56359,13 @@ ${lanes.join("\n")}
56354
56359
  function isConflictingPrivateProperty(prop) {
56355
56360
  return !prop.valueDeclaration && !!(getCheckFlags(prop) & 1024 /* ContainsPrivate */);
56356
56361
  }
56362
+ function isGenericReducibleType(type) {
56363
+ return !!(type.flags & 1048576 /* Union */ && type.objectFlags & 16777216 /* ContainsIntersections */ && some(type.types, isGenericReducibleType) || type.flags & 2097152 /* Intersection */ && isReducibleIntersection(type));
56364
+ }
56365
+ function isReducibleIntersection(type) {
56366
+ const uniqueFilled = type.uniqueLiteralFilledInstantiation || (type.uniqueLiteralFilledInstantiation = instantiateType(type, uniqueLiteralMapper));
56367
+ return getReducedType(uniqueFilled) !== uniqueFilled;
56368
+ }
56357
56369
  function elaborateNeverIntersection(errorInfo, type) {
56358
56370
  if (type.flags & 2097152 /* Intersection */ && getObjectFlags(type) & 33554432 /* IsNeverIntersection */) {
56359
56371
  const neverProp = find(getPropertiesOfUnionOrIntersectionType(type), isDiscriminantWithNeverType);
@@ -58723,10 +58735,10 @@ ${lanes.join("\n")}
58723
58735
  }
58724
58736
  return links.resolvedType;
58725
58737
  }
58726
- function createIndexType(type, stringsOnly) {
58738
+ function createIndexType(type, indexFlags) {
58727
58739
  const result = createType(4194304 /* Index */);
58728
58740
  result.type = type;
58729
- result.stringsOnly = stringsOnly;
58741
+ result.indexFlags = indexFlags;
58730
58742
  return result;
58731
58743
  }
58732
58744
  function createOriginIndexType(type) {
@@ -58734,31 +58746,23 @@ ${lanes.join("\n")}
58734
58746
  result.type = type;
58735
58747
  return result;
58736
58748
  }
58737
- function getIndexTypeForGenericType(type, stringsOnly) {
58738
- return stringsOnly ? type.resolvedStringIndexType || (type.resolvedStringIndexType = createIndexType(
58739
- type,
58740
- /*stringsOnly*/
58741
- true
58742
- )) : type.resolvedIndexType || (type.resolvedIndexType = createIndexType(
58743
- type,
58744
- /*stringsOnly*/
58745
- false
58746
- ));
58749
+ function getIndexTypeForGenericType(type, indexFlags) {
58750
+ return indexFlags & 1 /* StringsOnly */ ? type.resolvedStringIndexType || (type.resolvedStringIndexType = createIndexType(type, 1 /* StringsOnly */)) : type.resolvedIndexType || (type.resolvedIndexType = createIndexType(type, 0 /* None */));
58747
58751
  }
58748
- function getIndexTypeForMappedType(type, stringsOnly, noIndexSignatures) {
58752
+ function getIndexTypeForMappedType(type, indexFlags) {
58749
58753
  const typeParameter = getTypeParameterFromMappedType(type);
58750
58754
  const constraintType = getConstraintTypeFromMappedType(type);
58751
58755
  const nameType = getNameTypeFromMappedType(type.target || type);
58752
- if (!nameType && !noIndexSignatures) {
58756
+ if (!nameType && !(indexFlags & 2 /* NoIndexSignatures */)) {
58753
58757
  return constraintType;
58754
58758
  }
58755
58759
  const keyTypes = [];
58756
58760
  if (isMappedTypeWithKeyofConstraintDeclaration(type)) {
58757
58761
  if (!isGenericIndexType(constraintType)) {
58758
58762
  const modifiersType = getApparentType(getModifiersTypeFromMappedType(type));
58759
- forEachMappedTypePropertyKeyTypeAndIndexSignatureKeyType(modifiersType, 8576 /* StringOrNumberLiteralOrUnique */, stringsOnly, addMemberForKeyType);
58763
+ forEachMappedTypePropertyKeyTypeAndIndexSignatureKeyType(modifiersType, 8576 /* StringOrNumberLiteralOrUnique */, !!(indexFlags & 1 /* StringsOnly */), addMemberForKeyType);
58760
58764
  } else {
58761
- return getIndexTypeForGenericType(type, stringsOnly);
58765
+ return getIndexTypeForGenericType(type, indexFlags);
58762
58766
  }
58763
58767
  } else {
58764
58768
  forEachType(getLowerBoundOfKeyType(constraintType), addMemberForKeyType);
@@ -58766,7 +58770,7 @@ ${lanes.join("\n")}
58766
58770
  if (isGenericIndexType(constraintType)) {
58767
58771
  forEachType(constraintType, addMemberForKeyType);
58768
58772
  }
58769
- const result = noIndexSignatures ? filterType(getUnionType(keyTypes), (t) => !(t.flags & (1 /* Any */ | 4 /* String */))) : getUnionType(keyTypes);
58773
+ const result = indexFlags & 2 /* NoIndexSignatures */ ? filterType(getUnionType(keyTypes), (t) => !(t.flags & (1 /* Any */ | 4 /* String */))) : getUnionType(keyTypes);
58770
58774
  if (result.flags & 1048576 /* Union */ && constraintType.flags & 1048576 /* Union */ && getTypeListId(result.types) === getTypeListId(constraintType.types)) {
58771
58775
  return constraintType;
58772
58776
  }
@@ -58819,19 +58823,15 @@ ${lanes.join("\n")}
58819
58823
  origin
58820
58824
  );
58821
58825
  }
58822
- function isPossiblyReducibleByInstantiation(type) {
58823
- const uniqueFilled = getUniqueLiteralFilledInstantiation(type);
58824
- return getReducedType(uniqueFilled) !== uniqueFilled;
58826
+ function shouldDeferIndexType(type, indexFlags = 0 /* None */) {
58827
+ return !!(type.flags & 58982400 /* InstantiableNonPrimitive */ || isGenericTupleType(type) || isGenericMappedType(type) && !hasDistributiveNameType(type) || type.flags & 1048576 /* Union */ && !(indexFlags & 4 /* NoReducibleCheck */) && isGenericReducibleType(type) || type.flags & 2097152 /* Intersection */ && maybeTypeOfKind(type, 465829888 /* Instantiable */) && some(type.types, isEmptyAnonymousObjectType));
58825
58828
  }
58826
- function shouldDeferIndexType(type) {
58827
- return !!(type.flags & 58982400 /* InstantiableNonPrimitive */ || isGenericTupleType(type) || isGenericMappedType(type) && !hasDistributiveNameType(type) || type.flags & 1048576 /* Union */ && some(type.types, isPossiblyReducibleByInstantiation) || type.flags & 2097152 /* Intersection */ && maybeTypeOfKind(type, 465829888 /* Instantiable */) && some(type.types, isEmptyAnonymousObjectType));
58828
- }
58829
- function getIndexType(type, stringsOnly = keyofStringsOnly, noIndexSignatures) {
58829
+ function getIndexType(type, indexFlags = defaultIndexFlags) {
58830
58830
  type = getReducedType(type);
58831
- return shouldDeferIndexType(type) ? getIndexTypeForGenericType(type, stringsOnly) : type.flags & 1048576 /* Union */ ? getIntersectionType(map(type.types, (t) => getIndexType(t, stringsOnly, noIndexSignatures))) : type.flags & 2097152 /* Intersection */ ? getUnionType(map(type.types, (t) => getIndexType(t, stringsOnly, noIndexSignatures))) : getObjectFlags(type) & 32 /* Mapped */ ? getIndexTypeForMappedType(type, stringsOnly, noIndexSignatures) : type === wildcardType ? wildcardType : type.flags & 2 /* Unknown */ ? neverType : type.flags & (1 /* Any */ | 131072 /* Never */) ? keyofConstraintType : getLiteralTypeFromProperties(
58831
+ return shouldDeferIndexType(type, indexFlags) ? getIndexTypeForGenericType(type, indexFlags) : type.flags & 1048576 /* Union */ ? getIntersectionType(map(type.types, (t) => getIndexType(t, indexFlags))) : type.flags & 2097152 /* Intersection */ ? getUnionType(map(type.types, (t) => getIndexType(t, indexFlags))) : getObjectFlags(type) & 32 /* Mapped */ ? getIndexTypeForMappedType(type, indexFlags) : type === wildcardType ? wildcardType : type.flags & 2 /* Unknown */ ? neverType : type.flags & (1 /* Any */ | 131072 /* Never */) ? keyofConstraintType : getLiteralTypeFromProperties(
58832
58832
  type,
58833
- (noIndexSignatures ? 128 /* StringLiteral */ : 402653316 /* StringLike */) | (stringsOnly ? 0 : 296 /* NumberLike */ | 12288 /* ESSymbolLike */),
58834
- stringsOnly === keyofStringsOnly && !noIndexSignatures
58833
+ (indexFlags & 2 /* NoIndexSignatures */ ? 128 /* StringLiteral */ : 402653316 /* StringLike */) | (indexFlags & 1 /* StringsOnly */ ? 0 : 296 /* NumberLike */ | 12288 /* ESSymbolLike */),
58834
+ indexFlags === defaultIndexFlags
58835
58835
  );
58836
58836
  }
58837
58837
  function getExtractStringType(type) {
@@ -59371,12 +59371,13 @@ ${lanes.join("\n")}
59371
59371
  if (objectType === wildcardType || indexType === wildcardType) {
59372
59372
  return wildcardType;
59373
59373
  }
59374
+ objectType = getReducedType(objectType);
59374
59375
  if (isStringIndexSignatureOnlyType(objectType) && !(indexType.flags & 98304 /* Nullable */) && isTypeAssignableToKind(indexType, 4 /* String */ | 8 /* Number */)) {
59375
59376
  indexType = stringType;
59376
59377
  }
59377
59378
  if (compilerOptions.noUncheckedIndexedAccess && accessFlags & 32 /* ExpressionPosition */)
59378
59379
  accessFlags |= 1 /* IncludeUndefined */;
59379
- if (isGenericIndexType(indexType) || (accessNode && accessNode.kind !== 197 /* IndexedAccessType */ ? isGenericTupleType(objectType) && !indexTypeLessThan(indexType, objectType.target.fixedLength) : isGenericObjectType(objectType) && !(isTupleType(objectType) && indexTypeLessThan(indexType, objectType.target.fixedLength)))) {
59380
+ if (isGenericIndexType(indexType) || (accessNode && accessNode.kind !== 197 /* IndexedAccessType */ ? isGenericTupleType(objectType) && !indexTypeLessThan(indexType, objectType.target.fixedLength) : isGenericObjectType(objectType) && !(isTupleType(objectType) && indexTypeLessThan(indexType, objectType.target.fixedLength)) || isGenericReducibleType(objectType))) {
59380
59381
  if (objectType.flags & 3 /* AnyOrUnknown */) {
59381
59382
  return objectType;
59382
59383
  }
@@ -60562,9 +60563,6 @@ ${lanes.join("\n")}
60562
60563
  }
60563
60564
  return type;
60564
60565
  }
60565
- function getUniqueLiteralFilledInstantiation(type) {
60566
- return type.flags & (402784252 /* Primitive */ | 3 /* AnyOrUnknown */ | 131072 /* Never */) ? type : type.uniqueLiteralFilledInstantiation || (type.uniqueLiteralFilledInstantiation = instantiateType(type, uniqueLiteralMapper));
60567
- }
60568
60566
  function getPermissiveInstantiation(type) {
60569
60567
  return type.flags & (402784252 /* Primitive */ | 3 /* AnyOrUnknown */ | 131072 /* Never */) ? type : type.permissiveInstantiation || (type.permissiveInstantiation = instantiateType(type, permissiveMapper));
60570
60568
  }
@@ -61276,7 +61274,12 @@ ${lanes.join("\n")}
61276
61274
  const paramCount = sourceRestType || targetRestType ? Math.min(sourceCount, targetCount) : Math.max(sourceCount, targetCount);
61277
61275
  const restIndex = sourceRestType || targetRestType ? paramCount - 1 : -1;
61278
61276
  for (let i = 0; i < paramCount; i++) {
61279
- const sourceType = i === restIndex ? getRestTypeAtPosition(source, i) : tryGetTypeAtPosition(source, i);
61277
+ const sourceType = i === restIndex ? getRestTypeAtPosition(
61278
+ source,
61279
+ i,
61280
+ /*readonly*/
61281
+ true
61282
+ ) : tryGetTypeAtPosition(source, i);
61280
61283
  const targetType = i === restIndex ? getRestTypeAtPosition(target, i) : tryGetTypeAtPosition(target, i);
61281
61284
  if (sourceType && targetType) {
61282
61285
  const sourceSig = checkMode & 3 /* Callback */ ? void 0 : getSingleCallSignature(getNonNullableType(sourceType));
@@ -62747,7 +62750,7 @@ ${lanes.join("\n")}
62747
62750
  } else {
62748
62751
  const constraint = getSimplifiedTypeOrConstraint(targetType);
62749
62752
  if (constraint) {
62750
- if (isRelatedTo(source2, getIndexType(constraint, target2.stringsOnly), 2 /* Target */, reportErrors2) === -1 /* True */) {
62753
+ if (isRelatedTo(source2, getIndexType(constraint, target2.indexFlags | 4 /* NoReducibleCheck */), 2 /* Target */, reportErrors2) === -1 /* True */) {
62751
62754
  return -1 /* True */;
62752
62755
  }
62753
62756
  } else if (isGenericMappedType(targetType)) {
@@ -62828,13 +62831,7 @@ ${lanes.join("\n")}
62828
62831
  }
62829
62832
  if (!isGenericMappedType(source2)) {
62830
62833
  const targetKeys = keysRemapped ? getNameTypeFromMappedType(target2) : getConstraintTypeFromMappedType(target2);
62831
- const sourceKeys = getIndexType(
62832
- source2,
62833
- /*stringsOnly*/
62834
- void 0,
62835
- /*noIndexSignatures*/
62836
- true
62837
- );
62834
+ const sourceKeys = getIndexType(source2, 2 /* NoIndexSignatures */);
62838
62835
  const includeOptional = modifiers & 4 /* IncludeOptional */;
62839
62836
  const filteredByApplicability = includeOptional ? intersectTypes(targetKeys, sourceKeys) : void 0;
62840
62837
  if (includeOptional ? !(filteredByApplicability.flags & 131072 /* Never */) : isRelatedTo(targetKeys, sourceKeys, 3 /* Both */)) {
@@ -73767,12 +73764,12 @@ ${lanes.join("\n")}
73767
73764
  }
73768
73765
  return void 0;
73769
73766
  }
73770
- function getRestTypeAtPosition(source, pos) {
73767
+ function getRestTypeAtPosition(source, pos, readonly = false) {
73771
73768
  const parameterCount = getParameterCount(source);
73772
73769
  const minArgumentCount = getMinArgumentCount(source);
73773
73770
  const restType = getEffectiveRestType(source);
73774
73771
  if (restType && pos >= parameterCount - 1) {
73775
- return pos === parameterCount - 1 ? restType : createArrayType(getIndexedAccessType(restType, numberType));
73772
+ return pos === parameterCount - 1 ? restType : createArrayType(getIndexedAccessType(restType, numberType), readonly);
73776
73773
  }
73777
73774
  const types = [];
73778
73775
  const flags = [];
@@ -73790,13 +73787,7 @@ ${lanes.join("\n")}
73790
73787
  names.push(name);
73791
73788
  }
73792
73789
  }
73793
- return createTupleType(
73794
- types,
73795
- flags,
73796
- /*readonly*/
73797
- false,
73798
- length(names) === length(types) ? names : void 0
73799
- );
73790
+ return createTupleType(types, flags, readonly, length(names) === length(types) ? names : void 0);
73800
73791
  }
73801
73792
  function getParameterCount(signature) {
73802
73793
  const length2 = signature.parameters.length;
@@ -77074,11 +77065,7 @@ ${lanes.join("\n")}
77074
77065
  }
77075
77066
  const objectType = type.objectType;
77076
77067
  const indexType = type.indexType;
77077
- if (isTypeAssignableTo(indexType, getIndexType(
77078
- objectType,
77079
- /*stringsOnly*/
77080
- false
77081
- ))) {
77068
+ if (isTypeAssignableTo(indexType, getIndexType(objectType, 0 /* None */))) {
77082
77069
  if (accessNode.kind === 210 /* ElementAccessExpression */ && isAssignmentTarget(accessNode) && getObjectFlags(objectType) & 32 /* Mapped */ && getMappedTypeModifiers(objectType) & 1 /* IncludeReadonly */) {
77083
77070
  error(accessNode, Diagnostics.Index_signature_in_type_0_only_permits_reading, typeToString(objectType));
77084
77071
  }
@@ -83898,7 +83885,8 @@ ${lanes.join("\n")}
83898
83885
  return grammarErrorOnNode(modifier, Diagnostics.abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration);
83899
83886
  }
83900
83887
  if (!(node.parent.kind === 261 /* ClassDeclaration */ && hasSyntacticModifier(node.parent, 256 /* Abstract */))) {
83901
- return grammarErrorOnNode(modifier, Diagnostics.Abstract_methods_can_only_appear_within_an_abstract_class);
83888
+ const message = node.kind === 170 /* PropertyDeclaration */ ? Diagnostics.Abstract_properties_can_only_appear_within_an_abstract_class : Diagnostics.Abstract_methods_can_only_appear_within_an_abstract_class;
83889
+ return grammarErrorOnNode(modifier, message);
83902
83890
  }
83903
83891
  if (flags & 32 /* Static */) {
83904
83892
  return grammarErrorOnNode(modifier, Diagnostics._0_modifier_cannot_be_used_with_1_modifier, "static", "abstract");
@@ -131946,6 +131934,9 @@ ${lanes.join("\n")}
131946
131934
  }
131947
131935
  }
131948
131936
  for (const option of transpileOptionValueCompilerOptions) {
131937
+ if (options.verbatimModuleSyntax && optionsRedundantWithVerbatimModuleSyntax.has(option.name)) {
131938
+ continue;
131939
+ }
131949
131940
  options[option.name] = option.transpileOptionValue;
131950
131941
  }
131951
131942
  options.suppressOutputPathCheck = true;
@@ -132049,11 +132040,16 @@ ${lanes.join("\n")}
132049
132040
  }
132050
132041
  return options;
132051
132042
  }
132052
- var commandLineOptionsStringToEnum;
132043
+ var optionsRedundantWithVerbatimModuleSyntax, commandLineOptionsStringToEnum;
132053
132044
  var init_transpile = __esm({
132054
132045
  "src/services/transpile.ts"() {
132055
132046
  "use strict";
132056
132047
  init_ts4();
132048
+ optionsRedundantWithVerbatimModuleSyntax = /* @__PURE__ */ new Set([
132049
+ "isolatedModules",
132050
+ "preserveValueImports",
132051
+ "importsNotUsedAsValues"
132052
+ ]);
132057
132053
  }
132058
132054
  });
132059
132055
 
@@ -167855,6 +167851,7 @@ ${options.prefix}` : "\n" : options.prefix
167855
167851
  ImportKind: () => ImportKind,
167856
167852
  ImportsNotUsedAsValues: () => ImportsNotUsedAsValues,
167857
167853
  IndentStyle: () => IndentStyle,
167854
+ IndexFlags: () => IndexFlags,
167858
167855
  IndexKind: () => IndexKind,
167859
167856
  InferenceFlags: () => InferenceFlags,
167860
167857
  InferencePriority: () => InferencePriority,
@@ -54,7 +54,7 @@ var path = __toESM(require("path"));
54
54
 
55
55
  // src/compiler/corePublic.ts
56
56
  var versionMajorMinor = "5.1";
57
- var version = `${versionMajorMinor}.0-insiders.20230313`;
57
+ var version = `${versionMajorMinor}.0-insiders.20230314`;
58
58
 
59
59
  // src/compiler/core.ts
60
60
  var emptyArray = [];
@@ -5291,6 +5291,7 @@ var Diagnostics = {
5291
5291
  Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5: diag(1250, 1 /* Error */, "Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250", "Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'."),
5292
5292
  Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode: diag(1251, 1 /* Error */, "Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251", "Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Class definitions are automatically in strict mode."),
5293
5293
  Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode: diag(1252, 1 /* Error */, "Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252", "Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Modules are automatically in strict mode."),
5294
+ Abstract_properties_can_only_appear_within_an_abstract_class: diag(1253, 1 /* Error */, "Abstract_properties_can_only_appear_within_an_abstract_class_1253", "Abstract properties can only appear within an abstract class."),
5294
5295
  A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference: diag(1254, 1 /* Error */, "A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_refere_1254", "A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference."),
5295
5296
  A_definite_assignment_assertion_is_not_permitted_in_this_context: diag(1255, 1 /* Error */, "A_definite_assignment_assertion_is_not_permitted_in_this_context_1255", "A definite assignment assertion '!' is not permitted in this context."),
5296
5297
  A_required_element_cannot_follow_an_optional_element: diag(1257, 1 /* Error */, "A_required_element_cannot_follow_an_optional_element_1257", "A required element cannot follow an optional element."),
@@ -9433,36 +9434,32 @@ function getModifiers(node) {
9433
9434
  return filter(node.modifiers, isModifier);
9434
9435
  }
9435
9436
  }
9436
- function getJSDocParameterTagsWorker(node, noCache) {
9437
- const declaration = getRootDeclaration(node);
9438
- if (isParameter(declaration)) {
9439
- const name = node.name;
9440
- const signatureDeclaration = declaration.parent;
9441
- const jsDocParameterTags = filter(getJSDocTagsWorker(signatureDeclaration, noCache), isJSDocParameterTag);
9442
- if (length(jsDocParameterTags) === 0) {
9443
- return emptyArray;
9444
- }
9445
- if (isIdentifier(name)) {
9446
- return filter(jsDocParameterTags, (tag) => isIdentifier(tag.name) && tag.name.escapedText === name.escapedText);
9447
- }
9448
- const i = signatureDeclaration.parameters.indexOf(declaration);
9449
- Debug.assert(i > -1, "Parameters should always be in their parents' parameter list");
9450
- if (i < length(jsDocParameterTags)) {
9451
- return [jsDocParameterTags[i]];
9437
+ function getJSDocParameterTagsWorker(param, noCache) {
9438
+ if (param.name) {
9439
+ if (isIdentifier(param.name)) {
9440
+ const name = param.name.escapedText;
9441
+ return getJSDocTagsWorker(param.parent, noCache).filter((tag) => isJSDocParameterTag(tag) && isIdentifier(tag.name) && tag.name.escapedText === name);
9442
+ } else {
9443
+ const i = param.parent.parameters.indexOf(param);
9444
+ Debug.assert(i > -1, "Parameters should always be in their parents' parameter list");
9445
+ const paramTags = getJSDocTagsWorker(param.parent, noCache).filter(isJSDocParameterTag);
9446
+ if (i < paramTags.length) {
9447
+ return [paramTags[i]];
9448
+ }
9452
9449
  }
9453
9450
  }
9454
9451
  return emptyArray;
9455
9452
  }
9456
- function getJSDocParameterTags(node) {
9453
+ function getJSDocParameterTags(param) {
9457
9454
  return getJSDocParameterTagsWorker(
9458
- node,
9455
+ param,
9459
9456
  /*noCache*/
9460
9457
  false
9461
9458
  );
9462
9459
  }
9463
- function getJSDocParameterTagsNoCache(node) {
9460
+ function getJSDocParameterTagsNoCache(param) {
9464
9461
  return getJSDocParameterTagsWorker(
9465
- node,
9462
+ param,
9466
9463
  /*noCache*/
9467
9464
  true
9468
9465
  );
@@ -10474,7 +10471,7 @@ function getJSDocCommentsAndTags(hostNode, noCache) {
10474
10471
  if (hasJSDocNodes(node)) {
10475
10472
  result = addRange(result, filterOwnedJSDocTags(hostNode, last(node.jsDoc)));
10476
10473
  }
10477
- if (node.kind === 167 /* Parameter */ || node.kind === 206 /* BindingElement */) {
10474
+ if (node.kind === 167 /* Parameter */) {
10478
10475
  result = addRange(result, (noCache ? getJSDocParameterTagsNoCache : getJSDocParameterTags)(node));
10479
10476
  break;
10480
10477
  }
@@ -10529,12 +10526,6 @@ function isDynamicName(name) {
10529
10526
  function getTextOfIdentifierOrLiteral(node) {
10530
10527
  return isMemberName(node) ? idText(node) : node.text;
10531
10528
  }
10532
- function getRootDeclaration(node) {
10533
- while (node.kind === 206 /* BindingElement */) {
10534
- node = node.parent.parent;
10535
- }
10536
- return node;
10537
- }
10538
10529
  function nodeIsSynthesized(range) {
10539
10530
  return positionIsSynthesized(range.pos) || positionIsSynthesized(range.end);
10540
10531
  }
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@typescript-deploys/pr-build",
3
3
  "author": "Microsoft Corp.",
4
4
  "homepage": "https://www.typescriptlang.org/",
5
- "version": "5.1.0-pr-50951-3",
5
+ "version": "5.1.0-pr-53258-7",
6
6
  "license": "Apache-2.0",
7
7
  "description": "TypeScript is a language for application scale JavaScript development",
8
8
  "keywords": [
@@ -78,7 +78,7 @@
78
78
  "ms": "^2.1.3",
79
79
  "node-fetch": "^3.2.10",
80
80
  "source-map-support": "^0.5.21",
81
- "typescript": "5.0.0-dev.20230112",
81
+ "typescript": "5.0.1-rc",
82
82
  "which": "^2.0.2"
83
83
  },
84
84
  "overrides": {
@@ -113,5 +113,5 @@
113
113
  "node": "14.21.1",
114
114
  "npm": "8.19.3"
115
115
  },
116
- "gitHead": "c9512cc7e2a4cf637a5039e546fa52652b0b84eb"
116
+ "gitHead": "e2135808035b5ef94c2174f2d42b67d08f8e0f24"
117
117
  }