typescript 7.0.1-rc → 7.1.0-beta

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 (418) hide show
  1. package/NOTICE.txt +5 -36
  2. package/README.md +39 -14
  3. package/dist/api/async/api.d.ts +827 -123
  4. package/dist/api/async/api.d.ts.map +1 -1
  5. package/dist/api/async/api.js +2367 -340
  6. package/dist/api/async/api.js.map +1 -1
  7. package/dist/api/async/client.d.ts +35 -2
  8. package/dist/api/async/client.d.ts.map +1 -1
  9. package/dist/api/async/client.js +317 -59
  10. package/dist/api/async/client.js.map +1 -1
  11. package/dist/api/async/types.d.ts +199 -53
  12. package/dist/api/async/types.d.ts.map +1 -1
  13. package/dist/api/compilerOptions.generated.d.ts +123 -0
  14. package/dist/api/compilerOptions.generated.d.ts.map +1 -0
  15. package/dist/api/compilerOptions.generated.js +8 -0
  16. package/dist/api/compilerOptions.generated.js.map +1 -0
  17. package/dist/api/diagnosticFormatter.d.ts +9 -0
  18. package/dist/api/diagnosticFormatter.d.ts.map +1 -0
  19. package/dist/api/diagnosticFormatter.js +169 -0
  20. package/dist/api/diagnosticFormatter.js.map +1 -0
  21. package/dist/api/fs.d.ts +68 -13
  22. package/dist/api/fs.d.ts.map +1 -1
  23. package/dist/api/fs.js +62 -101
  24. package/dist/api/fs.js.map +1 -1
  25. package/dist/api/fsCallbacks.d.ts +27 -0
  26. package/dist/api/fsCallbacks.d.ts.map +1 -0
  27. package/dist/api/fsCallbacks.js +111 -0
  28. package/dist/api/fsCallbacks.js.map +1 -0
  29. package/dist/api/node/encoder.d.ts +3 -0
  30. package/dist/api/node/encoder.d.ts.map +1 -1
  31. package/dist/api/node/encoder.generated.js +2 -2
  32. package/dist/api/node/encoder.generated.js.map +1 -1
  33. package/dist/api/node/encoder.js +21 -33
  34. package/dist/api/node/encoder.js.map +1 -1
  35. package/dist/api/node/msgpack.d.ts.map +1 -1
  36. package/dist/api/node/msgpack.js +3 -3
  37. package/dist/api/node/msgpack.js.map +1 -1
  38. package/dist/api/node/node.d.ts +43 -10
  39. package/dist/api/node/node.d.ts.map +1 -1
  40. package/dist/api/node/node.generated.d.ts +20 -2
  41. package/dist/api/node/node.generated.d.ts.map +1 -1
  42. package/dist/api/node/node.generated.js +122 -52
  43. package/dist/api/node/node.generated.js.map +1 -1
  44. package/dist/api/node/node.infrastructure.d.ts +16 -3
  45. package/dist/api/node/node.infrastructure.d.ts.map +1 -1
  46. package/dist/api/node/node.infrastructure.js +20 -40
  47. package/dist/api/node/node.infrastructure.js.map +1 -1
  48. package/dist/api/node/node.js +269 -30
  49. package/dist/api/node/node.js.map +1 -1
  50. package/dist/api/node/protocol.d.ts +5 -2
  51. package/dist/api/node/protocol.d.ts.map +1 -1
  52. package/dist/api/node/protocol.generated.js +2 -2
  53. package/dist/api/node/protocol.generated.js.map +1 -1
  54. package/dist/api/node/protocol.js +5 -2
  55. package/dist/api/node/protocol.js.map +1 -1
  56. package/dist/api/node/wtf8.d.ts +10 -0
  57. package/dist/api/node/wtf8.d.ts.map +1 -0
  58. package/dist/api/node/wtf8.js +130 -0
  59. package/dist/api/node/wtf8.js.map +1 -0
  60. package/dist/api/options.d.ts +26 -6
  61. package/dist/api/options.d.ts.map +1 -1
  62. package/dist/api/options.js +21 -0
  63. package/dist/api/options.js.map +1 -1
  64. package/dist/api/path.d.ts +49 -39
  65. package/dist/api/path.d.ts.map +1 -1
  66. package/dist/api/path.js +409 -33
  67. package/dist/api/path.js.map +1 -1
  68. package/dist/api/prepareCompilerOptions.generated.d.ts +5 -0
  69. package/dist/api/prepareCompilerOptions.generated.d.ts.map +1 -0
  70. package/dist/api/prepareCompilerOptions.generated.js +24 -0
  71. package/dist/api/prepareCompilerOptions.generated.js.map +1 -0
  72. package/dist/api/proto.d.ts +58 -164
  73. package/dist/api/proto.d.ts.map +1 -1
  74. package/dist/api/proto.generated.d.ts +1419 -0
  75. package/dist/api/proto.generated.d.ts.map +1 -0
  76. package/dist/api/proto.generated.js +21 -0
  77. package/dist/api/proto.generated.js.map +1 -0
  78. package/dist/api/proto.js +28 -0
  79. package/dist/api/proto.js.map +1 -1
  80. package/dist/api/sourceFileCache.d.ts +51 -20
  81. package/dist/api/sourceFileCache.d.ts.map +1 -1
  82. package/dist/api/sourceFileCache.js +168 -37
  83. package/dist/api/sourceFileCache.js.map +1 -1
  84. package/dist/api/sync/api.d.ts +1553 -179
  85. package/dist/api/sync/api.d.ts.map +1 -1
  86. package/dist/api/sync/api.js +5086 -758
  87. package/dist/api/sync/api.js.map +1 -1
  88. package/dist/api/sync/client.d.ts +25 -2
  89. package/dist/api/sync/client.d.ts.map +1 -1
  90. package/dist/api/sync/client.js +132 -30
  91. package/dist/api/sync/client.js.map +1 -1
  92. package/dist/api/sync/generatorSupport.d.ts +32 -0
  93. package/dist/api/sync/generatorSupport.d.ts.map +1 -0
  94. package/dist/api/sync/generatorSupport.js +338 -0
  95. package/dist/api/sync/generatorSupport.js.map +1 -0
  96. package/dist/api/sync/types.d.ts +341 -68
  97. package/dist/api/sync/types.d.ts.map +1 -1
  98. package/dist/api/syncChannel.d.ts +7 -1
  99. package/dist/api/syncChannel.d.ts.map +1 -1
  100. package/dist/api/syncChannel.js +41 -3
  101. package/dist/api/syncChannel.js.map +1 -1
  102. package/dist/api/timing.d.ts +175 -0
  103. package/dist/api/timing.d.ts.map +1 -0
  104. package/dist/api/timing.js +149 -0
  105. package/dist/api/timing.js.map +1 -0
  106. package/dist/api/timingDump.d.ts +13 -0
  107. package/dist/api/timingDump.d.ts.map +1 -0
  108. package/dist/api/timingDump.js +38 -0
  109. package/dist/api/timingDump.js.map +1 -0
  110. package/dist/api/typedPaths.d.ts +3 -0
  111. package/dist/api/typedPaths.d.ts.map +1 -0
  112. package/dist/api/typedPaths.js +2 -0
  113. package/dist/api/typedPaths.js.map +1 -0
  114. package/dist/api/userPreferences.generated.d.ts +195 -0
  115. package/dist/api/userPreferences.generated.d.ts.map +1 -0
  116. package/dist/api/userPreferences.generated.js +3 -0
  117. package/dist/api/userPreferences.generated.js.map +1 -0
  118. package/dist/ast/ast.d.ts +125 -8
  119. package/dist/ast/ast.d.ts.map +1 -1
  120. package/dist/ast/ast.generated.d.ts +48 -42
  121. package/dist/ast/ast.generated.d.ts.map +1 -1
  122. package/dist/ast/ast.generated.js +1 -1
  123. package/dist/ast/ast.generated.js.map +1 -1
  124. package/dist/ast/ast.js +1 -0
  125. package/dist/ast/ast.js.map +1 -1
  126. package/dist/ast/astnav.d.ts +3 -2
  127. package/dist/ast/astnav.d.ts.map +1 -1
  128. package/dist/ast/astnav.js +148 -3
  129. package/dist/ast/astnav.js.map +1 -1
  130. package/dist/ast/factory.generated.d.ts +12 -150
  131. package/dist/ast/factory.generated.d.ts.map +1 -1
  132. package/dist/ast/factory.generated.js +2736 -8
  133. package/dist/ast/factory.generated.js.map +1 -1
  134. package/dist/ast/index.d.ts +7 -0
  135. package/dist/ast/index.d.ts.map +1 -1
  136. package/dist/ast/index.js +7 -0
  137. package/dist/ast/index.js.map +1 -1
  138. package/dist/ast/is.d.ts +3 -12
  139. package/dist/ast/is.d.ts.map +1 -1
  140. package/dist/ast/is.generated.d.ts +890 -2
  141. package/dist/ast/is.generated.d.ts.map +1 -1
  142. package/dist/ast/is.generated.js +303 -7
  143. package/dist/ast/is.generated.js.map +1 -1
  144. package/dist/ast/is.js +231 -1
  145. package/dist/ast/is.js.map +1 -1
  146. package/dist/ast/jsdoc.d.ts +12 -0
  147. package/dist/ast/jsdoc.d.ts.map +1 -0
  148. package/dist/ast/jsdoc.js +208 -0
  149. package/dist/ast/jsdoc.js.map +1 -0
  150. package/dist/ast/modifiers.d.ts +4 -0
  151. package/dist/ast/modifiers.d.ts.map +1 -0
  152. package/dist/ast/modifiers.js +41 -0
  153. package/dist/ast/modifiers.js.map +1 -0
  154. package/dist/ast/scanner.d.ts.map +1 -1
  155. package/dist/ast/scanner.js +2 -1
  156. package/dist/ast/scanner.js.map +1 -1
  157. package/dist/ast/spanMap.d.ts +88 -0
  158. package/dist/ast/spanMap.d.ts.map +1 -0
  159. package/dist/ast/spanMap.js +417 -0
  160. package/dist/ast/spanMap.js.map +1 -0
  161. package/dist/ast/utils.d.ts +25 -0
  162. package/dist/ast/utils.d.ts.map +1 -1
  163. package/dist/ast/utils.js +291 -0
  164. package/dist/ast/utils.js.map +1 -1
  165. package/dist/ast/visitor.d.ts +2 -0
  166. package/dist/ast/visitor.d.ts.map +1 -1
  167. package/dist/ast/visitor.generated.d.ts.map +1 -1
  168. package/dist/ast/visitor.generated.js +5 -4
  169. package/dist/ast/visitor.generated.js.map +1 -1
  170. package/dist/ast/visitor.js +40 -0
  171. package/dist/ast/visitor.js.map +1 -1
  172. package/dist/enums/caseSensitivity.d.ts +2 -0
  173. package/dist/enums/caseSensitivity.d.ts.map +1 -0
  174. package/dist/enums/caseSensitivity.enum.d.ts +5 -0
  175. package/dist/enums/caseSensitivity.enum.d.ts.map +1 -0
  176. package/dist/enums/caseSensitivity.enum.js +7 -0
  177. package/dist/enums/caseSensitivity.enum.js.map +1 -0
  178. package/dist/enums/caseSensitivity.js +7 -0
  179. package/dist/enums/caseSensitivity.js.map +1 -0
  180. package/dist/enums/checkFlags.d.ts +2 -0
  181. package/dist/enums/checkFlags.d.ts.map +1 -0
  182. package/dist/enums/checkFlags.enum.d.ts +34 -0
  183. package/dist/enums/checkFlags.enum.d.ts.map +1 -0
  184. package/dist/enums/checkFlags.enum.js +36 -0
  185. package/dist/enums/checkFlags.enum.js.map +1 -0
  186. package/dist/enums/checkFlags.js +36 -0
  187. package/dist/enums/checkFlags.js.map +1 -0
  188. package/dist/enums/completionItemKind.enum.js +1 -1
  189. package/dist/enums/completionItemKind.enum.js.map +1 -1
  190. package/dist/enums/completionItemKind.js +1 -1
  191. package/dist/enums/completionItemKind.js.map +1 -1
  192. package/dist/enums/diagnosticCategory.enum.js +1 -1
  193. package/dist/enums/diagnosticCategory.enum.js.map +1 -1
  194. package/dist/enums/diagnosticCategory.js +1 -1
  195. package/dist/enums/diagnosticCategory.js.map +1 -1
  196. package/dist/enums/diagnosticDirectivePolicy.d.ts +2 -0
  197. package/dist/enums/diagnosticDirectivePolicy.d.ts.map +1 -0
  198. package/dist/enums/diagnosticDirectivePolicy.enum.d.ts +5 -0
  199. package/dist/enums/diagnosticDirectivePolicy.enum.d.ts.map +1 -0
  200. package/dist/enums/diagnosticDirectivePolicy.enum.js +7 -0
  201. package/dist/enums/diagnosticDirectivePolicy.enum.js.map +1 -0
  202. package/dist/enums/diagnosticDirectivePolicy.js +7 -0
  203. package/dist/enums/diagnosticDirectivePolicy.js.map +1 -0
  204. package/dist/enums/elementFlags.enum.js +1 -1
  205. package/dist/enums/elementFlags.enum.js.map +1 -1
  206. package/dist/enums/elementFlags.js +1 -1
  207. package/dist/enums/elementFlags.js.map +1 -1
  208. package/dist/enums/emitOnly.d.ts +2 -0
  209. package/dist/enums/emitOnly.d.ts.map +1 -0
  210. package/dist/enums/emitOnly.enum.d.ts +6 -0
  211. package/dist/enums/emitOnly.enum.d.ts.map +1 -0
  212. package/dist/enums/emitOnly.enum.js +8 -0
  213. package/dist/enums/emitOnly.enum.js.map +1 -0
  214. package/dist/enums/emitOnly.js +8 -0
  215. package/dist/enums/emitOnly.js.map +1 -0
  216. package/dist/enums/indexKind.d.ts +2 -0
  217. package/dist/enums/indexKind.d.ts.map +1 -0
  218. package/dist/enums/indexKind.enum.d.ts +5 -0
  219. package/dist/enums/indexKind.enum.d.ts.map +1 -0
  220. package/dist/enums/indexKind.enum.js +7 -0
  221. package/dist/enums/indexKind.enum.js.map +1 -0
  222. package/dist/enums/indexKind.js +7 -0
  223. package/dist/enums/indexKind.js.map +1 -0
  224. package/dist/enums/internalSymbolName.d.ts +2 -0
  225. package/dist/enums/internalSymbolName.d.ts.map +1 -0
  226. package/dist/enums/internalSymbolName.enum.d.ts +23 -0
  227. package/dist/enums/internalSymbolName.enum.d.ts.map +1 -0
  228. package/dist/enums/internalSymbolName.enum.js +25 -0
  229. package/dist/enums/internalSymbolName.enum.js.map +1 -0
  230. package/dist/enums/internalSymbolName.js +25 -0
  231. package/dist/enums/internalSymbolName.js.map +1 -0
  232. package/dist/enums/jsDeclarationKind.d.ts +2 -0
  233. package/dist/enums/jsDeclarationKind.d.ts.map +1 -0
  234. package/dist/enums/jsDeclarationKind.enum.d.ts +10 -0
  235. package/dist/enums/jsDeclarationKind.enum.d.ts.map +1 -0
  236. package/dist/enums/jsDeclarationKind.enum.js +12 -0
  237. package/dist/enums/jsDeclarationKind.enum.js.map +1 -0
  238. package/dist/enums/jsDeclarationKind.js +12 -0
  239. package/dist/enums/jsDeclarationKind.js.map +1 -0
  240. package/dist/enums/jsxEmit.d.ts +2 -0
  241. package/dist/enums/jsxEmit.d.ts.map +1 -0
  242. package/dist/enums/jsxEmit.enum.d.ts +9 -0
  243. package/dist/enums/jsxEmit.enum.d.ts.map +1 -0
  244. package/dist/enums/jsxEmit.enum.js +11 -0
  245. package/dist/enums/jsxEmit.enum.js.map +1 -0
  246. package/dist/enums/jsxEmit.js +11 -0
  247. package/dist/enums/jsxEmit.js.map +1 -0
  248. package/dist/enums/modifierFlags.enum.js +1 -1
  249. package/dist/enums/modifierFlags.enum.js.map +1 -1
  250. package/dist/enums/modifierFlags.js +1 -1
  251. package/dist/enums/modifierFlags.js.map +1 -1
  252. package/dist/enums/moduleDetectionKind.d.ts +2 -0
  253. package/dist/enums/moduleDetectionKind.d.ts.map +1 -0
  254. package/dist/enums/moduleDetectionKind.enum.d.ts +7 -0
  255. package/dist/enums/moduleDetectionKind.enum.d.ts.map +1 -0
  256. package/dist/enums/moduleDetectionKind.enum.js +9 -0
  257. package/dist/enums/moduleDetectionKind.enum.js.map +1 -0
  258. package/dist/enums/moduleDetectionKind.js +9 -0
  259. package/dist/enums/moduleDetectionKind.js.map +1 -0
  260. package/dist/enums/moduleKind.d.ts +2 -0
  261. package/dist/enums/moduleKind.d.ts.map +1 -0
  262. package/dist/enums/moduleKind.enum.d.ts +17 -0
  263. package/dist/enums/moduleKind.enum.d.ts.map +1 -0
  264. package/dist/enums/moduleKind.enum.js +19 -0
  265. package/dist/enums/moduleKind.enum.js.map +1 -0
  266. package/dist/enums/moduleKind.js +19 -0
  267. package/dist/enums/moduleKind.js.map +1 -0
  268. package/dist/enums/moduleResolutionKind.d.ts +2 -0
  269. package/dist/enums/moduleResolutionKind.d.ts.map +1 -0
  270. package/dist/enums/moduleResolutionKind.enum.d.ts +9 -0
  271. package/dist/enums/moduleResolutionKind.enum.d.ts.map +1 -0
  272. package/dist/enums/moduleResolutionKind.enum.js +11 -0
  273. package/dist/enums/moduleResolutionKind.enum.js.map +1 -0
  274. package/dist/enums/moduleResolutionKind.js +11 -0
  275. package/dist/enums/moduleResolutionKind.js.map +1 -0
  276. package/dist/enums/newLineKind.d.ts +2 -0
  277. package/dist/enums/newLineKind.d.ts.map +1 -0
  278. package/dist/enums/newLineKind.enum.d.ts +6 -0
  279. package/dist/enums/newLineKind.enum.d.ts.map +1 -0
  280. package/dist/enums/newLineKind.enum.js +8 -0
  281. package/dist/enums/newLineKind.enum.js.map +1 -0
  282. package/dist/enums/newLineKind.js +8 -0
  283. package/dist/enums/newLineKind.js.map +1 -0
  284. package/dist/enums/nodeBuilderFlags.enum.js +1 -1
  285. package/dist/enums/nodeBuilderFlags.enum.js.map +1 -1
  286. package/dist/enums/nodeBuilderFlags.js +1 -1
  287. package/dist/enums/nodeBuilderFlags.js.map +1 -1
  288. package/dist/enums/nodeFlags.enum.js +1 -1
  289. package/dist/enums/nodeFlags.enum.js.map +1 -1
  290. package/dist/enums/nodeFlags.js +1 -1
  291. package/dist/enums/nodeFlags.js.map +1 -1
  292. package/dist/enums/objectFlags.enum.d.ts +3 -2
  293. package/dist/enums/objectFlags.enum.d.ts.map +1 -1
  294. package/dist/enums/objectFlags.enum.js +4 -3
  295. package/dist/enums/objectFlags.enum.js.map +1 -1
  296. package/dist/enums/objectFlags.js +4 -3
  297. package/dist/enums/objectFlags.js.map +1 -1
  298. package/dist/enums/outerExpressionKinds.enum.d.ts +5 -1
  299. package/dist/enums/outerExpressionKinds.enum.d.ts.map +1 -1
  300. package/dist/enums/outerExpressionKinds.enum.js +5 -1
  301. package/dist/enums/outerExpressionKinds.enum.js.map +1 -1
  302. package/dist/enums/outerExpressionKinds.js +5 -1
  303. package/dist/enums/outerExpressionKinds.js.map +1 -1
  304. package/dist/enums/scriptKind.d.ts.map +1 -1
  305. package/dist/enums/scriptKind.enum.d.ts +1 -3
  306. package/dist/enums/scriptKind.enum.d.ts.map +1 -1
  307. package/dist/enums/scriptKind.enum.js +1 -2
  308. package/dist/enums/scriptKind.enum.js.map +1 -1
  309. package/dist/enums/scriptKind.js +1 -2
  310. package/dist/enums/scriptKind.js.map +1 -1
  311. package/dist/enums/scriptTarget.d.ts.map +1 -1
  312. package/dist/enums/scriptTarget.enum.d.ts +1 -0
  313. package/dist/enums/scriptTarget.enum.d.ts.map +1 -1
  314. package/dist/enums/scriptTarget.enum.js +2 -0
  315. package/dist/enums/scriptTarget.enum.js.map +1 -1
  316. package/dist/enums/scriptTarget.js +2 -0
  317. package/dist/enums/scriptTarget.js.map +1 -1
  318. package/dist/enums/signatureFlags.enum.js +1 -1
  319. package/dist/enums/signatureFlags.enum.js.map +1 -1
  320. package/dist/enums/signatureFlags.js +1 -1
  321. package/dist/enums/signatureFlags.js.map +1 -1
  322. package/dist/enums/signatureKind.enum.js +1 -1
  323. package/dist/enums/signatureKind.enum.js.map +1 -1
  324. package/dist/enums/signatureKind.js +1 -1
  325. package/dist/enums/signatureKind.js.map +1 -1
  326. package/dist/enums/spanMapFeature.d.ts +2 -0
  327. package/dist/enums/spanMapFeature.d.ts.map +1 -0
  328. package/dist/enums/spanMapFeature.enum.d.ts +25 -0
  329. package/dist/enums/spanMapFeature.enum.d.ts.map +1 -0
  330. package/dist/enums/spanMapFeature.enum.js +27 -0
  331. package/dist/enums/spanMapFeature.enum.js.map +1 -0
  332. package/dist/enums/spanMapFeature.js +27 -0
  333. package/dist/enums/spanMapFeature.js.map +1 -0
  334. package/dist/enums/spanMapFidelity.d.ts +2 -0
  335. package/dist/enums/spanMapFidelity.d.ts.map +1 -0
  336. package/dist/enums/spanMapFidelity.enum.d.ts +7 -0
  337. package/dist/enums/spanMapFidelity.enum.d.ts.map +1 -0
  338. package/dist/enums/spanMapFidelity.enum.js +9 -0
  339. package/dist/enums/spanMapFidelity.enum.js.map +1 -0
  340. package/dist/enums/spanMapFidelity.js +9 -0
  341. package/dist/enums/spanMapFidelity.js.map +1 -0
  342. package/dist/enums/spanMapKind.d.ts +2 -0
  343. package/dist/enums/spanMapKind.d.ts.map +1 -0
  344. package/dist/enums/spanMapKind.enum.d.ts +6 -0
  345. package/dist/enums/spanMapKind.enum.d.ts.map +1 -0
  346. package/dist/enums/spanMapKind.enum.js +8 -0
  347. package/dist/enums/spanMapKind.enum.js.map +1 -0
  348. package/dist/enums/spanMapKind.js +8 -0
  349. package/dist/enums/spanMapKind.js.map +1 -0
  350. package/dist/enums/symbolFlags.enum.d.ts +1 -2
  351. package/dist/enums/symbolFlags.enum.d.ts.map +1 -1
  352. package/dist/enums/symbolFlags.enum.js +2 -3
  353. package/dist/enums/symbolFlags.enum.js.map +1 -1
  354. package/dist/enums/symbolFlags.js +2 -3
  355. package/dist/enums/symbolFlags.js.map +1 -1
  356. package/dist/enums/symbolOwnerKind.d.ts +2 -0
  357. package/dist/enums/symbolOwnerKind.d.ts.map +1 -0
  358. package/dist/enums/symbolOwnerKind.enum.d.ts +5 -0
  359. package/dist/enums/symbolOwnerKind.enum.d.ts.map +1 -0
  360. package/dist/enums/symbolOwnerKind.enum.js +7 -0
  361. package/dist/enums/symbolOwnerKind.enum.js.map +1 -0
  362. package/dist/enums/symbolOwnerKind.js +7 -0
  363. package/dist/enums/symbolOwnerKind.js.map +1 -0
  364. package/dist/enums/syntaxKind.enum.d.ts +198 -197
  365. package/dist/enums/syntaxKind.enum.d.ts.map +1 -1
  366. package/dist/enums/syntaxKind.enum.js +199 -198
  367. package/dist/enums/syntaxKind.enum.js.map +1 -1
  368. package/dist/enums/syntaxKind.js +199 -198
  369. package/dist/enums/syntaxKind.js.map +1 -1
  370. package/dist/enums/tokenFlags.enum.js +1 -1
  371. package/dist/enums/tokenFlags.enum.js.map +1 -1
  372. package/dist/enums/tokenFlags.js +1 -1
  373. package/dist/enums/tokenFlags.js.map +1 -1
  374. package/dist/enums/typeFlags.enum.js +1 -1
  375. package/dist/enums/typeFlags.enum.js.map +1 -1
  376. package/dist/enums/typeFlags.js +1 -1
  377. package/dist/enums/typeFlags.js.map +1 -1
  378. package/dist/enums/typeFormatFlags.d.ts +2 -0
  379. package/dist/enums/typeFormatFlags.d.ts.map +1 -0
  380. package/dist/enums/typeFormatFlags.enum.d.ts +29 -0
  381. package/dist/enums/typeFormatFlags.enum.d.ts.map +1 -0
  382. package/dist/enums/typeFormatFlags.enum.js +31 -0
  383. package/dist/enums/typeFormatFlags.enum.js.map +1 -0
  384. package/dist/enums/typeFormatFlags.js +31 -0
  385. package/dist/enums/typeFormatFlags.js.map +1 -0
  386. package/dist/enums/typePredicateKind.enum.js +1 -1
  387. package/dist/enums/typePredicateKind.enum.js.map +1 -1
  388. package/dist/enums/typePredicateKind.js +1 -1
  389. package/dist/enums/typePredicateKind.js.map +1 -1
  390. package/dist/internal/utils.d.ts +23 -0
  391. package/dist/internal/utils.d.ts.map +1 -0
  392. package/dist/internal/utils.js +25 -0
  393. package/dist/internal/utils.js.map +1 -0
  394. package/dist/vscode/extensionApi.d.ts +101 -0
  395. package/dist/vscode/extensionApi.d.ts.map +1 -0
  396. package/dist/vscode/extensionApi.js +2 -0
  397. package/dist/vscode/extensionApi.js.map +1 -0
  398. package/dist/vscode/moduleLoader.d.ts +14 -0
  399. package/dist/vscode/moduleLoader.d.ts.map +1 -0
  400. package/dist/vscode/moduleLoader.js +36 -0
  401. package/dist/vscode/moduleLoader.js.map +1 -0
  402. package/dist/vscode/protocol.generated.d.ts +2886 -0
  403. package/dist/vscode/protocol.generated.d.ts.map +1 -0
  404. package/dist/vscode/protocol.generated.js +4 -0
  405. package/dist/vscode/protocol.generated.js.map +1 -0
  406. package/lib/getExePath.js +8 -5
  407. package/lib/tsc.js +1 -1
  408. package/lib/version.cjs +3 -0
  409. package/lib/version.d.cts +2 -0
  410. package/package.json +48 -41
  411. package/schemas/jsconfig.schema.json +2207 -0
  412. package/schemas/tsconfig.schema.json +2206 -0
  413. package/vendor/vscode-jsonrpc/lib/node/main.js +1 -1
  414. package/vendor/vscode-jsonrpc/package.json +1 -1
  415. package/dist/api/objectRegistry.d.ts +0 -40
  416. package/dist/api/objectRegistry.d.ts.map +0 -1
  417. package/dist/api/objectRegistry.js +0 -61
  418. package/dist/api/objectRegistry.js.map +0 -1
