typescript 6.0.3 → 7.0.1-rc

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 (484) hide show
  1. package/{ThirdPartyNoticeText.txt → NOTICE.txt} +249 -6
  2. package/README.md +24 -50
  3. package/bin/tsc +1 -1
  4. package/dist/api/async/api.d.ts +300 -0
  5. package/dist/api/async/api.d.ts.map +1 -0
  6. package/dist/api/async/api.js +1072 -0
  7. package/dist/api/async/api.js.map +1 -0
  8. package/dist/api/async/client.d.ts +22 -0
  9. package/dist/api/async/client.d.ts.map +1 -0
  10. package/dist/api/async/client.js +140 -0
  11. package/dist/api/async/client.js.map +1 -0
  12. package/dist/api/async/types.d.ts +229 -0
  13. package/dist/api/async/types.d.ts.map +1 -0
  14. package/dist/api/async/types.js +2 -0
  15. package/dist/api/async/types.js.map +1 -0
  16. package/dist/api/fs.d.ts +23 -0
  17. package/dist/api/fs.d.ts.map +1 -0
  18. package/dist/api/fs.js +109 -0
  19. package/dist/api/fs.js.map +1 -0
  20. package/dist/api/node/encoder.d.ts +15 -0
  21. package/dist/api/node/encoder.d.ts.map +1 -0
  22. package/dist/api/node/encoder.generated.d.ts +5 -0
  23. package/dist/api/node/encoder.generated.d.ts.map +1 -0
  24. package/dist/api/node/encoder.generated.js +74 -0
  25. package/dist/api/node/encoder.generated.js.map +1 -0
  26. package/dist/api/node/encoder.js +304 -0
  27. package/dist/api/node/encoder.js.map +1 -0
  28. package/dist/api/node/msgpack.d.ts +32 -0
  29. package/dist/api/node/msgpack.d.ts.map +1 -0
  30. package/dist/api/node/msgpack.js +212 -0
  31. package/dist/api/node/msgpack.js.map +1 -0
  32. package/dist/api/node/node.d.ts +62 -0
  33. package/dist/api/node/node.d.ts.map +1 -0
  34. package/dist/api/node/node.generated.d.ts +171 -0
  35. package/dist/api/node/node.generated.d.ts.map +1 -0
  36. package/dist/api/node/node.generated.js +814 -0
  37. package/dist/api/node/node.generated.js.map +1 -0
  38. package/dist/api/node/node.infrastructure.d.ts +51 -0
  39. package/dist/api/node/node.infrastructure.d.ts.map +1 -0
  40. package/dist/api/node/node.infrastructure.js +122 -0
  41. package/dist/api/node/node.infrastructure.js.map +1 -0
  42. package/dist/api/node/node.js +214 -0
  43. package/dist/api/node/node.js.map +1 -0
  44. package/dist/api/node/protocol.d.ts +29 -0
  45. package/dist/api/node/protocol.d.ts.map +1 -0
  46. package/dist/api/node/protocol.generated.d.ts +4 -0
  47. package/dist/api/node/protocol.generated.d.ts.map +1 -0
  48. package/dist/api/node/protocol.generated.js +241 -0
  49. package/dist/api/node/protocol.generated.js.map +1 -0
  50. package/dist/api/node/protocol.js +30 -0
  51. package/dist/api/node/protocol.js.map +1 -0
  52. package/dist/api/objectRegistry.d.ts +40 -0
  53. package/dist/api/objectRegistry.d.ts.map +1 -0
  54. package/dist/api/objectRegistry.js +61 -0
  55. package/dist/api/objectRegistry.js.map +1 -0
  56. package/dist/api/options.d.ts +24 -0
  57. package/dist/api/options.d.ts.map +1 -0
  58. package/dist/api/options.js +11 -0
  59. package/dist/api/options.js.map +1 -0
  60. package/dist/api/path.d.ts +110 -0
  61. package/dist/api/path.d.ts.map +1 -0
  62. package/dist/api/path.js +508 -0
  63. package/dist/api/path.js.map +1 -0
  64. package/dist/api/proto.d.ts +186 -0
  65. package/dist/api/proto.d.ts.map +1 -0
  66. package/dist/api/proto.js +22 -0
  67. package/dist/api/proto.js.map +1 -0
  68. package/dist/api/sourceFileCache.d.ts +79 -0
  69. package/dist/api/sourceFileCache.d.ts.map +1 -0
  70. package/dist/api/sourceFileCache.js +169 -0
  71. package/dist/api/sourceFileCache.js.map +1 -0
  72. package/dist/api/sync/api.d.ts +300 -0
  73. package/dist/api/sync/api.d.ts.map +1 -0
  74. package/dist/api/sync/api.js +1080 -0
  75. package/dist/api/sync/api.js.map +1 -0
  76. package/dist/api/sync/client.d.ts +13 -0
  77. package/dist/api/sync/client.d.ts.map +1 -0
  78. package/dist/api/sync/client.js +72 -0
  79. package/dist/api/sync/client.js.map +1 -0
  80. package/dist/api/sync/types.d.ts +229 -0
  81. package/dist/api/sync/types.d.ts.map +1 -0
  82. package/dist/api/sync/types.js +2 -0
  83. package/dist/api/sync/types.js.map +1 -0
  84. package/dist/api/syncChannel.d.ts +111 -0
  85. package/dist/api/syncChannel.d.ts.map +1 -0
  86. package/dist/api/syncChannel.js +488 -0
  87. package/dist/api/syncChannel.js.map +1 -0
  88. package/dist/ast/ast.d.ts +66 -0
  89. package/dist/ast/ast.d.ts.map +1 -0
  90. package/dist/ast/ast.generated.d.ts +1161 -0
  91. package/dist/ast/ast.generated.d.ts.map +1 -0
  92. package/dist/ast/ast.generated.js +4 -0
  93. package/dist/ast/ast.generated.js.map +1 -0
  94. package/dist/ast/ast.js +7 -0
  95. package/dist/ast/ast.js.map +1 -0
  96. package/dist/ast/astnav.d.ts +19 -0
  97. package/dist/ast/astnav.d.ts.map +1 -0
  98. package/dist/ast/astnav.js +596 -0
  99. package/dist/ast/astnav.js.map +1 -0
  100. package/dist/ast/clone.d.ts +16 -0
  101. package/dist/ast/clone.d.ts.map +1 -0
  102. package/dist/ast/clone.js +104 -0
  103. package/dist/ast/clone.js.map +1 -0
  104. package/dist/ast/factory.generated.d.ts +512 -0
  105. package/dist/ast/factory.generated.d.ts.map +1 -0
  106. package/dist/ast/factory.generated.js +3023 -0
  107. package/dist/ast/factory.generated.js.map +1 -0
  108. package/dist/ast/index.d.ts +18 -0
  109. package/dist/ast/index.d.ts.map +1 -0
  110. package/dist/ast/index.js +18 -0
  111. package/dist/ast/index.js.map +1 -0
  112. package/dist/ast/is.d.ts +34 -0
  113. package/dist/ast/is.d.ts.map +1 -0
  114. package/dist/ast/is.generated.d.ts +329 -0
  115. package/dist/ast/is.generated.d.ts.map +1 -0
  116. package/dist/ast/is.generated.js +1104 -0
  117. package/dist/ast/is.generated.js.map +1 -0
  118. package/dist/ast/is.js +226 -0
  119. package/dist/ast/is.js.map +1 -0
  120. package/dist/ast/scanner.d.ts +97 -0
  121. package/dist/ast/scanner.d.ts.map +1 -0
  122. package/dist/ast/scanner.js +2230 -0
  123. package/dist/ast/scanner.js.map +1 -0
  124. package/dist/ast/utils.d.ts +5 -0
  125. package/dist/ast/utils.d.ts.map +1 -0
  126. package/dist/ast/utils.js +27 -0
  127. package/dist/ast/utils.js.map +1 -0
  128. package/dist/ast/visitor.d.ts +14 -0
  129. package/dist/ast/visitor.d.ts.map +1 -0
  130. package/dist/ast/visitor.generated.d.ts +50 -0
  131. package/dist/ast/visitor.generated.d.ts.map +1 -0
  132. package/dist/ast/visitor.generated.js +978 -0
  133. package/dist/ast/visitor.generated.js.map +1 -0
  134. package/dist/ast/visitor.js +47 -0
  135. package/dist/ast/visitor.js.map +1 -0
  136. package/dist/enums/characterCodes.d.ts +2 -0
  137. package/dist/enums/characterCodes.d.ts.map +1 -0
  138. package/dist/enums/characterCodes.enum.d.ts +129 -0
  139. package/dist/enums/characterCodes.enum.d.ts.map +1 -0
  140. package/dist/enums/characterCodes.enum.js +132 -0
  141. package/dist/enums/characterCodes.enum.js.map +1 -0
  142. package/dist/enums/characterCodes.js +130 -0
  143. package/dist/enums/characterCodes.js.map +1 -0
  144. package/dist/enums/commentDirectiveType.d.ts +2 -0
  145. package/dist/enums/commentDirectiveType.d.ts.map +1 -0
  146. package/dist/enums/commentDirectiveType.enum.d.ts +5 -0
  147. package/dist/enums/commentDirectiveType.enum.d.ts.map +1 -0
  148. package/dist/enums/commentDirectiveType.enum.js +6 -0
  149. package/dist/enums/commentDirectiveType.enum.js.map +1 -0
  150. package/dist/enums/commentDirectiveType.js +6 -0
  151. package/dist/enums/commentDirectiveType.js.map +1 -0
  152. package/dist/enums/completionItemKind.d.ts +2 -0
  153. package/dist/enums/completionItemKind.d.ts.map +1 -0
  154. package/dist/enums/completionItemKind.enum.d.ts +28 -0
  155. package/dist/enums/completionItemKind.enum.d.ts.map +1 -0
  156. package/dist/enums/completionItemKind.enum.js +30 -0
  157. package/dist/enums/completionItemKind.enum.js.map +1 -0
  158. package/dist/enums/completionItemKind.js +30 -0
  159. package/dist/enums/completionItemKind.js.map +1 -0
  160. package/dist/enums/diagnosticCategory.d.ts +2 -0
  161. package/dist/enums/diagnosticCategory.d.ts.map +1 -0
  162. package/dist/enums/diagnosticCategory.enum.d.ts +7 -0
  163. package/dist/enums/diagnosticCategory.enum.d.ts.map +1 -0
  164. package/dist/enums/diagnosticCategory.enum.js +9 -0
  165. package/dist/enums/diagnosticCategory.enum.js.map +1 -0
  166. package/dist/enums/diagnosticCategory.js +9 -0
  167. package/dist/enums/diagnosticCategory.js.map +1 -0
  168. package/dist/enums/elementFlags.d.ts +2 -0
  169. package/dist/enums/elementFlags.d.ts.map +1 -0
  170. package/dist/enums/elementFlags.enum.d.ts +12 -0
  171. package/dist/enums/elementFlags.enum.d.ts.map +1 -0
  172. package/dist/enums/elementFlags.enum.js +14 -0
  173. package/dist/enums/elementFlags.enum.js.map +1 -0
  174. package/dist/enums/elementFlags.js +14 -0
  175. package/dist/enums/elementFlags.js.map +1 -0
  176. package/dist/enums/languageVariant.d.ts +2 -0
  177. package/dist/enums/languageVariant.d.ts.map +1 -0
  178. package/dist/enums/languageVariant.enum.d.ts +5 -0
  179. package/dist/enums/languageVariant.enum.d.ts.map +1 -0
  180. package/dist/enums/languageVariant.enum.js +6 -0
  181. package/dist/enums/languageVariant.enum.js.map +1 -0
  182. package/dist/enums/languageVariant.js +6 -0
  183. package/dist/enums/languageVariant.js.map +1 -0
  184. package/dist/enums/modifierFlags.d.ts +2 -0
  185. package/dist/enums/modifierFlags.d.ts.map +1 -0
  186. package/dist/enums/modifierFlags.enum.d.ts +42 -0
  187. package/dist/enums/modifierFlags.enum.d.ts.map +1 -0
  188. package/dist/enums/modifierFlags.enum.js +44 -0
  189. package/dist/enums/modifierFlags.enum.js.map +1 -0
  190. package/dist/enums/modifierFlags.js +44 -0
  191. package/dist/enums/modifierFlags.js.map +1 -0
  192. package/dist/enums/nodeBuilderFlags.d.ts +2 -0
  193. package/dist/enums/nodeBuilderFlags.d.ts.map +1 -0
  194. package/dist/enums/nodeBuilderFlags.enum.d.ts +36 -0
  195. package/dist/enums/nodeBuilderFlags.enum.d.ts.map +1 -0
  196. package/dist/enums/nodeBuilderFlags.enum.js +38 -0
  197. package/dist/enums/nodeBuilderFlags.enum.js.map +1 -0
  198. package/dist/enums/nodeBuilderFlags.js +38 -0
  199. package/dist/enums/nodeBuilderFlags.js.map +1 -0
  200. package/dist/enums/nodeFlags.d.ts +2 -0
  201. package/dist/enums/nodeFlags.d.ts.map +1 -0
  202. package/dist/enums/nodeFlags.enum.d.ts +44 -0
  203. package/dist/enums/nodeFlags.enum.d.ts.map +1 -0
  204. package/dist/enums/nodeFlags.enum.js +46 -0
  205. package/dist/enums/nodeFlags.enum.js.map +1 -0
  206. package/dist/enums/nodeFlags.js +46 -0
  207. package/dist/enums/nodeFlags.js.map +1 -0
  208. package/dist/enums/objectFlags.d.ts +2 -0
  209. package/dist/enums/objectFlags.d.ts.map +1 -0
  210. package/dist/enums/objectFlags.enum.d.ts +50 -0
  211. package/dist/enums/objectFlags.enum.d.ts.map +1 -0
  212. package/dist/enums/objectFlags.enum.js +52 -0
  213. package/dist/enums/objectFlags.enum.js.map +1 -0
  214. package/dist/enums/objectFlags.js +52 -0
  215. package/dist/enums/objectFlags.js.map +1 -0
  216. package/dist/enums/outerExpressionKinds.d.ts +2 -0
  217. package/dist/enums/outerExpressionKinds.d.ts.map +1 -0
  218. package/dist/enums/outerExpressionKinds.enum.d.ts +12 -0
  219. package/dist/enums/outerExpressionKinds.enum.d.ts.map +1 -0
  220. package/dist/enums/outerExpressionKinds.enum.js +14 -0
  221. package/dist/enums/outerExpressionKinds.enum.js.map +1 -0
  222. package/dist/enums/outerExpressionKinds.js +14 -0
  223. package/dist/enums/outerExpressionKinds.js.map +1 -0
  224. package/dist/enums/regularExpressionFlags.d.ts +2 -0
  225. package/dist/enums/regularExpressionFlags.d.ts.map +1 -0
  226. package/dist/enums/regularExpressionFlags.enum.d.ts +13 -0
  227. package/dist/enums/regularExpressionFlags.enum.d.ts.map +1 -0
  228. package/dist/enums/regularExpressionFlags.enum.js +14 -0
  229. package/dist/enums/regularExpressionFlags.enum.js.map +1 -0
  230. package/dist/enums/regularExpressionFlags.js +14 -0
  231. package/dist/enums/regularExpressionFlags.js.map +1 -0
  232. package/dist/enums/scriptKind.d.ts +2 -0
  233. package/dist/enums/scriptKind.d.ts.map +1 -0
  234. package/dist/enums/scriptKind.enum.d.ts +11 -0
  235. package/dist/enums/scriptKind.enum.d.ts.map +1 -0
  236. package/dist/enums/scriptKind.enum.js +12 -0
  237. package/dist/enums/scriptKind.enum.js.map +1 -0
  238. package/dist/enums/scriptKind.js +12 -0
  239. package/dist/enums/scriptKind.js.map +1 -0
  240. package/dist/enums/scriptTarget.d.ts +2 -0
  241. package/dist/enums/scriptTarget.d.ts.map +1 -0
  242. package/dist/enums/scriptTarget.enum.d.ts +17 -0
  243. package/dist/enums/scriptTarget.enum.d.ts.map +1 -0
  244. package/dist/enums/scriptTarget.enum.js +18 -0
  245. package/dist/enums/scriptTarget.enum.js.map +1 -0
  246. package/dist/enums/scriptTarget.js +18 -0
  247. package/dist/enums/scriptTarget.js.map +1 -0
  248. package/dist/enums/signatureFlags.d.ts +2 -0
  249. package/dist/enums/signatureFlags.d.ts.map +1 -0
  250. package/dist/enums/signatureFlags.enum.d.ts +15 -0
  251. package/dist/enums/signatureFlags.enum.d.ts.map +1 -0
  252. package/dist/enums/signatureFlags.enum.js +17 -0
  253. package/dist/enums/signatureFlags.enum.js.map +1 -0
  254. package/dist/enums/signatureFlags.js +17 -0
  255. package/dist/enums/signatureFlags.js.map +1 -0
  256. package/dist/enums/signatureKind.d.ts +2 -0
  257. package/dist/enums/signatureKind.d.ts.map +1 -0
  258. package/dist/enums/signatureKind.enum.d.ts +5 -0
  259. package/dist/enums/signatureKind.enum.d.ts.map +1 -0
  260. package/dist/enums/signatureKind.enum.js +7 -0
  261. package/dist/enums/signatureKind.enum.js.map +1 -0
  262. package/dist/enums/signatureKind.js +7 -0
  263. package/dist/enums/signatureKind.js.map +1 -0
  264. package/dist/enums/symbolFlags.d.ts +2 -0
  265. package/dist/enums/symbolFlags.d.ts.map +1 -0
  266. package/dist/enums/symbolFlags.enum.d.ts +71 -0
  267. package/dist/enums/symbolFlags.enum.d.ts.map +1 -0
  268. package/dist/enums/symbolFlags.enum.js +73 -0
  269. package/dist/enums/symbolFlags.enum.js.map +1 -0
  270. package/dist/enums/symbolFlags.js +73 -0
  271. package/dist/enums/symbolFlags.js.map +1 -0
  272. package/dist/enums/syntaxKind.d.ts +2 -0
  273. package/dist/enums/syntaxKind.d.ts.map +1 -0
  274. package/dist/enums/syntaxKind.enum.d.ts +389 -0
  275. package/dist/enums/syntaxKind.enum.d.ts.map +1 -0
  276. package/dist/enums/syntaxKind.enum.js +391 -0
  277. package/dist/enums/syntaxKind.enum.js.map +1 -0
  278. package/dist/enums/syntaxKind.js +391 -0
  279. package/dist/enums/syntaxKind.js.map +1 -0
  280. package/dist/enums/tokenFlags.d.ts +2 -0
  281. package/dist/enums/tokenFlags.d.ts.map +1 -0
  282. package/dist/enums/tokenFlags.enum.d.ts +30 -0
  283. package/dist/enums/tokenFlags.enum.d.ts.map +1 -0
  284. package/dist/enums/tokenFlags.enum.js +32 -0
  285. package/dist/enums/tokenFlags.enum.js.map +1 -0
  286. package/dist/enums/tokenFlags.js +32 -0
  287. package/dist/enums/tokenFlags.js.map +1 -0
  288. package/dist/enums/typeFlags.d.ts +2 -0
  289. package/dist/enums/typeFlags.d.ts.map +1 -0
  290. package/dist/enums/typeFlags.enum.d.ts +76 -0
  291. package/dist/enums/typeFlags.enum.d.ts.map +1 -0
  292. package/dist/enums/typeFlags.enum.js +78 -0
  293. package/dist/enums/typeFlags.enum.js.map +1 -0
  294. package/dist/enums/typeFlags.js +78 -0
  295. package/dist/enums/typeFlags.js.map +1 -0
  296. package/dist/enums/typePredicateKind.d.ts +2 -0
  297. package/dist/enums/typePredicateKind.d.ts.map +1 -0
  298. package/dist/enums/typePredicateKind.enum.d.ts +7 -0
  299. package/dist/enums/typePredicateKind.enum.d.ts.map +1 -0
  300. package/dist/enums/typePredicateKind.enum.js +9 -0
  301. package/dist/enums/typePredicateKind.enum.js.map +1 -0
  302. package/dist/enums/typePredicateKind.js +9 -0
  303. package/dist/enums/typePredicateKind.js.map +1 -0
  304. package/lib/getExePath.d.ts +2 -0
  305. package/lib/getExePath.js +67 -0
  306. package/lib/tsc.js +28 -8
  307. package/package.json +61 -93
  308. package/vendor/vscode-jsonrpc/License.txt +11 -0
  309. package/vendor/vscode-jsonrpc/README.md +54 -0
  310. package/vendor/vscode-jsonrpc/lib/browser/main.d.ts +17 -0
  311. package/vendor/vscode-jsonrpc/lib/browser/main.js +83 -0
  312. package/vendor/vscode-jsonrpc/lib/browser/ril.d.ts +22 -0
  313. package/vendor/vscode-jsonrpc/lib/browser/ril.js +210 -0
  314. package/vendor/vscode-jsonrpc/lib/common/api.d.ts +14 -0
  315. package/vendor/vscode-jsonrpc/lib/common/api.js +87 -0
  316. package/vendor/vscode-jsonrpc/lib/common/cancellation.d.ts +32 -0
  317. package/vendor/vscode-jsonrpc/lib/common/cancellation.js +132 -0
  318. package/vendor/vscode-jsonrpc/lib/common/connection.d.ts +367 -0
  319. package/vendor/vscode-jsonrpc/lib/common/connection.js +1271 -0
  320. package/vendor/vscode-jsonrpc/lib/common/disposable.d.ts +9 -0
  321. package/vendor/vscode-jsonrpc/lib/common/disposable.js +16 -0
  322. package/vendor/vscode-jsonrpc/lib/common/encoding.d.ts +52 -0
  323. package/vendor/vscode-jsonrpc/lib/common/encoding.js +70 -0
  324. package/vendor/vscode-jsonrpc/lib/common/events.d.ts +39 -0
  325. package/vendor/vscode-jsonrpc/lib/common/events.js +135 -0
  326. package/vendor/vscode-jsonrpc/lib/common/is.d.ts +7 -0
  327. package/vendor/vscode-jsonrpc/lib/common/is.js +34 -0
  328. package/vendor/vscode-jsonrpc/lib/common/linkedMap.d.ts +55 -0
  329. package/vendor/vscode-jsonrpc/lib/common/linkedMap.js +412 -0
  330. package/vendor/vscode-jsonrpc/lib/common/messageBuffer.d.ts +18 -0
  331. package/vendor/vscode-jsonrpc/lib/common/messageBuffer.js +155 -0
  332. package/vendor/vscode-jsonrpc/lib/common/messageReader.d.ts +77 -0
  333. package/vendor/vscode-jsonrpc/lib/common/messageReader.js +246 -0
  334. package/vendor/vscode-jsonrpc/lib/common/messageWriter.d.ts +60 -0
  335. package/vendor/vscode-jsonrpc/lib/common/messageWriter.js +157 -0
  336. package/vendor/vscode-jsonrpc/lib/common/messages.d.ts +369 -0
  337. package/vendor/vscode-jsonrpc/lib/common/messages.js +436 -0
  338. package/vendor/vscode-jsonrpc/lib/common/ral.d.ts +74 -0
  339. package/vendor/vscode-jsonrpc/lib/common/ral.js +23 -0
  340. package/vendor/vscode-jsonrpc/lib/common/semaphore.d.ts +10 -0
  341. package/vendor/vscode-jsonrpc/lib/common/semaphore.js +74 -0
  342. package/vendor/vscode-jsonrpc/lib/common/sharedArrayCancellation.d.ts +15 -0
  343. package/vendor/vscode-jsonrpc/lib/common/sharedArrayCancellation.js +77 -0
  344. package/vendor/vscode-jsonrpc/lib/node/main.d.ts +58 -0
  345. package/vendor/vscode-jsonrpc/lib/node/main.js +289 -0
  346. package/vendor/vscode-jsonrpc/lib/node/ril.d.ts +12 -0
  347. package/vendor/vscode-jsonrpc/lib/node/ril.js +163 -0
  348. package/vendor/vscode-jsonrpc/package.json +54 -0
  349. package/vendor/vscode-jsonrpc/typings/thenable.d.ts +5 -0
  350. package/SECURITY.md +0 -39
  351. package/bin/tsserver +0 -2
  352. package/lib/_tsc.js +0 -134465
  353. package/lib/_tsserver.js +0 -659
  354. package/lib/_typingsInstaller.js +0 -222
  355. package/lib/cs/diagnosticMessages.generated.json +0 -2129
  356. package/lib/de/diagnosticMessages.generated.json +0 -2125
  357. package/lib/es/diagnosticMessages.generated.json +0 -2129
  358. package/lib/fr/diagnosticMessages.generated.json +0 -2129
  359. package/lib/it/diagnosticMessages.generated.json +0 -2125
  360. package/lib/ja/diagnosticMessages.generated.json +0 -2129
  361. package/lib/ko/diagnosticMessages.generated.json +0 -2129
  362. package/lib/lib.d.ts +0 -20
  363. package/lib/lib.decorators.d.ts +0 -382
  364. package/lib/lib.decorators.legacy.d.ts +0 -20
  365. package/lib/lib.dom.asynciterable.d.ts +0 -18
  366. package/lib/lib.dom.d.ts +0 -45125
  367. package/lib/lib.dom.iterable.d.ts +0 -18
  368. package/lib/lib.es2015.collection.d.ts +0 -150
  369. package/lib/lib.es2015.core.d.ts +0 -595
  370. package/lib/lib.es2015.d.ts +0 -26
  371. package/lib/lib.es2015.generator.d.ts +0 -75
  372. package/lib/lib.es2015.iterable.d.ts +0 -603
  373. package/lib/lib.es2015.promise.d.ts +0 -79
  374. package/lib/lib.es2015.proxy.d.ts +0 -126
  375. package/lib/lib.es2015.reflect.d.ts +0 -142
  376. package/lib/lib.es2015.symbol.d.ts +0 -44
  377. package/lib/lib.es2015.symbol.wellknown.d.ts +0 -324
  378. package/lib/lib.es2016.array.include.d.ts +0 -114
  379. package/lib/lib.es2016.d.ts +0 -19
  380. package/lib/lib.es2016.full.d.ts +0 -21
  381. package/lib/lib.es2016.intl.d.ts +0 -29
  382. package/lib/lib.es2017.arraybuffer.d.ts +0 -19
  383. package/lib/lib.es2017.d.ts +0 -24
  384. package/lib/lib.es2017.date.d.ts +0 -29
  385. package/lib/lib.es2017.full.d.ts +0 -21
  386. package/lib/lib.es2017.intl.d.ts +0 -42
  387. package/lib/lib.es2017.object.d.ts +0 -47
  388. package/lib/lib.es2017.sharedmemory.d.ts +0 -133
  389. package/lib/lib.es2017.string.d.ts +0 -43
  390. package/lib/lib.es2017.typedarrays.d.ts +0 -51
  391. package/lib/lib.es2018.asyncgenerator.d.ts +0 -75
  392. package/lib/lib.es2018.asynciterable.d.ts +0 -51
  393. package/lib/lib.es2018.d.ts +0 -22
  394. package/lib/lib.es2018.full.d.ts +0 -22
  395. package/lib/lib.es2018.intl.d.ts +0 -81
  396. package/lib/lib.es2018.promise.d.ts +0 -28
  397. package/lib/lib.es2018.regexp.d.ts +0 -35
  398. package/lib/lib.es2019.array.d.ts +0 -77
  399. package/lib/lib.es2019.d.ts +0 -22
  400. package/lib/lib.es2019.full.d.ts +0 -22
  401. package/lib/lib.es2019.intl.d.ts +0 -21
  402. package/lib/lib.es2019.object.d.ts +0 -31
  403. package/lib/lib.es2019.string.d.ts +0 -35
  404. package/lib/lib.es2019.symbol.d.ts +0 -22
  405. package/lib/lib.es2020.bigint.d.ts +0 -763
  406. package/lib/lib.es2020.d.ts +0 -25
  407. package/lib/lib.es2020.date.d.ts +0 -40
  408. package/lib/lib.es2020.full.d.ts +0 -22
  409. package/lib/lib.es2020.intl.d.ts +0 -472
  410. package/lib/lib.es2020.number.d.ts +0 -26
  411. package/lib/lib.es2020.promise.d.ts +0 -45
  412. package/lib/lib.es2020.sharedmemory.d.ts +0 -97
  413. package/lib/lib.es2020.string.d.ts +0 -42
  414. package/lib/lib.es2020.symbol.wellknown.d.ts +0 -39
  415. package/lib/lib.es2021.d.ts +0 -21
  416. package/lib/lib.es2021.full.d.ts +0 -22
  417. package/lib/lib.es2021.intl.d.ts +0 -164
  418. package/lib/lib.es2021.promise.d.ts +0 -46
  419. package/lib/lib.es2021.string.d.ts +0 -31
  420. package/lib/lib.es2021.weakref.d.ts +0 -76
  421. package/lib/lib.es2022.array.d.ts +0 -119
  422. package/lib/lib.es2022.d.ts +0 -23
  423. package/lib/lib.es2022.error.d.ts +0 -73
  424. package/lib/lib.es2022.full.d.ts +0 -22
  425. package/lib/lib.es2022.intl.d.ts +0 -143
  426. package/lib/lib.es2022.object.d.ts +0 -24
  427. package/lib/lib.es2022.regexp.d.ts +0 -37
  428. package/lib/lib.es2022.string.d.ts +0 -23
  429. package/lib/lib.es2023.array.d.ts +0 -922
  430. package/lib/lib.es2023.collection.d.ts +0 -19
  431. package/lib/lib.es2023.d.ts +0 -20
  432. package/lib/lib.es2023.full.d.ts +0 -22
  433. package/lib/lib.es2023.intl.d.ts +0 -62
  434. package/lib/lib.es2024.arraybuffer.d.ts +0 -63
  435. package/lib/lib.es2024.collection.d.ts +0 -27
  436. package/lib/lib.es2024.d.ts +0 -24
  437. package/lib/lib.es2024.full.d.ts +0 -22
  438. package/lib/lib.es2024.object.d.ts +0 -27
  439. package/lib/lib.es2024.promise.d.ts +0 -33
  440. package/lib/lib.es2024.regexp.d.ts +0 -23
  441. package/lib/lib.es2024.sharedmemory.d.ts +0 -66
  442. package/lib/lib.es2024.string.d.ts +0 -27
  443. package/lib/lib.es2025.collection.d.ts +0 -94
  444. package/lib/lib.es2025.d.ts +0 -23
  445. package/lib/lib.es2025.float16.d.ts +0 -443
  446. package/lib/lib.es2025.full.d.ts +0 -22
  447. package/lib/lib.es2025.intl.d.ts +0 -200
  448. package/lib/lib.es2025.iterator.d.ts +0 -146
  449. package/lib/lib.es2025.promise.d.ts +0 -32
  450. package/lib/lib.es2025.regexp.d.ts +0 -30
  451. package/lib/lib.es5.d.ts +0 -4599
  452. package/lib/lib.es6.d.ts +0 -21
  453. package/lib/lib.esnext.array.d.ts +0 -33
  454. package/lib/lib.esnext.collection.d.ts +0 -47
  455. package/lib/lib.esnext.d.ts +0 -27
  456. package/lib/lib.esnext.date.d.ts +0 -21
  457. package/lib/lib.esnext.decorators.d.ts +0 -26
  458. package/lib/lib.esnext.disposable.d.ts +0 -191
  459. package/lib/lib.esnext.error.d.ts +0 -22
  460. package/lib/lib.esnext.full.d.ts +0 -22
  461. package/lib/lib.esnext.intl.d.ts +0 -107
  462. package/lib/lib.esnext.sharedmemory.d.ts +0 -23
  463. package/lib/lib.esnext.temporal.d.ts +0 -485
  464. package/lib/lib.esnext.typedarrays.d.ts +0 -90
  465. package/lib/lib.scripthost.d.ts +0 -320
  466. package/lib/lib.webworker.asynciterable.d.ts +0 -18
  467. package/lib/lib.webworker.d.ts +0 -15606
  468. package/lib/lib.webworker.importscripts.d.ts +0 -21
  469. package/lib/lib.webworker.iterable.d.ts +0 -18
  470. package/lib/pl/diagnosticMessages.generated.json +0 -2129
  471. package/lib/pt-br/diagnosticMessages.generated.json +0 -2129
  472. package/lib/ru/diagnosticMessages.generated.json +0 -2125
  473. package/lib/tr/diagnosticMessages.generated.json +0 -2129
  474. package/lib/tsserver.js +0 -8
  475. package/lib/tsserverlibrary.d.ts +0 -17
  476. package/lib/tsserverlibrary.js +0 -21
  477. package/lib/typesMap.json +0 -497
  478. package/lib/typescript.d.ts +0 -11448
  479. package/lib/typescript.js +0 -201039
  480. package/lib/typingsInstaller.js +0 -8
  481. package/lib/watchGuard.js +0 -53
  482. package/lib/zh-cn/diagnosticMessages.generated.json +0 -2129
  483. package/lib/zh-tw/diagnosticMessages.generated.json +0 -2125
  484. /package/{LICENSE.txt → LICENSE} +0 -0
