typescript 4.5.0-dev.20210923 → 4.5.0-dev.20210924

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.
@@ -22,3 +22,4 @@ and limitations under the License.
22
22
  /// <reference lib="es2021.promise" />
23
23
  /// <reference lib="es2021.string" />
24
24
  /// <reference lib="es2021.weakref" />
25
+ /// <reference lib="es2021.intl" />
@@ -28,6 +28,15 @@ declare namespace Intl {
28
28
  fractionalSecondDigits?: 0 | 1 | 2 | 3 | undefined;
29
29
  }
30
30
 
31
+ interface ResolvedDateTimeFormatOptions {
32
+ formatMatcher?: "basic" | "best fit" | "best fit";
33
+ dateStyle?: "full" | "long" | "medium" | "short";
34
+ timeStyle?: "full" | "long" | "medium" | "short";
35
+ hourCycle?: "h11" | "h12" | "h23" | "h24";
36
+ dayPeriod?: "narrow" | "short" | "long";
37
+ fractionalSecondDigits?: 0 | 1 | 2 | 3;
38
+ }
39
+
31
40
  interface NumberFormat {
32
41
  formatRange(startDate: number | bigint, endDate: number | bigint): string;
33
42
  formatRangeToParts(startDate: number | bigint, endDate: number | bigint): NumberFormatPart[];
package/lib/tsc.js CHANGED
@@ -69,7 +69,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
69
69
  var ts;
70
70
  (function (ts) {
71
71
  ts.versionMajorMinor = "4.5";
72
- ts.version = ts.versionMajorMinor + ".0-dev.20210923";
72
+ ts.version = ts.versionMajorMinor + ".0-dev.20210924";
73
73
  var NativeCollections;
74
74
  (function (NativeCollections) {
75
75
  function tryGetNativeMap() {
@@ -37959,10 +37959,13 @@ var ts;
37959
37959
  var undefinedProperties = new ts.Map();
37960
37960
  var unknownSymbol = createSymbol(4, "unknown");
37961
37961
  var resolvingSymbol = createSymbol(0, "__resolving__");
37962
+ var unresolvedSymbols = new ts.Map();
37963
+ var errorTypes = new ts.Map();
37962
37964
  var anyType = createIntrinsicType(1, "any");
37963
37965
  var autoType = createIntrinsicType(1, "any");
37964
37966
  var wildcardType = createIntrinsicType(1, "any");
37965
37967
  var errorType = createIntrinsicType(1, "error");
37968
+ var unresolvedType = createIntrinsicType(1, "unresolved");
37966
37969
  var nonInferrableAnyType = createIntrinsicType(1, "any", 131072);
37967
37970
  var intrinsicMarkerType = createIntrinsicType(1, "intrinsic");
37968
37971
  var unknownType = createIntrinsicType(2, "unknown");
@@ -40942,7 +40945,7 @@ var ts;
40942
40945
  var typeNode = nodeBuilder.typeToTypeNode(type, enclosingDeclaration, toNodeBuilderFlags(flags) | 70221824 | (noTruncation ? 1 : 0), writer);
40943
40946
  if (typeNode === undefined)
40944
40947
  return ts.Debug.fail("should always get typenode");
40945
- var options = { removeComments: true };
40948
+ var options = { removeComments: type !== unresolvedType };
40946
40949
  var printer = ts.createPrinter(options);
40947
40950
  var sourceFile = enclosingDeclaration && ts.getSourceFileOfNode(enclosingDeclaration);
40948
40951
  printer.writeNode(4, typeNode, sourceFile, writer);
@@ -41086,6 +41089,12 @@ var ts;
41086
41089
  type = getReducedType(type);
41087
41090
  }
41088
41091
  if (type.flags & 1) {
41092
+ if (type.aliasSymbol) {
41093
+ return ts.factory.createTypeReferenceNode(symbolToEntityNameNode(type.aliasSymbol), mapToTypeNodes(type.aliasTypeArguments, context));
41094
+ }
41095
+ if (type === unresolvedType) {
41096
+ return ts.addSyntheticLeadingComment(ts.factory.createKeywordTypeNode(130), 3, "unresolved");
41097
+ }
41089
41098
  context.approximateLength += 3;
41090
41099
  return ts.factory.createKeywordTypeNode(type === intrinsicMarkerType ? 138 : 130);
41091
41100
  }
@@ -42101,6 +42110,10 @@ var ts;
42101
42110
  }
42102
42111
  return specifier;
42103
42112
  }
42113
+ function symbolToEntityNameNode(symbol) {
42114
+ var identifier = ts.factory.createIdentifier(ts.unescapeLeadingUnderscores(symbol.escapedName));
42115
+ return symbol.parent ? ts.factory.createQualifiedName(symbolToEntityNameNode(symbol.parent), identifier) : identifier;
42116
+ }
42104
42117
  function symbolToTypeNode(symbol, context, meaning, overrideTypeArguments) {
42105
42118
  var chain = lookupSymbolChain(symbol, context, meaning, !(context.flags & 16384));
42106
42119
  var isTypeOf = meaning === 111551;
@@ -42364,7 +42377,7 @@ var ts;
42364
42377
  return !(ts.getObjectFlags(type) & 4) || !ts.isTypeReferenceNode(existing) || ts.length(existing.typeArguments) >= getMinTypeArgumentCount(type.target.typeParameters);
42365
42378
  }
42366
42379
  function serializeTypeForDeclaration(context, type, symbol, enclosingDeclaration, includePrivateSymbol, bundled) {
42367
- if (type !== errorType && enclosingDeclaration) {
42380
+ if (!isErrorType(type) && enclosingDeclaration) {
42368
42381
  var declWithExistingAnnotation = getDeclarationWithTypeAnnotation(symbol, enclosingDeclaration);
42369
42382
  if (declWithExistingAnnotation && !ts.isFunctionLikeDeclaration(declWithExistingAnnotation) && !ts.isGetAccessorDeclaration(declWithExistingAnnotation)) {
42370
42383
  var existing = ts.getEffectiveTypeAnnotationNode(declWithExistingAnnotation);
@@ -42386,7 +42399,7 @@ var ts;
42386
42399
  return result;
42387
42400
  }
42388
42401
  function serializeReturnTypeForSignature(context, type, signature, includePrivateSymbol, bundled) {
42389
- if (type !== errorType && context.enclosingDeclaration) {
42402
+ if (!isErrorType(type) && context.enclosingDeclaration) {
42390
42403
  var annotation = signature.declaration && ts.getEffectiveReturnTypeNode(signature.declaration);
42391
42404
  if (!!ts.findAncestor(annotation, function (n) { return n === context.enclosingDeclaration; }) && annotation) {
42392
42405
  var annotated = getTypeFromTypeNode(annotation);
@@ -42479,7 +42492,7 @@ var ts;
42479
42492
  return ts.factory.createFunctionTypeNode(ts.visitNodes(node.typeParameters, visitExistingNodeTreeSymbols), ts.map(node.parameters, function (p, i) { return ts.factory.createParameterDeclaration(undefined, undefined, getEffectiveDotDotDotForParameter(p), getNameForJSDocFunctionParameter(p, i), p.questionToken, ts.visitNode(p.type, visitExistingNodeTreeSymbols), undefined); }), ts.visitNode(node.type, visitExistingNodeTreeSymbols) || ts.factory.createKeywordTypeNode(130));
42480
42493
  }
42481
42494
  }
42482
- if (ts.isTypeReferenceNode(node) && ts.isInJSDoc(node) && (!existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(node, getTypeFromTypeNode(node)) || getIntendedTypeFromJSDocTypeReference(node) || unknownSymbol === resolveTypeReferenceName(getTypeReferenceName(node), 788968, true))) {
42495
+ if (ts.isTypeReferenceNode(node) && ts.isInJSDoc(node) && (!existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(node, getTypeFromTypeNode(node)) || getIntendedTypeFromJSDocTypeReference(node) || unknownSymbol === resolveTypeReferenceName(node, 788968, true))) {
42483
42496
  return ts.setOriginalNode(typeToTypeNodeHelper(getTypeFromTypeNode(node), context), node);
42484
42497
  }
42485
42498
  if (ts.isLiteralImportTypeNode(node)) {
@@ -43774,6 +43787,9 @@ var ts;
43774
43787
  function isTypeAny(type) {
43775
43788
  return type && (type.flags & 1) !== 0;
43776
43789
  }
43790
+ function isErrorType(type) {
43791
+ return type === errorType || !!(type.flags & 1 && type.aliasSymbol);
43792
+ }
43777
43793
  function getTypeForBindingElementParent(node) {
43778
43794
  var symbol = getSymbolOfNode(node);
43779
43795
  return symbol && getSymbolLinks(symbol).type || getTypeForVariableLikeDeclaration(node, false);
@@ -44230,7 +44246,7 @@ var ts;
44230
44246
  if (!declaredType) {
44231
44247
  return type;
44232
44248
  }
44233
- else if (declaredType !== errorType && type !== errorType && !isTypeIdenticalTo(declaredType, type)) {
44249
+ else if (!isErrorType(declaredType) && !isErrorType(type) && !isTypeIdenticalTo(declaredType, type)) {
44234
44250
  errorNextVariableOrPropertyDeclarationMustHaveSameType(undefined, declaredType, declaration, type);
44235
44251
  }
44236
44252
  }
@@ -45023,7 +45039,7 @@ var ts;
45023
45039
  for (var _b = 0, implementsTypeNodes_1 = implementsTypeNodes; _b < implementsTypeNodes_1.length; _b++) {
45024
45040
  var node = implementsTypeNodes_1[_b];
45025
45041
  var implementsType = getTypeFromTypeNode(node);
45026
- if (implementsType !== errorType) {
45042
+ if (!isErrorType(implementsType)) {
45027
45043
  if (resolvedImplementsTypes === ts.emptyArray) {
45028
45044
  resolvedImplementsTypes = [implementsType];
45029
45045
  }
@@ -45097,7 +45113,7 @@ var ts;
45097
45113
  }
45098
45114
  baseType = getReturnTypeOfSignature(constructors[0]);
45099
45115
  }
45100
- if (baseType === errorType) {
45116
+ if (isErrorType(baseType)) {
45101
45117
  return type.resolvedBaseTypes = ts.emptyArray;
45102
45118
  }
45103
45119
  var reducedBaseType = getReducedType(baseType);
@@ -45144,7 +45160,7 @@ var ts;
45144
45160
  for (var _b = 0, _c = ts.getInterfaceBaseTypeNodes(declaration); _b < _c.length; _b++) {
45145
45161
  var node = _c[_b];
45146
45162
  var baseType = getReducedType(getTypeFromTypeNode(node));
45147
- if (baseType !== errorType) {
45163
+ if (!isErrorType(baseType)) {
45148
45164
  if (isValidBaseType(baseType)) {
45149
45165
  if (type !== baseType && !hasBaseType(baseType, type)) {
45150
45166
  if (type.resolvedBaseTypes === ts.emptyArray) {
@@ -46722,7 +46738,7 @@ var ts;
46722
46738
  for (var _i = 0, _c = containingType.types; _i < _c.length; _i++) {
46723
46739
  var current = _c[_i];
46724
46740
  var type = getApparentType(current);
46725
- if (!(type === errorType || type.flags & 131072)) {
46741
+ if (!(isErrorType(type) || type.flags & 131072)) {
46726
46742
  var prop = getPropertyOfType(type, name, skipObjectFunctionPropertyAugment);
46727
46743
  var modifiers = prop ? ts.getDeclarationModifierFlagsFromSymbol(prop) : 0;
46728
46744
  if (prop) {
@@ -47557,7 +47573,7 @@ var ts;
47557
47573
  }
47558
47574
  else {
47559
47575
  var type = getTypeFromTypeNode(constraintDeclaration);
47560
- if (type.flags & 1 && type !== errorType) {
47576
+ if (type.flags & 1 && !isErrorType(type)) {
47561
47577
  type = constraintDeclaration.parent.parent.kind === 194 ? keyofConstraintType : unknownType;
47562
47578
  }
47563
47579
  typeParameter.constraint = type;
@@ -47711,6 +47727,18 @@ var ts;
47711
47727
  return instantiation;
47712
47728
  }
47713
47729
  function getTypeFromTypeAliasReference(node, symbol) {
47730
+ if (ts.getCheckFlags(symbol) & 1048576) {
47731
+ var typeArguments = typeArgumentsFromTypeReferenceNode(node);
47732
+ var id = getAliasId(symbol, typeArguments);
47733
+ var errorType_1 = errorTypes.get(id);
47734
+ if (!errorType_1) {
47735
+ errorType_1 = createIntrinsicType(1, "error");
47736
+ errorType_1.aliasSymbol = symbol;
47737
+ errorType_1.aliasTypeArguments = typeArguments;
47738
+ errorTypes.set(id, errorType_1);
47739
+ }
47740
+ return errorType_1;
47741
+ }
47714
47742
  var type = getDeclaredTypeOfSymbol(symbol);
47715
47743
  var typeParameters = getSymbolLinks(symbol).typeParameters;
47716
47744
  if (typeParameters) {
@@ -47745,11 +47773,37 @@ var ts;
47745
47773
  }
47746
47774
  return undefined;
47747
47775
  }
47748
- function resolveTypeReferenceName(typeReferenceName, meaning, ignoreErrors) {
47749
- if (!typeReferenceName) {
47776
+ function getSymbolPath(symbol) {
47777
+ return symbol.parent ? getSymbolPath(symbol.parent) + "." + symbol.escapedName : symbol.escapedName;
47778
+ }
47779
+ function getUnresolvedSymbolForEntityName(name) {
47780
+ var identifier = name.kind === 160 ? name.right :
47781
+ name.kind === 205 ? name.name :
47782
+ name;
47783
+ var text = identifier.escapedText;
47784
+ if (text) {
47785
+ var parentSymbol = name.kind === 160 ? getUnresolvedSymbolForEntityName(name.left) :
47786
+ name.kind === 205 ? getUnresolvedSymbolForEntityName(name.expression) :
47787
+ undefined;
47788
+ var path = parentSymbol ? getSymbolPath(parentSymbol) + "." + text : text;
47789
+ var result = unresolvedSymbols.get(path);
47790
+ if (!result) {
47791
+ unresolvedSymbols.set(path, result = createSymbol(524288, text, 1048576));
47792
+ result.parent = parentSymbol;
47793
+ result.declaredType = unresolvedType;
47794
+ }
47795
+ return result;
47796
+ }
47797
+ return unknownSymbol;
47798
+ }
47799
+ function resolveTypeReferenceName(typeReference, meaning, ignoreErrors) {
47800
+ var name = getTypeReferenceName(typeReference);
47801
+ if (!name) {
47750
47802
  return unknownSymbol;
47751
47803
  }
47752
- return resolveEntityName(typeReferenceName, meaning, ignoreErrors) || unknownSymbol;
47804
+ var symbol = resolveEntityName(name, meaning, ignoreErrors);
47805
+ return symbol && symbol !== unknownSymbol ? symbol :
47806
+ ignoreErrors ? unknownSymbol : getUnresolvedSymbolForEntityName(name);
47753
47807
  }
47754
47808
  function getTypeReferenceType(node, symbol) {
47755
47809
  if (symbol === unknownSymbol) {
@@ -47772,7 +47826,7 @@ var ts;
47772
47826
  return jsdocType;
47773
47827
  }
47774
47828
  else {
47775
- resolveTypeReferenceName(getTypeReferenceName(node), 788968);
47829
+ resolveTypeReferenceName(node, 788968);
47776
47830
  return getTypeOfSymbol(symbol);
47777
47831
  }
47778
47832
  }
@@ -47906,18 +47960,18 @@ var ts;
47906
47960
  if (isJSDocTypeReference(node)) {
47907
47961
  type = getIntendedTypeFromJSDocTypeReference(node);
47908
47962
  if (!type) {
47909
- symbol = resolveTypeReferenceName(getTypeReferenceName(node), meaning, true);
47963
+ symbol = resolveTypeReferenceName(node, meaning, true);
47910
47964
  if (symbol === unknownSymbol) {
47911
- symbol = resolveTypeReferenceName(getTypeReferenceName(node), meaning | 111551);
47965
+ symbol = resolveTypeReferenceName(node, meaning | 111551);
47912
47966
  }
47913
47967
  else {
47914
- resolveTypeReferenceName(getTypeReferenceName(node), meaning);
47968
+ resolveTypeReferenceName(node, meaning);
47915
47969
  }
47916
47970
  type = getTypeReferenceType(node, symbol);
47917
47971
  }
47918
47972
  }
47919
47973
  if (!type) {
47920
- symbol = resolveTypeReferenceName(getTypeReferenceName(node), meaning);
47974
+ symbol = resolveTypeReferenceName(node, meaning);
47921
47975
  type = getTypeReferenceType(node, symbol);
47922
47976
  }
47923
47977
  links.resolvedSymbol = symbol;
@@ -48152,7 +48206,7 @@ var ts;
48152
48206
  function mayResolveTypeAlias(node) {
48153
48207
  switch (node.kind) {
48154
48208
  case 177:
48155
- return isJSDocTypeReference(node) || !!(resolveTypeReferenceName(node.typeName, 788968).flags & 524288);
48209
+ return isJSDocTypeReference(node) || !!(resolveTypeReferenceName(node, 788968).flags & 524288);
48156
48210
  case 180:
48157
48211
  return true;
48158
48212
  case 192:
@@ -50419,7 +50473,7 @@ var ts;
50419
50473
  var mappedTypeVariable = instantiateType(typeVariable, mapper);
50420
50474
  if (typeVariable !== mappedTypeVariable) {
50421
50475
  return mapTypeWithAlias(getReducedType(mappedTypeVariable), function (t) {
50422
- if (t.flags & (3 | 58982400 | 524288 | 2097152) && t !== wildcardType && t !== errorType) {
50476
+ if (t.flags & (3 | 58982400 | 524288 | 2097152) && t !== wildcardType && !isErrorType(t)) {
50423
50477
  if (!type.declaration.nameType) {
50424
50478
  if (isArrayType(t)) {
50425
50479
  return instantiateMappedArrayType(t, type, prependTypeMapping(typeVariable, t, mapper));
@@ -50455,7 +50509,7 @@ var ts;
50455
50509
  }
50456
50510
  function instantiateMappedArrayType(arrayType, mappedType, mapper) {
50457
50511
  var elementType = instantiateMappedTypeTemplate(mappedType, numberType, true, mapper);
50458
- return elementType === errorType ? errorType :
50512
+ return isErrorType(elementType) ? errorType :
50459
50513
  createArrayType(elementType, getModifiedReadonlyState(isReadonlyArrayType(arrayType), getMappedTypeModifiers(mappedType)));
50460
50514
  }
50461
50515
  function instantiateMappedTupleType(tupleType, mappedType, mapper) {
@@ -51844,7 +51898,7 @@ var ts;
51844
51898
  var targetTypes = target.types;
51845
51899
  var intrinsicAttributes = getJsxType(JsxNames.IntrinsicAttributes, errorNode);
51846
51900
  var intrinsicClassAttributes = getJsxType(JsxNames.IntrinsicClassAttributes, errorNode);
51847
- if (intrinsicAttributes !== errorType && intrinsicClassAttributes !== errorType &&
51901
+ if (!isErrorType(intrinsicAttributes) && !isErrorType(intrinsicClassAttributes) &&
51848
51902
  (ts.contains(targetTypes, intrinsicAttributes) || ts.contains(targetTypes, intrinsicClassAttributes))) {
51849
51903
  return result;
51850
51904
  }
@@ -58323,7 +58377,7 @@ var ts;
58323
58377
  var propsType = getTypeOfFirstParameterOfSignatureWithFallback(sig, unknownType);
58324
58378
  propsType = getJsxManagedAttributesFromLocatedAttributes(context, getJsxNamespaceAt(context), propsType);
58325
58379
  var intrinsicAttribs = getJsxType(JsxNames.IntrinsicAttributes, context);
58326
- if (intrinsicAttribs !== errorType) {
58380
+ if (!isErrorType(intrinsicAttribs)) {
58327
58381
  propsType = intersectTypes(intrinsicAttribs, propsType);
58328
58382
  }
58329
58383
  return propsType;
@@ -58405,7 +58459,7 @@ var ts;
58405
58459
  else {
58406
58460
  var apparentAttributesType = attributesType;
58407
58461
  var intrinsicClassAttribs = getJsxType(JsxNames.IntrinsicClassAttributes, context);
58408
- if (intrinsicClassAttribs !== errorType) {
58462
+ if (!isErrorType(intrinsicClassAttribs)) {
58409
58463
  var typeParams = getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(intrinsicClassAttribs.symbol);
58410
58464
  var hostClassType = getReturnTypeOfSignature(sig);
58411
58465
  apparentAttributesType = intersectTypes(typeParams
@@ -58413,7 +58467,7 @@ var ts;
58413
58467
  : intrinsicClassAttribs, apparentAttributesType);
58414
58468
  }
58415
58469
  var intrinsicAttribs = getJsxType(JsxNames.IntrinsicAttributes, context);
58416
- if (intrinsicAttribs !== errorType) {
58470
+ if (!isErrorType(intrinsicAttribs)) {
58417
58471
  apparentAttributesType = intersectTypes(intrinsicAttribs, apparentAttributesType);
58418
58472
  }
58419
58473
  return apparentAttributesType;
@@ -58809,7 +58863,7 @@ var ts;
58809
58863
  checkSpreadPropOverrides(mergedType, allPropertiesTable, memberDecl);
58810
58864
  }
58811
58865
  offset = propertiesArray.length;
58812
- if (spread === errorType) {
58866
+ if (isErrorType(spread)) {
58813
58867
  continue;
58814
58868
  }
58815
58869
  spread = getSpreadType(spread, mergedType, node.symbol, objectFlags, inConstContext);
@@ -58857,7 +58911,7 @@ var ts;
58857
58911
  }
58858
58912
  }
58859
58913
  }
58860
- if (spread === errorType) {
58914
+ if (isErrorType(spread)) {
58861
58915
  return errorType;
58862
58916
  }
58863
58917
  if (spread !== emptyObjectType) {
@@ -59082,7 +59136,7 @@ var ts;
59082
59136
  var links = getNodeLinks(node);
59083
59137
  if (!links.resolvedSymbol) {
59084
59138
  var intrinsicElementsType = getJsxType(JsxNames.IntrinsicElements, node);
59085
- if (intrinsicElementsType !== errorType) {
59139
+ if (!isErrorType(intrinsicElementsType)) {
59086
59140
  if (!ts.isIdentifier(node.tagName))
59087
59141
  return ts.Debug.fail();
59088
59142
  var intrinsicProp = getPropertyOfType(intrinsicElementsType, node.tagName.escapedText);
@@ -59214,7 +59268,7 @@ var ts;
59214
59268
  }
59215
59269
  function getIntrinsicAttributesTypeFromStringLiteralType(type, location) {
59216
59270
  var intrinsicElementsType = getJsxType(JsxNames.IntrinsicElements, location);
59217
- if (intrinsicElementsType !== errorType) {
59271
+ if (!isErrorType(intrinsicElementsType)) {
59218
59272
  var stringLiteralTypeName = type.value;
59219
59273
  var intrinsicProp = getPropertyOfType(intrinsicElementsType, ts.escapeLeadingUnderscores(stringLiteralTypeName));
59220
59274
  if (intrinsicProp) {
@@ -59275,7 +59329,7 @@ var ts;
59275
59329
  }
59276
59330
  function getJsxElementClassTypeAt(location) {
59277
59331
  var type = getJsxType(JsxNames.ElementClass, location);
59278
- if (type === errorType)
59332
+ if (isErrorType(type))
59279
59333
  return undefined;
59280
59334
  return type;
59281
59335
  }
@@ -59508,7 +59562,7 @@ var ts;
59508
59562
  }
59509
59563
  function checkNonNullNonVoidType(type, node) {
59510
59564
  var nonNullType = checkNonNullType(type, node);
59511
- if (nonNullType !== errorType && nonNullType.flags & 16384) {
59565
+ if (nonNullType.flags & 16384) {
59512
59566
  error(node, ts.Diagnostics.Object_is_possibly_undefined);
59513
59567
  }
59514
59568
  return nonNullType;
@@ -59618,7 +59672,7 @@ var ts;
59618
59672
  }
59619
59673
  if (isAnyLike) {
59620
59674
  if (lexicallyScopedSymbol) {
59621
- return apparentType;
59675
+ return isErrorType(apparentType) ? errorType : apparentType;
59622
59676
  }
59623
59677
  if (!ts.getContainingClass(right)) {
59624
59678
  grammarErrorOnNode(right, ts.Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies);
@@ -59641,7 +59695,8 @@ var ts;
59641
59695
  if (ts.isIdentifier(left) && parentSymbol) {
59642
59696
  markAliasReferenced(parentSymbol, node);
59643
59697
  }
59644
- return apparentType;
59698
+ return isErrorType(apparentType) ? errorType : apparentType;
59699
+ ;
59645
59700
  }
59646
59701
  prop = getPropertyOfType(apparentType, right.escapedText);
59647
59702
  }
@@ -60044,14 +60099,14 @@ var ts;
60044
60099
  return isPropertyAccessible(node, node.kind === 205 && node.expression.kind === 106, false, type, property);
60045
60100
  }
60046
60101
  function isValidPropertyAccessWithType(node, isSuper, propertyName, type) {
60047
- if (type === errorType || isTypeAny(type)) {
60102
+ if (isTypeAny(type)) {
60048
60103
  return true;
60049
60104
  }
60050
60105
  var prop = getPropertyOfType(type, propertyName);
60051
60106
  return !!prop && isPropertyAccessible(node, isSuper, false, type, prop);
60052
60107
  }
60053
60108
  function isPropertyAccessible(node, isSuper, isWrite, containingType, property) {
60054
- if (containingType === errorType || isTypeAny(containingType)) {
60109
+ if (isTypeAny(containingType)) {
60055
60110
  return true;
60056
60111
  }
60057
60112
  if (property.valueDeclaration && ts.isPrivateIdentifierClassElementDeclaration(property.valueDeclaration)) {
@@ -60110,7 +60165,7 @@ var ts;
60110
60165
  var objectType = ts.getAssignmentTargetKind(node) !== 0 || isMethodAccessForCall(node) ? getWidenedType(exprType) : exprType;
60111
60166
  var indexExpression = node.argumentExpression;
60112
60167
  var indexType = checkExpression(indexExpression);
60113
- if (objectType === errorType || objectType === silentNeverType) {
60168
+ if (isErrorType(objectType) || objectType === silentNeverType) {
60114
60169
  return objectType;
60115
60170
  }
60116
60171
  if (isConstEnumObjectType(objectType) && !ts.isStringLiteralLike(indexExpression)) {
@@ -60315,7 +60370,7 @@ var ts;
60315
60370
  return inferJsxTypeArguments(node, signature, checkMode, context);
60316
60371
  }
60317
60372
  if (node.kind !== 164) {
60318
- var contextualType = getContextualType(node, 8);
60373
+ var contextualType = getContextualType(node, ts.every(signature.typeParameters, function (p) { return !!getDefaultFromTypeParameter(p); }) ? 8 : 0);
60319
60374
  if (contextualType) {
60320
60375
  var outerContext = getInferenceContext(node);
60321
60376
  var outerMapper = getMapperFromContext(cloneInferenceContext(outerContext, 1));
@@ -61121,7 +61176,7 @@ var ts;
61121
61176
  }
61122
61177
  return anySignature;
61123
61178
  }
61124
- if (superType !== errorType) {
61179
+ if (!isErrorType(superType)) {
61125
61180
  var baseTypeNode = ts.getEffectiveBaseTypeNode(ts.getContainingClass(node));
61126
61181
  if (baseTypeNode) {
61127
61182
  var baseConstructors = getInstantiatedConstructorsForTypeArguments(superType, baseTypeNode.typeArguments, baseTypeNode);
@@ -61147,13 +61202,13 @@ var ts;
61147
61202
  return silentNeverSignature;
61148
61203
  }
61149
61204
  var apparentType = getApparentType(funcType);
61150
- if (apparentType === errorType) {
61205
+ if (isErrorType(apparentType)) {
61151
61206
  return resolveErrorCall(node);
61152
61207
  }
61153
61208
  var callSignatures = getSignaturesOfType(apparentType, 0);
61154
61209
  var numConstructSignatures = getSignaturesOfType(apparentType, 1).length;
61155
61210
  if (isUntypedFunctionCall(funcType, apparentType, callSignatures.length, numConstructSignatures)) {
61156
- if (funcType !== errorType && node.typeArguments) {
61211
+ if (!isErrorType(funcType) && node.typeArguments) {
61157
61212
  error(node, ts.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments);
61158
61213
  }
61159
61214
  return resolveUntypedCall(node);
@@ -61203,7 +61258,7 @@ var ts;
61203
61258
  return silentNeverSignature;
61204
61259
  }
61205
61260
  expressionType = getApparentType(expressionType);
61206
- if (expressionType === errorType) {
61261
+ if (isErrorType(expressionType)) {
61207
61262
  return resolveErrorCall(node);
61208
61263
  }
61209
61264
  if (isTypeAny(expressionType)) {
@@ -61392,7 +61447,7 @@ var ts;
61392
61447
  function resolveTaggedTemplateExpression(node, candidatesOutArray, checkMode) {
61393
61448
  var tagType = checkExpression(node.tag);
61394
61449
  var apparentType = getApparentType(tagType);
61395
- if (apparentType === errorType) {
61450
+ if (isErrorType(apparentType)) {
61396
61451
  return resolveErrorCall(node);
61397
61452
  }
61398
61453
  var callSignatures = getSignaturesOfType(apparentType, 0);
@@ -61431,7 +61486,7 @@ var ts;
61431
61486
  function resolveDecorator(node, candidatesOutArray, checkMode) {
61432
61487
  var funcType = checkExpression(node.expression);
61433
61488
  var apparentType = getApparentType(funcType);
61434
- if (apparentType === errorType) {
61489
+ if (isErrorType(apparentType)) {
61435
61490
  return resolveErrorCall(node);
61436
61491
  }
61437
61492
  var callSignatures = getSignaturesOfType(apparentType, 0);
@@ -61481,7 +61536,7 @@ var ts;
61481
61536
  }
61482
61537
  var exprTypes = checkExpression(node.tagName);
61483
61538
  var apparentType = getApparentType(exprTypes);
61484
- if (apparentType === errorType) {
61539
+ if (isErrorType(apparentType)) {
61485
61540
  return resolveErrorCall(node);
61486
61541
  }
61487
61542
  var signatures = getUninstantiatedJsxSignaturesOfType(exprTypes, node);
@@ -61761,7 +61816,7 @@ var ts;
61761
61816
  }
61762
61817
  function getTypeWithSyntheticDefaultImportType(type, symbol, originalSymbol) {
61763
61818
  var _a;
61764
- if (allowSyntheticDefaultImports && type && type !== errorType) {
61819
+ if (allowSyntheticDefaultImports && type && !isErrorType(type)) {
61765
61820
  var synthType = type;
61766
61821
  if (!synthType.syntheticType) {
61767
61822
  var file = (_a = originalSymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(ts.isSourceFile);
@@ -61864,7 +61919,7 @@ var ts;
61864
61919
  checkSourceElement(type);
61865
61920
  exprType = getRegularTypeOfObjectLiteral(getBaseTypeOfLiteralType(exprType));
61866
61921
  var targetType = getTypeFromTypeNode(type);
61867
- if (produceDiagnostics && targetType !== errorType) {
61922
+ if (produceDiagnostics && !isErrorType(targetType)) {
61868
61923
  var widenedType = getWidenedType(exprType);
61869
61924
  if (!isTypeComparableTo(targetType, widenedType)) {
61870
61925
  checkTypeComparableTo(exprType, targetType, errNode, ts.Diagnostics.Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first);
@@ -61897,7 +61952,7 @@ var ts;
61897
61952
  return getGlobalImportMetaExpressionType();
61898
61953
  case 103:
61899
61954
  var type = checkNewTargetMetaProperty(node);
61900
- return type === errorType ? errorType : createNewTargetExpressionType(type);
61955
+ return isErrorType(type) ? errorType : createNewTargetExpressionType(type);
61901
61956
  default:
61902
61957
  ts.Debug.assertNever(node.keywordToken);
61903
61958
  }
@@ -62772,7 +62827,7 @@ var ts;
62772
62827
  }
62773
62828
  var operandType = checkExpression(node.expression);
62774
62829
  var awaitedType = checkAwaitedType(operandType, true, node, ts.Diagnostics.Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member);
62775
- if (awaitedType === operandType && awaitedType !== errorType && !(operandType.flags & 3)) {
62830
+ if (awaitedType === operandType && !isErrorType(awaitedType) && !(operandType.flags & 3)) {
62776
62831
  addErrorOrSuggestion(false, ts.createDiagnosticForNode(node, ts.Diagnostics.await_has_no_effect_on_the_type_of_this_expression));
62777
62832
  }
62778
62833
  return awaitedType;
@@ -63344,7 +63399,7 @@ var ts;
63344
63399
  resultType = stringType;
63345
63400
  }
63346
63401
  else if (isTypeAny(leftType) || isTypeAny(rightType)) {
63347
- resultType = leftType === errorType || rightType === errorType ? errorType : anyType;
63402
+ resultType = isErrorType(leftType) || isErrorType(rightType) ? errorType : anyType;
63348
63403
  }
63349
63404
  if (resultType && !checkForDisallowedESSymbolOperand(operator)) {
63350
63405
  return resultType;
@@ -64661,7 +64716,7 @@ var ts;
64661
64716
  }
64662
64717
  function getTypeParametersForTypeReference(node) {
64663
64718
  var type = getTypeFromTypeReference(node);
64664
- if (type !== errorType) {
64719
+ if (!isErrorType(type)) {
64665
64720
  var symbol = getNodeLinks(node).resolvedSymbol;
64666
64721
  if (symbol) {
64667
64722
  return symbol.flags & 524288 && getSymbolLinks(symbol).typeParameters ||
@@ -64677,7 +64732,7 @@ var ts;
64677
64732
  }
64678
64733
  ts.forEach(node.typeArguments, checkSourceElement);
64679
64734
  var type = getTypeFromTypeReference(node);
64680
- if (type !== errorType) {
64735
+ if (!isErrorType(type)) {
64681
64736
  if (node.typeArguments && produceDiagnostics) {
64682
64737
  var typeParameters = getTypeParametersForTypeReference(node);
64683
64738
  if (typeParameters) {
@@ -65302,7 +65357,7 @@ var ts;
65302
65357
  function checkAsyncFunctionReturnType(node, returnTypeNode) {
65303
65358
  var returnType = getTypeFromTypeNode(returnTypeNode);
65304
65359
  if (languageVersion >= 2) {
65305
- if (returnType === errorType) {
65360
+ if (isErrorType(returnType)) {
65306
65361
  return;
65307
65362
  }
65308
65363
  var globalPromiseType = getGlobalPromiseType(true);
@@ -65313,7 +65368,7 @@ var ts;
65313
65368
  }
65314
65369
  else {
65315
65370
  markTypeNodeAsReferenced(returnTypeNode);
65316
- if (returnType === errorType) {
65371
+ if (isErrorType(returnType)) {
65317
65372
  return;
65318
65373
  }
65319
65374
  var promiseConstructorName = ts.getEntityNameFromTypeNode(returnTypeNode);
@@ -65323,7 +65378,7 @@ var ts;
65323
65378
  }
65324
65379
  var promiseConstructorSymbol = resolveEntityName(promiseConstructorName, 111551, true);
65325
65380
  var promiseConstructorType = promiseConstructorSymbol ? getTypeOfSymbol(promiseConstructorSymbol) : errorType;
65326
- if (promiseConstructorType === errorType) {
65381
+ if (isErrorType(promiseConstructorType)) {
65327
65382
  if (promiseConstructorName.kind === 79 && promiseConstructorName.escapedText === "Promise" && getTargetType(returnType) === getGlobalPromiseType(false)) {
65328
65383
  error(returnTypeNode, ts.Diagnostics.An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option);
65329
65384
  }
@@ -66232,7 +66287,7 @@ var ts;
66232
66287
  }
66233
66288
  else {
66234
66289
  var declarationType = convertAutoToAny(getWidenedTypeForVariableLikeDeclaration(node));
66235
- if (type !== errorType && declarationType !== errorType &&
66290
+ if (!isErrorType(type) && !isErrorType(declarationType) &&
66236
66291
  !isTypeIdenticalTo(type, declarationType) &&
66237
66292
  !(symbol.flags & 67108864)) {
66238
66293
  errorNextVariableOrPropertyDeclarationMustHaveSameType(symbol.valueDeclaration, type, node, declarationType);
@@ -67432,7 +67487,7 @@ var ts;
67432
67487
  checkTypeReferenceNode(typeRefNode);
67433
67488
  if (produceDiagnostics) {
67434
67489
  var t = getReducedType(getTypeFromTypeNode(typeRefNode));
67435
- if (t !== errorType) {
67490
+ if (!isErrorType(t)) {
67436
67491
  if (isValidBaseType(t)) {
67437
67492
  var genericDiag = t.symbol && t.symbol.flags & 32 ?
67438
67493
  ts.Diagnostics.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass :
@@ -69284,7 +69339,8 @@ var ts;
69284
69339
  }
69285
69340
  else if (isTypeReferenceIdentifier(name)) {
69286
69341
  var meaning = name.parent.kind === 177 ? 788968 : 1920;
69287
- return resolveEntityName(name, meaning, false, true);
69342
+ var symbol = resolveEntityName(name, meaning, false, true);
69343
+ return symbol && symbol !== unknownSymbol ? symbol : getUnresolvedSymbolForEntityName(name);
69288
69344
  }
69289
69345
  if (name.parent.kind === 176) {
69290
69346
  return resolveEntityName(name, 1);
@@ -69486,7 +69542,7 @@ var ts;
69486
69542
  var symbol = getSymbolAtLocation(node);
69487
69543
  if (symbol) {
69488
69544
  var declaredType = getDeclaredTypeOfSymbol(symbol);
69489
- return declaredType !== errorType ? declaredType : getTypeOfSymbol(symbol);
69545
+ return !isErrorType(declaredType) ? declaredType : getTypeOfSymbol(symbol);
69490
69546
  }
69491
69547
  }
69492
69548
  if (ts.isMetaProperty(node.parent) && node.parent.keywordToken === node.kind) {
@@ -69894,7 +69950,7 @@ var ts;
69894
69950
  return isTypeOnly ? ts.TypeReferenceSerializationKind.ObjectType : ts.TypeReferenceSerializationKind.Unknown;
69895
69951
  }
69896
69952
  var type = getDeclaredTypeOfSymbol(typeSymbol);
69897
- if (type === errorType) {
69953
+ if (isErrorType(type)) {
69898
69954
  return isTypeOnly ? ts.TypeReferenceSerializationKind.ObjectType : ts.TypeReferenceSerializationKind.Unknown;
69899
69955
  }
69900
69956
  else if (type.flags & 3) {