@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,74 @@
1
+ // Code generated by _scripts/generate-encoder.ts. DO NOT EDIT.
2
+ import { SyntaxKind } from "../../ast/index.js";
3
+ import { NODE_DATA_TYPE_CHILDREN, NODE_DATA_TYPE_EXTENDED, NODE_DATA_TYPE_STRING, } from "./protocol.js";
4
+ export function getNodeDataType(kind) {
5
+ switch (kind) {
6
+ case SyntaxKind.Identifier:
7
+ case SyntaxKind.PrivateIdentifier:
8
+ case SyntaxKind.JsxText:
9
+ case SyntaxKind.JSDocText:
10
+ case SyntaxKind.JSDocLink:
11
+ case SyntaxKind.JSDocLinkPlain:
12
+ case SyntaxKind.JSDocLinkCode:
13
+ return NODE_DATA_TYPE_STRING;
14
+ case SyntaxKind.StringLiteral:
15
+ case SyntaxKind.NumericLiteral:
16
+ case SyntaxKind.BigIntLiteral:
17
+ case SyntaxKind.RegularExpressionLiteral:
18
+ case SyntaxKind.NoSubstitutionTemplateLiteral:
19
+ case SyntaxKind.TemplateHead:
20
+ case SyntaxKind.TemplateMiddle:
21
+ case SyntaxKind.TemplateTail:
22
+ case SyntaxKind.SourceFile:
23
+ return NODE_DATA_TYPE_EXTENDED;
24
+ default:
25
+ return NODE_DATA_TYPE_CHILDREN;
26
+ }
27
+ }
28
+ export function getNodeCommonData(node) {
29
+ switch (node.kind) {
30
+ case SyntaxKind.Block:
31
+ return (node.multiLine ? 1 : 0) << 24;
32
+ case SyntaxKind.HeritageClause:
33
+ return (node.token === SyntaxKind.ImplementsKeyword ? 1 : 0) << 24;
34
+ case SyntaxKind.ExportAssignment:
35
+ return (node.isExportEquals ? 1 : 0) << 24;
36
+ case SyntaxKind.ExportSpecifier:
37
+ return (node.isTypeOnly ? 1 : 0) << 24;
38
+ case SyntaxKind.PrefixUnaryExpression:
39
+ return (node.operator === SyntaxKind.MinusToken ? 1 : node.operator === SyntaxKind.TildeToken ? 2 : node.operator === SyntaxKind.ExclamationToken ? 3 : node.operator === SyntaxKind.PlusPlusToken ? 4 : node.operator === SyntaxKind.MinusMinusToken ? 5 : 0) << 24;
40
+ case SyntaxKind.PostfixUnaryExpression:
41
+ return (node.operator === SyntaxKind.MinusMinusToken ? 1 : 0) << 24;
42
+ case SyntaxKind.MetaProperty:
43
+ return (node.keywordToken === SyntaxKind.NewKeyword ? 1 : 0) << 24;
44
+ case SyntaxKind.ArrayLiteralExpression:
45
+ return (node.multiLine ? 1 : 0) << 24;
46
+ case SyntaxKind.ObjectLiteralExpression:
47
+ return (node.multiLine ? 1 : 0) << 24;
48
+ case SyntaxKind.TypeOperator:
49
+ return (node.operator === SyntaxKind.ReadonlyKeyword ? 1 : node.operator === SyntaxKind.UniqueKeyword ? 2 : 0) << 24;
50
+ case SyntaxKind.ImportAttributes:
51
+ return (node.multiLine ? 1 : 0) << 24 | (node.token === SyntaxKind.AssertKeyword ? 1 : 0) << 25;
52
+ case SyntaxKind.JsxText:
53
+ return (node.containsOnlyTriviaWhiteSpaces ? 1 : 0) << 24;
54
+ case SyntaxKind.ModuleDeclaration:
55
+ return (node.keyword === SyntaxKind.NamespaceKeyword ? 1 : 0) << 24;
56
+ case SyntaxKind.ImportEqualsDeclaration:
57
+ return (node.isTypeOnly ? 1 : 0) << 24;
58
+ case SyntaxKind.ExportDeclaration:
59
+ return (node.isTypeOnly ? 1 : 0) << 24;
60
+ case SyntaxKind.ImportType:
61
+ return (node.isTypeOf ? 1 : 0) << 24;
62
+ case SyntaxKind.ImportClause:
63
+ return (node.phaseModifier === SyntaxKind.TypeKeyword ? 1 : node.phaseModifier === SyntaxKind.DeferKeyword ? 2 : 0) << 24;
64
+ case SyntaxKind.ImportSpecifier:
65
+ return (node.isTypeOnly ? 1 : 0) << 24;
66
+ case SyntaxKind.JSDocTypeLiteral:
67
+ return (node.isArrayType ? 1 : 0) << 24;
68
+ case SyntaxKind.JSDocParameterTag:
69
+ case SyntaxKind.JSDocPropertyTag:
70
+ return (node.isBracketed ? 1 : 0) << 24 | (node.isNameFirst ? 1 : 0) << 25;
71
+ }
72
+ return 0;
73
+ }
74
+ //# sourceMappingURL=encoder.generated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encoder.generated.js","sourceRoot":"","sources":["../../../src/api/node/encoder.generated.ts"],"names":[],"mappings":"AAAA,+DAA+D;AA0B/D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACH,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,GACxB,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,eAAe,CAAC,IAAgB;IAC5C,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,UAAU,CAAC,UAAU,CAAC;QAC3B,KAAK,UAAU,CAAC,iBAAiB,CAAC;QAClC,KAAK,UAAU,CAAC,OAAO,CAAC;QACxB,KAAK,UAAU,CAAC,SAAS,CAAC;QAC1B,KAAK,UAAU,CAAC,SAAS,CAAC;QAC1B,KAAK,UAAU,CAAC,cAAc,CAAC;QAC/B,KAAK,UAAU,CAAC,aAAa;YACzB,OAAO,qBAAqB,CAAC;QACjC,KAAK,UAAU,CAAC,aAAa,CAAC;QAC9B,KAAK,UAAU,CAAC,cAAc,CAAC;QAC/B,KAAK,UAAU,CAAC,aAAa,CAAC;QAC9B,KAAK,UAAU,CAAC,wBAAwB,CAAC;QACzC,KAAK,UAAU,CAAC,6BAA6B,CAAC;QAC9C,KAAK,UAAU,CAAC,YAAY,CAAC;QAC7B,KAAK,UAAU,CAAC,cAAc,CAAC;QAC/B,KAAK,UAAU,CAAC,YAAY,CAAC;QAC7B,KAAK,UAAU,CAAC,UAAU;YACtB,OAAO,uBAAuB,CAAC;QACnC;YACI,OAAO,uBAAuB,CAAC;IACvC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAU;IACxC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,UAAU,CAAC,KAAK;YACjB,OAAO,CAAE,IAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACrD,KAAK,UAAU,CAAC,cAAc;YAC1B,OAAO,CAAE,IAAuB,CAAC,KAAK,KAAK,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3F,KAAK,UAAU,CAAC,gBAAgB;YAC5B,OAAO,CAAE,IAAyB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACrE,KAAK,UAAU,CAAC,eAAe;YAC3B,OAAO,CAAE,IAAwB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChE,KAAK,UAAU,CAAC,qBAAqB;YACjC,OAAO,CAAE,IAA8B,CAAC,QAAQ,KAAK,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,IAA8B,CAAC,QAAQ,KAAK,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,IAA8B,CAAC,QAAQ,KAAK,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,IAA8B,CAAC,QAAQ,KAAK,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,IAA8B,CAAC,QAAQ,KAAK,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChZ,KAAK,UAAU,CAAC,sBAAsB;YAClC,OAAO,CAAE,IAA+B,CAAC,QAAQ,KAAK,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpG,KAAK,UAAU,CAAC,YAAY;YACxB,OAAO,CAAE,IAAqB,CAAC,YAAY,KAAK,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzF,KAAK,UAAU,CAAC,sBAAsB;YAClC,OAAO,CAAE,IAA+B,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACtE,KAAK,UAAU,CAAC,uBAAuB;YACnC,OAAO,CAAE,IAAgC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvE,KAAK,UAAU,CAAC,YAAY;YACxB,OAAO,CAAE,IAAyB,CAAC,QAAQ,KAAK,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,IAAyB,CAAC,QAAQ,KAAK,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACrK,KAAK,UAAU,CAAC,gBAAgB;YAC5B,OAAO,CAAE,IAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAE,IAAyB,CAAC,KAAK,KAAK,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChJ,KAAK,UAAU,CAAC,OAAO;YACnB,OAAO,CAAE,IAAgB,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3E,KAAK,UAAU,CAAC,iBAAiB;YAC7B,OAAO,CAAE,IAA0B,CAAC,OAAO,KAAK,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/F,KAAK,UAAU,CAAC,uBAAuB;YACnC,OAAO,CAAE,IAAgC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxE,KAAK,UAAU,CAAC,iBAAiB;YAC7B,OAAO,CAAE,IAA0B,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClE,KAAK,UAAU,CAAC,UAAU;YACtB,OAAO,CAAE,IAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7D,KAAK,UAAU,CAAC,YAAY;YACxB,OAAO,CAAE,IAAqB,CAAC,aAAa,KAAK,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,IAAqB,CAAC,aAAa,KAAK,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClK,KAAK,UAAU,CAAC,eAAe;YAC3B,OAAO,CAAE,IAAwB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChE,KAAK,UAAU,CAAC,gBAAgB;YAC5B,OAAO,CAAE,IAAyB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClE,KAAK,UAAU,CAAC,iBAAiB,CAAC;QAClC,KAAK,UAAU,CAAC,gBAAgB;YAC5B,OAAO,CAAE,IAAoC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAE,IAAoC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrJ,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC"}
@@ -0,0 +1,304 @@
1
+ import { SyntaxKind } from "../../ast/index.js";
2
+ import { getNodeCommonData, getNodeDataType, } from "./encoder.generated.js";
3
+ import { MsgpackWriter } from "./msgpack.js";
4
+ import { childProperties, HEADER_OFFSET_EXTENDED_DATA, HEADER_OFFSET_METADATA, HEADER_OFFSET_NODES, HEADER_OFFSET_STRING_TABLE, HEADER_OFFSET_STRING_TABLE_OFFSETS, HEADER_OFFSET_STRUCTURED_DATA, HEADER_SIZE, KIND_NODE_LIST, NODE_DATA_TYPE_CHILDREN, NODE_DATA_TYPE_EXTENDED, NODE_DATA_TYPE_STRING, NODE_LEN, PROTOCOL_VERSION, } from "./protocol.js";
5
+ const NODE_FIELDS = NODE_LEN / 4;
6
+ const NODE_FIELD_NEXT = 3;
7
+ const NO_STRUCTURED_DATA = 0xFFFFFFFF;
8
+ // String table that accumulates strings into a flat byte pool.
9
+ class StringTable {
10
+ parts;
11
+ byteLen;
12
+ offsets;
13
+ constructor() {
14
+ this.parts = [];
15
+ this.byteLen = 0;
16
+ this.offsets = [];
17
+ }
18
+ add(text) {
19
+ const index = this.offsets.length;
20
+ const encoder = cachedEncoder();
21
+ const encodedLength = encoder.encode(text).length;
22
+ const offset = this.byteLen;
23
+ this.parts.push(text);
24
+ this.byteLen += encodedLength;
25
+ this.offsets.push(offset, offset + encodedLength);
26
+ return index;
27
+ }
28
+ encode() {
29
+ const encoder = cachedEncoder();
30
+ const dataBytes = encoder.encode(this.parts.join(""));
31
+ const offsetBytes = new Uint8Array(this.offsets.length * 4);
32
+ const view = new DataView(offsetBytes.buffer);
33
+ for (let i = 0; i < this.offsets.length; i++) {
34
+ view.setUint32(i * 4, this.offsets[i], true);
35
+ }
36
+ const result = new Uint8Array(offsetBytes.length + dataBytes.length);
37
+ result.set(offsetBytes, 0);
38
+ result.set(dataBytes, offsetBytes.length);
39
+ return result;
40
+ }
41
+ stringByteLength() {
42
+ return this.byteLen;
43
+ }
44
+ offsetsCount() {
45
+ return this.offsets.length;
46
+ }
47
+ }
48
+ let _encoder;
49
+ function cachedEncoder() {
50
+ return _encoder ??= new TextEncoder();
51
+ }
52
+ function getChildrenPropertyMask(node) {
53
+ const kind = node.kind;
54
+ // Special handling for JSDocParameterTag and JSDocPropertyTag
55
+ if (kind === SyntaxKind.JSDocParameterTag || kind === SyntaxKind.JSDocPropertyTag) {
56
+ const tag = node;
57
+ if (tag.isNameFirst) {
58
+ return (boolBit(tag.tagName) << 0) | (boolBit(tag.name) << 1) | (boolBit(tag.typeExpression) << 2) | (boolBit(tag.comment) << 3);
59
+ }
60
+ return (boolBit(tag.tagName) << 0) | (boolBit(tag.typeExpression) << 1) | (boolBit(tag.name) << 2) | (boolBit(tag.comment) << 3);
61
+ }
62
+ const props = childProperties[kind];
63
+ if (!props) {
64
+ return 0;
65
+ }
66
+ const n = node;
67
+ let mask = 0;
68
+ for (let i = 0; i < props.length; i++) {
69
+ const prop = props[i];
70
+ if (prop !== undefined && isChildPresent(n[prop])) {
71
+ mask |= 1 << i;
72
+ }
73
+ }
74
+ return mask;
75
+ }
76
+ function boolBit(v) {
77
+ return isChildPresent(v) ? 1 : 0;
78
+ }
79
+ // A child is "present" if it's non-null/non-undefined.
80
+ // This matches the Go encoder's behavior where non-nil NodeLists (even empty)
81
+ // are treated as present, and only nil NodeLists are absent.
82
+ function isChildPresent(v) {
83
+ if (v === undefined || v === null)
84
+ return false;
85
+ return true;
86
+ }
87
+ function recordNodeStrings(node, strs) {
88
+ return strs.add(node.text ?? "");
89
+ }
90
+ function encodeFileReferences(refs, writer) {
91
+ if (!refs || refs.length === 0)
92
+ return NO_STRUCTURED_DATA;
93
+ const offset = writer.finish().length;
94
+ writer.writeArrayHeader(refs.length);
95
+ for (const ref of refs) {
96
+ writer.writeArrayHeader(5);
97
+ writer.writeUint(ref.pos);
98
+ writer.writeUint(ref.end);
99
+ writer.writeString(ref.fileName);
100
+ writer.writeUint(ref.resolutionMode ?? 0);
101
+ writer.writeBool(ref.preserve ?? false);
102
+ }
103
+ return offset;
104
+ }
105
+ function recordExtendedData(node, strs, extendedData, structuredWriter) {
106
+ const offset = extendedData.length * 4;
107
+ if (node.kind === SyntaxKind.SourceFile) {
108
+ const sf = node;
109
+ const textIndex = strs.add(sf.text);
110
+ const fileNameIndex = strs.add(sf.fileName);
111
+ const pathIndex = strs.add(sf.path);
112
+ const referencedFilesOffset = encodeFileReferences(sf.referencedFiles, structuredWriter);
113
+ const typeRefDirectivesOffset = encodeFileReferences(sf.typeReferenceDirectives, structuredWriter);
114
+ const libRefDirectivesOffset = encodeFileReferences(sf.libReferenceDirectives, structuredWriter);
115
+ extendedData.push(textIndex, fileNameIndex, pathIndex, sf.languageVariant, sf.scriptKind, referencedFilesOffset, typeRefDirectivesOffset, libRefDirectivesOffset, NO_STRUCTURED_DATA, NO_STRUCTURED_DATA, NO_STRUCTURED_DATA, 0);
116
+ }
117
+ else if (node.kind === SyntaxKind.TemplateHead ||
118
+ node.kind === SyntaxKind.TemplateMiddle ||
119
+ node.kind === SyntaxKind.TemplateTail) {
120
+ const tmpl = node;
121
+ const text = tmpl.text ?? "";
122
+ const rawText = tmpl.rawText ?? "";
123
+ const templateFlags = tmpl.templateFlags ?? 0;
124
+ const textIndex = strs.add(text);
125
+ const rawTextIndex = strs.add(rawText);
126
+ extendedData.push(textIndex, rawTextIndex, templateFlags);
127
+ }
128
+ else {
129
+ // StringLiteral, NumericLiteral, BigIntLiteral, RegularExpressionLiteral,
130
+ // NoSubstitutionTemplateLiteral — format: [textIndex, tokenFlags]
131
+ const n = node;
132
+ const text = n.text ?? "";
133
+ const tokenFlags = n.tokenFlags ?? 0;
134
+ const textIndex = strs.add(text);
135
+ extendedData.push(textIndex, tokenFlags);
136
+ }
137
+ return offset;
138
+ }
139
+ function getNodeData(node, strs, extendedData, structuredWriter) {
140
+ const t = getNodeDataType(node.kind);
141
+ const common = getNodeCommonData(node);
142
+ switch (t) {
143
+ case NODE_DATA_TYPE_CHILDREN:
144
+ return t | common | getChildrenPropertyMask(node);
145
+ case NODE_DATA_TYPE_STRING:
146
+ return t | common | recordNodeStrings(node, strs);
147
+ case NODE_DATA_TYPE_EXTENDED:
148
+ return t | common | recordExtendedData(node, strs, extendedData, structuredWriter);
149
+ default:
150
+ throw new Error("unreachable");
151
+ }
152
+ }
153
+ function getChildPropertiesForNode(node) {
154
+ const kind = node.kind;
155
+ if (kind === SyntaxKind.JSDocParameterTag || kind === SyntaxKind.JSDocPropertyTag) {
156
+ return node.isNameFirst
157
+ ? ["tagName", "name", "typeExpression", "comment"]
158
+ : ["tagName", "typeExpression", "name", "comment"];
159
+ }
160
+ return childProperties[kind];
161
+ }
162
+ // Returns whether a value is a NodeArray (array-like with pos and end).
163
+ function isNodeArray(value) {
164
+ return Array.isArray(value) && typeof value.pos === "number" && typeof value.end === "number";
165
+ }
166
+ /**
167
+ * Encode a SourceFile AST node into the binary format.
168
+ */
169
+ export function encodeSourceFile(sourceFile) {
170
+ return encodeNode(sourceFile);
171
+ }
172
+ /**
173
+ * Encode an arbitrary AST node into the binary format.
174
+ * When encoding a non-SourceFile node, the header hash and parse options fields will be zero.
175
+ */
176
+ export function encodeNode(node) {
177
+ const strs = new StringTable();
178
+ const extendedDataValues = [];
179
+ const structuredWriter = new MsgpackWriter();
180
+ // We'll build an array of uint32 values for the nodes section, 7 per node
181
+ const nodeValues = [];
182
+ // Nil node (index 0)
183
+ nodeValues.push(0, 0, 0, 0, 0, 0, 0);
184
+ let nodeCount = 0;
185
+ let parentIndex = 0;
186
+ let prevIndex = 0;
187
+ function visitNode(node) {
188
+ nodeCount++;
189
+ const currentIndex = nodeCount;
190
+ if (prevIndex !== 0) {
191
+ // Set next pointer on previous sibling
192
+ nodeValues[prevIndex * NODE_FIELDS + NODE_FIELD_NEXT] = currentIndex;
193
+ }
194
+ const data = getNodeData(node, strs, extendedDataValues, structuredWriter);
195
+ nodeValues.push(node.kind, node.pos >= 0 ? node.pos : 0, node.end >= 0 ? node.end : 0, 0, // next (filled in later)
196
+ parentIndex, data, node.flags);
197
+ const saveParentIndex = parentIndex;
198
+ const savePrevIndex = prevIndex;
199
+ parentIndex = currentIndex;
200
+ prevIndex = 0;
201
+ visitChildren(node);
202
+ prevIndex = currentIndex;
203
+ parentIndex = saveParentIndex;
204
+ }
205
+ function visitNodeList(list) {
206
+ if (!list) {
207
+ return;
208
+ }
209
+ nodeCount++;
210
+ const currentIndex = nodeCount;
211
+ if (prevIndex !== 0) {
212
+ nodeValues[prevIndex * NODE_FIELDS + NODE_FIELD_NEXT] = currentIndex;
213
+ }
214
+ nodeValues.push(KIND_NODE_LIST, list.pos >= 0 ? list.pos : 0, list.end >= 0 ? list.end : 0, 0, // next
215
+ parentIndex, list.length, // data for NodeList is its length
216
+ 0);
217
+ const saveParentIndex = parentIndex;
218
+ parentIndex = currentIndex;
219
+ prevIndex = 0;
220
+ for (const child of list) {
221
+ visitNode(child);
222
+ }
223
+ prevIndex = currentIndex;
224
+ parentIndex = saveParentIndex;
225
+ }
226
+ function visitChildren(node) {
227
+ const props = getChildPropertiesForNode(node);
228
+ const n = node;
229
+ if (props) {
230
+ for (const propName of props) {
231
+ if (propName === undefined)
232
+ continue;
233
+ const child = n[propName];
234
+ if (child === undefined || child === null)
235
+ continue;
236
+ if (isNodeArray(child)) {
237
+ visitNodeList(child);
238
+ }
239
+ else {
240
+ visitNode(child);
241
+ }
242
+ }
243
+ }
244
+ }
245
+ // Encode root node
246
+ nodeCount++;
247
+ parentIndex++;
248
+ const rootData = getNodeData(node, strs, extendedDataValues, structuredWriter);
249
+ nodeValues.push(node.kind, node.pos >= 0 ? node.pos : 0, node.end >= 0 ? node.end : 0, 0, 0, rootData, node.flags);
250
+ const saveParent = parentIndex;
251
+ prevIndex = 0;
252
+ parentIndex = 1; // root is at index 1
253
+ visitChildren(node);
254
+ parentIndex = saveParent;
255
+ // Encode extended data section
256
+ const extendedDataBytes = new Uint8Array(extendedDataValues.length * 4);
257
+ const extView = new DataView(extendedDataBytes.buffer);
258
+ for (let i = 0; i < extendedDataValues.length; i++) {
259
+ extView.setUint32(i * 4, extendedDataValues[i], true);
260
+ }
261
+ // Encode structured data section
262
+ const structuredDataBytes = structuredWriter.finish();
263
+ // Encode string table
264
+ const strsBytes = strs.encode();
265
+ // Encode nodes section
266
+ const nodesBytes = new Uint8Array(nodeValues.length * 4);
267
+ const nodesView = new DataView(nodesBytes.buffer);
268
+ for (let i = 0; i < nodeValues.length; i++) {
269
+ nodesView.setUint32(i * 4, nodeValues[i] >>> 0, true);
270
+ }
271
+ // Calculate section offsets
272
+ const offsetStringTableOffsets = HEADER_SIZE;
273
+ const offsetStringTableData = HEADER_SIZE + strs.offsetsCount() * 4;
274
+ const offsetExtendedData = offsetStringTableData + strs.stringByteLength();
275
+ const offsetStructuredData = offsetExtendedData + extendedDataBytes.length;
276
+ const offsetNodes = offsetStructuredData + structuredDataBytes.length;
277
+ // Build header
278
+ const header = new Uint8Array(HEADER_SIZE);
279
+ const headerView = new DataView(header.buffer);
280
+ const metadata = PROTOCOL_VERSION << 24;
281
+ headerView.setUint32(HEADER_OFFSET_METADATA, metadata, true);
282
+ // bytes 4-19: hash (zero for non-SourceFile, we don't have access to xxh3 here)
283
+ // byte 20-23: parse options (zero for non-SourceFile)
284
+ headerView.setUint32(HEADER_OFFSET_STRING_TABLE_OFFSETS, offsetStringTableOffsets, true);
285
+ headerView.setUint32(HEADER_OFFSET_STRING_TABLE, offsetStringTableData, true);
286
+ headerView.setUint32(HEADER_OFFSET_EXTENDED_DATA, offsetExtendedData, true);
287
+ headerView.setUint32(HEADER_OFFSET_STRUCTURED_DATA, offsetStructuredData, true);
288
+ headerView.setUint32(HEADER_OFFSET_NODES, offsetNodes, true);
289
+ // Concatenate all sections
290
+ const result = new Uint8Array(header.length + strsBytes.length + extendedDataBytes.length + structuredDataBytes.length + nodesBytes.length);
291
+ result.set(header, 0);
292
+ result.set(strsBytes, HEADER_SIZE);
293
+ result.set(extendedDataBytes, offsetExtendedData);
294
+ result.set(structuredDataBytes, offsetStructuredData);
295
+ result.set(nodesBytes, offsetNodes);
296
+ return result;
297
+ }
298
+ /**
299
+ * Encode a Uint8Array to a base64 string.
300
+ */
301
+ export function uint8ArrayToBase64(data) {
302
+ return Buffer.from(data).toString("base64");
303
+ }
304
+ //# sourceMappingURL=encoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../../src/api/node/encoder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ export declare const MSGPACK_FIXARRAY3 = 147;
2
+ export declare const MSGPACK_BIN8 = 196;
3
+ export declare const MSGPACK_BIN16 = 197;
4
+ export declare const MSGPACK_BIN32 = 198;
5
+ export declare const MSGPACK_UINT8 = 204;
6
+ /** Compute the MessagePack bin header size for a given data length. */
7
+ export declare function binHeaderSize(len: number): number;
8
+ /** Write a MessagePack bin header into `buf` at `off`, return new offset. */
9
+ export declare function writeBinHeader(buf: Uint8Array, off: number, len: number): number;
10
+ export declare class MsgpackWriter {
11
+ private buf;
12
+ private view;
13
+ private pos;
14
+ constructor(initialSize?: number);
15
+ private ensure;
16
+ writeArrayHeader(length: number): void;
17
+ writeUint(value: number): void;
18
+ writeString(str: string): void;
19
+ writeBool(value: boolean): void;
20
+ finish(): Uint8Array;
21
+ }
22
+ export declare class MsgpackReader {
23
+ private buf;
24
+ private view;
25
+ private pos;
26
+ constructor(data: Uint8Array, offset?: number);
27
+ readArrayHeader(): number;
28
+ readUint(): number;
29
+ readString(): string;
30
+ readBool(): boolean;
31
+ }
32
+ //# sourceMappingURL=msgpack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"msgpack.d.ts","sourceRoot":"","sources":["../../../src/api/node/msgpack.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,iBAAiB,MAAO,CAAC;AACtC,eAAO,MAAM,YAAY,MAAO,CAAC;AACjC,eAAO,MAAM,aAAa,MAAO,CAAC;AAClC,eAAO,MAAM,aAAa,MAAO,CAAC;AAClC,eAAO,MAAM,aAAa,MAAO,CAAC;AAIlC,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAIjD;AAED,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAkBhF;AAKD,qBAAa,aAAa;IACtB,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,GAAG,CAAS;gBAER,WAAW,SAAM;IAM7B,OAAO,CAAC,MAAM;IAWd,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAmBtC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAwB9B,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IA4B9B,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAK/B,MAAM,IAAI,UAAU;CAGvB;AAED,qBAAa,aAAa;IACtB,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,GAAG,CAAS;gBAER,IAAI,EAAE,UAAU,EAAE,MAAM,SAAI;IAMxC,eAAe,IAAI,MAAM;IAgBzB,QAAQ,IAAI,MAAM;IAiBlB,UAAU,IAAI,MAAM;IAyBpB,QAAQ,IAAI,OAAO;CAMtB"}
@@ -0,0 +1,212 @@
1
+ // Minimal msgpack encoder/decoder.
2
+ // Supports: arrays, unsigned integers, strings, booleans, binary data.
3
+ // ── MessagePack format constants ────────────────────────────────────
4
+ export const MSGPACK_FIXARRAY3 = 0x93; // 3-element fixarray
5
+ export const MSGPACK_BIN8 = 0xc4;
6
+ export const MSGPACK_BIN16 = 0xc5;
7
+ export const MSGPACK_BIN32 = 0xc6;
8
+ export const MSGPACK_UINT8 = 0xcc;
9
+ // ── Bin header helpers ──────────────────────────────────────────────
10
+ /** Compute the MessagePack bin header size for a given data length. */
11
+ export function binHeaderSize(len) {
12
+ if (len < 0x100)
13
+ return 2; // BIN8: marker + 1-byte size
14
+ if (len < 0x10000)
15
+ return 3; // BIN16: marker + 2-byte size
16
+ return 5; // BIN32: marker + 4-byte size
17
+ }
18
+ /** Write a MessagePack bin header into `buf` at `off`, return new offset. */
19
+ export function writeBinHeader(buf, off, len) {
20
+ if (len < 0x100) {
21
+ buf[off++] = MSGPACK_BIN8;
22
+ buf[off++] = len;
23
+ }
24
+ else if (len < 0x10000) {
25
+ buf[off++] = MSGPACK_BIN16;
26
+ buf[off++] = (len >>> 8) & 0xff;
27
+ buf[off++] = len & 0xff;
28
+ }
29
+ else {
30
+ buf[off++] = MSGPACK_BIN32;
31
+ buf[off++] = (len >>> 24) & 0xff;
32
+ buf[off++] = (len >>> 16) & 0xff;
33
+ buf[off++] = (len >>> 8) & 0xff;
34
+ buf[off++] = len & 0xff;
35
+ }
36
+ return off;
37
+ }
38
+ const encoder = new TextEncoder();
39
+ const decoder = new TextDecoder();
40
+ export class MsgpackWriter {
41
+ buf;
42
+ view;
43
+ pos;
44
+ constructor(initialSize = 256) {
45
+ this.buf = new Uint8Array(initialSize);
46
+ this.view = new DataView(this.buf.buffer);
47
+ this.pos = 0;
48
+ }
49
+ ensure(n) {
50
+ if (this.pos + n > this.buf.length) {
51
+ let newSize = this.buf.length * 2;
52
+ while (newSize < this.pos + n)
53
+ newSize *= 2;
54
+ const next = new Uint8Array(newSize);
55
+ next.set(this.buf);
56
+ this.buf = next;
57
+ this.view = new DataView(this.buf.buffer);
58
+ }
59
+ }
60
+ writeArrayHeader(length) {
61
+ if (length <= 0x0f) {
62
+ this.ensure(1);
63
+ this.buf[this.pos++] = 0x90 | length;
64
+ }
65
+ else if (length <= 0xffff) {
66
+ this.ensure(3);
67
+ this.buf[this.pos++] = 0xdc;
68
+ this.view.setUint16(this.pos, length, false);
69
+ this.pos += 2;
70
+ }
71
+ else {
72
+ this.ensure(5);
73
+ this.buf[this.pos++] = 0xdd;
74
+ this.view.setUint32(this.pos, length, false);
75
+ this.pos += 4;
76
+ }
77
+ }
78
+ writeUint(value) {
79
+ if (value <= 0x7f) {
80
+ this.ensure(1);
81
+ this.buf[this.pos++] = value;
82
+ }
83
+ else if (value <= 0xff) {
84
+ this.ensure(2);
85
+ this.buf[this.pos++] = 0xcc;
86
+ this.buf[this.pos++] = value;
87
+ }
88
+ else if (value <= 0xffff) {
89
+ this.ensure(3);
90
+ this.buf[this.pos++] = 0xcd;
91
+ this.view.setUint16(this.pos, value, false);
92
+ this.pos += 2;
93
+ }
94
+ else {
95
+ this.ensure(5);
96
+ this.buf[this.pos++] = 0xce;
97
+ this.view.setUint32(this.pos, value, false);
98
+ this.pos += 4;
99
+ }
100
+ }
101
+ writeString(str) {
102
+ const encoded = encoder.encode(str);
103
+ const len = encoded.length;
104
+ if (len <= 0x1f) {
105
+ this.ensure(1 + len);
106
+ this.buf[this.pos++] = 0xa0 | len;
107
+ }
108
+ else if (len <= 0xff) {
109
+ this.ensure(2 + len);
110
+ this.buf[this.pos++] = 0xd9;
111
+ this.buf[this.pos++] = len;
112
+ }
113
+ else if (len <= 0xffff) {
114
+ this.ensure(3 + len);
115
+ this.buf[this.pos++] = 0xda;
116
+ this.view.setUint16(this.pos, len, false);
117
+ this.pos += 2;
118
+ }
119
+ else {
120
+ this.ensure(5 + len);
121
+ this.buf[this.pos++] = 0xdb;
122
+ this.view.setUint32(this.pos, len, false);
123
+ this.pos += 4;
124
+ }
125
+ this.buf.set(encoded, this.pos);
126
+ this.pos += len;
127
+ }
128
+ writeBool(value) {
129
+ this.ensure(1);
130
+ this.buf[this.pos++] = value ? 0xc3 : 0xc2;
131
+ }
132
+ finish() {
133
+ return this.buf.subarray(0, this.pos);
134
+ }
135
+ }
136
+ export class MsgpackReader {
137
+ buf;
138
+ view;
139
+ pos;
140
+ constructor(data, offset = 0) {
141
+ this.buf = data;
142
+ this.view = new DataView(data.buffer, data.byteOffset, data.byteLength);
143
+ this.pos = offset;
144
+ }
145
+ readArrayHeader() {
146
+ const byte = this.buf[this.pos++];
147
+ if ((byte & 0xf0) === 0x90)
148
+ return byte & 0x0f;
149
+ if (byte === 0xdc) {
150
+ const len = this.view.getUint16(this.pos, false);
151
+ this.pos += 2;
152
+ return len;
153
+ }
154
+ if (byte === 0xdd) {
155
+ const len = this.view.getUint32(this.pos, false);
156
+ this.pos += 4;
157
+ return len;
158
+ }
159
+ throw new Error(`Expected array header, got 0x${byte.toString(16)}`);
160
+ }
161
+ readUint() {
162
+ const byte = this.buf[this.pos++];
163
+ if (byte <= 0x7f)
164
+ return byte;
165
+ if (byte === 0xcc)
166
+ return this.buf[this.pos++];
167
+ if (byte === 0xcd) {
168
+ const val = this.view.getUint16(this.pos, false);
169
+ this.pos += 2;
170
+ return val;
171
+ }
172
+ if (byte === 0xce) {
173
+ const val = this.view.getUint32(this.pos, false);
174
+ this.pos += 4;
175
+ return val;
176
+ }
177
+ throw new Error(`Expected uint, got 0x${byte.toString(16)}`);
178
+ }
179
+ readString() {
180
+ const byte = this.buf[this.pos++];
181
+ let len;
182
+ if ((byte & 0xe0) === 0xa0) {
183
+ len = byte & 0x1f;
184
+ }
185
+ else if (byte === 0xd9) {
186
+ len = this.buf[this.pos++];
187
+ }
188
+ else if (byte === 0xda) {
189
+ len = this.view.getUint16(this.pos, false);
190
+ this.pos += 2;
191
+ }
192
+ else if (byte === 0xdb) {
193
+ len = this.view.getUint32(this.pos, false);
194
+ this.pos += 4;
195
+ }
196
+ else {
197
+ throw new Error(`Expected string, got 0x${byte.toString(16)}`);
198
+ }
199
+ const str = decoder.decode(this.buf.subarray(this.pos, this.pos + len));
200
+ this.pos += len;
201
+ return str;
202
+ }
203
+ readBool() {
204
+ const byte = this.buf[this.pos++];
205
+ if (byte === 0xc3)
206
+ return true;
207
+ if (byte === 0xc2)
208
+ return false;
209
+ throw new Error(`Expected bool, got 0x${byte.toString(16)}`);
210
+ }
211
+ }
212
+ //# sourceMappingURL=msgpack.js.map