typescript 7.1.0-dev.20260819.1 → 7.1.0-dev.20260821.1

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.
Files changed (220) hide show
  1. package/dist/api/async/api.d.ts +21 -18
  2. package/dist/api/async/api.d.ts.map +1 -1
  3. package/dist/api/async/api.js +61 -30
  4. package/dist/api/async/api.js.map +1 -1
  5. package/dist/api/async/client.d.ts +3 -2
  6. package/dist/api/async/client.d.ts.map +1 -1
  7. package/dist/api/async/client.js +2 -10
  8. package/dist/api/async/client.js.map +1 -1
  9. package/dist/api/async/types.d.ts +2 -0
  10. package/dist/api/async/types.d.ts.map +1 -1
  11. package/dist/api/node/encoder.d.ts.map +1 -1
  12. package/dist/api/node/encoder.generated.js +1 -1
  13. package/dist/api/node/encoder.generated.js.map +1 -1
  14. package/dist/api/node/encoder.js +2 -1
  15. package/dist/api/node/encoder.js.map +1 -1
  16. package/dist/api/node/node.d.ts +13 -1
  17. package/dist/api/node/node.d.ts.map +1 -1
  18. package/dist/api/node/node.generated.js +1 -1
  19. package/dist/api/node/node.generated.js.map +1 -1
  20. package/dist/api/node/node.js +128 -12
  21. package/dist/api/node/node.js.map +1 -1
  22. package/dist/api/node/protocol.d.ts +1 -1
  23. package/dist/api/node/protocol.generated.js +1 -1
  24. package/dist/api/node/protocol.generated.js.map +1 -1
  25. package/dist/api/node/protocol.js +1 -1
  26. package/dist/api/options.d.ts +4 -1
  27. package/dist/api/options.d.ts.map +1 -1
  28. package/dist/api/options.js +11 -0
  29. package/dist/api/options.js.map +1 -1
  30. package/dist/api/path.d.ts +2 -2
  31. package/dist/api/path.js +2 -2
  32. package/dist/api/proto.d.ts +23 -282
  33. package/dist/api/proto.d.ts.map +1 -1
  34. package/dist/api/proto.generated.d.ts +961 -0
  35. package/dist/api/proto.generated.d.ts.map +1 -0
  36. package/dist/api/proto.generated.js +3 -0
  37. package/dist/api/proto.generated.js.map +1 -0
  38. package/dist/api/proto.js +1 -0
  39. package/dist/api/proto.js.map +1 -1
  40. package/dist/api/sync/api.d.ts +21 -18
  41. package/dist/api/sync/api.d.ts.map +1 -1
  42. package/dist/api/sync/api.js +62 -31
  43. package/dist/api/sync/api.js.map +1 -1
  44. package/dist/api/sync/client.d.ts +3 -2
  45. package/dist/api/sync/client.d.ts.map +1 -1
  46. package/dist/api/sync/client.js +2 -8
  47. package/dist/api/sync/client.js.map +1 -1
  48. package/dist/api/sync/types.d.ts +2 -0
  49. package/dist/api/sync/types.d.ts.map +1 -1
  50. package/dist/ast/ast.d.ts +20 -0
  51. package/dist/ast/ast.d.ts.map +1 -1
  52. package/dist/ast/ast.generated.js +1 -1
  53. package/dist/ast/ast.generated.js.map +1 -1
  54. package/dist/ast/ast.js.map +1 -1
  55. package/dist/ast/factory.generated.d.ts +7 -0
  56. package/dist/ast/factory.generated.d.ts.map +1 -1
  57. package/dist/ast/factory.generated.js +27 -1
  58. package/dist/ast/factory.generated.js.map +1 -1
  59. package/dist/ast/index.d.ts +5 -0
  60. package/dist/ast/index.d.ts.map +1 -1
  61. package/dist/ast/index.js +5 -0
  62. package/dist/ast/index.js.map +1 -1
  63. package/dist/ast/is.generated.js +1 -1
  64. package/dist/ast/is.generated.js.map +1 -1
  65. package/dist/ast/spanMap.d.ts +88 -0
  66. package/dist/ast/spanMap.d.ts.map +1 -0
  67. package/dist/ast/spanMap.js +375 -0
  68. package/dist/ast/spanMap.js.map +1 -0
  69. package/dist/ast/utils.d.ts.map +1 -1
  70. package/dist/ast/utils.js +7 -0
  71. package/dist/ast/utils.js.map +1 -1
  72. package/dist/ast/visitor.generated.js +1 -1
  73. package/dist/ast/visitor.generated.js.map +1 -1
  74. package/dist/enums/checkFlags.enum.js +1 -1
  75. package/dist/enums/checkFlags.enum.js.map +1 -1
  76. package/dist/enums/checkFlags.js +1 -1
  77. package/dist/enums/checkFlags.js.map +1 -1
  78. package/dist/enums/completionItemKind.enum.js +1 -1
  79. package/dist/enums/completionItemKind.enum.js.map +1 -1
  80. package/dist/enums/completionItemKind.js +1 -1
  81. package/dist/enums/completionItemKind.js.map +1 -1
  82. package/dist/enums/diagnosticCategory.enum.js +1 -1
  83. package/dist/enums/diagnosticCategory.enum.js.map +1 -1
  84. package/dist/enums/diagnosticCategory.js +1 -1
  85. package/dist/enums/diagnosticCategory.js.map +1 -1
  86. package/dist/enums/diagnosticDirectivePolicy.d.ts +2 -0
  87. package/dist/enums/diagnosticDirectivePolicy.d.ts.map +1 -0
  88. package/dist/enums/diagnosticDirectivePolicy.enum.d.ts +5 -0
  89. package/dist/enums/diagnosticDirectivePolicy.enum.d.ts.map +1 -0
  90. package/dist/enums/diagnosticDirectivePolicy.enum.js +7 -0
  91. package/dist/enums/diagnosticDirectivePolicy.enum.js.map +1 -0
  92. package/dist/enums/diagnosticDirectivePolicy.js +7 -0
  93. package/dist/enums/diagnosticDirectivePolicy.js.map +1 -0
  94. package/dist/enums/elementFlags.enum.js +1 -1
  95. package/dist/enums/elementFlags.enum.js.map +1 -1
  96. package/dist/enums/elementFlags.js +1 -1
  97. package/dist/enums/elementFlags.js.map +1 -1
  98. package/dist/enums/emitOnly.enum.js +1 -1
  99. package/dist/enums/emitOnly.enum.js.map +1 -1
  100. package/dist/enums/emitOnly.js +1 -1
  101. package/dist/enums/emitOnly.js.map +1 -1
  102. package/dist/enums/internalSymbolName.enum.js +1 -1
  103. package/dist/enums/internalSymbolName.enum.js.map +1 -1
  104. package/dist/enums/internalSymbolName.js +1 -1
  105. package/dist/enums/internalSymbolName.js.map +1 -1
  106. package/dist/enums/jsxEmit.enum.js +1 -1
  107. package/dist/enums/jsxEmit.enum.js.map +1 -1
  108. package/dist/enums/jsxEmit.js +1 -1
  109. package/dist/enums/jsxEmit.js.map +1 -1
  110. package/dist/enums/modifierFlags.enum.js +1 -1
  111. package/dist/enums/modifierFlags.enum.js.map +1 -1
  112. package/dist/enums/modifierFlags.js +1 -1
  113. package/dist/enums/modifierFlags.js.map +1 -1
  114. package/dist/enums/moduleDetectionKind.enum.js +1 -1
  115. package/dist/enums/moduleDetectionKind.enum.js.map +1 -1
  116. package/dist/enums/moduleDetectionKind.js +1 -1
  117. package/dist/enums/moduleDetectionKind.js.map +1 -1
  118. package/dist/enums/moduleKind.enum.js +1 -1
  119. package/dist/enums/moduleKind.enum.js.map +1 -1
  120. package/dist/enums/moduleKind.js +1 -1
  121. package/dist/enums/moduleKind.js.map +1 -1
  122. package/dist/enums/moduleResolutionKind.enum.js +1 -1
  123. package/dist/enums/moduleResolutionKind.enum.js.map +1 -1
  124. package/dist/enums/moduleResolutionKind.js +1 -1
  125. package/dist/enums/moduleResolutionKind.js.map +1 -1
  126. package/dist/enums/newLineKind.enum.js +1 -1
  127. package/dist/enums/newLineKind.enum.js.map +1 -1
  128. package/dist/enums/newLineKind.js +1 -1
  129. package/dist/enums/newLineKind.js.map +1 -1
  130. package/dist/enums/nodeBuilderFlags.enum.js +1 -1
  131. package/dist/enums/nodeBuilderFlags.enum.js.map +1 -1
  132. package/dist/enums/nodeBuilderFlags.js +1 -1
  133. package/dist/enums/nodeBuilderFlags.js.map +1 -1
  134. package/dist/enums/nodeFlags.enum.js +1 -1
  135. package/dist/enums/nodeFlags.enum.js.map +1 -1
  136. package/dist/enums/nodeFlags.js +1 -1
  137. package/dist/enums/nodeFlags.js.map +1 -1
  138. package/dist/enums/objectFlags.enum.js +1 -1
  139. package/dist/enums/objectFlags.enum.js.map +1 -1
  140. package/dist/enums/objectFlags.js +1 -1
  141. package/dist/enums/objectFlags.js.map +1 -1
  142. package/dist/enums/outerExpressionKinds.enum.js +1 -1
  143. package/dist/enums/outerExpressionKinds.enum.js.map +1 -1
  144. package/dist/enums/outerExpressionKinds.js +1 -1
  145. package/dist/enums/outerExpressionKinds.js.map +1 -1
  146. package/dist/enums/scriptKind.d.ts.map +1 -1
  147. package/dist/enums/scriptKind.enum.d.ts +1 -3
  148. package/dist/enums/scriptKind.enum.d.ts.map +1 -1
  149. package/dist/enums/scriptKind.enum.js +1 -2
  150. package/dist/enums/scriptKind.enum.js.map +1 -1
  151. package/dist/enums/scriptKind.js +1 -2
  152. package/dist/enums/scriptKind.js.map +1 -1
  153. package/dist/enums/signatureFlags.enum.js +1 -1
  154. package/dist/enums/signatureFlags.enum.js.map +1 -1
  155. package/dist/enums/signatureFlags.js +1 -1
  156. package/dist/enums/signatureFlags.js.map +1 -1
  157. package/dist/enums/signatureKind.enum.js +1 -1
  158. package/dist/enums/signatureKind.enum.js.map +1 -1
  159. package/dist/enums/signatureKind.js +1 -1
  160. package/dist/enums/signatureKind.js.map +1 -1
  161. package/dist/enums/spanMapFeature.d.ts +2 -0
  162. package/dist/enums/spanMapFeature.d.ts.map +1 -0
  163. package/dist/enums/spanMapFeature.enum.d.ts +25 -0
  164. package/dist/enums/spanMapFeature.enum.d.ts.map +1 -0
  165. package/dist/enums/spanMapFeature.enum.js +27 -0
  166. package/dist/enums/spanMapFeature.enum.js.map +1 -0
  167. package/dist/enums/spanMapFeature.js +27 -0
  168. package/dist/enums/spanMapFeature.js.map +1 -0
  169. package/dist/enums/spanMapFidelity.d.ts +2 -0
  170. package/dist/enums/spanMapFidelity.d.ts.map +1 -0
  171. package/dist/enums/spanMapFidelity.enum.d.ts +7 -0
  172. package/dist/enums/spanMapFidelity.enum.d.ts.map +1 -0
  173. package/dist/enums/spanMapFidelity.enum.js +9 -0
  174. package/dist/enums/spanMapFidelity.enum.js.map +1 -0
  175. package/dist/enums/spanMapFidelity.js +9 -0
  176. package/dist/enums/spanMapFidelity.js.map +1 -0
  177. package/dist/enums/spanMapKind.d.ts +2 -0
  178. package/dist/enums/spanMapKind.d.ts.map +1 -0
  179. package/dist/enums/spanMapKind.enum.d.ts +6 -0
  180. package/dist/enums/spanMapKind.enum.d.ts.map +1 -0
  181. package/dist/enums/spanMapKind.enum.js +8 -0
  182. package/dist/enums/spanMapKind.enum.js.map +1 -0
  183. package/dist/enums/spanMapKind.js +8 -0
  184. package/dist/enums/spanMapKind.js.map +1 -0
  185. package/dist/enums/symbolFlags.enum.js +1 -1
  186. package/dist/enums/symbolFlags.enum.js.map +1 -1
  187. package/dist/enums/symbolFlags.js +1 -1
  188. package/dist/enums/symbolFlags.js.map +1 -1
  189. package/dist/enums/syntaxKind.enum.js +1 -1
  190. package/dist/enums/syntaxKind.enum.js.map +1 -1
  191. package/dist/enums/syntaxKind.js +1 -1
  192. package/dist/enums/syntaxKind.js.map +1 -1
  193. package/dist/enums/tokenFlags.enum.js +1 -1
  194. package/dist/enums/tokenFlags.enum.js.map +1 -1
  195. package/dist/enums/tokenFlags.js +1 -1
  196. package/dist/enums/tokenFlags.js.map +1 -1
  197. package/dist/enums/typeFlags.enum.js +1 -1
  198. package/dist/enums/typeFlags.enum.js.map +1 -1
  199. package/dist/enums/typeFlags.js +1 -1
  200. package/dist/enums/typeFlags.js.map +1 -1
  201. package/dist/enums/typeFormatFlags.d.ts +2 -0
  202. package/dist/enums/typeFormatFlags.d.ts.map +1 -0
  203. package/dist/enums/typeFormatFlags.enum.d.ts +29 -0
  204. package/dist/enums/typeFormatFlags.enum.d.ts.map +1 -0
  205. package/dist/enums/typeFormatFlags.enum.js +31 -0
  206. package/dist/enums/typeFormatFlags.enum.js.map +1 -0
  207. package/dist/enums/typeFormatFlags.js +31 -0
  208. package/dist/enums/typeFormatFlags.js.map +1 -0
  209. package/dist/enums/typePredicateKind.enum.js +1 -1
  210. package/dist/enums/typePredicateKind.enum.js.map +1 -1
  211. package/dist/enums/typePredicateKind.js +1 -1
  212. package/dist/enums/typePredicateKind.js.map +1 -1
  213. package/lib/getExePath.js +2 -2
  214. package/package.json +9 -9
  215. package/vendor/vscode-jsonrpc/lib/node/main.js +1 -1
  216. package/vendor/vscode-jsonrpc/package.json +1 -1
  217. package/dist/api/compilerOptions.d.ts +0 -110
  218. package/dist/api/compilerOptions.d.ts.map +0 -1
  219. package/dist/api/compilerOptions.js +0 -2
  220. package/dist/api/compilerOptions.js.map +0 -1
