@typescript/native-preview 7.0.0-dev.20260422.1 → 7.0.0-dev.20260423.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/dist/api/async/api.d.ts +241 -0
  2. package/dist/api/async/api.d.ts.map +1 -0
  3. package/dist/api/async/api.js +810 -0
  4. package/dist/api/async/api.js.map +1 -0
  5. package/dist/api/async/client.d.ts +22 -0
  6. package/dist/api/async/client.d.ts.map +1 -0
  7. package/dist/api/async/client.js +140 -0
  8. package/dist/api/async/client.js.map +1 -0
  9. package/dist/api/async/types.d.ts +179 -0
  10. package/dist/api/async/types.d.ts.map +1 -0
  11. package/dist/api/async/types.js +2 -0
  12. package/dist/api/async/types.js.map +1 -0
  13. package/dist/api/fs.d.ts +23 -0
  14. package/dist/api/fs.d.ts.map +1 -0
  15. package/dist/api/fs.js +109 -0
  16. package/dist/api/fs.js.map +1 -0
  17. package/dist/api/node/encoder.d.ts +15 -0
  18. package/dist/api/node/encoder.d.ts.map +1 -0
  19. package/dist/api/node/encoder.generated.d.ts +5 -0
  20. package/dist/api/node/encoder.generated.d.ts.map +1 -0
  21. package/dist/api/node/encoder.generated.js +74 -0
  22. package/dist/api/node/encoder.generated.js.map +1 -0
  23. package/dist/api/node/encoder.js +304 -0
  24. package/dist/api/node/encoder.js.map +1 -0
  25. package/dist/api/node/msgpack.d.ts +32 -0
  26. package/dist/api/node/msgpack.d.ts.map +1 -0
  27. package/dist/api/node/msgpack.js +212 -0
  28. package/dist/api/node/msgpack.js.map +1 -0
  29. package/dist/api/node/node.d.ts +63 -0
  30. package/dist/api/node/node.d.ts.map +1 -0
  31. package/dist/api/node/node.generated.d.ts +172 -0
  32. package/dist/api/node/node.generated.d.ts.map +1 -0
  33. package/dist/api/node/node.generated.js +817 -0
  34. package/dist/api/node/node.generated.js.map +1 -0
  35. package/dist/api/node/node.infrastructure.d.ts +51 -0
  36. package/dist/api/node/node.infrastructure.d.ts.map +1 -0
  37. package/dist/api/node/node.infrastructure.js +122 -0
  38. package/dist/api/node/node.infrastructure.js.map +1 -0
  39. package/dist/api/node/node.js +201 -0
  40. package/dist/api/node/node.js.map +1 -0
  41. package/dist/api/node/protocol.d.ts +29 -0
  42. package/dist/api/node/protocol.d.ts.map +1 -0
  43. package/dist/api/node/protocol.generated.d.ts +4 -0
  44. package/dist/api/node/protocol.generated.d.ts.map +1 -0
  45. package/dist/api/node/protocol.generated.js +241 -0
  46. package/dist/api/node/protocol.generated.js.map +1 -0
  47. package/dist/api/node/protocol.js +30 -0
  48. package/dist/api/node/protocol.js.map +1 -0
  49. package/dist/api/objectRegistry.d.ts +38 -0
  50. package/dist/api/objectRegistry.d.ts.map +1 -0
  51. package/dist/api/objectRegistry.js +55 -0
  52. package/dist/api/objectRegistry.js.map +1 -0
  53. package/dist/api/options.d.ts +24 -0
  54. package/dist/api/options.d.ts.map +1 -0
  55. package/dist/api/options.js +11 -0
  56. package/dist/api/options.js.map +1 -0
  57. package/dist/api/path.d.ts +110 -0
  58. package/dist/api/path.d.ts.map +1 -0
  59. package/dist/api/path.js +508 -0
  60. package/dist/api/path.js.map +1 -0
  61. package/dist/api/proto.d.ts +152 -0
  62. package/dist/api/proto.d.ts.map +1 -0
  63. package/dist/api/proto.js +22 -0
  64. package/dist/api/proto.js.map +1 -0
  65. package/dist/api/sourceFileCache.d.ts +79 -0
  66. package/dist/api/sourceFileCache.d.ts.map +1 -0
  67. package/dist/api/sourceFileCache.js +169 -0
  68. package/dist/api/sourceFileCache.js.map +1 -0
  69. package/dist/api/sync/api.d.ts +241 -0
  70. package/dist/api/sync/api.d.ts.map +1 -0
  71. package/dist/api/sync/api.js +818 -0
  72. package/dist/api/sync/api.js.map +1 -0
  73. package/dist/api/sync/client.d.ts +13 -0
  74. package/dist/api/sync/client.d.ts.map +1 -0
  75. package/dist/api/sync/client.js +72 -0
  76. package/dist/api/sync/client.js.map +1 -0
  77. package/dist/api/sync/types.d.ts +179 -0
  78. package/dist/api/sync/types.d.ts.map +1 -0
  79. package/dist/api/sync/types.js +2 -0
  80. package/dist/api/sync/types.js.map +1 -0
  81. package/dist/api/syncChannel.d.ts +111 -0
  82. package/dist/api/syncChannel.d.ts.map +1 -0
  83. package/dist/api/syncChannel.js +488 -0
  84. package/dist/api/syncChannel.js.map +1 -0
  85. package/dist/ast/ast.d.ts +66 -0
  86. package/dist/ast/ast.d.ts.map +1 -0
  87. package/dist/ast/ast.generated.d.ts +1160 -0
  88. package/dist/ast/ast.generated.d.ts.map +1 -0
  89. package/dist/ast/ast.generated.js +4 -0
  90. package/dist/ast/ast.generated.js.map +1 -0
  91. package/dist/ast/ast.js +7 -0
  92. package/dist/ast/ast.js.map +1 -0
  93. package/dist/ast/astnav.d.ts +19 -0
  94. package/dist/ast/astnav.d.ts.map +1 -0
  95. package/dist/ast/astnav.js +596 -0
  96. package/dist/ast/astnav.js.map +1 -0
  97. package/dist/ast/clone.d.ts +16 -0
  98. package/dist/ast/clone.d.ts.map +1 -0
  99. package/dist/ast/clone.js +104 -0
  100. package/dist/ast/clone.js.map +1 -0
  101. package/dist/ast/factory.generated.d.ts +513 -0
  102. package/dist/ast/factory.generated.d.ts.map +1 -0
  103. package/dist/ast/factory.generated.js +3026 -0
  104. package/dist/ast/factory.generated.js.map +1 -0
  105. package/dist/ast/index.d.ts +18 -0
  106. package/dist/ast/index.d.ts.map +1 -0
  107. package/dist/ast/index.js +18 -0
  108. package/dist/ast/index.js.map +1 -0
  109. package/dist/ast/is.d.ts +34 -0
  110. package/dist/ast/is.d.ts.map +1 -0
  111. package/dist/ast/is.generated.d.ts +328 -0
  112. package/dist/ast/is.generated.d.ts.map +1 -0
  113. package/dist/ast/is.generated.js +1101 -0
  114. package/dist/ast/is.generated.js.map +1 -0
  115. package/dist/ast/is.js +226 -0
  116. package/dist/ast/is.js.map +1 -0
  117. package/dist/ast/scanner.d.ts +97 -0
  118. package/dist/ast/scanner.d.ts.map +1 -0
  119. package/dist/ast/scanner.js +2230 -0
  120. package/dist/ast/scanner.js.map +1 -0
  121. package/dist/ast/utils.d.ts +5 -0
  122. package/dist/ast/utils.d.ts.map +1 -0
  123. package/dist/ast/utils.js +27 -0
  124. package/dist/ast/utils.js.map +1 -0
  125. package/dist/ast/visitor.d.ts +14 -0
  126. package/dist/ast/visitor.d.ts.map +1 -0
  127. package/dist/ast/visitor.generated.d.ts +50 -0
  128. package/dist/ast/visitor.generated.d.ts.map +1 -0
  129. package/dist/ast/visitor.generated.js +978 -0
  130. package/dist/ast/visitor.generated.js.map +1 -0
  131. package/dist/ast/visitor.js +47 -0
  132. package/dist/ast/visitor.js.map +1 -0
  133. package/dist/enums/characterCodes.d.ts +2 -0
  134. package/dist/enums/characterCodes.d.ts.map +1 -0
  135. package/dist/enums/characterCodes.enum.d.ts +129 -0
  136. package/dist/enums/characterCodes.enum.d.ts.map +1 -0
  137. package/dist/enums/characterCodes.enum.js +132 -0
  138. package/dist/enums/characterCodes.enum.js.map +1 -0
  139. package/dist/enums/characterCodes.js +130 -0
  140. package/dist/enums/characterCodes.js.map +1 -0
  141. package/dist/enums/commentDirectiveType.d.ts +2 -0
  142. package/dist/enums/commentDirectiveType.d.ts.map +1 -0
  143. package/dist/enums/commentDirectiveType.enum.d.ts +5 -0
  144. package/dist/enums/commentDirectiveType.enum.d.ts.map +1 -0
  145. package/dist/enums/commentDirectiveType.enum.js +6 -0
  146. package/dist/enums/commentDirectiveType.enum.js.map +1 -0
  147. package/dist/enums/commentDirectiveType.js +6 -0
  148. package/dist/enums/commentDirectiveType.js.map +1 -0
  149. package/dist/enums/diagnosticCategory.d.ts +2 -0
  150. package/dist/enums/diagnosticCategory.d.ts.map +1 -0
  151. package/dist/enums/diagnosticCategory.enum.d.ts +7 -0
  152. package/dist/enums/diagnosticCategory.enum.d.ts.map +1 -0
  153. package/dist/enums/diagnosticCategory.enum.js +9 -0
  154. package/dist/enums/diagnosticCategory.enum.js.map +1 -0
  155. package/dist/enums/diagnosticCategory.js +9 -0
  156. package/dist/enums/diagnosticCategory.js.map +1 -0
  157. package/dist/enums/elementFlags.d.ts +2 -0
  158. package/dist/enums/elementFlags.d.ts.map +1 -0
  159. package/dist/enums/elementFlags.enum.d.ts +12 -0
  160. package/dist/enums/elementFlags.enum.d.ts.map +1 -0
  161. package/dist/enums/elementFlags.enum.js +14 -0
  162. package/dist/enums/elementFlags.enum.js.map +1 -0
  163. package/dist/enums/elementFlags.js +14 -0
  164. package/dist/enums/elementFlags.js.map +1 -0
  165. package/dist/enums/languageVariant.d.ts +2 -0
  166. package/dist/enums/languageVariant.d.ts.map +1 -0
  167. package/dist/enums/languageVariant.enum.d.ts +5 -0
  168. package/dist/enums/languageVariant.enum.d.ts.map +1 -0
  169. package/dist/enums/languageVariant.enum.js +6 -0
  170. package/dist/enums/languageVariant.enum.js.map +1 -0
  171. package/dist/enums/languageVariant.js +6 -0
  172. package/dist/enums/languageVariant.js.map +1 -0
  173. package/dist/enums/modifierFlags.d.ts +2 -0
  174. package/dist/enums/modifierFlags.d.ts.map +1 -0
  175. package/dist/enums/modifierFlags.enum.d.ts +42 -0
  176. package/dist/enums/modifierFlags.enum.d.ts.map +1 -0
  177. package/dist/enums/modifierFlags.enum.js +44 -0
  178. package/dist/enums/modifierFlags.enum.js.map +1 -0
  179. package/dist/enums/modifierFlags.js +44 -0
  180. package/dist/enums/modifierFlags.js.map +1 -0
  181. package/dist/enums/nodeFlags.d.ts +2 -0
  182. package/dist/enums/nodeFlags.d.ts.map +1 -0
  183. package/dist/enums/nodeFlags.enum.d.ts +41 -0
  184. package/dist/enums/nodeFlags.enum.d.ts.map +1 -0
  185. package/dist/enums/nodeFlags.enum.js +43 -0
  186. package/dist/enums/nodeFlags.enum.js.map +1 -0
  187. package/dist/enums/nodeFlags.js +43 -0
  188. package/dist/enums/nodeFlags.js.map +1 -0
  189. package/dist/enums/objectFlags.d.ts +2 -0
  190. package/dist/enums/objectFlags.d.ts.map +1 -0
  191. package/dist/enums/objectFlags.enum.d.ts +50 -0
  192. package/dist/enums/objectFlags.enum.d.ts.map +1 -0
  193. package/dist/enums/objectFlags.enum.js +52 -0
  194. package/dist/enums/objectFlags.enum.js.map +1 -0
  195. package/dist/enums/objectFlags.js +52 -0
  196. package/dist/enums/objectFlags.js.map +1 -0
  197. package/dist/enums/outerExpressionKinds.d.ts +2 -0
  198. package/dist/enums/outerExpressionKinds.d.ts.map +1 -0
  199. package/dist/enums/outerExpressionKinds.enum.d.ts +12 -0
  200. package/dist/enums/outerExpressionKinds.enum.d.ts.map +1 -0
  201. package/dist/enums/outerExpressionKinds.enum.js +14 -0
  202. package/dist/enums/outerExpressionKinds.enum.js.map +1 -0
  203. package/dist/enums/outerExpressionKinds.js +14 -0
  204. package/dist/enums/outerExpressionKinds.js.map +1 -0
  205. package/dist/enums/regularExpressionFlags.d.ts +2 -0
  206. package/dist/enums/regularExpressionFlags.d.ts.map +1 -0
  207. package/dist/enums/regularExpressionFlags.enum.d.ts +13 -0
  208. package/dist/enums/regularExpressionFlags.enum.d.ts.map +1 -0
  209. package/dist/enums/regularExpressionFlags.enum.js +14 -0
  210. package/dist/enums/regularExpressionFlags.enum.js.map +1 -0
  211. package/dist/enums/regularExpressionFlags.js +14 -0
  212. package/dist/enums/regularExpressionFlags.js.map +1 -0
  213. package/dist/enums/scriptKind.d.ts +2 -0
  214. package/dist/enums/scriptKind.d.ts.map +1 -0
  215. package/dist/enums/scriptKind.enum.d.ts +11 -0
  216. package/dist/enums/scriptKind.enum.d.ts.map +1 -0
  217. package/dist/enums/scriptKind.enum.js +12 -0
  218. package/dist/enums/scriptKind.enum.js.map +1 -0
  219. package/dist/enums/scriptKind.js +12 -0
  220. package/dist/enums/scriptKind.js.map +1 -0
  221. package/dist/enums/scriptTarget.d.ts +2 -0
  222. package/dist/enums/scriptTarget.d.ts.map +1 -0
  223. package/dist/enums/scriptTarget.enum.d.ts +17 -0
  224. package/dist/enums/scriptTarget.enum.d.ts.map +1 -0
  225. package/dist/enums/scriptTarget.enum.js +18 -0
  226. package/dist/enums/scriptTarget.enum.js.map +1 -0
  227. package/dist/enums/scriptTarget.js +18 -0
  228. package/dist/enums/scriptTarget.js.map +1 -0
  229. package/dist/enums/signatureFlags.d.ts +2 -0
  230. package/dist/enums/signatureFlags.d.ts.map +1 -0
  231. package/dist/enums/signatureFlags.enum.d.ts +15 -0
  232. package/dist/enums/signatureFlags.enum.d.ts.map +1 -0
  233. package/dist/enums/signatureFlags.enum.js +17 -0
  234. package/dist/enums/signatureFlags.enum.js.map +1 -0
  235. package/dist/enums/signatureFlags.js +17 -0
  236. package/dist/enums/signatureFlags.js.map +1 -0
  237. package/dist/enums/signatureKind.d.ts +2 -0
  238. package/dist/enums/signatureKind.d.ts.map +1 -0
  239. package/dist/enums/signatureKind.enum.d.ts +5 -0
  240. package/dist/enums/signatureKind.enum.d.ts.map +1 -0
  241. package/dist/enums/signatureKind.enum.js +7 -0
  242. package/dist/enums/signatureKind.enum.js.map +1 -0
  243. package/dist/enums/signatureKind.js +7 -0
  244. package/dist/enums/signatureKind.js.map +1 -0
  245. package/dist/enums/symbolFlags.d.ts +2 -0
  246. package/dist/enums/symbolFlags.d.ts.map +1 -0
  247. package/dist/enums/symbolFlags.enum.d.ts +71 -0
  248. package/dist/enums/symbolFlags.enum.d.ts.map +1 -0
  249. package/dist/enums/symbolFlags.enum.js +73 -0
  250. package/dist/enums/symbolFlags.enum.js.map +1 -0
  251. package/dist/enums/symbolFlags.js +73 -0
  252. package/dist/enums/symbolFlags.js.map +1 -0
  253. package/dist/enums/syntaxKind.d.ts +2 -0
  254. package/dist/enums/syntaxKind.d.ts.map +1 -0
  255. package/dist/enums/syntaxKind.enum.d.ts +389 -0
  256. package/dist/enums/syntaxKind.enum.d.ts.map +1 -0
  257. package/dist/enums/syntaxKind.enum.js +391 -0
  258. package/dist/enums/syntaxKind.enum.js.map +1 -0
  259. package/dist/enums/syntaxKind.js +391 -0
  260. package/dist/enums/syntaxKind.js.map +1 -0
  261. package/dist/enums/tokenFlags.d.ts +2 -0
  262. package/dist/enums/tokenFlags.d.ts.map +1 -0
  263. package/dist/enums/tokenFlags.enum.d.ts +30 -0
  264. package/dist/enums/tokenFlags.enum.d.ts.map +1 -0
  265. package/dist/enums/tokenFlags.enum.js +32 -0
  266. package/dist/enums/tokenFlags.enum.js.map +1 -0
  267. package/dist/enums/tokenFlags.js +32 -0
  268. package/dist/enums/tokenFlags.js.map +1 -0
  269. package/dist/enums/typeFlags.d.ts +2 -0
  270. package/dist/enums/typeFlags.d.ts.map +1 -0
  271. package/dist/enums/typeFlags.enum.d.ts +76 -0
  272. package/dist/enums/typeFlags.enum.d.ts.map +1 -0
  273. package/dist/enums/typeFlags.enum.js +78 -0
  274. package/dist/enums/typeFlags.enum.js.map +1 -0
  275. package/dist/enums/typeFlags.js +78 -0
  276. package/dist/enums/typeFlags.js.map +1 -0
  277. package/dist/enums/typePredicateKind.d.ts +2 -0
  278. package/dist/enums/typePredicateKind.d.ts.map +1 -0
  279. package/dist/enums/typePredicateKind.enum.d.ts +7 -0
  280. package/dist/enums/typePredicateKind.enum.d.ts.map +1 -0
  281. package/dist/enums/typePredicateKind.enum.js +9 -0
  282. package/dist/enums/typePredicateKind.enum.js.map +1 -0
  283. package/dist/enums/typePredicateKind.js +9 -0
  284. package/dist/enums/typePredicateKind.js.map +1 -0
  285. package/lib/getExePath.d.ts +2 -0
  286. package/package.json +57 -12
  287. package/vendor/vscode-jsonrpc/README.md +69 -0
  288. package/vendor/vscode-jsonrpc/lib/browser/main.d.ts +17 -0
  289. package/vendor/vscode-jsonrpc/lib/browser/main.js +83 -0
  290. package/vendor/vscode-jsonrpc/lib/browser/ril.d.ts +22 -0
  291. package/vendor/vscode-jsonrpc/lib/browser/ril.js +203 -0
  292. package/vendor/vscode-jsonrpc/lib/common/api.d.ts +14 -0
  293. package/vendor/vscode-jsonrpc/lib/common/api.js +87 -0
  294. package/vendor/vscode-jsonrpc/lib/common/cancellation.d.ts +32 -0
  295. package/vendor/vscode-jsonrpc/lib/common/cancellation.js +132 -0
  296. package/vendor/vscode-jsonrpc/lib/common/connection.d.ts +367 -0
  297. package/vendor/vscode-jsonrpc/lib/common/connection.js +1272 -0
  298. package/vendor/vscode-jsonrpc/lib/common/disposable.d.ts +9 -0
  299. package/vendor/vscode-jsonrpc/lib/common/disposable.js +16 -0
  300. package/vendor/vscode-jsonrpc/lib/common/encoding.d.ts +52 -0
  301. package/vendor/vscode-jsonrpc/lib/common/encoding.js +70 -0
  302. package/vendor/vscode-jsonrpc/lib/common/events.d.ts +39 -0
  303. package/vendor/vscode-jsonrpc/lib/common/events.js +136 -0
  304. package/vendor/vscode-jsonrpc/lib/common/is.d.ts +7 -0
  305. package/vendor/vscode-jsonrpc/lib/common/is.js +34 -0
  306. package/vendor/vscode-jsonrpc/lib/common/linkedMap.d.ts +55 -0
  307. package/vendor/vscode-jsonrpc/lib/common/linkedMap.js +412 -0
  308. package/vendor/vscode-jsonrpc/lib/common/messageBuffer.d.ts +18 -0
  309. package/vendor/vscode-jsonrpc/lib/common/messageBuffer.js +155 -0
  310. package/vendor/vscode-jsonrpc/lib/common/messageReader.d.ts +77 -0
  311. package/vendor/vscode-jsonrpc/lib/common/messageReader.js +246 -0
  312. package/vendor/vscode-jsonrpc/lib/common/messageWriter.d.ts +60 -0
  313. package/vendor/vscode-jsonrpc/lib/common/messageWriter.js +157 -0
  314. package/vendor/vscode-jsonrpc/lib/common/messages.d.ts +369 -0
  315. package/vendor/vscode-jsonrpc/lib/common/messages.js +436 -0
  316. package/vendor/vscode-jsonrpc/lib/common/ral.d.ts +74 -0
  317. package/vendor/vscode-jsonrpc/lib/common/ral.js +23 -0
  318. package/vendor/vscode-jsonrpc/lib/common/semaphore.d.ts +10 -0
  319. package/vendor/vscode-jsonrpc/lib/common/semaphore.js +74 -0
  320. package/vendor/vscode-jsonrpc/lib/common/sharedArrayCancellation.d.ts +15 -0
  321. package/vendor/vscode-jsonrpc/lib/common/sharedArrayCancellation.js +77 -0
  322. package/vendor/vscode-jsonrpc/lib/node/main.d.ts +58 -0
  323. package/vendor/vscode-jsonrpc/lib/node/main.js +289 -0
  324. package/vendor/vscode-jsonrpc/lib/node/ril.d.ts +12 -0
  325. package/vendor/vscode-jsonrpc/lib/node/ril.js +163 -0
  326. package/vendor/vscode-jsonrpc/package.json +54 -0
  327. package/vendor/vscode-jsonrpc/typings/thenable.d.ts +5 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.generated.js","sourceRoot":"","sources":["../../../src/api/node/node.generated.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { type FileReference, ModifierFlags, type Node, SyntaxKind } from "../../ast/index.ts";
