typescript 4.5.0-dev.20211030 → 4.5.2

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/tsserver.js CHANGED
@@ -22,7 +22,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
22
22
  ar[i] = from[i];
23
23
  }
24
24
  }
25
- return to.concat(ar || from);
25
+ return to.concat(ar || Array.prototype.slice.call(from));
26
26
  };
27
27
  var __assign = (this && this.__assign) || function () {
28
28
  __assign = Object.assign || function(t) {
@@ -100,7 +100,7 @@ var ts;
100
100
  // The following is baselined as a literal template type without intervention
101
101
  /** The version of the TypeScript compiler release */
102
102
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
103
- ts.version = ts.versionMajorMinor + ".0-dev.20211030";
103
+ ts.version = "4.5.2";
104
104
  /* @internal */
105
105
  var Comparison;
106
106
  (function (Comparison) {
@@ -141,7 +141,7 @@ var ts;
141
141
  var constructor = (_a = NativeCollections[nativeFactory]()) !== null && _a !== void 0 ? _a : ts.ShimCollections === null || ts.ShimCollections === void 0 ? void 0 : ts.ShimCollections[shimFactory](ts.getIterator);
142
142
  if (constructor)
143
143
  return constructor;
144
- throw new Error("TypeScript requires an environment that provides a compatible native " + name + " implementation.");
144
+ throw new Error("TypeScript requires an environment that provides a compatible native ".concat(name, " implementation."));
145
145
  }
146
146
  })(ts || (ts = {}));
147
147
  /* @internal */
@@ -1504,7 +1504,7 @@ var ts;
1504
1504
  function cast(value, test) {
1505
1505
  if (value !== undefined && test(value))
1506
1506
  return value;
1507
- return ts.Debug.fail("Invalid cast. The supplied value " + value + " did not pass the test '" + ts.Debug.getFunctionName(test) + "'.");
1507
+ return ts.Debug.fail("Invalid cast. The supplied value ".concat(value, " did not pass the test '").concat(ts.Debug.getFunctionName(test), "'."));
1508
1508
  }
1509
1509
  ts.cast = cast;
1510
1510
  /** Does nothing. */
@@ -1595,7 +1595,7 @@ var ts;
1595
1595
  function memoizeOne(callback) {
1596
1596
  var map = new ts.Map();
1597
1597
  return function (arg) {
1598
- var key = typeof arg + ":" + arg;
1598
+ var key = "".concat(typeof arg, ":").concat(arg);
1599
1599
  var value = map.get(key);
1600
1600
  if (value === undefined && !map.has(key)) {
1601
1601
  value = callback(arg);
@@ -2045,7 +2045,7 @@ var ts;
2045
2045
  ts.createGetCanonicalFileName = createGetCanonicalFileName;
2046
2046
  function patternText(_a) {
2047
2047
  var prefix = _a.prefix, suffix = _a.suffix;
2048
- return prefix + "*" + suffix;
2048
+ return "".concat(prefix, "*").concat(suffix);
2049
2049
  }
2050
2050
  ts.patternText = patternText;
2051
2051
  /**
@@ -2358,7 +2358,7 @@ var ts;
2358
2358
  }
2359
2359
  function fail(message, stackCrawlMark) {
2360
2360
  debugger;
2361
- var e = new Error(message ? "Debug Failure. " + message : "Debug Failure.");
2361
+ var e = new Error(message ? "Debug Failure. ".concat(message) : "Debug Failure.");
2362
2362
  if (Error.captureStackTrace) {
2363
2363
  Error.captureStackTrace(e, stackCrawlMark || fail);
2364
2364
  }
@@ -2366,12 +2366,12 @@ var ts;
2366
2366
  }
2367
2367
  Debug.fail = fail;
2368
2368
  function failBadSyntaxKind(node, message, stackCrawlMark) {
2369
- return fail((message || "Unexpected node.") + "\r\nNode " + formatSyntaxKind(node.kind) + " was unexpected.", stackCrawlMark || failBadSyntaxKind);
2369
+ return fail("".concat(message || "Unexpected node.", "\r\nNode ").concat(formatSyntaxKind(node.kind), " was unexpected."), stackCrawlMark || failBadSyntaxKind);
2370
2370
  }
2371
2371
  Debug.failBadSyntaxKind = failBadSyntaxKind;
2372
2372
  function assert(expression, message, verboseDebugInfo, stackCrawlMark) {
2373
2373
  if (!expression) {
2374
- message = message ? "False expression: " + message : "False expression.";
2374
+ message = message ? "False expression: ".concat(message) : "False expression.";
2375
2375
  if (verboseDebugInfo) {
2376
2376
  message += "\r\nVerbose Debug Information: " + (typeof verboseDebugInfo === "string" ? verboseDebugInfo : verboseDebugInfo());
2377
2377
  }
@@ -2381,26 +2381,26 @@ var ts;
2381
2381
  Debug.assert = assert;
2382
2382
  function assertEqual(a, b, msg, msg2, stackCrawlMark) {
2383
2383
  if (a !== b) {
2384
- var message = msg ? msg2 ? msg + " " + msg2 : msg : "";
2385
- fail("Expected " + a + " === " + b + ". " + message, stackCrawlMark || assertEqual);
2384
+ var message = msg ? msg2 ? "".concat(msg, " ").concat(msg2) : msg : "";
2385
+ fail("Expected ".concat(a, " === ").concat(b, ". ").concat(message), stackCrawlMark || assertEqual);
2386
2386
  }
2387
2387
  }
2388
2388
  Debug.assertEqual = assertEqual;
2389
2389
  function assertLessThan(a, b, msg, stackCrawlMark) {
2390
2390
  if (a >= b) {
2391
- fail("Expected " + a + " < " + b + ". " + (msg || ""), stackCrawlMark || assertLessThan);
2391
+ fail("Expected ".concat(a, " < ").concat(b, ". ").concat(msg || ""), stackCrawlMark || assertLessThan);
2392
2392
  }
2393
2393
  }
2394
2394
  Debug.assertLessThan = assertLessThan;
2395
2395
  function assertLessThanOrEqual(a, b, stackCrawlMark) {
2396
2396
  if (a > b) {
2397
- fail("Expected " + a + " <= " + b, stackCrawlMark || assertLessThanOrEqual);
2397
+ fail("Expected ".concat(a, " <= ").concat(b), stackCrawlMark || assertLessThanOrEqual);
2398
2398
  }
2399
2399
  }
2400
2400
  Debug.assertLessThanOrEqual = assertLessThanOrEqual;
2401
2401
  function assertGreaterThanOrEqual(a, b, stackCrawlMark) {
2402
2402
  if (a < b) {
2403
- fail("Expected " + a + " >= " + b, stackCrawlMark || assertGreaterThanOrEqual);
2403
+ fail("Expected ".concat(a, " >= ").concat(b), stackCrawlMark || assertGreaterThanOrEqual);
2404
2404
  }
2405
2405
  }
2406
2406
  Debug.assertGreaterThanOrEqual = assertGreaterThanOrEqual;
@@ -2441,42 +2441,42 @@ var ts;
2441
2441
  function assertNever(member, message, stackCrawlMark) {
2442
2442
  if (message === void 0) { message = "Illegal value:"; }
2443
2443
  var detail = typeof member === "object" && ts.hasProperty(member, "kind") && ts.hasProperty(member, "pos") && formatSyntaxKind ? "SyntaxKind: " + formatSyntaxKind(member.kind) : JSON.stringify(member);
2444
- return fail(message + " " + detail, stackCrawlMark || assertNever);
2444
+ return fail("".concat(message, " ").concat(detail), stackCrawlMark || assertNever);
2445
2445
  }
2446
2446
  Debug.assertNever = assertNever;
2447
2447
  function assertEachNode(nodes, test, message, stackCrawlMark) {
2448
2448
  if (shouldAssertFunction(1 /* Normal */, "assertEachNode")) {
2449
- assert(test === undefined || ts.every(nodes, test), message || "Unexpected node.", function () { return "Node array did not pass test '" + getFunctionName(test) + "'."; }, stackCrawlMark || assertEachNode);
2449
+ assert(test === undefined || ts.every(nodes, test), message || "Unexpected node.", function () { return "Node array did not pass test '".concat(getFunctionName(test), "'."); }, stackCrawlMark || assertEachNode);
2450
2450
  }
2451
2451
  }
2452
2452
  Debug.assertEachNode = assertEachNode;
2453
2453
  function assertNode(node, test, message, stackCrawlMark) {
2454
2454
  if (shouldAssertFunction(1 /* Normal */, "assertNode")) {
2455
- assert(node !== undefined && (test === undefined || test(node)), message || "Unexpected node.", function () { return "Node " + formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind) + " did not pass test '" + getFunctionName(test) + "'."; }, stackCrawlMark || assertNode);
2455
+ assert(node !== undefined && (test === undefined || test(node)), message || "Unexpected node.", function () { return "Node ".concat(formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind), " did not pass test '").concat(getFunctionName(test), "'."); }, stackCrawlMark || assertNode);
2456
2456
  }
2457
2457
  }
2458
2458
  Debug.assertNode = assertNode;
2459
2459
  function assertNotNode(node, test, message, stackCrawlMark) {
2460
2460
  if (shouldAssertFunction(1 /* Normal */, "assertNotNode")) {
2461
- assert(node === undefined || test === undefined || !test(node), message || "Unexpected node.", function () { return "Node " + formatSyntaxKind(node.kind) + " should not have passed test '" + getFunctionName(test) + "'."; }, stackCrawlMark || assertNotNode);
2461
+ assert(node === undefined || test === undefined || !test(node), message || "Unexpected node.", function () { return "Node ".concat(formatSyntaxKind(node.kind), " should not have passed test '").concat(getFunctionName(test), "'."); }, stackCrawlMark || assertNotNode);
2462
2462
  }
2463
2463
  }
2464
2464
  Debug.assertNotNode = assertNotNode;
2465
2465
  function assertOptionalNode(node, test, message, stackCrawlMark) {
2466
2466
  if (shouldAssertFunction(1 /* Normal */, "assertOptionalNode")) {
2467
- assert(test === undefined || node === undefined || test(node), message || "Unexpected node.", function () { return "Node " + formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind) + " did not pass test '" + getFunctionName(test) + "'."; }, stackCrawlMark || assertOptionalNode);
2467
+ assert(test === undefined || node === undefined || test(node), message || "Unexpected node.", function () { return "Node ".concat(formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind), " did not pass test '").concat(getFunctionName(test), "'."); }, stackCrawlMark || assertOptionalNode);
2468
2468
  }
2469
2469
  }
2470
2470
  Debug.assertOptionalNode = assertOptionalNode;
2471
2471
  function assertOptionalToken(node, kind, message, stackCrawlMark) {
2472
2472
  if (shouldAssertFunction(1 /* Normal */, "assertOptionalToken")) {
2473
- assert(kind === undefined || node === undefined || node.kind === kind, message || "Unexpected node.", function () { return "Node " + formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind) + " was not a '" + formatSyntaxKind(kind) + "' token."; }, stackCrawlMark || assertOptionalToken);
2473
+ assert(kind === undefined || node === undefined || node.kind === kind, message || "Unexpected node.", function () { return "Node ".concat(formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind), " was not a '").concat(formatSyntaxKind(kind), "' token."); }, stackCrawlMark || assertOptionalToken);
2474
2474
  }
2475
2475
  }
2476
2476
  Debug.assertOptionalToken = assertOptionalToken;
2477
2477
  function assertMissingNode(node, message, stackCrawlMark) {
2478
2478
  if (shouldAssertFunction(1 /* Normal */, "assertMissingNode")) {
2479
- assert(node === undefined, message || "Unexpected node.", function () { return "Node " + formatSyntaxKind(node.kind) + " was unexpected'."; }, stackCrawlMark || assertMissingNode);
2479
+ assert(node === undefined, message || "Unexpected node.", function () { return "Node ".concat(formatSyntaxKind(node.kind), " was unexpected'."); }, stackCrawlMark || assertMissingNode);
2480
2480
  }
2481
2481
  }
2482
2482
  Debug.assertMissingNode = assertMissingNode;
@@ -2497,7 +2497,7 @@ var ts;
2497
2497
  }
2498
2498
  Debug.getFunctionName = getFunctionName;
2499
2499
  function formatSymbol(symbol) {
2500
- return "{ name: " + ts.unescapeLeadingUnderscores(symbol.escapedName) + "; flags: " + formatSymbolFlags(symbol.flags) + "; declarations: " + ts.map(symbol.declarations, function (node) { return formatSyntaxKind(node.kind); }) + " }";
2500
+ return "{ name: ".concat(ts.unescapeLeadingUnderscores(symbol.escapedName), "; flags: ").concat(formatSymbolFlags(symbol.flags), "; declarations: ").concat(ts.map(symbol.declarations, function (node) { return formatSyntaxKind(node.kind); }), " }");
2501
2501
  }
2502
2502
  Debug.formatSymbol = formatSymbol;
2503
2503
  /**
@@ -2518,7 +2518,7 @@ var ts;
2518
2518
  break;
2519
2519
  }
2520
2520
  if (enumValue !== 0 && enumValue & value) {
2521
- result = "" + result + (result ? "|" : "") + enumName;
2521
+ result = "".concat(result).concat(result ? "|" : "").concat(enumName);
2522
2522
  remainingFlags &= ~enumValue;
2523
2523
  }
2524
2524
  }
@@ -2628,7 +2628,7 @@ var ts;
2628
2628
  this.flags & 1 /* Unreachable */ ? "FlowUnreachable" :
2629
2629
  "UnknownFlow";
2630
2630
  var remainingFlags = this.flags & ~(2048 /* Referenced */ - 1);
2631
- return "" + flowHeader + (remainingFlags ? " (" + formatFlowFlags(remainingFlags) + ")" : "");
2631
+ return "".concat(flowHeader).concat(remainingFlags ? " (".concat(formatFlowFlags(remainingFlags), ")") : "");
2632
2632
  }
2633
2633
  },
2634
2634
  __debugFlowFlags: { get: function () { return formatEnum(this.flags, ts.FlowFlags, /*isFlags*/ true); } },
@@ -2667,7 +2667,7 @@ var ts;
2667
2667
  // We don't care, this is debug code that's only enabled with a debugger attached -
2668
2668
  // we're just taking note of it for anyone checking regex performance in the future.
2669
2669
  defaultValue = String(defaultValue).replace(/(?:,[\s\w\d_]+:[^,]+)+\]$/, "]");
2670
- return "NodeArray " + defaultValue;
2670
+ return "NodeArray ".concat(defaultValue);
2671
2671
  }
2672
2672
  }
2673
2673
  });
@@ -2722,7 +2722,7 @@ var ts;
2722
2722
  var symbolHeader = this.flags & 33554432 /* Transient */ ? "TransientSymbol" :
2723
2723
  "Symbol";
2724
2724
  var remainingSymbolFlags = this.flags & ~33554432 /* Transient */;
2725
- return symbolHeader + " '" + ts.symbolName(this) + "'" + (remainingSymbolFlags ? " (" + formatSymbolFlags(remainingSymbolFlags) + ")" : "");
2725
+ return "".concat(symbolHeader, " '").concat(ts.symbolName(this), "'").concat(remainingSymbolFlags ? " (".concat(formatSymbolFlags(remainingSymbolFlags), ")") : "");
2726
2726
  }
2727
2727
  },
2728
2728
  __debugFlags: { get: function () { return formatSymbolFlags(this.flags); } }
@@ -2732,11 +2732,11 @@ var ts;
2732
2732
  __tsDebuggerDisplay: {
2733
2733
  value: function () {
2734
2734
  var typeHeader = this.flags & 98304 /* Nullable */ ? "NullableType" :
2735
- this.flags & 384 /* StringOrNumberLiteral */ ? "LiteralType " + JSON.stringify(this.value) :
2736
- this.flags & 2048 /* BigIntLiteral */ ? "LiteralType " + (this.value.negative ? "-" : "") + this.value.base10Value + "n" :
2735
+ this.flags & 384 /* StringOrNumberLiteral */ ? "LiteralType ".concat(JSON.stringify(this.value)) :
2736
+ this.flags & 2048 /* BigIntLiteral */ ? "LiteralType ".concat(this.value.negative ? "-" : "").concat(this.value.base10Value, "n") :
2737
2737
  this.flags & 8192 /* UniqueESSymbol */ ? "UniqueESSymbolType" :
2738
2738
  this.flags & 32 /* Enum */ ? "EnumType" :
2739
- this.flags & 67359327 /* Intrinsic */ ? "IntrinsicType " + this.intrinsicName :
2739
+ this.flags & 67359327 /* Intrinsic */ ? "IntrinsicType ".concat(this.intrinsicName) :
2740
2740
  this.flags & 1048576 /* Union */ ? "UnionType" :
2741
2741
  this.flags & 2097152 /* Intersection */ ? "IntersectionType" :
2742
2742
  this.flags & 4194304 /* Index */ ? "IndexType" :
@@ -2755,7 +2755,7 @@ var ts;
2755
2755
  "ObjectType" :
2756
2756
  "Type";
2757
2757
  var remainingObjectFlags = this.flags & 524288 /* Object */ ? this.objectFlags & ~1343 /* ObjectTypeKindMask */ : 0;
2758
- return "" + typeHeader + (this.symbol ? " '" + ts.symbolName(this.symbol) + "'" : "") + (remainingObjectFlags ? " (" + formatObjectFlags(remainingObjectFlags) + ")" : "");
2758
+ return "".concat(typeHeader).concat(this.symbol ? " '".concat(ts.symbolName(this.symbol), "'") : "").concat(remainingObjectFlags ? " (".concat(formatObjectFlags(remainingObjectFlags), ")") : "");
2759
2759
  }
2760
2760
  },
2761
2761
  __debugFlags: { get: function () { return formatTypeFlags(this.flags); } },
@@ -2791,11 +2791,11 @@ var ts;
2791
2791
  __tsDebuggerDisplay: {
2792
2792
  value: function () {
2793
2793
  var nodeHeader = ts.isGeneratedIdentifier(this) ? "GeneratedIdentifier" :
2794
- ts.isIdentifier(this) ? "Identifier '" + ts.idText(this) + "'" :
2795
- ts.isPrivateIdentifier(this) ? "PrivateIdentifier '" + ts.idText(this) + "'" :
2796
- ts.isStringLiteral(this) ? "StringLiteral " + JSON.stringify(this.text.length < 10 ? this.text : this.text.slice(10) + "...") :
2797
- ts.isNumericLiteral(this) ? "NumericLiteral " + this.text :
2798
- ts.isBigIntLiteral(this) ? "BigIntLiteral " + this.text + "n" :
2794
+ ts.isIdentifier(this) ? "Identifier '".concat(ts.idText(this), "'") :
2795
+ ts.isPrivateIdentifier(this) ? "PrivateIdentifier '".concat(ts.idText(this), "'") :
2796
+ ts.isStringLiteral(this) ? "StringLiteral ".concat(JSON.stringify(this.text.length < 10 ? this.text : this.text.slice(10) + "...")) :
2797
+ ts.isNumericLiteral(this) ? "NumericLiteral ".concat(this.text) :
2798
+ ts.isBigIntLiteral(this) ? "BigIntLiteral ".concat(this.text, "n") :
2799
2799
  ts.isTypeParameterDeclaration(this) ? "TypeParameterDeclaration" :
2800
2800
  ts.isParameter(this) ? "ParameterDeclaration" :
2801
2801
  ts.isConstructorDeclaration(this) ? "ConstructorDeclaration" :
@@ -2827,7 +2827,7 @@ var ts;
2827
2827
  ts.isNamedTupleMember(this) ? "NamedTupleMember" :
2828
2828
  ts.isImportTypeNode(this) ? "ImportTypeNode" :
2829
2829
  formatSyntaxKind(this.kind);
2830
- return "" + nodeHeader + (this.flags ? " (" + formatNodeFlags(this.flags) + ")" : "");
2830
+ return "".concat(nodeHeader).concat(this.flags ? " (".concat(formatNodeFlags(this.flags), ")") : "");
2831
2831
  }
2832
2832
  },
2833
2833
  __debugKind: { get: function () { return formatSyntaxKind(this.kind); } },
@@ -2874,10 +2874,10 @@ var ts;
2874
2874
  Debug.enableDebugInfo = enableDebugInfo;
2875
2875
  function formatDeprecationMessage(name, error, errorAfter, since, message) {
2876
2876
  var deprecationMessage = error ? "DeprecationError: " : "DeprecationWarning: ";
2877
- deprecationMessage += "'" + name + "' ";
2878
- deprecationMessage += since ? "has been deprecated since v" + since : "is deprecated";
2879
- deprecationMessage += error ? " and can no longer be used." : errorAfter ? " and will no longer be usable after v" + errorAfter + "." : ".";
2880
- deprecationMessage += message ? " " + ts.formatStringFromArgs(message, [name], 0) : "";
2877
+ deprecationMessage += "'".concat(name, "' ");
2878
+ deprecationMessage += since ? "has been deprecated since v".concat(since) : "is deprecated";
2879
+ deprecationMessage += error ? " and can no longer be used." : errorAfter ? " and will no longer be usable after v".concat(errorAfter, ".") : ".";
2880
+ deprecationMessage += message ? " ".concat(ts.formatStringFromArgs(message, [name], 0)) : "";
2881
2881
  return deprecationMessage;
2882
2882
  }
2883
2883
  function createErrorDeprecation(name, errorAfter, since, message) {
@@ -3008,11 +3008,11 @@ var ts;
3008
3008
  }
3009
3009
  };
3010
3010
  Version.prototype.toString = function () {
3011
- var result = this.major + "." + this.minor + "." + this.patch;
3011
+ var result = "".concat(this.major, ".").concat(this.minor, ".").concat(this.patch);
3012
3012
  if (ts.some(this.prerelease))
3013
- result += "-" + this.prerelease.join(".");
3013
+ result += "-".concat(this.prerelease.join("."));
3014
3014
  if (ts.some(this.build))
3015
- result += "+" + this.build.join(".");
3015
+ result += "+".concat(this.build.join("."));
3016
3016
  return result;
3017
3017
  };
3018
3018
  Version.zero = new Version(0, 0, 0);
@@ -3279,7 +3279,7 @@ var ts;
3279
3279
  return ts.map(comparators, formatComparator).join(" ");
3280
3280
  }
3281
3281
  function formatComparator(comparator) {
3282
- return "" + comparator.operator + comparator.operand;
3282
+ return "".concat(comparator.operator).concat(comparator.operand);
3283
3283
  }
3284
3284
  })(ts || (ts = {}));
3285
3285
  /*@internal*/
@@ -3577,7 +3577,7 @@ var ts;
3577
3577
  fs = require("fs");
3578
3578
  }
3579
3579
  catch (e) {
3580
- throw new Error("tracing requires having fs\n(original error: " + (e.message || e) + ")");
3580
+ throw new Error("tracing requires having fs\n(original error: ".concat(e.message || e, ")"));
3581
3581
  }
3582
3582
  }
3583
3583
  mode = tracingMode;
@@ -3589,11 +3589,11 @@ var ts;
3589
3589
  if (!fs.existsSync(traceDir)) {
3590
3590
  fs.mkdirSync(traceDir, { recursive: true });
3591
3591
  }
3592
- var countPart = mode === "build" ? "." + process.pid + "-" + ++traceCount
3593
- : mode === "server" ? "." + process.pid
3592
+ var countPart = mode === "build" ? ".".concat(process.pid, "-").concat(++traceCount)
3593
+ : mode === "server" ? ".".concat(process.pid)
3594
3594
  : "";
3595
- var tracePath = ts.combinePaths(traceDir, "trace" + countPart + ".json");
3596
- var typesPath = ts.combinePaths(traceDir, "types" + countPart + ".json");
3595
+ var tracePath = ts.combinePaths(traceDir, "trace".concat(countPart, ".json"));
3596
+ var typesPath = ts.combinePaths(traceDir, "types".concat(countPart, ".json"));
3597
3597
  legend.push({
3598
3598
  configFilePath: configFilePath,
3599
3599
  tracePath: tracePath,
@@ -3683,7 +3683,7 @@ var ts;
3683
3683
  }
3684
3684
  // test if [time,endTime) straddles a sampling point
3685
3685
  else if (sampleInterval - (time % sampleInterval) <= endTime - time) {
3686
- writeEvent("X", phase, name, args, "\"dur\":" + (endTime - time), time);
3686
+ writeEvent("X", phase, name, args, "\"dur\":".concat(endTime - time), time);
3687
3687
  }
3688
3688
  }
3689
3689
  function writeEvent(eventType, phase, name, args, extras, time) {
@@ -3692,11 +3692,11 @@ var ts;
3692
3692
  if (mode === "server" && phase === "checkTypes" /* CheckTypes */)
3693
3693
  return;
3694
3694
  ts.performance.mark("beginTracing");
3695
- fs.writeSync(traceFd, ",\n{\"pid\":1,\"tid\":1,\"ph\":\"" + eventType + "\",\"cat\":\"" + phase + "\",\"ts\":" + time + ",\"name\":\"" + name + "\"");
3695
+ fs.writeSync(traceFd, ",\n{\"pid\":1,\"tid\":1,\"ph\":\"".concat(eventType, "\",\"cat\":\"").concat(phase, "\",\"ts\":").concat(time, ",\"name\":\"").concat(name, "\""));
3696
3696
  if (extras)
3697
- fs.writeSync(traceFd, "," + extras);
3697
+ fs.writeSync(traceFd, ",".concat(extras));
3698
3698
  if (args)
3699
- fs.writeSync(traceFd, ",\"args\":" + JSON.stringify(args));
3699
+ fs.writeSync(traceFd, ",\"args\":".concat(JSON.stringify(args)));
3700
3700
  fs.writeSync(traceFd, "}");
3701
3701
  ts.performance.mark("endTracing");
3702
3702
  ts.performance.measure("Tracing", "beginTracing", "endTracing");
@@ -4873,8 +4873,6 @@ var ts;
4873
4873
  // 'Narrowable' types are types where narrowing actually narrows.
4874
4874
  // This *should* be every type other than null, undefined, void, and never
4875
4875
  TypeFlags[TypeFlags["Narrowable"] = 536624127] = "Narrowable";
4876
- /* @internal */
4877
- TypeFlags[TypeFlags["NotPrimitiveUnion"] = 468598819] = "NotPrimitiveUnion";
4878
4876
  // The following flags are aggregated during union and intersection type construction
4879
4877
  /* @internal */
4880
4878
  TypeFlags[TypeFlags["IncludesMask"] = 205258751] = "IncludesMask";
@@ -4887,6 +4885,10 @@ var ts;
4887
4885
  TypeFlags[TypeFlags["IncludesWildcard"] = 8388608] = "IncludesWildcard";
4888
4886
  /* @internal */
4889
4887
  TypeFlags[TypeFlags["IncludesEmptyObject"] = 16777216] = "IncludesEmptyObject";
4888
+ /* @internal */
4889
+ TypeFlags[TypeFlags["IncludesInstantiable"] = 33554432] = "IncludesInstantiable";
4890
+ /* @internal */
4891
+ TypeFlags[TypeFlags["NotPrimitiveUnion"] = 36323363] = "NotPrimitiveUnion";
4890
4892
  })(TypeFlags = ts.TypeFlags || (ts.TypeFlags = {}));
4891
4893
  // Types included in TypeFlags.ObjectFlagsType have an objectFlags property. Some ObjectFlags
4892
4894
  // are specific to certain types and reuse the same bit position. Those ObjectFlags require a check
@@ -6501,7 +6503,7 @@ var ts;
6501
6503
  pollingChunkSize = getCustomPollingBasedLevels("TSC_WATCH_POLLINGCHUNKSIZE", defaultChunkLevels) || pollingChunkSize;
6502
6504
  ts.unchangedPollThresholds = getCustomPollingBasedLevels("TSC_WATCH_UNCHANGEDPOLLTHRESHOLDS", defaultChunkLevels) || ts.unchangedPollThresholds;
6503
6505
  function getLevel(envVar, level) {
6504
- return system.getEnvironmentVariable(envVar + "_" + level.toUpperCase());
6506
+ return system.getEnvironmentVariable("".concat(envVar, "_").concat(level.toUpperCase()));
6505
6507
  }
6506
6508
  function getCustomLevels(baseVariable) {
6507
6509
  var customLevels;
@@ -6966,7 +6968,7 @@ var ts;
6966
6968
  }
6967
6969
  function onTimerToUpdateChildWatches() {
6968
6970
  timerToUpdateChildWatches = undefined;
6969
- ts.sysLog("sysLog:: onTimerToUpdateChildWatches:: " + cacheToUpdateChildWatches.size);
6971
+ ts.sysLog("sysLog:: onTimerToUpdateChildWatches:: ".concat(cacheToUpdateChildWatches.size));
6970
6972
  var start = ts.timestamp();
6971
6973
  var invokeMap = new ts.Map();
6972
6974
  while (!timerToUpdateChildWatches && cacheToUpdateChildWatches.size) {
@@ -6979,7 +6981,7 @@ var ts;
6979
6981
  var hasChanges = updateChildWatches(dirName, dirPath, options);
6980
6982
  invokeCallbacks(dirPath, invokeMap, hasChanges ? undefined : fileNames);
6981
6983
  }
6982
- ts.sysLog("sysLog:: invokingWatchers:: Elapsed:: " + (ts.timestamp() - start) + "ms:: " + cacheToUpdateChildWatches.size);
6984
+ ts.sysLog("sysLog:: invokingWatchers:: Elapsed:: ".concat(ts.timestamp() - start, "ms:: ").concat(cacheToUpdateChildWatches.size));
6983
6985
  callbackCache.forEach(function (callbacks, rootDirName) {
6984
6986
  var existing = invokeMap.get(rootDirName);
6985
6987
  if (existing) {
@@ -6995,7 +6997,7 @@ var ts;
6995
6997
  }
6996
6998
  });
6997
6999
  var elapsed = ts.timestamp() - start;
6998
- ts.sysLog("sysLog:: Elapsed:: " + elapsed + "ms:: onTimerToUpdateChildWatches:: " + cacheToUpdateChildWatches.size + " " + timerToUpdateChildWatches);
7000
+ ts.sysLog("sysLog:: Elapsed:: ".concat(elapsed, "ms:: onTimerToUpdateChildWatches:: ").concat(cacheToUpdateChildWatches.size, " ").concat(timerToUpdateChildWatches));
6999
7001
  }
7000
7002
  function removeChildWatches(parentWatcher) {
7001
7003
  if (!parentWatcher)
@@ -7455,7 +7457,7 @@ var ts;
7455
7457
  var remappedPaths = new ts.Map();
7456
7458
  var normalizedDir = ts.normalizeSlashes(__dirname);
7457
7459
  // Windows rooted dir names need an extra `/` prepended to be valid file:/// urls
7458
- var fileUrlRoot = "file://" + (ts.getRootLength(normalizedDir) === 1 ? "" : "/") + normalizedDir;
7460
+ var fileUrlRoot = "file://".concat(ts.getRootLength(normalizedDir) === 1 ? "" : "/").concat(normalizedDir);
7459
7461
  for (var _i = 0, _a = profile.nodes; _i < _a.length; _i++) {
7460
7462
  var node = _a[_i];
7461
7463
  if (node.callFrame.url) {
@@ -7464,7 +7466,7 @@ var ts;
7464
7466
  node.callFrame.url = ts.getRelativePathToDirectoryOrUrl(fileUrlRoot, url, fileUrlRoot, ts.createGetCanonicalFileName(useCaseSensitiveFileNames), /*isAbsolutePathAnUrl*/ true);
7465
7467
  }
7466
7468
  else if (!nativePattern.test(url)) {
7467
- node.callFrame.url = (remappedPaths.has(url) ? remappedPaths : remappedPaths.set(url, "external" + externalFileCounter + ".js")).get(url);
7469
+ node.callFrame.url = (remappedPaths.has(url) ? remappedPaths : remappedPaths.set(url, "external".concat(externalFileCounter, ".js"))).get(url);
7468
7470
  externalFileCounter++;
7469
7471
  }
7470
7472
  }
@@ -7480,7 +7482,7 @@ var ts;
7480
7482
  if (!err) {
7481
7483
  try {
7482
7484
  if ((_b = statSync(profilePath)) === null || _b === void 0 ? void 0 : _b.isDirectory()) {
7483
- profilePath = _path.join(profilePath, (new Date()).toISOString().replace(/:/g, "-") + "+P" + process.pid + ".cpuprofile");
7485
+ profilePath = _path.join(profilePath, "".concat((new Date()).toISOString().replace(/:/g, "-"), "+P").concat(process.pid, ".cpuprofile"));
7484
7486
  }
7485
7487
  }
7486
7488
  catch (_c) {
@@ -7582,7 +7584,7 @@ var ts;
7582
7584
  * @param createWatcher
7583
7585
  */
7584
7586
  function invokeCallbackAndUpdateWatcher(createWatcher) {
7585
- ts.sysLog("sysLog:: " + fileOrDirectory + ":: Changing watcher to " + (createWatcher === watchPresentFileSystemEntry ? "Present" : "Missing") + "FileSystemEntryWatcher");
7587
+ ts.sysLog("sysLog:: ".concat(fileOrDirectory, ":: Changing watcher to ").concat(createWatcher === watchPresentFileSystemEntry ? "Present" : "Missing", "FileSystemEntryWatcher"));
7586
7588
  // Call the callback for current directory
7587
7589
  callback("rename", "");
7588
7590
  // If watcher is not closed, update it
@@ -7607,7 +7609,7 @@ var ts;
7607
7609
  }
7608
7610
  }
7609
7611
  if (hitSystemWatcherLimit) {
7610
- ts.sysLog("sysLog:: " + fileOrDirectory + ":: Defaulting to fsWatchFile");
7612
+ ts.sysLog("sysLog:: ".concat(fileOrDirectory, ":: Defaulting to fsWatchFile"));
7611
7613
  return watchPresentFileSystemEntryWithFsWatchFile();
7612
7614
  }
7613
7615
  try {
@@ -7623,7 +7625,7 @@ var ts;
7623
7625
  // Eg. on linux the number of watches are limited and one could easily exhaust watches and the exception ENOSPC is thrown when creating watcher at that point
7624
7626
  // so instead of throwing error, use fs.watchFile
7625
7627
  hitSystemWatcherLimit || (hitSystemWatcherLimit = e.code === "ENOSPC");
7626
- ts.sysLog("sysLog:: " + fileOrDirectory + ":: Changing to fsWatchFile");
7628
+ ts.sysLog("sysLog:: ".concat(fileOrDirectory, ":: Changing to fsWatchFile"));
7627
7629
  return watchPresentFileSystemEntryWithFsWatchFile();
7628
7630
  }
7629
7631
  }
@@ -7761,7 +7763,7 @@ var ts;
7761
7763
  }
7762
7764
  }
7763
7765
  function readDirectory(path, extensions, excludes, includes, depth) {
7764
- return ts.matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNames, process.cwd(), depth, getAccessibleFileSystemEntries, realpath, directoryExists);
7766
+ return ts.matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNames, process.cwd(), depth, getAccessibleFileSystemEntries, realpath);
7765
7767
  }
7766
7768
  function fileSystemEntryExists(path, entryKind) {
7767
7769
  // Since the error thrown by fs.statSync isn't used, we can avoid collecting a stack trace to improve
@@ -9925,7 +9927,7 @@ var ts;
9925
9927
  line = line < 0 ? 0 : line >= lineStarts.length ? lineStarts.length - 1 : line;
9926
9928
  }
9927
9929
  else {
9928
- ts.Debug.fail("Bad line number. Line: " + line + ", lineStarts.length: " + lineStarts.length + " , line map is correct? " + (debugText !== undefined ? ts.arraysEqual(lineStarts, computeLineStarts(debugText)) : "unknown"));
9930
+ ts.Debug.fail("Bad line number. Line: ".concat(line, ", lineStarts.length: ").concat(lineStarts.length, " , line map is correct? ").concat(debugText !== undefined ? ts.arraysEqual(lineStarts, computeLineStarts(debugText)) : "unknown"));
9929
9931
  }
9930
9932
  }
9931
9933
  var res = lineStarts[line] + character;
@@ -12805,7 +12807,7 @@ var ts;
12805
12807
  return typeof comment === "string" ? comment
12806
12808
  : comment === null || comment === void 0 ? void 0 : comment.map(function (c) {
12807
12809
  // TODO: Other kinds here
12808
- return c.kind === 319 /* JSDocText */ ? c.text : "{@link " + (c.name ? ts.entityNameToString(c.name) + " " : "") + c.text + "}";
12810
+ return c.kind === 319 /* JSDocText */ ? c.text : "{@link ".concat(c.name ? ts.entityNameToString(c.name) + " " : "").concat(c.text, "}");
12809
12811
  }).join("");
12810
12812
  }
12811
12813
  ts.getTextOfJSDocComment = getTextOfJSDocComment;
@@ -14075,8 +14077,8 @@ var ts;
14075
14077
  }
14076
14078
  function packageIdToString(_a) {
14077
14079
  var name = _a.name, subModuleName = _a.subModuleName, version = _a.version;
14078
- var fullName = subModuleName ? name + "/" + subModuleName : name;
14079
- return fullName + "@" + version;
14080
+ var fullName = subModuleName ? "".concat(name, "/").concat(subModuleName) : name;
14081
+ return "".concat(fullName, "@").concat(version);
14080
14082
  }
14081
14083
  ts.packageIdToString = packageIdToString;
14082
14084
  function typeDirectiveIsEqualTo(oldResolution, newResolution) {
@@ -14155,7 +14157,7 @@ var ts;
14155
14157
  function nodePosToString(node) {
14156
14158
  var file = getSourceFileOfNode(node);
14157
14159
  var loc = ts.getLineAndCharacterOfPosition(file, node.pos);
14158
- return file.fileName + "(" + (loc.line + 1) + "," + (loc.character + 1) + ")";
14160
+ return "".concat(file.fileName, "(").concat(loc.line + 1, ",").concat(loc.character + 1, ")");
14159
14161
  }
14160
14162
  ts.nodePosToString = nodePosToString;
14161
14163
  function getEndLinePosition(line, sourceFile) {
@@ -14294,7 +14296,7 @@ var ts;
14294
14296
  ts.isPinnedComment = isPinnedComment;
14295
14297
  function createCommentDirectivesMap(sourceFile, commentDirectives) {
14296
14298
  var directivesByLine = new ts.Map(commentDirectives.map(function (commentDirective) { return ([
14297
- "" + ts.getLineAndCharacterOfPosition(sourceFile, commentDirective.range.end).line,
14299
+ "".concat(ts.getLineAndCharacterOfPosition(sourceFile, commentDirective.range.end).line),
14298
14300
  commentDirective,
14299
14301
  ]); }));
14300
14302
  var usedLines = new ts.Map();
@@ -14311,10 +14313,10 @@ var ts;
14311
14313
  });
14312
14314
  }
14313
14315
  function markUsed(line) {
14314
- if (!directivesByLine.has("" + line)) {
14316
+ if (!directivesByLine.has("".concat(line))) {
14315
14317
  return false;
14316
14318
  }
14317
- usedLines.set("" + line, true);
14319
+ usedLines.set("".concat(line), true);
14318
14320
  return true;
14319
14321
  }
14320
14322
  }
@@ -14529,7 +14531,7 @@ var ts;
14529
14531
  }
14530
14532
  return node.text;
14531
14533
  }
14532
- return ts.Debug.fail("Literal kind '" + node.kind + "' not accounted for.");
14534
+ return ts.Debug.fail("Literal kind '".concat(node.kind, "' not accounted for."));
14533
14535
  }
14534
14536
  ts.getLiteralText = getLiteralText;
14535
14537
  function canUseOriginalText(node, flags) {
@@ -17060,11 +17062,11 @@ var ts;
17060
17062
  }
17061
17063
  ts.getEscapedTextOfIdentifierOrLiteral = getEscapedTextOfIdentifierOrLiteral;
17062
17064
  function getPropertyNameForUniqueESSymbol(symbol) {
17063
- return "__@" + ts.getSymbolId(symbol) + "@" + symbol.escapedName;
17065
+ return "__@".concat(ts.getSymbolId(symbol), "@").concat(symbol.escapedName);
17064
17066
  }
17065
17067
  ts.getPropertyNameForUniqueESSymbol = getPropertyNameForUniqueESSymbol;
17066
17068
  function getSymbolNameForPrivateIdentifier(containingClassSymbol, description) {
17067
- return "__#" + ts.getSymbolId(containingClassSymbol) + "@" + description;
17069
+ return "__#".concat(ts.getSymbolId(containingClassSymbol), "@").concat(description);
17068
17070
  }
17069
17071
  ts.getSymbolNameForPrivateIdentifier = getSymbolNameForPrivateIdentifier;
17070
17072
  function isKnownSymbol(symbol) {
@@ -19757,7 +19759,7 @@ var ts;
19757
19759
  }
19758
19760
  ts.getJSXImplicitImportBase = getJSXImplicitImportBase;
19759
19761
  function getJSXRuntimeImport(base, options) {
19760
- return base ? base + "/" + (options.jsx === 5 /* ReactJSXDev */ ? "jsx-dev-runtime" : "jsx-runtime") : undefined;
19762
+ return base ? "".concat(base, "/").concat(options.jsx === 5 /* ReactJSXDev */ ? "jsx-dev-runtime" : "jsx-runtime") : undefined;
19761
19763
  }
19762
19764
  ts.getJSXRuntimeImport = getJSXRuntimeImport;
19763
19765
  function hasZeroOrOneAsteriskCharacter(str) {
@@ -19874,7 +19876,7 @@ var ts;
19874
19876
  }
19875
19877
  var wildcardCharCodes = [42 /* asterisk */, 63 /* question */];
19876
19878
  ts.commonPackageFolders = ["node_modules", "bower_components", "jspm_packages"];
19877
- var implicitExcludePathRegexPattern = "(?!(" + ts.commonPackageFolders.join("|") + ")(/|$))";
19879
+ var implicitExcludePathRegexPattern = "(?!(".concat(ts.commonPackageFolders.join("|"), ")(/|$))");
19878
19880
  var filesMatcher = {
19879
19881
  /**
19880
19882
  * Matches any single directory segment unless it is the last segment and a .min.js file
@@ -19887,7 +19889,7 @@ var ts;
19887
19889
  * Regex for the ** wildcard. Matches any number of subdirectories. When used for including
19888
19890
  * files or directories, does not match subdirectories that start with a . character
19889
19891
  */
19890
- doubleAsteriskRegexFragment: "(/" + implicitExcludePathRegexPattern + "[^/.][^/]*)*?",
19892
+ doubleAsteriskRegexFragment: "(/".concat(implicitExcludePathRegexPattern, "[^/.][^/]*)*?"),
19891
19893
  replaceWildcardCharacter: function (match) { return replaceWildcardCharacter(match, filesMatcher.singleAsteriskRegexFragment); }
19892
19894
  };
19893
19895
  var directoriesMatcher = {
@@ -19896,7 +19898,7 @@ var ts;
19896
19898
  * Regex for the ** wildcard. Matches any number of subdirectories. When used for including
19897
19899
  * files or directories, does not match subdirectories that start with a . character
19898
19900
  */
19899
- doubleAsteriskRegexFragment: "(/" + implicitExcludePathRegexPattern + "[^/.][^/]*)*?",
19901
+ doubleAsteriskRegexFragment: "(/".concat(implicitExcludePathRegexPattern, "[^/.][^/]*)*?"),
19900
19902
  replaceWildcardCharacter: function (match) { return replaceWildcardCharacter(match, directoriesMatcher.singleAsteriskRegexFragment); }
19901
19903
  };
19902
19904
  var excludeMatcher = {
@@ -19914,10 +19916,10 @@ var ts;
19914
19916
  if (!patterns || !patterns.length) {
19915
19917
  return undefined;
19916
19918
  }
19917
- var pattern = patterns.map(function (pattern) { return "(" + pattern + ")"; }).join("|");
19919
+ var pattern = patterns.map(function (pattern) { return "(".concat(pattern, ")"); }).join("|");
19918
19920
  // If excluding, match "foo/bar/baz...", but if including, only allow "foo".
19919
19921
  var terminator = usage === "exclude" ? "($|/)" : "$";
19920
- return "^(" + pattern + ")" + terminator;
19922
+ return "^(".concat(pattern, ")").concat(terminator);
19921
19923
  }
19922
19924
  ts.getRegularExpressionForWildcard = getRegularExpressionForWildcard;
19923
19925
  function getRegularExpressionsForWildcards(specs, basePath, usage) {
@@ -19939,7 +19941,7 @@ var ts;
19939
19941
  ts.isImplicitGlob = isImplicitGlob;
19940
19942
  function getPatternFromSpec(spec, basePath, usage) {
19941
19943
  var pattern = spec && getSubPatternFromSpec(spec, basePath, usage, wildcardMatchers[usage]);
19942
- return pattern && "^(" + pattern + ")" + (usage === "exclude" ? "($|/)" : "$");
19944
+ return pattern && "^(".concat(pattern, ")").concat(usage === "exclude" ? "($|/)" : "$");
19943
19945
  }
19944
19946
  ts.getPatternFromSpec = getPatternFromSpec;
19945
19947
  function getSubPatternFromSpec(spec, basePath, usage, _a) {
@@ -20017,11 +20019,11 @@ var ts;
20017
20019
  currentDirectory = ts.normalizePath(currentDirectory);
20018
20020
  var absolutePath = ts.combinePaths(currentDirectory, path);
20019
20021
  return {
20020
- includeFilePatterns: ts.map(getRegularExpressionsForWildcards(includes, absolutePath, "files"), function (pattern) { return "^" + pattern + "$"; }),
20022
+ includeFilePatterns: ts.map(getRegularExpressionsForWildcards(includes, absolutePath, "files"), function (pattern) { return "^".concat(pattern, "$"); }),
20021
20023
  includeFilePattern: getRegularExpressionForWildcard(includes, absolutePath, "files"),
20022
20024
  includeDirectoryPattern: getRegularExpressionForWildcard(includes, absolutePath, "directories"),
20023
20025
  excludePattern: getRegularExpressionForWildcard(excludes, absolutePath, "exclude"),
20024
- basePaths: getBasePaths(absolutePath, includes, useCaseSensitiveFileNames)
20026
+ basePaths: getBasePaths(path, includes, useCaseSensitiveFileNames)
20025
20027
  };
20026
20028
  }
20027
20029
  ts.getFileMatcherPatterns = getFileMatcherPatterns;
@@ -20030,7 +20032,7 @@ var ts;
20030
20032
  }
20031
20033
  ts.getRegexFromPattern = getRegexFromPattern;
20032
20034
  /** @param path directory of the tsconfig.json */
20033
- function matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNames, currentDirectory, depth, getFileSystemEntries, realpath, directoryExists) {
20035
+ function matchFiles(path, extensions, excludes, includes, useCaseSensitiveFileNames, currentDirectory, depth, getFileSystemEntries, realpath) {
20034
20036
  path = ts.normalizePath(path);
20035
20037
  currentDirectory = ts.normalizePath(currentDirectory);
20036
20038
  var patterns = getFileMatcherPatterns(path, excludes, includes, useCaseSensitiveFileNames, currentDirectory);
@@ -20043,20 +20045,18 @@ var ts;
20043
20045
  var visited = new ts.Map();
20044
20046
  var toCanonical = ts.createGetCanonicalFileName(useCaseSensitiveFileNames);
20045
20047
  for (var _i = 0, _a = patterns.basePaths; _i < _a.length; _i++) {
20046
- var absoluteBasePath = _a[_i];
20047
- if (directoryExists(absoluteBasePath)) {
20048
- visitDirectory(absoluteBasePath, depth);
20049
- }
20048
+ var basePath = _a[_i];
20049
+ visitDirectory(basePath, ts.combinePaths(currentDirectory, basePath), depth);
20050
20050
  }
20051
20051
  return ts.flatten(results);
20052
- function visitDirectory(absolutePath, depth) {
20052
+ function visitDirectory(path, absolutePath, depth) {
20053
20053
  var canonicalPath = toCanonical(realpath(absolutePath));
20054
20054
  if (visited.has(canonicalPath))
20055
20055
  return;
20056
20056
  visited.set(canonicalPath, true);
20057
- var _a = getFileSystemEntries(absolutePath), files = _a.files, directories = _a.directories;
20057
+ var _a = getFileSystemEntries(path), files = _a.files, directories = _a.directories;
20058
20058
  var _loop_1 = function (current) {
20059
- var name = ts.combinePaths(absolutePath, current);
20059
+ var name = ts.combinePaths(path, current);
20060
20060
  var absoluteName = ts.combinePaths(absolutePath, current);
20061
20061
  if (extensions && !ts.fileExtensionIsOneOf(name, extensions))
20062
20062
  return "continue";
@@ -20084,10 +20084,11 @@ var ts;
20084
20084
  }
20085
20085
  for (var _c = 0, _d = ts.sort(directories, ts.compareStringsCaseSensitive); _c < _d.length; _c++) {
20086
20086
  var current = _d[_c];
20087
+ var name = ts.combinePaths(path, current);
20087
20088
  var absoluteName = ts.combinePaths(absolutePath, current);
20088
20089
  if ((!includeDirectoryRegex || includeDirectoryRegex.test(absoluteName)) &&
20089
20090
  (!excludeRegex || !excludeRegex.test(absoluteName))) {
20090
- visitDirectory(absoluteName, depth);
20091
+ visitDirectory(name, absoluteName, depth);
20091
20092
  }
20092
20093
  }
20093
20094
  }
@@ -20095,11 +20096,10 @@ var ts;
20095
20096
  ts.matchFiles = matchFiles;
20096
20097
  /**
20097
20098
  * Computes the unique non-wildcard base paths amongst the provided include patterns.
20098
- * @returns Absolute directory paths
20099
20099
  */
20100
- function getBasePaths(absoluteTsconfigPath, includes, useCaseSensitiveFileNames) {
20100
+ function getBasePaths(path, includes, useCaseSensitiveFileNames) {
20101
20101
  // Storage for our results in the form of literal paths (e.g. the paths as written by the user).
20102
- var basePaths = [absoluteTsconfigPath];
20102
+ var basePaths = [path];
20103
20103
  if (includes) {
20104
20104
  // Storage for literal base paths amongst the include patterns.
20105
20105
  var includeBasePaths = [];
@@ -20107,14 +20107,14 @@ var ts;
20107
20107
  var include = includes_1[_i];
20108
20108
  // We also need to check the relative paths by converting them to absolute and normalizing
20109
20109
  // in case they escape the base path (e.g "..\somedirectory")
20110
- var absoluteIncludePath = ts.isRootedDiskPath(include) ? include : ts.normalizePath(ts.combinePaths(absoluteTsconfigPath, include));
20110
+ var absolute = ts.isRootedDiskPath(include) ? include : ts.normalizePath(ts.combinePaths(path, include));
20111
20111
  // Append the literal and canonical candidate base paths.
20112
- includeBasePaths.push(getIncludeBasePath(absoluteIncludePath));
20112
+ includeBasePaths.push(getIncludeBasePath(absolute));
20113
20113
  }
20114
20114
  // Sort the offsets array using either the literal or canonical path representations.
20115
20115
  includeBasePaths.sort(ts.getStringComparer(!useCaseSensitiveFileNames));
20116
20116
  var _loop_2 = function (includeBasePath) {
20117
- if (ts.every(basePaths, function (basePath) { return !ts.containsPath(basePath, includeBasePath, absoluteTsconfigPath, !useCaseSensitiveFileNames); })) {
20117
+ if (ts.every(basePaths, function (basePath) { return !ts.containsPath(basePath, includeBasePath, path, !useCaseSensitiveFileNames); })) {
20118
20118
  basePaths.push(includeBasePath);
20119
20119
  }
20120
20120
  };
@@ -20300,7 +20300,7 @@ var ts;
20300
20300
  */
20301
20301
  function extensionFromPath(path) {
20302
20302
  var ext = tryGetExtensionFromPath(path);
20303
- return ext !== undefined ? ext : ts.Debug.fail("File " + path + " has unknown extension.");
20303
+ return ext !== undefined ? ext : ts.Debug.fail("File ".concat(path, " has unknown extension."));
20304
20304
  }
20305
20305
  ts.extensionFromPath = extensionFromPath;
20306
20306
  function isAnySupportedFileExtension(path) {
@@ -26289,7 +26289,7 @@ var ts;
26289
26289
  case 326 /* JSDocAugmentsTag */: return "augments";
26290
26290
  case 327 /* JSDocImplementsTag */: return "implements";
26291
26291
  default:
26292
- return ts.Debug.fail("Unsupported kind: " + ts.Debug.formatSyntaxKind(kind));
26292
+ return ts.Debug.fail("Unsupported kind: ".concat(ts.Debug.formatSyntaxKind(kind)));
26293
26293
  }
26294
26294
  }
26295
26295
  var rawTextScanner;
@@ -26617,7 +26617,7 @@ var ts;
26617
26617
  };
26618
26618
  var definedTextGetter_1 = function (path) {
26619
26619
  var result = textGetter_1(path);
26620
- return result !== undefined ? result : "/* Input file " + path + " was missing */\r\n";
26620
+ return result !== undefined ? result : "/* Input file ".concat(path, " was missing */\r\n");
26621
26621
  };
26622
26622
  var buildInfo_1;
26623
26623
  var getAndCacheBuildInfo_1 = function (getText) {
@@ -31155,7 +31155,7 @@ var ts;
31155
31155
  for (var _i = 0, viableKeywordSuggestions_1 = viableKeywordSuggestions; _i < viableKeywordSuggestions_1.length; _i++) {
31156
31156
  var keyword = viableKeywordSuggestions_1[_i];
31157
31157
  if (expressionText.length > keyword.length + 2 && ts.startsWith(expressionText, keyword)) {
31158
- return keyword + " " + expressionText.slice(keyword.length);
31158
+ return "".concat(keyword, " ").concat(expressionText.slice(keyword.length));
31159
31159
  }
31160
31160
  }
31161
31161
  return undefined;
@@ -37919,7 +37919,7 @@ var ts;
37919
37919
  if (namedArgRegExCache.has(name)) {
37920
37920
  return namedArgRegExCache.get(name);
37921
37921
  }
37922
- var result = new RegExp("(\\s" + name + "\\s*=\\s*)(?:(?:'([^']*)')|(?:\"([^\"]*)\"))", "im");
37922
+ var result = new RegExp("(\\s".concat(name, "\\s*=\\s*)(?:(?:'([^']*)')|(?:\"([^\"]*)\"))"), "im");
37923
37923
  namedArgRegExCache.set(name, result);
37924
37924
  return result;
37925
37925
  }
@@ -39381,8 +39381,8 @@ var ts;
39381
39381
  }
39382
39382
  ts.createCompilerDiagnosticForInvalidCustomType = createCompilerDiagnosticForInvalidCustomType;
39383
39383
  function createDiagnosticForInvalidCustomType(opt, createDiagnostic) {
39384
- var namesOfType = ts.arrayFrom(opt.type.keys()).map(function (key) { return "'" + key + "'"; }).join(", ");
39385
- return createDiagnostic(ts.Diagnostics.Argument_for_0_option_must_be_Colon_1, "--" + opt.name, namesOfType);
39384
+ var namesOfType = ts.arrayFrom(opt.type.keys()).map(function (key) { return "'".concat(key, "'"); }).join(", ");
39385
+ return createDiagnostic(ts.Diagnostics.Argument_for_0_option_must_be_Colon_1, "--".concat(opt.name), namesOfType);
39386
39386
  }
39387
39387
  /* @internal */
39388
39388
  function parseCustomTypeOption(opt, value, errors) {
@@ -40176,10 +40176,10 @@ var ts;
40176
40176
  var newValue = compilerOptionsMap.get(cmd.name);
40177
40177
  var defaultValue = getDefaultValueForOption(cmd);
40178
40178
  if (newValue !== defaultValue) {
40179
- result.push("" + tab + cmd.name + ": " + newValue);
40179
+ result.push("".concat(tab).concat(cmd.name, ": ").concat(newValue));
40180
40180
  }
40181
40181
  else if (ts.hasProperty(ts.defaultInitCompilerOptions, cmd.name)) {
40182
- result.push("" + tab + cmd.name + ": " + defaultValue);
40182
+ result.push("".concat(tab).concat(cmd.name, ": ").concat(defaultValue));
40183
40183
  }
40184
40184
  });
40185
40185
  return result.join(newLine) + newLine;
@@ -40230,19 +40230,19 @@ var ts;
40230
40230
  if (entries.length !== 0) {
40231
40231
  entries.push({ value: "" });
40232
40232
  }
40233
- entries.push({ value: "/* " + category + " */" });
40233
+ entries.push({ value: "/* ".concat(category, " */") });
40234
40234
  for (var _i = 0, options_1 = options; _i < options_1.length; _i++) {
40235
40235
  var option = options_1[_i];
40236
40236
  var optionName = void 0;
40237
40237
  if (compilerOptionsMap.has(option.name)) {
40238
- optionName = "\"" + option.name + "\": " + JSON.stringify(compilerOptionsMap.get(option.name)) + ((seenKnownKeys += 1) === compilerOptionsMap.size ? "" : ",");
40238
+ optionName = "\"".concat(option.name, "\": ").concat(JSON.stringify(compilerOptionsMap.get(option.name))).concat((seenKnownKeys += 1) === compilerOptionsMap.size ? "" : ",");
40239
40239
  }
40240
40240
  else {
40241
- optionName = "// \"" + option.name + "\": " + JSON.stringify(getDefaultValueForOption(option)) + ",";
40241
+ optionName = "// \"".concat(option.name, "\": ").concat(JSON.stringify(getDefaultValueForOption(option)), ",");
40242
40242
  }
40243
40243
  entries.push({
40244
40244
  value: optionName,
40245
- description: "/* " + (option.description && ts.getLocaleSpecificMessage(option.description) || option.name) + " */"
40245
+ description: "/* ".concat(option.description && ts.getLocaleSpecificMessage(option.description) || option.name, " */")
40246
40246
  });
40247
40247
  marginLength = Math.max(optionName.length, marginLength);
40248
40248
  }
@@ -40251,25 +40251,25 @@ var ts;
40251
40251
  var tab = makePadding(2);
40252
40252
  var result = [];
40253
40253
  result.push("{");
40254
- result.push(tab + "\"compilerOptions\": {");
40255
- result.push("" + tab + tab + "/* " + ts.getLocaleSpecificMessage(ts.Diagnostics.Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_json_to_read_more_about_this_file) + " */");
40254
+ result.push("".concat(tab, "\"compilerOptions\": {"));
40255
+ result.push("".concat(tab).concat(tab, "/* ").concat(ts.getLocaleSpecificMessage(ts.Diagnostics.Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_json_to_read_more_about_this_file), " */"));
40256
40256
  result.push("");
40257
40257
  // Print out each row, aligning all the descriptions on the same column.
40258
40258
  for (var _a = 0, entries_2 = entries; _a < entries_2.length; _a++) {
40259
40259
  var entry = entries_2[_a];
40260
40260
  var value = entry.value, _b = entry.description, description = _b === void 0 ? "" : _b;
40261
- result.push(value && "" + tab + tab + value + (description && (makePadding(marginLength - value.length + 2) + description)));
40261
+ result.push(value && "".concat(tab).concat(tab).concat(value).concat(description && (makePadding(marginLength - value.length + 2) + description)));
40262
40262
  }
40263
40263
  if (fileNames.length) {
40264
- result.push(tab + "},");
40265
- result.push(tab + "\"files\": [");
40264
+ result.push("".concat(tab, "},"));
40265
+ result.push("".concat(tab, "\"files\": ["));
40266
40266
  for (var i = 0; i < fileNames.length; i++) {
40267
- result.push("" + tab + tab + JSON.stringify(fileNames[i]) + (i === fileNames.length - 1 ? "" : ","));
40267
+ result.push("".concat(tab).concat(tab).concat(JSON.stringify(fileNames[i])).concat(i === fileNames.length - 1 ? "" : ","));
40268
40268
  }
40269
- result.push(tab + "]");
40269
+ result.push("".concat(tab, "]"));
40270
40270
  }
40271
40271
  else {
40272
- result.push(tab + "}");
40272
+ result.push("".concat(tab, "}"));
40273
40273
  }
40274
40274
  result.push("}");
40275
40275
  return result.join(newLine) + newLine;
@@ -40667,7 +40667,7 @@ var ts;
40667
40667
  if (ts.isRootedDiskPath(extendedConfig) || ts.startsWith(extendedConfig, "./") || ts.startsWith(extendedConfig, "../")) {
40668
40668
  var extendedConfigPath = ts.getNormalizedAbsolutePath(extendedConfig, basePath);
40669
40669
  if (!host.fileExists(extendedConfigPath) && !ts.endsWith(extendedConfigPath, ".json" /* Json */)) {
40670
- extendedConfigPath = extendedConfigPath + ".json";
40670
+ extendedConfigPath = "".concat(extendedConfigPath, ".json");
40671
40671
  if (!host.fileExists(extendedConfigPath)) {
40672
40672
  errors.push(createDiagnostic(ts.Diagnostics.File_0_not_found, extendedConfig));
40673
40673
  return undefined;
@@ -40912,7 +40912,7 @@ var ts;
40912
40912
  // Valid only if *.json specified
40913
40913
  if (!jsonOnlyIncludeRegexes) {
40914
40914
  var includes = validatedIncludeSpecs.filter(function (s) { return ts.endsWith(s, ".json" /* Json */); });
40915
- var includeFilePatterns = ts.map(ts.getRegularExpressionsForWildcards(includes, basePath, "files"), function (pattern) { return "^" + pattern + "$"; });
40915
+ var includeFilePatterns = ts.map(ts.getRegularExpressionsForWildcards(includes, basePath, "files"), function (pattern) { return "^".concat(pattern, "$"); });
40916
40916
  jsonOnlyIncludeRegexes = includeFilePatterns ? includeFilePatterns.map(function (pattern) { return ts.getRegexFromPattern(pattern, host.useCaseSensitiveFileNames); }) : ts.emptyArray;
40917
40917
  }
40918
40918
  var includeIndex = ts.findIndex(jsonOnlyIncludeRegexes, function (re) { return re.test(file); });
@@ -41348,7 +41348,7 @@ var ts;
41348
41348
  var bestVersionKey = result.version, bestVersionPaths = result.paths;
41349
41349
  if (typeof bestVersionPaths !== "object") {
41350
41350
  if (state.traceEnabled) {
41351
- trace(state.host, ts.Diagnostics.Expected_type_of_0_field_in_package_json_to_be_1_got_2, "typesVersions['" + bestVersionKey + "']", "object", typeof bestVersionPaths);
41351
+ trace(state.host, ts.Diagnostics.Expected_type_of_0_field_in_package_json_to_be_1_got_2, "typesVersions['".concat(bestVersionKey, "']"), "object", typeof bestVersionPaths);
41352
41352
  }
41353
41353
  return;
41354
41354
  }
@@ -41726,7 +41726,7 @@ var ts;
41726
41726
  };
41727
41727
  return cache;
41728
41728
  function getUnderlyingCacheKey(specifier, mode) {
41729
- var result = mode === undefined ? specifier : mode + "|" + specifier;
41729
+ var result = mode === undefined ? specifier : "".concat(mode, "|").concat(specifier);
41730
41730
  memoizedReverseKeys.set(result, [specifier, mode]);
41731
41731
  return result;
41732
41732
  }
@@ -41757,7 +41757,7 @@ var ts;
41757
41757
  }
41758
41758
  function getOrCreateCacheForModuleName(nonRelativeModuleName, mode, redirectedReference) {
41759
41759
  ts.Debug.assert(!ts.isExternalModuleNameRelative(nonRelativeModuleName));
41760
- return getOrCreateCache(moduleNameToDirectoryMap, redirectedReference, mode === undefined ? nonRelativeModuleName : mode + "|" + nonRelativeModuleName, createPerModuleNameCache);
41760
+ return getOrCreateCache(moduleNameToDirectoryMap, redirectedReference, mode === undefined ? nonRelativeModuleName : "".concat(mode, "|").concat(nonRelativeModuleName), createPerModuleNameCache);
41761
41761
  }
41762
41762
  function createPerModuleNameCache() {
41763
41763
  var directoryPathMap = new ts.Map();
@@ -41904,10 +41904,10 @@ var ts;
41904
41904
  result = classicNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference);
41905
41905
  break;
41906
41906
  default:
41907
- return ts.Debug.fail("Unexpected moduleResolution: " + moduleResolution);
41907
+ return ts.Debug.fail("Unexpected moduleResolution: ".concat(moduleResolution));
41908
41908
  }
41909
41909
  if (result && result.resolvedModule)
41910
- ts.perfLogger.logInfoEvent("Module \"" + moduleName + "\" resolved to \"" + result.resolvedModule.resolvedFileName + "\"");
41910
+ ts.perfLogger.logInfoEvent("Module \"".concat(moduleName, "\" resolved to \"").concat(result.resolvedModule.resolvedFileName, "\""));
41911
41911
  ts.perfLogger.logStopResolveModule((result && result.resolvedModule) ? "" + result.resolvedModule.resolvedFileName : "null");
41912
41912
  if (perFolderCache) {
41913
41913
  perFolderCache.set(moduleName, resolutionMode, result);
@@ -42110,7 +42110,7 @@ var ts;
42110
42110
  function resolveJSModule(moduleName, initialDir, host) {
42111
42111
  var _a = tryResolveJSModuleWorker(moduleName, initialDir, host), resolvedModule = _a.resolvedModule, failedLookupLocations = _a.failedLookupLocations;
42112
42112
  if (!resolvedModule) {
42113
- throw new Error("Could not resolve JS module '" + moduleName + "' starting at '" + initialDir + "'. Looked in: " + failedLookupLocations.join(", "));
42113
+ throw new Error("Could not resolve JS module '".concat(moduleName, "' starting at '").concat(initialDir, "'. Looked in: ").concat(failedLookupLocations.join(", ")));
42114
42114
  }
42115
42115
  return resolvedModule.resolvedFileName;
42116
42116
  }
@@ -42223,7 +42223,7 @@ var ts;
42223
42223
  if (traceEnabled) {
42224
42224
  trace(host, ts.Diagnostics.Resolving_real_path_for_0_result_1, path, real);
42225
42225
  }
42226
- ts.Debug.assert(host.fileExists(real), path + " linked to nonexistent file " + real);
42226
+ ts.Debug.assert(host.fileExists(real), "".concat(path, " linked to nonexistent file ").concat(real));
42227
42227
  return real;
42228
42228
  }
42229
42229
  function nodeLoadModuleByRelativeName(extensions, candidate, onlyRecordFailures, state, considerPackageJson) {
@@ -42609,7 +42609,7 @@ var ts;
42609
42609
  return undefined;
42610
42610
  }
42611
42611
  var trailingParts = parts.slice(nameParts.length);
42612
- return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : "." + ts.directorySeparator + trailingParts.join(ts.directorySeparator), state, cache, redirectedReference);
42612
+ return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : ".".concat(ts.directorySeparator).concat(trailingParts.join(ts.directorySeparator)), state, cache, redirectedReference);
42613
42613
  }
42614
42614
  function loadModuleFromExports(scope, extensions, subpath, state, cache, redirectedReference) {
42615
42615
  if (!scope.packageJsonContent.exports) {
@@ -42937,7 +42937,7 @@ var ts;
42937
42937
  }
42938
42938
  /* @internal */
42939
42939
  function getTypesPackageName(packageName) {
42940
- return "@types/" + mangleScopedPackageName(packageName);
42940
+ return "@types/".concat(mangleScopedPackageName(packageName));
42941
42941
  }
42942
42942
  ts.getTypesPackageName = getTypesPackageName;
42943
42943
  /* @internal */
@@ -43338,7 +43338,7 @@ var ts;
43338
43338
  if (name) {
43339
43339
  if (ts.isAmbientModule(node)) {
43340
43340
  var moduleName = ts.getTextOfIdentifierOrLiteral(name);
43341
- return (ts.isGlobalScopeAugmentation(node) ? "__global" : "\"" + moduleName + "\"");
43341
+ return (ts.isGlobalScopeAugmentation(node) ? "__global" : "\"".concat(moduleName, "\""));
43342
43342
  }
43343
43343
  if (name.kind === 161 /* ComputedPropertyName */) {
43344
43344
  var nameExpression = name.expression;
@@ -43395,7 +43395,7 @@ var ts;
43395
43395
  case 163 /* Parameter */:
43396
43396
  // Parameters with names are handled at the top of this function. Parameters
43397
43397
  // without names can only come from JSDocFunctionTypes.
43398
- ts.Debug.assert(node.parent.kind === 315 /* JSDocFunctionType */, "Impossible parameter parent kind", function () { return "parent is: " + (ts.SyntaxKind ? ts.SyntaxKind[node.parent.kind] : node.parent.kind) + ", expected JSDocFunctionType"; });
43398
+ ts.Debug.assert(node.parent.kind === 315 /* JSDocFunctionType */, "Impossible parameter parent kind", function () { return "parent is: ".concat(ts.SyntaxKind ? ts.SyntaxKind[node.parent.kind] : node.parent.kind, ", expected JSDocFunctionType"); });
43399
43399
  var functionType = node.parent;
43400
43400
  var index = functionType.parameters.indexOf(node);
43401
43401
  return "arg" + index;
@@ -43507,7 +43507,7 @@ var ts;
43507
43507
  var relatedInformation_1 = [];
43508
43508
  if (ts.isTypeAliasDeclaration(node) && ts.nodeIsMissing(node.type) && ts.hasSyntacticModifier(node, 1 /* Export */) && symbol.flags & (2097152 /* Alias */ | 788968 /* Type */ | 1920 /* Namespace */)) {
43509
43509
  // export type T; - may have meant export type { T }?
43510
- relatedInformation_1.push(createDiagnosticForNode(node, ts.Diagnostics.Did_you_mean_0, "export type { " + ts.unescapeLeadingUnderscores(node.name.escapedText) + " }"));
43510
+ relatedInformation_1.push(createDiagnosticForNode(node, ts.Diagnostics.Did_you_mean_0, "export type { ".concat(ts.unescapeLeadingUnderscores(node.name.escapedText), " }")));
43511
43511
  }
43512
43512
  var declarationName_1 = ts.getNameOfDeclaration(node) || node;
43513
43513
  ts.forEach(symbol.declarations, function (declaration, index) {
@@ -45580,7 +45580,7 @@ var ts;
45580
45580
  }
45581
45581
  }
45582
45582
  function bindSourceFileAsExternalModule() {
45583
- bindAnonymousDeclaration(file, 512 /* ValueModule */, "\"" + ts.removeFileExtension(file.fileName) + "\"");
45583
+ bindAnonymousDeclaration(file, 512 /* ValueModule */, "\"".concat(ts.removeFileExtension(file.fileName), "\""));
45584
45584
  }
45585
45585
  function bindExportAssignment(node) {
45586
45586
  if (!container.symbol || !container.symbol.exports) {
@@ -47669,7 +47669,7 @@ var ts;
47669
47669
  if (sourceSymbolFile && targetSymbolFile && amalgamatedDuplicates && !isEitherEnum && sourceSymbolFile !== targetSymbolFile) {
47670
47670
  var firstFile_1 = ts.comparePaths(sourceSymbolFile.path, targetSymbolFile.path) === -1 /* LessThan */ ? sourceSymbolFile : targetSymbolFile;
47671
47671
  var secondFile_1 = firstFile_1 === sourceSymbolFile ? targetSymbolFile : sourceSymbolFile;
47672
- var filesDuplicates = ts.getOrUpdate(amalgamatedDuplicates, firstFile_1.path + "|" + secondFile_1.path, function () {
47672
+ var filesDuplicates = ts.getOrUpdate(amalgamatedDuplicates, "".concat(firstFile_1.path, "|").concat(secondFile_1.path), function () {
47673
47673
  return ({ firstFile: firstFile_1, secondFile: secondFile_1, conflictingSymbols: new ts.Map() });
47674
47674
  });
47675
47675
  var conflictingSymbolInfo = ts.getOrUpdate(filesDuplicates.conflictingSymbols, symbolName_1, function () {
@@ -50308,7 +50308,7 @@ var ts;
50308
50308
  var cache = (links.accessibleChainCache || (links.accessibleChainCache = new ts.Map()));
50309
50309
  // Go from enclosingDeclaration to the first scope we check, so the cache is keyed off the scope and thus shared more
50310
50310
  var firstRelevantLocation = forEachSymbolTableInScope(enclosingDeclaration, function (_, __, ___, node) { return node; });
50311
- var key = (useOnlyExternalAliasing ? 0 : 1) + "|" + (firstRelevantLocation && getNodeId(firstRelevantLocation)) + "|" + meaning;
50311
+ var key = "".concat(useOnlyExternalAliasing ? 0 : 1, "|").concat(firstRelevantLocation && getNodeId(firstRelevantLocation), "|").concat(meaning);
50312
50312
  if (cache.has(key)) {
50313
50313
  return cache.get(key);
50314
50314
  }
@@ -51156,7 +51156,7 @@ var ts;
51156
51156
  context.symbolDepth = new ts.Map();
51157
51157
  }
51158
51158
  var links = context.enclosingDeclaration && getNodeLinks(context.enclosingDeclaration);
51159
- var key = getTypeId(type) + "|" + context.flags;
51159
+ var key = "".concat(getTypeId(type), "|").concat(context.flags);
51160
51160
  if (links) {
51161
51161
  links.serializedTypes || (links.serializedTypes = new ts.Map());
51162
51162
  }
@@ -51425,7 +51425,7 @@ var ts;
51425
51425
  }
51426
51426
  }
51427
51427
  if (checkTruncationLength(context) && (i + 2 < properties.length - 1)) {
51428
- typeElements.push(ts.factory.createPropertySignature(/*modifiers*/ undefined, "... " + (properties.length - i) + " more ...", /*questionToken*/ undefined, /*type*/ undefined));
51428
+ typeElements.push(ts.factory.createPropertySignature(/*modifiers*/ undefined, "... ".concat(properties.length - i, " more ..."), /*questionToken*/ undefined, /*type*/ undefined));
51429
51429
  addPropertyToElementList(properties[properties.length - 1], context, typeElements);
51430
51430
  break;
51431
51431
  }
@@ -51540,7 +51540,7 @@ var ts;
51540
51540
  else if (types.length > 2) {
51541
51541
  return [
51542
51542
  typeToTypeNodeHelper(types[0], context),
51543
- ts.factory.createTypeReferenceNode("... " + (types.length - 2) + " more ...", /*typeArguments*/ undefined),
51543
+ ts.factory.createTypeReferenceNode("... ".concat(types.length - 2, " more ..."), /*typeArguments*/ undefined),
51544
51544
  typeToTypeNodeHelper(types[types.length - 1], context)
51545
51545
  ];
51546
51546
  }
@@ -51554,7 +51554,7 @@ var ts;
51554
51554
  var type = types_2[_i];
51555
51555
  i++;
51556
51556
  if (checkTruncationLength(context) && (i + 2 < types.length - 1)) {
51557
- result_5.push(ts.factory.createTypeReferenceNode("... " + (types.length - i) + " more ...", /*typeArguments*/ undefined));
51557
+ result_5.push(ts.factory.createTypeReferenceNode("... ".concat(types.length - i, " more ..."), /*typeArguments*/ undefined));
51558
51558
  var typeNode_1 = typeToTypeNodeHelper(types[types.length - 1], context);
51559
51559
  if (typeNode_1) {
51560
51560
  result_5.push(typeNode_1);
@@ -52062,7 +52062,7 @@ var ts;
52062
52062
  var text = rawtext;
52063
52063
  while (((_b = context.typeParameterNamesByText) === null || _b === void 0 ? void 0 : _b.has(text)) || typeParameterShadowsNameInScope(text, context, type)) {
52064
52064
  i++;
52065
- text = rawtext + "_" + i;
52065
+ text = "".concat(rawtext, "_").concat(i);
52066
52066
  }
52067
52067
  if (text !== rawtext) {
52068
52068
  result = ts.factory.createIdentifier(text, result.typeArguments);
@@ -52388,7 +52388,7 @@ var ts;
52388
52388
  function getNameForJSDocFunctionParameter(p, index) {
52389
52389
  return p.name && ts.isIdentifier(p.name) && p.name.escapedText === "this" ? "this"
52390
52390
  : getEffectiveDotDotDotForParameter(p) ? "args"
52391
- : "arg" + index;
52391
+ : "arg".concat(index);
52392
52392
  }
52393
52393
  function rewriteModuleSpecifier(parent, lit) {
52394
52394
  if (bundled) {
@@ -53473,7 +53473,7 @@ var ts;
53473
53473
  return results_1;
53474
53474
  }
53475
53475
  // The `Constructor`'s symbol isn't in the class's properties lists, obviously, since it's a signature on the static
53476
- return ts.Debug.fail("Unhandled class member kind! " + (p.__debugFlags || p.flags));
53476
+ return ts.Debug.fail("Unhandled class member kind! ".concat(p.__debugFlags || p.flags));
53477
53477
  };
53478
53478
  }
53479
53479
  function serializePropertySymbolForInterface(p, baseType) {
@@ -53548,7 +53548,7 @@ var ts;
53548
53548
  if (ref) {
53549
53549
  return ref;
53550
53550
  }
53551
- var tempName = getUnusedName(rootName + "_base");
53551
+ var tempName = getUnusedName("".concat(rootName, "_base"));
53552
53552
  var statement = ts.factory.createVariableStatement(/*modifiers*/ undefined, ts.factory.createVariableDeclarationList([
53553
53553
  ts.factory.createVariableDeclaration(tempName, /*exclamationToken*/ undefined, typeToTypeNodeHelper(staticType, context))
53554
53554
  ], 2 /* Const */));
@@ -53595,7 +53595,7 @@ var ts;
53595
53595
  var original = input;
53596
53596
  while ((_a = context.usedSymbolNames) === null || _a === void 0 ? void 0 : _a.has(input)) {
53597
53597
  i++;
53598
- input = original + "_" + i;
53598
+ input = "".concat(original, "_").concat(i);
53599
53599
  }
53600
53600
  (_b = context.usedSymbolNames) === null || _b === void 0 ? void 0 : _b.add(input);
53601
53601
  if (id) {
@@ -53703,15 +53703,15 @@ var ts;
53703
53703
  if (nameType.flags & 384 /* StringOrNumberLiteral */) {
53704
53704
  var name = "" + nameType.value;
53705
53705
  if (!ts.isIdentifierText(name, ts.getEmitScriptTarget(compilerOptions)) && !isNumericLiteralName(name)) {
53706
- return "\"" + ts.escapeString(name, 34 /* doubleQuote */) + "\"";
53706
+ return "\"".concat(ts.escapeString(name, 34 /* doubleQuote */), "\"");
53707
53707
  }
53708
53708
  if (isNumericLiteralName(name) && ts.startsWith(name, "-")) {
53709
- return "[" + name + "]";
53709
+ return "[".concat(name, "]");
53710
53710
  }
53711
53711
  return name;
53712
53712
  }
53713
53713
  if (nameType.flags & 8192 /* UniqueESSymbol */) {
53714
- return "[" + getNameOfSymbolAsWritten(nameType.symbol, context) + "]";
53714
+ return "[".concat(getNameOfSymbolAsWritten(nameType.symbol, context), "]");
53715
53715
  }
53716
53716
  }
53717
53717
  }
@@ -56485,7 +56485,7 @@ var ts;
56485
56485
  !leftName ? rightName :
56486
56486
  !rightName ? leftName :
56487
56487
  undefined;
56488
- var paramSymbol = createSymbol(1 /* FunctionScopedVariable */ | (isOptional && !isRestParam ? 16777216 /* Optional */ : 0), paramName || "arg" + i);
56488
+ var paramSymbol = createSymbol(1 /* FunctionScopedVariable */ | (isOptional && !isRestParam ? 16777216 /* Optional */ : 0), paramName || "arg".concat(i));
56489
56489
  paramSymbol.type = isRestParam ? createArrayType(unionParamType) : unionParamType;
56490
56490
  params[i] = paramSymbol;
56491
56491
  }
@@ -58404,7 +58404,7 @@ var ts;
58404
58404
  return result;
58405
58405
  }
58406
58406
  function getAliasId(aliasSymbol, aliasTypeArguments) {
58407
- return aliasSymbol ? "@" + getSymbolId(aliasSymbol) + (aliasTypeArguments ? ":" + getTypeListId(aliasTypeArguments) : "") : "";
58407
+ return aliasSymbol ? "@".concat(getSymbolId(aliasSymbol)) + (aliasTypeArguments ? ":".concat(getTypeListId(aliasTypeArguments)) : "") : "";
58408
58408
  }
58409
58409
  // This function is used to propagate certain flags when creating new object type references and union types.
58410
58410
  // It is only necessary to do so if a constituent type might be the undefined type, the null type, the type
@@ -58590,7 +58590,7 @@ var ts;
58590
58590
  return undefined;
58591
58591
  }
58592
58592
  function getSymbolPath(symbol) {
58593
- return symbol.parent ? getSymbolPath(symbol.parent) + "." + symbol.escapedName : symbol.escapedName;
58593
+ return symbol.parent ? "".concat(getSymbolPath(symbol.parent), ".").concat(symbol.escapedName) : symbol.escapedName;
58594
58594
  }
58595
58595
  function getUnresolvedSymbolForEntityName(name) {
58596
58596
  var identifier = name.kind === 160 /* QualifiedName */ ? name.right :
@@ -58601,7 +58601,7 @@ var ts;
58601
58601
  var parentSymbol = name.kind === 160 /* QualifiedName */ ? getUnresolvedSymbolForEntityName(name.left) :
58602
58602
  name.kind === 205 /* PropertyAccessExpression */ ? getUnresolvedSymbolForEntityName(name.expression) :
58603
58603
  undefined;
58604
- var path = parentSymbol ? getSymbolPath(parentSymbol) + "." + text : text;
58604
+ var path = parentSymbol ? "".concat(getSymbolPath(parentSymbol), ".").concat(text) : text;
58605
58605
  var result = unresolvedSymbols.get(path);
58606
58606
  if (!result) {
58607
58607
  unresolvedSymbols.set(path, result = createSymbol(524288 /* TypeAlias */, text, 1048576 /* Unresolved */));
@@ -58674,7 +58674,7 @@ var ts;
58674
58674
  if (substitute.flags & 3 /* AnyOrUnknown */ || substitute === baseType) {
58675
58675
  return baseType;
58676
58676
  }
58677
- var id = getTypeId(baseType) + ">" + getTypeId(substitute);
58677
+ var id = "".concat(getTypeId(baseType), ">").concat(getTypeId(substitute));
58678
58678
  var cached = substitutionTypes.get(id);
58679
58679
  if (cached) {
58680
58680
  return cached;
@@ -59335,6 +59335,8 @@ var ts;
59335
59335
  // We ignore 'never' types in unions
59336
59336
  if (!(flags & 131072 /* Never */)) {
59337
59337
  includes |= flags & 205258751 /* IncludesMask */;
59338
+ if (flags & 465829888 /* Instantiable */)
59339
+ includes |= 33554432 /* IncludesInstantiable */;
59338
59340
  if (type === wildcardType)
59339
59341
  includes |= 8388608 /* IncludesWildcard */;
59340
59342
  if (!strictNullChecks && flags & 98304 /* Nullable */) {
@@ -59548,7 +59550,7 @@ var ts;
59548
59550
  origin = createOriginUnionOrIntersectionType(1048576 /* Union */, reducedTypes);
59549
59551
  }
59550
59552
  }
59551
- var objectFlags = (includes & 468598819 /* NotPrimitiveUnion */ ? 0 : 65536 /* PrimitiveUnion */) |
59553
+ var objectFlags = (includes & 36323363 /* NotPrimitiveUnion */ ? 0 : 65536 /* PrimitiveUnion */) |
59552
59554
  (includes & 2097152 /* Intersection */ ? 33554432 /* ContainsIntersections */ : 0);
59553
59555
  return getUnionTypeFromSortedList(typeSet, objectFlags, aliasSymbol, aliasTypeArguments, origin);
59554
59556
  }
@@ -59596,9 +59598,9 @@ var ts;
59596
59598
  return types[0];
59597
59599
  }
59598
59600
  var typeKey = !origin ? getTypeListId(types) :
59599
- origin.flags & 1048576 /* Union */ ? "|" + getTypeListId(origin.types) :
59600
- origin.flags & 2097152 /* Intersection */ ? "&" + getTypeListId(origin.types) :
59601
- "#" + origin.type.id + "|" + getTypeListId(types); // origin type id alone is insufficient, as `keyof x` may resolve to multiple WIP values while `x` is still resolving
59601
+ origin.flags & 1048576 /* Union */ ? "|".concat(getTypeListId(origin.types)) :
59602
+ origin.flags & 2097152 /* Intersection */ ? "&".concat(getTypeListId(origin.types)) :
59603
+ "#".concat(origin.type.id, "|").concat(getTypeListId(types)); // origin type id alone is insufficient, as `keyof x` may resolve to multiple WIP values while `x` is still resolving
59602
59604
  var id = typeKey + getAliasId(aliasSymbol, aliasTypeArguments);
59603
59605
  var type = unionTypes.get(id);
59604
59606
  if (!type) {
@@ -60120,7 +60122,7 @@ var ts;
60120
60122
  if (ts.every(newTexts, function (t) { return t === ""; }) && ts.every(newTypes, function (t) { return !!(t.flags & 4 /* String */); })) {
60121
60123
  return stringType;
60122
60124
  }
60123
- var id = getTypeListId(newTypes) + "|" + ts.map(newTexts, function (t) { return t.length; }).join(",") + "|" + newTexts.join("");
60125
+ var id = "".concat(getTypeListId(newTypes), "|").concat(ts.map(newTexts, function (t) { return t.length; }).join(","), "|").concat(newTexts.join(""));
60124
60126
  var type = templateLiteralTypes.get(id);
60125
60127
  if (!type) {
60126
60128
  templateLiteralTypes.set(id, type = createTemplateLiteralType(newTexts, newTypes));
@@ -60180,7 +60182,7 @@ var ts;
60180
60182
  return str;
60181
60183
  }
60182
60184
  function getStringMappingTypeForGenericType(symbol, type) {
60183
- var id = getSymbolId(symbol) + "," + getTypeId(type);
60185
+ var id = "".concat(getSymbolId(symbol), ",").concat(getTypeId(type));
60184
60186
  var result = stringMappingTypes.get(id);
60185
60187
  if (!result) {
60186
60188
  stringMappingTypes.set(id, result = createStringMappingType(symbol, type));
@@ -61200,7 +61202,7 @@ var ts;
61200
61202
  function createUniqueESSymbolType(symbol) {
61201
61203
  var type = createType(8192 /* UniqueESSymbol */);
61202
61204
  type.symbol = symbol;
61203
- type.escapedName = "__@" + type.symbol.escapedName + "@" + getSymbolId(type.symbol);
61205
+ type.escapedName = "__@".concat(type.symbol.escapedName, "@").concat(getSymbolId(type.symbol));
61204
61206
  return type;
61205
61207
  }
61206
61208
  function getESSymbolLikeTypeForNode(node) {
@@ -62889,24 +62891,24 @@ var ts;
62889
62891
  case ts.Diagnostics.Types_of_property_0_are_incompatible.code: {
62890
62892
  // Parenthesize a `new` if there is one
62891
62893
  if (path.indexOf("new ") === 0) {
62892
- path = "(" + path + ")";
62894
+ path = "(".concat(path, ")");
62893
62895
  }
62894
62896
  var str = "" + args[0];
62895
62897
  // If leading, just print back the arg (irrespective of if it's a valid identifier)
62896
62898
  if (path.length === 0) {
62897
- path = "" + str;
62899
+ path = "".concat(str);
62898
62900
  }
62899
62901
  // Otherwise write a dotted name if possible
62900
62902
  else if (ts.isIdentifierText(str, ts.getEmitScriptTarget(compilerOptions))) {
62901
- path = path + "." + str;
62903
+ path = "".concat(path, ".").concat(str);
62902
62904
  }
62903
62905
  // Failing that, check if the name is already a computed name
62904
62906
  else if (str[0] === "[" && str[str.length - 1] === "]") {
62905
- path = "" + path + str;
62907
+ path = "".concat(path).concat(str);
62906
62908
  }
62907
62909
  // And finally write out a computed name as a last resort
62908
62910
  else {
62909
- path = path + "[" + str + "]";
62911
+ path = "".concat(path, "[").concat(str, "]");
62910
62912
  }
62911
62913
  break;
62912
62914
  }
@@ -62935,7 +62937,7 @@ var ts;
62935
62937
  msg.code === ts.Diagnostics.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code)
62936
62938
  ? ""
62937
62939
  : "...";
62938
- path = "" + prefix + path + "(" + params + ")";
62940
+ path = "".concat(prefix).concat(path, "(").concat(params, ")");
62939
62941
  }
62940
62942
  break;
62941
62943
  }
@@ -62948,7 +62950,7 @@ var ts;
62948
62950
  break;
62949
62951
  }
62950
62952
  default:
62951
- return ts.Debug.fail("Unhandled Diagnostic: " + msg.code);
62953
+ return ts.Debug.fail("Unhandled Diagnostic: ".concat(msg.code));
62952
62954
  }
62953
62955
  }
62954
62956
  if (path) {
@@ -63624,7 +63626,7 @@ var ts;
63624
63626
  // prevent finding matches- but it should hit up the common cases
63625
63627
  var broadestEquivalentId = id.split(",").map(function (i) { return i.replace(/-\d+/g, function (_match, offset) {
63626
63628
  var index = ts.length(id.slice(0, offset).match(/[-=]/g) || undefined);
63627
- return "=" + index;
63629
+ return "=".concat(index);
63628
63630
  }); }).join(",");
63629
63631
  for (var i = 0; i < maybeCount; i++) {
63630
63632
  // If source and target are already being compared, consider them related with assumptions
@@ -63923,7 +63925,7 @@ var ts;
63923
63925
  originalErrorInfo = undefined;
63924
63926
  }
63925
63927
  }
63926
- else if (isGenericMappedType(target)) {
63928
+ else if (isGenericMappedType(target) && relation !== identityRelation) {
63927
63929
  // Check if source type `S` is related to target type `{ [P in Q]: T }` or `{ [P in Q as R]: T}`.
63928
63930
  var keysRemapped = !!target.declaration.nameType;
63929
63931
  var templateType = getTemplateTypeFromMappedType(target);
@@ -65984,7 +65986,8 @@ var ts;
65984
65986
  (resolveName(param, param.name.escapedText, 788968 /* Type */, undefined, param.name.escapedText, /*isUse*/ true) ||
65985
65987
  param.name.originalKeywordKind && ts.isTypeNodeKind(param.name.originalKeywordKind))) {
65986
65988
  var newName = "arg" + param.parent.parameters.indexOf(param);
65987
- errorOrSuggestion(noImplicitAny, declaration, ts.Diagnostics.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1, newName, ts.declarationNameToString(param.name));
65989
+ var typeName = ts.declarationNameToString(param.name) + (param.dotDotDotToken ? "[]" : "");
65990
+ errorOrSuggestion(noImplicitAny, declaration, ts.Diagnostics.Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1, newName, typeName);
65988
65991
  return;
65989
65992
  }
65990
65993
  diagnostic = declaration.dotDotDotToken ?
@@ -67287,11 +67290,11 @@ var ts;
67287
67290
  case 79 /* Identifier */:
67288
67291
  if (!ts.isThisInTypeQuery(node)) {
67289
67292
  var symbol = getResolvedSymbol(node);
67290
- return symbol !== unknownSymbol ? (flowContainer ? getNodeId(flowContainer) : "-1") + "|" + getTypeId(declaredType) + "|" + getTypeId(initialType) + "|" + getSymbolId(symbol) : undefined;
67293
+ return symbol !== unknownSymbol ? "".concat(flowContainer ? getNodeId(flowContainer) : "-1", "|").concat(getTypeId(declaredType), "|").concat(getTypeId(initialType), "|").concat(getSymbolId(symbol)) : undefined;
67291
67294
  }
67292
67295
  // falls through
67293
67296
  case 108 /* ThisKeyword */:
67294
- return "0|" + (flowContainer ? getNodeId(flowContainer) : "-1") + "|" + getTypeId(declaredType) + "|" + getTypeId(initialType);
67297
+ return "0|".concat(flowContainer ? getNodeId(flowContainer) : "-1", "|").concat(getTypeId(declaredType), "|").concat(getTypeId(initialType));
67295
67298
  case 229 /* NonNullExpression */:
67296
67299
  case 211 /* ParenthesizedExpression */:
67297
67300
  return getFlowCacheKey(node.expression, declaredType, initialType, flowContainer);
@@ -71053,7 +71056,7 @@ var ts;
71053
71056
  !leftName ? rightName :
71054
71057
  !rightName ? leftName :
71055
71058
  undefined;
71056
- var paramSymbol = createSymbol(1 /* FunctionScopedVariable */ | (isOptional && !isRestParam ? 16777216 /* Optional */ : 0), paramName || "arg" + i);
71059
+ var paramSymbol = createSymbol(1 /* FunctionScopedVariable */ | (isOptional && !isRestParam ? 16777216 /* Optional */ : 0), paramName || "arg".concat(i));
71057
71060
  paramSymbol.type = isRestParam ? createArrayType(unionParamType) : unionParamType;
71058
71061
  params[i] = paramSymbol;
71059
71062
  }
@@ -78357,7 +78360,9 @@ var ts;
78357
78360
  var typeReferenceNode = ts.tryCast(node.parent, ts.isTypeReferenceType);
78358
78361
  if (!typeReferenceNode)
78359
78362
  return undefined;
78360
- var typeParameters = getTypeParametersForTypeReference(typeReferenceNode); // TODO: GH#18217
78363
+ var typeParameters = getTypeParametersForTypeReference(typeReferenceNode);
78364
+ if (!typeParameters)
78365
+ return undefined;
78361
78366
  var constraint = getConstraintOfTypeParameter(typeParameters[typeReferenceNode.typeArguments.indexOf(node)]);
78362
78367
  return constraint && instantiateType(constraint, createTypeMapper(typeParameters, getEffectiveTypeArguments(typeReferenceNode, typeParameters)));
78363
78368
  }
@@ -80964,7 +80969,7 @@ var ts;
80964
80969
  function getPropertyNameForKnownSymbolName(symbolName) {
80965
80970
  var ctorType = getGlobalESSymbolConstructorSymbol(/*reportErrors*/ false);
80966
80971
  var uniqueType = ctorType && getTypeOfPropertyOfType(getTypeOfSymbol(ctorType), ts.escapeLeadingUnderscores(symbolName));
80967
- return uniqueType && isTypeUsableAsPropertyName(uniqueType) ? getPropertyNameFromType(uniqueType) : "__@" + symbolName;
80972
+ return uniqueType && isTypeUsableAsPropertyName(uniqueType) ? getPropertyNameFromType(uniqueType) : "__@".concat(symbolName);
80968
80973
  }
80969
80974
  /**
80970
80975
  * Gets the *yield*, *return*, and *next* types of an `Iterable`-like or `AsyncIterable`-like
@@ -87936,7 +87941,7 @@ var ts;
87936
87941
  value >= 52 && value < 62 ? 48 /* _0 */ + value - 52 :
87937
87942
  value === 62 ? 43 /* plus */ :
87938
87943
  value === 63 ? 47 /* slash */ :
87939
- ts.Debug.fail(value + ": not a base64 value");
87944
+ ts.Debug.fail("".concat(value, ": not a base64 value"));
87940
87945
  }
87941
87946
  function base64FormatDecode(ch) {
87942
87947
  return ch >= 65 /* A */ && ch <= 90 /* Z */ ? ch - 65 /* A */ :
@@ -88011,7 +88016,7 @@ var ts;
88011
88016
  var mappings = ts.arrayFrom(decoder, processMapping);
88012
88017
  if (decoder.error !== undefined) {
88013
88018
  if (host.log) {
88014
- host.log("Encountered error while decoding sourcemap: " + decoder.error);
88019
+ host.log("Encountered error while decoding sourcemap: ".concat(decoder.error));
88015
88020
  }
88016
88021
  decodedMappings = ts.emptyArray;
88017
88022
  }
@@ -91677,7 +91682,7 @@ var ts;
91677
91682
  var propertyName = ts.isPropertyAccessExpression(originalNode)
91678
91683
  ? ts.declarationNameToString(originalNode.name)
91679
91684
  : ts.getTextOfNode(originalNode.argumentExpression);
91680
- ts.addSyntheticTrailingComment(substitute, 3 /* MultiLineCommentTrivia */, " " + propertyName + " ");
91685
+ ts.addSyntheticTrailingComment(substitute, 3 /* MultiLineCommentTrivia */, " ".concat(propertyName, " "));
91681
91686
  }
91682
91687
  return substitute;
91683
91688
  }
@@ -93069,8 +93074,8 @@ var ts;
93069
93074
  }
93070
93075
  function createHoistedVariableForClass(name, node) {
93071
93076
  var className = getPrivateIdentifierEnvironment().className;
93072
- var prefix = className ? "_" + className : "";
93073
- var identifier = factory.createUniqueName(prefix + "_" + name, 16 /* Optimistic */);
93077
+ var prefix = className ? "_".concat(className) : "";
93078
+ var identifier = factory.createUniqueName("".concat(prefix, "_").concat(name), 16 /* Optimistic */);
93074
93079
  if (resolver.getNodeCheckFlags(node) & 524288 /* BlockScopedBindingInLoop */) {
93075
93080
  addBlockScopedVariable(identifier);
93076
93081
  }
@@ -94968,7 +94973,7 @@ var ts;
94968
94973
  specifierSourceImports = ts.createMap();
94969
94974
  currentFileState.utilizedImplicitRuntimeImports.set(importSource, specifierSourceImports);
94970
94975
  }
94971
- var generatedName = factory.createUniqueName("_" + name, 16 /* Optimistic */ | 32 /* FileLevel */ | 64 /* AllowNameSubstitution */);
94976
+ var generatedName = factory.createUniqueName("_".concat(name), 16 /* Optimistic */ | 32 /* FileLevel */ | 64 /* AllowNameSubstitution */);
94972
94977
  var specifier = factory.createImportSpecifier(/*isTypeOnly*/ false, factory.createIdentifier(name), generatedName);
94973
94978
  generatedName.generatedImportReference = specifier;
94974
94979
  specifierSourceImports.set(name, specifier);
@@ -96107,11 +96112,11 @@ var ts;
96107
96112
  }
96108
96113
  else {
96109
96114
  if (node.kind === 245 /* BreakStatement */) {
96110
- labelMarker = "break-" + label.escapedText;
96115
+ labelMarker = "break-".concat(label.escapedText);
96111
96116
  setLabeledJump(convertedLoopState, /*isBreak*/ true, ts.idText(label), labelMarker);
96112
96117
  }
96113
96118
  else {
96114
- labelMarker = "continue-" + label.escapedText;
96119
+ labelMarker = "continue-".concat(label.escapedText);
96115
96120
  setLabeledJump(convertedLoopState, /*isBreak*/ false, ts.idText(label), labelMarker);
96116
96121
  }
96117
96122
  }
@@ -104920,7 +104925,7 @@ var ts;
104920
104925
  return getTypeAliasDeclarationVisibilityError;
104921
104926
  }
104922
104927
  else {
104923
- return ts.Debug.assertNever(node, "Attempted to set a declaration diagnostic context for unhandled node kind: " + ts.SyntaxKind[node.kind]);
104928
+ return ts.Debug.assertNever(node, "Attempted to set a declaration diagnostic context for unhandled node kind: ".concat(ts.SyntaxKind[node.kind]));
104924
104929
  }
104925
104930
  function getVariableDeclarationTypeVisibilityDiagnosticMessage(symbolAccessibilityResult) {
104926
104931
  if (node.kind === 253 /* VariableDeclaration */ || node.kind === 202 /* BindingElement */) {
@@ -105131,7 +105136,7 @@ var ts;
105131
105136
  ts.Diagnostics.Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2 :
105132
105137
  ts.Diagnostics.Parameter_0_of_accessor_has_or_is_using_private_name_1;
105133
105138
  default:
105134
- return ts.Debug.fail("Unknown parent for parameter: " + ts.SyntaxKind[node.parent.kind]);
105139
+ return ts.Debug.fail("Unknown parent for parameter: ".concat(ts.SyntaxKind[node.parent.kind]));
105135
105140
  }
105136
105141
  }
105137
105142
  function getTypeParameterConstraintVisibilityError() {
@@ -105889,7 +105894,7 @@ var ts;
105889
105894
  while (ts.length(lateMarkedStatements)) {
105890
105895
  var i = lateMarkedStatements.shift();
105891
105896
  if (!ts.isLateVisibilityPaintedStatement(i)) {
105892
- return ts.Debug.fail("Late replaced statement was found which is not handled by the declaration transformer!: " + (ts.SyntaxKind ? ts.SyntaxKind[i.kind] : i.kind));
105897
+ return ts.Debug.fail("Late replaced statement was found which is not handled by the declaration transformer!: ".concat(ts.SyntaxKind ? ts.SyntaxKind[i.kind] : i.kind));
105893
105898
  }
105894
105899
  var priorNeedsDeclare = needsDeclare;
105895
105900
  needsDeclare = i.parent && ts.isSourceFile(i.parent) && !(ts.isExternalModule(i.parent) && isBundledEmit);
@@ -106078,7 +106083,7 @@ var ts;
106078
106083
  return cleanup(input);
106079
106084
  return cleanup(factory.updateImportTypeNode(input, factory.updateLiteralTypeNode(input.argument, rewriteModuleSpecifier(input, input.argument.literal)), input.qualifier, ts.visitNodes(input.typeArguments, visitDeclarationSubtree, ts.isTypeNode), input.isTypeOf));
106080
106085
  }
106081
- default: ts.Debug.assertNever(input, "Attempted to process unhandled node kind: " + ts.SyntaxKind[input.kind]);
106086
+ default: ts.Debug.assertNever(input, "Attempted to process unhandled node kind: ".concat(ts.SyntaxKind[input.kind]));
106082
106087
  }
106083
106088
  }
106084
106089
  if (ts.isTupleTypeNode(input) && (ts.getLineAndCharacterOfPosition(currentSourceFile, input.pos).line === ts.getLineAndCharacterOfPosition(currentSourceFile, input.end).line)) {
@@ -106369,7 +106374,7 @@ var ts;
106369
106374
  if (extendsClause_1 && !ts.isEntityNameExpression(extendsClause_1.expression) && extendsClause_1.expression.kind !== 104 /* NullKeyword */) {
106370
106375
  // We must add a temporary declaration for the extends clause expression
106371
106376
  var oldId = input.name ? ts.unescapeLeadingUnderscores(input.name.escapedText) : "default";
106372
- var newId_1 = factory.createUniqueName(oldId + "_base", 16 /* Optimistic */);
106377
+ var newId_1 = factory.createUniqueName("".concat(oldId, "_base"), 16 /* Optimistic */);
106373
106378
  getSymbolAccessibilityDiagnostic = function () { return ({
106374
106379
  diagnosticMessage: ts.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1,
106375
106380
  errorNode: extendsClause_1,
@@ -106410,7 +106415,7 @@ var ts;
106410
106415
  }
106411
106416
  }
106412
106417
  // Anything left unhandled is an error, so this should be unreachable
106413
- return ts.Debug.assertNever(input, "Unhandled top-level node in declaration emit: " + ts.SyntaxKind[input.kind]);
106418
+ return ts.Debug.assertNever(input, "Unhandled top-level node in declaration emit: ".concat(ts.SyntaxKind[input.kind]));
106414
106419
  function cleanup(node) {
106415
106420
  if (isEnclosingDeclaration(input)) {
106416
106421
  enclosingDeclaration = previousEnclosingDeclaration;
@@ -107302,13 +107307,13 @@ var ts;
107302
107307
  if (ts.fileExtensionIs(inputFileName, ".json" /* Json */))
107303
107308
  return;
107304
107309
  if (js && configFile.options.sourceMap) {
107305
- addOutput(js + ".map");
107310
+ addOutput("".concat(js, ".map"));
107306
107311
  }
107307
107312
  if (ts.getEmitDeclarations(configFile.options)) {
107308
107313
  var dts = getOutputDeclarationFileName(inputFileName, configFile, ignoreCase, getCommonSourceDirectory);
107309
107314
  addOutput(dts);
107310
107315
  if (configFile.options.declarationMap) {
107311
- addOutput(dts + ".map");
107316
+ addOutput("".concat(dts, ".map"));
107312
107317
  }
107313
107318
  }
107314
107319
  }
@@ -107377,7 +107382,7 @@ var ts;
107377
107382
  function getFirstProjectOutput(configFile, ignoreCase) {
107378
107383
  if (ts.outFile(configFile.options)) {
107379
107384
  var jsFilePath = getOutputPathsForBundle(configFile.options, /*forceDtsPaths*/ false).jsFilePath;
107380
- return ts.Debug.checkDefined(jsFilePath, "project " + configFile.options.configFilePath + " expected to have at least one output");
107385
+ return ts.Debug.checkDefined(jsFilePath, "project ".concat(configFile.options.configFilePath, " expected to have at least one output"));
107381
107386
  }
107382
107387
  var getCommonSourceDirectory = ts.memoize(function () { return getCommonSourceDirectoryOfConfig(configFile, ignoreCase); });
107383
107388
  for (var _a = 0, _b = configFile.fileNames; _a < _b.length; _a++) {
@@ -107396,7 +107401,7 @@ var ts;
107396
107401
  var buildInfoPath = getTsBuildInfoEmitOutputFilePath(configFile.options);
107397
107402
  if (buildInfoPath)
107398
107403
  return buildInfoPath;
107399
- return ts.Debug.fail("project " + configFile.options.configFilePath + " expected to have at least one output");
107404
+ return ts.Debug.fail("project ".concat(configFile.options.configFilePath, " expected to have at least one output"));
107400
107405
  }
107401
107406
  ts.getFirstProjectOutput = getFirstProjectOutput;
107402
107407
  /*@internal*/
@@ -107622,7 +107627,7 @@ var ts;
107622
107627
  if (sourceMappingURL) {
107623
107628
  if (!writer.isAtStartOfLine())
107624
107629
  writer.rawWrite(newLine);
107625
- writer.writeComment("//# " + "sourceMappingURL" + "=" + sourceMappingURL); // Tools can sometimes see this line as a source mapping url comment
107630
+ writer.writeComment("//# ".concat("sourceMappingURL", "=").concat(sourceMappingURL)); // Tools can sometimes see this line as a source mapping url comment
107626
107631
  }
107627
107632
  // Write the source map
107628
107633
  if (sourceMapFilePath) {
@@ -107671,7 +107676,7 @@ var ts;
107671
107676
  // Encode the sourceMap into the sourceMap url
107672
107677
  var sourceMapText = sourceMapGenerator.toString();
107673
107678
  var base64SourceMapText = ts.base64encode(ts.sys, sourceMapText);
107674
- return "data:application/json;base64," + base64SourceMapText;
107679
+ return "data:application/json;base64,".concat(base64SourceMapText);
107675
107680
  }
107676
107681
  var sourceMapFile = ts.getBaseFileName(ts.normalizeSlashes(ts.Debug.checkDefined(sourceMapFilePath)));
107677
107682
  if (mapOptions.mapRoot) {
@@ -107851,7 +107856,7 @@ var ts;
107851
107856
  return;
107852
107857
  break;
107853
107858
  default:
107854
- ts.Debug.fail("Unexpected path: " + name);
107859
+ ts.Debug.fail("Unexpected path: ".concat(name));
107855
107860
  }
107856
107861
  outputFiles.push({ name: name, text: text, writeByteOrderMark: writeByteOrderMark });
107857
107862
  },
@@ -108711,7 +108716,7 @@ var ts;
108711
108716
  return writeTokenNode(node, writeKeyword);
108712
108717
  if (ts.isTokenKind(node.kind))
108713
108718
  return writeTokenNode(node, writePunctuation);
108714
- ts.Debug.fail("Unhandled SyntaxKind: " + ts.Debug.formatSyntaxKind(node.kind) + ".");
108719
+ ts.Debug.fail("Unhandled SyntaxKind: ".concat(ts.Debug.formatSyntaxKind(node.kind), "."));
108715
108720
  }
108716
108721
  function emitMappedTypeParameter(node) {
108717
108722
  emit(node.name);
@@ -108881,13 +108886,13 @@ var ts;
108881
108886
  }
108882
108887
  }
108883
108888
  function emitPlaceholder(hint, node, snippet) {
108884
- nonEscapingWrite("${" + snippet.order + ":"); // `${2:`
108889
+ nonEscapingWrite("${".concat(snippet.order, ":")); // `${2:`
108885
108890
  pipelineEmitWithHintWorker(hint, node, /*allowSnippets*/ false); // `...`
108886
108891
  nonEscapingWrite("}"); // `}`
108887
108892
  // `${2:...}`
108888
108893
  }
108889
108894
  function emitTabStop(snippet) {
108890
- nonEscapingWrite("$" + snippet.order);
108895
+ nonEscapingWrite("$".concat(snippet.order));
108891
108896
  }
108892
108897
  //
108893
108898
  // Identifiers
@@ -110609,17 +110614,17 @@ var ts;
110609
110614
  writeLine();
110610
110615
  }
110611
110616
  if (currentSourceFile && currentSourceFile.moduleName) {
110612
- writeComment("/// <amd-module name=\"" + currentSourceFile.moduleName + "\" />");
110617
+ writeComment("/// <amd-module name=\"".concat(currentSourceFile.moduleName, "\" />"));
110613
110618
  writeLine();
110614
110619
  }
110615
110620
  if (currentSourceFile && currentSourceFile.amdDependencies) {
110616
110621
  for (var _a = 0, _b = currentSourceFile.amdDependencies; _a < _b.length; _a++) {
110617
110622
  var dep = _b[_a];
110618
110623
  if (dep.name) {
110619
- writeComment("/// <amd-dependency name=\"" + dep.name + "\" path=\"" + dep.path + "\" />");
110624
+ writeComment("/// <amd-dependency name=\"".concat(dep.name, "\" path=\"").concat(dep.path, "\" />"));
110620
110625
  }
110621
110626
  else {
110622
- writeComment("/// <amd-dependency path=\"" + dep.path + "\" />");
110627
+ writeComment("/// <amd-dependency path=\"".concat(dep.path, "\" />"));
110623
110628
  }
110624
110629
  writeLine();
110625
110630
  }
@@ -110627,7 +110632,7 @@ var ts;
110627
110632
  for (var _c = 0, files_2 = files; _c < files_2.length; _c++) {
110628
110633
  var directive = files_2[_c];
110629
110634
  var pos = writer.getTextPos();
110630
- writeComment("/// <reference path=\"" + directive.fileName + "\" />");
110635
+ writeComment("/// <reference path=\"".concat(directive.fileName, "\" />"));
110631
110636
  if (bundleFileInfo)
110632
110637
  bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: "reference" /* Reference */, data: directive.fileName });
110633
110638
  writeLine();
@@ -110635,7 +110640,7 @@ var ts;
110635
110640
  for (var _d = 0, types_24 = types; _d < types_24.length; _d++) {
110636
110641
  var directive = types_24[_d];
110637
110642
  var pos = writer.getTextPos();
110638
- writeComment("/// <reference types=\"" + directive.fileName + "\" />");
110643
+ writeComment("/// <reference types=\"".concat(directive.fileName, "\" />"));
110639
110644
  if (bundleFileInfo)
110640
110645
  bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: "type" /* Type */, data: directive.fileName });
110641
110646
  writeLine();
@@ -110643,7 +110648,7 @@ var ts;
110643
110648
  for (var _e = 0, libs_1 = libs; _e < libs_1.length; _e++) {
110644
110649
  var directive = libs_1[_e];
110645
110650
  var pos = writer.getTextPos();
110646
- writeComment("/// <reference lib=\"" + directive.fileName + "\" />");
110651
+ writeComment("/// <reference lib=\"".concat(directive.fileName, "\" />"));
110647
110652
  if (bundleFileInfo)
110648
110653
  bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: "lib" /* Lib */, data: directive.fileName });
110649
110654
  writeLine();
@@ -111418,9 +111423,9 @@ var ts;
111418
111423
  var textSourceNode = node.textSourceNode;
111419
111424
  if (ts.isIdentifier(textSourceNode) || ts.isNumericLiteral(textSourceNode)) {
111420
111425
  var text = ts.isNumericLiteral(textSourceNode) ? textSourceNode.text : getTextOfNode(textSourceNode);
111421
- return jsxAttributeEscape ? "\"" + ts.escapeJsxAttributeString(text) + "\"" :
111422
- neverAsciiEscape || (ts.getEmitFlags(node) & 16777216 /* NoAsciiEscaping */) ? "\"" + ts.escapeString(text) + "\"" :
111423
- "\"" + ts.escapeNonAsciiString(text) + "\"";
111426
+ return jsxAttributeEscape ? "\"".concat(ts.escapeJsxAttributeString(text), "\"") :
111427
+ neverAsciiEscape || (ts.getEmitFlags(node) & 16777216 /* NoAsciiEscaping */) ? "\"".concat(ts.escapeString(text), "\"") :
111428
+ "\"".concat(ts.escapeNonAsciiString(text), "\"");
111424
111429
  }
111425
111430
  else {
111426
111431
  return getLiteralTextOfNode(textSourceNode, neverAsciiEscape, jsxAttributeEscape);
@@ -111897,8 +111902,8 @@ var ts;
111897
111902
  }
111898
111903
  function formatSynthesizedComment(comment) {
111899
111904
  return comment.kind === 3 /* MultiLineCommentTrivia */
111900
- ? "/*" + comment.text + "*/"
111901
- : "//" + comment.text;
111905
+ ? "/*".concat(comment.text, "*/")
111906
+ : "//".concat(comment.text);
111902
111907
  }
111903
111908
  function emitBodyWithDetachedComments(node, detachedRange, emitCallback) {
111904
111909
  enterComment();
@@ -112406,7 +112411,7 @@ var ts;
112406
112411
  var rootResult = tryReadDirectory(rootDir, rootDirPath);
112407
112412
  var rootSymLinkResult;
112408
112413
  if (rootResult !== undefined) {
112409
- return ts.matchFiles(rootDir, extensions, excludes, includes, useCaseSensitiveFileNames, currentDirectory, depth, getFileSystemEntries, realpath, directoryExists);
112414
+ return ts.matchFiles(rootDir, extensions, excludes, includes, useCaseSensitiveFileNames, currentDirectory, depth, getFileSystemEntries, realpath);
112410
112415
  }
112411
112416
  return host.readDirectory(rootDir, extensions, excludes, includes, depth);
112412
112417
  function getFileSystemEntries(dir) {
@@ -112619,7 +112624,7 @@ var ts;
112619
112624
  var watchedDirPath = _a.watchedDirPath, fileOrDirectory = _a.fileOrDirectory, fileOrDirectoryPath = _a.fileOrDirectoryPath, configFileName = _a.configFileName, options = _a.options, program = _a.program, extraFileExtensions = _a.extraFileExtensions, currentDirectory = _a.currentDirectory, useCaseSensitiveFileNames = _a.useCaseSensitiveFileNames, writeLog = _a.writeLog, toPath = _a.toPath;
112620
112625
  var newPath = ts.removeIgnoredPath(fileOrDirectoryPath);
112621
112626
  if (!newPath) {
112622
- writeLog("Project: " + configFileName + " Detected ignored path: " + fileOrDirectory);
112627
+ writeLog("Project: ".concat(configFileName, " Detected ignored path: ").concat(fileOrDirectory));
112623
112628
  return true;
112624
112629
  }
112625
112630
  fileOrDirectoryPath = newPath;
@@ -112628,11 +112633,11 @@ var ts;
112628
112633
  // If the the added or created file or directory is not supported file name, ignore the file
112629
112634
  // But when watched directory is added/removed, we need to reload the file list
112630
112635
  if (ts.hasExtension(fileOrDirectoryPath) && !ts.isSupportedSourceFileName(fileOrDirectory, options, extraFileExtensions)) {
112631
- writeLog("Project: " + configFileName + " Detected file add/remove of non supported extension: " + fileOrDirectory);
112636
+ writeLog("Project: ".concat(configFileName, " Detected file add/remove of non supported extension: ").concat(fileOrDirectory));
112632
112637
  return true;
112633
112638
  }
112634
112639
  if (ts.isExcludedFile(fileOrDirectory, options.configFile.configFileSpecs, ts.getNormalizedAbsolutePath(ts.getDirectoryPath(configFileName), currentDirectory), useCaseSensitiveFileNames, currentDirectory)) {
112635
- writeLog("Project: " + configFileName + " Detected excluded file: " + fileOrDirectory);
112640
+ writeLog("Project: ".concat(configFileName, " Detected excluded file: ").concat(fileOrDirectory));
112636
112641
  return true;
112637
112642
  }
112638
112643
  if (!program)
@@ -112656,7 +112661,7 @@ var ts;
112656
112661
  var builderProgram = !realProgram && !ts.isArray(program) ? program : undefined;
112657
112662
  if (hasSourceFile((filePathWithoutExtension + ".ts" /* Ts */)) ||
112658
112663
  hasSourceFile((filePathWithoutExtension + ".tsx" /* Tsx */))) {
112659
- writeLog("Project: " + configFileName + " Detected output file: " + fileOrDirectory);
112664
+ writeLog("Project: ".concat(configFileName, " Detected output file: ").concat(fileOrDirectory));
112660
112665
  return true;
112661
112666
  }
112662
112667
  return false;
@@ -112724,36 +112729,36 @@ var ts;
112724
112729
  host.useCaseSensitiveFileNames();
112725
112730
  }
112726
112731
  function createExcludeWatcherWithLogging(file, flags, options, detailInfo1, detailInfo2) {
112727
- log("ExcludeWatcher:: Added:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo));
112732
+ log("ExcludeWatcher:: Added:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)));
112728
112733
  return {
112729
- close: function () { return log("ExcludeWatcher:: Close:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)); }
112734
+ close: function () { return log("ExcludeWatcher:: Close:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo))); }
112730
112735
  };
112731
112736
  }
112732
112737
  function createFileWatcherWithLogging(file, cb, flags, options, detailInfo1, detailInfo2) {
112733
- log("FileWatcher:: Added:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo));
112738
+ log("FileWatcher:: Added:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)));
112734
112739
  var watcher = triggerInvokingFactory.watchFile(file, cb, flags, options, detailInfo1, detailInfo2);
112735
112740
  return {
112736
112741
  close: function () {
112737
- log("FileWatcher:: Close:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo));
112742
+ log("FileWatcher:: Close:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)));
112738
112743
  watcher.close();
112739
112744
  }
112740
112745
  };
112741
112746
  }
112742
112747
  function createDirectoryWatcherWithLogging(file, cb, flags, options, detailInfo1, detailInfo2) {
112743
- var watchInfo = "DirectoryWatcher:: Added:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo);
112748
+ var watchInfo = "DirectoryWatcher:: Added:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo));
112744
112749
  log(watchInfo);
112745
112750
  var start = ts.timestamp();
112746
112751
  var watcher = triggerInvokingFactory.watchDirectory(file, cb, flags, options, detailInfo1, detailInfo2);
112747
112752
  var elapsed = ts.timestamp() - start;
112748
- log("Elapsed:: " + elapsed + "ms " + watchInfo);
112753
+ log("Elapsed:: ".concat(elapsed, "ms ").concat(watchInfo));
112749
112754
  return {
112750
112755
  close: function () {
112751
- var watchInfo = "DirectoryWatcher:: Close:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo);
112756
+ var watchInfo = "DirectoryWatcher:: Close:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo));
112752
112757
  log(watchInfo);
112753
112758
  var start = ts.timestamp();
112754
112759
  watcher.close();
112755
112760
  var elapsed = ts.timestamp() - start;
112756
- log("Elapsed:: " + elapsed + "ms " + watchInfo);
112761
+ log("Elapsed:: ".concat(elapsed, "ms ").concat(watchInfo));
112757
112762
  }
112758
112763
  };
112759
112764
  }
@@ -112763,16 +112768,16 @@ var ts;
112763
112768
  for (var _i = 0; _i < arguments.length; _i++) {
112764
112769
  args[_i] = arguments[_i];
112765
112770
  }
112766
- var triggerredInfo = (key === "watchFile" ? "FileWatcher" : "DirectoryWatcher") + ":: Triggered with " + args[0] + " " + (args[1] !== undefined ? args[1] : "") + ":: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo);
112771
+ var triggerredInfo = "".concat(key === "watchFile" ? "FileWatcher" : "DirectoryWatcher", ":: Triggered with ").concat(args[0], " ").concat(args[1] !== undefined ? args[1] : "", ":: ").concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo));
112767
112772
  log(triggerredInfo);
112768
112773
  var start = ts.timestamp();
112769
112774
  cb.call.apply(cb, __spreadArray([/*thisArg*/ undefined], args, false));
112770
112775
  var elapsed = ts.timestamp() - start;
112771
- log("Elapsed:: " + elapsed + "ms " + triggerredInfo);
112776
+ log("Elapsed:: ".concat(elapsed, "ms ").concat(triggerredInfo));
112772
112777
  }, flags, options, detailInfo1, detailInfo2); };
112773
112778
  }
112774
112779
  function getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo) {
112775
- return "WatchInfo: " + file + " " + flags + " " + JSON.stringify(options) + " " + (getDetailWatchInfo ? getDetailWatchInfo(detailInfo1, detailInfo2) : detailInfo2 === undefined ? detailInfo1 : detailInfo1 + " " + detailInfo2);
112780
+ return "WatchInfo: ".concat(file, " ").concat(flags, " ").concat(JSON.stringify(options), " ").concat(getDetailWatchInfo ? getDetailWatchInfo(detailInfo1, detailInfo2) : detailInfo2 === undefined ? detailInfo1 : "".concat(detailInfo1, " ").concat(detailInfo2));
112776
112781
  }
112777
112782
  }
112778
112783
  ts.getWatchFactory = getWatchFactory;
@@ -113079,12 +113084,12 @@ var ts;
113079
113084
  }
113080
113085
  ts.formatDiagnostics = formatDiagnostics;
113081
113086
  function formatDiagnostic(diagnostic, host) {
113082
- var errorMessage = ts.diagnosticCategoryName(diagnostic) + " TS" + diagnostic.code + ": " + flattenDiagnosticMessageText(diagnostic.messageText, host.getNewLine()) + host.getNewLine();
113087
+ var errorMessage = "".concat(ts.diagnosticCategoryName(diagnostic), " TS").concat(diagnostic.code, ": ").concat(flattenDiagnosticMessageText(diagnostic.messageText, host.getNewLine())).concat(host.getNewLine());
113083
113088
  if (diagnostic.file) {
113084
113089
  var _a = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start), line = _a.line, character = _a.character; // TODO: GH#18217
113085
113090
  var fileName = diagnostic.file.fileName;
113086
113091
  var relativeFileName = ts.convertToRelativePath(fileName, host.getCurrentDirectory(), function (fileName) { return host.getCanonicalFileName(fileName); });
113087
- return relativeFileName + "(" + (line + 1) + "," + (character + 1) + "): " + errorMessage;
113092
+ return "".concat(relativeFileName, "(").concat(line + 1, ",").concat(character + 1, "): ") + errorMessage;
113088
113093
  }
113089
113094
  return errorMessage;
113090
113095
  }
@@ -113172,9 +113177,9 @@ var ts;
113172
113177
  var output = "";
113173
113178
  output += color(relativeFileName, ForegroundColorEscapeSequences.Cyan);
113174
113179
  output += ":";
113175
- output += color("" + (firstLine + 1), ForegroundColorEscapeSequences.Yellow);
113180
+ output += color("".concat(firstLine + 1), ForegroundColorEscapeSequences.Yellow);
113176
113181
  output += ":";
113177
- output += color("" + (firstLineChar + 1), ForegroundColorEscapeSequences.Yellow);
113182
+ output += color("".concat(firstLineChar + 1), ForegroundColorEscapeSequences.Yellow);
113178
113183
  return output;
113179
113184
  }
113180
113185
  ts.formatLocation = formatLocation;
@@ -113188,7 +113193,7 @@ var ts;
113188
113193
  output += " - ";
113189
113194
  }
113190
113195
  output += formatColorAndReset(ts.diagnosticCategoryName(diagnostic), getCategoryFormat(diagnostic.category));
113191
- output += formatColorAndReset(" TS" + diagnostic.code + ": ", ForegroundColorEscapeSequences.Grey);
113196
+ output += formatColorAndReset(" TS".concat(diagnostic.code, ": "), ForegroundColorEscapeSequences.Grey);
113192
113197
  output += flattenDiagnosticMessageText(diagnostic.messageText, host.getNewLine());
113193
113198
  if (diagnostic.file) {
113194
113199
  output += host.getNewLine();
@@ -113297,7 +113302,7 @@ var ts;
113297
113302
  var result = void 0;
113298
113303
  var mode = getModeForResolutionAtIndex(containingFile, i);
113299
113304
  i++;
113300
- var cacheKey = mode !== undefined ? mode + "|" + name : name;
113305
+ var cacheKey = mode !== undefined ? "".concat(mode, "|").concat(name) : name;
113301
113306
  if (cache.has(cacheKey)) {
113302
113307
  result = cache.get(cacheKey);
113303
113308
  }
@@ -115381,7 +115386,7 @@ var ts;
115381
115386
  path += (i === 2 ? "/" : "-") + components[i];
115382
115387
  i++;
115383
115388
  }
115384
- var resolveFrom = ts.combinePaths(currentDirectory, "__lib_node_modules_lookup_" + libFileName + "__.ts");
115389
+ var resolveFrom = ts.combinePaths(currentDirectory, "__lib_node_modules_lookup_".concat(libFileName, "__.ts"));
115385
115390
  var localOverrideModuleResult = ts.resolveModuleName("@typescript/lib-" + path, resolveFrom, { moduleResolution: ts.ModuleResolutionKind.NodeJs }, host, moduleResolutionCache);
115386
115391
  if (localOverrideModuleResult === null || localOverrideModuleResult === void 0 ? void 0 : localOverrideModuleResult.resolvedModule) {
115387
115392
  return localOverrideModuleResult.resolvedModule.resolvedFileName;
@@ -116202,12 +116207,12 @@ var ts;
116202
116207
  }
116203
116208
  function directoryExistsIfProjectReferenceDeclDir(dir) {
116204
116209
  var dirPath = host.toPath(dir);
116205
- var dirPathWithTrailingDirectorySeparator = "" + dirPath + ts.directorySeparator;
116210
+ var dirPathWithTrailingDirectorySeparator = "".concat(dirPath).concat(ts.directorySeparator);
116206
116211
  return ts.forEachKey(setOfDeclarationDirectories, function (declDirPath) { return dirPath === declDirPath ||
116207
116212
  // Any parent directory of declaration dir
116208
116213
  ts.startsWith(declDirPath, dirPathWithTrailingDirectorySeparator) ||
116209
116214
  // Any directory inside declaration dir
116210
- ts.startsWith(dirPath, declDirPath + "/"); });
116215
+ ts.startsWith(dirPath, "".concat(declDirPath, "/")); });
116211
116216
  }
116212
116217
  function handleDirectoryCouldBeSymlink(directory) {
116213
116218
  var _a;
@@ -116260,7 +116265,7 @@ var ts;
116260
116265
  if (isFile && result) {
116261
116266
  // Store the real path for the file'
116262
116267
  var absolutePath = ts.getNormalizedAbsolutePath(fileOrDirectory, host.compilerHost.getCurrentDirectory());
116263
- symlinkCache.setSymlinkedFile(fileOrDirectoryPath, "" + symlinkedDirectory.real + absolutePath.replace(new RegExp(directoryPath, "i"), ""));
116268
+ symlinkCache.setSymlinkedFile(fileOrDirectoryPath, "".concat(symlinkedDirectory.real).concat(absolutePath.replace(new RegExp(directoryPath, "i"), "")));
116264
116269
  }
116265
116270
  return result;
116266
116271
  }) || false;
@@ -116718,7 +116723,7 @@ var ts;
116718
116723
  /*forceDtsEmit*/ true);
116719
116724
  var firstDts_1 = ts.firstOrUndefined(emitOutput_1.outputFiles);
116720
116725
  if (firstDts_1) {
116721
- ts.Debug.assert(ts.fileExtensionIsOneOf(firstDts_1.name, [".d.ts" /* Dts */, ".d.mts" /* Dmts */, ".d.cts" /* Dcts */]), "File extension for signature expected to be dts", function () { return "Found: " + ts.getAnyExtensionFromPath(firstDts_1.name) + " for " + firstDts_1.name + ":: All output files: " + JSON.stringify(emitOutput_1.outputFiles.map(function (f) { return f.name; })); });
116726
+ ts.Debug.assert(ts.fileExtensionIsOneOf(firstDts_1.name, [".d.ts" /* Dts */, ".d.mts" /* Dmts */, ".d.cts" /* Dcts */]), "File extension for signature expected to be dts", function () { return "Found: ".concat(ts.getAnyExtensionFromPath(firstDts_1.name), " for ").concat(firstDts_1.name, ":: All output files: ").concat(JSON.stringify(emitOutput_1.outputFiles.map(function (f) { return f.name; }))); });
116722
116727
  latestSignature = (computeHash || ts.generateDjb2Hash)(firstDts_1.text);
116723
116728
  if (exportedModulesMapCache && latestSignature !== prevSignature) {
116724
116729
  updateExportedModules(sourceFile, emitOutput_1.exportedModulesFromDeclarationEmit, exportedModulesMapCache);
@@ -117226,7 +117231,7 @@ var ts;
117226
117231
  return;
117227
117232
  }
117228
117233
  else {
117229
- ts.Debug.assert(state.hasCalledUpdateShapeSignature.has(affectedFile.resolvedPath) || ((_a = state.currentAffectedFilesSignatures) === null || _a === void 0 ? void 0 : _a.has(affectedFile.resolvedPath)), "Signature not updated for affected file: " + affectedFile.fileName);
117234
+ ts.Debug.assert(state.hasCalledUpdateShapeSignature.has(affectedFile.resolvedPath) || ((_a = state.currentAffectedFilesSignatures) === null || _a === void 0 ? void 0 : _a.has(affectedFile.resolvedPath)), "Signature not updated for affected file: ".concat(affectedFile.fileName));
117230
117235
  }
117231
117236
  if (!state.compilerOptions.assumeChangesOnlyAffectDirectDependencies) {
117232
117237
  forEachReferencingModulesOfExportOfAffectedFile(state, affectedFile, function (state, path) { return handleDtsMayChangeOf(state, path, cancellationToken, computeHash); });
@@ -118371,7 +118376,7 @@ var ts;
118371
118376
  failedLookupLocation = ts.isRootedDiskPath(failedLookupLocation) ? ts.normalizePath(failedLookupLocation) : ts.getNormalizedAbsolutePath(failedLookupLocation, getCurrentDirectory());
118372
118377
  var failedLookupPathSplit = failedLookupLocationPath.split(ts.directorySeparator);
118373
118378
  var failedLookupSplit = failedLookupLocation.split(ts.directorySeparator);
118374
- ts.Debug.assert(failedLookupSplit.length === failedLookupPathSplit.length, "FailedLookup: " + failedLookupLocation + " failedLookupLocationPath: " + failedLookupLocationPath);
118379
+ ts.Debug.assert(failedLookupSplit.length === failedLookupPathSplit.length, "FailedLookup: ".concat(failedLookupLocation, " failedLookupLocationPath: ").concat(failedLookupLocationPath));
118375
118380
  if (failedLookupPathSplit.length > rootSplitLength + 1) {
118376
118381
  // Instead of watching root, watch directory in root to avoid watching excluded directories not needed for module resolution
118377
118382
  return {
@@ -119353,13 +119358,15 @@ var ts;
119353
119358
  if (host.fileExists(packageJsonPath)) {
119354
119359
  var packageJsonContent = JSON.parse(host.readFile(packageJsonPath));
119355
119360
  // TODO: Inject `require` or `import` condition based on the intended import mode
119356
- var fromExports = packageJsonContent.exports && typeof packageJsonContent.name === "string" ? tryGetModuleNameFromExports(options, path, packageRootPath, packageJsonContent.name, packageJsonContent.exports, ["node", "types"]) : undefined;
119357
- if (fromExports) {
119358
- var withJsExtension = !ts.hasTSFileExtension(fromExports.moduleFileToTry) ? fromExports : { moduleFileToTry: ts.removeFileExtension(fromExports.moduleFileToTry) + tryGetJSExtensionForFile(fromExports.moduleFileToTry, options) };
119359
- return __assign(__assign({}, withJsExtension), { verbatimFromExports: true });
119360
- }
119361
- if (packageJsonContent.exports) {
119362
- return { moduleFileToTry: path, blockedByExports: true };
119361
+ if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node12 || ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext) {
119362
+ var fromExports = packageJsonContent.exports && typeof packageJsonContent.name === "string" ? tryGetModuleNameFromExports(options, path, packageRootPath, packageJsonContent.name, packageJsonContent.exports, ["node", "types"]) : undefined;
119363
+ if (fromExports) {
119364
+ var withJsExtension = !ts.hasTSFileExtension(fromExports.moduleFileToTry) ? fromExports : { moduleFileToTry: ts.removeFileExtension(fromExports.moduleFileToTry) + tryGetJSExtensionForFile(fromExports.moduleFileToTry, options) };
119365
+ return __assign(__assign({}, withJsExtension), { verbatimFromExports: true });
119366
+ }
119367
+ if (packageJsonContent.exports) {
119368
+ return { moduleFileToTry: path, blockedByExports: true };
119369
+ }
119363
119370
  }
119364
119371
  var versionPaths = packageJsonContent.typesVersions
119365
119372
  ? ts.getPackageJsonTypesVersionsPaths(packageJsonContent.typesVersions)
@@ -119483,7 +119490,7 @@ var ts;
119483
119490
  }
119484
119491
  function getJSExtensionForFile(fileName, options) {
119485
119492
  var _a;
119486
- return (_a = tryGetJSExtensionForFile(fileName, options)) !== null && _a !== void 0 ? _a : ts.Debug.fail("Extension " + ts.extensionFromPath(fileName) + " is unsupported:: FileName:: " + fileName);
119493
+ return (_a = tryGetJSExtensionForFile(fileName, options)) !== null && _a !== void 0 ? _a : ts.Debug.fail("Extension ".concat(ts.extensionFromPath(fileName), " is unsupported:: FileName:: ").concat(fileName));
119487
119494
  }
119488
119495
  function tryGetJSExtensionForFile(fileName, options) {
119489
119496
  var ext = ts.tryGetExtensionFromPath(fileName);
@@ -119586,8 +119593,8 @@ var ts;
119586
119593
  return pretty ?
119587
119594
  function (diagnostic, newLine, options) {
119588
119595
  clearScreenIfNotWatchingForFileChanges(system, diagnostic, options);
119589
- var output = "[" + ts.formatColorAndReset(getLocaleTimeString(system), ts.ForegroundColorEscapeSequences.Grey) + "] ";
119590
- output += "" + ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine) + (newLine + newLine);
119596
+ var output = "[".concat(ts.formatColorAndReset(getLocaleTimeString(system), ts.ForegroundColorEscapeSequences.Grey), "] ");
119597
+ output += "".concat(ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine)).concat(newLine + newLine);
119591
119598
  system.write(output);
119592
119599
  } :
119593
119600
  function (diagnostic, newLine, options) {
@@ -119595,8 +119602,8 @@ var ts;
119595
119602
  if (!clearScreenIfNotWatchingForFileChanges(system, diagnostic, options)) {
119596
119603
  output += newLine;
119597
119604
  }
119598
- output += getLocaleTimeString(system) + " - ";
119599
- output += "" + ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine) + getPlainDiagnosticFollowingNewLines(diagnostic, newLine);
119605
+ output += "".concat(getLocaleTimeString(system), " - ");
119606
+ output += "".concat(ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine)).concat(getPlainDiagnosticFollowingNewLines(diagnostic, newLine));
119600
119607
  system.write(output);
119601
119608
  };
119602
119609
  }
@@ -119624,7 +119631,7 @@ var ts;
119624
119631
  if (errorCount === 0)
119625
119632
  return "";
119626
119633
  var d = ts.createCompilerDiagnostic(errorCount === 1 ? ts.Diagnostics.Found_1_error : ts.Diagnostics.Found_0_errors, errorCount);
119627
- return "" + newLine + ts.flattenDiagnosticMessageText(d.messageText, newLine) + newLine + newLine;
119634
+ return "".concat(newLine).concat(ts.flattenDiagnosticMessageText(d.messageText, newLine)).concat(newLine).concat(newLine);
119628
119635
  }
119629
119636
  ts.getErrorSummaryText = getErrorSummaryText;
119630
119637
  function isBuilderProgram(program) {
@@ -119650,9 +119657,9 @@ var ts;
119650
119657
  var relativeFileName = function (fileName) { return ts.convertToRelativePath(fileName, program.getCurrentDirectory(), getCanonicalFileName); };
119651
119658
  for (var _i = 0, _c = program.getSourceFiles(); _i < _c.length; _i++) {
119652
119659
  var file = _c[_i];
119653
- write("" + toFileName(file, relativeFileName));
119654
- (_a = reasons.get(file.path)) === null || _a === void 0 ? void 0 : _a.forEach(function (reason) { return write(" " + fileIncludeReasonToDiagnostics(program, reason, relativeFileName).messageText); });
119655
- (_b = explainIfFileIsRedirect(file, relativeFileName)) === null || _b === void 0 ? void 0 : _b.forEach(function (d) { return write(" " + d.messageText); });
119660
+ write("".concat(toFileName(file, relativeFileName)));
119661
+ (_a = reasons.get(file.path)) === null || _a === void 0 ? void 0 : _a.forEach(function (reason) { return write(" ".concat(fileIncludeReasonToDiagnostics(program, reason, relativeFileName).messageText)); });
119662
+ (_b = explainIfFileIsRedirect(file, relativeFileName)) === null || _b === void 0 ? void 0 : _b.forEach(function (d) { return write(" ".concat(d.messageText)); });
119656
119663
  }
119657
119664
  }
119658
119665
  ts.explainFiles = explainFiles;
@@ -119692,7 +119699,7 @@ var ts;
119692
119699
  if (isJsonFile && !ts.endsWith(includeSpec, ".json" /* Json */))
119693
119700
  return false;
119694
119701
  var pattern = ts.getPatternFromSpec(includeSpec, basePath, "files");
119695
- return !!pattern && ts.getRegexFromPattern("(" + pattern + ")$", useCaseSensitiveFileNames).test(fileName);
119702
+ return !!pattern && ts.getRegexFromPattern("(".concat(pattern, ")$"), useCaseSensitiveFileNames).test(fileName);
119696
119703
  });
119697
119704
  }
119698
119705
  ts.getMatchedIncludeSpec = getMatchedIncludeSpec;
@@ -119701,7 +119708,7 @@ var ts;
119701
119708
  var options = program.getCompilerOptions();
119702
119709
  if (ts.isReferencedFile(reason)) {
119703
119710
  var referenceLocation = ts.getReferencedFileLocation(function (path) { return program.getSourceFileByPath(path); }, reason);
119704
- var referenceText = ts.isReferenceFileLocation(referenceLocation) ? referenceLocation.file.text.substring(referenceLocation.pos, referenceLocation.end) : "\"" + referenceLocation.text + "\"";
119711
+ var referenceText = ts.isReferenceFileLocation(referenceLocation) ? referenceLocation.file.text.substring(referenceLocation.pos, referenceLocation.end) : "\"".concat(referenceLocation.text, "\"");
119705
119712
  var message = void 0;
119706
119713
  ts.Debug.assert(ts.isReferenceFileLocation(referenceLocation) || reason.kind === ts.FileIncludeKind.Import, "Only synthetic references are imports");
119707
119714
  switch (reason.kind) {
@@ -119825,7 +119832,7 @@ var ts;
119825
119832
  var currentDir_1 = program.getCurrentDirectory();
119826
119833
  ts.forEach(emittedFiles, function (file) {
119827
119834
  var filepath = ts.getNormalizedAbsolutePath(file, currentDir_1);
119828
- write("TSFILE: " + filepath);
119835
+ write("TSFILE: ".concat(filepath));
119829
119836
  });
119830
119837
  listFiles(program, write);
119831
119838
  }
@@ -120153,7 +120160,7 @@ var ts;
120153
120160
  }
120154
120161
  var _b = ts.createWatchFactory(host, compilerOptions), watchFile = _b.watchFile, watchDirectory = _b.watchDirectory, writeLog = _b.writeLog;
120155
120162
  var getCanonicalFileName = ts.createGetCanonicalFileName(useCaseSensitiveFileNames);
120156
- writeLog("Current directory: " + currentDirectory + " CaseSensitiveFileNames: " + useCaseSensitiveFileNames);
120163
+ writeLog("Current directory: ".concat(currentDirectory, " CaseSensitiveFileNames: ").concat(useCaseSensitiveFileNames));
120157
120164
  var configFileWatcher;
120158
120165
  if (configFileName) {
120159
120166
  configFileWatcher = watchFile(configFileName, scheduleProgramReload, ts.PollingInterval.High, watchOptions, ts.WatchType.ConfigFile);
@@ -120302,10 +120309,10 @@ var ts;
120302
120309
  function createNewProgram(hasInvalidatedResolution) {
120303
120310
  // Compile the program
120304
120311
  writeLog("CreatingProgramWith::");
120305
- writeLog(" roots: " + JSON.stringify(rootFileNames));
120306
- writeLog(" options: " + JSON.stringify(compilerOptions));
120312
+ writeLog(" roots: ".concat(JSON.stringify(rootFileNames)));
120313
+ writeLog(" options: ".concat(JSON.stringify(compilerOptions)));
120307
120314
  if (projectReferences)
120308
- writeLog(" projectReferences: " + JSON.stringify(projectReferences));
120315
+ writeLog(" projectReferences: ".concat(JSON.stringify(projectReferences)));
120309
120316
  var needsUpdateInTypeRootWatch = hasChangedCompilerOptions || !getCurrentProgram();
120310
120317
  hasChangedCompilerOptions = false;
120311
120318
  hasChangedConfigFileParsingErrors = false;
@@ -120466,7 +120473,7 @@ var ts;
120466
120473
  return resolutionCache.invalidateResolutionsOfFailedLookupLocations();
120467
120474
  }
120468
120475
  var pending = clearInvalidateResolutionsOfFailedLookupLocations();
120469
- writeLog("Scheduling invalidateFailedLookup" + (pending ? ", Cancelled earlier one" : ""));
120476
+ writeLog("Scheduling invalidateFailedLookup".concat(pending ? ", Cancelled earlier one" : ""));
120470
120477
  timerToInvalidateFailedLookupResolutions = host.setTimeout(invalidateResolutionsOfFailedLookup, 250);
120471
120478
  }
120472
120479
  function invalidateResolutionsOfFailedLookup() {
@@ -120526,7 +120533,7 @@ var ts;
120526
120533
  synchronizeProgram();
120527
120534
  }
120528
120535
  function reloadConfigFile() {
120529
- writeLog("Reloading config file: " + configFileName);
120536
+ writeLog("Reloading config file: ".concat(configFileName));
120530
120537
  reloadLevel = ts.ConfigFileProgramReloadLevel.None;
120531
120538
  if (cachedDirectoryStructureHost) {
120532
120539
  cachedDirectoryStructureHost.clearCache();
@@ -120567,7 +120574,7 @@ var ts;
120567
120574
  return config.parsedCommandLine;
120568
120575
  }
120569
120576
  }
120570
- writeLog("Loading config file: " + configFileName);
120577
+ writeLog("Loading config file: ".concat(configFileName));
120571
120578
  var parsedCommandLine = host.getParsedCommandLine ?
120572
120579
  host.getParsedCommandLine(configFileName) :
120573
120580
  getParsedCommandLineFromConfigFileHost(configFileName);
@@ -120871,8 +120878,8 @@ var ts;
120871
120878
  */
120872
120879
  function createBuilderStatusReporter(system, pretty) {
120873
120880
  return function (diagnostic) {
120874
- var output = pretty ? "[" + ts.formatColorAndReset(ts.getLocaleTimeString(system), ts.ForegroundColorEscapeSequences.Grey) + "] " : ts.getLocaleTimeString(system) + " - ";
120875
- output += "" + ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine) + (system.newLine + system.newLine);
120881
+ var output = pretty ? "[".concat(ts.formatColorAndReset(ts.getLocaleTimeString(system), ts.ForegroundColorEscapeSequences.Grey), "] ") : "".concat(ts.getLocaleTimeString(system), " - ");
120882
+ output += "".concat(ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine)).concat(system.newLine + system.newLine);
120876
120883
  system.write(output);
120877
120884
  };
120878
120885
  }
@@ -121647,7 +121654,7 @@ var ts;
121647
121654
  function listEmittedFile(_a, proj, file) {
121648
121655
  var write = _a.write;
121649
121656
  if (write && proj.options.listEmittedFiles) {
121650
- write("TSFILE: " + file);
121657
+ write("TSFILE: ".concat(file));
121651
121658
  }
121652
121659
  }
121653
121660
  function getOldProgram(_a, proj, parsed) {
@@ -121676,7 +121683,7 @@ var ts;
121676
121683
  function buildErrors(state, resolvedPath, program, config, diagnostics, buildResult, errorType) {
121677
121684
  var canEmitBuildInfo = !(buildResult & BuildResultFlags.SyntaxErrors) && program && !ts.outFile(program.getCompilerOptions());
121678
121685
  reportAndStoreErrors(state, resolvedPath, diagnostics);
121679
- state.projectStatus.set(resolvedPath, { type: ts.UpToDateStatusType.Unbuildable, reason: errorType + " errors" });
121686
+ state.projectStatus.set(resolvedPath, { type: ts.UpToDateStatusType.Unbuildable, reason: "".concat(errorType, " errors") });
121680
121687
  if (canEmitBuildInfo)
121681
121688
  return { buildResult: buildResult, step: BuildStep.EmitBuildInfo };
121682
121689
  afterProgramDone(state, program, config);
@@ -121704,7 +121711,7 @@ var ts;
121704
121711
  if (!host.fileExists(inputFile)) {
121705
121712
  return {
121706
121713
  type: ts.UpToDateStatusType.Unbuildable,
121707
- reason: inputFile + " does not exist"
121714
+ reason: "".concat(inputFile, " does not exist")
121708
121715
  };
121709
121716
  }
121710
121717
  if (!force) {
@@ -122063,7 +122070,7 @@ var ts;
122063
122070
  }
122064
122071
  }
122065
122072
  if (filesToDelete) {
122066
- reportStatus(state, ts.Diagnostics.A_non_dry_build_would_delete_the_following_files_Colon_0, filesToDelete.map(function (f) { return "\r\n * " + f; }).join(""));
122073
+ reportStatus(state, ts.Diagnostics.A_non_dry_build_would_delete_the_following_files_Colon_0, filesToDelete.map(function (f) { return "\r\n * ".concat(f); }).join(""));
122067
122074
  }
122068
122075
  return ts.ExitStatus.Success;
122069
122076
  }
@@ -124891,7 +124898,7 @@ var ts;
124891
124898
  var prefix = ts.isJSDocLink(link) ? "link"
124892
124899
  : ts.isJSDocLinkCode(link) ? "linkcode"
124893
124900
  : "linkplain";
124894
- var parts = [linkPart("{@" + prefix + " ")];
124901
+ var parts = [linkPart("{@".concat(prefix, " "))];
124895
124902
  if (!link.name) {
124896
124903
  if (link.text)
124897
124904
  parts.push(linkTextPart(link.text));
@@ -125139,7 +125146,7 @@ var ts;
125139
125146
  function getUniqueName(baseName, sourceFile) {
125140
125147
  var nameText = baseName;
125141
125148
  for (var i = 1; !ts.isFileLevelUniqueName(sourceFile, nameText); i++) {
125142
- nameText = baseName + "_" + i;
125149
+ nameText = "".concat(baseName, "_").concat(i);
125143
125150
  }
125144
125151
  return nameText;
125145
125152
  }
@@ -125249,7 +125256,7 @@ var ts;
125249
125256
  // Editors can pass in undefined or empty string - we want to infer the preference in those cases.
125250
125257
  var quotePreference = getQuotePreference(sourceFile, preferences);
125251
125258
  var quoted = JSON.stringify(text);
125252
- return quotePreference === 0 /* Single */ ? "'" + ts.stripQuotes(quoted).replace(/'/g, "\\'").replace(/\\"/g, '"') + "'" : quoted;
125259
+ return quotePreference === 0 /* Single */ ? "'".concat(ts.stripQuotes(quoted).replace(/'/g, "\\'").replace(/\\"/g, '"'), "'") : quoted;
125253
125260
  }
125254
125261
  ts.quote = quote;
125255
125262
  function isEqualityOperatorKind(kind) {
@@ -125621,7 +125628,7 @@ var ts;
125621
125628
  var components = ts.getPathComponents(ts.getPackageNameFromTypesPackageName(fullSpecifier)).slice(1);
125622
125629
  // Scoped packages
125623
125630
  if (ts.startsWith(components[0], "@")) {
125624
- return components[0] + "/" + components[1];
125631
+ return "".concat(components[0], "/").concat(components[1]);
125625
125632
  }
125626
125633
  return components[0];
125627
125634
  }
@@ -125728,13 +125735,13 @@ var ts;
125728
125735
  ts.getNameForExportedSymbol = getNameForExportedSymbol;
125729
125736
  function getSymbolParentOrFail(symbol) {
125730
125737
  var _a;
125731
- return ts.Debug.checkDefined(symbol.parent, "Symbol parent was undefined. Flags: " + ts.Debug.formatSymbolFlags(symbol.flags) + ". " +
125732
- ("Declarations: " + ((_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.map(function (d) {
125738
+ return ts.Debug.checkDefined(symbol.parent, "Symbol parent was undefined. Flags: ".concat(ts.Debug.formatSymbolFlags(symbol.flags), ". ") +
125739
+ "Declarations: ".concat((_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.map(function (d) {
125733
125740
  var kind = ts.Debug.formatSyntaxKind(d.kind);
125734
125741
  var inJS = ts.isInJSFile(d);
125735
125742
  var expression = d.expression;
125736
- return (inJS ? "[JS]" : "") + kind + (expression ? " (expression: " + ts.Debug.formatSyntaxKind(expression.kind) + ")" : "");
125737
- }).join(", ")) + "."));
125743
+ return (inJS ? "[JS]" : "") + kind + (expression ? " (expression: ".concat(ts.Debug.formatSyntaxKind(expression.kind), ")") : "");
125744
+ }).join(", "), "."));
125738
125745
  }
125739
125746
  /**
125740
125747
  * Useful to check whether a string contains another string at a specific index
@@ -125942,7 +125949,7 @@ var ts;
125942
125949
  : checker.tryFindAmbientModule(info.moduleName));
125943
125950
  var symbol = info.symbol || cachedSymbol || ts.Debug.checkDefined(exportKind === 2 /* ExportEquals */
125944
125951
  ? checker.resolveExternalModuleSymbol(moduleSymbol)
125945
- : checker.tryGetMemberInModuleExportsAndProperties(ts.unescapeLeadingUnderscores(info.symbolTableKey), moduleSymbol), "Could not find symbol '" + info.symbolName + "' by key '" + info.symbolTableKey + "' in module " + moduleSymbol.name);
125952
+ : checker.tryGetMemberInModuleExportsAndProperties(ts.unescapeLeadingUnderscores(info.symbolTableKey), moduleSymbol), "Could not find symbol '".concat(info.symbolName, "' by key '").concat(info.symbolTableKey, "' in module ").concat(moduleSymbol.name));
125946
125953
  symbols.set(id, [symbol, moduleSymbol]);
125947
125954
  return {
125948
125955
  symbol: symbol,
@@ -125955,7 +125962,7 @@ var ts;
125955
125962
  }
125956
125963
  function key(importedName, symbol, ambientModuleName, checker) {
125957
125964
  var moduleKey = ambientModuleName || "";
125958
- return importedName + "|" + ts.getSymbolId(ts.skipAlias(symbol, checker)) + "|" + moduleKey;
125965
+ return "".concat(importedName, "|").concat(ts.getSymbolId(ts.skipAlias(symbol, checker)), "|").concat(moduleKey);
125959
125966
  }
125960
125967
  function parseKey(key) {
125961
125968
  var symbolName = key.substring(0, key.indexOf("|"));
@@ -126035,7 +126042,7 @@ var ts;
126035
126042
  if (autoImportProvider) {
126036
126043
  var start = ts.timestamp();
126037
126044
  forEachExternalModule(autoImportProvider.getTypeChecker(), autoImportProvider.getSourceFiles(), function (module, file) { return cb(module, file, autoImportProvider, /*isFromPackageJson*/ true); });
126038
- (_b = host.log) === null || _b === void 0 ? void 0 : _b.call(host, "forEachExternalModuleToImportFrom autoImportProvider: " + (ts.timestamp() - start));
126045
+ (_b = host.log) === null || _b === void 0 ? void 0 : _b.call(host, "forEachExternalModuleToImportFrom autoImportProvider: ".concat(ts.timestamp() - start));
126039
126046
  }
126040
126047
  }
126041
126048
  ts.forEachExternalModuleToImportFrom = forEachExternalModuleToImportFrom;
@@ -126089,7 +126096,7 @@ var ts;
126089
126096
  }
126090
126097
  });
126091
126098
  });
126092
- (_e = host.log) === null || _e === void 0 ? void 0 : _e.call(host, "getExportInfoMap: done in " + (ts.timestamp() - start) + " ms");
126099
+ (_e = host.log) === null || _e === void 0 ? void 0 : _e.call(host, "getExportInfoMap: done in ".concat(ts.timestamp() - start, " ms"));
126093
126100
  return cache;
126094
126101
  }
126095
126102
  ts.getExportInfoMap = getExportInfoMap;
@@ -126622,7 +126629,7 @@ var ts;
126622
126629
  return { spans: spans, endOfLineState: 0 /* None */ };
126623
126630
  function pushClassification(start, end, type) {
126624
126631
  var length = end - start;
126625
- ts.Debug.assert(length > 0, "Classification had non-positive length of " + length);
126632
+ ts.Debug.assert(length > 0, "Classification had non-positive length of ".concat(length));
126626
126633
  spans.push(start);
126627
126634
  spans.push(length);
126628
126635
  spans.push(type);
@@ -127490,7 +127497,7 @@ var ts;
127490
127497
  case ".d.cts" /* Dcts */: return ".d.cts" /* dctsModifier */;
127491
127498
  case ".cjs" /* Cjs */: return ".cjs" /* cjsModifier */;
127492
127499
  case ".cts" /* Cts */: return ".cts" /* ctsModifier */;
127493
- case ".tsbuildinfo" /* TsBuildInfo */: return ts.Debug.fail("Extension " + ".tsbuildinfo" /* TsBuildInfo */ + " is unsupported.");
127500
+ case ".tsbuildinfo" /* TsBuildInfo */: return ts.Debug.fail("Extension ".concat(".tsbuildinfo" /* TsBuildInfo */, " is unsupported."));
127494
127501
  case undefined: return "" /* none */;
127495
127502
  default:
127496
127503
  return ts.Debug.assertNever(extension);
@@ -128219,10 +128226,10 @@ var ts;
128219
128226
  var resolvedFromCacheCount = 0;
128220
128227
  var cacheAttemptCount = 0;
128221
128228
  var result = cb({ tryResolve: tryResolve, resolutionLimitExceeded: function () { return resolutionLimitExceeded; } });
128222
- var hitRateMessage = cacheAttemptCount ? " (" + (resolvedFromCacheCount / cacheAttemptCount * 100).toFixed(1) + "% hit rate)" : "";
128223
- (_a = host.log) === null || _a === void 0 ? void 0 : _a.call(host, logPrefix + ": resolved " + resolvedCount + " module specifiers, plus " + ambientCount + " ambient and " + resolvedFromCacheCount + " from cache" + hitRateMessage);
128224
- (_b = host.log) === null || _b === void 0 ? void 0 : _b.call(host, logPrefix + ": response is " + (resolutionLimitExceeded ? "incomplete" : "complete"));
128225
- (_c = host.log) === null || _c === void 0 ? void 0 : _c.call(host, logPrefix + ": " + (ts.timestamp() - start));
128229
+ var hitRateMessage = cacheAttemptCount ? " (".concat((resolvedFromCacheCount / cacheAttemptCount * 100).toFixed(1), "% hit rate)") : "";
128230
+ (_a = host.log) === null || _a === void 0 ? void 0 : _a.call(host, "".concat(logPrefix, ": resolved ").concat(resolvedCount, " module specifiers, plus ").concat(ambientCount, " ambient and ").concat(resolvedFromCacheCount, " from cache").concat(hitRateMessage));
128231
+ (_b = host.log) === null || _b === void 0 ? void 0 : _b.call(host, "".concat(logPrefix, ": response is ").concat(resolutionLimitExceeded ? "incomplete" : "complete"));
128232
+ (_c = host.log) === null || _c === void 0 ? void 0 : _c.call(host, "".concat(logPrefix, ": ").concat(ts.timestamp() - start));
128226
128233
  return result;
128227
128234
  function tryResolve(exportInfo, isFromAmbientModule) {
128228
128235
  if (isFromAmbientModule) {
@@ -128525,15 +128532,15 @@ var ts;
128525
128532
  var useBraces = origin && originIsSymbolMember(origin) || needsConvertPropertyAccess;
128526
128533
  if (origin && originIsThisType(origin)) {
128527
128534
  insertText = needsConvertPropertyAccess
128528
- ? "this" + (insertQuestionDot ? "?." : "") + "[" + quotePropertyName(sourceFile, preferences, name) + "]"
128529
- : "this" + (insertQuestionDot ? "?." : ".") + name;
128535
+ ? "this".concat(insertQuestionDot ? "?." : "", "[").concat(quotePropertyName(sourceFile, preferences, name), "]")
128536
+ : "this".concat(insertQuestionDot ? "?." : ".").concat(name);
128530
128537
  }
128531
128538
  // We should only have needsConvertPropertyAccess if there's a property access to convert. But see #21790.
128532
128539
  // Somehow there was a global with a non-identifier name. Hopefully someone will complain about getting a "foo bar" global completion and provide a repro.
128533
128540
  else if ((useBraces || insertQuestionDot) && propertyAccessToConvert) {
128534
- insertText = useBraces ? needsConvertPropertyAccess ? "[" + quotePropertyName(sourceFile, preferences, name) + "]" : "[" + name + "]" : name;
128541
+ insertText = useBraces ? needsConvertPropertyAccess ? "[".concat(quotePropertyName(sourceFile, preferences, name), "]") : "[".concat(name, "]") : name;
128535
128542
  if (insertQuestionDot || propertyAccessToConvert.questionDotToken) {
128536
- insertText = "?." + insertText;
128543
+ insertText = "?.".concat(insertText);
128537
128544
  }
128538
128545
  var dot = ts.findChildOfKind(propertyAccessToConvert, 24 /* DotToken */, sourceFile) ||
128539
128546
  ts.findChildOfKind(propertyAccessToConvert, 28 /* QuestionDotToken */, sourceFile);
@@ -128547,7 +128554,7 @@ var ts;
128547
128554
  if (isJsxInitializer) {
128548
128555
  if (insertText === undefined)
128549
128556
  insertText = name;
128550
- insertText = "{" + insertText + "}";
128557
+ insertText = "{".concat(insertText, "}");
128551
128558
  if (typeof isJsxInitializer !== "boolean") {
128552
128559
  replacementSpan = ts.createTextSpanFromNode(isJsxInitializer, sourceFile);
128553
128560
  }
@@ -128560,8 +128567,8 @@ var ts;
128560
128567
  if (precedingToken && ts.positionIsASICandidate(precedingToken.end, precedingToken.parent, sourceFile)) {
128561
128568
  awaitText = ";";
128562
128569
  }
128563
- awaitText += "(await " + propertyAccessToConvert.expression.getText() + ")";
128564
- insertText = needsConvertPropertyAccess ? "" + awaitText + insertText : "" + awaitText + (insertQuestionDot ? "?." : ".") + insertText;
128570
+ awaitText += "(await ".concat(propertyAccessToConvert.expression.getText(), ")");
128571
+ insertText = needsConvertPropertyAccess ? "".concat(awaitText).concat(insertText) : "".concat(awaitText).concat(insertQuestionDot ? "?." : ".").concat(insertText);
128565
128572
  replacementSpan = ts.createTextSpanFromBounds(propertyAccessToConvert.getStart(sourceFile), propertyAccessToConvert.end);
128566
128573
  }
128567
128574
  if (originIsResolvedExport(origin)) {
@@ -128592,7 +128599,7 @@ var ts;
128592
128599
  && !(type.flags & 1048576 /* Union */ && ts.find(type.types, function (type) { return !!(type.flags & 528 /* BooleanLike */); }))) {
128593
128600
  if (type.flags & 402653316 /* StringLike */ || (type.flags & 1048576 /* Union */ && ts.every(type.types, function (type) { return !!(type.flags & (402653316 /* StringLike */ | 32768 /* Undefined */)); }))) {
128594
128601
  // If is string like or undefined use quotes
128595
- insertText = ts.escapeSnippetText(name) + "=" + ts.quote(sourceFile, preferences, "$1");
128602
+ insertText = "".concat(ts.escapeSnippetText(name), "=").concat(ts.quote(sourceFile, preferences, "$1"));
128596
128603
  isSnippet = true;
128597
128604
  }
128598
128605
  else {
@@ -128601,12 +128608,9 @@ var ts;
128601
128608
  }
128602
128609
  }
128603
128610
  if (useBraces_1) {
128604
- insertText = ts.escapeSnippetText(name) + "={$1}";
128611
+ insertText = "".concat(ts.escapeSnippetText(name), "={$1}");
128605
128612
  isSnippet = true;
128606
128613
  }
128607
- if (isSnippet) {
128608
- replacementSpan = ts.createTextSpanFromNode(location, sourceFile);
128609
- }
128610
128614
  }
128611
128615
  if (insertText !== undefined && !preferences.includeCompletionsWithInsertText) {
128612
128616
  return undefined;
@@ -128691,7 +128695,7 @@ var ts;
128691
128695
  removeComments: true,
128692
128696
  module: options.module,
128693
128697
  target: options.target,
128694
- omitTrailingSemicolon: true,
128698
+ omitTrailingSemicolon: false,
128695
128699
  newLine: ts.getNewLineKind(ts.getNewLineCharacter(options, ts.maybeBind(host, host.getNewLine))),
128696
128700
  });
128697
128701
  var importAdder = ts.codefix.createImportAdder(sourceFile, program, preferences, host);
@@ -128747,9 +128751,9 @@ var ts;
128747
128751
  }
128748
128752
  node = ts.factory.updateModifiers(node, modifiers & (~presentModifiers));
128749
128753
  completionNodes.push(node);
128750
- }, body, isAbstract);
128754
+ }, body, 2 /* Property */, isAbstract);
128751
128755
  if (completionNodes.length) {
128752
- insertText = printer.printSnippetList(1 /* MultiLine */, ts.factory.createNodeArray(completionNodes), sourceFile);
128756
+ insertText = printer.printSnippetList(1 /* MultiLine */ | 131072 /* NoTrailingNewLine */, ts.factory.createNodeArray(completionNodes), sourceFile);
128753
128757
  }
128754
128758
  return { insertText: insertText, isSnippet: isSnippet, importAdder: importAdder };
128755
128759
  }
@@ -128868,14 +128872,14 @@ var ts;
128868
128872
  var importKind = ts.codefix.getImportKind(sourceFile, exportKind, options, /*forceImportKeyword*/ true);
128869
128873
  var isTopLevelTypeOnly = ((_b = (_a = ts.tryCast(importCompletionNode, ts.isImportDeclaration)) === null || _a === void 0 ? void 0 : _a.importClause) === null || _b === void 0 ? void 0 : _b.isTypeOnly) || ((_c = ts.tryCast(importCompletionNode, ts.isImportEqualsDeclaration)) === null || _c === void 0 ? void 0 : _c.isTypeOnly);
128870
128874
  var isImportSpecifierTypeOnly = couldBeTypeOnlyImportSpecifier(importCompletionNode, contextToken);
128871
- var topLevelTypeOnlyText = isTopLevelTypeOnly ? " " + ts.tokenToString(151 /* TypeKeyword */) + " " : " ";
128872
- var importSpecifierTypeOnlyText = isImportSpecifierTypeOnly ? ts.tokenToString(151 /* TypeKeyword */) + " " : "";
128875
+ var topLevelTypeOnlyText = isTopLevelTypeOnly ? " ".concat(ts.tokenToString(151 /* TypeKeyword */), " ") : " ";
128876
+ var importSpecifierTypeOnlyText = isImportSpecifierTypeOnly ? "".concat(ts.tokenToString(151 /* TypeKeyword */), " ") : "";
128873
128877
  var suffix = useSemicolons ? ";" : "";
128874
128878
  switch (importKind) {
128875
- case 3 /* CommonJS */: return { replacementSpan: replacementSpan, insertText: "import" + topLevelTypeOnlyText + ts.escapeSnippetText(name) + tabStop + " = require(" + quotedModuleSpecifier + ")" + suffix };
128876
- case 1 /* Default */: return { replacementSpan: replacementSpan, insertText: "import" + topLevelTypeOnlyText + ts.escapeSnippetText(name) + tabStop + " from " + quotedModuleSpecifier + suffix };
128877
- case 2 /* Namespace */: return { replacementSpan: replacementSpan, insertText: "import" + topLevelTypeOnlyText + "* as " + ts.escapeSnippetText(name) + " from " + quotedModuleSpecifier + suffix };
128878
- case 0 /* Named */: return { replacementSpan: replacementSpan, insertText: "import" + topLevelTypeOnlyText + "{ " + importSpecifierTypeOnlyText + ts.escapeSnippetText(name) + tabStop + " } from " + quotedModuleSpecifier + suffix };
128879
+ case 3 /* CommonJS */: return { replacementSpan: replacementSpan, insertText: "import".concat(topLevelTypeOnlyText).concat(ts.escapeSnippetText(name)).concat(tabStop, " = require(").concat(quotedModuleSpecifier, ")").concat(suffix) };
128880
+ case 1 /* Default */: return { replacementSpan: replacementSpan, insertText: "import".concat(topLevelTypeOnlyText).concat(ts.escapeSnippetText(name)).concat(tabStop, " from ").concat(quotedModuleSpecifier).concat(suffix) };
128881
+ case 2 /* Namespace */: return { replacementSpan: replacementSpan, insertText: "import".concat(topLevelTypeOnlyText, "* as ").concat(ts.escapeSnippetText(name), " from ").concat(quotedModuleSpecifier).concat(suffix) };
128882
+ case 0 /* Named */: return { replacementSpan: replacementSpan, insertText: "import".concat(topLevelTypeOnlyText, "{ ").concat(importSpecifierTypeOnlyText).concat(ts.escapeSnippetText(name)).concat(tabStop, " } from ").concat(quotedModuleSpecifier).concat(suffix) };
128879
128883
  }
128880
128884
  }
128881
128885
  function quotePropertyName(sourceFile, preferences, name) {
@@ -131774,7 +131778,7 @@ var ts;
131774
131778
  }
131775
131779
  function getDocumentRegistryEntry(bucketEntry, scriptKind) {
131776
131780
  var entry = isDocumentRegistryEntry(bucketEntry) ? bucketEntry : bucketEntry.get(ts.Debug.checkDefined(scriptKind, "If there are more than one scriptKind's for same document the scriptKind should be provided"));
131777
- ts.Debug.assert(scriptKind === undefined || !entry || entry.sourceFile.scriptKind === scriptKind, "Script kind should match provided ScriptKind:" + scriptKind + " and sourceFile.scriptKind: " + (entry === null || entry === void 0 ? void 0 : entry.sourceFile.scriptKind) + ", !entry: " + !entry);
131781
+ ts.Debug.assert(scriptKind === undefined || !entry || entry.sourceFile.scriptKind === scriptKind, "Script kind should match provided ScriptKind:".concat(scriptKind, " and sourceFile.scriptKind: ").concat(entry === null || entry === void 0 ? void 0 : entry.sourceFile.scriptKind, ", !entry: ").concat(!entry));
131778
131782
  return entry;
131779
131783
  }
131780
131784
  function acquireOrUpdateDocument(fileName, path, compilationSettings, key, scriptSnapshot, version, acquiring, scriptKind) {
@@ -132786,7 +132790,7 @@ var ts;
132786
132790
  sourceFile: def.file,
132787
132791
  name: def.reference.fileName,
132788
132792
  kind: "string" /* string */,
132789
- displayParts: [ts.displayPart("\"" + def.reference.fileName + "\"", ts.SymbolDisplayPartKind.stringLiteral)]
132793
+ displayParts: [ts.displayPart("\"".concat(def.reference.fileName, "\""), ts.SymbolDisplayPartKind.stringLiteral)]
132790
132794
  };
132791
132795
  }
132792
132796
  default:
@@ -133366,7 +133370,7 @@ var ts;
133366
133370
  if (symbol.flags & 33554432 /* Transient */)
133367
133371
  return undefined;
133368
133372
  // Assertions for GH#21814. We should be handling SourceFile symbols in `getReferencedSymbolsForModule` instead of getting here.
133369
- ts.Debug.fail("Unexpected symbol at " + ts.Debug.formatSyntaxKind(node.kind) + ": " + ts.Debug.formatSymbol(symbol));
133373
+ ts.Debug.fail("Unexpected symbol at ".concat(ts.Debug.formatSyntaxKind(node.kind), ": ").concat(ts.Debug.formatSymbol(symbol)));
133370
133374
  }
133371
133375
  return ts.isTypeLiteralNode(decl.parent) && ts.isUnionTypeNode(decl.parent.parent)
133372
133376
  ? checker.getPropertyOfType(checker.getTypeFromTypeNode(decl.parent.parent), symbol.name)
@@ -134650,8 +134654,8 @@ var ts;
134650
134654
  var end = pos + 6; /* "static".length */
134651
134655
  var typeChecker = program.getTypeChecker();
134652
134656
  var symbol = typeChecker.getSymbolAtLocation(node.parent);
134653
- var prefix = symbol ? typeChecker.symbolToString(symbol, node.parent) + " " : "";
134654
- return { text: prefix + "static {}", pos: pos, end: end };
134657
+ var prefix = symbol ? "".concat(typeChecker.symbolToString(symbol, node.parent), " ") : "";
134658
+ return { text: "".concat(prefix, "static {}"), pos: pos, end: end };
134655
134659
  }
134656
134660
  var declName = isConstNamedExpression(node) ? node.parent.name :
134657
134661
  ts.Debug.checkDefined(ts.getNameOfDeclaration(node), "Expected call hierarchy item to have a name");
@@ -135912,7 +135916,7 @@ var ts;
135912
135916
  function getJSDocTagCompletions() {
135913
135917
  return jsDocTagCompletionEntries || (jsDocTagCompletionEntries = ts.map(jsDocTagNames, function (tagName) {
135914
135918
  return {
135915
- name: "@" + tagName,
135919
+ name: "@".concat(tagName),
135916
135920
  kind: "keyword" /* keyword */,
135917
135921
  kindModifiers: "",
135918
135922
  sortText: ts.Completions.SortText.LocationPriority
@@ -136044,11 +136048,11 @@ var ts;
136044
136048
  var name = _a.name, dotDotDotToken = _a.dotDotDotToken;
136045
136049
  var paramName = name.kind === 79 /* Identifier */ ? name.text : "param" + i;
136046
136050
  var type = isJavaScriptFile ? (dotDotDotToken ? "{...any} " : "{any} ") : "";
136047
- return indentationStr + " * @param " + type + paramName + newLine;
136051
+ return "".concat(indentationStr, " * @param ").concat(type).concat(paramName).concat(newLine);
136048
136052
  }).join("");
136049
136053
  }
136050
136054
  function returnsDocComment(indentationStr, newLine) {
136051
- return indentationStr + " * @returns" + newLine;
136055
+ return "".concat(indentationStr, " * @returns").concat(newLine);
136052
136056
  }
136053
136057
  function getCommentOwnerInfo(tokenAtPos, options) {
136054
136058
  return ts.forEachAncestor(tokenAtPos, function (n) { return getCommentOwnerInfoWorker(n, options); });
@@ -136888,7 +136892,7 @@ var ts;
136888
136892
  }
136889
136893
  if (name) {
136890
136894
  var text = ts.isIdentifier(name) ? name.text
136891
- : ts.isElementAccessExpression(name) ? "[" + nodeText(name.argumentExpression) + "]"
136895
+ : ts.isElementAccessExpression(name) ? "[".concat(nodeText(name.argumentExpression), "]")
136892
136896
  : nodeText(name);
136893
136897
  if (text.length > 0) {
136894
136898
  return cleanText(text);
@@ -136898,7 +136902,7 @@ var ts;
136898
136902
  case 303 /* SourceFile */:
136899
136903
  var sourceFile = node;
136900
136904
  return ts.isExternalModule(sourceFile)
136901
- ? "\"" + ts.escapeString(ts.getBaseFileName(ts.removeFileExtension(ts.normalizePath(sourceFile.fileName)))) + "\""
136905
+ ? "\"".concat(ts.escapeString(ts.getBaseFileName(ts.removeFileExtension(ts.normalizePath(sourceFile.fileName)))), "\"")
136902
136906
  : "<global>";
136903
136907
  case 270 /* ExportAssignment */:
136904
136908
  return ts.isExportAssignment(node) && node.isExportEquals ? "export=" /* ExportEquals */ : "default" /* Default */;
@@ -137094,10 +137098,10 @@ var ts;
137094
137098
  if (name !== undefined) {
137095
137099
  name = cleanText(name);
137096
137100
  if (name.length > maxLength) {
137097
- return name + " callback";
137101
+ return "".concat(name, " callback");
137098
137102
  }
137099
137103
  var args = cleanText(ts.mapDefined(parent.arguments, function (a) { return ts.isStringLiteralLike(a) ? a.getText(curSourceFile) : undefined; }).join(", "));
137100
- return name + "(" + args + ") callback";
137104
+ return "".concat(name, "(").concat(args, ") callback");
137101
137105
  }
137102
137106
  }
137103
137107
  return "<function>";
@@ -137110,7 +137114,7 @@ var ts;
137110
137114
  else if (ts.isPropertyAccessExpression(expr)) {
137111
137115
  var left = getCalledExpressionName(expr.expression);
137112
137116
  var right = expr.name.text;
137113
- return left === undefined ? right : left + "." + right;
137117
+ return left === undefined ? right : "".concat(left, ".").concat(right);
137114
137118
  }
137115
137119
  else {
137116
137120
  return undefined;
@@ -139542,7 +139546,7 @@ var ts;
139542
139546
  var _loop_9 = function (n) {
139543
139547
  // If the node is not a subspan of its parent, this is a big problem.
139544
139548
  // There have been crashes that might be caused by this violation.
139545
- ts.Debug.assert(ts.rangeContainsRange(n.parent, n), "Not a subspan", function () { return "Child: " + ts.Debug.formatSyntaxKind(n.kind) + ", parent: " + ts.Debug.formatSyntaxKind(n.parent.kind); });
139549
+ ts.Debug.assert(ts.rangeContainsRange(n.parent, n), "Not a subspan", function () { return "Child: ".concat(ts.Debug.formatSyntaxKind(n.kind), ", parent: ").concat(ts.Debug.formatSyntaxKind(n.parent.kind)); });
139546
139550
  var argumentInfo = getImmediatelyContainingArgumentOrContextualParameterInfo(n, position, sourceFile, checker);
139547
139551
  if (argumentInfo) {
139548
139552
  return { value: argumentInfo };
@@ -139714,7 +139718,7 @@ var ts;
139714
139718
  (function (InlayHints) {
139715
139719
  var maxHintsLength = 30;
139716
139720
  var leadingParameterNameCommentRegexFactory = function (name) {
139717
- return new RegExp("^\\s?/\\*\\*?\\s?" + name + "\\s?\\*\\/\\s?$");
139721
+ return new RegExp("^\\s?/\\*\\*?\\s?".concat(name, "\\s?\\*\\/\\s?$"));
139718
139722
  };
139719
139723
  function shouldShowParameterNameHints(preferences) {
139720
139724
  return preferences.includeInlayParameterNameHints === "literals" || preferences.includeInlayParameterNameHints === "all";
@@ -139778,7 +139782,7 @@ var ts;
139778
139782
  }
139779
139783
  function addParameterHints(text, position, isFirstVariadicArgument) {
139780
139784
  result.push({
139781
- text: "" + (isFirstVariadicArgument ? "..." : "") + truncation(text, maxHintsLength) + ":",
139785
+ text: "".concat(isFirstVariadicArgument ? "..." : "").concat(truncation(text, maxHintsLength), ":"),
139782
139786
  position: position,
139783
139787
  kind: "Parameter" /* Parameter */,
139784
139788
  whitespaceAfter: true,
@@ -139786,7 +139790,7 @@ var ts;
139786
139790
  }
139787
139791
  function addTypeHints(text, position) {
139788
139792
  result.push({
139789
- text: ": " + truncation(text, maxHintsLength),
139793
+ text: ": ".concat(truncation(text, maxHintsLength)),
139790
139794
  position: position,
139791
139795
  kind: "Type" /* Type */,
139792
139796
  whitespaceBefore: true,
@@ -139794,7 +139798,7 @@ var ts;
139794
139798
  }
139795
139799
  function addEnumMemberValueHints(text, position) {
139796
139800
  result.push({
139797
- text: "= " + truncation(text, maxHintsLength),
139801
+ text: "= ".concat(truncation(text, maxHintsLength)),
139798
139802
  position: position,
139799
139803
  kind: "Enum" /* Enum */,
139800
139804
  whitespaceBefore: true,
@@ -140329,7 +140333,7 @@ var ts;
140329
140333
  }
140330
140334
  }
140331
140335
  function getKeyFromNode(exp) {
140332
- return exp.pos.toString() + ":" + exp.end.toString();
140336
+ return "".concat(exp.pos.toString(), ":").concat(exp.end.toString());
140333
140337
  }
140334
140338
  function canBeConvertedToClass(node, checker) {
140335
140339
  var _a, _b, _c, _d;
@@ -144447,7 +144451,7 @@ var ts;
144447
144451
  var insertAtLineStart = isValidLocationToAddComment(sourceFile, startPosition);
144448
144452
  var token = ts.getTouchingToken(sourceFile, insertAtLineStart ? startPosition : position);
144449
144453
  var indent = sourceFile.text.slice(lineStartPosition, startPosition);
144450
- var text = (insertAtLineStart ? "" : this.newLineCharacter) + "//" + commentText + this.newLineCharacter + indent;
144454
+ var text = "".concat(insertAtLineStart ? "" : this.newLineCharacter, "//").concat(commentText).concat(this.newLineCharacter).concat(indent);
144451
144455
  this.insertText(sourceFile, token.getStart(sourceFile), text);
144452
144456
  };
144453
144457
  ChangeTracker.prototype.insertJsdocCommentBefore = function (sourceFile, node, tag) {
@@ -144647,7 +144651,7 @@ var ts;
144647
144651
  };
144648
144652
  ChangeTracker.prototype.getInsertNodeAfterOptions = function (sourceFile, after) {
144649
144653
  var options = this.getInsertNodeAfterOptionsWorker(after);
144650
- return __assign(__assign({}, options), { prefix: after.end === sourceFile.end && ts.isStatement(after) ? (options.prefix ? "\n" + options.prefix : "\n") : options.prefix });
144654
+ return __assign(__assign({}, options), { prefix: after.end === sourceFile.end && ts.isStatement(after) ? (options.prefix ? "\n".concat(options.prefix) : "\n") : options.prefix });
144651
144655
  };
144652
144656
  ChangeTracker.prototype.getInsertNodeAfterOptionsWorker = function (node) {
144653
144657
  switch (node.kind) {
@@ -144681,7 +144685,7 @@ var ts;
144681
144685
  }
144682
144686
  else {
144683
144687
  // `x => {}` -> `function f(x) {}`
144684
- this.insertText(sourceFile, ts.first(node.parameters).getStart(sourceFile), "function " + name + "(");
144688
+ this.insertText(sourceFile, ts.first(node.parameters).getStart(sourceFile), "function ".concat(name, "("));
144685
144689
  // Replacing full range of arrow to get rid of the leading space -- replace ` =>` with `)`
144686
144690
  this.replaceRange(sourceFile, arrow, ts.factory.createToken(21 /* CloseParenToken */));
144687
144691
  }
@@ -144738,7 +144742,7 @@ var ts;
144738
144742
  var nextNode = containingList[index + 1];
144739
144743
  var startPos = skipWhitespacesAndLineBreaks(sourceFile.text, nextNode.getFullStart());
144740
144744
  // write separator and leading trivia of the next element as suffix
144741
- var suffix = "" + ts.tokenToString(nextToken.kind) + sourceFile.text.substring(nextToken.end, startPos);
144745
+ var suffix = "".concat(ts.tokenToString(nextToken.kind)).concat(sourceFile.text.substring(nextToken.end, startPos));
144742
144746
  this.insertNodesAt(sourceFile, startPos, [newNode], { suffix: suffix });
144743
144747
  }
144744
144748
  }
@@ -144783,7 +144787,7 @@ var ts;
144783
144787
  this.replaceRange(sourceFile, ts.createRange(insertPos), newNode, { indentation: indentation, prefix: this.newLineCharacter });
144784
144788
  }
144785
144789
  else {
144786
- this.replaceRange(sourceFile, ts.createRange(end), newNode, { prefix: ts.tokenToString(separator) + " " });
144790
+ this.replaceRange(sourceFile, ts.createRange(end), newNode, { prefix: "".concat(ts.tokenToString(separator), " ") });
144787
144791
  }
144788
144792
  }
144789
144793
  };
@@ -144885,7 +144889,7 @@ var ts;
144885
144889
  var normalized = ts.stableSort(changesInFile, function (a, b) { return (a.range.pos - b.range.pos) || (a.range.end - b.range.end); });
144886
144890
  var _loop_12 = function (i) {
144887
144891
  ts.Debug.assert(normalized[i].range.end <= normalized[i + 1].range.pos, "Changes overlap", function () {
144888
- return JSON.stringify(normalized[i].range) + " and " + JSON.stringify(normalized[i + 1].range);
144892
+ return "".concat(JSON.stringify(normalized[i].range), " and ").concat(JSON.stringify(normalized[i + 1].range));
144889
144893
  });
144890
144894
  };
144891
144895
  // verify that change intervals do not overlap, except possibly at end points.
@@ -144982,7 +144986,7 @@ var ts;
144982
144986
  function applyChanges(text, changes) {
144983
144987
  for (var i = changes.length - 1; i >= 0; i--) {
144984
144988
  var _a = changes[i], span = _a.span, newText = _a.newText;
144985
- text = "" + text.substring(0, span.start) + newText + text.substring(ts.textSpanEnd(span));
144989
+ text = "".concat(text.substring(0, span.start)).concat(newText).concat(text.substring(ts.textSpanEnd(span)));
144986
144990
  }
144987
144991
  return text;
144988
144992
  }
@@ -146113,9 +146117,6 @@ var ts;
146113
146117
  });
146114
146118
  function makeChange(changeTracker, sourceFile, pos) {
146115
146119
  var token = ts.getTokenAtPosition(sourceFile, pos);
146116
- if (!ts.isIdentifier(token)) {
146117
- return ts.Debug.fail("add-name-to-nameless-parameter operates on identifiers, but got a " + ts.Debug.formatSyntaxKind(token.kind));
146118
- }
146119
146120
  var param = token.parent;
146120
146121
  if (!ts.isParameter(param)) {
146121
146122
  return ts.Debug.fail("Tried to add a parameter name to a non-parameter: " + ts.Debug.formatSyntaxKind(token.kind));
@@ -146123,9 +146124,10 @@ var ts;
146123
146124
  var i = param.parent.parameters.indexOf(param);
146124
146125
  ts.Debug.assert(!param.type, "Tried to add a parameter name to a parameter that already had one.");
146125
146126
  ts.Debug.assert(i > -1, "Parameter not found in parent parameter list.");
146127
+ var typeNode = ts.factory.createTypeReferenceNode(param.name, /*typeArguments*/ undefined);
146126
146128
  var replacement = ts.factory.createParameterDeclaration(
146127
- /*decorators*/ undefined, param.modifiers, param.dotDotDotToken, "arg" + i, param.questionToken, ts.factory.createTypeReferenceNode(token, /*typeArguments*/ undefined), param.initializer);
146128
- changeTracker.replaceNode(sourceFile, token, replacement);
146129
+ /*decorators*/ undefined, param.modifiers, param.dotDotDotToken, "arg" + i, param.questionToken, param.dotDotDotToken ? ts.factory.createArrayTypeNode(typeNode) : typeNode, param.initializer);
146130
+ changeTracker.replaceNode(sourceFile, param, replacement);
146129
146131
  }
146130
146132
  })(codefix = ts.codefix || (ts.codefix = {}));
146131
146133
  })(ts || (ts = {}));
@@ -147456,7 +147458,7 @@ var ts;
147456
147458
  if (!res.has(text) && (originalKeywordKind !== undefined && ts.isNonContextualKeyword(originalKeywordKind)
147457
147459
  || checker.resolveName(text, node, 111551 /* Value */, /*excludeGlobals*/ true))) {
147458
147460
  // Unconditionally add an underscore in case `text` is a keyword.
147459
- res.set(text, makeUniqueName("_" + text, identifiers));
147461
+ res.set(text, makeUniqueName("_".concat(text), identifiers));
147460
147462
  }
147461
147463
  });
147462
147464
  return res;
@@ -147556,7 +147558,7 @@ var ts;
147556
147558
  // `const a = require("b").c` --> `import { c as a } from "./b";
147557
147559
  return convertedImports([makeSingleImport(name.text, propertyName, moduleSpecifier, quotePreference)]);
147558
147560
  default:
147559
- return ts.Debug.assertNever(name, "Convert to ES module got invalid syntax form " + name.kind);
147561
+ return ts.Debug.assertNever(name, "Convert to ES module got invalid syntax form ".concat(name.kind));
147560
147562
  }
147561
147563
  }
147562
147564
  function convertAssignment(sourceFile, checker, assignment, changes, exports, useSitesToUnqualify) {
@@ -147607,7 +147609,7 @@ var ts;
147607
147609
  case 168 /* MethodDeclaration */:
147608
147610
  return !ts.isIdentifier(prop.name) ? undefined : functionExpressionToDeclaration(prop.name.text, [ts.factory.createToken(93 /* ExportKeyword */)], prop, useSitesToUnqualify);
147609
147611
  default:
147610
- ts.Debug.assertNever(prop, "Convert to ES6 got invalid prop kind " + prop.kind);
147612
+ ts.Debug.assertNever(prop, "Convert to ES6 got invalid prop kind ".concat(prop.kind));
147611
147613
  }
147612
147614
  });
147613
147615
  return statements && [statements, false];
@@ -147741,7 +147743,7 @@ var ts;
147741
147743
  case 79 /* Identifier */:
147742
147744
  return convertSingleIdentifierImport(name, moduleSpecifier, checker, identifiers, quotePreference);
147743
147745
  default:
147744
- return ts.Debug.assertNever(name, "Convert to ES module got invalid name kind " + name.kind);
147746
+ return ts.Debug.assertNever(name, "Convert to ES module got invalid name kind ".concat(name.kind));
147745
147747
  }
147746
147748
  }
147747
147749
  /**
@@ -147798,7 +147800,7 @@ var ts;
147798
147800
  // Identifiers helpers
147799
147801
  function makeUniqueName(name, identifiers) {
147800
147802
  while (identifiers.original.has(name) || identifiers.additional.has(name)) {
147801
- name = "_" + name;
147803
+ name = "_".concat(name);
147802
147804
  }
147803
147805
  identifiers.additional.add(name);
147804
147806
  return name;
@@ -147878,7 +147880,7 @@ var ts;
147878
147880
  if (!qualifiedName)
147879
147881
  return undefined;
147880
147882
  var changes = ts.textChanges.ChangeTracker.with(context, function (t) { return doChange(t, context.sourceFile, qualifiedName); });
147881
- var newText = qualifiedName.left.text + "[\"" + qualifiedName.right.text + "\"]";
147883
+ var newText = "".concat(qualifiedName.left.text, "[\"").concat(qualifiedName.right.text, "\"]");
147882
147884
  return [codefix.createCodeFixAction(fixId, changes, [ts.Diagnostics.Rewrite_as_the_indexed_access_type_0, newText], fixId, ts.Diagnostics.Rewrite_all_as_indexed_access_types)];
147883
147885
  },
147884
147886
  fixIds: [fixId],
@@ -148275,7 +148277,7 @@ var ts;
148275
148277
  break;
148276
148278
  }
148277
148279
  default:
148278
- ts.Debug.assertNever(fix, "fix wasn't never - got kind " + fix.kind);
148280
+ ts.Debug.assertNever(fix, "fix wasn't never - got kind ".concat(fix.kind));
148279
148281
  }
148280
148282
  function reduceAddAsTypeOnlyValues(prevValue, newValue) {
148281
148283
  // `NotAllowed` overrides `Required` because one addition of a new import might be required to be type-only
@@ -148319,7 +148321,7 @@ var ts;
148319
148321
  return newEntry;
148320
148322
  }
148321
148323
  function newImportsKey(moduleSpecifier, topLevelTypeOnly) {
148322
- return (topLevelTypeOnly ? 1 : 0) + "|" + moduleSpecifier;
148324
+ return "".concat(topLevelTypeOnly ? 1 : 0, "|").concat(moduleSpecifier);
148323
148325
  }
148324
148326
  }
148325
148327
  function writeFixes(changeTracker) {
@@ -148772,7 +148774,7 @@ var ts;
148772
148774
  case ts.ModuleKind.NodeNext:
148773
148775
  return importingFile.impliedNodeFormat === ts.ModuleKind.ESNext ? 2 /* Namespace */ : 3 /* CommonJS */;
148774
148776
  default:
148775
- return ts.Debug.assertNever(moduleKind, "Unexpected moduleKind " + moduleKind);
148777
+ return ts.Debug.assertNever(moduleKind, "Unexpected moduleKind ".concat(moduleKind));
148776
148778
  }
148777
148779
  }
148778
148780
  function getFixesInfoForNonUMDImport(_a, symbolToken, useAutoImportProvider) {
@@ -148879,7 +148881,7 @@ var ts;
148879
148881
  switch (fix.kind) {
148880
148882
  case 0 /* UseNamespace */:
148881
148883
  addNamespaceQualifier(changes, sourceFile, fix);
148882
- return [ts.Diagnostics.Change_0_to_1, symbolName, fix.namespacePrefix + "." + symbolName];
148884
+ return [ts.Diagnostics.Change_0_to_1, symbolName, "".concat(fix.namespacePrefix, ".").concat(symbolName)];
148883
148885
  case 1 /* JsdocTypeImport */:
148884
148886
  addImportType(changes, sourceFile, fix, quotePreference);
148885
148887
  return [ts.Diagnostics.Change_0_to_1, symbolName, getImportTypePrefix(fix.moduleSpecifier, quotePreference) + symbolName];
@@ -148903,7 +148905,7 @@ var ts;
148903
148905
  return [importKind === 1 /* Default */ ? ts.Diagnostics.Import_default_0_from_module_1 : ts.Diagnostics.Import_0_from_module_1, symbolName, moduleSpecifier];
148904
148906
  }
148905
148907
  default:
148906
- return ts.Debug.assertNever(fix, "Unexpected fix kind " + fix.kind);
148908
+ return ts.Debug.assertNever(fix, "Unexpected fix kind ".concat(fix.kind));
148907
148909
  }
148908
148910
  }
148909
148911
  function doAddExistingFix(changes, sourceFile, clause, defaultImport, namedImports, compilerOptions) {
@@ -148999,7 +149001,7 @@ var ts;
148999
149001
  }
149000
149002
  function getImportTypePrefix(moduleSpecifier, quotePreference) {
149001
149003
  var quote = ts.getQuoteFromPreference(quotePreference);
149002
- return "import(" + quote + moduleSpecifier + quote + ").";
149004
+ return "import(".concat(quote).concat(moduleSpecifier).concat(quote, ").");
149003
149005
  }
149004
149006
  function needsTypeOnly(_a) {
149005
149007
  var addAsTypeOnly = _a.addAsTypeOnly;
@@ -149092,7 +149094,7 @@ var ts;
149092
149094
  lastCharWasValid = isValid;
149093
149095
  }
149094
149096
  // Need `|| "_"` to ensure result isn't empty.
149095
- return !ts.isStringANonContextualKeyword(res) ? res || "_" : "_" + res;
149097
+ return !ts.isStringANonContextualKeyword(res) ? res || "_" : "_".concat(res);
149096
149098
  }
149097
149099
  codefix.moduleSpecifierToValidIdentifier = moduleSpecifierToValidIdentifier;
149098
149100
  })(codefix = ts.codefix || (ts.codefix = {}));
@@ -150292,7 +150294,7 @@ var ts;
150292
150294
  break;
150293
150295
  }
150294
150296
  default:
150295
- ts.Debug.fail("Bad fixId: " + context.fixId);
150297
+ ts.Debug.fail("Bad fixId: ".concat(context.fixId));
150296
150298
  }
150297
150299
  });
150298
150300
  },
@@ -150740,7 +150742,7 @@ var ts;
150740
150742
  if (!isValidCharacter(character)) {
150741
150743
  return;
150742
150744
  }
150743
- var replacement = useHtmlEntity ? htmlEntity[character] : "{" + ts.quote(sourceFile, preferences, character) + "}";
150745
+ var replacement = useHtmlEntity ? htmlEntity[character] : "{".concat(ts.quote(sourceFile, preferences, character), "}");
150744
150746
  changes.replaceRangeWithText(sourceFile, { pos: start, end: start + 1 }, replacement);
150745
150747
  }
150746
150748
  })(codefix = ts.codefix || (ts.codefix = {}));
@@ -150931,11 +150933,11 @@ var ts;
150931
150933
  token = ts.cast(token.parent, ts.isInferTypeNode).typeParameter.name;
150932
150934
  }
150933
150935
  if (ts.isIdentifier(token) && canPrefix(token)) {
150934
- changes.replaceNode(sourceFile, token, ts.factory.createIdentifier("_" + token.text));
150936
+ changes.replaceNode(sourceFile, token, ts.factory.createIdentifier("_".concat(token.text)));
150935
150937
  if (ts.isParameter(token.parent)) {
150936
150938
  ts.getJSDocParameterTags(token.parent).forEach(function (tag) {
150937
150939
  if (ts.isIdentifier(tag.name)) {
150938
- changes.replaceNode(sourceFile, tag.name, ts.factory.createIdentifier("_" + tag.name.text));
150940
+ changes.replaceNode(sourceFile, tag.name, ts.factory.createIdentifier("_".concat(tag.name.text)));
150939
150941
  }
150940
150942
  });
150941
150943
  }
@@ -151271,7 +151273,7 @@ var ts;
151271
151273
  }); }
151272
151274
  });
151273
151275
  function doChange(changes, sourceFile, name) {
151274
- changes.replaceNodeWithText(sourceFile, name, name.text + "()");
151276
+ changes.replaceNodeWithText(sourceFile, name, "".concat(name.text, "()"));
151275
151277
  }
151276
151278
  function getCallName(sourceFile, start) {
151277
151279
  var token = ts.getTokenAtPosition(sourceFile, start);
@@ -152420,7 +152422,7 @@ var ts;
152420
152422
  var parameters = [];
152421
152423
  var length = Math.max.apply(Math, calls.map(function (c) { return c.argumentTypes.length; }));
152422
152424
  var _loop_16 = function (i) {
152423
- var symbol = checker.createSymbol(1 /* FunctionScopedVariable */, ts.escapeLeadingUnderscores("arg" + i));
152425
+ var symbol = checker.createSymbol(1 /* FunctionScopedVariable */, ts.escapeLeadingUnderscores("arg".concat(i)));
152424
152426
  symbol.type = combineTypes(calls.map(function (call) { return call.argumentTypes[i] || checker.getUndefinedType(); }));
152425
152427
  if (calls.some(function (call) { return call.argumentTypes[i] === undefined; })) {
152426
152428
  symbol.flags |= 16777216 /* Optional */;
@@ -152523,7 +152525,7 @@ var ts;
152523
152525
  codefix.createCodeFixActionWithoutFixAll(fixName, [codefix.createFileTextChanges(sourceFile.fileName, [
152524
152526
  ts.createTextChange(sourceFile.checkJsDirective
152525
152527
  ? ts.createTextSpanFromBounds(sourceFile.checkJsDirective.pos, sourceFile.checkJsDirective.end)
152526
- : ts.createTextSpan(0, 0), "// @ts-nocheck" + newLineCharacter),
152528
+ : ts.createTextSpan(0, 0), "// @ts-nocheck".concat(newLineCharacter)),
152527
152529
  ])], ts.Diagnostics.Disable_checking_for_this_file),
152528
152530
  ];
152529
152531
  if (ts.textChanges.isValidLocationToAddComment(sourceFile, span.start)) {
@@ -152579,11 +152581,18 @@ var ts;
152579
152581
  };
152580
152582
  }
152581
152583
  codefix.getNoopSymbolTrackerWithResolver = getNoopSymbolTrackerWithResolver;
152584
+ var PreserveOptionalFlags;
152585
+ (function (PreserveOptionalFlags) {
152586
+ PreserveOptionalFlags[PreserveOptionalFlags["Method"] = 1] = "Method";
152587
+ PreserveOptionalFlags[PreserveOptionalFlags["Property"] = 2] = "Property";
152588
+ PreserveOptionalFlags[PreserveOptionalFlags["All"] = 3] = "All";
152589
+ })(PreserveOptionalFlags = codefix.PreserveOptionalFlags || (codefix.PreserveOptionalFlags = {}));
152582
152590
  /**
152583
152591
  * `addClassElement` will not be called if we can't figure out a representation for `symbol` in `enclosingDeclaration`.
152584
152592
  * @param body If defined, this will be the body of the member node passed to `addClassElement`. Otherwise, the body will default to a stub.
152585
152593
  */
152586
- function addNewNodeForMemberSymbol(symbol, enclosingDeclaration, sourceFile, context, preferences, importAdder, addClassElement, body, isAmbient) {
152594
+ function addNewNodeForMemberSymbol(symbol, enclosingDeclaration, sourceFile, context, preferences, importAdder, addClassElement, body, preserveOptional, isAmbient) {
152595
+ if (preserveOptional === void 0) { preserveOptional = 3 /* All */; }
152587
152596
  if (isAmbient === void 0) { isAmbient = false; }
152588
152597
  var declarations = symbol.getDeclarations();
152589
152598
  if (!(declarations && declarations.length)) {
@@ -152612,7 +152621,7 @@ var ts;
152612
152621
  }
152613
152622
  }
152614
152623
  addClassElement(ts.factory.createPropertyDeclaration(
152615
- /*decorators*/ undefined, modifiers, name, optional ? ts.factory.createToken(57 /* QuestionToken */) : undefined, typeNode,
152624
+ /*decorators*/ undefined, modifiers, name, optional && (preserveOptional & 2 /* Property */) ? ts.factory.createToken(57 /* QuestionToken */) : undefined, typeNode,
152616
152625
  /*initializer*/ undefined));
152617
152626
  break;
152618
152627
  case 171 /* GetAccessor */:
@@ -152676,13 +152685,13 @@ var ts;
152676
152685
  }
152677
152686
  else {
152678
152687
  ts.Debug.assert(declarations.length === signatures.length, "Declarations and signatures should match count");
152679
- addClassElement(createMethodImplementingSignatures(checker, context, enclosingDeclaration, signatures, name, optional, modifiers, quotePreference, body));
152688
+ addClassElement(createMethodImplementingSignatures(checker, context, enclosingDeclaration, signatures, name, optional && !!(preserveOptional & 1 /* Method */), modifiers, quotePreference, body));
152680
152689
  }
152681
152690
  }
152682
152691
  break;
152683
152692
  }
152684
152693
  function outputMethod(quotePreference, signature, modifiers, name, body) {
152685
- var method = createSignatureDeclarationFromSignature(168 /* MethodDeclaration */, context, quotePreference, signature, body, name, modifiers, optional, enclosingDeclaration, importAdder);
152694
+ var method = createSignatureDeclarationFromSignature(168 /* MethodDeclaration */, context, quotePreference, signature, body, name, modifiers, optional && !!(preserveOptional & 1 /* Method */), enclosingDeclaration, importAdder);
152686
152695
  if (method)
152687
152696
  addClassElement(method);
152688
152697
  }
@@ -152782,7 +152791,7 @@ var ts;
152782
152791
  var typeParameters = isJs || typeArguments === undefined
152783
152792
  ? undefined
152784
152793
  : ts.map(typeArguments, function (_, i) {
152785
- return ts.factory.createTypeParameterDeclaration(84 /* T */ + typeArguments.length - 1 <= 90 /* Z */ ? String.fromCharCode(84 /* T */ + i) : "T" + i);
152794
+ return ts.factory.createTypeParameterDeclaration(84 /* T */ + typeArguments.length - 1 <= 90 /* Z */ ? String.fromCharCode(84 /* T */ + i) : "T".concat(i));
152786
152795
  });
152787
152796
  var parameters = createDummyParameters(args.length, names, types, /*minArgumentCount*/ undefined, isJs);
152788
152797
  var type = isJs || contextualType === undefined
@@ -152817,7 +152826,7 @@ var ts;
152817
152826
  /*decorators*/ undefined,
152818
152827
  /*modifiers*/ undefined,
152819
152828
  /*dotDotDotToken*/ undefined,
152820
- /*name*/ names && names[i] || "arg" + i,
152829
+ /*name*/ names && names[i] || "arg".concat(i),
152821
152830
  /*questionToken*/ minArgumentCount !== undefined && i >= minArgumentCount ? ts.factory.createToken(57 /* QuestionToken */) : undefined,
152822
152831
  /*type*/ inJs ? undefined : types && types[i] || ts.factory.createKeywordTypeNode(130 /* AnyKeyword */),
152823
152832
  /*initializer*/ undefined);
@@ -153068,7 +153077,7 @@ var ts;
153068
153077
  }
153069
153078
  var name = declaration.name.text;
153070
153079
  var startWithUnderscore = ts.startsWithUnderscore(name);
153071
- var fieldName = createPropertyName(startWithUnderscore ? name : ts.getUniqueName("_" + name, file), declaration.name);
153080
+ var fieldName = createPropertyName(startWithUnderscore ? name : ts.getUniqueName("_".concat(name), file), declaration.name);
153072
153081
  var accessorName = createPropertyName(startWithUnderscore ? ts.getUniqueName(name.substring(1), file) : name, declaration.name);
153073
153082
  return {
153074
153083
  isStatic: ts.hasStaticModifier(declaration),
@@ -154092,7 +154101,7 @@ var ts;
154092
154101
  changes.insertNodeAfter(exportingSourceFile, exportNode, ts.factory.createExportDefault(ts.factory.createIdentifier(exportName.text)));
154093
154102
  break;
154094
154103
  default:
154095
- ts.Debug.fail("Unexpected exportNode kind " + exportNode.kind);
154104
+ ts.Debug.fail("Unexpected exportNode kind ".concat(exportNode.kind));
154096
154105
  }
154097
154106
  }
154098
154107
  }
@@ -154180,7 +154189,7 @@ var ts;
154180
154189
  break;
154181
154190
  }
154182
154191
  default:
154183
- ts.Debug.assertNever(parent, "Unexpected parent kind " + parent.kind);
154192
+ ts.Debug.assertNever(parent, "Unexpected parent kind ".concat(parent.kind));
154184
154193
  }
154185
154194
  }
154186
154195
  function makeImportSpecifier(propertyName, name) {
@@ -154744,7 +154753,7 @@ var ts;
154744
154753
  var newComment = ts.displayPartsToString(parameterDocComment);
154745
154754
  if (newComment.length) {
154746
154755
  ts.setSyntheticLeadingComments(result, [{
154747
- text: "*\n" + newComment.split("\n").map(function (c) { return " * " + c; }).join("\n") + "\n ",
154756
+ text: "*\n".concat(newComment.split("\n").map(function (c) { return " * ".concat(c); }).join("\n"), "\n "),
154748
154757
  kind: 3 /* MultiLineCommentTrivia */,
154749
154758
  pos: -1,
154750
154759
  end: -1,
@@ -154889,7 +154898,7 @@ var ts;
154889
154898
  usedFunctionNames.set(description, true);
154890
154899
  functionActions.push({
154891
154900
  description: description,
154892
- name: "function_scope_" + i,
154901
+ name: "function_scope_".concat(i),
154893
154902
  kind: extractFunctionAction.kind
154894
154903
  });
154895
154904
  }
@@ -154897,7 +154906,7 @@ var ts;
154897
154906
  else if (!innermostErrorFunctionAction) {
154898
154907
  innermostErrorFunctionAction = {
154899
154908
  description: description,
154900
- name: "function_scope_" + i,
154909
+ name: "function_scope_".concat(i),
154901
154910
  notApplicableReason: getStringError(functionExtraction.errors),
154902
154911
  kind: extractFunctionAction.kind
154903
154912
  };
@@ -154913,7 +154922,7 @@ var ts;
154913
154922
  usedConstantNames.set(description_1, true);
154914
154923
  constantActions.push({
154915
154924
  description: description_1,
154916
- name: "constant_scope_" + i,
154925
+ name: "constant_scope_".concat(i),
154917
154926
  kind: extractConstantAction.kind
154918
154927
  });
154919
154928
  }
@@ -154921,7 +154930,7 @@ var ts;
154921
154930
  else if (!innermostErrorConstantAction) {
154922
154931
  innermostErrorConstantAction = {
154923
154932
  description: description,
154924
- name: "constant_scope_" + i,
154933
+ name: "constant_scope_".concat(i),
154925
154934
  notApplicableReason: getStringError(constantExtraction.errors),
154926
154935
  kind: extractConstantAction.kind
154927
154936
  };
@@ -155505,28 +155514,28 @@ var ts;
155505
155514
  case 212 /* FunctionExpression */:
155506
155515
  case 255 /* FunctionDeclaration */:
155507
155516
  return scope.name
155508
- ? "function '" + scope.name.text + "'"
155517
+ ? "function '".concat(scope.name.text, "'")
155509
155518
  : ts.ANONYMOUS;
155510
155519
  case 213 /* ArrowFunction */:
155511
155520
  return "arrow function";
155512
155521
  case 168 /* MethodDeclaration */:
155513
- return "method '" + scope.name.getText() + "'";
155522
+ return "method '".concat(scope.name.getText(), "'");
155514
155523
  case 171 /* GetAccessor */:
155515
- return "'get " + scope.name.getText() + "'";
155524
+ return "'get ".concat(scope.name.getText(), "'");
155516
155525
  case 172 /* SetAccessor */:
155517
- return "'set " + scope.name.getText() + "'";
155526
+ return "'set ".concat(scope.name.getText(), "'");
155518
155527
  default:
155519
- throw ts.Debug.assertNever(scope, "Unexpected scope kind " + scope.kind);
155528
+ throw ts.Debug.assertNever(scope, "Unexpected scope kind ".concat(scope.kind));
155520
155529
  }
155521
155530
  }
155522
155531
  function getDescriptionForClassLikeDeclaration(scope) {
155523
155532
  return scope.kind === 256 /* ClassDeclaration */
155524
- ? scope.name ? "class '" + scope.name.text + "'" : "anonymous class declaration"
155525
- : scope.name ? "class expression '" + scope.name.text + "'" : "anonymous class expression";
155533
+ ? scope.name ? "class '".concat(scope.name.text, "'") : "anonymous class declaration"
155534
+ : scope.name ? "class expression '".concat(scope.name.text, "'") : "anonymous class expression";
155526
155535
  }
155527
155536
  function getDescriptionForModuleLikeDeclaration(scope) {
155528
155537
  return scope.kind === 261 /* ModuleBlock */
155529
- ? "namespace '" + scope.parent.name.getText() + "'"
155538
+ ? "namespace '".concat(scope.parent.name.getText(), "'")
155530
155539
  : scope.externalModuleIndicator ? 0 /* Module */ : 1 /* Global */;
155531
155540
  }
155532
155541
  var SpecialScope;
@@ -156993,7 +157002,7 @@ var ts;
156993
157002
  case 253 /* VariableDeclaration */:
156994
157003
  return ts.tryCast(node.name, ts.isIdentifier);
156995
157004
  default:
156996
- return ts.Debug.assertNever(node, "Unexpected node kind " + node.kind);
157005
+ return ts.Debug.assertNever(node, "Unexpected node kind ".concat(node.kind));
156997
157006
  }
156998
157007
  }
156999
157008
  function updateNamespaceLikeImport(changes, sourceFile, checker, movedSymbols, newModuleName, newModuleSpecifier, oldImportId, oldImportNode) {
@@ -157030,7 +157039,7 @@ var ts;
157030
157039
  case 253 /* VariableDeclaration */:
157031
157040
  return ts.factory.createVariableDeclaration(newNamespaceId, /*exclamationToken*/ undefined, /*type*/ undefined, createRequireCall(newModuleString));
157032
157041
  default:
157033
- return ts.Debug.assertNever(node, "Unexpected node kind " + node.kind);
157042
+ return ts.Debug.assertNever(node, "Unexpected node kind ".concat(node.kind));
157034
157043
  }
157035
157044
  }
157036
157045
  function moduleSpecifierFromImport(i) {
@@ -157117,7 +157126,7 @@ var ts;
157117
157126
  deleteUnusedImportsInVariableDeclaration(sourceFile, importDecl, changes, isUnused);
157118
157127
  break;
157119
157128
  default:
157120
- ts.Debug.assertNever(importDecl, "Unexpected import decl kind " + importDecl.kind);
157129
+ ts.Debug.assertNever(importDecl, "Unexpected import decl kind ".concat(importDecl.kind));
157121
157130
  }
157122
157131
  }
157123
157132
  function deleteUnusedImportsInDeclaration(sourceFile, importDecl, changes, isUnused) {
@@ -157217,7 +157226,7 @@ var ts;
157217
157226
  var name = ts.combinePaths(inDirectory, newModuleName + extension);
157218
157227
  if (!host.fileExists(name))
157219
157228
  return newModuleName; // TODO: GH#18217
157220
- newModuleName = moduleName + "." + i;
157229
+ newModuleName = "".concat(moduleName, ".").concat(i);
157221
157230
  }
157222
157231
  }
157223
157232
  function getNewModuleName(movedSymbols) {
@@ -157324,7 +157333,7 @@ var ts;
157324
157333
  return name ? makeVariableStatement(name, i.type, createRequireCall(moduleSpecifier), i.parent.flags) : undefined;
157325
157334
  }
157326
157335
  default:
157327
- return ts.Debug.assertNever(i, "Unexpected import kind " + i.kind);
157336
+ return ts.Debug.assertNever(i, "Unexpected import kind ".concat(i.kind));
157328
157337
  }
157329
157338
  }
157330
157339
  function filterNamedBindings(namedBindings, keep) {
@@ -157439,7 +157448,7 @@ var ts;
157439
157448
  case 200 /* ObjectBindingPattern */:
157440
157449
  return ts.firstDefined(name.elements, function (em) { return ts.isOmittedExpression(em) ? undefined : forEachTopLevelDeclarationInBindingName(em.name, cb); });
157441
157450
  default:
157442
- return ts.Debug.assertNever(name, "Unexpected name kind " + name.kind);
157451
+ return ts.Debug.assertNever(name, "Unexpected name kind ".concat(name.kind));
157443
157452
  }
157444
157453
  }
157445
157454
  function nameOfTopLevelDeclaration(d) {
@@ -157500,7 +157509,7 @@ var ts;
157500
157509
  case 237 /* ExpressionStatement */:
157501
157510
  return ts.Debug.fail(); // Shouldn't try to add 'export' keyword to `exports.x = ...`
157502
157511
  default:
157503
- return ts.Debug.assertNever(d, "Unexpected declaration kind " + d.kind);
157512
+ return ts.Debug.assertNever(d, "Unexpected declaration kind ".concat(d.kind));
157504
157513
  }
157505
157514
  }
157506
157515
  function addCommonjsExport(decl) {
@@ -157522,7 +157531,7 @@ var ts;
157522
157531
  case 237 /* ExpressionStatement */:
157523
157532
  return ts.Debug.fail("Can't export an ExpressionStatement"); // Shouldn't try to add 'export' keyword to `exports.x = ...`
157524
157533
  default:
157525
- return ts.Debug.assertNever(decl, "Unexpected decl kind " + decl.kind);
157534
+ return ts.Debug.assertNever(decl, "Unexpected decl kind ".concat(decl.kind));
157526
157535
  }
157527
157536
  }
157528
157537
  /** Creates `exports.x = x;` */
@@ -158160,7 +158169,7 @@ var ts;
158160
158169
  return [functionDeclaration.name, functionDeclaration.parent.name];
158161
158170
  return [functionDeclaration.parent.name];
158162
158171
  default:
158163
- return ts.Debug.assertNever(functionDeclaration, "Unexpected function declaration kind " + functionDeclaration.kind);
158172
+ return ts.Debug.assertNever(functionDeclaration, "Unexpected function declaration kind ".concat(functionDeclaration.kind));
158164
158173
  }
158165
158174
  }
158166
158175
  })(convertParamsToDestructuredObject = refactor.convertParamsToDestructuredObject || (refactor.convertParamsToDestructuredObject = {}));
@@ -158864,7 +158873,7 @@ var ts;
158864
158873
  var textPos = ts.scanner.getTextPos();
158865
158874
  if (textPos <= end) {
158866
158875
  if (token === 79 /* Identifier */) {
158867
- ts.Debug.fail("Did not expect " + ts.Debug.formatSyntaxKind(parent.kind) + " to have an Identifier in its trivia");
158876
+ ts.Debug.fail("Did not expect ".concat(ts.Debug.formatSyntaxKind(parent.kind), " to have an Identifier in its trivia"));
158868
158877
  }
158869
158878
  nodes.push(createNode(token, pos, textPos, parent));
158870
158879
  }
@@ -159746,7 +159755,7 @@ var ts;
159746
159755
  function getValidSourceFile(fileName) {
159747
159756
  var sourceFile = program.getSourceFile(fileName);
159748
159757
  if (!sourceFile) {
159749
- var error = new Error("Could not find source file: '" + fileName + "'.");
159758
+ var error = new Error("Could not find source file: '".concat(fileName, "'."));
159750
159759
  // We've been having trouble debugging this, so attach sidecar data for the tsserver log.
159751
159760
  // See https://github.com/microsoft/TypeScript/issues/30180.
159752
159761
  error.ProgramFiles = program.getSourceFiles().map(function (f) { return f.fileName; });
@@ -160421,7 +160430,7 @@ var ts;
160421
160430
  var element = token.kind === 31 /* GreaterThanToken */ && ts.isJsxOpeningElement(token.parent) ? token.parent.parent
160422
160431
  : ts.isJsxText(token) && ts.isJsxElement(token.parent) ? token.parent : undefined;
160423
160432
  if (element && isUnclosedTag(element)) {
160424
- return { newText: "</" + element.openingElement.tagName.getText(sourceFile) + ">" };
160433
+ return { newText: "</".concat(element.openingElement.tagName.getText(sourceFile), ">") };
160425
160434
  }
160426
160435
  var fragment = token.kind === 31 /* GreaterThanToken */ && ts.isJsxOpeningFragment(token.parent) ? token.parent.parent
160427
160436
  : ts.isJsxText(token) && ts.isJsxFragment(token.parent) ? token.parent : undefined;
@@ -160527,7 +160536,7 @@ var ts;
160527
160536
  pos = commentRange.end + 1;
160528
160537
  }
160529
160538
  else { // If it's not in a comment range, then we need to comment the uncommented portions.
160530
- var newPos = text.substring(pos, textRange.end).search("(" + openMultilineRegex + ")|(" + closeMultilineRegex + ")");
160539
+ var newPos = text.substring(pos, textRange.end).search("(".concat(openMultilineRegex, ")|(").concat(closeMultilineRegex, ")"));
160531
160540
  isCommenting = insertComment !== undefined
160532
160541
  ? insertComment
160533
160542
  : isCommenting || !ts.isTextWhiteSpaceLike(text, pos, newPos === -1 ? textRange.end : pos + newPos); // If isCommenting is already true we don't need to check whitespace again.
@@ -160922,14 +160931,14 @@ var ts;
160922
160931
  case ts.LanguageServiceMode.PartialSemantic:
160923
160932
  invalidOperationsInPartialSemanticMode.forEach(function (key) {
160924
160933
  return ls[key] = function () {
160925
- throw new Error("LanguageService Operation: " + key + " not allowed in LanguageServiceMode.PartialSemantic");
160934
+ throw new Error("LanguageService Operation: ".concat(key, " not allowed in LanguageServiceMode.PartialSemantic"));
160926
160935
  };
160927
160936
  });
160928
160937
  break;
160929
160938
  case ts.LanguageServiceMode.Syntactic:
160930
160939
  invalidOperationsInSyntacticMode.forEach(function (key) {
160931
160940
  return ls[key] = function () {
160932
- throw new Error("LanguageService Operation: " + key + " not allowed in LanguageServiceMode.Syntactic");
160941
+ throw new Error("LanguageService Operation: ".concat(key, " not allowed in LanguageServiceMode.Syntactic"));
160933
160942
  };
160934
160943
  });
160935
160944
  break;
@@ -161911,13 +161920,13 @@ var ts;
161911
161920
  var result = action();
161912
161921
  if (logPerformance) {
161913
161922
  var end = ts.timestamp();
161914
- logger.log(actionDescription + " completed in " + (end - start) + " msec");
161923
+ logger.log("".concat(actionDescription, " completed in ").concat(end - start, " msec"));
161915
161924
  if (ts.isString(result)) {
161916
161925
  var str = result;
161917
161926
  if (str.length > 128) {
161918
161927
  str = str.substring(0, 128) + "...";
161919
161928
  }
161920
- logger.log(" result.length=" + str.length + ", result='" + JSON.stringify(str) + "'");
161929
+ logger.log(" result.length=".concat(str.length, ", result='").concat(JSON.stringify(str), "'"));
161921
161930
  }
161922
161931
  }
161923
161932
  return result;
@@ -161999,7 +162008,7 @@ var ts;
161999
162008
  * Update the list of scripts known to the compiler
162000
162009
  */
162001
162010
  LanguageServiceShimObject.prototype.refresh = function (throwOnError) {
162002
- this.forwardJSONCall("refresh(" + throwOnError + ")", function () { return null; } // eslint-disable-line no-null/no-null
162011
+ this.forwardJSONCall("refresh(".concat(throwOnError, ")"), function () { return null; } // eslint-disable-line no-null/no-null
162003
162012
  );
162004
162013
  };
162005
162014
  LanguageServiceShimObject.prototype.cleanupSemanticCache = function () {
@@ -162015,43 +162024,43 @@ var ts;
162015
162024
  };
162016
162025
  LanguageServiceShimObject.prototype.getSyntacticClassifications = function (fileName, start, length) {
162017
162026
  var _this = this;
162018
- return this.forwardJSONCall("getSyntacticClassifications('" + fileName + "', " + start + ", " + length + ")", function () { return _this.languageService.getSyntacticClassifications(fileName, ts.createTextSpan(start, length)); });
162027
+ return this.forwardJSONCall("getSyntacticClassifications('".concat(fileName, "', ").concat(start, ", ").concat(length, ")"), function () { return _this.languageService.getSyntacticClassifications(fileName, ts.createTextSpan(start, length)); });
162019
162028
  };
162020
162029
  LanguageServiceShimObject.prototype.getSemanticClassifications = function (fileName, start, length) {
162021
162030
  var _this = this;
162022
- return this.forwardJSONCall("getSemanticClassifications('" + fileName + "', " + start + ", " + length + ")", function () { return _this.languageService.getSemanticClassifications(fileName, ts.createTextSpan(start, length)); });
162031
+ return this.forwardJSONCall("getSemanticClassifications('".concat(fileName, "', ").concat(start, ", ").concat(length, ")"), function () { return _this.languageService.getSemanticClassifications(fileName, ts.createTextSpan(start, length)); });
162023
162032
  };
162024
162033
  LanguageServiceShimObject.prototype.getEncodedSyntacticClassifications = function (fileName, start, length) {
162025
162034
  var _this = this;
162026
- return this.forwardJSONCall("getEncodedSyntacticClassifications('" + fileName + "', " + start + ", " + length + ")",
162035
+ return this.forwardJSONCall("getEncodedSyntacticClassifications('".concat(fileName, "', ").concat(start, ", ").concat(length, ")"),
162027
162036
  // directly serialize the spans out to a string. This is much faster to decode
162028
162037
  // on the managed side versus a full JSON array.
162029
162038
  function () { return convertClassifications(_this.languageService.getEncodedSyntacticClassifications(fileName, ts.createTextSpan(start, length))); });
162030
162039
  };
162031
162040
  LanguageServiceShimObject.prototype.getEncodedSemanticClassifications = function (fileName, start, length) {
162032
162041
  var _this = this;
162033
- return this.forwardJSONCall("getEncodedSemanticClassifications('" + fileName + "', " + start + ", " + length + ")",
162042
+ return this.forwardJSONCall("getEncodedSemanticClassifications('".concat(fileName, "', ").concat(start, ", ").concat(length, ")"),
162034
162043
  // directly serialize the spans out to a string. This is much faster to decode
162035
162044
  // on the managed side versus a full JSON array.
162036
162045
  function () { return convertClassifications(_this.languageService.getEncodedSemanticClassifications(fileName, ts.createTextSpan(start, length))); });
162037
162046
  };
162038
162047
  LanguageServiceShimObject.prototype.getSyntacticDiagnostics = function (fileName) {
162039
162048
  var _this = this;
162040
- return this.forwardJSONCall("getSyntacticDiagnostics('" + fileName + "')", function () {
162049
+ return this.forwardJSONCall("getSyntacticDiagnostics('".concat(fileName, "')"), function () {
162041
162050
  var diagnostics = _this.languageService.getSyntacticDiagnostics(fileName);
162042
162051
  return _this.realizeDiagnostics(diagnostics);
162043
162052
  });
162044
162053
  };
162045
162054
  LanguageServiceShimObject.prototype.getSemanticDiagnostics = function (fileName) {
162046
162055
  var _this = this;
162047
- return this.forwardJSONCall("getSemanticDiagnostics('" + fileName + "')", function () {
162056
+ return this.forwardJSONCall("getSemanticDiagnostics('".concat(fileName, "')"), function () {
162048
162057
  var diagnostics = _this.languageService.getSemanticDiagnostics(fileName);
162049
162058
  return _this.realizeDiagnostics(diagnostics);
162050
162059
  });
162051
162060
  };
162052
162061
  LanguageServiceShimObject.prototype.getSuggestionDiagnostics = function (fileName) {
162053
162062
  var _this = this;
162054
- return this.forwardJSONCall("getSuggestionDiagnostics('" + fileName + "')", function () { return _this.realizeDiagnostics(_this.languageService.getSuggestionDiagnostics(fileName)); });
162063
+ return this.forwardJSONCall("getSuggestionDiagnostics('".concat(fileName, "')"), function () { return _this.realizeDiagnostics(_this.languageService.getSuggestionDiagnostics(fileName)); });
162055
162064
  };
162056
162065
  LanguageServiceShimObject.prototype.getCompilerOptionsDiagnostics = function () {
162057
162066
  var _this = this;
@@ -162067,7 +162076,7 @@ var ts;
162067
162076
  */
162068
162077
  LanguageServiceShimObject.prototype.getQuickInfoAtPosition = function (fileName, position) {
162069
162078
  var _this = this;
162070
- return this.forwardJSONCall("getQuickInfoAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getQuickInfoAtPosition(fileName, position); });
162079
+ return this.forwardJSONCall("getQuickInfoAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getQuickInfoAtPosition(fileName, position); });
162071
162080
  };
162072
162081
  /// NAMEORDOTTEDNAMESPAN
162073
162082
  /**
@@ -162076,7 +162085,7 @@ var ts;
162076
162085
  */
162077
162086
  LanguageServiceShimObject.prototype.getNameOrDottedNameSpan = function (fileName, startPos, endPos) {
162078
162087
  var _this = this;
162079
- return this.forwardJSONCall("getNameOrDottedNameSpan('" + fileName + "', " + startPos + ", " + endPos + ")", function () { return _this.languageService.getNameOrDottedNameSpan(fileName, startPos, endPos); });
162088
+ return this.forwardJSONCall("getNameOrDottedNameSpan('".concat(fileName, "', ").concat(startPos, ", ").concat(endPos, ")"), function () { return _this.languageService.getNameOrDottedNameSpan(fileName, startPos, endPos); });
162080
162089
  };
162081
162090
  /**
162082
162091
  * STATEMENTSPAN
@@ -162084,12 +162093,12 @@ var ts;
162084
162093
  */
162085
162094
  LanguageServiceShimObject.prototype.getBreakpointStatementAtPosition = function (fileName, position) {
162086
162095
  var _this = this;
162087
- return this.forwardJSONCall("getBreakpointStatementAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getBreakpointStatementAtPosition(fileName, position); });
162096
+ return this.forwardJSONCall("getBreakpointStatementAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getBreakpointStatementAtPosition(fileName, position); });
162088
162097
  };
162089
162098
  /// SIGNATUREHELP
162090
162099
  LanguageServiceShimObject.prototype.getSignatureHelpItems = function (fileName, position, options) {
162091
162100
  var _this = this;
162092
- return this.forwardJSONCall("getSignatureHelpItems('" + fileName + "', " + position + ")", function () { return _this.languageService.getSignatureHelpItems(fileName, position, options); });
162101
+ return this.forwardJSONCall("getSignatureHelpItems('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getSignatureHelpItems(fileName, position, options); });
162093
162102
  };
162094
162103
  /// GOTO DEFINITION
162095
162104
  /**
@@ -162098,7 +162107,7 @@ var ts;
162098
162107
  */
162099
162108
  LanguageServiceShimObject.prototype.getDefinitionAtPosition = function (fileName, position) {
162100
162109
  var _this = this;
162101
- return this.forwardJSONCall("getDefinitionAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getDefinitionAtPosition(fileName, position); });
162110
+ return this.forwardJSONCall("getDefinitionAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getDefinitionAtPosition(fileName, position); });
162102
162111
  };
162103
162112
  /**
162104
162113
  * Computes the definition location and file for the symbol
@@ -162106,7 +162115,7 @@ var ts;
162106
162115
  */
162107
162116
  LanguageServiceShimObject.prototype.getDefinitionAndBoundSpan = function (fileName, position) {
162108
162117
  var _this = this;
162109
- return this.forwardJSONCall("getDefinitionAndBoundSpan('" + fileName + "', " + position + ")", function () { return _this.languageService.getDefinitionAndBoundSpan(fileName, position); });
162118
+ return this.forwardJSONCall("getDefinitionAndBoundSpan('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getDefinitionAndBoundSpan(fileName, position); });
162110
162119
  };
162111
162120
  /// GOTO Type
162112
162121
  /**
@@ -162115,7 +162124,7 @@ var ts;
162115
162124
  */
162116
162125
  LanguageServiceShimObject.prototype.getTypeDefinitionAtPosition = function (fileName, position) {
162117
162126
  var _this = this;
162118
- return this.forwardJSONCall("getTypeDefinitionAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getTypeDefinitionAtPosition(fileName, position); });
162127
+ return this.forwardJSONCall("getTypeDefinitionAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getTypeDefinitionAtPosition(fileName, position); });
162119
162128
  };
162120
162129
  /// GOTO Implementation
162121
162130
  /**
@@ -162124,37 +162133,37 @@ var ts;
162124
162133
  */
162125
162134
  LanguageServiceShimObject.prototype.getImplementationAtPosition = function (fileName, position) {
162126
162135
  var _this = this;
162127
- return this.forwardJSONCall("getImplementationAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getImplementationAtPosition(fileName, position); });
162136
+ return this.forwardJSONCall("getImplementationAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getImplementationAtPosition(fileName, position); });
162128
162137
  };
162129
162138
  LanguageServiceShimObject.prototype.getRenameInfo = function (fileName, position, options) {
162130
162139
  var _this = this;
162131
- return this.forwardJSONCall("getRenameInfo('" + fileName + "', " + position + ")", function () { return _this.languageService.getRenameInfo(fileName, position, options); });
162140
+ return this.forwardJSONCall("getRenameInfo('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getRenameInfo(fileName, position, options); });
162132
162141
  };
162133
162142
  LanguageServiceShimObject.prototype.getSmartSelectionRange = function (fileName, position) {
162134
162143
  var _this = this;
162135
- return this.forwardJSONCall("getSmartSelectionRange('" + fileName + "', " + position + ")", function () { return _this.languageService.getSmartSelectionRange(fileName, position); });
162144
+ return this.forwardJSONCall("getSmartSelectionRange('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getSmartSelectionRange(fileName, position); });
162136
162145
  };
162137
162146
  LanguageServiceShimObject.prototype.findRenameLocations = function (fileName, position, findInStrings, findInComments, providePrefixAndSuffixTextForRename) {
162138
162147
  var _this = this;
162139
- return this.forwardJSONCall("findRenameLocations('" + fileName + "', " + position + ", " + findInStrings + ", " + findInComments + ", " + providePrefixAndSuffixTextForRename + ")", function () { return _this.languageService.findRenameLocations(fileName, position, findInStrings, findInComments, providePrefixAndSuffixTextForRename); });
162148
+ return this.forwardJSONCall("findRenameLocations('".concat(fileName, "', ").concat(position, ", ").concat(findInStrings, ", ").concat(findInComments, ", ").concat(providePrefixAndSuffixTextForRename, ")"), function () { return _this.languageService.findRenameLocations(fileName, position, findInStrings, findInComments, providePrefixAndSuffixTextForRename); });
162140
162149
  };
162141
162150
  /// GET BRACE MATCHING
162142
162151
  LanguageServiceShimObject.prototype.getBraceMatchingAtPosition = function (fileName, position) {
162143
162152
  var _this = this;
162144
- return this.forwardJSONCall("getBraceMatchingAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getBraceMatchingAtPosition(fileName, position); });
162153
+ return this.forwardJSONCall("getBraceMatchingAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getBraceMatchingAtPosition(fileName, position); });
162145
162154
  };
162146
162155
  LanguageServiceShimObject.prototype.isValidBraceCompletionAtPosition = function (fileName, position, openingBrace) {
162147
162156
  var _this = this;
162148
- return this.forwardJSONCall("isValidBraceCompletionAtPosition('" + fileName + "', " + position + ", " + openingBrace + ")", function () { return _this.languageService.isValidBraceCompletionAtPosition(fileName, position, openingBrace); });
162157
+ return this.forwardJSONCall("isValidBraceCompletionAtPosition('".concat(fileName, "', ").concat(position, ", ").concat(openingBrace, ")"), function () { return _this.languageService.isValidBraceCompletionAtPosition(fileName, position, openingBrace); });
162149
162158
  };
162150
162159
  LanguageServiceShimObject.prototype.getSpanOfEnclosingComment = function (fileName, position, onlyMultiLine) {
162151
162160
  var _this = this;
162152
- return this.forwardJSONCall("getSpanOfEnclosingComment('" + fileName + "', " + position + ")", function () { return _this.languageService.getSpanOfEnclosingComment(fileName, position, onlyMultiLine); });
162161
+ return this.forwardJSONCall("getSpanOfEnclosingComment('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getSpanOfEnclosingComment(fileName, position, onlyMultiLine); });
162153
162162
  };
162154
162163
  /// GET SMART INDENT
162155
162164
  LanguageServiceShimObject.prototype.getIndentationAtPosition = function (fileName, position, options /*Services.EditorOptions*/) {
162156
162165
  var _this = this;
162157
- return this.forwardJSONCall("getIndentationAtPosition('" + fileName + "', " + position + ")", function () {
162166
+ return this.forwardJSONCall("getIndentationAtPosition('".concat(fileName, "', ").concat(position, ")"), function () {
162158
162167
  var localOptions = JSON.parse(options);
162159
162168
  return _this.languageService.getIndentationAtPosition(fileName, position, localOptions);
162160
162169
  });
@@ -162162,23 +162171,23 @@ var ts;
162162
162171
  /// GET REFERENCES
162163
162172
  LanguageServiceShimObject.prototype.getReferencesAtPosition = function (fileName, position) {
162164
162173
  var _this = this;
162165
- return this.forwardJSONCall("getReferencesAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getReferencesAtPosition(fileName, position); });
162174
+ return this.forwardJSONCall("getReferencesAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getReferencesAtPosition(fileName, position); });
162166
162175
  };
162167
162176
  LanguageServiceShimObject.prototype.findReferences = function (fileName, position) {
162168
162177
  var _this = this;
162169
- return this.forwardJSONCall("findReferences('" + fileName + "', " + position + ")", function () { return _this.languageService.findReferences(fileName, position); });
162178
+ return this.forwardJSONCall("findReferences('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.findReferences(fileName, position); });
162170
162179
  };
162171
162180
  LanguageServiceShimObject.prototype.getFileReferences = function (fileName) {
162172
162181
  var _this = this;
162173
- return this.forwardJSONCall("getFileReferences('" + fileName + ")", function () { return _this.languageService.getFileReferences(fileName); });
162182
+ return this.forwardJSONCall("getFileReferences('".concat(fileName, ")"), function () { return _this.languageService.getFileReferences(fileName); });
162174
162183
  };
162175
162184
  LanguageServiceShimObject.prototype.getOccurrencesAtPosition = function (fileName, position) {
162176
162185
  var _this = this;
162177
- return this.forwardJSONCall("getOccurrencesAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getOccurrencesAtPosition(fileName, position); });
162186
+ return this.forwardJSONCall("getOccurrencesAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getOccurrencesAtPosition(fileName, position); });
162178
162187
  };
162179
162188
  LanguageServiceShimObject.prototype.getDocumentHighlights = function (fileName, position, filesToSearch) {
162180
162189
  var _this = this;
162181
- return this.forwardJSONCall("getDocumentHighlights('" + fileName + "', " + position + ")", function () {
162190
+ return this.forwardJSONCall("getDocumentHighlights('".concat(fileName, "', ").concat(position, ")"), function () {
162182
162191
  var results = _this.languageService.getDocumentHighlights(fileName, position, JSON.parse(filesToSearch));
162183
162192
  // workaround for VS document highlighting issue - keep only items from the initial file
162184
162193
  var normalizedName = ts.toFileNameLowerCase(ts.normalizeSlashes(fileName));
@@ -162193,108 +162202,108 @@ var ts;
162193
162202
  */
162194
162203
  LanguageServiceShimObject.prototype.getCompletionsAtPosition = function (fileName, position, preferences) {
162195
162204
  var _this = this;
162196
- return this.forwardJSONCall("getCompletionsAtPosition('" + fileName + "', " + position + ", " + preferences + ")", function () { return _this.languageService.getCompletionsAtPosition(fileName, position, preferences); });
162205
+ return this.forwardJSONCall("getCompletionsAtPosition('".concat(fileName, "', ").concat(position, ", ").concat(preferences, ")"), function () { return _this.languageService.getCompletionsAtPosition(fileName, position, preferences); });
162197
162206
  };
162198
162207
  /** Get a string based representation of a completion list entry details */
162199
162208
  LanguageServiceShimObject.prototype.getCompletionEntryDetails = function (fileName, position, entryName, formatOptions, source, preferences, data) {
162200
162209
  var _this = this;
162201
- return this.forwardJSONCall("getCompletionEntryDetails('" + fileName + "', " + position + ", '" + entryName + "')", function () {
162210
+ return this.forwardJSONCall("getCompletionEntryDetails('".concat(fileName, "', ").concat(position, ", '").concat(entryName, "')"), function () {
162202
162211
  var localOptions = formatOptions === undefined ? undefined : JSON.parse(formatOptions);
162203
162212
  return _this.languageService.getCompletionEntryDetails(fileName, position, entryName, localOptions, source, preferences, data);
162204
162213
  });
162205
162214
  };
162206
162215
  LanguageServiceShimObject.prototype.getFormattingEditsForRange = function (fileName, start, end, options /*Services.FormatCodeOptions*/) {
162207
162216
  var _this = this;
162208
- return this.forwardJSONCall("getFormattingEditsForRange('" + fileName + "', " + start + ", " + end + ")", function () {
162217
+ return this.forwardJSONCall("getFormattingEditsForRange('".concat(fileName, "', ").concat(start, ", ").concat(end, ")"), function () {
162209
162218
  var localOptions = JSON.parse(options);
162210
162219
  return _this.languageService.getFormattingEditsForRange(fileName, start, end, localOptions);
162211
162220
  });
162212
162221
  };
162213
162222
  LanguageServiceShimObject.prototype.getFormattingEditsForDocument = function (fileName, options /*Services.FormatCodeOptions*/) {
162214
162223
  var _this = this;
162215
- return this.forwardJSONCall("getFormattingEditsForDocument('" + fileName + "')", function () {
162224
+ return this.forwardJSONCall("getFormattingEditsForDocument('".concat(fileName, "')"), function () {
162216
162225
  var localOptions = JSON.parse(options);
162217
162226
  return _this.languageService.getFormattingEditsForDocument(fileName, localOptions);
162218
162227
  });
162219
162228
  };
162220
162229
  LanguageServiceShimObject.prototype.getFormattingEditsAfterKeystroke = function (fileName, position, key, options /*Services.FormatCodeOptions*/) {
162221
162230
  var _this = this;
162222
- return this.forwardJSONCall("getFormattingEditsAfterKeystroke('" + fileName + "', " + position + ", '" + key + "')", function () {
162231
+ return this.forwardJSONCall("getFormattingEditsAfterKeystroke('".concat(fileName, "', ").concat(position, ", '").concat(key, "')"), function () {
162223
162232
  var localOptions = JSON.parse(options);
162224
162233
  return _this.languageService.getFormattingEditsAfterKeystroke(fileName, position, key, localOptions);
162225
162234
  });
162226
162235
  };
162227
162236
  LanguageServiceShimObject.prototype.getDocCommentTemplateAtPosition = function (fileName, position, options) {
162228
162237
  var _this = this;
162229
- return this.forwardJSONCall("getDocCommentTemplateAtPosition('" + fileName + "', " + position + ")", function () { return _this.languageService.getDocCommentTemplateAtPosition(fileName, position, options); });
162238
+ return this.forwardJSONCall("getDocCommentTemplateAtPosition('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.getDocCommentTemplateAtPosition(fileName, position, options); });
162230
162239
  };
162231
162240
  /// NAVIGATE TO
162232
162241
  /** Return a list of symbols that are interesting to navigate to */
162233
162242
  LanguageServiceShimObject.prototype.getNavigateToItems = function (searchValue, maxResultCount, fileName) {
162234
162243
  var _this = this;
162235
- return this.forwardJSONCall("getNavigateToItems('" + searchValue + "', " + maxResultCount + ", " + fileName + ")", function () { return _this.languageService.getNavigateToItems(searchValue, maxResultCount, fileName); });
162244
+ return this.forwardJSONCall("getNavigateToItems('".concat(searchValue, "', ").concat(maxResultCount, ", ").concat(fileName, ")"), function () { return _this.languageService.getNavigateToItems(searchValue, maxResultCount, fileName); });
162236
162245
  };
162237
162246
  LanguageServiceShimObject.prototype.getNavigationBarItems = function (fileName) {
162238
162247
  var _this = this;
162239
- return this.forwardJSONCall("getNavigationBarItems('" + fileName + "')", function () { return _this.languageService.getNavigationBarItems(fileName); });
162248
+ return this.forwardJSONCall("getNavigationBarItems('".concat(fileName, "')"), function () { return _this.languageService.getNavigationBarItems(fileName); });
162240
162249
  };
162241
162250
  LanguageServiceShimObject.prototype.getNavigationTree = function (fileName) {
162242
162251
  var _this = this;
162243
- return this.forwardJSONCall("getNavigationTree('" + fileName + "')", function () { return _this.languageService.getNavigationTree(fileName); });
162252
+ return this.forwardJSONCall("getNavigationTree('".concat(fileName, "')"), function () { return _this.languageService.getNavigationTree(fileName); });
162244
162253
  };
162245
162254
  LanguageServiceShimObject.prototype.getOutliningSpans = function (fileName) {
162246
162255
  var _this = this;
162247
- return this.forwardJSONCall("getOutliningSpans('" + fileName + "')", function () { return _this.languageService.getOutliningSpans(fileName); });
162256
+ return this.forwardJSONCall("getOutliningSpans('".concat(fileName, "')"), function () { return _this.languageService.getOutliningSpans(fileName); });
162248
162257
  };
162249
162258
  LanguageServiceShimObject.prototype.getTodoComments = function (fileName, descriptors) {
162250
162259
  var _this = this;
162251
- return this.forwardJSONCall("getTodoComments('" + fileName + "')", function () { return _this.languageService.getTodoComments(fileName, JSON.parse(descriptors)); });
162260
+ return this.forwardJSONCall("getTodoComments('".concat(fileName, "')"), function () { return _this.languageService.getTodoComments(fileName, JSON.parse(descriptors)); });
162252
162261
  };
162253
162262
  /// CALL HIERARCHY
162254
162263
  LanguageServiceShimObject.prototype.prepareCallHierarchy = function (fileName, position) {
162255
162264
  var _this = this;
162256
- return this.forwardJSONCall("prepareCallHierarchy('" + fileName + "', " + position + ")", function () { return _this.languageService.prepareCallHierarchy(fileName, position); });
162265
+ return this.forwardJSONCall("prepareCallHierarchy('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.prepareCallHierarchy(fileName, position); });
162257
162266
  };
162258
162267
  LanguageServiceShimObject.prototype.provideCallHierarchyIncomingCalls = function (fileName, position) {
162259
162268
  var _this = this;
162260
- return this.forwardJSONCall("provideCallHierarchyIncomingCalls('" + fileName + "', " + position + ")", function () { return _this.languageService.provideCallHierarchyIncomingCalls(fileName, position); });
162269
+ return this.forwardJSONCall("provideCallHierarchyIncomingCalls('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.provideCallHierarchyIncomingCalls(fileName, position); });
162261
162270
  };
162262
162271
  LanguageServiceShimObject.prototype.provideCallHierarchyOutgoingCalls = function (fileName, position) {
162263
162272
  var _this = this;
162264
- return this.forwardJSONCall("provideCallHierarchyOutgoingCalls('" + fileName + "', " + position + ")", function () { return _this.languageService.provideCallHierarchyOutgoingCalls(fileName, position); });
162273
+ return this.forwardJSONCall("provideCallHierarchyOutgoingCalls('".concat(fileName, "', ").concat(position, ")"), function () { return _this.languageService.provideCallHierarchyOutgoingCalls(fileName, position); });
162265
162274
  };
162266
162275
  LanguageServiceShimObject.prototype.provideInlayHints = function (fileName, span, preference) {
162267
162276
  var _this = this;
162268
- return this.forwardJSONCall("provideInlayHints('" + fileName + "', '" + JSON.stringify(span) + "', " + JSON.stringify(preference) + ")", function () { return _this.languageService.provideInlayHints(fileName, span, preference); });
162277
+ return this.forwardJSONCall("provideInlayHints('".concat(fileName, "', '").concat(JSON.stringify(span), "', ").concat(JSON.stringify(preference), ")"), function () { return _this.languageService.provideInlayHints(fileName, span, preference); });
162269
162278
  };
162270
162279
  /// Emit
162271
162280
  LanguageServiceShimObject.prototype.getEmitOutput = function (fileName) {
162272
162281
  var _this = this;
162273
- return this.forwardJSONCall("getEmitOutput('" + fileName + "')", function () {
162282
+ return this.forwardJSONCall("getEmitOutput('".concat(fileName, "')"), function () {
162274
162283
  var _a = _this.languageService.getEmitOutput(fileName), diagnostics = _a.diagnostics, rest = __rest(_a, ["diagnostics"]);
162275
162284
  return __assign(__assign({}, rest), { diagnostics: _this.realizeDiagnostics(diagnostics) });
162276
162285
  });
162277
162286
  };
162278
162287
  LanguageServiceShimObject.prototype.getEmitOutputObject = function (fileName) {
162279
162288
  var _this = this;
162280
- return forwardCall(this.logger, "getEmitOutput('" + fileName + "')",
162289
+ return forwardCall(this.logger, "getEmitOutput('".concat(fileName, "')"),
162281
162290
  /*returnJson*/ false, function () { return _this.languageService.getEmitOutput(fileName); }, this.logPerformance);
162282
162291
  };
162283
162292
  LanguageServiceShimObject.prototype.toggleLineComment = function (fileName, textRange) {
162284
162293
  var _this = this;
162285
- return this.forwardJSONCall("toggleLineComment('" + fileName + "', '" + JSON.stringify(textRange) + "')", function () { return _this.languageService.toggleLineComment(fileName, textRange); });
162294
+ return this.forwardJSONCall("toggleLineComment('".concat(fileName, "', '").concat(JSON.stringify(textRange), "')"), function () { return _this.languageService.toggleLineComment(fileName, textRange); });
162286
162295
  };
162287
162296
  LanguageServiceShimObject.prototype.toggleMultilineComment = function (fileName, textRange) {
162288
162297
  var _this = this;
162289
- return this.forwardJSONCall("toggleMultilineComment('" + fileName + "', '" + JSON.stringify(textRange) + "')", function () { return _this.languageService.toggleMultilineComment(fileName, textRange); });
162298
+ return this.forwardJSONCall("toggleMultilineComment('".concat(fileName, "', '").concat(JSON.stringify(textRange), "')"), function () { return _this.languageService.toggleMultilineComment(fileName, textRange); });
162290
162299
  };
162291
162300
  LanguageServiceShimObject.prototype.commentSelection = function (fileName, textRange) {
162292
162301
  var _this = this;
162293
- return this.forwardJSONCall("commentSelection('" + fileName + "', '" + JSON.stringify(textRange) + "')", function () { return _this.languageService.commentSelection(fileName, textRange); });
162302
+ return this.forwardJSONCall("commentSelection('".concat(fileName, "', '").concat(JSON.stringify(textRange), "')"), function () { return _this.languageService.commentSelection(fileName, textRange); });
162294
162303
  };
162295
162304
  LanguageServiceShimObject.prototype.uncommentSelection = function (fileName, textRange) {
162296
162305
  var _this = this;
162297
- return this.forwardJSONCall("uncommentSelection('" + fileName + "', '" + JSON.stringify(textRange) + "')", function () { return _this.languageService.uncommentSelection(fileName, textRange); });
162306
+ return this.forwardJSONCall("uncommentSelection('".concat(fileName, "', '").concat(JSON.stringify(textRange), "')"), function () { return _this.languageService.uncommentSelection(fileName, textRange); });
162298
162307
  };
162299
162308
  return LanguageServiceShimObject;
162300
162309
  }(ShimBase));
@@ -162344,7 +162353,7 @@ var ts;
162344
162353
  };
162345
162354
  CoreServicesShimObject.prototype.resolveModuleName = function (fileName, moduleName, compilerOptionsJson) {
162346
162355
  var _this = this;
162347
- return this.forwardJSONCall("resolveModuleName('" + fileName + "')", function () {
162356
+ return this.forwardJSONCall("resolveModuleName('".concat(fileName, "')"), function () {
162348
162357
  var compilerOptions = JSON.parse(compilerOptionsJson);
162349
162358
  var result = ts.resolveModuleName(moduleName, ts.normalizeSlashes(fileName), compilerOptions, _this.host);
162350
162359
  var resolvedFileName = result.resolvedModule ? result.resolvedModule.resolvedFileName : undefined;
@@ -162359,7 +162368,7 @@ var ts;
162359
162368
  };
162360
162369
  CoreServicesShimObject.prototype.resolveTypeReferenceDirective = function (fileName, typeReferenceDirective, compilerOptionsJson) {
162361
162370
  var _this = this;
162362
- return this.forwardJSONCall("resolveTypeReferenceDirective(" + fileName + ")", function () {
162371
+ return this.forwardJSONCall("resolveTypeReferenceDirective(".concat(fileName, ")"), function () {
162363
162372
  var compilerOptions = JSON.parse(compilerOptionsJson);
162364
162373
  var result = ts.resolveTypeReferenceDirective(typeReferenceDirective, ts.normalizeSlashes(fileName), compilerOptions, _this.host);
162365
162374
  return {
@@ -162371,7 +162380,7 @@ var ts;
162371
162380
  };
162372
162381
  CoreServicesShimObject.prototype.getPreProcessedFileInfo = function (fileName, sourceTextSnapshot) {
162373
162382
  var _this = this;
162374
- return this.forwardJSONCall("getPreProcessedFileInfo('" + fileName + "')", function () {
162383
+ return this.forwardJSONCall("getPreProcessedFileInfo('".concat(fileName, "')"), function () {
162375
162384
  // for now treat files as JavaScript
162376
162385
  var result = ts.preProcessFile(ts.getSnapshotText(sourceTextSnapshot), /* readImportFiles */ true, /* detectJavaScriptImports */ true);
162377
162386
  return {
@@ -162386,7 +162395,7 @@ var ts;
162386
162395
  };
162387
162396
  CoreServicesShimObject.prototype.getAutomaticTypeDirectiveNames = function (compilerOptionsJson) {
162388
162397
  var _this = this;
162389
- return this.forwardJSONCall("getAutomaticTypeDirectiveNames('" + compilerOptionsJson + "')", function () {
162398
+ return this.forwardJSONCall("getAutomaticTypeDirectiveNames('".concat(compilerOptionsJson, "')"), function () {
162390
162399
  var compilerOptions = JSON.parse(compilerOptionsJson);
162391
162400
  return ts.getAutomaticTypeDirectiveNames(compilerOptions, _this.host);
162392
162401
  });
@@ -162408,7 +162417,7 @@ var ts;
162408
162417
  };
162409
162418
  CoreServicesShimObject.prototype.getTSConfigFileInfo = function (fileName, sourceTextSnapshot) {
162410
162419
  var _this = this;
162411
- return this.forwardJSONCall("getTSConfigFileInfo('" + fileName + "')", function () {
162420
+ return this.forwardJSONCall("getTSConfigFileInfo('".concat(fileName, "')"), function () {
162412
162421
  var result = ts.parseJsonText(fileName, ts.getSnapshotText(sourceTextSnapshot));
162413
162422
  var normalizedFileName = ts.normalizeSlashes(fileName);
162414
162423
  var configFile = ts.parseJsonSourceFileConfigFileContent(result, _this.host, ts.getDirectoryPath(normalizedFileName), /*existingOptions*/ {}, normalizedFileName);
@@ -162608,7 +162617,7 @@ var ts;
162608
162617
  function nowString() {
162609
162618
  // E.g. "12:34:56.789"
162610
162619
  var d = new Date();
162611
- return ts.padLeft(d.getHours().toString(), 2, "0") + ":" + ts.padLeft(d.getMinutes().toString(), 2, "0") + ":" + ts.padLeft(d.getSeconds().toString(), 2, "0") + "." + ts.padLeft(d.getMilliseconds().toString(), 3, "0");
162620
+ return "".concat(ts.padLeft(d.getHours().toString(), 2, "0"), ":").concat(ts.padLeft(d.getMinutes().toString(), 2, "0"), ":").concat(ts.padLeft(d.getSeconds().toString(), 2, "0"), ".").concat(ts.padLeft(d.getMilliseconds().toString(), 3, "0"));
162612
162621
  }
162613
162622
  server.nowString = nowString;
162614
162623
  })(server = ts.server || (ts.server = {}));
@@ -162619,7 +162628,7 @@ var ts;
162619
162628
  var JsTyping;
162620
162629
  (function (JsTyping) {
162621
162630
  function isTypingUpToDate(cachedTyping, availableTypingVersions) {
162622
- var availableVersion = new ts.Version(ts.getProperty(availableTypingVersions, "ts" + ts.versionMajorMinor) || ts.getProperty(availableTypingVersions, "latest"));
162631
+ var availableVersion = new ts.Version(ts.getProperty(availableTypingVersions, "ts".concat(ts.versionMajorMinor)) || ts.getProperty(availableTypingVersions, "latest"));
162623
162632
  return availableVersion.compareTo(cachedTyping.version) <= 0;
162624
162633
  }
162625
162634
  JsTyping.isTypingUpToDate = isTypingUpToDate;
@@ -162672,7 +162681,7 @@ var ts;
162672
162681
  "worker_threads",
162673
162682
  "zlib"
162674
162683
  ];
162675
- JsTyping.prefixedNodeCoreModuleList = unprefixedNodeCoreModuleList.map(function (name) { return "node:" + name; });
162684
+ JsTyping.prefixedNodeCoreModuleList = unprefixedNodeCoreModuleList.map(function (name) { return "node:".concat(name); });
162676
162685
  JsTyping.nodeCoreModuleList = __spreadArray(__spreadArray([], unprefixedNodeCoreModuleList, true), JsTyping.prefixedNodeCoreModuleList, true);
162677
162686
  JsTyping.nodeCoreModules = new ts.Set(JsTyping.nodeCoreModuleList);
162678
162687
  function nonRelativeModuleNameForTypingCache(moduleName) {
@@ -162751,7 +162760,7 @@ var ts;
162751
162760
  var excludeTypingName = exclude_1[_i];
162752
162761
  var didDelete = inferredTypings.delete(excludeTypingName);
162753
162762
  if (didDelete && log)
162754
- log("Typing for " + excludeTypingName + " is in exclude list, will be ignored.");
162763
+ log("Typing for ".concat(excludeTypingName, " is in exclude list, will be ignored."));
162755
162764
  }
162756
162765
  var newTypingNames = [];
162757
162766
  var cachedTypingPaths = [];
@@ -162765,7 +162774,7 @@ var ts;
162765
162774
  });
162766
162775
  var result = { cachedTypingPaths: cachedTypingPaths, newTypingNames: newTypingNames, filesToWatch: filesToWatch };
162767
162776
  if (log)
162768
- log("Result: " + JSON.stringify(result));
162777
+ log("Result: ".concat(JSON.stringify(result)));
162769
162778
  return result;
162770
162779
  function addInferredTyping(typingName) {
162771
162780
  if (!inferredTypings.has(typingName)) {
@@ -162774,7 +162783,7 @@ var ts;
162774
162783
  }
162775
162784
  function addInferredTypings(typingNames, message) {
162776
162785
  if (log)
162777
- log(message + ": " + JSON.stringify(typingNames));
162786
+ log("".concat(message, ": ").concat(JSON.stringify(typingNames)));
162778
162787
  ts.forEach(typingNames, addInferredTyping);
162779
162788
  }
162780
162789
  /**
@@ -162787,7 +162796,7 @@ var ts;
162787
162796
  filesToWatch.push(jsonPath);
162788
162797
  var jsonConfig = ts.readConfigFile(jsonPath, function (path) { return host.readFile(path); }).config;
162789
162798
  var jsonTypingNames = ts.flatMap([jsonConfig.dependencies, jsonConfig.devDependencies, jsonConfig.optionalDependencies, jsonConfig.peerDependencies], ts.getOwnKeys);
162790
- addInferredTypings(jsonTypingNames, "Typing names in '" + jsonPath + "' dependencies");
162799
+ addInferredTypings(jsonTypingNames, "Typing names in '".concat(jsonPath, "' dependencies"));
162791
162800
  }
162792
162801
  /**
162793
162802
  * Infer typing names from given file names. For example, the file name "jquery-min.2.3.4.js"
@@ -162826,7 +162835,7 @@ var ts;
162826
162835
  // depth of 2, so we access `node_modules/foo` but not `node_modules/foo/bar`
162827
162836
  var fileNames = host.readDirectory(packagesFolderPath, [".json" /* Json */], /*excludes*/ undefined, /*includes*/ undefined, /*depth*/ 2);
162828
162837
  if (log)
162829
- log("Searching for typing names in " + packagesFolderPath + "; all files: " + JSON.stringify(fileNames));
162838
+ log("Searching for typing names in ".concat(packagesFolderPath, "; all files: ").concat(JSON.stringify(fileNames)));
162830
162839
  var packageNames = [];
162831
162840
  for (var _i = 0, fileNames_1 = fileNames; _i < fileNames_1.length; _i++) {
162832
162841
  var fileName = fileNames_1[_i];
@@ -162853,7 +162862,7 @@ var ts;
162853
162862
  if (ownTypes) {
162854
162863
  var absolutePath = ts.getNormalizedAbsolutePath(ownTypes, ts.getDirectoryPath(normalizedFileName));
162855
162864
  if (log)
162856
- log(" Package '" + packageJson.name + "' provides its own types.");
162865
+ log(" Package '".concat(packageJson.name, "' provides its own types."));
162857
162866
  inferredTypings.set(packageJson.name, absolutePath);
162858
162867
  }
162859
162868
  else {
@@ -162925,15 +162934,15 @@ var ts;
162925
162934
  var kind = isScopeName ? "Scope" : "Package";
162926
162935
  switch (result) {
162927
162936
  case 1 /* EmptyName */:
162928
- return "'" + typing + "':: " + kind + " name '" + name + "' cannot be empty";
162937
+ return "'".concat(typing, "':: ").concat(kind, " name '").concat(name, "' cannot be empty");
162929
162938
  case 2 /* NameTooLong */:
162930
- return "'" + typing + "':: " + kind + " name '" + name + "' should be less than " + maxPackageNameLength + " characters";
162939
+ return "'".concat(typing, "':: ").concat(kind, " name '").concat(name, "' should be less than ").concat(maxPackageNameLength, " characters");
162931
162940
  case 3 /* NameStartsWithDot */:
162932
- return "'" + typing + "':: " + kind + " name '" + name + "' cannot start with '.'";
162941
+ return "'".concat(typing, "':: ").concat(kind, " name '").concat(name, "' cannot start with '.'");
162933
162942
  case 4 /* NameStartsWithUnderscore */:
162934
- return "'" + typing + "':: " + kind + " name '" + name + "' cannot start with '_'";
162943
+ return "'".concat(typing, "':: ").concat(kind, " name '").concat(name, "' cannot start with '_'");
162935
162944
  case 5 /* NameContainsNonURISafeCharacters */:
162936
- return "'" + typing + "':: " + kind + " name '" + name + "' contains non URI safe characters";
162945
+ return "'".concat(typing, "':: ").concat(kind, " name '").concat(name, "' contains non URI safe characters");
162937
162946
  case 0 /* Ok */:
162938
162947
  return ts.Debug.fail(); // Shouldn't have called this.
162939
162948
  default:
@@ -162986,7 +162995,7 @@ var ts;
162986
162995
  }
162987
162996
  Errors.ThrowProjectLanguageServiceDisabled = ThrowProjectLanguageServiceDisabled;
162988
162997
  function ThrowProjectDoesNotContainDocument(fileName, project) {
162989
- throw new Error("Project '" + project.getProjectName() + "' does not contain document '" + fileName + "'");
162998
+ throw new Error("Project '".concat(project.getProjectName(), "' does not contain document '").concat(fileName, "'"));
162990
162999
  }
162991
163000
  Errors.ThrowProjectDoesNotContainDocument = ThrowProjectDoesNotContainDocument;
162992
163001
  })(Errors = server.Errors || (server.Errors = {}));
@@ -163027,12 +163036,12 @@ var ts;
163027
163036
  }
163028
163037
  server.isInferredProjectName = isInferredProjectName;
163029
163038
  function makeInferredProjectName(counter) {
163030
- return "/dev/null/inferredProject" + counter + "*";
163039
+ return "/dev/null/inferredProject".concat(counter, "*");
163031
163040
  }
163032
163041
  server.makeInferredProjectName = makeInferredProjectName;
163033
163042
  /*@internal*/
163034
163043
  function makeAutoImportProviderProjectName(counter) {
163035
- return "/dev/null/autoImportProviderProject" + counter + "*";
163044
+ return "/dev/null/autoImportProviderProject".concat(counter, "*");
163036
163045
  }
163037
163046
  server.makeAutoImportProviderProjectName = makeAutoImportProviderProjectName;
163038
163047
  function createSortedArray() {
@@ -163067,7 +163076,7 @@ var ts;
163067
163076
  // schedule new operation, pass arguments
163068
163077
  this.pendingTimeouts.set(operationId, this.host.setTimeout(ThrottledOperations.run, delay, this, operationId, cb));
163069
163078
  if (this.logger) {
163070
- this.logger.info("Scheduled: " + operationId + (pendingTimeout ? ", Cancelled earlier one" : ""));
163079
+ this.logger.info("Scheduled: ".concat(operationId).concat(pendingTimeout ? ", Cancelled earlier one" : ""));
163071
163080
  }
163072
163081
  };
163073
163082
  ThrottledOperations.prototype.cancel = function (operationId) {
@@ -163081,7 +163090,7 @@ var ts;
163081
163090
  ts.perfLogger.logStartScheduledOperation(operationId);
163082
163091
  self.pendingTimeouts.delete(operationId);
163083
163092
  if (self.logger) {
163084
- self.logger.info("Running: " + operationId);
163093
+ self.logger.info("Running: ".concat(operationId));
163085
163094
  }
163086
163095
  cb();
163087
163096
  ts.perfLogger.logStopScheduledOperation();
@@ -163110,7 +163119,7 @@ var ts;
163110
163119
  self.host.gc(); // TODO: GH#18217
163111
163120
  if (log) {
163112
163121
  var after = self.host.getMemoryUsage(); // TODO: GH#18217
163113
- self.logger.perftrc("GC::before " + before + ", after " + after);
163122
+ self.logger.perftrc("GC::before ".concat(before, ", after ").concat(after));
163114
163123
  }
163115
163124
  ts.perfLogger.logStopScheduledOperation();
163116
163125
  };
@@ -163462,8 +163471,8 @@ var ts;
163462
163471
  }
163463
163472
  TextStorage.prototype.getVersion = function () {
163464
163473
  return this.svc
163465
- ? "SVC-" + this.version.svc + "-" + this.svc.getSnapshotVersion()
163466
- : "Text-" + this.version.text;
163474
+ ? "SVC-".concat(this.version.svc, "-").concat(this.svc.getSnapshotVersion())
163475
+ : "Text-".concat(this.version.text);
163467
163476
  };
163468
163477
  TextStorage.prototype.hasScriptVersionCache_TestOnly = function () {
163469
163478
  return this.svc !== undefined;
@@ -163606,7 +163615,7 @@ var ts;
163606
163615
  if (fileSize > server.maxFileSize) {
163607
163616
  ts.Debug.assert(!!this.info.containingProjects.length);
163608
163617
  var service = this.info.containingProjects[0].projectService;
163609
- service.logger.info("Skipped loading contents of large file " + fileName + " for info " + this.info.fileName + ": fileSize: " + fileSize);
163618
+ service.logger.info("Skipped loading contents of large file ".concat(fileName, " for info ").concat(this.info.fileName, ": fileSize: ").concat(fileSize));
163610
163619
  this.info.containingProjects[0].projectService.sendLargeFileReferencedEvent(fileName, fileSize);
163611
163620
  return { text: "", fileSize: fileSize };
163612
163621
  }
@@ -163982,14 +163991,14 @@ var ts;
163982
163991
  return project;
163983
163992
  }
163984
163993
  function failIfInvalidPosition(position) {
163985
- ts.Debug.assert(typeof position === "number", "Expected position " + position + " to be a number.");
163994
+ ts.Debug.assert(typeof position === "number", "Expected position ".concat(position, " to be a number."));
163986
163995
  ts.Debug.assert(position >= 0, "Expected position to be non-negative.");
163987
163996
  }
163988
163997
  function failIfInvalidLocation(location) {
163989
- ts.Debug.assert(typeof location.line === "number", "Expected line " + location.line + " to be a number.");
163990
- ts.Debug.assert(typeof location.offset === "number", "Expected offset " + location.offset + " to be a number.");
163991
- ts.Debug.assert(location.line > 0, "Expected line to be non-" + (location.line === 0 ? "zero" : "negative"));
163992
- ts.Debug.assert(location.offset > 0, "Expected offset to be non-" + (location.offset === 0 ? "zero" : "negative"));
163998
+ ts.Debug.assert(typeof location.line === "number", "Expected line ".concat(location.line, " to be a number."));
163999
+ ts.Debug.assert(typeof location.offset === "number", "Expected offset ".concat(location.offset, " to be a number."));
164000
+ ts.Debug.assert(location.line > 0, "Expected line to be non-".concat(location.line === 0 ? "zero" : "negative"));
164001
+ ts.Debug.assert(location.offset > 0, "Expected offset to be non-".concat(location.offset === 0 ? "zero" : "negative"));
163993
164002
  }
163994
164003
  })(server = ts.server || (ts.server = {}));
163995
164004
  })(ts || (ts = {}));
@@ -164301,11 +164310,11 @@ var ts;
164301
164310
  };
164302
164311
  Project.resolveModule = function (moduleName, initialDir, host, log, logErrors) {
164303
164312
  var resolvedPath = ts.normalizeSlashes(host.resolvePath(ts.combinePaths(initialDir, "node_modules")));
164304
- log("Loading " + moduleName + " from " + initialDir + " (resolved to " + resolvedPath + ")");
164313
+ log("Loading ".concat(moduleName, " from ").concat(initialDir, " (resolved to ").concat(resolvedPath, ")"));
164305
164314
  var result = host.require(resolvedPath, moduleName); // TODO: GH#18217
164306
164315
  if (result.error) {
164307
164316
  var err = result.error.stack || result.error.message || JSON.stringify(result.error);
164308
- (logErrors || log)("Failed to load module '" + moduleName + "' from " + resolvedPath + ": " + err);
164317
+ (logErrors || log)("Failed to load module '".concat(moduleName, "' from ").concat(resolvedPath, ": ").concat(err));
164309
164318
  return undefined;
164310
164319
  }
164311
164320
  return result.module;
@@ -164453,12 +164462,12 @@ var ts;
164453
164462
  };
164454
164463
  /*@internal*/
164455
164464
  Project.prototype.clearInvalidateResolutionOfFailedLookupTimer = function () {
164456
- return this.projectService.throttledOperations.cancel(this.getProjectName() + "FailedLookupInvalidation");
164465
+ return this.projectService.throttledOperations.cancel("".concat(this.getProjectName(), "FailedLookupInvalidation"));
164457
164466
  };
164458
164467
  /*@internal*/
164459
164468
  Project.prototype.scheduleInvalidateResolutionsOfFailedLookupLocations = function () {
164460
164469
  var _this = this;
164461
- this.projectService.throttledOperations.schedule(this.getProjectName() + "FailedLookupInvalidation", /*delay*/ 1000, function () {
164470
+ this.projectService.throttledOperations.schedule("".concat(this.getProjectName(), "FailedLookupInvalidation"), /*delay*/ 1000, function () {
164462
164471
  if (_this.resolutionCache.invalidateResolutionsOfFailedLookupLocations()) {
164463
164472
  _this.projectService.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(_this);
164464
164473
  }
@@ -164636,7 +164645,7 @@ var ts;
164636
164645
  return plugin.module.getExternalFiles(_this);
164637
164646
  }
164638
164647
  catch (e) {
164639
- _this.projectService.logger.info("A plugin threw an exception in getExternalFiles: " + e);
164648
+ _this.projectService.logger.info("A plugin threw an exception in getExternalFiles: ".concat(e));
164640
164649
  if (e.stack) {
164641
164650
  _this.projectService.logger.info(e.stack);
164642
164651
  }
@@ -164739,7 +164748,7 @@ var ts;
164739
164748
  }
164740
164749
  return ts.map(this.program.getSourceFiles(), function (sourceFile) {
164741
164750
  var scriptInfo = _this.projectService.getScriptInfoForPath(sourceFile.resolvedPath);
164742
- ts.Debug.assert(!!scriptInfo, "getScriptInfo", function () { return "scriptInfo for a file '" + sourceFile.fileName + "' Path: '" + sourceFile.path + "' / '" + sourceFile.resolvedPath + "' is missing."; });
164751
+ ts.Debug.assert(!!scriptInfo, "getScriptInfo", function () { return "scriptInfo for a file '".concat(sourceFile.fileName, "' Path: '").concat(sourceFile.path, "' / '").concat(sourceFile.resolvedPath, "' is missing."); });
164743
164752
  return scriptInfo;
164744
164753
  });
164745
164754
  };
@@ -164982,7 +164991,7 @@ var ts;
164982
164991
  var _this = this;
164983
164992
  var oldProgram = this.program;
164984
164993
  ts.Debug.assert(!this.isClosed(), "Called update graph worker of closed project");
164985
- this.writeLog("Starting updateGraphWorker: Project: " + this.getProjectName());
164994
+ this.writeLog("Starting updateGraphWorker: Project: ".concat(this.getProjectName()));
164986
164995
  var start = ts.timestamp();
164987
164996
  this.hasInvalidatedResolution = this.resolutionCache.createHasInvalidatedResolution();
164988
164997
  this.resolutionCache.startCachingPerDirectoryResolution();
@@ -165084,7 +165093,7 @@ var ts;
165084
165093
  }, function (removed) { return _this.detachScriptInfoFromProject(removed); });
165085
165094
  var elapsed = ts.timestamp() - start;
165086
165095
  this.sendPerformanceEvent("UpdateGraph", elapsed);
165087
- this.writeLog("Finishing updateGraphWorker: Project: " + this.getProjectName() + " Version: " + this.getProjectVersion() + " structureChanged: " + hasNewProgram + (this.program ? " structureIsReused:: " + ts.StructureIsReused[this.program.structureIsReused] : "") + " Elapsed: " + elapsed + "ms");
165096
+ this.writeLog("Finishing updateGraphWorker: Project: ".concat(this.getProjectName(), " Version: ").concat(this.getProjectVersion(), " structureChanged: ").concat(hasNewProgram).concat(this.program ? " structureIsReused:: ".concat(ts.StructureIsReused[this.program.structureIsReused]) : "", " Elapsed: ").concat(elapsed, "ms"));
165088
165097
  if (this.hasAddedorRemovedFiles) {
165089
165098
  this.print(/*writeProjectFileNames*/ true);
165090
165099
  }
@@ -165144,7 +165153,7 @@ var ts;
165144
165153
  var path = this.toPath(sourceFile);
165145
165154
  if (this.generatedFilesMap) {
165146
165155
  if (isGeneratedFileWatcher(this.generatedFilesMap)) {
165147
- ts.Debug.fail(this.projectName + " Expected to not have --out watcher for generated file with options: " + JSON.stringify(this.compilerOptions));
165156
+ ts.Debug.fail("".concat(this.projectName, " Expected to not have --out watcher for generated file with options: ").concat(JSON.stringify(this.compilerOptions)));
165148
165157
  return;
165149
165158
  }
165150
165159
  if (this.generatedFilesMap.has(path))
@@ -165196,20 +165205,20 @@ var ts;
165196
165205
  if (!this.program)
165197
165206
  return "\tFiles (0) NoProgram\n";
165198
165207
  var sourceFiles = this.program.getSourceFiles();
165199
- var strBuilder = "\tFiles (" + sourceFiles.length + ")\n";
165208
+ var strBuilder = "\tFiles (".concat(sourceFiles.length, ")\n");
165200
165209
  if (writeProjectFileNames) {
165201
165210
  for (var _i = 0, sourceFiles_1 = sourceFiles; _i < sourceFiles_1.length; _i++) {
165202
165211
  var file = sourceFiles_1[_i];
165203
- strBuilder += "\t" + file.fileName + "\n";
165212
+ strBuilder += "\t".concat(file.fileName, "\n");
165204
165213
  }
165205
165214
  strBuilder += "\n\n";
165206
- ts.explainFiles(this.program, function (s) { return strBuilder += "\t" + s + "\n"; });
165215
+ ts.explainFiles(this.program, function (s) { return strBuilder += "\t".concat(s, "\n"); });
165207
165216
  }
165208
165217
  return strBuilder;
165209
165218
  };
165210
165219
  /*@internal*/
165211
165220
  Project.prototype.print = function (writeProjectFileNames) {
165212
- this.writeLog("Project '" + this.projectName + "' (" + ProjectKind[this.projectKind] + ")");
165221
+ this.writeLog("Project '".concat(this.projectName, "' (").concat(ProjectKind[this.projectKind], ")"));
165213
165222
  this.writeLog(this.filesToString(writeProjectFileNames && this.projectService.logger.hasLevel(server.LogLevel.verbose)));
165214
165223
  this.writeLog("-----------------------------------------------");
165215
165224
  if (this.autoImportProviderHost) {
@@ -165371,7 +165380,7 @@ var ts;
165371
165380
  if (options.plugins && options.plugins.some(function (p) { return p.name === globalPluginName; }))
165372
165381
  return "continue";
165373
165382
  // Provide global: true so plugins can detect why they can't find their config
165374
- this_1.projectService.logger.info("Loading global plugin " + globalPluginName);
165383
+ this_1.projectService.logger.info("Loading global plugin ".concat(globalPluginName));
165375
165384
  this_1.enablePlugin({ name: globalPluginName, global: true }, searchPaths, pluginConfigOverrides);
165376
165385
  };
165377
165386
  var this_1 = this;
@@ -165384,9 +165393,9 @@ var ts;
165384
165393
  };
165385
165394
  Project.prototype.enablePlugin = function (pluginConfigEntry, searchPaths, pluginConfigOverrides) {
165386
165395
  var _this = this;
165387
- this.projectService.logger.info("Enabling plugin " + pluginConfigEntry.name + " from candidate paths: " + searchPaths.join(","));
165396
+ this.projectService.logger.info("Enabling plugin ".concat(pluginConfigEntry.name, " from candidate paths: ").concat(searchPaths.join(",")));
165388
165397
  if (!pluginConfigEntry.name || ts.parsePackageName(pluginConfigEntry.name).rest) {
165389
- this.projectService.logger.info("Skipped loading plugin " + (pluginConfigEntry.name || JSON.stringify(pluginConfigEntry)) + " because only package name is allowed plugin name");
165398
+ this.projectService.logger.info("Skipped loading plugin ".concat(pluginConfigEntry.name || JSON.stringify(pluginConfigEntry), " because only package name is allowed plugin name"));
165390
165399
  return;
165391
165400
  }
165392
165401
  var log = function (message) { return _this.projectService.logger.info(message); };
@@ -165409,13 +165418,13 @@ var ts;
165409
165418
  }
165410
165419
  else {
165411
165420
  ts.forEach(errorLogs, log);
165412
- this.projectService.logger.info("Couldn't find " + pluginConfigEntry.name);
165421
+ this.projectService.logger.info("Couldn't find ".concat(pluginConfigEntry.name));
165413
165422
  }
165414
165423
  };
165415
165424
  Project.prototype.enableProxy = function (pluginModuleFactory, configEntry) {
165416
165425
  try {
165417
165426
  if (typeof pluginModuleFactory !== "function") {
165418
- this.projectService.logger.info("Skipped loading plugin " + configEntry.name + " because it did not expose a proper factory function");
165427
+ this.projectService.logger.info("Skipped loading plugin ".concat(configEntry.name, " because it did not expose a proper factory function"));
165419
165428
  return;
165420
165429
  }
165421
165430
  var info = {
@@ -165432,7 +165441,7 @@ var ts;
165432
165441
  var k = _a[_i];
165433
165442
  // eslint-disable-next-line no-in-operator
165434
165443
  if (!(k in newLS)) {
165435
- this.projectService.logger.info("Plugin activation warning: Missing proxied method " + k + " in created LS. Patching.");
165444
+ this.projectService.logger.info("Plugin activation warning: Missing proxied method ".concat(k, " in created LS. Patching."));
165436
165445
  newLS[k] = this.languageService[k];
165437
165446
  }
165438
165447
  }
@@ -165441,7 +165450,7 @@ var ts;
165441
165450
  this.plugins.push({ name: configEntry.name, module: pluginModule });
165442
165451
  }
165443
165452
  catch (e) {
165444
- this.projectService.logger.info("Plugin activation failed: " + e);
165453
+ this.projectService.logger.info("Plugin activation failed: ".concat(e));
165445
165454
  }
165446
165455
  };
165447
165456
  /*@internal*/
@@ -165956,7 +165965,7 @@ var ts;
165956
165965
  var searchPaths = __spreadArray([ts.combinePaths(this.projectService.getExecutingFilePath(), "../../..")], this.projectService.pluginProbeLocations, true);
165957
165966
  if (this.projectService.allowLocalPluginLoads) {
165958
165967
  var local = ts.getDirectoryPath(this.canonicalConfigFilePath);
165959
- this.projectService.logger.info("Local plugin loading enabled; adding " + local + " to search paths");
165968
+ this.projectService.logger.info("Local plugin loading enabled; adding ".concat(local, " to search paths"));
165960
165969
  searchPaths.unshift(local);
165961
165970
  }
165962
165971
  // Enable tsconfig-specified plugins
@@ -166382,7 +166391,7 @@ var ts;
166382
166391
  return forEachAnyProjectReferenceKind(project, function (resolvedRef) { return callbackRefProject(project, cb, resolvedRef.sourceFile.path); }, function (projectRef) { return callbackRefProject(project, cb, project.toPath(ts.resolveProjectReferencePath(projectRef))); }, function (potentialProjectRef) { return callbackRefProject(project, cb, potentialProjectRef); });
166383
166392
  }
166384
166393
  function getDetailWatchInfo(watchType, project) {
166385
- return (ts.isString(project) ? "Config: " + project + " " : project ? "Project: " + project.getProjectName() + " " : "") + "WatchType: " + watchType;
166394
+ return "".concat(ts.isString(project) ? "Config: ".concat(project, " ") : project ? "Project: ".concat(project.getProjectName(), " ") : "", "WatchType: ").concat(watchType);
166386
166395
  }
166387
166396
  function isScriptInfoWatchedFromNodeModules(info) {
166388
166397
  return !info.isScriptOpen() && info.mTime !== undefined;
@@ -166587,7 +166596,7 @@ var ts;
166587
166596
  try {
166588
166597
  var fileContent = this.host.readFile(this.typesMapLocation); // TODO: GH#18217
166589
166598
  if (fileContent === undefined) {
166590
- this.logger.info("Provided types map file \"" + this.typesMapLocation + "\" doesn't exist");
166599
+ this.logger.info("Provided types map file \"".concat(this.typesMapLocation, "\" doesn't exist"));
166591
166600
  return;
166592
166601
  }
166593
166602
  var raw = JSON.parse(fileContent);
@@ -166605,7 +166614,7 @@ var ts;
166605
166614
  }
166606
166615
  }
166607
166616
  catch (e) {
166608
- this.logger.info("Error loading types map: " + e);
166617
+ this.logger.info("Error loading types map: ".concat(e));
166609
166618
  this.safelist = defaultTypeSafeList;
166610
166619
  this.legacySafelist.clear();
166611
166620
  }
@@ -166927,7 +166936,7 @@ var ts;
166927
166936
  var fsResult = config.cachedDirectoryStructureHost.addOrDeleteFileOrDirectory(fileOrDirectory, fileOrDirectoryPath);
166928
166937
  if (ts.getBaseFileName(fileOrDirectoryPath) === "package.json" && !ts.isInsideNodeModules(fileOrDirectoryPath) &&
166929
166938
  (fsResult && fsResult.fileExists || !fsResult && _this.host.fileExists(fileOrDirectoryPath))) {
166930
- _this.logger.info("Config: " + configFileName + " Detected new package.json: " + fileOrDirectory);
166939
+ _this.logger.info("Config: ".concat(configFileName, " Detected new package.json: ").concat(fileOrDirectory));
166931
166940
  _this.onAddPackageJson(fileOrDirectoryPath);
166932
166941
  }
166933
166942
  var configuredProjectForConfig = _this.findConfiguredProjectByProjectName(configFileName);
@@ -167050,13 +167059,13 @@ var ts;
167050
167059
  project.print(/*writeProjectFileNames*/ true);
167051
167060
  project.close();
167052
167061
  if (ts.Debug.shouldAssert(1 /* Normal */)) {
167053
- this.filenameToScriptInfo.forEach(function (info) { return ts.Debug.assert(!info.isAttached(project), "Found script Info still attached to project", function () { return project.projectName + ": ScriptInfos still attached: " + JSON.stringify(ts.arrayFrom(ts.mapDefinedIterator(_this.filenameToScriptInfo.values(), function (info) { return info.isAttached(project) ?
167062
+ this.filenameToScriptInfo.forEach(function (info) { return ts.Debug.assert(!info.isAttached(project), "Found script Info still attached to project", function () { return "".concat(project.projectName, ": ScriptInfos still attached: ").concat(JSON.stringify(ts.arrayFrom(ts.mapDefinedIterator(_this.filenameToScriptInfo.values(), function (info) { return info.isAttached(project) ?
167054
167063
  {
167055
167064
  fileName: info.fileName,
167056
167065
  projects: info.containingProjects.map(function (p) { return p.projectName; }),
167057
167066
  hasMixedContent: info.hasMixedContent
167058
167067
  } : undefined; })),
167059
- /*replacer*/ undefined, " "); }); });
167068
+ /*replacer*/ undefined, " ")); }); });
167060
167069
  }
167061
167070
  // Remove the project from pending project updates
167062
167071
  this.pendingProjectUpdates.delete(project.getProjectName());
@@ -167457,15 +167466,15 @@ var ts;
167457
167466
  if (result !== undefined)
167458
167467
  return result || undefined;
167459
167468
  }
167460
- this.logger.info("Search path: " + ts.getDirectoryPath(info.fileName));
167469
+ this.logger.info("Search path: ".concat(ts.getDirectoryPath(info.fileName)));
167461
167470
  var configFileName = this.forEachConfigFileLocation(info, function (canonicalConfigFilePath, configFileName) {
167462
167471
  return _this.configFileExists(configFileName, canonicalConfigFilePath, info);
167463
167472
  });
167464
167473
  if (configFileName) {
167465
- this.logger.info("For info: " + info.fileName + " :: Config file name: " + configFileName);
167474
+ this.logger.info("For info: ".concat(info.fileName, " :: Config file name: ").concat(configFileName));
167466
167475
  }
167467
167476
  else {
167468
- this.logger.info("For info: " + info.fileName + " :: No config files found.");
167477
+ this.logger.info("For info: ".concat(info.fileName, " :: No config files found."));
167469
167478
  }
167470
167479
  if (isOpenScriptInfo(info)) {
167471
167480
  this.configFileForOpenFiles.set(info.path, configFileName || false);
@@ -167484,8 +167493,8 @@ var ts;
167484
167493
  this.logger.info("Open files: ");
167485
167494
  this.openFiles.forEach(function (projectRootPath, path) {
167486
167495
  var info = _this.getScriptInfoForPath(path);
167487
- _this.logger.info("\tFileName: " + info.fileName + " ProjectRootPath: " + projectRootPath);
167488
- _this.logger.info("\t\tProjects: " + info.containingProjects.map(function (p) { return p.getProjectName(); }));
167496
+ _this.logger.info("\tFileName: ".concat(info.fileName, " ProjectRootPath: ").concat(projectRootPath));
167497
+ _this.logger.info("\t\tProjects: ".concat(info.containingProjects.map(function (p) { return p.getProjectName(); })));
167489
167498
  });
167490
167499
  this.logger.endGroup();
167491
167500
  };
@@ -167524,7 +167533,7 @@ var ts;
167524
167533
  .map(function (name) { return ({ name: name, size: _this.host.getFileSize(name) }); })
167525
167534
  .sort(function (a, b) { return b.size - a.size; })
167526
167535
  .slice(0, 5);
167527
- this.logger.info("Non TS file size exceeded limit (" + totalNonTsFileSize + "). Largest files: " + top5LargestFiles.map(function (file) { return file.name + ":" + file.size; }).join(", "));
167536
+ this.logger.info("Non TS file size exceeded limit (".concat(totalNonTsFileSize, "). Largest files: ").concat(top5LargestFiles.map(function (file) { return "".concat(file.name, ":").concat(file.size); }).join(", ")));
167528
167537
  // Keep the size as zero since it's disabled
167529
167538
  return fileName;
167530
167539
  }
@@ -167593,7 +167602,7 @@ var ts;
167593
167602
  };
167594
167603
  /* @internal */
167595
167604
  ProjectService.prototype.createConfiguredProject = function (configFileName) {
167596
- this.logger.info("Creating configuration project " + configFileName);
167605
+ this.logger.info("Creating configuration project ".concat(configFileName));
167597
167606
  var canonicalConfigFilePath = server.asNormalizedPath(this.toCanonicalFileName(configFileName));
167598
167607
  var configFileExistenceInfo = this.configFileExistenceInfoCache.get(canonicalConfigFilePath);
167599
167608
  // We could be in this scenario if project is the configured project tracked by external project
@@ -167704,12 +167713,12 @@ var ts;
167704
167713
  if (parsedCommandLine.errors.length) {
167705
167714
  configFileErrors.push.apply(configFileErrors, parsedCommandLine.errors);
167706
167715
  }
167707
- this.logger.info("Config: " + configFilename + " : " + JSON.stringify({
167716
+ this.logger.info("Config: ".concat(configFilename, " : ").concat(JSON.stringify({
167708
167717
  rootNames: parsedCommandLine.fileNames,
167709
167718
  options: parsedCommandLine.options,
167710
167719
  watchOptions: parsedCommandLine.watchOptions,
167711
167720
  projectReferences: parsedCommandLine.projectReferences
167712
- }, /*replacer*/ undefined, " "));
167721
+ }, /*replacer*/ undefined, " ")));
167713
167722
  var oldCommandLine = (_b = configFileExistenceInfo.config) === null || _b === void 0 ? void 0 : _b.parsedCommandLine;
167714
167723
  if (!configFileExistenceInfo.config) {
167715
167724
  configFileExistenceInfo.config = { parsedCommandLine: parsedCommandLine, cachedDirectoryStructureHost: cachedDirectoryStructureHost, projects: new ts.Map() };
@@ -167739,7 +167748,7 @@ var ts;
167739
167748
  // Update projects
167740
167749
  var ensureProjectsForOpenFiles = false;
167741
167750
  (_a = _this.sharedExtendedConfigFileWatchers.get(extendedConfigFilePath)) === null || _a === void 0 ? void 0 : _a.projects.forEach(function (canonicalPath) {
167742
- ensureProjectsForOpenFiles = _this.delayUpdateProjectsFromParsedConfigOnConfigFileChange(canonicalPath, "Change in extended config file " + extendedConfigFileName + " detected") || ensureProjectsForOpenFiles;
167751
+ ensureProjectsForOpenFiles = _this.delayUpdateProjectsFromParsedConfigOnConfigFileChange(canonicalPath, "Change in extended config file ".concat(extendedConfigFileName, " detected")) || ensureProjectsForOpenFiles;
167743
167752
  });
167744
167753
  if (ensureProjectsForOpenFiles)
167745
167754
  _this.delayEnsureProjectForOpenFiles();
@@ -167895,7 +167904,7 @@ var ts;
167895
167904
  // Clear the cache since we are reloading the project from disk
167896
167905
  host.clearCache();
167897
167906
  var configFileName = project.getConfigFilePath();
167898
- this.logger.info((isInitialLoad ? "Loading" : "Reloading") + " configured project " + configFileName);
167907
+ this.logger.info("".concat(isInitialLoad ? "Loading" : "Reloading", " configured project ").concat(configFileName));
167899
167908
  // Load project from the disk
167900
167909
  this.loadConfiguredProject(project, reason);
167901
167910
  project.updateGraph();
@@ -168034,7 +168043,7 @@ var ts;
168034
168043
  var path = _a[0], scriptInfo = _a[1];
168035
168044
  return ({ path: path, fileName: scriptInfo.fileName });
168036
168045
  });
168037
- this.logger.msg("Could not find file " + JSON.stringify(fileName) + ".\nAll files are: " + JSON.stringify(names), server.Msg.Err);
168046
+ this.logger.msg("Could not find file ".concat(JSON.stringify(fileName), ".\nAll files are: ").concat(JSON.stringify(names)), server.Msg.Err);
168038
168047
  };
168039
168048
  /**
168040
168049
  * Returns the projects that contain script info through SymLink
@@ -168218,9 +168227,9 @@ var ts;
168218
168227
  var info = this.getScriptInfoForPath(path);
168219
168228
  if (!info) {
168220
168229
  var isDynamic = server.isDynamicFileName(fileName);
168221
- ts.Debug.assert(ts.isRootedDiskPath(fileName) || isDynamic || openedByClient, "", function () { return JSON.stringify({ fileName: fileName, currentDirectory: currentDirectory, hostCurrentDirectory: _this.currentDirectory, openKeys: ts.arrayFrom(_this.openFilesWithNonRootedDiskPath.keys()) }) + "\nScript info with non-dynamic relative file name can only be open script info or in context of host currentDirectory"; });
168222
- ts.Debug.assert(!ts.isRootedDiskPath(fileName) || this.currentDirectory === currentDirectory || !this.openFilesWithNonRootedDiskPath.has(this.toCanonicalFileName(fileName)), "", function () { return JSON.stringify({ fileName: fileName, currentDirectory: currentDirectory, hostCurrentDirectory: _this.currentDirectory, openKeys: ts.arrayFrom(_this.openFilesWithNonRootedDiskPath.keys()) }) + "\nOpen script files with non rooted disk path opened with current directory context cannot have same canonical names"; });
168223
- ts.Debug.assert(!isDynamic || this.currentDirectory === currentDirectory || this.useInferredProjectPerProjectRoot, "", function () { return JSON.stringify({ fileName: fileName, currentDirectory: currentDirectory, hostCurrentDirectory: _this.currentDirectory, openKeys: ts.arrayFrom(_this.openFilesWithNonRootedDiskPath.keys()) }) + "\nDynamic files must always be opened with service's current directory or service should support inferred project per projectRootPath."; });
168230
+ ts.Debug.assert(ts.isRootedDiskPath(fileName) || isDynamic || openedByClient, "", function () { return "".concat(JSON.stringify({ fileName: fileName, currentDirectory: currentDirectory, hostCurrentDirectory: _this.currentDirectory, openKeys: ts.arrayFrom(_this.openFilesWithNonRootedDiskPath.keys()) }), "\nScript info with non-dynamic relative file name can only be open script info or in context of host currentDirectory"); });
168231
+ ts.Debug.assert(!ts.isRootedDiskPath(fileName) || this.currentDirectory === currentDirectory || !this.openFilesWithNonRootedDiskPath.has(this.toCanonicalFileName(fileName)), "", function () { return "".concat(JSON.stringify({ fileName: fileName, currentDirectory: currentDirectory, hostCurrentDirectory: _this.currentDirectory, openKeys: ts.arrayFrom(_this.openFilesWithNonRootedDiskPath.keys()) }), "\nOpen script files with non rooted disk path opened with current directory context cannot have same canonical names"); });
168232
+ ts.Debug.assert(!isDynamic || this.currentDirectory === currentDirectory || this.useInferredProjectPerProjectRoot, "", function () { return "".concat(JSON.stringify({ fileName: fileName, currentDirectory: currentDirectory, hostCurrentDirectory: _this.currentDirectory, openKeys: ts.arrayFrom(_this.openFilesWithNonRootedDiskPath.keys()) }), "\nDynamic files must always be opened with service's current directory or service should support inferred project per projectRootPath."); });
168224
168233
  // If the file is not opened by client and the file doesnot exist on the disk, return
168225
168234
  if (!openedByClient && !isDynamic && !(hostToQueryFileExistsOn || this.host).fileExists(fileName)) {
168226
168235
  return;
@@ -168399,13 +168408,13 @@ var ts;
168399
168408
  var info = this.getScriptInfoForNormalizedPath(server.toNormalizedPath(args.file));
168400
168409
  if (info) {
168401
168410
  info.setOptions(convertFormatOptions(args.formatOptions), args.preferences);
168402
- this.logger.info("Host configuration update for file " + args.file);
168411
+ this.logger.info("Host configuration update for file ".concat(args.file));
168403
168412
  }
168404
168413
  }
168405
168414
  else {
168406
168415
  if (args.hostInfo !== undefined) {
168407
168416
  this.hostConfiguration.hostInfo = args.hostInfo;
168408
- this.logger.info("Host information " + args.hostInfo);
168417
+ this.logger.info("Host information ".concat(args.hostInfo));
168409
168418
  }
168410
168419
  if (args.formatOptions) {
168411
168420
  this.hostConfiguration.formatCodeOptions = __assign(__assign({}, this.hostConfiguration.formatCodeOptions), convertFormatOptions(args.formatOptions));
@@ -168437,7 +168446,7 @@ var ts;
168437
168446
  }
168438
168447
  if (args.watchOptions) {
168439
168448
  this.hostConfiguration.watchOptions = (_a = convertWatchOptions(args.watchOptions)) === null || _a === void 0 ? void 0 : _a.watchOptions;
168440
- this.logger.info("Host watch options changed to " + JSON.stringify(this.hostConfiguration.watchOptions) + ", it will be take effect for next watches.");
168449
+ this.logger.info("Host watch options changed to ".concat(JSON.stringify(this.hostConfiguration.watchOptions), ", it will be take effect for next watches."));
168441
168450
  }
168442
168451
  }
168443
168452
  };
@@ -168649,7 +168658,7 @@ var ts;
168649
168658
  ? originalLocation
168650
168659
  : location;
168651
168660
  }
168652
- configuredProject = this.createAndLoadConfiguredProject(configFileName, "Creating project for original file: " + originalFileInfo.fileName + (location !== originalLocation ? " for location: " + location.fileName : ""));
168661
+ configuredProject = this.createAndLoadConfiguredProject(configFileName, "Creating project for original file: ".concat(originalFileInfo.fileName).concat(location !== originalLocation ? " for location: " + location.fileName : ""));
168653
168662
  }
168654
168663
  updateProjectIfDirty(configuredProject);
168655
168664
  var projectContainsOriginalInfo = function (project) {
@@ -168661,7 +168670,7 @@ var ts;
168661
168670
  configuredProject = forEachResolvedProjectReferenceProject(configuredProject, fileName, function (child) {
168662
168671
  updateProjectIfDirty(child);
168663
168672
  return projectContainsOriginalInfo(child) ? child : undefined;
168664
- }, ProjectReferenceProjectLoadKind.FindCreateLoad, "Creating project referenced in solution " + configuredProject.projectName + " to find possible configured project for original file: " + originalFileInfo.fileName + (location !== originalLocation ? " for location: " + location.fileName : ""));
168673
+ }, ProjectReferenceProjectLoadKind.FindCreateLoad, "Creating project referenced in solution ".concat(configuredProject.projectName, " to find possible configured project for original file: ").concat(originalFileInfo.fileName).concat(location !== originalLocation ? " for location: " + location.fileName : ""));
168665
168674
  if (!configuredProject)
168666
168675
  return undefined;
168667
168676
  if (configuredProject === project)
@@ -168715,7 +168724,7 @@ var ts;
168715
168724
  if (configFileName) {
168716
168725
  project = this.findConfiguredProjectByProjectName(configFileName);
168717
168726
  if (!project) {
168718
- project = this.createLoadAndUpdateConfiguredProject(configFileName, "Creating possible configured project for " + info.fileName + " to open");
168727
+ project = this.createLoadAndUpdateConfiguredProject(configFileName, "Creating possible configured project for ".concat(info.fileName, " to open"));
168719
168728
  defaultConfigProjectIsCreated = true;
168720
168729
  }
168721
168730
  else {
@@ -168745,7 +168754,7 @@ var ts;
168745
168754
  if (!projectForConfigFileDiag && child.containsScriptInfo(info)) {
168746
168755
  projectForConfigFileDiag = child;
168747
168756
  }
168748
- }, ProjectReferenceProjectLoadKind.FindCreateLoad, "Creating project referenced in solution " + project.projectName + " to find possible configured project for " + info.fileName + " to open");
168757
+ }, ProjectReferenceProjectLoadKind.FindCreateLoad, "Creating project referenced in solution ".concat(project.projectName, " to find possible configured project for ").concat(info.fileName, " to open"));
168749
168758
  }
168750
168759
  // Send the event only if the project got created as part of this open request and info is part of the project
168751
168760
  if (projectForConfigFileDiag) {
@@ -168807,7 +168816,7 @@ var ts;
168807
168816
  return;
168808
168817
  // find or delay load the project
168809
168818
  var ancestor = this.findConfiguredProjectByProjectName(configFileName) ||
168810
- this.createConfiguredProjectWithDelayLoad(configFileName, "Creating project possibly referencing default composite project " + project.getProjectName() + " of open file " + info.fileName);
168819
+ this.createConfiguredProjectWithDelayLoad(configFileName, "Creating project possibly referencing default composite project ".concat(project.getProjectName(), " of open file ").concat(info.fileName));
168811
168820
  if (ancestor.isInitialLoadPending()) {
168812
168821
  // Set a potential project reference
168813
168822
  ancestor.setPotentialProjectReference(project.canonicalConfigFilePath);
@@ -168850,7 +168859,7 @@ var ts;
168850
168859
  // Load this project,
168851
168860
  var configFileName = server.toNormalizedPath(child.sourceFile.fileName);
168852
168861
  var childProject = project.projectService.findConfiguredProjectByProjectName(configFileName) ||
168853
- project.projectService.createAndLoadConfiguredProject(configFileName, "Creating project referenced by : " + project.projectName + " as it references project " + referencedProject.sourceFile.fileName);
168862
+ project.projectService.createAndLoadConfiguredProject(configFileName, "Creating project referenced by : ".concat(project.projectName, " as it references project ").concat(referencedProject.sourceFile.fileName));
168854
168863
  updateProjectIfDirty(childProject);
168855
168864
  // Ensure children for this project
168856
168865
  this.ensureProjectChildren(childProject, forProjects, seenProjects);
@@ -169151,7 +169160,7 @@ var ts;
169151
169160
  for (var _b = 0, normalizedNames_1 = normalizedNames; _b < normalizedNames_1.length; _b++) {
169152
169161
  var root = normalizedNames_1[_b];
169153
169162
  if (rule.match.test(root)) {
169154
- this_2.logger.info("Excluding files based on rule " + name + " matching file '" + root + "'");
169163
+ this_2.logger.info("Excluding files based on rule ".concat(name, " matching file '").concat(root, "'"));
169155
169164
  // If the file matches, collect its types packages and exclude rules
169156
169165
  if (rule.types) {
169157
169166
  for (var _c = 0, _d = rule.types; _c < _d.length; _c++) {
@@ -169176,7 +169185,7 @@ var ts;
169176
169185
  if (typeof groupNumberOrString === "number") {
169177
169186
  if (!ts.isString(groups[groupNumberOrString])) {
169178
169187
  // Specification was wrong - exclude nothing!
169179
- _this.logger.info("Incorrect RegExp specification in safelist rule " + name + " - not enough groups");
169188
+ _this.logger.info("Incorrect RegExp specification in safelist rule ".concat(name, " - not enough groups"));
169180
169189
  // * can't appear in a filename; escape it because it's feeding into a RegExp
169181
169190
  return "\\*";
169182
169191
  }
@@ -169224,7 +169233,7 @@ var ts;
169224
169233
  var cleanedTypingName = ts.removeMinAndVersionNumbers(inferredTypingName);
169225
169234
  var typeName = this_3.legacySafelist.get(cleanedTypingName);
169226
169235
  if (typeName !== undefined) {
169227
- this_3.logger.info("Excluded '" + normalizedNames[i] + "' because it matched " + cleanedTypingName + " from the legacy safelist");
169236
+ this_3.logger.info("Excluded '".concat(normalizedNames[i], "' because it matched ").concat(cleanedTypingName, " from the legacy safelist"));
169228
169237
  excludedFiles.push(normalizedNames[i]);
169229
169238
  // *exclude* it from the project...
169230
169239
  exclude = true;
@@ -169354,8 +169363,8 @@ var ts;
169354
169363
  if (!project) {
169355
169364
  // errors are stored in the project, do not need to update the graph
169356
169365
  project = this.getHostPreferences().lazyConfiguredProjectsFromExternalProject ?
169357
- this.createConfiguredProjectWithDelayLoad(tsconfigFile, "Creating configured project in external project: " + proj.projectFileName) :
169358
- this.createLoadAndUpdateConfiguredProject(tsconfigFile, "Creating configured project in external project: " + proj.projectFileName);
169366
+ this.createConfiguredProjectWithDelayLoad(tsconfigFile, "Creating configured project in external project: ".concat(proj.projectFileName)) :
169367
+ this.createLoadAndUpdateConfiguredProject(tsconfigFile, "Creating configured project in external project: ".concat(proj.projectFileName));
169359
169368
  }
169360
169369
  if (project && !ts.contains(exisingConfigFiles, tsconfigFile)) {
169361
169370
  // keep project alive even if no documents are opened - its lifetime is bound to the lifetime of containing external project
@@ -169593,7 +169602,7 @@ var ts;
169593
169602
  return cache || (cache = new ts.Map());
169594
169603
  }
169595
169604
  function key(fromFileName, preferences) {
169596
- return fromFileName + "," + preferences.importModuleSpecifierEnding + "," + preferences.importModuleSpecifierPreference;
169605
+ return "".concat(fromFileName, ",").concat(preferences.importModuleSpecifierEnding, ",").concat(preferences.importModuleSpecifierPreference);
169597
169606
  }
169598
169607
  function createInfo(modulePaths, moduleSpecifiers, isAutoImportable) {
169599
169608
  return { modulePaths: modulePaths, moduleSpecifiers: moduleSpecifiers, isAutoImportable: isAutoImportable };
@@ -169752,10 +169761,10 @@ var ts;
169752
169761
  var verboseLogging = logger.hasLevel(server.LogLevel.verbose);
169753
169762
  var json = JSON.stringify(msg);
169754
169763
  if (verboseLogging) {
169755
- logger.info(msg.type + ":" + server.indent(json));
169764
+ logger.info("".concat(msg.type, ":").concat(server.indent(json)));
169756
169765
  }
169757
169766
  var len = byteLength(json, "utf8");
169758
- return "Content-Length: " + (1 + len) + "\r\n\r\n" + json + newLine;
169767
+ return "Content-Length: ".concat(1 + len, "\r\n\r\n").concat(json).concat(newLine);
169759
169768
  }
169760
169769
  server.formatMessage = formatMessage;
169761
169770
  /**
@@ -169820,7 +169829,7 @@ var ts;
169820
169829
  }
169821
169830
  else {
169822
169831
  ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.instant("session" /* Session */, "stepError", { seq: this.requestId, message: e.message });
169823
- this.operationHost.logError(e, "delayed processing of request " + this.requestId);
169832
+ this.operationHost.logError(e, "delayed processing of request ".concat(this.requestId));
169824
169833
  }
169825
169834
  }
169826
169835
  if (stop || !this.hasPendingWork()) {
@@ -170605,14 +170614,14 @@ var ts;
170605
170614
  case ts.LanguageServiceMode.PartialSemantic:
170606
170615
  invalidPartialSemanticModeCommands.forEach(function (commandName) {
170607
170616
  return _this.handlers.set(commandName, function (request) {
170608
- throw new Error("Request: " + request.command + " not allowed in LanguageServiceMode.PartialSemantic");
170617
+ throw new Error("Request: ".concat(request.command, " not allowed in LanguageServiceMode.PartialSemantic"));
170609
170618
  });
170610
170619
  });
170611
170620
  break;
170612
170621
  case ts.LanguageServiceMode.Syntactic:
170613
170622
  invalidSyntacticModeCommands.forEach(function (commandName) {
170614
170623
  return _this.handlers.set(commandName, function (request) {
170615
- throw new Error("Request: " + request.command + " not allowed in LanguageServiceMode.Syntactic");
170624
+ throw new Error("Request: ".concat(request.command, " not allowed in LanguageServiceMode.Syntactic"));
170616
170625
  });
170617
170626
  });
170618
170627
  break;
@@ -170687,7 +170696,7 @@ var ts;
170687
170696
  };
170688
170697
  Session.prototype.projectsUpdatedInBackgroundEvent = function (openFiles) {
170689
170698
  var _this = this;
170690
- this.projectService.logger.info("got projects updated in background, updating diagnostics for " + openFiles);
170699
+ this.projectService.logger.info("got projects updated in background, updating diagnostics for ".concat(openFiles));
170691
170700
  if (openFiles.length) {
170692
170701
  if (!this.suppressDiagnosticEvents && !this.noGetErrOnBackgroundUpdate) {
170693
170702
  // For now only queue error checking for open files. We can change this to include non open files as well
@@ -170717,17 +170726,17 @@ var ts;
170717
170726
  var scriptInfo = project.getScriptInfoForNormalizedPath(file);
170718
170727
  if (scriptInfo) {
170719
170728
  var text = ts.getSnapshotText(scriptInfo.getSnapshot());
170720
- msg += "\n\nFile text of " + fileRequest.file + ":" + server.indent(text) + "\n";
170729
+ msg += "\n\nFile text of ".concat(fileRequest.file, ":").concat(server.indent(text), "\n");
170721
170730
  }
170722
170731
  }
170723
170732
  catch (_b) { } // eslint-disable-line no-empty
170724
170733
  }
170725
170734
  if (err.ProgramFiles) {
170726
- msg += "\n\nProgram files: " + JSON.stringify(err.ProgramFiles) + "\n";
170735
+ msg += "\n\nProgram files: ".concat(JSON.stringify(err.ProgramFiles), "\n");
170727
170736
  msg += "\n\nProjects::\n";
170728
170737
  var counter_1 = 0;
170729
170738
  var addProjectInfo = function (project) {
170730
- msg += "\nProject '" + project.projectName + "' (" + server.ProjectKind[project.projectKind] + ") " + counter_1 + "\n";
170739
+ msg += "\nProject '".concat(project.projectName, "' (").concat(server.ProjectKind[project.projectKind], ") ").concat(counter_1, "\n");
170731
170740
  msg += project.filesToString(/*writeProjectFileNames*/ true);
170732
170741
  msg += "\n-----------------------------------------------\n";
170733
170742
  counter_1++;
@@ -170742,12 +170751,12 @@ var ts;
170742
170751
  Session.prototype.send = function (msg) {
170743
170752
  if (msg.type === "event" && !this.canUseEvents) {
170744
170753
  if (this.logger.hasLevel(server.LogLevel.verbose)) {
170745
- this.logger.info("Session does not support events: ignored event: " + JSON.stringify(msg));
170754
+ this.logger.info("Session does not support events: ignored event: ".concat(JSON.stringify(msg)));
170746
170755
  }
170747
170756
  return;
170748
170757
  }
170749
170758
  var msgText = formatMessage(msg, this.logger, this.byteLength, this.host.newLine);
170750
- ts.perfLogger.logEvent("Response message size: " + msgText.length);
170759
+ ts.perfLogger.logEvent("Response message size: ".concat(msgText.length));
170751
170760
  this.host.write(msgText);
170752
170761
  };
170753
170762
  Session.prototype.event = function (body, eventName) {
@@ -170885,7 +170894,7 @@ var ts;
170885
170894
  if (!projects) {
170886
170895
  return;
170887
170896
  }
170888
- this.logger.info("cleaning " + caption);
170897
+ this.logger.info("cleaning ".concat(caption));
170889
170898
  for (var _i = 0, projects_4 = projects; _i < projects_4.length; _i++) {
170890
170899
  var p = projects_4[_i];
170891
170900
  p.getLanguageService(/*ensureSynchronized*/ false).cleanupSemanticCache();
@@ -171299,7 +171308,7 @@ var ts;
171299
171308
  var refs = references.map(function (entry) { return referenceEntryToReferencesResponseItem(_this.projectService, entry); });
171300
171309
  return {
171301
171310
  refs: refs,
171302
- symbolName: "\"" + args.file + "\""
171311
+ symbolName: "\"".concat(args.file, "\"")
171303
171312
  };
171304
171313
  };
171305
171314
  /**
@@ -171843,7 +171852,7 @@ var ts;
171843
171852
  });
171844
171853
  var badCode = args.errorCodes.find(function (c) { return !existingDiagCodes_1.includes(c); });
171845
171854
  if (badCode !== undefined) {
171846
- e.message = "BADCLIENT: Bad error code, " + badCode + " not found in range " + startPosition + ".." + endPosition + " (found: " + existingDiagCodes_1.join(", ") + "); could have caused this error:\n" + e.message;
171855
+ e.message = "BADCLIENT: Bad error code, ".concat(badCode, " not found in range ").concat(startPosition, "..").concat(endPosition, " (found: ").concat(existingDiagCodes_1.join(", "), "); could have caused this error:\n").concat(e.message);
171847
171856
  }
171848
171857
  throw e;
171849
171858
  }
@@ -172120,7 +172129,7 @@ var ts;
172120
172129
  };
172121
172130
  Session.prototype.addProtocolHandler = function (command, handler) {
172122
172131
  if (this.handlers.has(command)) {
172123
- throw new Error("Protocol handler already exists for command \"" + command + "\"");
172132
+ throw new Error("Protocol handler already exists for command \"".concat(command, "\""));
172124
172133
  }
172125
172134
  this.handlers.set(command, handler);
172126
172135
  };
@@ -172149,8 +172158,8 @@ var ts;
172149
172158
  return this.executeWithRequestId(request.seq, function () { return handler(request); });
172150
172159
  }
172151
172160
  else {
172152
- this.logger.msg("Unrecognized JSON command:" + server.stringifyIndented(request), server.Msg.Err);
172153
- this.doOutput(/*info*/ undefined, server.CommandNames.Unknown, request.seq, /*success*/ false, "Unrecognized JSON command: " + request.command);
172161
+ this.logger.msg("Unrecognized JSON command:".concat(server.stringifyIndented(request)), server.Msg.Err);
172162
+ this.doOutput(/*info*/ undefined, server.CommandNames.Unknown, request.seq, /*success*/ false, "Unrecognized JSON command: ".concat(request.command));
172154
172163
  return { responseRequired: false };
172155
172164
  }
172156
172165
  };
@@ -172161,7 +172170,7 @@ var ts;
172161
172170
  if (this.logger.hasLevel(server.LogLevel.requestTime)) {
172162
172171
  start = this.hrtime();
172163
172172
  if (this.logger.hasLevel(server.LogLevel.verbose)) {
172164
- this.logger.info("request:" + server.indent(this.toStringMessage(message)));
172173
+ this.logger.info("request:".concat(server.indent(this.toStringMessage(message))));
172165
172174
  }
172166
172175
  }
172167
172176
  var request;
@@ -172177,10 +172186,10 @@ var ts;
172177
172186
  if (this.logger.hasLevel(server.LogLevel.requestTime)) {
172178
172187
  var elapsedTime = hrTimeToMilliseconds(this.hrtime(start)).toFixed(4);
172179
172188
  if (responseRequired) {
172180
- this.logger.perftrc(request.seq + "::" + request.command + ": elapsed time (in milliseconds) " + elapsedTime);
172189
+ this.logger.perftrc("".concat(request.seq, "::").concat(request.command, ": elapsed time (in milliseconds) ").concat(elapsedTime));
172181
172190
  }
172182
172191
  else {
172183
- this.logger.perftrc(request.seq + "::" + request.command + ": async elapsed time (in milliseconds) " + elapsedTime);
172192
+ this.logger.perftrc("".concat(request.seq, "::").concat(request.command, ": async elapsed time (in milliseconds) ").concat(elapsedTime));
172184
172193
  }
172185
172194
  }
172186
172195
  // Note: Log before writing the response, else the editor can complete its activity before the server does
@@ -173116,7 +173125,7 @@ var ts;
173116
173125
  }
173117
173126
  if (!this.canWrite())
173118
173127
  return;
173119
- s = "[" + server.nowString() + "] " + s + "\n";
173128
+ s = "[".concat(server.nowString(), "] ").concat(s, "\n");
173120
173129
  if (!this.inGroup || this.firstInGroup) {
173121
173130
  var prefix = BaseLogger.padStringRight(type + " " + this.seq.toString(), " ");
173122
173131
  s = prefix + s;
@@ -173233,12 +173242,12 @@ var ts;
173233
173242
  WorkerSession.prototype.send = function (msg) {
173234
173243
  if (msg.type === "event" && !this.canUseEvents) {
173235
173244
  if (this.logger.hasLevel(server.LogLevel.verbose)) {
173236
- this.logger.info("Session does not support events: ignored event: " + JSON.stringify(msg));
173245
+ this.logger.info("Session does not support events: ignored event: ".concat(JSON.stringify(msg)));
173237
173246
  }
173238
173247
  return;
173239
173248
  }
173240
173249
  if (this.logger.hasLevel(server.LogLevel.verbose)) {
173241
- this.logger.info(msg.type + ":" + server.indent(JSON.stringify(msg)));
173250
+ this.logger.info("".concat(msg.type, ":").concat(server.indent(JSON.stringify(msg))));
173242
173251
  }
173243
173252
  this.webHost.writeMessage(msg);
173244
173253
  };
@@ -174301,23 +174310,23 @@ var ts;
174301
174310
  var status = cacheKey && statusCache_1.get(cacheKey);
174302
174311
  if (status === undefined) {
174303
174312
  if (logger.hasLevel(server.LogLevel.verbose)) {
174304
- logger.info(cacheKey + " for path " + path + " not found in cache...");
174313
+ logger.info("".concat(cacheKey, " for path ").concat(path, " not found in cache..."));
174305
174314
  }
174306
174315
  try {
174307
174316
  var args = [ts.combinePaths(__dirname, "watchGuard.js"), path];
174308
174317
  if (logger.hasLevel(server.LogLevel.verbose)) {
174309
- logger.info("Starting " + process.execPath + " with args:" + server.stringifyIndented(args));
174318
+ logger.info("Starting ".concat(process.execPath, " with args:").concat(server.stringifyIndented(args)));
174310
174319
  }
174311
174320
  childProcess.execFileSync(process.execPath, args, { stdio: "ignore", env: { ELECTRON_RUN_AS_NODE: "1" } });
174312
174321
  status = true;
174313
174322
  if (logger.hasLevel(server.LogLevel.verbose)) {
174314
- logger.info("WatchGuard for path " + path + " returned: OK");
174323
+ logger.info("WatchGuard for path ".concat(path, " returned: OK"));
174315
174324
  }
174316
174325
  }
174317
174326
  catch (e) {
174318
174327
  status = false;
174319
174328
  if (logger.hasLevel(server.LogLevel.verbose)) {
174320
- logger.info("WatchGuard for path " + path + " returned: " + e.message);
174329
+ logger.info("WatchGuard for path ".concat(path, " returned: ").concat(e.message));
174321
174330
  }
174322
174331
  }
174323
174332
  if (cacheKey) {
@@ -174325,7 +174334,7 @@ var ts;
174325
174334
  }
174326
174335
  }
174327
174336
  else if (logger.hasLevel(server.LogLevel.verbose)) {
174328
- logger.info("watchDirectory for " + path + " uses cached drive information.");
174337
+ logger.info("watchDirectory for ".concat(path, " uses cached drive information."));
174329
174338
  }
174330
174339
  if (status) {
174331
174340
  // this drive is safe to use - call real 'watchDirectory'
@@ -174468,7 +174477,7 @@ var ts;
174468
174477
  return originalWatchDirectory(path, callback, recursive, options);
174469
174478
  }
174470
174479
  catch (e) {
174471
- logger.info("Exception when creating directory watcher: " + e.message);
174480
+ logger.info("Exception when creating directory watcher: ".concat(e.message));
174472
174481
  return ts.noopFileWatcher;
174473
174482
  }
174474
174483
  }
@@ -174537,7 +174546,7 @@ var ts;
174537
174546
  args.push(server.Arguments.EnableTelemetry);
174538
174547
  }
174539
174548
  if (this.logger.loggingEnabled() && this.logger.getLogFileName()) {
174540
- args.push(server.Arguments.LogFile, ts.combinePaths(ts.getDirectoryPath(ts.normalizeSlashes(this.logger.getLogFileName())), "ti-" + process.pid + ".log"));
174549
+ args.push(server.Arguments.LogFile, ts.combinePaths(ts.getDirectoryPath(ts.normalizeSlashes(this.logger.getLogFileName())), "ti-".concat(process.pid, ".log")));
174541
174550
  }
174542
174551
  if (this.typingSafeListLocation) {
174543
174552
  args.push(server.Arguments.TypingSafeListLocation, this.typingSafeListLocation);
@@ -174561,7 +174570,7 @@ var ts;
174561
174570
  var currentPort = match[2] !== undefined
174562
174571
  ? +match[2]
174563
174572
  : match[1].charAt(0) === "d" ? 5858 : 9229;
174564
- execArgv.push("--" + match[1] + "=" + (currentPort + 1));
174573
+ execArgv.push("--".concat(match[1], "=").concat(currentPort + 1));
174565
174574
  break;
174566
174575
  }
174567
174576
  }
@@ -174587,13 +174596,13 @@ var ts;
174587
174596
  var request = server.createInstallTypingsRequest(project, typeAcquisition, unresolvedImports);
174588
174597
  if (this.logger.hasLevel(server.LogLevel.verbose)) {
174589
174598
  if (this.logger.hasLevel(server.LogLevel.verbose)) {
174590
- this.logger.info("Scheduling throttled operation:" + server.stringifyIndented(request));
174599
+ this.logger.info("Scheduling throttled operation:".concat(server.stringifyIndented(request)));
174591
174600
  }
174592
174601
  }
174593
174602
  var operationId = project.getProjectName();
174594
174603
  var operation = function () {
174595
174604
  if (_this.logger.hasLevel(server.LogLevel.verbose)) {
174596
- _this.logger.info("Sending request:" + server.stringifyIndented(request));
174605
+ _this.logger.info("Sending request:".concat(server.stringifyIndented(request)));
174597
174606
  }
174598
174607
  _this.send(request);
174599
174608
  };
@@ -174603,7 +174612,7 @@ var ts;
174603
174612
  }
174604
174613
  else {
174605
174614
  if (this.logger.hasLevel(server.LogLevel.verbose)) {
174606
- this.logger.info("Deferring request for: " + operationId);
174615
+ this.logger.info("Deferring request for: ".concat(operationId));
174607
174616
  }
174608
174617
  this.requestQueue.push(queuedRequest);
174609
174618
  this.requestMap.set(operationId, queuedRequest);
@@ -174611,7 +174620,7 @@ var ts;
174611
174620
  };
174612
174621
  NodeTypingsInstaller.prototype.handleMessage = function (response) {
174613
174622
  if (this.logger.hasLevel(server.LogLevel.verbose)) {
174614
- this.logger.info("Received response:" + server.stringifyIndented(response));
174623
+ this.logger.info("Received response:".concat(server.stringifyIndented(response)));
174615
174624
  }
174616
174625
  switch (response.kind) {
174617
174626
  case server.EventTypesRegistry:
@@ -174689,7 +174698,7 @@ var ts;
174689
174698
  break;
174690
174699
  }
174691
174700
  if (this.logger.hasLevel(server.LogLevel.verbose)) {
174692
- this.logger.info("Skipping defunct request for: " + queuedRequest.operationId);
174701
+ this.logger.info("Skipping defunct request for: ".concat(queuedRequest.operationId));
174693
174702
  }
174694
174703
  }
174695
174704
  this.projectService.updateTypingsForProject(response);
@@ -174702,7 +174711,7 @@ var ts;
174702
174711
  };
174703
174712
  NodeTypingsInstaller.prototype.scheduleRequest = function (request) {
174704
174713
  if (this.logger.hasLevel(server.LogLevel.verbose)) {
174705
- this.logger.info("Scheduling request for: " + request.operationId);
174714
+ this.logger.info("Scheduling request for: ".concat(request.operationId));
174706
174715
  }
174707
174716
  this.activeRequestCount++;
174708
174717
  this.host.setTimeout(request.operation, NodeTypingsInstaller.requestDelayMillis);
@@ -174750,7 +174759,7 @@ var ts;
174750
174759
  if (this.canUseEvents && this.eventPort) {
174751
174760
  if (!this.eventSocket) {
174752
174761
  if (this.logger.hasLevel(server.LogLevel.verbose)) {
174753
- this.logger.info("eventPort: event \"" + eventName + "\" queued, but socket not yet initialized");
174762
+ this.logger.info("eventPort: event \"".concat(eventName, "\" queued, but socket not yet initialized"));
174754
174763
  }
174755
174764
  (this.socketEventQueue || (this.socketEventQueue = [])).push({ body: body, eventName: eventName });
174756
174765
  return;
@@ -174828,7 +174837,7 @@ var ts;
174828
174837
  return ts.combinePaths(ts.combinePaths(cacheLocation, "typescript"), ts.versionMajorMinor);
174829
174838
  }
174830
174839
  default:
174831
- return ts.Debug.fail("unsupported platform '" + process.platform + "'");
174840
+ return ts.Debug.fail("unsupported platform '".concat(process.platform, "'"));
174832
174841
  }
174833
174842
  }
174834
174843
  function getNonWindowsCacheLocation(platformIsDarwin) {
@@ -174838,7 +174847,7 @@ var ts;
174838
174847
  var usersDir = platformIsDarwin ? "Users" : "home";
174839
174848
  var homePath = (os.homedir && os.homedir()) ||
174840
174849
  process.env.HOME ||
174841
- ((process.env.LOGNAME || process.env.USER) && "/" + usersDir + "/" + (process.env.LOGNAME || process.env.USER)) ||
174850
+ ((process.env.LOGNAME || process.env.USER) && "/".concat(usersDir, "/").concat(process.env.LOGNAME || process.env.USER)) ||
174842
174851
  os.tmpdir();
174843
174852
  var cacheFolder = platformIsDarwin
174844
174853
  ? "Library/Caches"
@@ -174996,10 +175005,10 @@ var ts;
174996
175005
  var args = _a.args, logger = _a.logger, cancellationToken = _a.cancellationToken, serverMode = _a.serverMode, unknownServerMode = _a.unknownServerMode, startServer = _a.startSession;
174997
175006
  var syntaxOnly = server.hasArgument("--syntaxOnly");
174998
175007
  logger.info("Starting TS Server");
174999
- logger.info("Version: " + ts.version);
175000
- logger.info("Arguments: " + args.join(" "));
175001
- logger.info("Platform: " + platform + " NodeVersion: " + ts.getNodeMajorVersion() + " CaseSensitive: " + ts.sys.useCaseSensitiveFileNames);
175002
- logger.info("ServerMode: " + serverMode + " syntaxOnly: " + syntaxOnly + " hasUnknownServerMode: " + unknownServerMode);
175008
+ logger.info("Version: ".concat(ts.version));
175009
+ logger.info("Arguments: ".concat(args.join(" ")));
175010
+ logger.info("Platform: ".concat(platform, " NodeVersion: ").concat(ts.getNodeMajorVersion(), " CaseSensitive: ").concat(ts.sys.useCaseSensitiveFileNames));
175011
+ logger.info("ServerMode: ".concat(serverMode, " syntaxOnly: ").concat(syntaxOnly, " hasUnknownServerMode: ").concat(unknownServerMode));
175003
175012
  ts.setStackTraceLimit();
175004
175013
  if (ts.Debug.isDebugging) {
175005
175014
  ts.Debug.enableDebugInfo();