@@ -14,6 +14,7 @@ export declare function findNextToken(previousToken: Node, parent: Node, sourceF
14
14
  * Excludes `JsxText` tokens containing only whitespace.
15
15
  */
16
16
  export declare function findPrecedingToken(sourceFile: SourceFile, position: number): Node | undefined;
17
- /** @internal */
18
- export declare function getTokenPosOfNode(node: Node, sourceFile: SourceFile, includeJSDoc?: boolean): number;
17
+ export declare function getChildren(node: Node, sourceFile?: SourceFile): readonly Node[];
18
+ export declare function getFirstToken(node: Node, sourceFile?: SourceFile): Node | undefined;
19
+ export declare function getLastToken(node: Node, sourceFile?: SourceFile): Node | undefined;
19
20
  //# sourceMappingURL=astnav.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"astnav.d.ts","sourceRoot":"","sources":["../../src/ast/astnav.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACR,IAAI,EAEJ,UAAU,EACb,MAAM,UAAU,CAAC;AAclB,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEjF;AAED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEtF;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAE/E;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,CAiEzG;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAE7F;AAkMD,gBAAgB;AAChB,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM,CAapG"}
1
+ {"version":3,"file":"astnav.d.ts","sourceRoot":"","sources":["../../src/ast/astnav.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACR,IAAI,EAEJ,UAAU,EACb,MAAM,UAAU,CAAC;AAkBlB,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEjF;AAED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEtF;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAE/E;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,CAiEzG;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAE7F;AAkgBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,GAAE,UAAiC,GAAG,SAAS,IAAI,EAAE,CA6BtG;AAuFD,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,GAAE,UAAiC,GAAG,IAAI,GAAG,SAAS,CAWzG;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,GAAE,UAAiC,GAAG,IAAI,GAAG,SAAS,CAWxG"}
@@ -1,6 +1,6 @@
1
1
  import { NodeFlags } from "#enums/nodeFlags";
2
2
  import { SyntaxKind } from "#enums/syntaxKind";
3
- import { createToken } from "./factory.generated.js";
3
+ import { createSyntaxList, createToken, } from "./factory.generated.js";
4
4
  import { isJSDocNodeKind, isKeywordKind, isPrivateIdentifier, isPropertyNameLiteral, isTokenKind, } from "./is.js";
5
5
  import { createScanner, skipTrivia, } from "./scanner.js";
6
6
  export function getTokenAtPosition(sourceFile, position) {
@@ -90,8 +90,18 @@ function getTokenAtPositionImpl(sourceFile, position, allowPositionInLeadingTriv
90
90
  prevSubtree: undefined,
91
91
  left: 0,
92
92
  };
93
+ const getIncludedPrecedingToken = (subtree) => {
94
+ const child = findPrecedingTokenImpl(sourceFile, position, subtree);
95
+ if (child !== undefined && child.end === position && includePrecedingTokenAtEndPosition(child)) {
96
+ return child;
97
+ }
98
+ return undefined;
99
+ };
93
100
  const testNode = (node) => {
94
101
  if (node.kind !== SyntaxKind.EndOfFile && node.end === position && includePrecedingTokenAtEndPosition !== undefined) {
102
+ if (state.prevSubtree !== undefined && getIncludedPrecedingToken(state.prevSubtree) !== undefined) {
103
+ return 0;
104
+ }
95
105
  state.prevSubtree = node;
96
106
  }
97
107
  // A node "contains" the position if position < end, except nodes at the file end
@@ -192,8 +202,8 @@ function getTokenAtPositionImpl(sourceFile, position, allowPositionInLeadingTriv
192
202
  });
193
203
  // If prevSubtree was set, check if the rightmost token of prevSubtree should be returned.
194
204
  if (state.prevSubtree !== undefined) {
195
- const child = findPrecedingTokenImpl(sourceFile, position, state.prevSubtree);
196
- if (child !== undefined && child.end === position && includePrecedingTokenAtEndPosition(child)) {
205
+ const child = getIncludedPrecedingToken(state.prevSubtree);
206
+ if (child !== undefined) {
197
207
  return child;
198
208
  }
199
209
  state.prevSubtree = undefined;
@@ -522,6 +532,141 @@ function getOrCreateToken(sourceFile, kind, pos, end, parent, _flags) {
522
532
  sourceFile.tokenCache.set(key, token);
523
533
  return token;
524
534
  }
535
+ const emptyArray = [];
536
+ function assertHasRealPosition(node) {
537
+ if (node.pos < 0 || node.end < 0) {
538
+ throw new Error("Node without a real position cannot be scanned and thus has no token nodes - use forEachChild and collect the result if that's fine");
539
+ }
540
+ }
541
+ export function getChildren(node, sourceFile = node.getSourceFile()) {
542
+ // A SyntaxList already holds its (pre-materialized) children.
543
+ if (node.kind === SyntaxKind.SyntaxList) {
544
+ return node.children;
545
+ }
546
+ if (isTokenKind(node.kind)) {
547
+ // EndOfFile may carry leading JSDoc; every other token has no children. The EndOfFile
548
+ // result must go through the cache: remote nodes rebuild .jsDoc on every access.
549
+ if (node.kind !== SyntaxKind.EndOfFile) {
550
+ return emptyArray;
551
+ }
552
+ }
553
+ else {
554
+ assertHasRealPosition(node);
555
+ }
556
+ const cache = (sourceFile.childrenCache ??= new Map());
557
+ const cached = cache.get(node);
558
+ if (cached !== undefined) {
559
+ return cached;
560
+ }
561
+ const children = node.kind === SyntaxKind.EndOfFile
562
+ ? node.jsDoc ?? emptyArray
563
+ : createChildren(node, sourceFile);
564
+ cache.set(node, children);
565
+ return children;
566
+ }
567
+ function createChildren(node, sourceFile) {
568
+ const children = [];
569
+ // Inside a JSDoc comment there are no real tokens to synthesize.
570
+ if (shouldSkipChild(node)) {
571
+ node.forEachChild(child => void children.push(child));
572
+ return children;
573
+ }
574
+ // One scanner serves every run of synthetic tokens materialized for this node.
575
+ const scanner = createScanner(/*skipTrivia*/ true, sourceFile.languageVariant, sourceFile.text);
576
+ let pos = node.pos;
577
+ const processNode = (child) => {
578
+ // Reparsed subtrees (JSDoc types materialized into the AST) have positions inside
579
+ // the comment, not in this node's token range.
580
+ if (child.flags & NodeFlags.Reparsed) {
581
+ return;
582
+ }
583
+ addSyntheticNodes(children, pos, child.pos, node, sourceFile, scanner);
584
+ children.push(child);
585
+ pos = child.end;
586
+ };
587
+ const processNodes = (nodes) => {
588
+ if (nodes.length > 0 && !nodes.some(child => !(child.flags & NodeFlags.Reparsed))) {
589
+ return;
590
+ }
591
+ addSyntheticNodes(children, pos, nodes.pos, node, sourceFile, scanner);
592
+ children.push(createSyntaxListNode(nodes, node, sourceFile, scanner));
593
+ pos = nodes.end;
594
+ };
595
+ // JSDoc attached to the node is leading content, processed first.
596
+ if (node.jsDoc) {
597
+ for (const jsDoc of node.jsDoc) {
598
+ processNode(jsDoc);
599
+ }
600
+ }
601
+ pos = node.pos;
602
+ node.forEachChild(processNode, processNodes);
603
+ addSyntheticNodes(children, pos, node.end, node, sourceFile, scanner);
604
+ return children;
605
+ }
606
+ function addSyntheticNodes(children, pos, end, parent, sourceFile, scanner) {
607
+ if (pos >= end) {
608
+ return;
609
+ }
610
+ scanner.resetTokenState(pos);
611
+ scanner.scan();
612
+ while (pos < end) {
613
+ const token = scanner.getToken();
614
+ const tokenEnd = scanner.getTokenEnd();
615
+ if (tokenEnd <= end) {
616
+ // An identifier should never appear as trivia between AST children; skip defensively.
617
+ if (token !== SyntaxKind.Identifier) {
618
+ children.push(getOrCreateToken(sourceFile, token, pos, tokenEnd, parent, scanner.getTokenFlags()));
619
+ }
620
+ }
621
+ pos = tokenEnd;
622
+ if (token === SyntaxKind.EndOfFile) {
623
+ break;
624
+ }
625
+ scanner.scan();
626
+ }
627
+ }
628
+ function createSyntaxListNode(nodes, parent, sourceFile, scanner) {
629
+ const listChildren = [];
630
+ let pos = nodes.pos;
631
+ for (const child of nodes) {
632
+ if (child.flags & NodeFlags.Reparsed) {
633
+ continue;
634
+ }
635
+ addSyntheticNodes(listChildren, pos, child.pos, parent, sourceFile, scanner);
636
+ listChildren.push(child);
637
+ pos = child.end;
638
+ }
639
+ addSyntheticNodes(listChildren, pos, nodes.end, parent, sourceFile, scanner);
640
+ const list = createSyntaxList(listChildren);
641
+ list.pos = nodes.pos;
642
+ list.end = nodes.end;
643
+ list.parent = parent;
644
+ return list;
645
+ }
646
+ export function getFirstToken(node, sourceFile = node.getSourceFile()) {
647
+ if (isTokenKind(node.kind)) {
648
+ return undefined;
649
+ }
650
+ assertHasRealPosition(node);
651
+ const children = getChildren(node, sourceFile);
652
+ const child = children.find(kid => kid.kind < SyntaxKind.FirstJSDocNode || kid.kind > SyntaxKind.LastJSDocNode);
653
+ if (child === undefined) {
654
+ return undefined;
655
+ }
656
+ return child.kind < SyntaxKind.FirstNode ? child : getFirstToken(child, sourceFile);
657
+ }
658
+ export function getLastToken(node, sourceFile = node.getSourceFile()) {
659
+ if (isTokenKind(node.kind)) {
660
+ return undefined;
661
+ }
662
+ assertHasRealPosition(node);
663
+ const children = getChildren(node, sourceFile);
664
+ const child = children.length ? children[children.length - 1] : undefined;
665
+ if (child === undefined) {
666
+ return undefined;
667
+ }
668
+ return child.kind < SyntaxKind.FirstNode ? child : getLastToken(child, sourceFile);
669
+ }
525
670
  /** Binary search a node list for the node containing position. */
526
671
  function binarySearchNodeList(nodes, testNode, onLeft, onMatch) {
527
672
  let lo = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"astnav.js","sourceRoot":"","sources":["../../src/ast/astnav.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAO/C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EACH,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,WAAW,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EACH,aAAa,EACb,UAAU,GACb,MAAM,cAAc,CAAC;AAEtB,MAAM,UAAU,kBAAkB,CAAC,UAAsB,EAAE,QAAgB;IACvE,OAAO,sBAAsB,CAAC,UAAU,EAAE,QAAQ,EAAE,gCAAgC,CAAC,IAAI,EAAE,sCAAsC,CAAC,SAAS,CAAC,CAAC;AACjJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,UAAsB,EAAE,QAAgB;IAC5E,OAAO,sBAAsB,CAAC,UAAU,EAAE,QAAQ,EAAE,gCAAgC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9L,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,UAAsB,EAAE,QAAgB;IACrE,OAAO,sBAAsB,CAAC,UAAU,EAAE,QAAQ,EAAE,gCAAgC,CAAC,KAAK,EAAE,sCAAsC,CAAC,SAAS,CAAC,CAAC;AAClJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,aAAmB,EAAE,MAAY,EAAE,UAAsB;IACnF,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IAEpB,SAAS,IAAI,CAAC,CAAO;QACjB,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG,EAAE,CAAC;YACrD,yEAAyE;YACzE,OAAO,CAAC,CAAC;QACb,CAAC;QAED,oFAAoF;QACpF,IAAI,SAA2B,CAAC;QAEhC,MAAM,UAAU,GAAG,CAAC,IAAU,EAAE,EAAE;YAC9B,IAAI,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;gBAClC,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,IAAI,aAAa,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC;gBAChE,SAAS,GAAG,IAAI,CAAC;YACrB,CAAC;YACD,OAAO,SAAS,CAAC;QACrB,CAAC,CAAC;QAEF,oEAAoE;QACpE,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACV,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC1B,UAAU,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACL,CAAC;QAED,CAAC,CAAC,YAAY,CACV,UAAU,EACV,KAAK,CAAC,EAAE;YACJ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACvB,IAAI,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ;wBAAE,SAAS;oBAC9C,IAAI,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG;wBAAE,MAAM;oBACxC,IAAI,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC;wBAC/B,SAAS,GAAG,IAAI,CAAC;wBACjB,MAAM;oBACV,CAAC;gBACL,CAAC;YACL,CAAC;YACD,OAAO,SAAS,CAAC;QACrB,CAAC,CACJ,CAAC;QAEF,gCAAgC;QAChC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;QAED,iFAAiF;QACjF,8FAA8F;QAC9F,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC;QACnC,IAAI,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI,QAAQ,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,uBAAuB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,cAAc,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;YACtC,OAAO,gBAAgB,CAAC,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QACnF,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAsB,EAAE,QAAgB;IACvE,OAAO,sBAAsB,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,sBAAsB,CAC3B,UAAsB,EACtB,QAAgB,EAChB,4BAAqC,EACrC,kCAAyE;IAEzE,IAAI,OAAO,GAAS,UAAU,CAAC;IAC/B,IAAI,aAA+B,CAAC;IACpC,MAAM,KAAK,GAIP;QACA,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,CAAC;KACV,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,IAAU,EAAU,EAAE;QACpC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,kCAAkC,KAAK,SAAS,EAAE,CAAC;YAClH,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,iFAAiF;QACjF,iFAAiF;QACjF,oFAAoF;QACpF,IACI,IAAI,CAAC,GAAG,GAAG,QAAQ,IAAI,IAAI,CAAC,GAAG,KAAK,QAAQ;YACxC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,SAAS;YAClC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,KAAK,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,EACjF,CAAC;YACC,OAAO,CAAC,CAAC,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,4BAA4B,CAAC,CAAC;QAC5E,IAAI,OAAO,GAAG,QAAQ,EAAE,CAAC;YACrB,OAAO,CAAC,CAAC;QACb,CAAC;QACD,OAAO,CAAC,CAAC;IACb,CAAC,CAAC;IAEF,OAAO,IAAI,EAAE,CAAC;QACV,uEAAuE;QACvE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;QACvB,aAAa,GAAG,SAA6B,CAAC;QAE9C,kFAAkF;QAClF,oFAAoF;QACpF,+FAA+F;QAC/F,IAAI,yBAAyB,GAAG,KAAK,CAAC;QAEtC,MAAM,SAAS,GAAG,CAAC,IAAU,EAAE,EAAE;YAC7B,IAAI,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;gBAClC,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,IAAI,yBAAyB,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClE,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAC9B,aAAa,GAAG,IAAI,CAAC;YACzB,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC9B,QAAQ,MAAM,EAAE,CAAC;oBACb,KAAK,CAAC,CAAC;wBACH,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC9B,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;wBAC1B,CAAC;wBACD,aAAa,GAAG,SAAS,CAAC;wBAC1B,MAAM;oBACV,KAAK,CAAC;wBACF,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;wBAClB,MAAM;gBACd,CAAC;YACL,CAAC;YACD,OAAO,SAAS,CAAC;QACrB,CAAC,CAAC;QAEF,2FAA2F;QAC3F,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChC,SAAS,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACL,CAAC;QAED,OAAO,CAAC,YAAY,CAChB,SAAS,EACT,KAAK,CAAC,EAAE;YACJ,+EAA+E;YAC/E,kFAAkF;YAClF,yBAAyB,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;YAChE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,yBAAyB,EAAE,CAAC;gBAClD,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACvB,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACrC,aAAa,GAAG,IAAI,CAAC;wBACrB,MAAM;oBACV,CAAC;gBACL,CAAC;YACL,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC3B,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,kCAAkC,KAAK,SAAS,EAAE,CAAC;oBAC7E,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC;oBACvB,aAAa,GAAG,SAAS,CAAC;oBAC1B,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAChD,CAAC;qBACI,IAAI,KAAK,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;oBAC7B,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC;oBACvB,aAAa,GAAG,SAAS,CAAC;gBAC9B,CAAC;qBACI,IAAI,KAAK,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;oBAC7B,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;wBACxD,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;wBACtB,aAAa,GAAG,SAAS,CAAC;wBAC1B,KAAK,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;4BAC3C,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gCACvC,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gCACvB,MAAM;4BACV,CAAC;wBACL,CAAC;oBACL,CAAC,EAAE,KAAK,CAAC,EAAE;wBACP,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;oBACvB,CAAC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;YACD,OAAO,SAAS,CAAC;QACrB,CAAC,CACJ,CAAC;QAEF,0FAA0F;QAC1F,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,sBAAsB,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAC9E,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,kCAAmC,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9F,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC;QAClC,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxD,OAAO,OAAO,CAAC;YACnB,CAAC;YACD,yDAAyD;YACzD,MAAM,OAAO,GAAG,uBAAuB,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAChE,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;YACtB,MAAM,SAAS,GAAG,aAAa,CAAC;YAChC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC1B,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC;YACxB,CAAC;YACD,OAAO,KAAK,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;gBACtB,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACjC,MAAM,cAAc,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBACnD,MAAM,UAAU,GAAG,4BAA4B,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC3F,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;gBACvC,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;gBACtC,IAAI,QAAQ,GAAG,GAAG,EAAE,CAAC;oBACjB,MAAM;gBACV,CAAC;gBACD,IAAI,UAAU,IAAI,QAAQ,IAAI,QAAQ,GAAG,QAAQ,EAAE,CAAC;oBAChD,IAAI,KAAK,KAAK,UAAU,CAAC,UAAU,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;wBACzD,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;4BAChC,OAAO,OAAO,CAAC;wBACnB,CAAC;wBACD,MAAM,IAAI,KAAK,CAAC,kBAAkB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;oBAC7G,CAAC;oBACD,OAAO,gBAAgB,CAAC,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;gBACzF,CAAC;gBACD,IAAI,kCAAkC,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAC5E,MAAM,SAAS,GAAG,gBAAgB,CAAC,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;oBAChG,IAAI,kCAAkC,CAAC,SAAS,CAAC,EAAE,CAAC;wBAChD,OAAO,SAAS,CAAC;oBACrB,CAAC;gBACL,CAAC;gBACD,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;gBACtB,OAAO,CAAC,IAAI,EAAE,CAAC;YACnB,CAAC;YACD,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC;QACrB,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;QACzB,aAAa,GAAG,SAAS,CAAC;IAC9B,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,IAAU,EAAE,UAAsB,EAAE,4BAAqC;IAC1F,IAAI,4BAA4B,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IACD,OAAO,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACtE,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,iBAAiB,CAAC,IAAU,EAAE,UAAsB,EAAE,YAAsB;IACxF,4EAA4E;IAC5E,6EAA6E;IAC7E,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IACD,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;QACjE,OAAO,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACxG,CAAC;IACD,IAAI,YAAY,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACvJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAU;IAC7B,OAAO,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,SAAS,CAAC;AACxF,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAsB,EAAE,QAAgB,EAAE,SAAe;IACrF,MAAM,IAAI,GAAG,CAAC,CAAO,EAAoB,EAAE;QACvC,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,SAAS,EAAE,CAAC;YACzD,OAAO,CAAC,CAAC;QACb,CAAC;QAED,IAAI,UAA4B,CAAC;QACjC,IAAI,SAA2B,CAAC;QAEhC,iEAAiE;QACjE,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACV,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC1B,IAAI,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ;oBAAE,SAAS;gBAC/C,IAAI,UAAU,KAAK,SAAS;oBAAE,MAAM;gBACpC,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC;oBACjF,UAAU,GAAG,KAAK,CAAC;gBACvB,CAAC;qBACI,CAAC;oBACF,SAAS,GAAG,KAAK,CAAC;gBACtB,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,6BAA6B,GAAG,KAAK,CAAC;QAC1C,CAAC,CAAC,YAAY,CACV,IAAI,CAAC,EAAE;YACH,IAAI,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;gBAClC,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,IAAI,6BAA6B,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtE,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC;gBAChF,UAAU,GAAG,IAAI,CAAC;YACtB,CAAC;iBACI,CAAC;gBACF,SAAS,GAAG,IAAI,CAAC;YACrB,CAAC;YACD,OAAO,SAAS,CAAC;QACrB,CAAC,EACD,KAAK,CAAC,EAAE;YACJ,6BAA6B,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;YACpE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE,CAAC;gBACrD,MAAM,KAAK,GAAG,6BAA6B,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAC7D,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3D,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC9B,CAAC;gBACD,MAAM,WAAW,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC9D,KAAK,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBACpC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACzC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;4BAC1B,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBACzB,CAAC;wBACD,MAAM;oBACV,CAAC;gBACL,CAAC;YACL,CAAC;YACD,OAAO,SAAS,CAAC;QACrB,CAAC,CACJ,CAAC;QAEF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC/E,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;gBACpB,IAAI,QAAQ,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;oBAC7B,yEAAyE;oBACzE,iEAAiE;oBACjE,IAAI,KAAuB,CAAC;oBAC5B,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;wBACV,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;4BAC3C,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;gCACnC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gCACnB,MAAM;4BACV,CAAC;wBACL,CAAC;oBACL,CAAC;oBACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACtB,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;4BACvB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;wBACvB,CAAC;wBACD,OAAO,uBAAuB,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;oBACvE,CAAC;oBACD,OAAO,uBAAuB,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACtE,CAAC;gBACD,oDAAoD;gBACpD,OAAO,uBAAuB,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC5E,CAAC;YACD,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,QAAQ,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;YACpB,OAAO,uBAAuB,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,uBAAuB,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;IACnE,CAAC,CAAC;IAEF,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,uBAAuB,CAAC,UAAsB,EAAE,MAAc,EAAE,cAAoB,EAAE,QAAgB;IAC3G,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QAClB,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC;IAClC,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,CAAO,EAAE,MAAc,EAAoB,EAAE;QACvD,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,SAAS,EAAE,CAAC;YACzD,OAAO,CAAC,CAAC;QACb,CAAC;QAED,IAAI,kBAAoC,CAAC;QACzC,IAAI,WAAW,GAAG,KAAK,CAAC;QAExB,iEAAiE;QACjE,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACV,WAAW,GAAG,IAAI,CAAC;YACnB,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC1B,IAAI,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ;oBAAE,SAAS;gBAC/C,IAAI,KAAK,CAAC,GAAG,GAAG,MAAM,IAAI,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,QAAQ;oBAAE,SAAS;gBACrF,IAAI,oBAAoB,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;oBAC1C,kBAAkB,GAAG,KAAK,CAAC;gBAC/B,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,yBAAyB,GAAG,KAAK,CAAC;QACtC,CAAC,CAAC,YAAY,CACV,IAAI,CAAC,EAAE;YACH,IAAI,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;gBAClC,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,IAAI,yBAAyB,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClE,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,WAAW,GAAG,IAAI,CAAC;YACnB,IAAI,IAAI,CAAC,GAAG,GAAG,MAAM,IAAI,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACvE,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,IAAI,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;gBACzC,kBAAkB,GAAG,IAAI,CAAC;YAC9B,CAAC;YACD,OAAO,SAAS,CAAC;QACrB,CAAC,EACD,KAAK,CAAC,EAAE;YACJ,iFAAiF;YACjF,kFAAkF;YAClF,yBAAyB,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;YAChE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBACjD,WAAW,GAAG,IAAI,CAAC;gBACnB,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACtB,IAAI,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ;wBAAE,SAAS;oBAC9C,IAAI,IAAI,CAAC,GAAG,GAAG,MAAM,IAAI,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,QAAQ;wBAAE,SAAS;oBACnF,IAAI,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;wBACzC,kBAAkB,GAAG,IAAI,CAAC;wBAC1B,MAAM;oBACV,CAAC;gBACL,CAAC;YACL,CAAC;YACD,OAAO,SAAS,CAAC;QACrB,CAAC,CACJ,CAAC;QAEF,6EAA6E;QAC7E,wCAAwC;QACxC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACnF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC7C,IAAI,QAAQ,GAAG,SAAS,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,uBAAuB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAC9D,IAAI,GAAG,GAAG,QAAQ,CAAC;gBACnB,IAAI,gBAAkC,CAAC;gBACvC,OAAO,GAAG,GAAG,SAAS,EAAE,CAAC;oBACrB,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;oBAC3C,IAAI,UAAU,IAAI,QAAQ;wBAAE,MAAM;oBAClC,MAAM,cAAc,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;oBACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;oBACvC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACjC,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;oBACtC,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;oBAC3F,GAAG,GAAG,QAAQ,CAAC;oBACf,OAAO,CAAC,IAAI,EAAE,CAAC;gBACnB,CAAC;gBACD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;oBACjC,OAAO,gBAAgB,CAAC;gBAC5B,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,cAAc,EAAE,CAAC;gBACvB,OAAO,CAAC,CAAC;YACb,CAAC;YACD,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC;IAEF,OAAO,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAU,EAAE,UAAsB;IAC5D,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,SAAS,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;IAC/B,OAAO,KAAK,GAAG,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,eAAe,CAAC,IAAU;IAC/B,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK;QACjC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,SAAS;QAClC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,gBAAgB;QACzC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,cAAc;QACvC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,SAAS;QAClC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,aAAa;QACtC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,cAAc;QACvC,UAAU,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,UAAU,CAAC,IAAU;IAC1B,OAAO,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,iBAAiB,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,gBAAgB,CAAC;AACjG,CAAC;AAED,2FAA2F;AAC3F,2FAA2F;AAC3F,kFAAkF;AAClF,SAAS,uBAAuB,CAAC,IAAgB;IAC7C,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,UAAU,CAAC,SAAS,CAAC;QAC1B,KAAK,UAAU,CAAC,SAAS,CAAC;QAC1B,KAAK,UAAU,CAAC,aAAa,CAAC;QAC9B,KAAK,UAAU,CAAC,cAAc;YAC1B,OAAO,IAAI,CAAC;QAChB;YACI,OAAO,KAAK,CAAC;IACrB,CAAC;AACL,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAsB;IACxD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,uBAAuB,CAAC,UAAsB,EAAE,GAAW;IAChE,MAAM,OAAO,GAAG,aAAa,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IAChG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,CAAC,IAAI,EAAE,CAAC;IACf,OAAO,OAAO,CAAC;AACnB,CAAC;AAID,SAAS,gBAAgB,CAAC,UAAsB,EAAE,IAAgB,EAAE,GAAW,EAAE,GAAW,EAAE,MAAY,EAAE,MAAc;IACtH,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;IAC5B,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QACzB,UAAU,CAAC,UAAU,GAAG,IAAI,GAAG,EAAgB,CAAC;IACpD,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,MAAM,KAAK,GAAkB,WAAW,CAAC,IAAuB,CAAC,CAAC;IAClE,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;IAChB,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;IAChB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACtC,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,kEAAkE;AAClE,SAAS,oBAAoB,CACzB,KAAsB,EACtB,QAAgC,EAChC,MAAiE,EACjE,OAA6B;IAE7B,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1B,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;QACd,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;YAClC,8DAA8D;YAC9D,IAAI,KAAK,GAAG,KAAK,CAAC;YAClB,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/B,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;wBACV,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;wBAC3B,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;oBACf,CAAC;yBACI,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;wBACf,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;oBACf,CAAC;yBACI,CAAC;wBACF,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBAClB,OAAO;oBACX,CAAC;oBACD,KAAK,GAAG,IAAI,CAAC;oBACb,MAAM;gBACV,CAAC;YACL,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;YACjB,CAAC;YACD,SAAS;QACb,CAAC;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YACzB,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;QACjB,CAAC;aACI,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACf,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;QACjB,CAAC;aACI,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,OAAO;QACX,CAAC;IACL,CAAC;AACL,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAsB,EAAE,QAAgB;IAC3E,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1B,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;IAChB,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;QACd,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;YAClC,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;YACb,SAAS;QACb,CAAC;QACD,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,IAAI,GAAG,KAAK,CAAC,IAAI,QAAQ,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC9C,MAAM,GAAG,GAAG,CAAC;gBACb,MAAM;YACV,CAAC;YACD,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;QACjB,CAAC;aACI,CAAC;YACF,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;QACjB,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"astnav.js","sourceRoot":"","sources":["../../src/ast/astnav.ts"],"names":[],"mappings":"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"}
@@ -1,151 +1,13 @@
1
1
  import { NodeFlags } from "#enums/nodeFlags";
2
2
  import { SyntaxKind } from "#enums/syntaxKind";
3
3
  import { TokenFlags } from "#enums/tokenFlags";
4
- import type { ArrayBindingPattern, ArrayLiteralExpression, ArrayTypeNode, ArrowFunction, AsExpression, AssertsKeyword, AsteriskToken, AwaitExpression, AwaitKeyword, BigIntLiteral, BinaryExpression, BinaryOperatorToken, BindingElement, BindingName, Block, BreakStatement, CallExpression, CallSignatureDeclaration, CaseBlock, CaseClause, CaseOrDefaultClause, CatchClause, ClassDeclaration, ClassElement, ClassExpression, ClassStaticBlockDeclaration, ColonToken, ComputedPropertyName, ConciseBody, ConditionalExpression, ConditionalTypeNode, ConstructorDeclaration, ConstructorTypeNode, ConstructSignatureDeclaration, ContinueStatement, DebuggerStatement, Decorator, DefaultClause, DeleteExpression, DoStatement, DotDotDotToken, ElementAccessExpression, EmptyStatement, EndOfFile, EntityName, EnumDeclaration, EnumMember, EqualsGreaterThanToken, EqualsToken, ExclamationToken, ExportAssignment, ExportDeclaration, ExportSpecifier, Expression, ExpressionStatement, ExpressionWithTypeArguments, ExternalModuleReference, ForInitializer, ForInStatement, ForOfStatement, ForStatement, FunctionBody, FunctionDeclaration, FunctionExpression, FunctionTypeNode, GetAccessorDeclaration, HeritageClause, Identifier, IfStatement, ImportAttribute, ImportAttributeName, ImportAttributes, ImportClause, ImportDeclaration, ImportEqualsDeclaration, ImportPhaseModifierSyntaxKind, ImportSpecifier, ImportTypeNode, IndexedAccessTypeNode, IndexSignatureDeclaration, InferTypeNode, InterfaceDeclaration, IntersectionTypeNode, JSDoc, JSDocAllType, JSDocAugmentsTag, JSDocCallbackTag, JSDocComment, JSDocDeprecatedTag, JSDocFullName, JSDocImplementsTag, JSDocImportTag, JSDocLink, JSDocLinkCode, JSDocLinkPlain, JSDocNameReference, JSDocNonNullableType, JSDocNullableType, JSDocOptionalType, JSDocOverloadTag, JSDocOverrideTag, JSDocParameterTag, JSDocPrivateTag, JSDocPropertyTag, JSDocProtectedTag, JSDocPublicTag, JSDocReadonlyTag, JSDocReturnTag, JSDocSatisfiesTag, JSDocSeeTag, JSDocSignature, JSDocTag, JSDocTemplateTag, JSDocText, JSDocThisTag, JSDocThrowsTag, JSDocTypedefTag, JSDocTypeExpression, JSDocTypeLiteral, JSDocTypeTag, JSDocUnknownTag, JSDocVariadicType, JsxAttribute, JsxAttributeLike, JsxAttributeName, JsxAttributes, JsxAttributeValue, JsxChild, JsxClosingElement, JsxClosingFragment, JsxElement, JsxExpression, JsxFragment, JsxNamespacedName, JsxOpeningElement, JsxOpeningFragment, JsxSelfClosingElement, JsxSpreadAttribute, JsxTagNameExpression, JsxText, KeywordExpression, KeywordExpressionSyntaxKind, KeywordTypeNode, KeywordTypeSyntaxKind, LabeledStatement, LeftHandSideExpression, LiteralTypeNode, MappedTypeNode, MemberName, MetaProperty, MethodDeclaration, MethodSignatureDeclaration, MinusToken, MissingDeclaration, ModifierLike, ModuleBlock, ModuleBody, ModuleDeclaration, ModuleExportName, ModuleName, ModuleReference, NamedExportBindings, NamedExports, NamedImportBindings, NamedImports, NamedTupleMember, NamespaceExport, NamespaceExportDeclaration, NamespaceImport, NewExpression, Node, NodeArray, NonNullExpression, NoSubstitutionTemplateLiteral, NotEmittedStatement, NotEmittedTypeElement, NumericLiteral, ObjectBindingPattern, ObjectLiteralElementLike, ObjectLiteralExpression, OmittedExpression, OptionalTypeNode, ParameterDeclaration, ParenthesizedExpression, ParenthesizedTypeNode, PartiallyEmittedExpression, Path, PlusToken, PostfixUnaryExpression, PrefixUnaryExpression, PrivateIdentifier, PropertyAccessExpression, PropertyAssignment, PropertyDeclaration, PropertyName, PropertySignatureDeclaration, QualifiedName, QuestionDotToken, QuestionToken, ReadonlyKeyword, RegularExpressionLiteral, RestTypeNode, ReturnStatement, SatisfiesExpression, SemicolonClassElement, SetAccessorDeclaration, ShorthandPropertyAssignment, SourceFile, SpreadAssignment, SpreadElement, Statement, StringLiteral, SwitchStatement, SyntaxList, SyntheticExpression, SyntheticReferenceExpression, TaggedTemplateExpression, TemplateExpression, TemplateHead, TemplateLiteral, TemplateLiteralTypeNode, TemplateLiteralTypeSpan, TemplateMiddle, TemplateMiddleOrTail, TemplateSpan, TemplateTail, ThisTypeNode, ThrowStatement, Token, TokenSyntaxKind, TryStatement, TupleTypeNode, TypeAliasDeclaration, TypeAssertion, TypeElement, TypeLiteralNode, TypeNode, TypeOfExpression, TypeOperatorNode, TypeParameterDeclaration, TypePredicateNode, TypePredicateParameterName, TypeQueryNode, TypeReferenceNode, UnionTypeNode, VariableDeclaration, VariableDeclarationList, VariableStatement, VoidExpression, WhileStatement, WithStatement, YieldExpression } from "./ast.ts";
5
- export declare class NodeObject {
6
- readonly kind: SyntaxKind;
7
- flags: NodeFlags;
8
- readonly pos: number;
9
- readonly end: number;
10
- parent: Node;
11
- _data: any;
12
- constructor(kind: SyntaxKind, data: any);
13
- get ambientModuleNames(): any;
14
- get argument(): any;
15
- get argumentExpression(): any;
16
- get arguments(): any;
17
- get assertsModifier(): any;
18
- get asteriskToken(): any;
19
- get attributes(): any;
20
- get awaitModifier(): any;
21
- get block(): any;
22
- get body(): any;
23
- get caseBlock(): any;
24
- get catchClause(): any;
25
- get checkType(): any;
26
- get children(): any;
27
- get className(): any;
28
- get clauses(): any;
29
- get closingElement(): any;
30
- get closingFragment(): any;
31
- get colonToken(): any;
32
- get comment(): any;
33
- get condition(): any;
34
- get constraint(): any;
35
- get containsOnlyTriviaWhiteSpaces(): any;
36
- get declarationList(): any;
37
- get declarations(): any;
38
- get defaultType(): any;
39
- get dotDotDotToken(): any;
40
- get elementType(): any;
41
- get elements(): any;
42
- get elseStatement(): any;
43
- get endOfFileToken(): any;
44
- get equalsGreaterThanToken(): any;
45
- get equalsToken(): any;
46
- get exclamationToken(): any;
47
- get exportClause(): any;
48
- get exprName(): any;
49
- get expression(): any;
50
- get extendsType(): any;
51
- get externalModuleIndicator(): any;
52
- get falseType(): any;
53
- get fileName(): any;
54
- get finallyBlock(): any;
55
- get head(): any;
56
- get heritageClauses(): any;
57
- get importClause(): any;
58
- get imports(): any;
59
- get incrementor(): any;
60
- get indexType(): any;
61
- get initializer(): any;
62
- get isArrayType(): any;
63
- get isBracketed(): any;
64
- get isDeclarationFile(): any;
65
- get isExportEquals(): any;
66
- get isNameFirst(): any;
67
- get isSpread(): any;
68
- get isTypeOf(): any;
69
- get isTypeOnly(): any;
70
- get jsdocPropertyTags(): any;
71
- get keyword(): any;
72
- get keywordToken(): any;
73
- get label(): any;
74
- get languageVariant(): any;
75
- get left(): any;
76
- get libReferenceDirectives(): any;
77
- get literal(): any;
78
- get members(): any;
79
- get modifiers(): any;
80
- get moduleAugmentations(): any;
81
- get moduleReference(): any;
82
- get moduleSpecifier(): any;
83
- get multiLine(): any;
84
- get name(): any;
85
- get nameExpression(): any;
86
- get nameType(): any;
87
- get namedBindings(): any;
88
- get namespace(): any;
89
- get objectAssignmentInitializer(): any;
90
- get objectType(): any;
91
- get openingElement(): any;
92
- get openingFragment(): any;
93
- get operand(): any;
94
- get operator(): any;
95
- get operatorToken(): any;
96
- get parameterName(): any;
97
- get parameters(): any;
98
- get path(): any;
99
- get phaseModifier(): any;
100
- get postfixToken(): any;
101
- get properties(): any;
102
- get propertyName(): any;
103
- get qualifier(): any;
104
- get questionDotToken(): any;
105
- get questionToken(): any;
106
- get rawText(): any;
107
- get readonlyToken(): any;
108
- get referencedFiles(): any;
109
- get right(): any;
110
- get scriptKind(): any;
111
- get statement(): any;
112
- get statements(): any;
113
- get tag(): any;
114
- get tagName(): any;
115
- get tags(): any;
116
- get template(): any;
117
- get templateFlags(): any;
118
- get templateSpans(): any;
119
- get text(): any;
120
- get thenStatement(): any;
121
- get thisArg(): any;
122
- get token(): any;
123
- get tokenCache(): any;
124
- get tokenFlags(): any;
125
- get trueType(): any;
126
- get tryBlock(): any;
127
- get tupleNameSource(): any;
128
- get type(): any;
129
- get typeArguments(): any;
130
- get typeExpression(): any;
131
- get typeName(): any;
132
- get typeParameter(): any;
133
- get typeParameters(): any;
134
- get typeReferenceDirectives(): any;
135
- get types(): any;
136
- get value(): any;
137
- get variableDeclaration(): any;
138
- get whenFalse(): any;
139
- get whenTrue(): any;
140
- forEachChild<T>(visitor: (node: Node) => T, visitArray?: (nodes: NodeArray<Node>) => T): T | undefined;
141
- getSourceFile(): SourceFile;
142
- }
4
+ import type { ArrayBindingPattern, ArrayLiteralExpression, ArrayTypeNode, ArrowFunction, AsExpression, AssertsKeyword, AsteriskToken, AwaitExpression, AwaitKeyword, BigIntLiteral, BinaryExpression, BinaryOperatorToken, BindingElement, BindingName, Block, BreakStatement, CallExpression, CallSignatureDeclaration, CaseBlock, CaseClause, CaseOrDefaultClause, CatchClause, ClassDeclaration, ClassElement, ClassExpression, ClassStaticBlockDeclaration, ColonToken, ComputedPropertyName, ConciseBody, ConditionalExpression, ConditionalTypeNode, ConstructorDeclaration, ConstructorTypeNode, ConstructSignatureDeclaration, ContinueStatement, DebuggerStatement, Decorator, DefaultClause, DeleteExpression, DoStatement, DotDotDotToken, ElementAccessExpression, EmptyStatement, EndOfFile, EntityName, EnumDeclaration, EnumMember, EqualsGreaterThanToken, EqualsToken, ExclamationToken, ExportAssignment, ExportDeclaration, ExportSpecifier, Expression, ExpressionStatement, ExpressionWithTypeArguments, ExternalModuleReference, ForInitializer, ForInStatement, ForOfStatement, ForStatement, FunctionBody, FunctionDeclaration, FunctionExpression, FunctionTypeNode, GetAccessorDeclaration, HeritageClause, HeritageClauseElement, Identifier, IfStatement, ImportAttribute, ImportAttributeName, ImportAttributes, ImportClause, ImportDeclaration, ImportEqualsDeclaration, ImportPhaseModifierSyntaxKind, ImportSpecifier, ImportTypeNode, IndexedAccessTypeNode, IndexSignatureDeclaration, InferTypeNode, InterfaceDeclaration, IntersectionTypeNode, JSDoc, JSDocAllType, JSDocAugmentsTag, JSDocCallbackTag, JSDocComment, JSDocDeprecatedTag, JSDocFullName, JSDocImplementsTag, JSDocImportTag, JSDocLink, JSDocLinkCode, JSDocLinkPlain, JSDocNameReference, JSDocNonNullableType, JSDocNullableType, JSDocOptionalType, JSDocOverloadTag, JSDocOverrideTag, JSDocParameterTag, JSDocPrivateTag, JSDocPropertyTag, JSDocProtectedTag, JSDocPublicTag, JSDocReadonlyTag, JSDocReturnTag, JSDocSatisfiesTag, JSDocSeeTag, JSDocSignature, JSDocTag, JSDocTemplateTag, JSDocText, JSDocThisTag, JSDocThrowsTag, JSDocTypedefTag, JSDocTypeExpression, JSDocTypeLiteral, JSDocTypeTag, JSDocUnknownTag, JSDocVariadicType, JsxAttribute, JsxAttributeLike, JsxAttributeName, JsxAttributes, JsxAttributeValue, JsxChild, JsxClosingElement, JsxClosingFragment, JsxElement, JsxExpression, JsxFragment, JsxNamespacedName, JsxOpeningElement, JsxOpeningFragment, JsxSelfClosingElement, JsxSpreadAttribute, JsxTagNameExpression, JsxText, KeywordExpression, KeywordExpressionSyntaxKind, KeywordTypeNode, KeywordTypeSyntaxKind, LabeledStatement, LeftHandSideExpression, LiteralTypeNode, MappedTypeNode, MemberName, MetaProperty, MethodDeclaration, MethodSignatureDeclaration, MinusToken, MissingDeclaration, ModifierLike, ModuleBlock, ModuleBody, ModuleDeclaration, ModuleExportName, ModuleName, ModuleReference, NamedExportBindings, NamedExports, NamedImportBindings, NamedImports, NamedTupleMember, NamespaceExport, NamespaceExportDeclaration, NamespaceImport, NewExpression, Node, NodeArray, NonNullExpression, NoSubstitutionTemplateLiteral, NotEmittedStatement, NotEmittedTypeElement, NumericLiteral, ObjectBindingPattern, ObjectLiteralElementLike, ObjectLiteralExpression, OmittedExpression, OptionalTypeNode, ParameterDeclaration, ParenthesizedExpression, ParenthesizedTypeNode, PartiallyEmittedExpression, PathKey, PlusToken, PostfixUnaryExpression, PrefixUnaryExpression, PrivateIdentifier, PropertyAccessExpression, PropertyAssignment, PropertyDeclaration, PropertyName, PropertySignatureDeclaration, QualifiedName, QuestionDotToken, QuestionToken, ReadonlyKeyword, RegularExpressionLiteral, RestTypeNode, ReturnStatement, RootedFilePath, SatisfiesExpression, SemicolonClassElement, SetAccessorDeclaration, ShorthandPropertyAssignment, SourceFile, SpreadAssignment, SpreadElement, Statement, StringLiteral, SwitchStatement, SyntaxList, SyntheticExpression, SyntheticReferenceExpression, TaggedTemplateExpression, TemplateExpression, TemplateHead, TemplateLiteral, TemplateLiteralTypeNode, TemplateLiteralTypeSpan, TemplateMiddle, TemplateMiddleOrTail, TemplateSpan, TemplateTail, ThisTypeNode, ThrowStatement, Token, TokenSyntaxKind, TryStatement, TupleTypeNode, TypeAliasDeclaration, TypeAssertion, TypeElement, TypeLiteralNode, TypeNode, TypeOfExpression, TypeOperatorNode, TypeParameterDeclaration, TypePredicateNode, TypePredicateParameterName, TypeQueryNode, TypeReferenceNode, UnionTypeNode, VariableDeclaration, VariableDeclarationList, VariableStatement, VoidExpression, WhileStatement, WithStatement, YieldExpression } from "./ast.ts";
143
5
  export declare function createNodeArray<T extends Node>(elements: readonly T[], pos?: number, end?: number): NodeArray<T>;
144
6
  export declare function cloneNode<T extends Node>(node: T): T;
145
7
  export declare function createToken<TKind extends TokenSyntaxKind>(kind: TKind): Token<TKind>;
146
8
  export declare function createIdentifier(text: string): Identifier;
147
9
  export declare function createPrivateIdentifier(text: string): PrivateIdentifier;
148
- export declare function createQualifiedName(left: EntityName, right: Identifier): QualifiedName;
10
+ export declare function createQualifiedName(left: EntityName, right: MemberName): QualifiedName;
149
11
  export declare function createComputedPropertyName(expression: Expression): ComputedPropertyName;
150
12
  export declare function createDecorator(expression: LeftHandSideExpression): Decorator;
151
13
  export declare function createEmptyStatement(): EmptyStatement;
@@ -175,7 +37,7 @@ export declare function createMissingDeclaration(modifiers?: readonly ModifierLi
175
37
  export declare function createFunctionDeclaration(modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type?: TypeNode, body?: FunctionBody): FunctionDeclaration;
176
38
  export declare function createClassDeclaration(modifiers: readonly ModifierLike[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration;
177
39
  export declare function createClassExpression(modifiers: readonly ModifierLike[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassExpression;
178
- export declare function createHeritageClause(token: SyntaxKind.ExtendsKeyword | SyntaxKind.ImplementsKeyword, types: readonly ExpressionWithTypeArguments[]): HeritageClause;
40
+ export declare function createHeritageClause(token: SyntaxKind.ExtendsKeyword | SyntaxKind.ImplementsKeyword, types: readonly HeritageClauseElement[]): HeritageClause;
179
41
  export declare function createInterfaceDeclaration(modifiers: readonly ModifierLike[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
180
42
  export declare function createTypeAliasDeclaration(modifiers: readonly ModifierLike[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
181
43
  export declare function createEnumMember(name: PropertyName, initializer?: Expression): EnumMember;
@@ -316,16 +178,16 @@ export declare function createJSDocOverloadTag(tagName: Identifier, typeExpressi
316
178
  export declare function createJSDocTypedefTag(tagName: Identifier, typeExpression?: Node, name?: JSDocFullName, comment?: readonly JSDocComment[]): JSDocTypedefTag;
317
179
  export declare function createJSDocSignature(typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type?: TypeNode): JSDocSignature;
318
180
  export declare function createJSDocNameReference(name: EntityName): JSDocNameReference;
319
- export declare function createModuleDeclaration(modifiers: readonly ModifierLike[] | undefined, keyword: SyntaxKind.ModuleKeyword | SyntaxKind.NamespaceKeyword, name: ModuleName, body?: ModuleBody): ModuleDeclaration;
181
+ export declare function createModuleDeclaration(modifiers: readonly ModifierLike[] | undefined, keyword: SyntaxKind.ModuleKeyword | SyntaxKind.NamespaceKeyword, name: ModuleName, attributes?: TypeLiteralNode, body?: ModuleBody): ModuleDeclaration;
320
182
  export declare function createImportEqualsDeclaration(modifiers: readonly ModifierLike[] | undefined, isTypeOnly: boolean | undefined, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
321
183
  export declare function createExportDeclaration(modifiers?: readonly ModifierLike[], isTypeOnly?: boolean, exportClause?: NamedExportBindings, moduleSpecifier?: Expression, attributes?: ImportAttributes): ExportDeclaration;
322
184
  export declare function createImportTypeNode(isTypeOf: boolean | undefined, argument: TypeNode, attributes?: ImportAttributes, qualifier?: EntityName, typeArguments?: readonly TypeNode[]): ImportTypeNode;
323
185
  export declare function createImportClause(phaseModifier?: ImportPhaseModifierSyntaxKind, name?: Identifier, namedBindings?: NamedImportBindings): ImportClause;
324
186
  export declare function createImportSpecifier(isTypeOnly: boolean | undefined, propertyName: ModuleExportName | undefined, name: Identifier): ImportSpecifier;
325
- export declare function createJSDocText(text: readonly string[]): JSDocText;
326
- export declare function createJSDocLink(name: EntityName | undefined, text: readonly string[]): JSDocLink;
327
- export declare function createJSDocLinkPlain(name: EntityName | undefined, text: readonly string[]): JSDocLinkPlain;
328
- export declare function createJSDocLinkCode(name: EntityName | undefined, text: readonly string[]): JSDocLinkCode;
187
+ export declare function createJSDocText(text: string): JSDocText;
188
+ export declare function createJSDocLink(name: EntityName | undefined, text: string): JSDocLink;
189
+ export declare function createJSDocLinkPlain(name: EntityName | undefined, text: string): JSDocLinkPlain;
190
+ export declare function createJSDocLinkCode(name: EntityName | undefined, text: string): JSDocLinkCode;
329
191
  export declare function createTypeParameterDeclaration(modifiers: readonly ModifierLike[] | undefined, name: Identifier, constraint?: TypeNode, expression?: Expression, defaultType?: TypeNode): TypeParameterDeclaration;
330
192
  export declare function createSyntheticReferenceExpression(expression: Expression, thisArg: Expression): SyntheticReferenceExpression;
331
193
  export declare function createJSDocTypeLiteral(jsdocPropertyTags?: readonly JSDocTag[], isArrayType?: boolean): JSDocTypeLiteral;
@@ -337,7 +199,7 @@ export declare function createObjectBindingPattern(elements: readonly BindingEle
337
199
  export declare function createArrayBindingPattern(elements: readonly BindingElement[]): ArrayBindingPattern;
338
200
  export declare function createJSDocParameterTag(tagName: Identifier, name: EntityName, isBracketed: boolean, typeExpression: TypeNode | undefined, isNameFirst: boolean, comment: readonly JSDocComment[] | undefined): JSDocParameterTag;
339
201
  export declare function createJSDocPropertyTag(tagName: Identifier, name: EntityName, isBracketed: boolean, typeExpression: TypeNode | undefined, isNameFirst: boolean, comment: readonly JSDocComment[] | undefined): JSDocPropertyTag;
340
- export declare function updateQualifiedName(node: QualifiedName, left: EntityName, right: Identifier): QualifiedName;
202
+ export declare function updateQualifiedName(node: QualifiedName, left: EntityName, right: MemberName): QualifiedName;
341
203
  export declare function updateComputedPropertyName(node: ComputedPropertyName, expression: Expression): ComputedPropertyName;
342
204
  export declare function updateDecorator(node: Decorator, expression: LeftHandSideExpression): Decorator;
343
205
  export declare function updateIfStatement(node: IfStatement, expression: Expression, thenStatement: Statement, elseStatement?: Statement): IfStatement;
@@ -365,7 +227,7 @@ export declare function updateMissingDeclaration(node: MissingDeclaration, modif
365
227
  export declare function updateFunctionDeclaration(node: FunctionDeclaration, modifiers: readonly ModifierLike[] | undefined, asteriskToken: AsteriskToken | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type?: TypeNode, body?: FunctionBody): FunctionDeclaration;
366
228
  export declare function updateClassDeclaration(node: ClassDeclaration, modifiers: readonly ModifierLike[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassDeclaration;
367
229
  export declare function updateClassExpression(node: ClassExpression, modifiers: readonly ModifierLike[] | undefined, name: Identifier | undefined, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly ClassElement[]): ClassExpression;
368
- export declare function updateHeritageClause(node: HeritageClause, types: readonly ExpressionWithTypeArguments[]): HeritageClause;
230
+ export declare function updateHeritageClause(node: HeritageClause, types: readonly HeritageClauseElement[]): HeritageClause;
369
231
  export declare function updateInterfaceDeclaration(node: InterfaceDeclaration, modifiers: readonly ModifierLike[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, heritageClauses: readonly HeritageClause[] | undefined, members: readonly TypeElement[]): InterfaceDeclaration;
370
232
  export declare function updateTypeAliasDeclaration(node: TypeAliasDeclaration, modifiers: readonly ModifierLike[] | undefined, name: Identifier, typeParameters: readonly TypeParameterDeclaration[] | undefined, type: TypeNode): TypeAliasDeclaration;
371
233
  export declare function updateEnumMember(node: EnumMember, name: PropertyName, initializer?: Expression): EnumMember;
@@ -487,7 +349,7 @@ export declare function updateJSDocOverloadTag(node: JSDocOverloadTag, tagName:
487
349
  export declare function updateJSDocTypedefTag(node: JSDocTypedefTag, tagName: Identifier, typeExpression?: Node, name?: JSDocFullName, comment?: readonly JSDocComment[]): JSDocTypedefTag;
488
350
  export declare function updateJSDocSignature(node: JSDocSignature, typeParameters: readonly TypeParameterDeclaration[] | undefined, parameters: readonly ParameterDeclaration[], type?: TypeNode): JSDocSignature;
489
351
  export declare function updateJSDocNameReference(node: JSDocNameReference, name: EntityName): JSDocNameReference;
490
- export declare function updateModuleDeclaration(node: ModuleDeclaration, modifiers: readonly ModifierLike[] | undefined, name: ModuleName, body?: ModuleBody): ModuleDeclaration;
352
+ export declare function updateModuleDeclaration(node: ModuleDeclaration, modifiers: readonly ModifierLike[] | undefined, name: ModuleName, attributes?: TypeLiteralNode, body?: ModuleBody): ModuleDeclaration;
491
353
  export declare function updateImportEqualsDeclaration(node: ImportEqualsDeclaration, modifiers: readonly ModifierLike[] | undefined, name: Identifier, moduleReference: ModuleReference): ImportEqualsDeclaration;
492
354
  export declare function updateExportDeclaration(node: ExportDeclaration, modifiers?: readonly ModifierLike[], exportClause?: NamedExportBindings, moduleSpecifier?: Expression, attributes?: ImportAttributes): ExportDeclaration;
493
355
  export declare function updateImportTypeNode(node: ImportTypeNode, argument: TypeNode, attributes?: ImportAttributes, qualifier?: EntityName, typeArguments?: readonly TypeNode[]): ImportTypeNode;
@@ -507,6 +369,6 @@ export declare function updateObjectBindingPattern(node: ObjectBindingPattern, e
507
369
  export declare function updateArrayBindingPattern(node: ArrayBindingPattern, elements: readonly BindingElement[]): ArrayBindingPattern;
508
370
  export declare function updateJSDocParameterTag(node: JSDocParameterTag, tagName: Identifier, name: EntityName, typeExpression: TypeNode | undefined, comment: readonly JSDocComment[] | undefined): JSDocParameterTag;
509
371
  export declare function updateJSDocPropertyTag(node: JSDocPropertyTag, tagName: Identifier, name: EntityName, typeExpression: TypeNode | undefined, comment: readonly JSDocComment[] | undefined): JSDocPropertyTag;
510
- export declare function createSourceFile(statements: readonly Statement[], endOfFileToken: EndOfFile, text: string, fileName: string, path: Path): SourceFile;
372
+ export declare function createSourceFile(statements: readonly Statement[], endOfFileToken: EndOfFile, text: string, fileName: RootedFilePath, path: PathKey): SourceFile;
511
373
  export declare function updateSourceFile(node: SourceFile, statements: readonly Statement[], endOfFileToken: EndOfFile): SourceFile;
512
374
  //# sourceMappingURL=factory.generated.d.ts.map