typescript 4.8.0-dev.20220718 → 4.8.0-dev.20220719

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/tsc.js CHANGED
@@ -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.8";
72
- ts.version = ts.versionMajorMinor + ".0-dev.20220718";
72
+ ts.version = ts.versionMajorMinor + ".0-dev.20220719";
73
73
  var NativeCollections;
74
74
  (function (NativeCollections) {
75
75
  var globals = typeof globalThis !== "undefined" ? globalThis :
@@ -49034,6 +49034,9 @@ var ts;
49034
49034
  else if (type.objectFlags & 32) {
49035
49035
  resolveMappedTypeMembers(type);
49036
49036
  }
49037
+ else {
49038
+ ts.Debug.fail("Unhandled object type " + ts.Debug.formatObjectFlags(type.objectFlags));
49039
+ }
49037
49040
  }
49038
49041
  else if (type.flags & 1048576) {
49039
49042
  resolveUnionTypeMembers(type);
@@ -49041,6 +49044,9 @@ var ts;
49041
49044
  else if (type.flags & 2097152) {
49042
49045
  resolveIntersectionTypeMembers(type);
49043
49046
  }
49047
+ else {
49048
+ ts.Debug.fail("Unhandled type " + ts.Debug.formatTypeFlags(type.flags));
49049
+ }
49044
49050
  }
49045
49051
  return type;
49046
49052
  }
@@ -59510,7 +59516,7 @@ var ts;
59510
59516
  return declaredType;
59511
59517
  }
59512
59518
  if (ts.isVariableDeclaration(node) && node.parent.parent.kind === 243 && isMatchingReference(reference, node.parent.parent.expression)) {
59513
- return getNonNullableTypeIfNeeded(getTypeFromFlowType(getTypeAtFlowNode(flow.antecedent)));
59519
+ return getNonNullableTypeIfNeeded(finalizeEvolvingArrayType(getTypeFromFlowType(getTypeAtFlowNode(flow.antecedent))));
59514
59520
  }
59515
59521
  return undefined;
59516
59522
  }
@@ -66334,7 +66340,7 @@ var ts;
66334
66340
  error(node.operand, ts.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol, ts.tokenToString(node.operator));
66335
66341
  }
66336
66342
  if (node.operator === 39) {
66337
- if (maybeTypeOfKind(operandType, 2112)) {
66343
+ if (maybeTypeOfKindConsideringBaseConstraint(operandType, 2112)) {
66338
66344
  error(node.operand, ts.Diagnostics.Operator_0_cannot_be_applied_to_type_1, ts.tokenToString(node.operator), typeToString(getBaseTypeOfLiteralType(operandType)));
66339
66345
  }
66340
66346
  return numberType;
package/lib/tsserver.js CHANGED
@@ -109,7 +109,7 @@ var ts;
109
109
  // The following is baselined as a literal template type without intervention
110
110
  /** The version of the TypeScript compiler release */
111
111
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
112
- ts.version = ts.versionMajorMinor + ".0-dev.20220718";
112
+ ts.version = ts.versionMajorMinor + ".0-dev.20220719";
113
113
  /* @internal */
114
114
  var Comparison;
115
115
  (function (Comparison) {
@@ -59194,6 +59194,9 @@ var ts;
59194
59194
  else if (type.objectFlags & 32 /* Mapped */) {
59195
59195
  resolveMappedTypeMembers(type);
59196
59196
  }
59197
+ else {
59198
+ ts.Debug.fail("Unhandled object type " + ts.Debug.formatObjectFlags(type.objectFlags));
59199
+ }
59197
59200
  }
59198
59201
  else if (type.flags & 1048576 /* Union */) {
59199
59202
  resolveUnionTypeMembers(type);
@@ -59201,6 +59204,9 @@ var ts;
59201
59204
  else if (type.flags & 2097152 /* Intersection */) {
59202
59205
  resolveIntersectionTypeMembers(type);
59203
59206
  }
59207
+ else {
59208
+ ts.Debug.fail("Unhandled type " + ts.Debug.formatTypeFlags(type.flags));
59209
+ }
59204
59210
  }
59205
59211
  return type;
59206
59212
  }
@@ -71166,7 +71172,7 @@ var ts;
71166
71172
  }
71167
71173
  // for (const _ in ref) acts as a nonnull on ref
71168
71174
  if (ts.isVariableDeclaration(node) && node.parent.parent.kind === 243 /* ForInStatement */ && isMatchingReference(reference, node.parent.parent.expression)) {
71169
- return getNonNullableTypeIfNeeded(getTypeFromFlowType(getTypeAtFlowNode(flow.antecedent)));
71175
+ return getNonNullableTypeIfNeeded(finalizeEvolvingArrayType(getTypeFromFlowType(getTypeAtFlowNode(flow.antecedent))));
71170
71176
  }
71171
71177
  // Assignment doesn't affect reference
71172
71178
  return undefined;
@@ -79171,7 +79177,7 @@ var ts;
79171
79177
  error(node.operand, ts.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol, ts.tokenToString(node.operator));
79172
79178
  }