2
+ import { NODE_DATA_TYPE_CHILDREN, NODE_DATA_TYPE_EXTENDED, NODE_DATA_TYPE_STRING } from "./protocol.ts";
3
+ export declare const popcount8: number[];
4
+ export type NodeDataType = typeof NODE_DATA_TYPE_CHILDREN | typeof NODE_DATA_TYPE_STRING | typeof NODE_DATA_TYPE_EXTENDED;
5
+ export declare const NODE_DATA_TYPE_MASK = 3221225472;
6
+ export declare const NODE_CHILD_MASK = 255;
7
+ export declare const NODE_STRING_INDEX_MASK = 16777215;
8
+ export declare const NODE_EXTENDED_DATA_MASK = 16777215;
9
+ export interface SourceFileInfo {
10
+ readonly _offsetNodes: number;
11
+ readonly _offsetStringTableOffsets: number;
12
+ readonly _offsetStringTable: number;
13
+ readonly _offsetExtendedData: number;
14
+ readonly _offsetStructuredData: number;
15
+ readonly _decoder: TextDecoder;
16
+ nodes: any[];
17
+ readonly path?: string;
18
+ readFileReferences(offset: number): readonly FileReference[];
19
+ readNodeIndexArray(offset: number): readonly Node[];
20
+ readStringArray(offset: number): readonly string[];
21
+ getOrCreateNodeAtIndex(index: number): Node;
22
+ }
23
+ /**
24
+ * Read the 128-bit content hash from a source file binary response as a hex string.
25
+ */
26
+ export declare function readSourceFileHash(data: DataView): string;
27
+ /**
28
+ * Read the per-file parse options key from a source file binary response.
29
+ * This encodes the ExternalModuleIndicatorOptions bitmask as a string,
30
+ * allowing the client to distinguish files parsed with different options.
31
+ */
32
+ export declare function readParseOptionsKey(data: DataView): string;
33
+ export declare function modifierToFlag(kind: SyntaxKind): ModifierFlags;
34
+ export declare class RemoteNodeBase {
35
+ parent: any;
36
+ view: DataView;
37
+ protected index: number;
38
+ protected _byteIndex: number;
39
+ constructor(view: DataView, index: number, parent: any, byteIndex: number);
40
+ get kind(): SyntaxKind;
41
+ get pos(): number;
42
+ get end(): number;
43
+ get next(): number;
44
+ protected get parentIndex(): number;
45
+ protected get data(): number;
46
+ protected get dataType(): NodeDataType;
47
+ protected get childMask(): number;
48
+ protected getFileText(start: number, end: number): string;
49
+ protected get sourceFile(): SourceFileInfo;
50
+ }
51
+ //# sourceMappingURL=node.infrastructure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.infrastructure.d.ts","sourceRoot":"","sources":["../../../src/api/node/node.infrastructure.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,aAAa,EAClB,aAAa,EACb,KAAK,IAAI,EAET,UAAU,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAMH,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EAOxB,MAAM,eAAe,CAAC;AAMvB,eAAO,MAAM,SAAS,EAAE,MAAM,EAAqwB,CAAC;AAEpyB,MAAM,MAAM,YAAY,GAAG,OAAO,uBAAuB,GAAG,OAAO,qBAAqB,GAAG,OAAO,uBAAuB,CAAC;AAC1H,eAAO,MAAM,mBAAmB,aAAgB,CAAC;AACjD,eAAO,MAAM,eAAe,MAAgB,CAAC;AAC7C,eAAO,MAAM,sBAAsB,WAAgB,CAAC;AACpD,eAAO,MAAM,uBAAuB,WAAgB,CAAC;AAOrD,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,aAAa,EAAE,CAAC;IAC7D,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,IAAI,EAAE,CAAC;IACpD,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IACnD,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/C;AAMD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAMzD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAE1D;AAMD,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,CAqC9D;AAMD,qBAAa,cAAc;IACvB,MAAM,EAAE,GAAG,CAAC;IACZ,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEjB,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM;IAOzE,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,SAAS,KAAK,WAAW,IAAI,MAAM,CAElC;IAED,SAAS,KAAK,IAAI,IAAI,MAAM,CAE3B;IAED,SAAS,KAAK,QAAQ,IAAI,YAAY,CAErC;IAED,SAAS,KAAK,SAAS,IAAI,MAAM,CAKhC;IAED,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAIzD,SAAS,KAAK,UAAU,IAAI,cAAc,CAGzC;CACJ"}
@@ -0,0 +1,122 @@
1
+ import { ModifierFlags, SyntaxKind, } from "../../ast/index.js";
2
+ import { HEADER_OFFSET_HASH_HI0, HEADER_OFFSET_HASH_HI1, HEADER_OFFSET_HASH_LO0, HEADER_OFFSET_HASH_LO1, HEADER_OFFSET_PARSE_OPTIONS, NODE_DATA_TYPE_CHILDREN, NODE_DATA_TYPE_EXTENDED, NODE_DATA_TYPE_STRING, NODE_OFFSET_DATA, NODE_OFFSET_END, NODE_OFFSET_KIND, NODE_OFFSET_NEXT, NODE_OFFSET_PARENT, NODE_OFFSET_POS, } from "./protocol.js";
3
+ // ═══════════════════════════════════════════════════════════════════════════
4
+ // Constants
5
+ // ═══════════════════════════════════════════════════════════════════════════
6
+ export const popcount8 = [0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8];
7
+ export const NODE_DATA_TYPE_MASK = 0xc0_00_00_00;
8
+ export const NODE_CHILD_MASK = 0x00_00_00_ff;
9
+ export const NODE_STRING_INDEX_MASK = 0x00_ff_ff_ff;
10
+ export const NODE_EXTENDED_DATA_MASK = 0x00_ff_ff_ff;
11
+ // ═══════════════════════════════════════════════════════════════════════════
12
+ // Free functions
13
+ // ═══════════════════════════════════════════════════════════════════════════
14
+ /**
15
+ * Read the 128-bit content hash from a source file binary response as a hex string.
16
+ */
17
+ export function readSourceFileHash(data) {
18
+ const lo0 = data.getUint32(HEADER_OFFSET_HASH_LO0, true);
19
+ const lo1 = data.getUint32(HEADER_OFFSET_HASH_LO1, true);
20
+ const hi0 = data.getUint32(HEADER_OFFSET_HASH_HI0, true);
21
+ const hi1 = data.getUint32(HEADER_OFFSET_HASH_HI1, true);
22
+ return hex8(hi1) + hex8(hi0) + hex8(lo1) + hex8(lo0);
23
+ }
24
+ /**
25
+ * Read the per-file parse options key from a source file binary response.
26
+ * This encodes the ExternalModuleIndicatorOptions bitmask as a string,
27
+ * allowing the client to distinguish files parsed with different options.
28
+ */
29
+ export function readParseOptionsKey(data) {
30
+ return data.getUint32(HEADER_OFFSET_PARSE_OPTIONS, true).toString();
31
+ }
32
+ function hex8(n) {
33
+ return (n >>> 0).toString(16).padStart(8, "0");
34
+ }
35
+ export function modifierToFlag(kind) {
36
+ switch (kind) {
37
+ case SyntaxKind.StaticKeyword:
38
+ return ModifierFlags.Static;
39
+ case SyntaxKind.PublicKeyword:
40
+ return ModifierFlags.Public;
41
+ case SyntaxKind.ProtectedKeyword:
42
+ return ModifierFlags.Protected;
43
+ case SyntaxKind.PrivateKeyword:
44
+ return ModifierFlags.Private;
45
+ case SyntaxKind.AbstractKeyword:
46
+ return ModifierFlags.Abstract;
47
+ case SyntaxKind.AccessorKeyword:
48
+ return ModifierFlags.Accessor;
49
+ case SyntaxKind.ExportKeyword:
50
+ return ModifierFlags.Export;
51
+ case SyntaxKind.DeclareKeyword:
52
+ return ModifierFlags.Ambient;
53
+ case SyntaxKind.ConstKeyword:
54
+ return ModifierFlags.Const;
55
+ case SyntaxKind.DefaultKeyword:
56
+ return ModifierFlags.Default;
57
+ case SyntaxKind.AsyncKeyword:
58
+ return ModifierFlags.Async;
59
+ case SyntaxKind.ReadonlyKeyword:
60
+ return ModifierFlags.Readonly;
61
+ case SyntaxKind.OverrideKeyword:
62
+ return ModifierFlags.Override;
63
+ case SyntaxKind.InKeyword:
64
+ return ModifierFlags.In;
65
+ case SyntaxKind.OutKeyword:
66
+ return ModifierFlags.Out;
67
+ case SyntaxKind.Decorator:
68
+ return ModifierFlags.Decorator;
69
+ default:
70
+ return ModifierFlags.None;
71
+ }
72
+ }
73
+ // ═══════════════════════════════════════════════════════════════════════════
74
+ // RemoteNodeBase
75
+ // ═══════════════════════════════════════════════════════════════════════════
76
+ export class RemoteNodeBase {
77
+ parent; // RemoteNode at runtime
78
+ view;
79
+ index;
80
+ _byteIndex;
81
+ constructor(view, index, parent, byteIndex) {
82
+ this.view = view;
83
+ this.index = index;
84
+ this.parent = parent;
85
+ this._byteIndex = byteIndex;
86
+ }
87
+ get kind() {
88
+ return this.view.getUint32(this._byteIndex + NODE_OFFSET_KIND, true);
89
+ }
90
+ get pos() {
91
+ return this.view.getInt32(this._byteIndex + NODE_OFFSET_POS, true);
92
+ }
93
+ get end() {
94
+ return this.view.getInt32(this._byteIndex + NODE_OFFSET_END, true);
95
+ }
96
+ get next() {
97
+ return this.view.getUint32(this._byteIndex + NODE_OFFSET_NEXT, true);
98
+ }
99
+ get parentIndex() {
100
+ return this.view.getUint32(this._byteIndex + NODE_OFFSET_PARENT, true);
101
+ }
102
+ get data() {
103
+ return this.view.getUint32(this._byteIndex + NODE_OFFSET_DATA, true);
104
+ }
105
+ get dataType() {
106
+ return (this.data & NODE_DATA_TYPE_MASK);
107
+ }
108
+ get childMask() {
109
+ if (this.dataType !== NODE_DATA_TYPE_CHILDREN) {
110
+ return -1;
111
+ }
112
+ return this.data & NODE_CHILD_MASK;
113
+ }
114
+ getFileText(start, end) {
115
+ return this.sourceFile._decoder.decode(new Uint8Array(this.view.buffer, this.view.byteOffset + this.sourceFile._offsetStringTable + start, end - start));
116
+ }
117
+ get sourceFile() {
118
+ // Overridden in RemoteNode; exists here for getFileText access
119
+ throw new Error("sourceFile not available on base");
120
+ }
121
+ }
122
+ //# sourceMappingURL=node.infrastructure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.infrastructure.js","sourceRoot":"","sources":["../../../src/api/node/node.infrastructure.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,EAGb,UAAU,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,GAClB,MAAM,eAAe,CAAC;AAEvB,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,CAAC,MAAM,SAAS,GAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAA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"}
@@ -0,0 +1,201 @@
1
+ import { NodeFlags, SyntaxKind, TokenFlags, } from "../../ast/index.js";
2
+ import { MsgpackReader } from "./msgpack.js";
3
+ import { RemoteNode, RemoteNodeList, } from "./node.generated.js";
4
+ import { NODE_EXTENDED_DATA_MASK, } from "./node.infrastructure.js";
5
+ import { HEADER_OFFSET_EXTENDED_DATA, HEADER_OFFSET_NODES, HEADER_OFFSET_STRING_TABLE, HEADER_OFFSET_STRING_TABLE_OFFSETS, HEADER_OFFSET_STRUCTURED_DATA, NODE_LEN, } from "./protocol.js";
6
+ // Re-export everything consumers need from the other two files.
7
+ export { RemoteNode, RemoteNodeList } from "./node.generated.js";
8
+ export { readParseOptionsKey, readSourceFileHash, RemoteNodeBase } from "./node.infrastructure.js";
9
+ // ═══════════════════════════════════════════════════════════════════════════
10
+ // RemoteSourceFile
11
+ // ═══════════════════════════════════════════════════════════════════════════
12
+ const NO_STRUCTURED_DATA = 0xFFFFFFFF;
13
+ export class RemoteSourceFile extends RemoteNode {
14
+ nodes;
15
+ _offsetNodes;
16
+ _offsetStringTableOffsets;
17
+ _offsetStringTable;
18
+ _offsetExtendedData;
19
+ _offsetStructuredData;
20
+ _decoder;
21
+ constructor(data, decoder) {
22
+ const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
23
+ const offsetNodes = view.getUint32(HEADER_OFFSET_NODES, true);
24
+ super(view, 1, undefined, undefined, offsetNodes);
25
+ this._sourceFile = this;
26
+ this._offsetNodes = offsetNodes;
27
+ this._offsetStringTableOffsets = view.getUint32(HEADER_OFFSET_STRING_TABLE_OFFSETS, true);
28
+ this._offsetStringTable = view.getUint32(HEADER_OFFSET_STRING_TABLE, true);
29
+ this._offsetExtendedData = view.getUint32(HEADER_OFFSET_EXTENDED_DATA, true);
30
+ this._offsetStructuredData = view.getUint32(HEADER_OFFSET_STRUCTURED_DATA, true);
31
+ this._decoder = decoder;
32
+ this.nodes = Array((view.byteLength - offsetNodes) / NODE_LEN);
33
+ this.nodes[1] = this;
34
+ }
35
+ readFileReferences(structuredDataOffset) {
36
+ if (structuredDataOffset === NO_STRUCTURED_DATA) {
37
+ return [];
38
+ }
39
+ const buf = new Uint8Array(this.view.buffer, this.view.byteOffset, this.view.byteLength);
40
+ const reader = new MsgpackReader(buf, this._offsetStructuredData + structuredDataOffset);
41
+ const count = reader.readArrayHeader();
42
+ const result = [];
43
+ for (let i = 0; i < count; i++) {
44
+ reader.readArrayHeader(); // 5-element tuple
45
+ const pos = reader.readUint();
46
+ const end = reader.readUint();
47
+ const fileName = reader.readString();
48
+ const resolutionMode = reader.readUint();
49
+ const preserve = reader.readBool();
50
+ result.push({ pos, end, fileName, resolutionMode, preserve });
51
+ }
52
+ return result;
53
+ }
54
+ readNodeIndexArray(structuredDataOffset) {
55
+ if (structuredDataOffset === NO_STRUCTURED_DATA) {
56
+ return [];
57
+ }
58
+ const buf = new Uint8Array(this.view.buffer, this.view.byteOffset, this.view.byteLength);
59
+ const reader = new MsgpackReader(buf, this._offsetStructuredData + structuredDataOffset);
60
+ const count = reader.readArrayHeader();
61
+ const result = [];
62
+ for (let i = 0; i < count; i++) {
63
+ const nodeIndex = reader.readUint();
64
+ result.push(this.getOrCreateNodeAtIndex(nodeIndex));
65
+ }
66
+ return result;
67
+ }
68
+ readStringArray(structuredDataOffset) {
69
+ if (structuredDataOffset === NO_STRUCTURED_DATA) {
70
+ return [];
71
+ }
72
+ const buf = new Uint8Array(this.view.buffer, this.view.byteOffset, this.view.byteLength);
73
+ const reader = new MsgpackReader(buf, this._offsetStructuredData + structuredDataOffset);
74
+ const count = reader.readArrayHeader();
75
+ const result = [];
76
+ for (let i = 0; i < count; i++) {
77
+ result.push(reader.readString());
78
+ }
79
+ return result;
80
+ }
81
+ /** @internal */
82
+ getOrCreateNodeAtIndex(index) {
83
+ let node = this.nodes[index];
84
+ if (!node) {
85
+ node = new RemoteNode(this.view, index, this, this, this._offsetNodes);
86
+ this.nodes[index] = node;
87
+ }
88
+ return node;
89
+ }
90
+ // ═══ SourceFile-specific extended data getters ═══
91
+ get extendedDataOffset() {
92
+ return this._offsetExtendedData + (this.data & NODE_EXTENDED_DATA_MASK);
93
+ }
94
+ get fileName() {
95
+ const stringIndex = this.view.getUint32(this.extendedDataOffset + 4, true);
96
+ return this.getString(stringIndex);
97
+ }
98
+ get path() {
99
+ const stringIndex = this.view.getUint32(this.extendedDataOffset + 8, true);
100
+ return this.getString(stringIndex);
101
+ }
102
+ get languageVariant() {
103
+ return this.view.getUint32(this.extendedDataOffset + 12, true);
104
+ }
105
+ get scriptKind() {
106
+ return this.view.getUint32(this.extendedDataOffset + 16, true);
107
+ }
108
+ get referencedFiles() {
109
+ const offset = this.view.getUint32(this.extendedDataOffset + 20, true);
110
+ return this.readFileReferences(offset);
111
+ }
112
+ get typeReferenceDirectives() {
113
+ const offset = this.view.getUint32(this.extendedDataOffset + 24, true);
114
+ return this.readFileReferences(offset);
115
+ }
116
+ get libReferenceDirectives() {
117
+ const offset = this.view.getUint32(this.extendedDataOffset + 28, true);
118
+ return this.readFileReferences(offset);
119
+ }
120
+ get imports() {
121
+ const offset = this.view.getUint32(this.extendedDataOffset + 32, true);
122
+ return this.readNodeIndexArray(offset);
123
+ }
124
+ get moduleAugmentations() {
125
+ const offset = this.view.getUint32(this.extendedDataOffset + 36, true);
126
+ return this.readNodeIndexArray(offset);
127
+ }
128
+ get ambientModuleNames() {
129
+ const offset = this.view.getUint32(this.extendedDataOffset + 40, true);
130
+ return this.readStringArray(offset);
131
+ }
132
+ get externalModuleIndicator() {
133
+ const nodeIndex = this.view.getUint32(this.extendedDataOffset + 44, true);
134
+ if (nodeIndex === 0)
135
+ return undefined;
136
+ if (nodeIndex === this.index)
137
+ return true;
138
+ return this.getOrCreateNodeAtIndex(nodeIndex);
139
+ }
140
+ get isDeclarationFile() {
141
+ return (this.flags & NodeFlags.Ambient) !== 0;
142
+ }
143
+ }
144
+ /**
145
+ * Find a descendant node at a specific position with matching kind and end position.
146
+ */
147
+ export function findDescendant(root, pos, end, kind) {
148
+ if (root.pos === pos && root.end === end && root.kind === kind) {
149
+ return root;
150
+ }
151
+ // Search children
152
+ let result;
153
+ root.forEachChild(child => {
154
+ if (result)
155
+ return result; // Already found
156
+ // Only search in children that could contain our target
157
+ if (child.pos <= pos && child.end >= end) {
158
+ result = findDescendant(child, pos, end, kind);
159
+ }
160
+ return undefined;
161
+ });
162
+ return result;
163
+ }
164
+ /**
165
+ * Parse a node handle string into its components.
166
+ * Handle format: "pos.end.kind.path" where path may contain dots.
167
+ */
168
+ export function parseNodeHandle(handle) {
169
+ const dot1 = handle.indexOf(".");
170
+ const dot2 = handle.indexOf(".", dot1 + 1);
171
+ const dot3 = handle.indexOf(".", dot2 + 1);
172
+ if (dot1 === -1 || dot2 === -1 || dot3 === -1) {
173
+ throw new Error(`Invalid node handle: ${handle}`);
174
+ }
175
+ return {
176
+ pos: parseInt(handle.slice(0, dot1), 10),
177
+ end: parseInt(handle.slice(dot1 + 1, dot2), 10),
178
+ kind: parseInt(handle.slice(dot2 + 1, dot3), 10),
179
+ path: handle.slice(dot3 + 1),
180
+ };
181
+ }
182
+ /**
183
+ * Decode binary-encoded AST data into a Node.
184
+ * Works for any binary-encoded node, including synthetic nodes
185
+ * (e.g. from typeToTypeNode) that don't have a source file.
186
+ */
187
+ export function decodeNode(data) {
188
+ const sf = new RemoteSourceFile(data, new TextDecoder());
189
+ return sf;
190
+ }
191
+ /**
192
+ * Get the unique ID string for a remote node.
193
+ * Throws if the node is not a RemoteNode (i.e. not decoded from binary data).
194
+ */
195
+ export function getNodeId(node) {
196
+ if (!(node instanceof RemoteNode)) {
197
+ throw new Error("getNodeId requires a RemoteNode");
198
+ }
199
+ return node.id;
200
+ }
201
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/api/node/node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ export declare const PROTOCOL_VERSION = 5;
2
+ export declare const HEADER_OFFSET_METADATA = 0;
3
+ export declare const HEADER_OFFSET_HASH_LO0 = 4;
4
+ export declare const HEADER_OFFSET_HASH_LO1 = 8;
5
+ export declare const HEADER_OFFSET_HASH_HI0 = 12;
6
+ export declare const HEADER_OFFSET_HASH_HI1 = 16;
7
+ export declare const HEADER_OFFSET_PARSE_OPTIONS = 20;
8
+ export declare const HEADER_OFFSET_STRING_TABLE_OFFSETS = 24;
9
+ export declare const HEADER_OFFSET_STRING_TABLE = 28;
10
+ export declare const HEADER_OFFSET_EXTENDED_DATA = 32;
11
+ export declare const HEADER_OFFSET_STRUCTURED_DATA = 36;
12
+ export declare const HEADER_OFFSET_NODES = 40;
13
+ export declare const HEADER_SIZE = 44;
14
+ export declare const NODE_LEN = 28;
15
+ export declare const NODE_OFFSET_KIND = 0;
16
+ export declare const NODE_OFFSET_POS = 4;
17
+ export declare const NODE_OFFSET_END = 8;
18
+ export declare const NODE_OFFSET_NEXT = 12;
19
+ export declare const NODE_OFFSET_PARENT = 16;
20
+ export declare const NODE_OFFSET_DATA = 20;
21
+ export declare const NODE_OFFSET_FLAGS = 24;
22
+ export declare const KIND_NODE_LIST = 4294967295;
23
+ export declare const NODE_DATA_TYPE_CHILDREN = 0;
24
+ export declare const NODE_DATA_TYPE_STRING = 1073741824;
25
+ export declare const NODE_DATA_TYPE_EXTENDED = 2147483648;
26
+ export declare const NODE_STRING_INDEX_MASK = 16777215;
27
+ export declare const NODE_EXTENDED_DATA_MASK = 16777215;
28
+ export { childProperties, singleChildNodePropertyNames } from "./protocol.generated.ts";
29
+ //# sourceMappingURL=protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../src/api/node/protocol.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,eAAO,MAAM,kCAAkC,KAAK,CAAC;AACrD,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAChD,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,WAAW,KAAK,CAAC;AAE9B,eAAO,MAAM,QAAQ,KAAK,CAAC;AAE3B,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,eAAO,MAAM,cAAc,aAAa,CAAC;AAEzC,eAAO,MAAM,uBAAuB,IAAa,CAAC;AAClD,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAChD,eAAO,MAAM,uBAAuB,aAAa,CAAC;AAElD,eAAO,MAAM,sBAAsB,WAAa,CAAC;AACjD,eAAO,MAAM,uBAAuB,WAAa,CAAC;AAGlD,OAAO,EAAE,eAAe,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { SyntaxKind } from "../../ast/index.ts";
2
+ export declare const childProperties: Readonly<Partial<Record<SyntaxKind, readonly (string | undefined)[]>>>;
3
+ export declare const singleChildNodePropertyNames: Readonly<Partial<Record<SyntaxKind, string>>>;
4
+ //# sourceMappingURL=protocol.generated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.generated.d.ts","sourceRoot":"","sources":["../../../src/api/node/protocol.generated.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,CA8KlG,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CA8DtF,CAAC"}