typescript 5.0.0-dev.20230222 → 5.0.0-dev.20230224

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.
@@ -35,7 +35,7 @@ var ts = (() => {
35
35
  "src/compiler/corePublic.ts"() {
36
36
  "use strict";
37
37
  versionMajorMinor = "5.0";
38
- version = `${versionMajorMinor}.0-dev.20230222`;
38
+ version = `${versionMajorMinor}.0-dev.20230224`;
39
39
  Comparison = /* @__PURE__ */ ((Comparison3) => {
40
40
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
41
41
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -12806,7 +12806,7 @@ ${lanes.join("\n")}
12806
12806
  return (symbol.flags & 33554432 /* Transient */) !== 0;
12807
12807
  }
12808
12808
  function createSingleLineStringWriter() {
12809
- let str = "";
12809
+ var str = "";
12810
12810
  const writeText = (text) => str += text;
12811
12811
  return {
12812
12812
  getText: () => str,
@@ -16258,12 +16258,12 @@ ${lanes.join("\n")}
16258
16258
  return stringContains(version, "-dev") || stringContains(version, "-insiders");
16259
16259
  }
16260
16260
  function createTextWriter(newLine) {
16261
- let output;
16262
- let indent3;
16263
- let lineStart;
16264
- let lineCount;
16265
- let linePos;
16266
- let hasTrailingComment = false;
16261
+ var output;
16262
+ var indent3;
16263
+ var lineStart;
16264
+ var lineCount;
16265
+ var linePos;
16266
+ var hasTrailingComment = false;
16267
16267
  function updateLineCountAndPosFor(s) {
16268
16268
  const lineStartsOfS = computeLineStarts(s);
16269
16269
  if (lineStartsOfS.length > 1) {
@@ -21840,24 +21840,7 @@ ${lanes.join("\n")}
21840
21840
  return node;
21841
21841
  }
21842
21842
  function propagateAssignmentPatternFlags(node) {
21843
- if (node.transformFlags & 65536 /* ContainsObjectRestOrSpread */)
21844
- return 65536 /* ContainsObjectRestOrSpread */;
21845
- if (node.transformFlags & 128 /* ContainsES2018 */) {
21846
- for (const element of getElementsOfBindingOrAssignmentPattern(node)) {
21847
- const target = getTargetOfBindingOrAssignmentElement(element);
21848
- if (target && isAssignmentPattern(target)) {
21849
- if (target.transformFlags & 65536 /* ContainsObjectRestOrSpread */) {
21850
- return 65536 /* ContainsObjectRestOrSpread */;
21851
- }
21852
- if (target.transformFlags & 128 /* ContainsES2018 */) {
21853
- const flags2 = propagateAssignmentPatternFlags(target);
21854
- if (flags2)
21855
- return flags2;
21856
- }
21857
- }
21858
- }
21859
- }
21860
- return 0 /* None */;
21843
+ return containsObjectRestOrSpread(node) ? 65536 /* ContainsObjectRestOrSpread */ : 0 /* None */;
21861
21844
  }
21862
21845
  function updateBinaryExpression(node, left, operator, right) {
21863
21846
  return node.left !== left || node.operatorToken !== operator || node.right !== right ? update(createBinaryExpression(left, operator, right), node) : node;
@@ -27457,6 +27440,25 @@ ${lanes.join("\n")}
27457
27440
  flattenCommaListWorker(node, expressions);
27458
27441
  return expressions;
27459
27442
  }
27443
+ function containsObjectRestOrSpread(node) {
27444
+ if (node.transformFlags & 65536 /* ContainsObjectRestOrSpread */)
27445
+ return true;
27446
+ if (node.transformFlags & 128 /* ContainsES2018 */) {
27447
+ for (const element of getElementsOfBindingOrAssignmentPattern(node)) {
27448
+ const target = getTargetOfBindingOrAssignmentElement(element);
27449
+ if (target && isAssignmentPattern(target)) {
27450
+ if (target.transformFlags & 65536 /* ContainsObjectRestOrSpread */) {
27451
+ return true;
27452
+ }
27453
+ if (target.transformFlags & 128 /* ContainsES2018 */) {
27454
+ if (containsObjectRestOrSpread(target))
27455
+ return true;
27456
+ }
27457
+ }
27458
+ }
27459
+ }
27460
+ return false;
27461
+ }
27460
27462
  var BinaryExpressionState, BinaryExpressionStateMachine;
27461
27463
  var init_utilities2 = __esm({
27462
27464
  "src/compiler/factory/utilities.ts"() {
@@ -32053,7 +32055,7 @@ ${lanes.join("\n")}
32053
32055
  return finishNode(factory2.createJsxJsxClosingFragment(), pos);
32054
32056
  }
32055
32057
  function parseTypeAssertion() {
32056
- Debug.assert(scriptKind === 3 /* TS */, "Type assertions should never be parsed outside of TS; they should either be comparisons or JSX.");
32058
+ Debug.assert(languageVariant !== 1 /* JSX */, "Type assertions should never be parsed in JSX; they should be parsed as comparisons or JSX elements/fragments.");
32057
32059
  const pos = getNodePos();
32058
32060
  parseExpected(29 /* LessThanToken */);
32059
32061
  const type = parseType();
@@ -86631,31 +86633,31 @@ ${lanes.join("\n")}
86631
86633
 
86632
86634
  // src/compiler/sourcemap.ts
86633
86635
  function createSourceMapGenerator(host, file, sourceRoot, sourcesDirectoryPath, generatorOptions) {
86634
- const { enter, exit } = generatorOptions.extendedDiagnostics ? createTimer("Source Map", "beforeSourcemap", "afterSourcemap") : nullTimer;
86635
- const rawSources = [];
86636
- const sources = [];
86637
- const sourceToSourceIndexMap = /* @__PURE__ */ new Map();
86638
- let sourcesContent;
86639
- const names = [];
86640
- let nameToNameIndexMap;
86641
- const mappingCharCodes = [];
86642
- let mappings = "";
86643
- let lastGeneratedLine = 0;
86644
- let lastGeneratedCharacter = 0;
86645
- let lastSourceIndex = 0;
86646
- let lastSourceLine = 0;
86647
- let lastSourceCharacter = 0;
86648
- let lastNameIndex = 0;
86649
- let hasLast = false;
86650
- let pendingGeneratedLine = 0;
86651
- let pendingGeneratedCharacter = 0;
86652
- let pendingSourceIndex = 0;
86653
- let pendingSourceLine = 0;
86654
- let pendingSourceCharacter = 0;
86655
- let pendingNameIndex = 0;
86656
- let hasPending = false;
86657
- let hasPendingSource = false;
86658
- let hasPendingName = false;
86636
+ var { enter, exit } = generatorOptions.extendedDiagnostics ? createTimer("Source Map", "beforeSourcemap", "afterSourcemap") : nullTimer;
86637
+ var rawSources = [];
86638
+ var sources = [];
86639
+ var sourceToSourceIndexMap = /* @__PURE__ */ new Map();
86640
+ var sourcesContent;
86641
+ var names = [];
86642
+ var nameToNameIndexMap;
86643
+ var mappingCharCodes = [];
86644
+ var mappings = "";
86645
+ var lastGeneratedLine = 0;
86646
+ var lastGeneratedCharacter = 0;
86647
+ var lastSourceIndex = 0;
86648
+ var lastSourceLine = 0;
86649
+ var lastSourceCharacter = 0;
86650
+ var lastNameIndex = 0;
86651
+ var hasLast = false;
86652
+ var pendingGeneratedLine = 0;
86653
+ var pendingGeneratedCharacter = 0;
86654
+ var pendingSourceIndex = 0;
86655
+ var pendingSourceLine = 0;
86656
+ var pendingSourceCharacter = 0;
86657
+ var pendingNameIndex = 0;
86658
+ var hasPending = false;
86659
+ var hasPendingSource = false;
86660
+ var hasPendingName = false;
86659
86661
  return {
86660
86662
  getSources: () => rawSources,
86661
86663
  addSource,
@@ -95846,7 +95848,7 @@ ${lanes.join("\n")}
95846
95848
  );
95847
95849
  }
95848
95850
  function visitBinaryExpression(node, expressionResultIsUnused2) {
95849
- if (isDestructuringAssignment(node) && node.left.transformFlags & 65536 /* ContainsObjectRestOrSpread */) {
95851
+ if (isDestructuringAssignment(node) && containsObjectRestOrSpread(node.left)) {
95850
95852
  return flattenDestructuringAssignment(
95851
95853
  node,
95852
95854
  visitor,
@@ -95978,7 +95980,7 @@ ${lanes.join("\n")}
95978
95980
  }
95979
95981
  function visitForOfStatement(node, outermostLabeledStatement) {
95980
95982
  const ancestorFacts = enterSubtree(0 /* IterationStatementExcludes */, 2 /* IterationStatementIncludes */);
95981
- if (node.initializer.transformFlags & 65536 /* ContainsObjectRestOrSpread */) {
95983
+ if (node.initializer.transformFlags & 65536 /* ContainsObjectRestOrSpread */ || isAssignmentPattern(node.initializer) && containsObjectRestOrSpread(node.initializer)) {
95982
95984
  node = transformForOfStatementWithObjectRest(node);
95983
95985
  }
95984
95986
  const result = node.awaitModifier ? transformForAwaitOfStatement(node, outermostLabeledStatement, ancestorFacts) : factory2.restoreEnclosingLabel(visitEachChild(node, visitor, context), outermostLabeledStatement);
@@ -109333,15 +109335,15 @@ ${lanes.join("\n")}
109333
109335
  return Debug.fail(`project ${configFile.options.configFilePath} expected to have at least one output`);
109334
109336
  }
109335
109337
  function emitFiles(resolver, host, targetSourceFile, { scriptTransformers, declarationTransformers }, emitOnly, onlyBuildInfo, forceDtsEmit) {
109336
- const compilerOptions = host.getCompilerOptions();
109337
- const sourceMapDataList = compilerOptions.sourceMap || compilerOptions.inlineSourceMap || getAreDeclarationMapsEnabled(compilerOptions) ? [] : void 0;
109338
- const emittedFilesList = compilerOptions.listEmittedFiles ? [] : void 0;
109339
- const emitterDiagnostics = createDiagnosticCollection();
109340
- const newLine = getNewLineCharacter(compilerOptions);
109341
- const writer = createTextWriter(newLine);
109342
- const { enter, exit } = createTimer("printTime", "beforePrint", "afterPrint");
109343
- let bundleBuildInfo;
109344
- let emitSkipped = false;
109338
+ var compilerOptions = host.getCompilerOptions();
109339
+ var sourceMapDataList = compilerOptions.sourceMap || compilerOptions.inlineSourceMap || getAreDeclarationMapsEnabled(compilerOptions) ? [] : void 0;
109340
+ var emittedFilesList = compilerOptions.listEmittedFiles ? [] : void 0;
109341
+ var emitterDiagnostics = createDiagnosticCollection();
109342
+ var newLine = getNewLineCharacter(compilerOptions);
109343
+ var writer = createTextWriter(newLine);
109344
+ var { enter, exit } = createTimer("printTime", "beforePrint", "afterPrint");
109345
+ var bundleBuildInfo;
109346
+ var emitSkipped = false;
109345
109347
  enter();
109346
109348
  forEachEmittedFile(
109347
109349
  host,
@@ -109861,7 +109863,7 @@ ${lanes.join("\n")}
109861
109863
  return outputFiles;
109862
109864
  }
109863
109865
  function createPrinter(printerOptions = {}, handlers = {}) {
109864
- const {
109866
+ var {
109865
109867
  hasGlobalName,
109866
109868
  onEmitNode = noEmitNotification,
109867
109869
  isEmitNotificationEnabled,
@@ -109873,57 +109875,57 @@ ${lanes.join("\n")}
109873
109875
  onBeforeEmitToken,
109874
109876
  onAfterEmitToken
109875
109877
  } = handlers;
109876
- const extendedDiagnostics = !!printerOptions.extendedDiagnostics;
109877
- const newLine = getNewLineCharacter(printerOptions);
109878
- const moduleKind = getEmitModuleKind(printerOptions);
109879
- const bundledHelpers = /* @__PURE__ */ new Map();
109880
- let currentSourceFile;
109881
- let nodeIdToGeneratedName;
109882
- let nodeIdToGeneratedPrivateName;
109883
- let autoGeneratedIdToGeneratedName;
109884
- let generatedNames;
109885
- let formattedNameTempFlagsStack;
109886
- let formattedNameTempFlags;
109887
- let privateNameTempFlagsStack;
109888
- let privateNameTempFlags;
109889
- let tempFlagsStack;
109890
- let tempFlags;
109891
- let reservedNamesStack;
109892
- let reservedNames;
109893
- let reservedPrivateNamesStack;
109894
- let reservedPrivateNames;
109895
- let preserveSourceNewlines = printerOptions.preserveSourceNewlines;
109896
- let nextListElementPos;
109897
- let writer;
109898
- let ownWriter;
109899
- let write = writeBase;
109900
- let isOwnFileEmit;
109901
- const bundleFileInfo = printerOptions.writeBundleFileInfo ? { sections: [] } : void 0;
109902
- const relativeToBuildInfo = bundleFileInfo ? Debug.checkDefined(printerOptions.relativeToBuildInfo) : void 0;
109903
- const recordInternalSection = printerOptions.recordInternalSection;
109904
- let sourceFileTextPos = 0;
109905
- let sourceFileTextKind = "text" /* Text */;
109906
- let sourceMapsDisabled = true;
109907
- let sourceMapGenerator;
109908
- let sourceMapSource;
109909
- let sourceMapSourceIndex = -1;
109910
- let mostRecentlyAddedSourceMapSource;
109911
- let mostRecentlyAddedSourceMapSourceIndex = -1;
109912
- let containerPos = -1;
109913
- let containerEnd = -1;
109914
- let declarationListContainerEnd = -1;
109915
- let currentLineMap;
109916
- let detachedCommentsInfo;
109917
- let hasWrittenComment = false;
109918
- let commentsDisabled = !!printerOptions.removeComments;
109919
- let lastSubstitution;
109920
- let currentParenthesizerRule;
109921
- const { enter: enterComment, exit: exitComment } = createTimerIf(extendedDiagnostics, "commentTime", "beforeComment", "afterComment");
109922
- const parenthesizer = factory.parenthesizer;
109923
- const typeArgumentParenthesizerRuleSelector = {
109878
+ var extendedDiagnostics = !!printerOptions.extendedDiagnostics;
109879
+ var newLine = getNewLineCharacter(printerOptions);
109880
+ var moduleKind = getEmitModuleKind(printerOptions);
109881
+ var bundledHelpers = /* @__PURE__ */ new Map();
109882
+ var currentSourceFile;
109883
+ var nodeIdToGeneratedName;
109884
+ var nodeIdToGeneratedPrivateName;
109885
+ var autoGeneratedIdToGeneratedName;
109886
+ var generatedNames;
109887
+ var formattedNameTempFlagsStack;
109888
+ var formattedNameTempFlags;
109889
+ var privateNameTempFlagsStack;
109890
+ var privateNameTempFlags;
109891
+ var tempFlagsStack;
109892
+ var tempFlags;
109893
+ var reservedNamesStack;
109894
+ var reservedNames;
109895
+ var reservedPrivateNamesStack;
109896
+ var reservedPrivateNames;
109897
+ var preserveSourceNewlines = printerOptions.preserveSourceNewlines;
109898
+ var nextListElementPos;
109899
+ var writer;
109900
+ var ownWriter;
109901
+ var write = writeBase;
109902
+ var isOwnFileEmit;
109903
+ var bundleFileInfo = printerOptions.writeBundleFileInfo ? { sections: [] } : void 0;
109904
+ var relativeToBuildInfo = bundleFileInfo ? Debug.checkDefined(printerOptions.relativeToBuildInfo) : void 0;
109905
+ var recordInternalSection = printerOptions.recordInternalSection;
109906
+ var sourceFileTextPos = 0;
109907
+ var sourceFileTextKind = "text" /* Text */;
109908
+ var sourceMapsDisabled = true;
109909
+ var sourceMapGenerator;
109910
+ var sourceMapSource;
109911
+ var sourceMapSourceIndex = -1;
109912
+ var mostRecentlyAddedSourceMapSource;
109913
+ var mostRecentlyAddedSourceMapSourceIndex = -1;
109914
+ var containerPos = -1;
109915
+ var containerEnd = -1;
109916
+ var declarationListContainerEnd = -1;
109917
+ var currentLineMap;
109918
+ var detachedCommentsInfo;
109919
+ var hasWrittenComment = false;
109920
+ var commentsDisabled = !!printerOptions.removeComments;
109921
+ var lastSubstitution;
109922
+ var currentParenthesizerRule;
109923
+ var { enter: enterComment, exit: exitComment } = createTimerIf(extendedDiagnostics, "commentTime", "beforeComment", "afterComment");
109924
+ var parenthesizer = factory.parenthesizer;
109925
+ var typeArgumentParenthesizerRuleSelector = {
109924
109926
  select: (index) => index === 0 ? parenthesizer.parenthesizeLeadingTypeArgument : void 0
109925
109927
  };
109926
- const emitBinaryExpression = createEmitBinaryExpression();
109928
+ var emitBinaryExpression = createEmitBinaryExpression();
109927
109929
  reset2();
109928
109930
  return {
109929
109931
  // public API
@@ -150996,7 +150998,7 @@ ${lanes.join("\n")}
150996
150998
  if (isObjectLiteralExpression(parent2.parent) && parent2.name === node) {
150997
150999
  return stringLiteralCompletionsForObjectLiteral(typeChecker, parent2.parent);
150998
151000
  }
150999
- return fromContextualType();
151001
+ return fromContextualType() || fromContextualType(0 /* None */);
151000
151002
  case 209 /* ElementAccessExpression */: {
151001
151003
  const { expression, argumentExpression } = parent2;
151002
151004
  if (node === skipParentheses(argumentExpression)) {
@@ -151017,13 +151019,21 @@ ${lanes.join("\n")}
151017
151019
  return { kind: 0 /* Paths */, paths: getStringLiteralCompletionsFromModuleNames(sourceFile, node, compilerOptions, host, typeChecker, preferences) };
151018
151020
  case 292 /* CaseClause */:
151019
151021
  const tracker = newCaseClauseTracker(typeChecker, parent2.parent.clauses);
151020
- const literals = fromContextualType().types.filter((literal) => !tracker.hasValue(literal.value));
151022
+ const contextualTypes = fromContextualType();
151023
+ if (!contextualTypes) {
151024
+ return;
151025
+ }
151026
+ const literals = contextualTypes.types.filter((literal) => !tracker.hasValue(literal.value));
151021
151027
  return { kind: 2 /* Types */, types: literals, isNewIdentifier: false };
151022
151028
  default:
151023
151029
  return fromContextualType();
151024
151030
  }
151025
- function fromContextualType() {
151026
- return { kind: 2 /* Types */, types: getStringLiteralTypes(getContextualTypeFromParent(node, typeChecker, 4 /* Completions */)), isNewIdentifier: false };
151031
+ function fromContextualType(contextFlags = 4 /* Completions */) {
151032
+ const types = getStringLiteralTypes(getContextualTypeFromParent(node, typeChecker, contextFlags));
151033
+ if (!types.length) {
151034
+ return;
151035
+ }
151036
+ return { kind: 2 /* Types */, types, isNewIdentifier: false };
151027
151037
  }
151028
151038
  }
151029
151039
  function walkUpParentheses(node) {
@@ -178507,6 +178517,7 @@ ${e.message}`;
178507
178517
  consumesNodeCoreModules: () => consumesNodeCoreModules,
178508
178518
  contains: () => contains,
178509
178519
  containsIgnoredPath: () => containsIgnoredPath,
178520
+ containsObjectRestOrSpread: () => containsObjectRestOrSpread,
178510
178521
  containsParseError: () => containsParseError,
178511
178522
  containsPath: () => containsPath,
178512
178523
  convertCompilerOptionsForTelemetry: () => convertCompilerOptionsForTelemetry,
@@ -180866,6 +180877,7 @@ ${e.message}`;
180866
180877
  consumesNodeCoreModules: () => consumesNodeCoreModules,
180867
180878
  contains: () => contains,
180868
180879
  containsIgnoredPath: () => containsIgnoredPath,
180880
+ containsObjectRestOrSpread: () => containsObjectRestOrSpread,
180869
180881
  containsParseError: () => containsParseError,
180870
180882
  containsPath: () => containsPath,
180871
180883
  convertCompilerOptionsForTelemetry: () => convertCompilerOptionsForTelemetry,