@@ -0,0 +1,375 @@
1
+ import { SpanMapFeature } from "#enums/spanMapFeature";
2
+ import { SpanMapFidelity } from "#enums/spanMapFidelity";
3
+ import { SpanMapKind } from "#enums/spanMapKind";
4
+ export { SpanMapFeature, SpanMapFidelity, SpanMapKind };
5
+ /** Provides bidirectional span-aware mapping between virtual and original text. */
6
+ export class SpanMap {
7
+ segments;
8
+ originalSegments;
9
+ /** Copies and sorts segments by virtual start, normalizing omitted features to `All`. */
10
+ constructor(segments) {
11
+ this.segments = segments
12
+ .map(segment => ({ ...segment, features: segment.features ?? SpanMapFeature.All }))
13
+ .sort((left, right) => left.virtualStart - right.virtualStart);
14
+ }
15
+ /** Reports whether a mapping is a precise, edit-safe projection through one verbatim segment. */
16
+ static isExact(fidelity) {
17
+ return fidelity === SpanMapFidelity.Exact;
18
+ }
19
+ /** Reports whether a mapping lies in one verbatim or atom segment. */
20
+ static isSingleSegment(fidelity) {
21
+ return fidelity === SpanMapFidelity.Exact || fidelity === SpanMapFidelity.Atom;
22
+ }
23
+ /** Reports whether the input had no counterpart in the target text. */
24
+ static isNone(fidelity) {
25
+ return fidelity === SpanMapFidelity.None;
26
+ }
27
+ /**
28
+ * Maps a virtual range to original text. Gaps map to insertion points with `None` fidelity,
29
+ * and ranges crossing segment boundaries map their endpoints with `Approximate` fidelity.
30
+ */
31
+ virtualToOriginalSpan(range) {
32
+ return this.mapRange(range, this.segments, false);
33
+ }
34
+ /** Maps a visible LS result only when every covered segment participates in `feature`. */
35
+ virtualToOriginalSpanForFeature(range, feature) {
36
+ const mapped = this.virtualToOriginalSpan(range);
37
+ return this.virtualRangeSupportsFeature(range, feature) ? mapped : { ...mapped, fidelity: SpanMapFidelity.None };
38
+ }
39
+ /** Maps a virtual position to original text, using `None` fidelity for synthesized gaps. */
40
+ virtualToOriginalPosition(position) {
41
+ return this.mapPoint(position, this.segments, false);
42
+ }
43
+ virtualToOriginalPositionForFeature(position, feature) {
44
+ const mapped = this.virtualToOriginalPosition(position);
45
+ const [index, inside] = segmentIndexAt(this.segments, position, false);
46
+ return inside && supportsFeature(this.segments[index], feature) ? mapped : { ...mapped, fidelity: SpanMapFidelity.None };
47
+ }
48
+ /**
49
+ * Returns every virtual projection of an original position whose segment participates in `feature`.
50
+ * Segment ends are inclusive for point mapping, so adjacent spans may both produce projections.
51
+ * Results are ordered by virtual position; uncovered or disabled positions produce no results.
52
+ */
53
+ originalToVirtualPositions(position, feature) {
54
+ const groups = segmentGroupsAtOriginalPosition(this.getOriginalSegments(), position);
55
+ const results = [];
56
+ for (const group of groups) {
57
+ for (const segment of group.segments) {
58
+ if (!supportsFeature(segment, feature))
59
+ continue;
60
+ const mapped = segment.kind === SpanMapKind.Verbatim
61
+ ? { position: mapVerbatimPosition(segment, position, true), fidelity: SpanMapFidelity.Exact }
62
+ : { position: group.atEnd ? segment.virtualEnd : segment.virtualStart, fidelity: SpanMapFidelity.Atom };
63
+ if (!results.some(result => result.position === mapped.position && result.fidelity === mapped.fidelity)) {
64
+ results.push(mapped);
65
+ }
66
+ }
67
+ }
68
+ return results.sort((left, right) => left.position - right.position);
69
+ }
70
+ /**
71
+ * Returns every feature-compatible virtual projection of an original range.
72
+ * A range contained by one duplicate group produces one exact or atom result per matching group member.
73
+ *
74
+ * A range that starts in one group and ends in another can have several possible virtual ranges. For
75
+ * example, suppose two original segments are each copied twice into the virtual text:
76
+ *
77
+ * ```text
78
+ * original: [ A ][ B ]
79
+ * [---) range from inside A to inside B
80
+ *
81
+ * virtual: [ A ][ B ] [ A ][ B ]
82
+ * ^ ^ ^ ^
83
+ * start end start end
84
+ * 1 3 11 13
85
+ * ```
86
+ *
87
+ * The map says that the range may start at 1 or 11 and end at 3 or 13, but it does not say which copy of A
88
+ * belongs with which copy of B. We choose the smallest range around each possible location, producing [1,3)
89
+ * and [11,13). We do not return [1,13), because it contains both smaller candidates and would include code
90
+ * that may be unrelated to the original range. These cross-group results have approximate fidelity.
91
+ */
92
+ originalToVirtualSpans(range, feature) {
93
+ const start = range.pos;
94
+ const end = Math.max(range.end, start);
95
+ const lastCharacter = end > start ? end - 1 : end;
96
+ const originalSegments = this.getOriginalSegments();
97
+ const startSegments = segmentsAtOriginalPosition(originalSegments, start);
98
+ const endSegments = segmentsAtOriginalPosition(originalSegments, lastCharacter);
99
+ if (!startSegments || !endSegments)
100
+ return [];
101
+ if (sameOriginalRange(startSegments[0], endSegments[0])) {
102
+ return originalToVirtualSpansInGroup(startSegments, start, end, feature);
103
+ }
104
+ const starts = originalStartProjections(startSegments, start, feature);
105
+ const ends = originalEndProjections(endSegments, end, feature);
106
+ if (starts.length === 0 || ends.length === 0)
107
+ return [];
108
+ return starts.flatMap((virtualStart, index) => {
109
+ const virtualEnd = ends.find(end => end >= virtualStart);
110
+ return virtualEnd === undefined || index + 1 < starts.length && starts[index + 1] <= virtualEnd
111
+ ? []
112
+ : [{ range: { pos: virtualStart, end: virtualEnd }, fidelity: SpanMapFidelity.Approximate }];
113
+ });
114
+ }
115
+ /** Maps one range through an ordered segment index in the direction selected by `reverse`. */
116
+ mapRange(range, segments, reverse) {
117
+ const start = range.pos;
118
+ const end = Math.max(range.end, start);
119
+ const [startIndex, startInside] = segmentIndexAt(segments, start, reverse);
120
+ const endProbe = end > start ? end - 1 : end;
121
+ const [endIndex, endInside] = segmentIndexAt(segments, endProbe, reverse);
122
+ if (startIndex === endIndex && startInside === endInside) {
123
+ if (startInside) {
124
+ const segment = segments[startIndex];
125
+ if (segment.kind === SpanMapKind.Verbatim) {
126
+ const mappedStart = mapVerbatimPosition(segment, start, reverse);
127
+ const mappedEnd = Math.max(mappedStart, mapVerbatimPosition(segment, end, reverse));
128
+ return { range: { pos: mappedStart, end: mappedEnd }, fidelity: SpanMapFidelity.Exact };
129
+ }
130
+ return { range: targetRange(segment, reverse), fidelity: SpanMapFidelity.Atom };
131
+ }
132
+ const position = insertionPoint(segments, startIndex, reverse);
133
+ return { range: { pos: position, end: position }, fidelity: SpanMapFidelity.None };
134
+ }
135
+ const mappedStart = mapBoundary(segments, start, startIndex, startInside, reverse, false);
136
+ const mappedEnd = Math.max(mappedStart, mapBoundary(segments, end, endIndex, endInside, reverse, true));
137
+ return { range: { pos: mappedStart, end: mappedEnd }, fidelity: SpanMapFidelity.Approximate };
138
+ }
139
+ /** Maps one position through an ordered segment index in the direction selected by `reverse`. */
140
+ mapPoint(position, segments, reverse) {
141
+ const [index, inside] = segmentIndexAt(segments, position, reverse);
142
+ if (!inside) {
143
+ return { position: insertionPoint(segments, index, reverse), fidelity: SpanMapFidelity.None };
144
+ }
145
+ const segment = segments[index];
146
+ if (segment.kind === SpanMapKind.Verbatim) {
147
+ return { position: mapVerbatimPosition(segment, position, reverse), fidelity: SpanMapFidelity.Exact };
148
+ }
149
+ return {
150
+ position: reverse ? segment.virtualStart : segment.originalStart,
151
+ fidelity: SpanMapFidelity.Atom,
152
+ };
153
+ }
154
+ /** Returns the lazily built segment index ordered by original start. */
155
+ getOriginalSegments() {
156
+ return this.originalSegments ??= [...this.segments].sort((left, right) => left.originalStart - right.originalStart
157
+ || left.originalEnd - right.originalEnd
158
+ || left.virtualStart - right.virtualStart);
159
+ }
160
+ virtualRangeSupportsFeature(range, feature) {
161
+ const start = range.pos;
162
+ const end = Math.max(range.end, start);
163
+ if (start === end) {
164
+ const [index, inside] = segmentIndexAt(this.segments, start, false);
165
+ return inside && supportsFeature(this.segments[index], feature);
166
+ }
167
+ let [index, inside] = segmentIndexAt(this.segments, start, false);
168
+ if (!inside)
169
+ return false;
170
+ let coveredThrough = start;
171
+ while (index < this.segments.length && coveredThrough < end) {
172
+ const segment = this.segments[index];
173
+ if (segment.virtualStart > coveredThrough || segment.virtualEnd <= coveredThrough || !supportsFeature(segment, feature))
174
+ return false;
175
+ coveredThrough = segment.virtualEnd;
176
+ index++;
177
+ }
178
+ return coveredThrough >= end;
179
+ }
180
+ }
181
+ /**
182
+ * Maps the inclusive start of an original range through every matching segment. Verbatim segments preserve
183
+ * the offset within the segment; atoms map to their virtual start.
184
+ *
185
+ * ```text
186
+ * original: [---------)
187
+ * ^ start
188
+ *
189
+ * virtual: [---------) [---------)
190
+ * ^ ^
191
+ * result result
192
+ * ```
193
+ */
194
+ function originalStartProjections(segments, start, feature) {
195
+ return segments
196
+ .filter(segment => supportsFeature(segment, feature))
197
+ .map(segment => segment.kind === SpanMapKind.Verbatim
198
+ ? mapVerbatimPosition(segment, start, true)
199
+ : segment.virtualStart);
200
+ }
201
+ /**
202
+ * Maps the exclusive end of an original range through every matching segment. The caller uses `end - 1`
203
+ * to find the segment containing the final character, while this helper maps the `end` boundary itself.
204
+ *
205
+ * ```text
206
+ * original: [---------)[ next segment )
207
+ * ^`-- end
208
+ * `--- end - 1
209
+ *
210
+ * virtual: [---------) [---------)
211
+ * ^ ^
212
+ * result result
213
+ * ```
214
+ */
215
+ function originalEndProjections(segments, end, feature) {
216
+ return segments
217
+ .filter(segment => supportsFeature(segment, feature))
218
+ .map(segment => segment.kind === SpanMapKind.Verbatim
219
+ ? mapVerbatimPosition(segment, end, true)
220
+ : segment.virtualEnd);
221
+ }
222
+ /** Maps a range whose boundaries are known to lie in one duplicate group. */
223
+ function originalToVirtualSpansInGroup(segments, start, end, feature) {
224
+ return segments
225
+ .filter(segment => supportsFeature(segment, feature))
226
+ .map(segment => {
227
+ if (segment.kind === SpanMapKind.Verbatim) {
228
+ const mappedStart = mapVerbatimPosition(segment, start, true);
229
+ const mappedEnd = Math.max(mappedStart, mapVerbatimPosition(segment, end, true));
230
+ return { range: { pos: mappedStart, end: mappedEnd }, fidelity: SpanMapFidelity.Exact };
231
+ }
232
+ return { range: { pos: segment.virtualStart, end: segment.virtualEnd }, fidelity: SpanMapFidelity.Atom };
233
+ });
234
+ }
235
+ /** Reports whether two segments belong to the same duplicate group. */
236
+ function sameOriginalRange(left, right) {
237
+ return left.originalStart === right.originalStart && left.originalEnd === right.originalEnd;
238
+ }
239
+ /**
240
+ * Returns the complete duplicate group of mapping segments containing the original-text `position`.
241
+ * Segment ends are exclusive; starts, including zero-length segment starts, are included. It finds a candidate
242
+ * in O(log n), then scans only the duplicate group. `segments` must be ordered by original start, original end,
243
+ * and virtual start.
244
+ */
245
+ function segmentsAtOriginalPosition(segments, position) {
246
+ let low = 0;
247
+ let high = segments.length;
248
+ while (low < high) {
249
+ const middle = (low + high) >>> 1;
250
+ if (segments[middle].originalStart < position)
251
+ low = middle + 1;
252
+ else
253
+ high = middle;
254
+ }
255
+ let index = low < segments.length && segments[low].originalStart === position ? low : low - 1;
256
+ if (index < 0 || !(segments[index].originalStart === position
257
+ || position < segments[index].originalEnd))
258
+ return undefined;
259
+ while (index > 0 && sameOriginalRange(segments[index - 1], segments[index]))
260
+ index--;
261
+ let end = index + 1;
262
+ while (end < segments.length && sameOriginalRange(segments[end], segments[index]))
263
+ end++;
264
+ return segments.slice(index, end);
265
+ }
266
+ /**
267
+ * Returns groups of mapping segments containing or touching the original-text `position`.
268
+ * At a shared boundary, segments ending at the point and segments starting there form separate groups:
269
+ *
270
+ * ```text
271
+ * original: [--- A ---)[--- B ---)
272
+ * ^ position
273
+ *
274
+ * virtual: [ A1 ) [ A2 ) [ B1 ) [ B2 )
275
+ * left group right group
276
+ * atEnd: true atEnd: false
277
+ * ```
278
+ */
279
+ function segmentGroupsAtOriginalPosition(segments, position) {
280
+ let low = 0;
281
+ let high = segments.length;
282
+ while (low < high) {
283
+ const middle = (low + high) >>> 1;
284
+ if (segments[middle].originalStart < position)
285
+ low = middle + 1;
286
+ else
287
+ high = middle;
288
+ }
289
+ if (low < segments.length && segments[low].originalStart === position) {
290
+ const right = segmentsAtOriginalPosition(segments, position);
291
+ const groups = [];
292
+ if (low > 0 && segments[low - 1].originalEnd === position) {
293
+ let leftStart = low - 1;
294
+ while (leftStart > 0 && sameOriginalRange(segments[leftStart - 1], segments[low - 1]))
295
+ leftStart--;
296
+ groups.push({ segments: segments.slice(leftStart, low), atEnd: true });
297
+ }
298
+ groups.push({ segments: right, atEnd: false });
299
+ return groups;
300
+ }
301
+ if (low === 0)
302
+ return [];
303
+ const left = segments[low - 1];
304
+ if (position > left.originalEnd)
305
+ return [];
306
+ let start = low - 1;
307
+ while (start > 0 && sameOriginalRange(segments[start - 1], left))
308
+ start--;
309
+ return [{ segments: segments.slice(start, low), atEnd: position === left.originalEnd }];
310
+ }
311
+ /** Reports whether a segment participates in an original-to-virtual query for `features`. */
312
+ function supportsFeature(segment, feature) {
313
+ return (segment.features & feature) !== 0;
314
+ }
315
+ /**
316
+ * Finds the segment containing `position`, or the preceding segment when `position` is in a gap.
317
+ * The boolean distinguishes containment from a gap; `reverse` selects original rather than virtual coordinates.
318
+ */
319
+ function segmentIndexAt(segments, position, reverse) {
320
+ let low = 0;
321
+ let high = segments.length;
322
+ while (low < high) {
323
+ const middle = (low + high) >>> 1;
324
+ const start = reverse ? segments[middle].originalStart : segments[middle].virtualStart;
325
+ if (start < position)
326
+ low = middle + 1;
327
+ else
328
+ high = middle;
329
+ }
330
+ if (low < segments.length && (reverse ? segments[low].originalStart : segments[low].virtualStart) === position) {
331
+ return [low, true];
332
+ }
333
+ const previous = low - 1;
334
+ if (previous >= 0) {
335
+ const end = reverse ? segments[previous].originalEnd : segments[previous].virtualEnd;
336
+ if (position < end || previous === segments.length - 1 && position === end)
337
+ return [previous, true];
338
+ }
339
+ return [previous, false];
340
+ }
341
+ /** Returns the target insertion point for a gap following `previous`, or zero before the first segment. */
342
+ function insertionPoint(segments, previous, reverse) {
343
+ if (previous < 0)
344
+ return 0;
345
+ return reverse ? segments[previous].virtualEnd : segments[previous].originalEnd;
346
+ }
347
+ /** Linearly maps and clamps a position within a length-preserving verbatim segment. */
348
+ function mapVerbatimPosition(segment, position, reverse) {
349
+ const sourceStart = reverse ? segment.originalStart : segment.virtualStart;
350
+ const targetStart = reverse ? segment.virtualStart : segment.originalStart;
351
+ const targetEnd = reverse ? segment.virtualEnd : segment.originalEnd;
352
+ return clamp(targetStart + position - sourceStart, targetStart, targetEnd);
353
+ }
354
+ /** Maps a range boundary, using insertion points for gaps and the selected endpoint for atoms. */
355
+ function mapBoundary(segments, position, index, inside, reverse, high) {
356
+ if (!inside)
357
+ return insertionPoint(segments, index, reverse);
358
+ const segment = segments[index];
359
+ if (segment.kind === SpanMapKind.Verbatim)
360
+ return mapVerbatimPosition(segment, position, reverse);
361
+ if (reverse)
362
+ return high ? segment.virtualEnd : segment.virtualStart;
363
+ return high ? segment.originalEnd : segment.originalStart;
364
+ }
365
+ /** Returns the complete target range of a segment in the selected direction. */
366
+ function targetRange(segment, reverse) {
367
+ return reverse
368
+ ? { pos: segment.virtualStart, end: segment.virtualEnd }
369
+ : { pos: segment.originalStart, end: segment.originalEnd };
370
+ }
371
+ /** Confines `value` to the inclusive interval [`low`, `high`]. */
372
+ function clamp(value, low, high) {
373
+ return Math.max(low, Math.min(value, high));
374
+ }
375
+ //# sourceMappingURL=spanMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spanMap.js","sourceRoot":"","sources":["../../src/ast/spanMap.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/ast/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EACR,QAAQ,EACR,aAAa,EACb,cAAc,EACd,2BAA2B,EAC3B,UAAU,EACb,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAiBrC,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEzD;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,QAAQ,GAAG,MAAM,CAKvE;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,CAIrE;AAED,wBAAgB,OAAO,CAAC,IAAI,SAAS,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,SAAS,CAElI;AAED,wBAAgB,IAAI,CAAC,IAAI,SAAS,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,CAInH;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,aAAa,CAE/D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,cAAc,CAEjE;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,2BAA2B,CAE9F;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmBnF"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/ast/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EACR,QAAQ,EACR,aAAa,EACb,cAAc,EACd,2BAA2B,EAC3B,UAAU,EACb,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAiBrC,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEzD;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,QAAQ,GAAG,MAAM,CAKvE;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,CAIrE;AAED,wBAAgB,OAAO,CAAC,IAAI,SAAS,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,SAAS,CAElI;AAED,wBAAgB,IAAI,CAAC,IAAI,SAAS,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,CAInH;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,aAAa,CAE/D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,cAAc,CAEjE;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,2BAA2B,CAE9F;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA0BnF"}
package/dist/ast/utils.js CHANGED
@@ -58,6 +58,13 @@ export function cloneSourceFileData(sourceFile) {
58
58
  statements: sourceFile.statements,
59
59
  endOfFileToken: sourceFile.endOfFileToken,
60
60
  text: sourceFile.text,
61
+ originalText: sourceFile.originalText,
62
+ spanMap: sourceFile.spanMap,
63
+ contentMapper: sourceFile.contentMapper,
64
+ virtualFileName: sourceFile.virtualFileName,
65
+ diagnosticDirectives: sourceFile.diagnosticDirectives,
66
+ supplementalSourceFileNames: sourceFile.supplementalSourceFileNames,
67
+ canonicalSourceFileName: sourceFile.canonicalSourceFileName,
61
68
  fileName: sourceFile.fileName,
62
69
  path: sourceFile.path,
63
70
  languageVariant: sourceFile.languageVariant,
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/ast/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAU/C,IAAI,eAAgD,CAAC;AACrD,SAAS,kBAAkB;IACvB,IAAI,CAAC,eAAe,EAAE,CAAC;QACnB,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,UAAU,CAAC,IAA+B,CAAC,CAAC;YACxD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvD,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACnC,CAAC;QACL,CAAC;QACD,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,eAAe,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAgB;IAC7C,OAAO,kBAAkB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,WAAW,IAAI,GAAG,CAAC;AAChE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,UAAoB;IAC3D,MAAM,EAAE,GAAG,UAAoB,CAAC;IAChC,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC;QAC5I,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACb,CAAC,CAAC,EAAE,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,UAAkB;IACvD,OAAO,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC;QAC5H,CAAC,CAAC,GAAG,GAAG,UAAU;QAClB,CAAC,CAAC,UAAU,CAAa,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,OAAO,CAA8B,KAAsB,EAAE,IAAmC;IAC5G,OAAO,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,IAAI,CAA8B,KAAsB,EAAE,IAAmC;IACzG,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAErD,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,2BAA2B,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;AACvG,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAU;IACpC,OAAO,YAAY,IAAI,IAAI,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAU;IACrC,OAAO,aAAa,IAAI,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAU;IACrD,OAAO,6BAA6B,IAAI,IAAI,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,UAAsB;IACtD,OAAO;QACH,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,cAAc,EAAE,UAAU,CAAC,cAAc;QACzC,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,eAAe,EAAE,UAAU,CAAC,eAAe;QAC3C,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;QAC/C,eAAe,EAAE,UAAU,CAAC,eAAe;QAC3C,uBAAuB,EAAE,UAAU,CAAC,uBAAuB;QAC3D,sBAAsB,EAAE,UAAU,CAAC,sBAAsB;QACzD,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;QACnD,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;QACjD,uBAAuB,EAAE,UAAU,CAAC,uBAAuB;QAC3D,UAAU,EAAE,SAAS;KACxB,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/ast/utils.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- // Code generated by _scripts/generate-ts-ast.ts. DO NOT EDIT.
1
+ // Code generated by tools/scripts/tsc/generate-ts-ast.ts. DO NOT EDIT.
2
2
  import { SyntaxKind } from "#enums/syntaxKind";
3
3
  import { createNodeArray, updateArrayBindingPattern, updateArrayLiteralExpression, updateArrayTypeNode, updateArrowFunction, updateAsExpression, updateAwaitExpression, updateBinaryExpression, updateBindingElement, updateBlock, updateBreakStatement, updateCallExpression, updateCallSignatureDeclaration, updateCaseBlock, updateCaseClause, updateCatchClause, updateClassDeclaration, updateClassExpression, updateClassStaticBlockDeclaration, updateComputedPropertyName, updateConditionalExpression, updateConditionalTypeNode, updateConstructorDeclaration, updateConstructorTypeNode, updateConstructSignatureDeclaration, updateContinueStatement, updateDecorator, updateDefaultClause, updateDeleteExpression, updateDoStatement, updateElementAccessExpression, updateEnumDeclaration, updateEnumMember, updateExportAssignment, updateExportDeclaration, updateExportSpecifier, updateExpressionStatement, updateExpressionWithTypeArguments, updateExternalModuleReference, updateForInStatement, updateForOfStatement, updateForStatement, updateFunctionDeclaration, updateFunctionExpression, updateFunctionTypeNode, updateGetAccessorDeclaration, updateHeritageClause, updateIfStatement, updateImportAttribute, updateImportAttributes, updateImportClause, updateImportDeclaration, updateImportEqualsDeclaration, updateImportSpecifier, updateImportTypeNode, updateIndexedAccessTypeNode, updateIndexSignatureDeclaration, updateInferTypeNode, updateInterfaceDeclaration, updateIntersectionTypeNode, updateJSDoc, updateJSDocAugmentsTag, updateJSDocCallbackTag, updateJSDocDeprecatedTag, updateJSDocImplementsTag, updateJSDocImportTag, updateJSDocLink, updateJSDocLinkCode, updateJSDocLinkPlain, updateJSDocNameReference, updateJSDocNonNullableType, updateJSDocNullableType, updateJSDocOptionalType, updateJSDocOverloadTag, updateJSDocOverrideTag, updateJSDocPrivateTag, updateJSDocProtectedTag, updateJSDocPublicTag, updateJSDocReadonlyTag, updateJSDocReturnTag, updateJSDocSatisfiesTag, updateJSDocSeeTag, updateJSDocSignature, updateJSDocTemplateTag, updateJSDocThisTag, updateJSDocThrowsTag, updateJSDocTypedefTag, updateJSDocTypeExpression, updateJSDocTypeLiteral, updateJSDocTypeTag, updateJSDocUnknownTag, updateJSDocVariadicType, updateJsxAttribute, updateJsxAttributes, updateJsxClosingElement, updateJsxElement, updateJsxExpression, updateJsxFragment, updateJsxNamespacedName, updateJsxOpeningElement, updateJsxSelfClosingElement, updateJsxSpreadAttribute, updateLabeledStatement, updateLiteralTypeNode, updateMappedTypeNode, updateMetaProperty, updateMethodDeclaration, updateMethodSignatureDeclaration, updateMissingDeclaration, updateModuleBlock, updateModuleDeclaration, updateNamedExports, updateNamedImports, updateNamedTupleMember, updateNamespaceExport, updateNamespaceExportDeclaration, updateNamespaceImport, updateNewExpression, updateNonNullExpression, updateObjectBindingPattern, updateObjectLiteralExpression, updateOptionalTypeNode, updateParameterDeclaration, updateParenthesizedExpression, updateParenthesizedTypeNode, updatePartiallyEmittedExpression, updatePostfixUnaryExpression, updatePrefixUnaryExpression, updatePropertyAccessExpression, updatePropertyAssignment, updatePropertyDeclaration, updatePropertySignatureDeclaration, updateQualifiedName, updateRestTypeNode, updateReturnStatement, updateSatisfiesExpression, updateSetAccessorDeclaration, updateShorthandPropertyAssignment, updateSourceFile, updateSpreadAssignment, updateSpreadElement, updateSwitchStatement, updateSyntaxList, updateSyntheticExpression, updateSyntheticReferenceExpression, updateTaggedTemplateExpression, updateTemplateExpression, updateTemplateLiteralTypeNode, updateTemplateLiteralTypeSpan, updateTemplateSpan, updateThrowStatement, updateTryStatement, updateTupleTypeNode, updateTypeAliasDeclaration, updateTypeAssertion, updateTypeLiteralNode, updateTypeOfExpression, updateTypeOperatorNode, updateTypeParameterDeclaration, updateTypePredicateNode, updateTypeQueryNode, updateTypeReferenceNode, updateUnionTypeNode, updateVariableDeclaration, updateVariableDeclarationList, updateVariableStatement, updateVoidExpression, updateWhileStatement, updateWithStatement, updateYieldExpression, } from "./factory.generated.js";
4
4
  import { isAssertsKeyword, isAsteriskToken, isAwaitKeyword, isBinaryOperatorToken, isBindingName, isBlock, isCaseBlock, isCatchClause, isColonToken, isConciseBody, isDotDotDotToken, isEndOfFile, isEntityName, isEqualsGreaterThanToken, isEqualsToken, isExclamationToken, isExpression, isExpressionWithTypeArguments, isForInitializer, isFunctionBody, isIdentifier, isImportAttributeName, isImportAttributes, isImportClause, isJSDocFullName, isJsxAttributeName, isJsxAttributes, isJsxAttributeValue, isJsxClosingElement, isJsxClosingFragment, isJsxOpeningElement, isJsxOpeningFragment, isJsxTagNameExpression, isLeftHandSideExpression, isMemberName, isModuleBody, isModuleExportName, isModuleName, isModuleReference, isNamedExportBindings, isNamedImportBindings, isPropertyName, isQuestionDotToken, isQuestionOrExclamationToken, isQuestionOrPlusOrMinusToken, isQuestionToken, isReadonlyKeywordOrPlusOrMinusToken, isStatement, isTemplateHead, isTemplateLiteral, isTemplateMiddleOrTail, isTypeNode, isTypeParameterDeclaration, isTypePredicateParameterName, isVariableDeclaration, isVariableDeclarationList, } from "./is.js";