79173
79179
  if (node.operator === 39 /* PlusToken */) {
79174
- if (maybeTypeOfKind(operandType, 2112 /* BigIntLike */)) {
79180
+ if (maybeTypeOfKindConsideringBaseConstraint(operandType, 2112 /* BigIntLike */)) {
79175
79181
  error(node.operand, ts.Diagnostics.Operator_0_cannot_be_applied_to_type_1, ts.tokenToString(node.operator), typeToString(getBaseTypeOfLiteralType(operandType)));
79176
79182
  }
79177
79183
  return numberType;
@@ -132528,11 +132534,11 @@ var ts;
132528
132534
  var parent = walkUpParentheses(node.parent);
132529
132535
  switch (parent.kind) {
132530
132536
  case 196 /* LiteralType */: {
132531
- var grandParent = walkUpParentheses(parent.parent);
132532
- switch (grandParent.kind) {
132537
+ var grandParent_1 = walkUpParentheses(parent.parent);
132538
+ switch (grandParent_1.kind) {
132539
+ case 228 /* ExpressionWithTypeArguments */:
132533
132540
  case 178 /* TypeReference */: {
132534
- var typeReference_1 = grandParent;
132535
- var typeArgument = ts.findAncestor(parent, function (n) { return n.parent === typeReference_1; });
132541
+ var typeArgument = ts.findAncestor(parent, function (n) { return n.parent === grandParent_1; });
132536
132542
  if (typeArgument) {
132537
132543
  return { kind: 2 /* Types */, types: getStringLiteralTypes(typeChecker.getTypeArgumentConstraint(typeArgument)), isNewIdentifier: false };
132538
132544
  }
@@ -132545,7 +132551,7 @@ var ts;
132545
132551
  // bar: string;
132546
132552
  // }
132547
132553
  // let x: Foo["/*completion position*/"]
132548
- var _a = grandParent, indexType = _a.indexType, objectType = _a.objectType;
132554
+ var _a = grandParent_1, indexType = _a.indexType, objectType = _a.objectType;
132549
132555
  if (!ts.rangeContainsPosition(indexType, position)) {
132550
132556
  return undefined;
132551
132557
  }
@@ -132553,11 +132559,11 @@ var ts;
132553
132559
  case 200 /* ImportType */:
132554
132560
  return { kind: 0 /* Paths */, paths: getStringLiteralCompletionsFromModuleNames(sourceFile, node, compilerOptions, host, typeChecker, preferences) };
132555
132561
  case 187 /* UnionType */: {
132556
- if (!ts.isTypeReferenceNode(grandParent.parent)) {
132562
+ if (!ts.isTypeReferenceNode(grandParent_1.parent)) {
132557
132563
  return undefined;
132558
132564
  }
132559
- var alreadyUsedTypes_1 = getAlreadyUsedTypesInStringLiteralUnion(grandParent, parent);
132560
- var types = getStringLiteralTypes(typeChecker.getTypeArgumentConstraint(grandParent)).filter(function (t) { return !ts.contains(alreadyUsedTypes_1, t.value); });
132565
+ var alreadyUsedTypes_1 = getAlreadyUsedTypesInStringLiteralUnion(grandParent_1, parent);
132566
+ var types = getStringLiteralTypes(typeChecker.getTypeArgumentConstraint(grandParent_1)).filter(function (t) { return !ts.contains(alreadyUsedTypes_1, t.value); });
132561
132567
  return { kind: 2 /* Types */, types: types, isNewIdentifier: false };
132562
132568
  }
132563
132569
  default:
@@ -159168,7 +159174,7 @@ var ts;
159168
159174
  // If there is more than one overload but no implementation signature
159169
159175
  // (eg: an abstract method or interface declaration), there is a 1-1
159170
159176
  // correspondence of declarations and signatures.
159171
- var signatures = checker.getSignaturesOfType(type, 0 /* Call */);
159177
+ var signatures = type.isUnion() ? ts.flatMap(type.types, function (t) { return t.getCallSignatures(); }) : type.getCallSignatures();
159172
159178
  if (!ts.some(signatures)) {
159173
159179
  break;
159174
159180
  }
@@ -303,7 +303,7 @@ var ts;
303
303
  // The following is baselined as a literal template type without intervention
304
304
  /** The version of the TypeScript compiler release */
305
305
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
306
- ts.version = ts.versionMajorMinor + ".0-dev.20220718";
306
+ ts.version = ts.versionMajorMinor + ".0-dev.20220719";
307
307
  /* @internal */
308
308
  var Comparison;
309
309
  (function (Comparison) {
@@ -59388,6 +59388,9 @@ var ts;
59388
59388
  else if (type.objectFlags & 32 /* Mapped */) {
59389
59389
  resolveMappedTypeMembers(type);
59390
59390
  }
59391
+ else {
59392
+ ts.Debug.fail("Unhandled object type " + ts.Debug.formatObjectFlags(type.objectFlags));
59393
+ }
59391
59394
  }
59392
59395
  else if (type.flags & 1048576 /* Union */) {
59393
59396
  resolveUnionTypeMembers(type);
@@ -59395,6 +59398,9 @@ var ts;
59395
59398
  else if (type.flags & 2097152 /* Intersection */) {
59396
59399
  resolveIntersectionTypeMembers(type);
59397
59400
  }
59401
+ else {
59402
+ ts.Debug.fail("Unhandled type " + ts.Debug.formatTypeFlags(type.flags));
59403
+ }
59398
59404
  }
59399
59405
  return type;
59400
59406
  }
@@ -71360,7 +71366,7 @@ var ts;
71360
71366
  }
71361
71367
  // for (const _ in ref) acts as a nonnull on ref
71362
71368
  if (ts.isVariableDeclaration(node) && node.parent.parent.kind === 243 /* ForInStatement */ && isMatchingReference(reference, node.parent.parent.expression)) {
71363
- return getNonNullableTypeIfNeeded(getTypeFromFlowType(getTypeAtFlowNode(flow.antecedent)));
71369
+ return getNonNullableTypeIfNeeded(finalizeEvolvingArrayType(getTypeFromFlowType(getTypeAtFlowNode(flow.antecedent))));
71364
71370
  }
71365
71371
  // Assignment doesn't affect reference
71366
71372
  return undefined;
@@ -79365,7 +79371,7 @@ var ts;
79365
79371
  error(node.operand, ts.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol, ts.tokenToString(node.operator));
79366
79372
  }
79367
79373
  if (node.operator === 39 /* PlusToken */) {
79368
- if (maybeTypeOfKind(operandType, 2112 /* BigIntLike */)) {
79374
+ if (maybeTypeOfKindConsideringBaseConstraint(operandType, 2112 /* BigIntLike */)) {
79369
79375
  error(node.operand, ts.Diagnostics.Operator_0_cannot_be_applied_to_type_1, ts.tokenToString(node.operator), typeToString(getBaseTypeOfLiteralType(operandType)));
79370
79376
  }
79371
79377
  return numberType;
@@ -133141,11 +133147,11 @@ var ts;
133141
133147
  var parent = walkUpParentheses(node.parent);
133142
133148
  switch (parent.kind) {
133143
133149
  case 196 /* LiteralType */: {
133144
- var grandParent = walkUpParentheses(parent.parent);
133145
- switch (grandParent.kind) {
133150
+ var grandParent_1 = walkUpParentheses(parent.parent);
133151
+ switch (grandParent_1.kind) {
133152
+ case 228 /* ExpressionWithTypeArguments */:
133146
133153
  case 178 /* TypeReference */: {
133147
- var typeReference_1 = grandParent;
133148
- var typeArgument = ts.findAncestor(parent, function (n) { return n.parent === typeReference_1; });
133154
+ var typeArgument = ts.findAncestor(parent, function (n) { return n.parent === grandParent_1; });
133149
133155
  if (typeArgument) {
133150
133156
  return { kind: 2 /* Types */, types: getStringLiteralTypes(typeChecker.getTypeArgumentConstraint(typeArgument)), isNewIdentifier: false };
133151
133157
  }
@@ -133158,7 +133164,7 @@ var ts;
133158
133164
  // bar: string;
133159
133165
  // }
133160
133166
  // let x: Foo["/*completion position*/"]
133161
- var _a = grandParent, indexType = _a.indexType, objectType = _a.objectType;
133167
+ var _a = grandParent_1, indexType = _a.indexType, objectType = _a.objectType;
133162
133168
  if (!ts.rangeContainsPosition(indexType, position)) {
133163
133169
  return undefined;
133164
133170
  }
@@ -133166,11 +133172,11 @@ var ts;
133166
133172
  case 200 /* ImportType */:
133167
133173
  return { kind: 0 /* Paths */, paths: getStringLiteralCompletionsFromModuleNames(sourceFile, node, compilerOptions, host, typeChecker, preferences) };
133168
133174
  case 187 /* UnionType */: {
133169
- if (!ts.isTypeReferenceNode(grandParent.parent)) {
133175
+ if (!ts.isTypeReferenceNode(grandParent_1.parent)) {
133170
133176
  return undefined;
133171
133177
  }
133172
- var alreadyUsedTypes_1 = getAlreadyUsedTypesInStringLiteralUnion(grandParent, parent);
133173
- var types = getStringLiteralTypes(typeChecker.getTypeArgumentConstraint(grandParent)).filter(function (t) { return !ts.contains(alreadyUsedTypes_1, t.value); });
133178
+ var alreadyUsedTypes_1 = getAlreadyUsedTypesInStringLiteralUnion(grandParent_1, parent);
133179
+ var types = getStringLiteralTypes(typeChecker.getTypeArgumentConstraint(grandParent_1)).filter(function (t) { return !ts.contains(alreadyUsedTypes_1, t.value); });
133174
133180
  return { kind: 2 /* Types */, types: types, isNewIdentifier: false };
133175
133181
  }
133176
133182
  default:
@@ -159781,7 +159787,7 @@ var ts;
159781
159787
  // If there is more than one overload but no implementation signature
159782
159788
  // (eg: an abstract method or interface declaration), there is a 1-1
159783
159789
  // correspondence of declarations and signatures.
159784
- var signatures = checker.getSignaturesOfType(type, 0 /* Call */);
159790
+ var signatures = type.isUnion() ? ts.flatMap(type.types, function (t) { return t.getCallSignatures(); }) : type.getCallSignatures();
159785
159791
  if (!ts.some(signatures)) {
159786
159792
  break;
159787
159793
  }
package/lib/typescript.js CHANGED
@@ -294,7 +294,7 @@ var ts;
294
294
  // The following is baselined as a literal template type without intervention
295
295
  /** The version of the TypeScript compiler release */
296
296
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
297
- ts.version = ts.versionMajorMinor + ".0-dev.20220718";
297
+ ts.version = ts.versionMajorMinor + ".0-dev.20220719";
298
298
  /* @internal */
299
299
  var Comparison;
300
300
  (function (Comparison) {
@@ -59379,6 +59379,9 @@ var ts;
59379
59379
  else if (type.objectFlags & 32 /* Mapped */) {
59380
59380
  resolveMappedTypeMembers(type);
59381
59381
  }
59382
+ else {
59383
+ ts.Debug.fail("Unhandled object type " + ts.Debug.formatObjectFlags(type.objectFlags));
59384
+ }
59382
59385
  }
59383
59386
  else if (type.flags & 1048576 /* Union */) {
59384
59387
  resolveUnionTypeMembers(type);
@@ -59386,6 +59389,9 @@ var ts;
59386
59389
  else if (type.flags & 2097152 /* Intersection */) {
59387
59390
  resolveIntersectionTypeMembers(type);
59388
59391
  }
59392
+ else {
59393
+ ts.Debug.fail("Unhandled type " + ts.Debug.formatTypeFlags(type.flags));
59394
+ }
59389
59395
  }
59390
59396
  return type;
59391
59397
  }
@@ -71351,7 +71357,7 @@ var ts;
71351
71357
  }
71352
71358
  // for (const _ in ref) acts as a nonnull on ref
71353
71359
  if (ts.isVariableDeclaration(node) && node.parent.parent.kind === 243 /* ForInStatement */ && isMatchingReference(reference, node.parent.parent.expression)) {
71354
- return getNonNullableTypeIfNeeded(getTypeFromFlowType(getTypeAtFlowNode(flow.antecedent)));
71360
+ return getNonNullableTypeIfNeeded(finalizeEvolvingArrayType(getTypeFromFlowType(getTypeAtFlowNode(flow.antecedent))));
71355
71361
  }
71356
71362
  // Assignment doesn't affect reference
71357
71363
  return undefined;
@@ -79356,7 +79362,7 @@ var ts;
79356
79362
  error(node.operand, ts.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol, ts.tokenToString(node.operator));
79357
79363
  }
79358
79364
  if (node.operator === 39 /* PlusToken */) {
79359
- if (maybeTypeOfKind(operandType, 2112 /* BigIntLike */)) {
79365
+ if (maybeTypeOfKindConsideringBaseConstraint(operandType, 2112 /* BigIntLike */)) {
79360
79366
  error(node.operand, ts.Diagnostics.Operator_0_cannot_be_applied_to_type_1, ts.tokenToString(node.operator), typeToString(getBaseTypeOfLiteralType(operandType)));
79361
79367
  }
79362
79368
  return numberType;
@@ -133132,11 +133138,11 @@ var ts;
133132
133138
  var parent = walkUpParentheses(node.parent);
133133
133139
  switch (parent.kind) {
133134
133140
  case 196 /* LiteralType */: {
133135
- var grandParent = walkUpParentheses(parent.parent);
133136
- switch (grandParent.kind) {
133141
+ var grandParent_1 = walkUpParentheses(parent.parent);
133142
+ switch (grandParent_1.kind) {
133143
+ case 228 /* ExpressionWithTypeArguments */:
133137
133144
  case 178 /* TypeReference */: {
133138
- var typeReference_1 = grandParent;
133139
- var typeArgument = ts.findAncestor(parent, function (n) { return n.parent === typeReference_1; });
133145
+ var typeArgument = ts.findAncestor(parent, function (n) { return n.parent === grandParent_1; });
133140
133146
  if (typeArgument) {
133141
133147
  return { kind: 2 /* Types */, types: getStringLiteralTypes(typeChecker.getTypeArgumentConstraint(typeArgument)), isNewIdentifier: false };
133142
133148
  }
@@ -133149,7 +133155,7 @@ var ts;
133149
133155
  // bar: string;
133150
133156
  // }
133151
133157
  // let x: Foo["/*completion position*/"]
133152
- var _a = grandParent, indexType = _a.indexType, objectType = _a.objectType;
133158
+ var _a = grandParent_1, indexType = _a.indexType, objectType = _a.objectType;
133153
133159
  if (!ts.rangeContainsPosition(indexType, position)) {
133154
133160
  return undefined;
133155
133161
  }
@@ -133157,11 +133163,11 @@ var ts;
133157
133163
  case 200 /* ImportType */:
133158
133164
  return { kind: 0 /* Paths */, paths: getStringLiteralCompletionsFromModuleNames(sourceFile, node, compilerOptions, host, typeChecker, preferences) };
133159
133165
  case 187 /* UnionType */: {
133160
- if (!ts.isTypeReferenceNode(grandParent.parent)) {
133166
+ if (!ts.isTypeReferenceNode(grandParent_1.parent)) {
133161
133167
  return undefined;
133162
133168
  }
133163
- var alreadyUsedTypes_1 = getAlreadyUsedTypesInStringLiteralUnion(grandParent, parent);
133164
- var types = getStringLiteralTypes(typeChecker.getTypeArgumentConstraint(grandParent)).filter(function (t) { return !ts.contains(alreadyUsedTypes_1, t.value); });
133169
+ var alreadyUsedTypes_1 = getAlreadyUsedTypesInStringLiteralUnion(grandParent_1, parent);
133170
+ var types = getStringLiteralTypes(typeChecker.getTypeArgumentConstraint(grandParent_1)).filter(function (t) { return !ts.contains(alreadyUsedTypes_1, t.value); });
133165
133171
  return { kind: 2 /* Types */, types: types, isNewIdentifier: false };
133166
133172
  }
133167
133173
  default:
@@ -159772,7 +159778,7 @@ var ts;
159772
159778
  // If there is more than one overload but no implementation signature
159773
159779
  // (eg: an abstract method or interface declaration), there is a 1-1
159774
159780
  // correspondence of declarations and signatures.
159775
- var signatures = checker.getSignaturesOfType(type, 0 /* Call */);
159781
+ var signatures = type.isUnion() ? ts.flatMap(type.types, function (t) { return t.getCallSignatures(); }) : type.getCallSignatures();
159776
159782
  if (!ts.some(signatures)) {
159777
159783
  break;
159778
159784
  }
@@ -294,7 +294,7 @@ var ts;
294
294
  // The following is baselined as a literal template type without intervention
295
295
  /** The version of the TypeScript compiler release */
296
296
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
297
- ts.version = ts.versionMajorMinor + ".0-dev.20220718";
297
+ ts.version = ts.versionMajorMinor + ".0-dev.20220719";
298
298
  /* @internal */
299
299
  var Comparison;
300
300
  (function (Comparison) {
@@ -59379,6 +59379,9 @@ var ts;
59379
59379
  else if (type.objectFlags & 32 /* Mapped */) {
59380
59380
  resolveMappedTypeMembers(type);
59381
59381
  }
59382
+ else {
59383
+ ts.Debug.fail("Unhandled object type " + ts.Debug.formatObjectFlags(type.objectFlags));
59384
+ }
59382
59385
  }
59383
59386
  else if (type.flags & 1048576 /* Union */) {
59384
59387
  resolveUnionTypeMembers(type);
@@ -59386,6 +59389,9 @@ var ts;
59386
59389
  else if (type.flags & 2097152 /* Intersection */) {
59387
59390
  resolveIntersectionTypeMembers(type);
59388
59391
  }
59392
+ else {
59393
+ ts.Debug.fail("Unhandled type " + ts.Debug.formatTypeFlags(type.flags));
59394
+ }
59389
59395
  }
59390
59396
  return type;
59391
59397
  }
@@ -71351,7 +71357,7 @@ var ts;
71351
71357
  }
71352
71358
  // for (const _ in ref) acts as a nonnull on ref
71353
71359
  if (ts.isVariableDeclaration(node) && node.parent.parent.kind === 243 /* ForInStatement */ && isMatchingReference(reference, node.parent.parent.expression)) {
71354
- return getNonNullableTypeIfNeeded(getTypeFromFlowType(getTypeAtFlowNode(flow.antecedent)));
71360
+ return getNonNullableTypeIfNeeded(finalizeEvolvingArrayType(getTypeFromFlowType(getTypeAtFlowNode(flow.antecedent))));
71355
71361
  }
71356
71362
  // Assignment doesn't affect reference
71357
71363
  return undefined;
@@ -79356,7 +79362,7 @@ var ts;
79356
79362
  error(node.operand, ts.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol, ts.tokenToString(node.operator));
79357
79363
  }
79358
79364
  if (node.operator === 39 /* PlusToken */) {
79359
- if (maybeTypeOfKind(operandType, 2112 /* BigIntLike */)) {
79365
+ if (maybeTypeOfKindConsideringBaseConstraint(operandType, 2112 /* BigIntLike */)) {
79360
79366
  error(node.operand, ts.Diagnostics.Operator_0_cannot_be_applied_to_type_1, ts.tokenToString(node.operator), typeToString(getBaseTypeOfLiteralType(operandType)));
79361
79367
  }
79362
79368
  return numberType;
@@ -133132,11 +133138,11 @@ var ts;
133132
133138
  var parent = walkUpParentheses(node.parent);
133133
133139
  switch (parent.kind) {
133134
133140
  case 196 /* LiteralType */: {
133135
- var grandParent = walkUpParentheses(parent.parent);
133136
- switch (grandParent.kind) {
133141
+ var grandParent_1 = walkUpParentheses(parent.parent);
133142
+ switch (grandParent_1.kind) {
133143
+ case 228 /* ExpressionWithTypeArguments */:
133137
133144
  case 178 /* TypeReference */: {
133138
- var typeReference_1 = grandParent;
133139
- var typeArgument = ts.findAncestor(parent, function (n) { return n.parent === typeReference_1; });
133145
+ var typeArgument = ts.findAncestor(parent, function (n) { return n.parent === grandParent_1; });
133140
133146
  if (typeArgument) {
133141
133147
  return { kind: 2 /* Types */, types: getStringLiteralTypes(typeChecker.getTypeArgumentConstraint(typeArgument)), isNewIdentifier: false };
133142
133148
  }
@@ -133149,7 +133155,7 @@ var ts;
133149
133155
  // bar: string;
133150
133156
  // }
133151
133157
  // let x: Foo["/*completion position*/"]
133152
- var _a = grandParent, indexType = _a.indexType, objectType = _a.objectType;
133158
+ var _a = grandParent_1, indexType = _a.indexType, objectType = _a.objectType;
133153
133159
  if (!ts.rangeContainsPosition(indexType, position)) {
133154
133160
  return undefined;
133155
133161
  }
@@ -133157,11 +133163,11 @@ var ts;
133157
133163
  case 200 /* ImportType */:
133158
133164
  return { kind: 0 /* Paths */, paths: getStringLiteralCompletionsFromModuleNames(sourceFile, node, compilerOptions, host, typeChecker, preferences) };
133159
133165
  case 187 /* UnionType */: {
133160
- if (!ts.isTypeReferenceNode(grandParent.parent)) {
133166
+ if (!ts.isTypeReferenceNode(grandParent_1.parent)) {
133161
133167
  return undefined;
133162
133168
  }
133163
- var alreadyUsedTypes_1 = getAlreadyUsedTypesInStringLiteralUnion(grandParent, parent);
133164
- var types = getStringLiteralTypes(typeChecker.getTypeArgumentConstraint(grandParent)).filter(function (t) { return !ts.contains(alreadyUsedTypes_1, t.value); });
133169
+ var alreadyUsedTypes_1 = getAlreadyUsedTypesInStringLiteralUnion(grandParent_1, parent);
133170
+ var types = getStringLiteralTypes(typeChecker.getTypeArgumentConstraint(grandParent_1)).filter(function (t) { return !ts.contains(alreadyUsedTypes_1, t.value); });
133165
133171
  return { kind: 2 /* Types */, types: types, isNewIdentifier: false };
133166
133172
  }
133167
133173
  default:
@@ -159772,7 +159778,7 @@ var ts;
159772
159778
  // If there is more than one overload but no implementation signature
159773
159779
  // (eg: an abstract method or interface declaration), there is a 1-1
159774
159780
  // correspondence of declarations and signatures.
159775
- var signatures = checker.getSignaturesOfType(type, 0 /* Call */);
159781
+ var signatures = type.isUnion() ? ts.flatMap(type.types, function (t) { return t.getCallSignatures(); }) : type.getCallSignatures();
159776
159782
  if (!ts.some(signatures)) {
159777
159783
  break;
159778
159784
  }
@@ -89,7 +89,7 @@ var ts;
89
89
  // The following is baselined as a literal template type without intervention
90
90
  /** The version of the TypeScript compiler release */
91
91
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
92
- ts.version = ts.versionMajorMinor + ".0-dev.20220718";
92
+ ts.version = ts.versionMajorMinor + ".0-dev.20220719";
93
93
  /* @internal */
94
94
  var Comparison;
95
95
  (function (Comparison) {
@@ -59174,6 +59174,9 @@ var ts;
59174
59174
  else if (type.objectFlags & 32 /* Mapped */) {
59175
59175
  resolveMappedTypeMembers(type);
59176
59176
  }
59177
+ else {
59178
+ ts.Debug.fail("Unhandled object type " + ts.Debug.formatObjectFlags(type.objectFlags));
59179
+ }
59177
59180
  }
59178
59181
  else if (type.flags & 1048576 /* Union */) {
59179
59182
  resolveUnionTypeMembers(type);
@@ -59181,6 +59184,9 @@ var ts;
59181
59184
  else if (type.flags & 2097152 /* Intersection */) {
59182
59185
  resolveIntersectionTypeMembers(type);
59183
59186
  }
59187
+ else {
59188
+ ts.Debug.fail("Unhandled type " + ts.Debug.formatTypeFlags(type.flags));
59189
+ }
59184
59190
  }
59185
59191
  return type;
59186
59192
  }
@@ -71146,7 +71152,7 @@ var ts;
71146
71152
  }
71147
71153
  // for (const _ in ref) acts as a nonnull on ref
71148
71154
  if (ts.isVariableDeclaration(node) && node.parent.parent.kind === 243 /* ForInStatement */ && isMatchingReference(reference, node.parent.parent.expression)) {
71149
- return getNonNullableTypeIfNeeded(getTypeFromFlowType(getTypeAtFlowNode(flow.antecedent)));
71155
+ return getNonNullableTypeIfNeeded(finalizeEvolvingArrayType(getTypeFromFlowType(getTypeAtFlowNode(flow.antecedent))));
71150
71156
  }
71151
71157
  // Assignment doesn't affect reference
71152
71158
  return undefined;
@@ -79151,7 +79157,7 @@ var ts;
79151
79157
  error(node.operand, ts.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol, ts.tokenToString(node.operator));
79152
79158
  }
79153
79159
  if (node.operator === 39 /* PlusToken */) {
79154
- if (maybeTypeOfKind(operandType, 2112 /* BigIntLike */)) {
79160
+ if (maybeTypeOfKindConsideringBaseConstraint(operandType, 2112 /* BigIntLike */)) {
79155
79161
  error(node.operand, ts.Diagnostics.Operator_0_cannot_be_applied_to_type_1, ts.tokenToString(node.operator), typeToString(getBaseTypeOfLiteralType(operandType)));
79156
79162
  }
79157
79163
  return numberType;
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": "4.8.0-dev.20220718",
5
+ "version": "4.8.0-dev.20220719",
6
6
  "license": "Apache-2.0",
7
7
  "description": "TypeScript is a language for application scale JavaScript development",
8
8
  "keywords": [