@@ -0,0 +1,1080 @@
1
+ //
2
+ // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3
+ // !!! THIS FILE IS AUTO-GENERATED - DO NOT EDIT !!!
4
+ // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
5
+ //
6
+ // Source: src/api/async/api.ts
7
+ // Regenerate: npm run generate (from _packages/native-preview)
8
+ //
9
+ /// <reference path="../node/node.ts" preserve="true" />
10
+ import { CompletionItemKind } from "#enums/completionItemKind";
11
+ import { DiagnosticCategory } from "#enums/diagnosticCategory";
12
+ import { ElementFlags } from "#enums/elementFlags";
13
+ import { NodeBuilderFlags } from "#enums/nodeBuilderFlags";
14
+ import { ObjectFlags } from "#enums/objectFlags";
15
+ import { SignatureFlags } from "#enums/signatureFlags";
16
+ import { SignatureKind } from "#enums/signatureKind";
17
+ import { SymbolFlags } from "#enums/symbolFlags";
18
+ import { TypeFlags } from "#enums/typeFlags";
19
+ import { TypePredicateKind } from "#enums/typePredicateKind";
20
+ import { ModifierFlags, } from "../../ast/index.js";
21
+ import { encodeNode, uint8ArrayToBase64, } from "../node/encoder.js";
22
+ import { decodeNode, getNodeId, parseNodeHandle, readParseOptionsKey, readSourceFileHash, RemoteSourceFile, } from "../node/node.js";
23
+ import { ObjectRegistry, } from "../objectRegistry.js";
24
+ import { createGetCanonicalFileName, toPath, } from "../path.js";
25
+ import { resolveFileName } from "../proto.js";
26
+ import { SourceFileCache } from "../sourceFileCache.js";
27
+ import { Client, } from "./client.js";
28
+ export { CompletionItemKind, DiagnosticCategory, ElementFlags, ModifierFlags, NodeBuilderFlags, ObjectFlags, SignatureFlags, SignatureKind, SymbolFlags, TypeFlags, TypePredicateKind };
29
+ export { documentURIToFileName, fileNameToDocumentURI } from "../path.js";
30
+ export class API {
31
+ client;
32
+ sourceFileCache;
33
+ toPath;
34
+ initialized = false;
35
+ activeSnapshots = new Set();
36
+ latestSnapshot;
37
+ internal;
38
+ constructor(options) {
39
+ this.client = new Client(options);
40
+ this.sourceFileCache = new SourceFileCache();
41
+ this.internal = new InternalAPI(this.client, () => this.ensureInitialized());
42
+ }
43
+ /**
44
+ * Create an API instance from an existing LSP connection's API session.
45
+ * Use this when connecting to an API pipe provided by an LSP server via custom/initializeAPISession.
46
+ */
47
+ static fromLSPConnection(options) {
48
+ const api = new API(options);
49
+ api.ensureInitialized();
50
+ return api;
51
+ }
52
+ ensureInitialized() {
53
+ if (!this.initialized) {
54
+ const response = this.client.apiRequest("initialize", null);
55
+ const getCanonicalFileName = createGetCanonicalFileName(response.useCaseSensitiveFileNames);
56
+ const currentDirectory = response.currentDirectory;
57
+ this.toPath = (fileName) => toPath(fileName, currentDirectory, getCanonicalFileName);
58
+ this.initialized = true;
59
+ }
60
+ }
61
+ parseConfigFile(file) {
62
+ this.ensureInitialized();
63
+ return this.client.apiRequest("parseConfigFile", { file });
64
+ }
65
+ updateSnapshot(params) {
66
+ this.ensureInitialized();
67
+ const requestParams = params ?? {};
68
+ if (requestParams.openProject) {
69
+ requestParams.openProject = resolveFileName(requestParams.openProject);
70
+ }
71
+ const data = this.client.apiRequest("updateSnapshot", requestParams);
72
+ // Retain cached source files from previous snapshot for unchanged files
73
+ if (this.latestSnapshot) {
74
+ this.sourceFileCache.retainForSnapshot(data.snapshot, this.latestSnapshot.id, data.changes);
75
+ if (this.latestSnapshot.isDisposed()) {
76
+ this.sourceFileCache.releaseSnapshot(this.latestSnapshot.id);
77
+ }
78
+ }
79
+ const snapshot = new Snapshot(data, this.client, this.sourceFileCache, this.toPath, () => {
80
+ this.activeSnapshots.delete(snapshot);
81
+ if (snapshot !== this.latestSnapshot) {
82
+ this.sourceFileCache.releaseSnapshot(snapshot.id);
83
+ }
84
+ });
85
+ this.latestSnapshot = snapshot;
86
+ this.activeSnapshots.add(snapshot);
87
+ return snapshot;
88
+ }
89
+ close() {
90
+ // Dispose all active snapshots
91
+ for (const snapshot of [...this.activeSnapshots]) {
92
+ snapshot.dispose();
93
+ }
94
+ // Release the latest snapshot's cache refs if still held
95
+ if (this.latestSnapshot) {
96
+ this.sourceFileCache.releaseSnapshot(this.latestSnapshot.id);
97
+ this.latestSnapshot = undefined;
98
+ }
99
+ this.client.close();
100
+ this.sourceFileCache.clear();
101
+ }
102
+ clearSourceFileCache() {
103
+ this.sourceFileCache.clear();
104
+ }
105
+ }
106
+ export class InternalAPI {
107
+ client;
108
+ ensureInitialized;
109
+ /** @internal */
110
+ constructor(client, ensureInitialized) {
111
+ this.client = client;
112
+ this.ensureInitialized = ensureInitialized;
113
+ }
114
+ startCPUProfile(dir) {
115
+ this.ensureInitialized();
116
+ this.client.apiRequest("startCPUProfile", { dir });
117
+ }
118
+ stopCPUProfile() {
119
+ this.ensureInitialized();
120
+ const result = this.client.apiRequest("stopCPUProfile", null);
121
+ return result.file;
122
+ }
123
+ saveHeapProfile(dir) {
124
+ this.ensureInitialized();
125
+ const result = this.client.apiRequest("saveHeapProfile", { dir });
126
+ return result.file;
127
+ }
128
+ }
129
+ export class Snapshot {
130
+ id;
131
+ projectMap;
132
+ toPath;
133
+ client;
134
+ objectRegistry;
135
+ disposed = false;
136
+ onDispose;
137
+ constructor(data, client, sourceFileCache, toPath, onDispose) {
138
+ this.id = data.snapshot;
139
+ this.client = client;
140
+ this.toPath = toPath;
141
+ this.onDispose = onDispose;
142
+ this.objectRegistry = new SnapshotObjectRegistry({
143
+ createSymbol: symbolData => new Symbol(symbolData, this.objectRegistry),
144
+ createType: typeData => new TypeObject(typeData, this.objectRegistry),
145
+ createSignature: sigData => new Signature(sigData, this.objectRegistry),
146
+ }, client, this.id);
147
+ // Create projects
148
+ this.projectMap = new Map();
149
+ for (const projData of data.projects) {
150
+ const project = new Project(projData, this.id, client, this.objectRegistry, sourceFileCache, toPath);
151
+ this.projectMap.set(toPath(projData.configFileName), project);
152
+ }
153
+ }
154
+ getProjects() {
155
+ this.ensureNotDisposed();
156
+ return [...this.projectMap.values()];
157
+ }
158
+ getProject(configFileName) {
159
+ this.ensureNotDisposed();
160
+ return this.projectMap.get(this.toPath(configFileName));
161
+ }
162
+ getDefaultProjectForFile(file) {
163
+ this.ensureNotDisposed();
164
+ const data = this.client.apiRequest("getDefaultProjectForFile", {
165
+ snapshot: this.id,
166
+ file,
167
+ });
168
+ if (!data)
169
+ return undefined;
170
+ return this.projectMap.get(this.toPath(data.configFileName));
171
+ }
172
+ [globalThis.Symbol.dispose]() {
173
+ this.dispose();
174
+ }
175
+ dispose() {
176
+ if (this.disposed)
177
+ return;
178
+ this.disposed = true;
179
+ this.objectRegistry.clear();
180
+ this.onDispose();
181
+ this.client.apiRequest("release", { snapshot: this.id });
182
+ }
183
+ isDisposed() {
184
+ return this.disposed;
185
+ }
186
+ ensureNotDisposed() {
187
+ if (this.disposed) {
188
+ throw new Error("Snapshot is disposed");
189
+ }
190
+ }
191
+ }
192
+ class SnapshotObjectRegistry extends ObjectRegistry {
193
+ client;
194
+ snapshotId;
195
+ constructor(factories, client, snapshotId) {
196
+ super(factories);
197
+ this.client = client;
198
+ this.snapshotId = snapshotId;
199
+ }
200
+ fetchType(source, method, handle) {
201
+ if (!handle)
202
+ return undefined;
203
+ const cached = this.getType(handle);
204
+ if (cached)
205
+ return cached;
206
+ const data = this.client.apiRequest(method, {
207
+ snapshot: this.snapshotId,
208
+ objectId: source.id,
209
+ });
210
+ if (!data)
211
+ throw new Error(`${method} returned null type for ${source.constructor.name} ${source.id}`);
212
+ return this.getOrCreateType(data);
213
+ }
214
+ fetchSymbol(source, method, handle) {
215
+ if (!handle)
216
+ return undefined;
217
+ const cached = this.getSymbol(handle);
218
+ if (cached)
219
+ return cached;
220
+ const data = this.client.apiRequest(method, {
221
+ snapshot: this.snapshotId,
222
+ objectId: source.id,
223
+ });
224
+ if (!data)
225
+ throw new Error(`${method} returned null symbol for ${source.constructor.name} ${source.id}`);
226
+ return this.getOrCreateSymbol(data);
227
+ }
228
+ fetchSignature(source, method, handle) {
229
+ if (!handle)
230
+ return undefined;
231
+ const cached = this.getSignature(handle);
232
+ if (cached)
233
+ return cached;
234
+ const data = this.client.apiRequest(method, {
235
+ snapshot: this.snapshotId,
236
+ objectId: source.id,
237
+ });
238
+ if (!data)
239
+ throw new Error(`${method} returned null signature for ${source.constructor.name} ${source.id}`);
240
+ return this.getOrCreateSignature(data);
241
+ }
242
+ fetchTypes(source, method, handles) {
243
+ if (handles) {
244
+ const result = new Array(handles.length);
245
+ let allCached = true;
246
+ for (let i = 0; i < handles.length; i++) {
247
+ const cached = this.getType(handles[i]);
248
+ if (!cached) {
249
+ allCached = false;
250
+ break;
251
+ }
252
+ result[i] = cached;
253
+ }
254
+ if (allCached)
255
+ return result;
256
+ }
257
+ const typesData = this.client.apiRequest(method, {
258
+ snapshot: this.snapshotId,
259
+ objectId: source.id,
260
+ });
261
+ if (typesData == null)
262
+ return [];
263
+ else
264
+ return typesData.map(data => this.getOrCreateType(data));
265
+ }
266
+ fetchSymbols(source, method, handles) {
267
+ if (handles) {
268
+ const result = new Array(handles.length);
269
+ let allCached = true;
270
+ for (let i = 0; i < handles.length; i++) {
271
+ const cached = this.getSymbol(handles[i]);
272
+ if (!cached) {
273
+ allCached = false;
274
+ break;
275
+ }
276
+ result[i] = cached;
277
+ }
278
+ if (allCached)
279
+ return result;
280
+ }
281
+ const symbolData = this.client.apiRequest(method, {
282
+ snapshot: this.snapshotId,
283
+ objectId: source.id,
284
+ });
285
+ if (symbolData == null)
286
+ return [];
287
+ else
288
+ return symbolData.map(data => this.getOrCreateSymbol(data));
289
+ }
290
+ }
291
+ export class Project {
292
+ id;
293
+ configFileName;
294
+ compilerOptions;
295
+ rootFiles;
296
+ program;
297
+ checker;
298
+ emitter;
299
+ client;
300
+ constructor(data, snapshotId, client, objectRegistry, sourceFileCache, toPath) {
301
+ this.id = data.id;
302
+ this.configFileName = data.configFileName;
303
+ this.compilerOptions = data.compilerOptions;
304
+ this.rootFiles = data.rootFiles;
305
+ this.client = client;
306
+ this.program = new Program(snapshotId, this.id, client, sourceFileCache, toPath);
307
+ this.checker = new Checker(snapshotId, this.id, client, objectRegistry);
308
+ this.emitter = new Emitter(client);
309
+ }
310
+ }
311
+ export class Program {
312
+ snapshotId;
313
+ projectId;
314
+ client;
315
+ sourceFileCache;
316
+ toPath;
317
+ decoder = new TextDecoder();
318
+ constructor(snapshotId, projectId, client, sourceFileCache, toPath) {
319
+ this.snapshotId = snapshotId;
320
+ this.projectId = projectId;
321
+ this.client = client;
322
+ this.sourceFileCache = sourceFileCache;
323
+ this.toPath = toPath;
324
+ }
325
+ getSourceFile(file) {
326
+ const fileName = resolveFileName(file);
327
+ const path = this.toPath(fileName);
328
+ // Check if we already have a retained cache entry for this (snapshot, project) pair
329
+ const retained = this.sourceFileCache.getRetained(path, this.snapshotId, this.projectId);
330
+ if (retained) {
331
+ return retained;
332
+ }
333
+ // Fetch from server
334
+ const binaryData = this.client.apiRequestBinary("getSourceFile", {
335
+ snapshot: this.snapshotId,
336
+ project: this.projectId,
337
+ file,
338
+ });
339
+ if (!binaryData) {
340
+ return undefined;
341
+ }
342
+ const view = new DataView(binaryData.buffer, binaryData.byteOffset, binaryData.byteLength);
343
+ const contentHash = readSourceFileHash(view);
344
+ const parseOptionsKey = readParseOptionsKey(view);
345
+ // Create a new RemoteSourceFile and cache it (set returns existing if hash matches)
346
+ const sourceFile = new RemoteSourceFile(binaryData, this.decoder);
347
+ return this.sourceFileCache.set(path, sourceFile, parseOptionsKey, contentHash, this.snapshotId, this.projectId);
348
+ }
349
+ /**
350
+ * Get syntactic (parse) diagnostics for a specific file or all files.
351
+ * @param file - Optional file to get diagnostics for. If omitted, returns diagnostics for all files.
352
+ */
353
+ getSyntacticDiagnostics(file) {
354
+ const data = this.client.apiRequest("getSyntacticDiagnostics", {
355
+ snapshot: this.snapshotId,
356
+ project: this.projectId,
357
+ ...(file !== undefined ? { file } : {}),
358
+ });
359
+ return data ?? [];
360
+ }
361
+ /**
362
+ * Get semantic (type-check) diagnostics for a specific file or all files.
363
+ * @param file - Optional file to get diagnostics for. If omitted, returns diagnostics for all files.
364
+ */
365
+ getSemanticDiagnostics(file) {
366
+ const data = this.client.apiRequest("getSemanticDiagnostics", {
367
+ snapshot: this.snapshotId,
368
+ project: this.projectId,
369
+ ...(file !== undefined ? { file } : {}),
370
+ });
371
+ return data ?? [];
372
+ }
373
+ /**
374
+ * Get suggestion diagnostics for a specific file or all files.
375
+ * @param file - Optional file to get diagnostics for. If omitted, returns diagnostics for all files.
376
+ */
377
+ getSuggestionDiagnostics(file) {
378
+ const data = this.client.apiRequest("getSuggestionDiagnostics", {
379
+ snapshot: this.snapshotId,
380
+ project: this.projectId,
381
+ ...(file !== undefined ? { file } : {}),
382
+ });
383
+ return data ?? [];
384
+ }
385
+ /**
386
+ * Get declaration emit diagnostics for a specific file or all files.
387
+ * @param file - Optional file to get diagnostics for. If omitted, returns diagnostics for all files.
388
+ */
389
+ getDeclarationDiagnostics(file) {
390
+ const data = this.client.apiRequest("getDeclarationDiagnostics", {
391
+ snapshot: this.snapshotId,
392
+ project: this.projectId,
393
+ ...(file !== undefined ? { file } : {}),
394
+ });
395
+ return data ?? [];
396
+ }
397
+ /**
398
+ * Get config file parsing diagnostics for the project.
399
+ */
400
+ getConfigFileParsingDiagnostics() {
401
+ const data = this.client.apiRequest("getConfigFileParsingDiagnostics", {
402
+ snapshot: this.snapshotId,
403
+ project: this.projectId,
404
+ });
405
+ return data ?? [];
406
+ }
407
+ }
408
+ export class Checker {
409
+ snapshotId;
410
+ projectId;
411
+ client;
412
+ objectRegistry;
413
+ constructor(snapshotId, projectId, client, objectRegistry) {
414
+ this.snapshotId = snapshotId;
415
+ this.projectId = projectId;
416
+ this.client = client;
417
+ this.objectRegistry = objectRegistry;
418
+ }
419
+ getSymbolAtLocation(nodeOrNodes) {
420
+ if (Array.isArray(nodeOrNodes)) {
421
+ const data = this.client.apiRequest("getSymbolsAtLocations", {
422
+ snapshot: this.snapshotId,
423
+ project: this.projectId,
424
+ locations: nodeOrNodes.map(node => getNodeId(node)),
425
+ });
426
+ return data.map(d => d ? this.objectRegistry.getOrCreateSymbol(d) : undefined);
427
+ }
428
+ const data = this.client.apiRequest("getSymbolAtLocation", {
429
+ snapshot: this.snapshotId,
430
+ project: this.projectId,
431
+ location: getNodeId(nodeOrNodes),
432
+ });
433
+ return data ? this.objectRegistry.getOrCreateSymbol(data) : undefined;
434
+ }
435
+ getSymbolAtPosition(file, positionOrPositions) {
436
+ if (typeof positionOrPositions === "number") {
437
+ const data = this.client.apiRequest("getSymbolAtPosition", {
438
+ snapshot: this.snapshotId,
439
+ project: this.projectId,
440
+ file,
441
+ position: positionOrPositions,
442
+ });
443
+ return data ? this.objectRegistry.getOrCreateSymbol(data) : undefined;
444
+ }
445
+ const data = this.client.apiRequest("getSymbolsAtPositions", {
446
+ snapshot: this.snapshotId,
447
+ project: this.projectId,
448
+ file,
449
+ positions: positionOrPositions,
450
+ });
451
+ return data.map(d => d ? this.objectRegistry.getOrCreateSymbol(d) : undefined);
452
+ }
453
+ getTypeOfSymbol(symbolOrSymbols) {
454
+ if (Array.isArray(symbolOrSymbols)) {
455
+ const data = this.client.apiRequest("getTypesOfSymbols", {
456
+ snapshot: this.snapshotId,
457
+ project: this.projectId,
458
+ symbols: symbolOrSymbols.map(s => s.id),
459
+ });
460
+ return data.map(d => d ? this.objectRegistry.getOrCreateType(d) : undefined);
461
+ }
462
+ const data = this.client.apiRequest("getTypeOfSymbol", {
463
+ snapshot: this.snapshotId,
464
+ project: this.projectId,
465
+ symbol: symbolOrSymbols.id,
466
+ });
467
+ return data ? this.objectRegistry.getOrCreateType(data) : undefined;
468
+ }
469
+ getDeclaredTypeOfSymbol(symbol) {
470
+ const data = this.client.apiRequest("getDeclaredTypeOfSymbol", {
471
+ snapshot: this.snapshotId,
472
+ project: this.projectId,
473
+ symbol: symbol.id,
474
+ });
475
+ return data ? this.objectRegistry.getOrCreateType(data) : undefined;
476
+ }
477
+ getReferencesToSymbolInFile(file, symbol) {
478
+ const data = this.client.apiRequest("getReferencesToSymbolInFile", {
479
+ snapshot: this.snapshotId,
480
+ project: this.projectId,
481
+ file,
482
+ symbol: symbol.id,
483
+ });
484
+ return (data ?? []).map(h => new NodeHandle(h));
485
+ }
486
+ getReferencedSymbolsForNode(node, position) {
487
+ const data = this.client.apiRequest("getReferencedSymbolsForNode", {
488
+ snapshot: this.snapshotId,
489
+ project: this.projectId,
490
+ node: getNodeId(node),
491
+ position,
492
+ });
493
+ return (data ?? []).map(entry => ({
494
+ definition: new NodeHandle(entry.definition),
495
+ symbol: entry.symbol ? this.objectRegistry.getOrCreateSymbol(entry.symbol) : undefined,
496
+ references: (entry.references ?? []).map(h => new NodeHandle(h)),
497
+ }));
498
+ }
499
+ getSignatureUsage(signatureDecl) {
500
+ const data = this.client.apiRequest("getSignatureUsages", {
501
+ snapshot: this.snapshotId,
502
+ project: this.projectId,
503
+ signatureDecl: getNodeId(signatureDecl),
504
+ });
505
+ return (data ?? []).map(entry => ({
506
+ name: new NodeHandle(entry.name),
507
+ call: entry.call ? new NodeHandle(entry.call) : undefined,
508
+ }));
509
+ }
510
+ getCompletionsAtPosition(document, position, options) {
511
+ const data = this.client.apiRequest("getCompletionsAtPosition", {
512
+ snapshot: this.snapshotId,
513
+ project: this.projectId,
514
+ file: document,
515
+ position,
516
+ triggerCharacter: options?.triggerCharacter,
517
+ includeSymbol: options?.includeSymbol,
518
+ });
519
+ if (!data)
520
+ return undefined;
521
+ return {
522
+ isIncomplete: data.isIncomplete,
523
+ entries: data.entries.map(e => ({
524
+ ...e,
525
+ symbol: e.symbol ? this.objectRegistry.getOrCreateSymbol(e.symbol) : undefined,
526
+ })),
527
+ };
528
+ }
529
+ getTypeAtLocation(nodeOrNodes) {
530
+ if (Array.isArray(nodeOrNodes)) {
531
+ const data = this.client.apiRequest("getTypeAtLocations", {
532
+ snapshot: this.snapshotId,
533
+ project: this.projectId,
534
+ locations: nodeOrNodes.map(node => getNodeId(node)),
535
+ });
536
+ return data.map(d => d ? this.objectRegistry.getOrCreateType(d) : undefined);
537
+ }
538
+ const data = this.client.apiRequest("getTypeAtLocation", {
539
+ snapshot: this.snapshotId,
540
+ project: this.projectId,
541
+ location: getNodeId(nodeOrNodes),
542
+ });
543
+ return data ? this.objectRegistry.getOrCreateType(data) : undefined;
544
+ }
545
+ getSignaturesOfType(type, kind) {
546
+ const data = this.client.apiRequest("getSignaturesOfType", {
547
+ snapshot: this.snapshotId,
548
+ project: this.projectId,
549
+ type: type.id,
550
+ kind,
551
+ });
552
+ return data.map(d => this.objectRegistry.getOrCreateSignature(d));
553
+ }
554
+ getResolvedSignature(node) {
555
+ const data = this.client.apiRequest("getResolvedSignature", {
556
+ snapshot: this.snapshotId,
557
+ project: this.projectId,
558
+ location: getNodeId(node),
559
+ });
560
+ return data ? this.objectRegistry.getOrCreateSignature(data) : undefined;
561
+ }
562
+ getTypeAtPosition(file, positionOrPositions) {
563
+ if (typeof positionOrPositions === "number") {
564
+ const data = this.client.apiRequest("getTypeAtPosition", {
565
+ snapshot: this.snapshotId,
566
+ project: this.projectId,
567
+ file,
568
+ position: positionOrPositions,
569
+ });
570
+ return data ? this.objectRegistry.getOrCreateType(data) : undefined;
571
+ }
572
+ const data = this.client.apiRequest("getTypesAtPositions", {
573
+ snapshot: this.snapshotId,
574
+ project: this.projectId,
575
+ file,
576
+ positions: positionOrPositions,
577
+ });
578
+ return data.map(d => d ? this.objectRegistry.getOrCreateType(d) : undefined);
579
+ }
580
+ resolveName(name, meaning, location, excludeGlobals) {
581
+ // Distinguish Node (has `kind`) from DocumentPosition (has `document` and `position`)
582
+ const isNode = location && "kind" in location;
583
+ const data = this.client.apiRequest("resolveName", {
584
+ snapshot: this.snapshotId,
585
+ project: this.projectId,
586
+ name,
587
+ meaning,
588
+ location: isNode ? getNodeId(location) : undefined,
589
+ file: !isNode && location ? location.document : undefined,
590
+ position: !isNode && location ? location.position : undefined,
591
+ excludeGlobals,
592
+ });
593
+ return data ? this.objectRegistry.getOrCreateSymbol(data) : undefined;
594
+ }
595
+ getResolvedSymbol(node) {
596
+ const text = node.text;
597
+ if (!text)
598
+ return undefined;
599
+ return this.resolveName(text, SymbolFlags.Value | SymbolFlags.ExportValue, node);
600
+ }
601
+ getContextualType(node) {
602
+ const data = this.client.apiRequest("getContextualType", {
603
+ snapshot: this.snapshotId,
604
+ project: this.projectId,
605
+ location: getNodeId(node),
606
+ });
607
+ return data ? this.objectRegistry.getOrCreateType(data) : undefined;
608
+ }
609
+ getBaseTypeOfLiteralType(type) {
610
+ const data = this.client.apiRequest("getBaseTypeOfLiteralType", {
611
+ snapshot: this.snapshotId,
612
+ project: this.projectId,
613
+ type: type.id,
614
+ });
615
+ return data ? this.objectRegistry.getOrCreateType(data) : undefined;
616
+ }
617
+ getNonNullableType(type) {
618
+ const data = this.client.apiRequest("getNonNullableType", {
619
+ snapshot: this.snapshotId,
620
+ project: this.projectId,
621
+ type: type.id,
622
+ });
623
+ return data ? this.objectRegistry.getOrCreateType(data) : undefined;
624
+ }
625
+ getTypeFromTypeNode(node) {
626
+ const data = this.client.apiRequest("getTypeFromTypeNode", {
627
+ snapshot: this.snapshotId,
628
+ project: this.projectId,
629
+ location: getNodeId(node),
630
+ });
631
+ return data ? this.objectRegistry.getOrCreateType(data) : undefined;
632
+ }
633
+ getWidenedType(type) {
634
+ const data = this.client.apiRequest("getWidenedType", {
635
+ snapshot: this.snapshotId,
636
+ project: this.projectId,
637
+ type: type.id,
638
+ });
639
+ return data ? this.objectRegistry.getOrCreateType(data) : undefined;
640
+ }
641
+ getParameterType(signature, index) {
642
+ const data = this.client.apiRequest("getParameterType", {
643
+ snapshot: this.snapshotId,
644
+ project: this.projectId,
645
+ signature: signature.id,
646
+ index,
647
+ });
648
+ return data ? this.objectRegistry.getOrCreateType(data) : undefined;
649
+ }
650
+ isArrayLikeType(type) {
651
+ return this.client.apiRequest("isArrayLikeType", {
652
+ snapshot: this.snapshotId,
653
+ project: this.projectId,
654
+ type: type.id,
655
+ });
656
+ }
657
+ isTypeAssignableTo(source, target) {
658
+ return this.client.apiRequest("isTypeAssignableTo", {
659
+ snapshot: this.snapshotId,
660
+ project: this.projectId,
661
+ source: source.id,
662
+ target: target.id,
663
+ });
664
+ }
665
+ getShorthandAssignmentValueSymbol(node) {
666
+ const data = this.client.apiRequest("getShorthandAssignmentValueSymbol", {
667
+ snapshot: this.snapshotId,
668
+ project: this.projectId,
669
+ location: getNodeId(node),
670
+ });
671
+ return data ? this.objectRegistry.getOrCreateSymbol(data) : undefined;
672
+ }
673
+ getTypeOfSymbolAtLocation(symbol, location) {
674
+ const data = this.client.apiRequest("getTypeOfSymbolAtLocation", {
675
+ snapshot: this.snapshotId,
676
+ project: this.projectId,
677
+ symbol: symbol.id,
678
+ location: getNodeId(location),
679
+ });
680
+ return data ? this.objectRegistry.getOrCreateType(data) : undefined;
681
+ }
682
+ getIntrinsicType(method) {
683
+ const data = this.client.apiRequest(method, {
684
+ snapshot: this.snapshotId,
685
+ project: this.projectId,
686
+ });
687
+ return this.objectRegistry.getOrCreateType(data);
688
+ }
689
+ getAnyType() {
690
+ return this.getIntrinsicType("getAnyType");
691
+ }
692
+ getStringType() {
693
+ return this.getIntrinsicType("getStringType");
694
+ }
695
+ getNumberType() {
696
+ return this.getIntrinsicType("getNumberType");
697
+ }
698
+ getBooleanType() {
699
+ return this.getIntrinsicType("getBooleanType");
700
+ }
701
+ getVoidType() {
702
+ return this.getIntrinsicType("getVoidType");
703
+ }
704
+ getUndefinedType() {
705
+ return this.getIntrinsicType("getUndefinedType");
706
+ }
707
+ getNullType() {
708
+ return this.getIntrinsicType("getNullType");
709
+ }
710
+ getNeverType() {
711
+ return this.getIntrinsicType("getNeverType");
712
+ }
713
+ getUnknownType() {
714
+ return this.getIntrinsicType("getUnknownType");
715
+ }
716
+ getBigIntType() {
717
+ return this.getIntrinsicType("getBigIntType");
718
+ }
719
+ getESSymbolType() {
720
+ return this.getIntrinsicType("getESSymbolType");
721
+ }
722
+ typeToTypeNode(type, enclosingDeclaration, flags) {
723
+ const binaryData = this.client.apiRequestBinary("typeToTypeNode", {
724
+ snapshot: this.snapshotId,
725
+ project: this.projectId,
726
+ type: type.id,
727
+ location: enclosingDeclaration ? getNodeId(enclosingDeclaration) : undefined,
728
+ flags,
729
+ });
730
+ if (!binaryData)
731
+ return undefined;
732
+ return decodeNode(binaryData);
733
+ }
734
+ signatureToSignatureDeclaration(signature, kind, enclosingDeclaration, flags) {
735
+ const binaryData = this.client.apiRequestBinary("signatureToSignatureDeclaration", {
736
+ snapshot: this.snapshotId,
737
+ project: this.projectId,
738
+ signature: signature.id,
739
+ kind,
740
+ location: enclosingDeclaration ? getNodeId(enclosingDeclaration) : undefined,
741
+ flags,
742
+ });
743
+ if (!binaryData)
744
+ return undefined;
745
+ return decodeNode(binaryData);
746
+ }
747
+ typeToString(type, enclosingDeclaration, flags) {
748
+ return this.client.apiRequest("typeToString", {
749
+ snapshot: this.snapshotId,
750
+ project: this.projectId,
751
+ type: type.id,
752
+ location: enclosingDeclaration ? getNodeId(enclosingDeclaration) : undefined,
753
+ flags,
754
+ });
755
+ }
756
+ isContextSensitive(node) {
757
+ return this.client.apiRequest("isContextSensitive", {
758
+ snapshot: this.snapshotId,
759
+ project: this.projectId,
760
+ location: getNodeId(node),
761
+ });
762
+ }
763
+ getReturnTypeOfSignature(signature) {
764
+ const data = this.client.apiRequest("getReturnTypeOfSignature", {
765
+ snapshot: this.snapshotId,
766
+ project: this.projectId,
767
+ signature: signature.id,
768
+ });
769
+ return data ? this.objectRegistry.getOrCreateType(data) : undefined;
770
+ }
771
+ getRestTypeOfSignature(signature) {
772
+ const data = this.client.apiRequest("getRestTypeOfSignature", {
773
+ snapshot: this.snapshotId,
774
+ project: this.projectId,
775
+ signature: signature.id,
776
+ });
777
+ return data ? this.objectRegistry.getOrCreateType(data) : undefined;
778
+ }
779
+ getTypePredicateOfSignature(signature) {
780
+ const data = this.client.apiRequest("getTypePredicateOfSignature", {
781
+ snapshot: this.snapshotId,
782
+ project: this.projectId,
783
+ signature: signature.id,
784
+ });
785
+ if (!data)
786
+ return undefined;
787
+ return {
788
+ kind: data.kind,
789
+ parameterIndex: data.parameterIndex,
790
+ parameterName: data.parameterName,
791
+ type: data.type ? this.objectRegistry.getOrCreateType(data.type) : undefined,
792
+ };
793
+ }
794
+ getBaseTypes(type) {
795
+ const data = this.client.apiRequest("getBaseTypes", {
796
+ snapshot: this.snapshotId,
797
+ project: this.projectId,
798
+ type: type.id,
799
+ });
800
+ return data ? data.map(d => this.objectRegistry.getOrCreateType(d)) : [];
801
+ }
802
+ getPropertiesOfType(type) {
803
+ const data = this.client.apiRequest("getPropertiesOfType", {
804
+ snapshot: this.snapshotId,
805
+ project: this.projectId,
806
+ type: type.id,
807
+ });
808
+ return data ? data.map(d => this.objectRegistry.getOrCreateSymbol(d)) : [];
809
+ }
810
+ getIndexInfosOfType(type) {
811
+ const data = this.client.apiRequest("getIndexInfosOfType", {
812
+ snapshot: this.snapshotId,
813
+ project: this.projectId,
814
+ type: type.id,
815
+ });
816
+ if (!data)
817
+ return [];
818
+ return data.map(d => ({
819
+ keyType: this.objectRegistry.getOrCreateType(d.keyType),
820
+ valueType: this.objectRegistry.getOrCreateType(d.valueType),
821
+ isReadonly: d.isReadonly ?? false,
822
+ declaration: d.declaration ? new NodeHandle(d.declaration) : undefined,
823
+ }));
824
+ }
825
+ getConstraintOfTypeParameter(type) {
826
+ const data = this.client.apiRequest("getConstraintOfTypeParameter", {
827
+ snapshot: this.snapshotId,
828
+ project: this.projectId,
829
+ type: type.id,
830
+ });
831
+ return data ? this.objectRegistry.getOrCreateType(data) : undefined;
832
+ }
833
+ getTypeArguments(type) {
834
+ const data = this.client.apiRequest("getTypeArguments", {
835
+ snapshot: this.snapshotId,
836
+ project: this.projectId,
837
+ type: type.id,
838
+ });
839
+ return data ? data.map(d => this.objectRegistry.getOrCreateType(d)) : [];
840
+ }
841
+ }
842
+ export class Emitter {
843
+ client;
844
+ constructor(client) {
845
+ this.client = client;
846
+ }
847
+ printNode(node, options = {}) {
848
+ const encoded = encodeNode(node);
849
+ const base64 = uint8ArrayToBase64(encoded);
850
+ return this.client.apiRequest("printNode", {
851
+ data: base64,
852
+ ...options,
853
+ });
854
+ }
855
+ }
856
+ export class NodeHandle {
857
+ index;
858
+ kind;
859
+ path;
860
+ constructor(handle) {
861
+ const parsed = parseNodeHandle(handle);
862
+ this.index = parsed.index;
863
+ this.kind = parsed.kind;
864
+ this.path = parsed.path;
865
+ }
866
+ /**
867
+ * Resolve this handle to the actual AST node by fetching the source file
868
+ * from the given project and looking up the node by index.
869
+ */
870
+ resolve(project) {
871
+ const sourceFile = project.program.getSourceFile(this.path);
872
+ if (!sourceFile) {
873
+ return undefined;
874
+ }
875
+ return sourceFile.getOrCreateNodeAtIndex(this.index);
876
+ }
877
+ }
878
+ export class Symbol {
879
+ objectRegistry;
880
+ id;
881
+ name;
882
+ flags;
883
+ checkFlags;
884
+ declarations;
885
+ valueDeclaration;
886
+ parent;
887
+ exportSymbol;
888
+ constructor(data, objectRegistry) {
889
+ this.objectRegistry = objectRegistry;
890
+ this.id = data.id;
891
+ this.name = data.name;
892
+ this.flags = data.flags;
893
+ this.checkFlags = data.checkFlags;
894
+ this.declarations = (data.declarations ?? []).map(d => new NodeHandle(d));
895
+ this.valueDeclaration = data.valueDeclaration ? new NodeHandle(data.valueDeclaration) : undefined;
896
+ if (data.parent !== undefined)
897
+ this.parent = data.parent;
898
+ if (data.exportSymbol !== undefined)
899
+ this.exportSymbol = data.exportSymbol;
900
+ }
901
+ getParent() {
902
+ return this.objectRegistry.fetchSymbol(this, "getParentOfSymbol", this.parent);
903
+ }
904
+ getMembers() {
905
+ return this.objectRegistry.fetchSymbols(this, "getMembersOfSymbol");
906
+ }
907
+ getExports() {
908
+ return this.objectRegistry.fetchSymbols(this, "getExportsOfSymbol");
909
+ }
910
+ getExportSymbol() {
911
+ if (!this.exportSymbol)
912
+ return this;
913
+ return this.objectRegistry.fetchSymbol(this, "getExportSymbolOfSymbol", this.exportSymbol);
914
+ }
915
+ }
916
+ class TypeObject {
917
+ objectRegistry;
918
+ id;
919
+ flags;
920
+ objectFlags;
921
+ symbol;
922
+ value;
923
+ intrinsicName;
924
+ isThisType;
925
+ freshType;
926
+ regularType;
927
+ target;
928
+ typeParameters;
929
+ outerTypeParameters;
930
+ localTypeParameters;
931
+ aliasTypeArguments;
932
+ aliasSymbol;
933
+ elementFlags;
934
+ fixedLength;
935
+ readonly;
936
+ texts;
937
+ objectType;
938
+ indexType;
939
+ checkType;
940
+ extendsType;
941
+ baseType;
942
+ substConstraint;
943
+ constructor(data, objectRegistry) {
944
+ this.objectRegistry = objectRegistry;
945
+ this.id = data.id;
946
+ this.flags = data.flags;
947
+ if (data.objectFlags !== undefined)
948
+ this.objectFlags = data.objectFlags;
949
+ if (data.symbol !== undefined)
950
+ this.symbol = data.symbol;
951
+ if (data.value !== undefined)
952
+ this.value = data.value;
953
+ if (data.intrinsicName !== undefined)
954
+ this.intrinsicName = data.intrinsicName;
955
+ if (data.isThisType !== undefined)
956
+ this.isThisType = data.isThisType;
957
+ if (data.freshType !== undefined)
958
+ this.freshType = data.freshType;
959
+ if (data.regularType !== undefined)
960
+ this.regularType = data.regularType;
961
+ if (data.target !== undefined)
962
+ this.target = data.target;
963
+ this.typeParameters = data.typeParameters ?? [];
964
+ this.outerTypeParameters = data.outerTypeParameters ?? [];
965
+ this.localTypeParameters = data.localTypeParameters ?? [];
966
+ this.aliasTypeArguments = data.aliasTypeArguments ?? [];
967
+ if (data.aliasSymbol !== undefined)
968
+ this.aliasSymbol = data.aliasSymbol;
969
+ if (data.elementFlags !== undefined)
970
+ this.elementFlags = data.elementFlags;
971
+ if (data.fixedLength !== undefined)
972
+ this.fixedLength = data.fixedLength;
973
+ if (data.readonly !== undefined)
974
+ this.readonly = data.readonly;
975
+ if (data.texts !== undefined)
976
+ this.texts = data.texts;
977
+ if (data.objectType !== undefined)
978
+ this.objectType = data.objectType;
979
+ if (data.indexType !== undefined)
980
+ this.indexType = data.indexType;
981
+ if (data.checkType !== undefined)
982
+ this.checkType = data.checkType;
983
+ if (data.extendsType !== undefined)
984
+ this.extendsType = data.extendsType;
985
+ if (data.baseType !== undefined)
986
+ this.baseType = data.baseType;
987
+ if (data.substConstraint !== undefined)
988
+ this.substConstraint = data.substConstraint;
989
+ }
990
+ getSymbol() {
991
+ return this.objectRegistry.fetchSymbol(this, "getSymbolOfType", this.symbol);
992
+ }
993
+ getAliasSymbol() {
994
+ return this.objectRegistry.fetchSymbol(this, "getAliasSymbolOfType", this.aliasSymbol);
995
+ }
996
+ getTarget() {
997
+ return this.objectRegistry.fetchType(this, "getTargetOfType", this.target);
998
+ }
999
+ getFreshType() {
1000
+ return this.objectRegistry.fetchType(this, "getFreshTypeOfType", this.freshType);
1001
+ }
1002
+ getRegularType() {
1003
+ return this.objectRegistry.fetchType(this, "getRegularTypeOfType", this.regularType);
1004
+ }
1005
+ getTypes() {
1006
+ return this.objectRegistry.fetchTypes(this, "getTypesOfType");
1007
+ }
1008
+ getTypeParameters() {
1009
+ return this.objectRegistry.fetchTypes(this, "getTypeParametersOfType", this.typeParameters);
1010
+ }
1011
+ getOuterTypeParameters() {
1012
+ return this.objectRegistry.fetchTypes(this, "getOuterTypeParametersOfType", this.outerTypeParameters);
1013
+ }
1014
+ getLocalTypeParameters() {
1015
+ return this.objectRegistry.fetchTypes(this, "getLocalTypeParametersOfType", this.localTypeParameters);
1016
+ }
1017
+ getAliasTypeArguments() {
1018
+ return this.objectRegistry.fetchTypes(this, "getAliasTypeArgumentsOfType", this.aliasTypeArguments);
1019
+ }
1020
+ getObjectType() {
1021
+ return this.objectRegistry.fetchType(this, "getObjectTypeOfType", this.objectType);
1022
+ }
1023
+ getIndexType() {
1024
+ return this.objectRegistry.fetchType(this, "getIndexTypeOfType", this.indexType);
1025
+ }
1026
+ getCheckType() {
1027
+ return this.objectRegistry.fetchType(this, "getCheckTypeOfType", this.checkType);
1028
+ }
1029
+ getExtendsType() {
1030
+ return this.objectRegistry.fetchType(this, "getExtendsTypeOfType", this.extendsType);
1031
+ }
1032
+ getBaseType() {
1033
+ return this.objectRegistry.fetchType(this, "getBaseTypeOfType", this.baseType);
1034
+ }
1035
+ getConstraint() {
1036
+ return this.objectRegistry.fetchType(this, "getConstraintOfType", this.substConstraint);
1037
+ }
1038
+ }
1039
+ export class Signature {
1040
+ flags;
1041
+ objectRegistry;
1042
+ id;
1043
+ declaration;
1044
+ typeParameters;
1045
+ parameters;
1046
+ thisParameter;
1047
+ target;
1048
+ constructor(data, objectRegistry) {
1049
+ this.id = data.id;
1050
+ this.flags = data.flags;
1051
+ this.objectRegistry = objectRegistry;
1052
+ this.declaration = data.declaration ? new NodeHandle(data.declaration) : undefined;
1053
+ this.typeParameters = data.typeParameters ?? [];
1054
+ this.parameters = data.parameters ?? [];
1055
+ this.thisParameter = data.thisParameter;
1056
+ this.target = data.target;
1057
+ }
1058
+ getTypeParameters() {
1059
+ return this.objectRegistry.fetchTypes(this, "getTypeParametersOfSignature", this.typeParameters);
1060
+ }
1061
+ getParameters() {
1062
+ return this.objectRegistry.fetchSymbols(this, "getParametersOfSignature", this.parameters);
1063
+ }
1064
+ getThisParameter() {
1065
+ return this.objectRegistry.fetchSymbol(this, "getThisParameterOfSignature", this.thisParameter);
1066
+ }
1067
+ getTarget() {
1068
+ return this.objectRegistry.fetchSignature(this, "getTargetOfSignature", this.target);
1069
+ }
1070
+ get hasRestParameter() {
1071
+ return (this.flags & SignatureFlags.HasRestParameter) !== 0;
1072
+ }
1073
+ get isConstruct() {
1074
+ return (this.flags & SignatureFlags.Construct) !== 0;
1075
+ }
1076
+ get isAbstract() {
1077
+ return (this.flags & SignatureFlags.Abstract) !== 0;
1078
+ }
1079
+ }
1080
+ //# sourceMappingURL=api.js.map