typescript 6.0.3 → 7.0.2

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 (550) hide show
  1. package/{ThirdPartyNoticeText.txt → NOTICE.txt} +249 -6
  2. package/README.md +49 -50
  3. package/bin/tsc +1 -1
  4. package/dist/api/async/api.d.ts +529 -0
  5. package/dist/api/async/api.d.ts.map +1 -0
  6. package/dist/api/async/api.js +1657 -0
  7. package/dist/api/async/api.js.map +1 -0
  8. package/dist/api/async/client.d.ts +39 -0
  9. package/dist/api/async/client.d.ts.map +1 -0
  10. package/dist/api/async/client.js +211 -0
  11. package/dist/api/async/client.js.map +1 -0
  12. package/dist/api/async/types.d.ts +310 -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/compilerOptions.d.ts +109 -0
  17. package/dist/api/compilerOptions.d.ts.map +1 -0
  18. package/dist/api/compilerOptions.js +2 -0
  19. package/dist/api/compilerOptions.js.map +1 -0
  20. package/dist/api/fs.d.ts +23 -0
  21. package/dist/api/fs.d.ts.map +1 -0
  22. package/dist/api/fs.js +109 -0
  23. package/dist/api/fs.js.map +1 -0
  24. package/dist/api/node/encoder.d.ts +15 -0
  25. package/dist/api/node/encoder.d.ts.map +1 -0
  26. package/dist/api/node/encoder.generated.d.ts +5 -0
  27. package/dist/api/node/encoder.generated.d.ts.map +1 -0
  28. package/dist/api/node/encoder.generated.js +74 -0
  29. package/dist/api/node/encoder.generated.js.map +1 -0
  30. package/dist/api/node/encoder.js +287 -0
  31. package/dist/api/node/encoder.js.map +1 -0
  32. package/dist/api/node/msgpack.d.ts +32 -0
  33. package/dist/api/node/msgpack.d.ts.map +1 -0
  34. package/dist/api/node/msgpack.js +213 -0
  35. package/dist/api/node/msgpack.js.map +1 -0
  36. package/dist/api/node/node.d.ts +76 -0
  37. package/dist/api/node/node.d.ts.map +1 -0
  38. package/dist/api/node/node.generated.d.ts +182 -0
  39. package/dist/api/node/node.generated.d.ts.map +1 -0
  40. package/dist/api/node/node.generated.js +835 -0
  41. package/dist/api/node/node.generated.js.map +1 -0
  42. package/dist/api/node/node.infrastructure.d.ts +62 -0
  43. package/dist/api/node/node.infrastructure.d.ts.map +1 -0
  44. package/dist/api/node/node.infrastructure.js +122 -0
  45. package/dist/api/node/node.infrastructure.js.map +1 -0
  46. package/dist/api/node/node.js +298 -0
  47. package/dist/api/node/node.js.map +1 -0
  48. package/dist/api/node/protocol.d.ts +29 -0
  49. package/dist/api/node/protocol.d.ts.map +1 -0
  50. package/dist/api/node/protocol.generated.d.ts +4 -0
  51. package/dist/api/node/protocol.generated.d.ts.map +1 -0
  52. package/dist/api/node/protocol.generated.js +241 -0
  53. package/dist/api/node/protocol.generated.js.map +1 -0
  54. package/dist/api/node/protocol.js +30 -0
  55. package/dist/api/node/protocol.js.map +1 -0
  56. package/dist/api/node/wtf8.d.ts +6 -0
  57. package/dist/api/node/wtf8.d.ts.map +1 -0
  58. package/dist/api/node/wtf8.js +61 -0
  59. package/dist/api/node/wtf8.js.map +1 -0
  60. package/dist/api/options.d.ts +32 -0
  61. package/dist/api/options.d.ts.map +1 -0
  62. package/dist/api/options.js +11 -0
  63. package/dist/api/options.js.map +1 -0
  64. package/dist/api/path.d.ts +110 -0
  65. package/dist/api/path.d.ts.map +1 -0
  66. package/dist/api/path.js +508 -0
  67. package/dist/api/path.js.map +1 -0
  68. package/dist/api/proto.d.ts +239 -0
  69. package/dist/api/proto.d.ts.map +1 -0
  70. package/dist/api/proto.js +37 -0
  71. package/dist/api/proto.js.map +1 -0
  72. package/dist/api/sourceFileCache.d.ts +79 -0
  73. package/dist/api/sourceFileCache.d.ts.map +1 -0
  74. package/dist/api/sourceFileCache.js +169 -0
  75. package/dist/api/sourceFileCache.js.map +1 -0
  76. package/dist/api/sync/api.d.ts +529 -0
  77. package/dist/api/sync/api.d.ts.map +1 -0
  78. package/dist/api/sync/api.js +1665 -0
  79. package/dist/api/sync/api.js.map +1 -0
  80. package/dist/api/sync/client.d.ts +30 -0
  81. package/dist/api/sync/client.d.ts.map +1 -0
  82. package/dist/api/sync/client.js +124 -0
  83. package/dist/api/sync/client.js.map +1 -0
  84. package/dist/api/sync/types.d.ts +310 -0
  85. package/dist/api/sync/types.d.ts.map +1 -0
  86. package/dist/api/sync/types.js +2 -0
  87. package/dist/api/sync/types.js.map +1 -0
  88. package/dist/api/syncChannel.d.ts +114 -0
  89. package/dist/api/syncChannel.d.ts.map +1 -0
  90. package/dist/api/syncChannel.js +508 -0
  91. package/dist/api/syncChannel.js.map +1 -0
  92. package/dist/api/timing.d.ts +175 -0
  93. package/dist/api/timing.d.ts.map +1 -0
  94. package/dist/api/timing.js +149 -0
  95. package/dist/api/timing.js.map +1 -0
  96. package/dist/ast/ast.d.ts +100 -0
  97. package/dist/ast/ast.d.ts.map +1 -0
  98. package/dist/ast/ast.generated.d.ts +1161 -0
  99. package/dist/ast/ast.generated.d.ts.map +1 -0
  100. package/dist/ast/ast.generated.js +4 -0
  101. package/dist/ast/ast.generated.js.map +1 -0
  102. package/dist/ast/ast.js +7 -0
  103. package/dist/ast/ast.js.map +1 -0
  104. package/dist/ast/astnav.d.ts +19 -0
  105. package/dist/ast/astnav.d.ts.map +1 -0
  106. package/dist/ast/astnav.js +596 -0
  107. package/dist/ast/astnav.js.map +1 -0
  108. package/dist/ast/clone.d.ts +16 -0
  109. package/dist/ast/clone.d.ts.map +1 -0
  110. package/dist/ast/clone.js +104 -0
  111. package/dist/ast/clone.js.map +1 -0
  112. package/dist/ast/factory.generated.d.ts +520 -0
  113. package/dist/ast/factory.generated.d.ts.map +1 -0
  114. package/dist/ast/factory.generated.js +3057 -0
  115. package/dist/ast/factory.generated.js.map +1 -0
  116. package/dist/ast/index.d.ts +20 -0
  117. package/dist/ast/index.d.ts.map +1 -0
  118. package/dist/ast/index.js +20 -0
  119. package/dist/ast/index.js.map +1 -0
  120. package/dist/ast/is.d.ts +35 -0
  121. package/dist/ast/is.d.ts.map +1 -0
  122. package/dist/ast/is.generated.d.ts +329 -0
  123. package/dist/ast/is.generated.d.ts.map +1 -0
  124. package/dist/ast/is.generated.js +1103 -0
  125. package/dist/ast/is.generated.js.map +1 -0
  126. package/dist/ast/is.js +233 -0
  127. package/dist/ast/is.js.map +1 -0
  128. package/dist/ast/jsdoc.d.ts +11 -0
  129. package/dist/ast/jsdoc.d.ts.map +1 -0
  130. package/dist/ast/jsdoc.js +202 -0
  131. package/dist/ast/jsdoc.js.map +1 -0
  132. package/dist/ast/scanner.d.ts +97 -0
  133. package/dist/ast/scanner.d.ts.map +1 -0
  134. package/dist/ast/scanner.js +2230 -0
  135. package/dist/ast/scanner.js.map +1 -0
  136. package/dist/ast/utils.d.ts +17 -0
  137. package/dist/ast/utils.d.ts.map +1 -0
  138. package/dist/ast/utils.js +67 -0
  139. package/dist/ast/utils.js.map +1 -0
  140. package/dist/ast/visitor.d.ts +14 -0
  141. package/dist/ast/visitor.d.ts.map +1 -0
  142. package/dist/ast/visitor.generated.d.ts +50 -0
  143. package/dist/ast/visitor.generated.d.ts.map +1 -0
  144. package/dist/ast/visitor.generated.js +978 -0
  145. package/dist/ast/visitor.generated.js.map +1 -0
  146. package/dist/ast/visitor.js +47 -0
  147. package/dist/ast/visitor.js.map +1 -0
  148. package/dist/enums/characterCodes.d.ts +2 -0
  149. package/dist/enums/characterCodes.d.ts.map +1 -0
  150. package/dist/enums/characterCodes.enum.d.ts +129 -0
  151. package/dist/enums/characterCodes.enum.d.ts.map +1 -0
  152. package/dist/enums/characterCodes.enum.js +132 -0
  153. package/dist/enums/characterCodes.enum.js.map +1 -0
  154. package/dist/enums/characterCodes.js +130 -0
  155. package/dist/enums/characterCodes.js.map +1 -0
  156. package/dist/enums/commentDirectiveType.d.ts +2 -0
  157. package/dist/enums/commentDirectiveType.d.ts.map +1 -0
  158. package/dist/enums/commentDirectiveType.enum.d.ts +5 -0
  159. package/dist/enums/commentDirectiveType.enum.d.ts.map +1 -0
  160. package/dist/enums/commentDirectiveType.enum.js +6 -0
  161. package/dist/enums/commentDirectiveType.enum.js.map +1 -0
  162. package/dist/enums/commentDirectiveType.js +6 -0
  163. package/dist/enums/commentDirectiveType.js.map +1 -0
  164. package/dist/enums/completionItemKind.d.ts +2 -0
  165. package/dist/enums/completionItemKind.d.ts.map +1 -0
  166. package/dist/enums/completionItemKind.enum.d.ts +28 -0
  167. package/dist/enums/completionItemKind.enum.d.ts.map +1 -0
  168. package/dist/enums/completionItemKind.enum.js +30 -0
  169. package/dist/enums/completionItemKind.enum.js.map +1 -0
  170. package/dist/enums/completionItemKind.js +30 -0
  171. package/dist/enums/completionItemKind.js.map +1 -0
  172. package/dist/enums/diagnosticCategory.d.ts +2 -0
  173. package/dist/enums/diagnosticCategory.d.ts.map +1 -0
  174. package/dist/enums/diagnosticCategory.enum.d.ts +7 -0
  175. package/dist/enums/diagnosticCategory.enum.d.ts.map +1 -0
  176. package/dist/enums/diagnosticCategory.enum.js +9 -0
  177. package/dist/enums/diagnosticCategory.enum.js.map +1 -0
  178. package/dist/enums/diagnosticCategory.js +9 -0
  179. package/dist/enums/diagnosticCategory.js.map +1 -0
  180. package/dist/enums/elementFlags.d.ts +2 -0
  181. package/dist/enums/elementFlags.d.ts.map +1 -0
  182. package/dist/enums/elementFlags.enum.d.ts +12 -0
  183. package/dist/enums/elementFlags.enum.d.ts.map +1 -0
  184. package/dist/enums/elementFlags.enum.js +14 -0
  185. package/dist/enums/elementFlags.enum.js.map +1 -0
  186. package/dist/enums/elementFlags.js +14 -0
  187. package/dist/enums/elementFlags.js.map +1 -0
  188. package/dist/enums/internalSymbolName.d.ts +2 -0
  189. package/dist/enums/internalSymbolName.d.ts.map +1 -0
  190. package/dist/enums/internalSymbolName.enum.d.ts +23 -0
  191. package/dist/enums/internalSymbolName.enum.d.ts.map +1 -0
  192. package/dist/enums/internalSymbolName.enum.js +25 -0
  193. package/dist/enums/internalSymbolName.enum.js.map +1 -0
  194. package/dist/enums/internalSymbolName.js +25 -0
  195. package/dist/enums/internalSymbolName.js.map +1 -0
  196. package/dist/enums/jsxEmit.d.ts +2 -0
  197. package/dist/enums/jsxEmit.d.ts.map +1 -0
  198. package/dist/enums/jsxEmit.enum.d.ts +9 -0
  199. package/dist/enums/jsxEmit.enum.d.ts.map +1 -0
  200. package/dist/enums/jsxEmit.enum.js +11 -0
  201. package/dist/enums/jsxEmit.enum.js.map +1 -0
  202. package/dist/enums/jsxEmit.js +11 -0
  203. package/dist/enums/jsxEmit.js.map +1 -0
  204. package/dist/enums/languageVariant.d.ts +2 -0
  205. package/dist/enums/languageVariant.d.ts.map +1 -0
  206. package/dist/enums/languageVariant.enum.d.ts +5 -0
  207. package/dist/enums/languageVariant.enum.d.ts.map +1 -0
  208. package/dist/enums/languageVariant.enum.js +6 -0
  209. package/dist/enums/languageVariant.enum.js.map +1 -0
  210. package/dist/enums/languageVariant.js +6 -0
  211. package/dist/enums/languageVariant.js.map +1 -0
  212. package/dist/enums/modifierFlags.d.ts +2 -0
  213. package/dist/enums/modifierFlags.d.ts.map +1 -0
  214. package/dist/enums/modifierFlags.enum.d.ts +42 -0
  215. package/dist/enums/modifierFlags.enum.d.ts.map +1 -0
  216. package/dist/enums/modifierFlags.enum.js +44 -0
  217. package/dist/enums/modifierFlags.enum.js.map +1 -0
  218. package/dist/enums/modifierFlags.js +44 -0
  219. package/dist/enums/modifierFlags.js.map +1 -0
  220. package/dist/enums/moduleDetectionKind.d.ts +2 -0
  221. package/dist/enums/moduleDetectionKind.d.ts.map +1 -0
  222. package/dist/enums/moduleDetectionKind.enum.d.ts +7 -0
  223. package/dist/enums/moduleDetectionKind.enum.d.ts.map +1 -0
  224. package/dist/enums/moduleDetectionKind.enum.js +9 -0
  225. package/dist/enums/moduleDetectionKind.enum.js.map +1 -0
  226. package/dist/enums/moduleDetectionKind.js +9 -0
  227. package/dist/enums/moduleDetectionKind.js.map +1 -0
  228. package/dist/enums/moduleKind.d.ts +2 -0
  229. package/dist/enums/moduleKind.d.ts.map +1 -0
  230. package/dist/enums/moduleKind.enum.d.ts +17 -0
  231. package/dist/enums/moduleKind.enum.d.ts.map +1 -0
  232. package/dist/enums/moduleKind.enum.js +19 -0
  233. package/dist/enums/moduleKind.enum.js.map +1 -0
  234. package/dist/enums/moduleKind.js +19 -0
  235. package/dist/enums/moduleKind.js.map +1 -0
  236. package/dist/enums/moduleResolutionKind.d.ts +2 -0
  237. package/dist/enums/moduleResolutionKind.d.ts.map +1 -0
  238. package/dist/enums/moduleResolutionKind.enum.d.ts +9 -0
  239. package/dist/enums/moduleResolutionKind.enum.d.ts.map +1 -0
  240. package/dist/enums/moduleResolutionKind.enum.js +11 -0
  241. package/dist/enums/moduleResolutionKind.enum.js.map +1 -0
  242. package/dist/enums/moduleResolutionKind.js +11 -0
  243. package/dist/enums/moduleResolutionKind.js.map +1 -0
  244. package/dist/enums/newLineKind.d.ts +2 -0
  245. package/dist/enums/newLineKind.d.ts.map +1 -0
  246. package/dist/enums/newLineKind.enum.d.ts +6 -0
  247. package/dist/enums/newLineKind.enum.d.ts.map +1 -0
  248. package/dist/enums/newLineKind.enum.js +8 -0
  249. package/dist/enums/newLineKind.enum.js.map +1 -0
  250. package/dist/enums/newLineKind.js +8 -0
  251. package/dist/enums/newLineKind.js.map +1 -0
  252. package/dist/enums/nodeBuilderFlags.d.ts +2 -0
  253. package/dist/enums/nodeBuilderFlags.d.ts.map +1 -0
  254. package/dist/enums/nodeBuilderFlags.enum.d.ts +36 -0
  255. package/dist/enums/nodeBuilderFlags.enum.d.ts.map +1 -0
  256. package/dist/enums/nodeBuilderFlags.enum.js +38 -0
  257. package/dist/enums/nodeBuilderFlags.enum.js.map +1 -0
  258. package/dist/enums/nodeBuilderFlags.js +38 -0
  259. package/dist/enums/nodeBuilderFlags.js.map +1 -0
  260. package/dist/enums/nodeFlags.d.ts +2 -0
  261. package/dist/enums/nodeFlags.d.ts.map +1 -0
  262. package/dist/enums/nodeFlags.enum.d.ts +44 -0
  263. package/dist/enums/nodeFlags.enum.d.ts.map +1 -0
  264. package/dist/enums/nodeFlags.enum.js +46 -0
  265. package/dist/enums/nodeFlags.enum.js.map +1 -0
  266. package/dist/enums/nodeFlags.js +46 -0
  267. package/dist/enums/nodeFlags.js.map +1 -0
  268. package/dist/enums/objectFlags.d.ts +2 -0
  269. package/dist/enums/objectFlags.d.ts.map +1 -0
  270. package/dist/enums/objectFlags.enum.d.ts +50 -0
  271. package/dist/enums/objectFlags.enum.d.ts.map +1 -0
  272. package/dist/enums/objectFlags.enum.js +52 -0
  273. package/dist/enums/objectFlags.enum.js.map +1 -0
  274. package/dist/enums/objectFlags.js +52 -0
  275. package/dist/enums/objectFlags.js.map +1 -0
  276. package/dist/enums/outerExpressionKinds.d.ts +2 -0
  277. package/dist/enums/outerExpressionKinds.d.ts.map +1 -0
  278. package/dist/enums/outerExpressionKinds.enum.d.ts +16 -0
  279. package/dist/enums/outerExpressionKinds.enum.d.ts.map +1 -0
  280. package/dist/enums/outerExpressionKinds.enum.js +18 -0
  281. package/dist/enums/outerExpressionKinds.enum.js.map +1 -0
  282. package/dist/enums/outerExpressionKinds.js +18 -0
  283. package/dist/enums/outerExpressionKinds.js.map +1 -0
  284. package/dist/enums/regularExpressionFlags.d.ts +2 -0
  285. package/dist/enums/regularExpressionFlags.d.ts.map +1 -0
  286. package/dist/enums/regularExpressionFlags.enum.d.ts +13 -0
  287. package/dist/enums/regularExpressionFlags.enum.d.ts.map +1 -0
  288. package/dist/enums/regularExpressionFlags.enum.js +14 -0
  289. package/dist/enums/regularExpressionFlags.enum.js.map +1 -0
  290. package/dist/enums/regularExpressionFlags.js +14 -0
  291. package/dist/enums/regularExpressionFlags.js.map +1 -0
  292. package/dist/enums/scriptKind.d.ts +2 -0
  293. package/dist/enums/scriptKind.d.ts.map +1 -0
  294. package/dist/enums/scriptKind.enum.d.ts +11 -0
  295. package/dist/enums/scriptKind.enum.d.ts.map +1 -0
  296. package/dist/enums/scriptKind.enum.js +12 -0
  297. package/dist/enums/scriptKind.enum.js.map +1 -0
  298. package/dist/enums/scriptKind.js +12 -0
  299. package/dist/enums/scriptKind.js.map +1 -0
  300. package/dist/enums/scriptTarget.d.ts +2 -0
  301. package/dist/enums/scriptTarget.d.ts.map +1 -0
  302. package/dist/enums/scriptTarget.enum.d.ts +17 -0
  303. package/dist/enums/scriptTarget.enum.d.ts.map +1 -0
  304. package/dist/enums/scriptTarget.enum.js +18 -0
  305. package/dist/enums/scriptTarget.enum.js.map +1 -0
  306. package/dist/enums/scriptTarget.js +18 -0
  307. package/dist/enums/scriptTarget.js.map +1 -0
  308. package/dist/enums/signatureFlags.d.ts +2 -0
  309. package/dist/enums/signatureFlags.d.ts.map +1 -0
  310. package/dist/enums/signatureFlags.enum.d.ts +15 -0
  311. package/dist/enums/signatureFlags.enum.d.ts.map +1 -0
  312. package/dist/enums/signatureFlags.enum.js +17 -0
  313. package/dist/enums/signatureFlags.enum.js.map +1 -0
  314. package/dist/enums/signatureFlags.js +17 -0
  315. package/dist/enums/signatureFlags.js.map +1 -0
  316. package/dist/enums/signatureKind.d.ts +2 -0
  317. package/dist/enums/signatureKind.d.ts.map +1 -0
  318. package/dist/enums/signatureKind.enum.d.ts +5 -0
  319. package/dist/enums/signatureKind.enum.d.ts.map +1 -0
  320. package/dist/enums/signatureKind.enum.js +7 -0
  321. package/dist/enums/signatureKind.enum.js.map +1 -0
  322. package/dist/enums/signatureKind.js +7 -0
  323. package/dist/enums/signatureKind.js.map +1 -0
  324. package/dist/enums/symbolFlags.d.ts +2 -0
  325. package/dist/enums/symbolFlags.d.ts.map +1 -0
  326. package/dist/enums/symbolFlags.enum.d.ts +71 -0
  327. package/dist/enums/symbolFlags.enum.d.ts.map +1 -0
  328. package/dist/enums/symbolFlags.enum.js +73 -0
  329. package/dist/enums/symbolFlags.enum.js.map +1 -0
  330. package/dist/enums/symbolFlags.js +73 -0
  331. package/dist/enums/symbolFlags.js.map +1 -0
  332. package/dist/enums/syntaxKind.d.ts +2 -0
  333. package/dist/enums/syntaxKind.d.ts.map +1 -0
  334. package/dist/enums/syntaxKind.enum.d.ts +389 -0
  335. package/dist/enums/syntaxKind.enum.d.ts.map +1 -0
  336. package/dist/enums/syntaxKind.enum.js +391 -0
  337. package/dist/enums/syntaxKind.enum.js.map +1 -0
  338. package/dist/enums/syntaxKind.js +391 -0
  339. package/dist/enums/syntaxKind.js.map +1 -0
  340. package/dist/enums/tokenFlags.d.ts +2 -0
  341. package/dist/enums/tokenFlags.d.ts.map +1 -0
  342. package/dist/enums/tokenFlags.enum.d.ts +30 -0
  343. package/dist/enums/tokenFlags.enum.d.ts.map +1 -0
  344. package/dist/enums/tokenFlags.enum.js +32 -0
  345. package/dist/enums/tokenFlags.enum.js.map +1 -0
  346. package/dist/enums/tokenFlags.js +32 -0
  347. package/dist/enums/tokenFlags.js.map +1 -0
  348. package/dist/enums/typeFlags.d.ts +2 -0
  349. package/dist/enums/typeFlags.d.ts.map +1 -0
  350. package/dist/enums/typeFlags.enum.d.ts +76 -0
  351. package/dist/enums/typeFlags.enum.d.ts.map +1 -0
  352. package/dist/enums/typeFlags.enum.js +78 -0
  353. package/dist/enums/typeFlags.enum.js.map +1 -0
  354. package/dist/enums/typeFlags.js +78 -0
  355. package/dist/enums/typeFlags.js.map +1 -0
  356. package/dist/enums/typePredicateKind.d.ts +2 -0
  357. package/dist/enums/typePredicateKind.d.ts.map +1 -0
  358. package/dist/enums/typePredicateKind.enum.d.ts +7 -0
  359. package/dist/enums/typePredicateKind.enum.d.ts.map +1 -0
  360. package/dist/enums/typePredicateKind.enum.js +9 -0
  361. package/dist/enums/typePredicateKind.enum.js.map +1 -0
  362. package/dist/enums/typePredicateKind.js +9 -0
  363. package/dist/enums/typePredicateKind.js.map +1 -0
  364. package/dist/internal/utils.d.ts +23 -0
  365. package/dist/internal/utils.d.ts.map +1 -0
  366. package/dist/internal/utils.js +25 -0
  367. package/dist/internal/utils.js.map +1 -0
  368. package/lib/getExePath.d.ts +2 -0
  369. package/lib/getExePath.js +70 -0
  370. package/lib/tsc.js +28 -8
  371. package/lib/version.cjs +3 -0
  372. package/lib/version.d.cts +2 -0
  373. package/package.json +58 -89
  374. package/vendor/vscode-jsonrpc/License.txt +11 -0
  375. package/vendor/vscode-jsonrpc/README.md +54 -0
  376. package/vendor/vscode-jsonrpc/lib/browser/main.d.ts +17 -0
  377. package/vendor/vscode-jsonrpc/lib/browser/main.js +83 -0
  378. package/vendor/vscode-jsonrpc/lib/browser/ril.d.ts +22 -0
  379. package/vendor/vscode-jsonrpc/lib/browser/ril.js +210 -0
  380. package/vendor/vscode-jsonrpc/lib/common/api.d.ts +14 -0
  381. package/vendor/vscode-jsonrpc/lib/common/api.js +87 -0
  382. package/vendor/vscode-jsonrpc/lib/common/cancellation.d.ts +32 -0
  383. package/vendor/vscode-jsonrpc/lib/common/cancellation.js +132 -0
  384. package/vendor/vscode-jsonrpc/lib/common/connection.d.ts +367 -0
  385. package/vendor/vscode-jsonrpc/lib/common/connection.js +1271 -0
  386. package/vendor/vscode-jsonrpc/lib/common/disposable.d.ts +9 -0
  387. package/vendor/vscode-jsonrpc/lib/common/disposable.js +16 -0
  388. package/vendor/vscode-jsonrpc/lib/common/encoding.d.ts +52 -0
  389. package/vendor/vscode-jsonrpc/lib/common/encoding.js +70 -0
  390. package/vendor/vscode-jsonrpc/lib/common/events.d.ts +39 -0
  391. package/vendor/vscode-jsonrpc/lib/common/events.js +135 -0
  392. package/vendor/vscode-jsonrpc/lib/common/is.d.ts +7 -0
  393. package/vendor/vscode-jsonrpc/lib/common/is.js +34 -0
  394. package/vendor/vscode-jsonrpc/lib/common/linkedMap.d.ts +55 -0
  395. package/vendor/vscode-jsonrpc/lib/common/linkedMap.js +412 -0
  396. package/vendor/vscode-jsonrpc/lib/common/messageBuffer.d.ts +18 -0
  397. package/vendor/vscode-jsonrpc/lib/common/messageBuffer.js +155 -0
  398. package/vendor/vscode-jsonrpc/lib/common/messageReader.d.ts +77 -0
  399. package/vendor/vscode-jsonrpc/lib/common/messageReader.js +246 -0
  400. package/vendor/vscode-jsonrpc/lib/common/messageWriter.d.ts +60 -0
  401. package/vendor/vscode-jsonrpc/lib/common/messageWriter.js +157 -0
  402. package/vendor/vscode-jsonrpc/lib/common/messages.d.ts +369 -0
  403. package/vendor/vscode-jsonrpc/lib/common/messages.js +436 -0
  404. package/vendor/vscode-jsonrpc/lib/common/ral.d.ts +74 -0
  405. package/vendor/vscode-jsonrpc/lib/common/ral.js +23 -0
  406. package/vendor/vscode-jsonrpc/lib/common/semaphore.d.ts +10 -0
  407. package/vendor/vscode-jsonrpc/lib/common/semaphore.js +74 -0
  408. package/vendor/vscode-jsonrpc/lib/common/sharedArrayCancellation.d.ts +15 -0
  409. package/vendor/vscode-jsonrpc/lib/common/sharedArrayCancellation.js +77 -0
  410. package/vendor/vscode-jsonrpc/lib/node/main.d.ts +58 -0
  411. package/vendor/vscode-jsonrpc/lib/node/main.js +289 -0
  412. package/vendor/vscode-jsonrpc/lib/node/ril.d.ts +12 -0
  413. package/vendor/vscode-jsonrpc/lib/node/ril.js +163 -0
  414. package/vendor/vscode-jsonrpc/package.json +54 -0
  415. package/vendor/vscode-jsonrpc/typings/thenable.d.ts +5 -0
  416. package/SECURITY.md +0 -39
  417. package/bin/tsserver +0 -2
  418. package/lib/_tsc.js +0 -134465
  419. package/lib/_tsserver.js +0 -659
  420. package/lib/_typingsInstaller.js +0 -222
  421. package/lib/cs/diagnosticMessages.generated.json +0 -2129
  422. package/lib/de/diagnosticMessages.generated.json +0 -2125
  423. package/lib/es/diagnosticMessages.generated.json +0 -2129
  424. package/lib/fr/diagnosticMessages.generated.json +0 -2129
  425. package/lib/it/diagnosticMessages.generated.json +0 -2125
  426. package/lib/ja/diagnosticMessages.generated.json +0 -2129
  427. package/lib/ko/diagnosticMessages.generated.json +0 -2129
  428. package/lib/lib.d.ts +0 -20
  429. package/lib/lib.decorators.d.ts +0 -382
  430. package/lib/lib.decorators.legacy.d.ts +0 -20
  431. package/lib/lib.dom.asynciterable.d.ts +0 -18
  432. package/lib/lib.dom.d.ts +0 -45125
  433. package/lib/lib.dom.iterable.d.ts +0 -18
  434. package/lib/lib.es2015.collection.d.ts +0 -150
  435. package/lib/lib.es2015.core.d.ts +0 -595
  436. package/lib/lib.es2015.d.ts +0 -26
  437. package/lib/lib.es2015.generator.d.ts +0 -75
  438. package/lib/lib.es2015.iterable.d.ts +0 -603
  439. package/lib/lib.es2015.promise.d.ts +0 -79
  440. package/lib/lib.es2015.proxy.d.ts +0 -126
  441. package/lib/lib.es2015.reflect.d.ts +0 -142
  442. package/lib/lib.es2015.symbol.d.ts +0 -44
  443. package/lib/lib.es2015.symbol.wellknown.d.ts +0 -324
  444. package/lib/lib.es2016.array.include.d.ts +0 -114
  445. package/lib/lib.es2016.d.ts +0 -19
  446. package/lib/lib.es2016.full.d.ts +0 -21
  447. package/lib/lib.es2016.intl.d.ts +0 -29
  448. package/lib/lib.es2017.arraybuffer.d.ts +0 -19
  449. package/lib/lib.es2017.d.ts +0 -24
  450. package/lib/lib.es2017.date.d.ts +0 -29
  451. package/lib/lib.es2017.full.d.ts +0 -21
  452. package/lib/lib.es2017.intl.d.ts +0 -42
  453. package/lib/lib.es2017.object.d.ts +0 -47
  454. package/lib/lib.es2017.sharedmemory.d.ts +0 -133
  455. package/lib/lib.es2017.string.d.ts +0 -43
  456. package/lib/lib.es2017.typedarrays.d.ts +0 -51
  457. package/lib/lib.es2018.asyncgenerator.d.ts +0 -75
  458. package/lib/lib.es2018.asynciterable.d.ts +0 -51
  459. package/lib/lib.es2018.d.ts +0 -22
  460. package/lib/lib.es2018.full.d.ts +0 -22
  461. package/lib/lib.es2018.intl.d.ts +0 -81
  462. package/lib/lib.es2018.promise.d.ts +0 -28
  463. package/lib/lib.es2018.regexp.d.ts +0 -35
  464. package/lib/lib.es2019.array.d.ts +0 -77
  465. package/lib/lib.es2019.d.ts +0 -22
  466. package/lib/lib.es2019.full.d.ts +0 -22
  467. package/lib/lib.es2019.intl.d.ts +0 -21
  468. package/lib/lib.es2019.object.d.ts +0 -31
  469. package/lib/lib.es2019.string.d.ts +0 -35
  470. package/lib/lib.es2019.symbol.d.ts +0 -22
  471. package/lib/lib.es2020.bigint.d.ts +0 -763
  472. package/lib/lib.es2020.d.ts +0 -25
  473. package/lib/lib.es2020.date.d.ts +0 -40
  474. package/lib/lib.es2020.full.d.ts +0 -22
  475. package/lib/lib.es2020.intl.d.ts +0 -472
  476. package/lib/lib.es2020.number.d.ts +0 -26
  477. package/lib/lib.es2020.promise.d.ts +0 -45
  478. package/lib/lib.es2020.sharedmemory.d.ts +0 -97
  479. package/lib/lib.es2020.string.d.ts +0 -42
  480. package/lib/lib.es2020.symbol.wellknown.d.ts +0 -39
  481. package/lib/lib.es2021.d.ts +0 -21
  482. package/lib/lib.es2021.full.d.ts +0 -22
  483. package/lib/lib.es2021.intl.d.ts +0 -164
  484. package/lib/lib.es2021.promise.d.ts +0 -46
  485. package/lib/lib.es2021.string.d.ts +0 -31
  486. package/lib/lib.es2021.weakref.d.ts +0 -76
  487. package/lib/lib.es2022.array.d.ts +0 -119
  488. package/lib/lib.es2022.d.ts +0 -23
  489. package/lib/lib.es2022.error.d.ts +0 -73
  490. package/lib/lib.es2022.full.d.ts +0 -22
  491. package/lib/lib.es2022.intl.d.ts +0 -143
  492. package/lib/lib.es2022.object.d.ts +0 -24
  493. package/lib/lib.es2022.regexp.d.ts +0 -37
  494. package/lib/lib.es2022.string.d.ts +0 -23
  495. package/lib/lib.es2023.array.d.ts +0 -922
  496. package/lib/lib.es2023.collection.d.ts +0 -19
  497. package/lib/lib.es2023.d.ts +0 -20
  498. package/lib/lib.es2023.full.d.ts +0 -22
  499. package/lib/lib.es2023.intl.d.ts +0 -62
  500. package/lib/lib.es2024.arraybuffer.d.ts +0 -63
  501. package/lib/lib.es2024.collection.d.ts +0 -27
  502. package/lib/lib.es2024.d.ts +0 -24
  503. package/lib/lib.es2024.full.d.ts +0 -22
  504. package/lib/lib.es2024.object.d.ts +0 -27
  505. package/lib/lib.es2024.promise.d.ts +0 -33
  506. package/lib/lib.es2024.regexp.d.ts +0 -23
  507. package/lib/lib.es2024.sharedmemory.d.ts +0 -66
  508. package/lib/lib.es2024.string.d.ts +0 -27
  509. package/lib/lib.es2025.collection.d.ts +0 -94
  510. package/lib/lib.es2025.d.ts +0 -23
  511. package/lib/lib.es2025.float16.d.ts +0 -443
  512. package/lib/lib.es2025.full.d.ts +0 -22
  513. package/lib/lib.es2025.intl.d.ts +0 -200
  514. package/lib/lib.es2025.iterator.d.ts +0 -146
  515. package/lib/lib.es2025.promise.d.ts +0 -32
  516. package/lib/lib.es2025.regexp.d.ts +0 -30
  517. package/lib/lib.es5.d.ts +0 -4599
  518. package/lib/lib.es6.d.ts +0 -21
  519. package/lib/lib.esnext.array.d.ts +0 -33
  520. package/lib/lib.esnext.collection.d.ts +0 -47
  521. package/lib/lib.esnext.d.ts +0 -27
  522. package/lib/lib.esnext.date.d.ts +0 -21
  523. package/lib/lib.esnext.decorators.d.ts +0 -26
  524. package/lib/lib.esnext.disposable.d.ts +0 -191
  525. package/lib/lib.esnext.error.d.ts +0 -22
  526. package/lib/lib.esnext.full.d.ts +0 -22
  527. package/lib/lib.esnext.intl.d.ts +0 -107
  528. package/lib/lib.esnext.sharedmemory.d.ts +0 -23
  529. package/lib/lib.esnext.temporal.d.ts +0 -485
  530. package/lib/lib.esnext.typedarrays.d.ts +0 -90
  531. package/lib/lib.scripthost.d.ts +0 -320
  532. package/lib/lib.webworker.asynciterable.d.ts +0 -18
  533. package/lib/lib.webworker.d.ts +0 -15606
  534. package/lib/lib.webworker.importscripts.d.ts +0 -21
  535. package/lib/lib.webworker.iterable.d.ts +0 -18
  536. package/lib/pl/diagnosticMessages.generated.json +0 -2129
  537. package/lib/pt-br/diagnosticMessages.generated.json +0 -2129
  538. package/lib/ru/diagnosticMessages.generated.json +0 -2125
  539. package/lib/tr/diagnosticMessages.generated.json +0 -2129
  540. package/lib/tsserver.js +0 -8
  541. package/lib/tsserverlibrary.d.ts +0 -17
  542. package/lib/tsserverlibrary.js +0 -21
  543. package/lib/typesMap.json +0 -497
  544. package/lib/typescript.d.ts +0 -11448
  545. package/lib/typescript.js +0 -201039
  546. package/lib/typingsInstaller.js +0 -8
  547. package/lib/watchGuard.js +0 -53
  548. package/lib/zh-cn/diagnosticMessages.generated.json +0 -2129
  549. package/lib/zh-tw/diagnosticMessages.generated.json +0 -2125
  550. /package/{LICENSE.txt → LICENSE} +0 -0
@@ -0,0 +1,412 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the MIT License. See License.txt in the project root for license information.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.LRUCache = exports.LinkedMap = exports.Touch = void 0;
8
+ var Touch;
9
+ (function (Touch) {
10
+ Touch.None = 0;
11
+ Touch.First = 1;
12
+ Touch.AsOld = Touch.First;
13
+ Touch.Last = 2;
14
+ Touch.AsNew = Touch.Last;
15
+ })(Touch || (exports.Touch = Touch = {}));
16
+ class LinkedMap {
17
+ [Symbol.toStringTag] = 'LinkedMap';
18
+ _map;
19
+ _head;
20
+ _tail;
21
+ _size;
22
+ _state;
23
+ constructor() {
24
+ this._map = new Map();
25
+ this._head = undefined;
26
+ this._tail = undefined;
27
+ this._size = 0;
28
+ this._state = 0;
29
+ }
30
+ clear() {
31
+ this._map.clear();
32
+ this._head = undefined;
33
+ this._tail = undefined;
34
+ this._size = 0;
35
+ this._state++;
36
+ }
37
+ isEmpty() {
38
+ return !this._head && !this._tail;
39
+ }
40
+ get size() {
41
+ return this._size;
42
+ }
43
+ get first() {
44
+ return this._head?.value;
45
+ }
46
+ get last() {
47
+ return this._tail?.value;
48
+ }
49
+ before(key) {
50
+ const item = this._map.get(key);
51
+ return item ? item.previous?.value : undefined;
52
+ }
53
+ after(key) {
54
+ const item = this._map.get(key);
55
+ return item ? item.next?.value : undefined;
56
+ }
57
+ has(key) {
58
+ return this._map.has(key);
59
+ }
60
+ get(key, touch = Touch.None) {
61
+ const item = this._map.get(key);
62
+ if (!item) {
63
+ return undefined;
64
+ }
65
+ if (touch !== Touch.None) {
66
+ this.touch(item, touch);
67
+ }
68
+ return item.value;
69
+ }
70
+ set(key, value, touch = Touch.None) {
71
+ let item = this._map.get(key);
72
+ if (item) {
73
+ item.value = value;
74
+ if (touch !== Touch.None) {
75
+ this.touch(item, touch);
76
+ }
77
+ }
78
+ else {
79
+ item = { key, value, next: undefined, previous: undefined };
80
+ switch (touch) {
81
+ case Touch.None:
82
+ this.addItemLast(item);
83
+ break;
84
+ case Touch.First:
85
+ this.addItemFirst(item);
86
+ break;
87
+ case Touch.Last:
88
+ this.addItemLast(item);
89
+ break;
90
+ default:
91
+ this.addItemLast(item);
92
+ break;
93
+ }
94
+ this._map.set(key, item);
95
+ this._size++;
96
+ }
97
+ return this;
98
+ }
99
+ delete(key) {
100
+ return !!this.remove(key);
101
+ }
102
+ remove(key) {
103
+ const item = this._map.get(key);
104
+ if (!item) {
105
+ return undefined;
106
+ }
107
+ this._map.delete(key);
108
+ this.removeItem(item);
109
+ this._size--;
110
+ return item.value;
111
+ }
112
+ shift() {
113
+ if (!this._head && !this._tail) {
114
+ return undefined;
115
+ }
116
+ if (!this._head || !this._tail) {
117
+ throw new Error('Invalid list');
118
+ }
119
+ const item = this._head;
120
+ this._map.delete(item.key);
121
+ this.removeItem(item);
122
+ this._size--;
123
+ return item.value;
124
+ }
125
+ forEach(callbackfn, thisArg) {
126
+ const state = this._state;
127
+ let current = this._head;
128
+ while (current) {
129
+ if (thisArg) {
130
+ callbackfn.bind(thisArg)(current.value, current.key, this);
131
+ }
132
+ else {
133
+ callbackfn(current.value, current.key, this);
134
+ }
135
+ if (this._state !== state) {
136
+ throw new Error(`LinkedMap got modified during iteration.`);
137
+ }
138
+ current = current.next;
139
+ }
140
+ }
141
+ keys() {
142
+ const state = this._state;
143
+ let current = this._head;
144
+ const iterator = {
145
+ [Symbol.iterator]: () => {
146
+ return iterator;
147
+ },
148
+ next: () => {
149
+ if (this._state !== state) {
150
+ throw new Error(`LinkedMap got modified during iteration.`);
151
+ }
152
+ if (current) {
153
+ const result = { value: current.key, done: false };
154
+ current = current.next;
155
+ return result;
156
+ }
157
+ else {
158
+ return { value: undefined, done: true };
159
+ }
160
+ }
161
+ };
162
+ return iterator;
163
+ }
164
+ values() {
165
+ const state = this._state;
166
+ let current = this._head;
167
+ const iterator = {
168
+ [Symbol.iterator]: () => {
169
+ return iterator;
170
+ },
171
+ next: () => {
172
+ if (this._state !== state) {
173
+ throw new Error(`LinkedMap got modified during iteration.`);
174
+ }
175
+ if (current) {
176
+ const result = { value: current.value, done: false };
177
+ current = current.next;
178
+ return result;
179
+ }
180
+ else {
181
+ return { value: undefined, done: true };
182
+ }
183
+ }
184
+ };
185
+ return iterator;
186
+ }
187
+ entries() {
188
+ const state = this._state;
189
+ let current = this._head;
190
+ const iterator = {
191
+ [Symbol.iterator]: () => {
192
+ return iterator;
193
+ },
194
+ next: () => {
195
+ if (this._state !== state) {
196
+ throw new Error(`LinkedMap got modified during iteration.`);
197
+ }
198
+ if (current) {
199
+ const result = { value: [current.key, current.value], done: false };
200
+ current = current.next;
201
+ return result;
202
+ }
203
+ else {
204
+ return { value: undefined, done: true };
205
+ }
206
+ }
207
+ };
208
+ return iterator;
209
+ }
210
+ [Symbol.iterator]() {
211
+ return this.entries();
212
+ }
213
+ trimOld(newSize) {
214
+ if (newSize >= this.size) {
215
+ return;
216
+ }
217
+ if (newSize === 0) {
218
+ this.clear();
219
+ return;
220
+ }
221
+ let current = this._head;
222
+ let currentSize = this.size;
223
+ while (current && currentSize > newSize) {
224
+ this._map.delete(current.key);
225
+ current = current.next;
226
+ currentSize--;
227
+ }
228
+ this._head = current;
229
+ this._size = currentSize;
230
+ if (current) {
231
+ current.previous = undefined;
232
+ }
233
+ this._state++;
234
+ }
235
+ addItemFirst(item) {
236
+ // First time Insert
237
+ if (!this._head && !this._tail) {
238
+ this._tail = item;
239
+ }
240
+ else if (!this._head) {
241
+ throw new Error('Invalid list');
242
+ }
243
+ else {
244
+ item.next = this._head;
245
+ this._head.previous = item;
246
+ }
247
+ this._head = item;
248
+ this._state++;
249
+ }
250
+ addItemLast(item) {
251
+ // First time Insert
252
+ if (!this._head && !this._tail) {
253
+ this._head = item;
254
+ }
255
+ else if (!this._tail) {
256
+ throw new Error('Invalid list');
257
+ }
258
+ else {
259
+ item.previous = this._tail;
260
+ this._tail.next = item;
261
+ }
262
+ this._tail = item;
263
+ this._state++;
264
+ }
265
+ removeItem(item) {
266
+ if (item === this._head && item === this._tail) {
267
+ this._head = undefined;
268
+ this._tail = undefined;
269
+ }
270
+ else if (item === this._head) {
271
+ // This can only happened if size === 1 which is handle
272
+ // by the case above.
273
+ if (!item.next) {
274
+ throw new Error('Invalid list');
275
+ }
276
+ item.next.previous = undefined;
277
+ this._head = item.next;
278
+ }
279
+ else if (item === this._tail) {
280
+ // This can only happened if size === 1 which is handle
281
+ // by the case above.
282
+ if (!item.previous) {
283
+ throw new Error('Invalid list');
284
+ }
285
+ item.previous.next = undefined;
286
+ this._tail = item.previous;
287
+ }
288
+ else {
289
+ const next = item.next;
290
+ const previous = item.previous;
291
+ if (!next || !previous) {
292
+ throw new Error('Invalid list');
293
+ }
294
+ next.previous = previous;
295
+ previous.next = next;
296
+ }
297
+ item.next = undefined;
298
+ item.previous = undefined;
299
+ this._state++;
300
+ }
301
+ touch(item, touch) {
302
+ if (!this._head || !this._tail) {
303
+ throw new Error('Invalid list');
304
+ }
305
+ if ((touch !== Touch.First && touch !== Touch.Last)) {
306
+ return;
307
+ }
308
+ if (touch === Touch.First) {
309
+ if (item === this._head) {
310
+ return;
311
+ }
312
+ const next = item.next;
313
+ const previous = item.previous;
314
+ // Unlink the item
315
+ if (item === this._tail) {
316
+ // previous must be defined since item was not head but is tail
317
+ // So there are more than on item in the map
318
+ previous.next = undefined;
319
+ this._tail = previous;
320
+ }
321
+ else {
322
+ // Both next and previous are not undefined since item was neither head nor tail.
323
+ next.previous = previous;
324
+ previous.next = next;
325
+ }
326
+ // Insert the node at head
327
+ item.previous = undefined;
328
+ item.next = this._head;
329
+ this._head.previous = item;
330
+ this._head = item;
331
+ this._state++;
332
+ }
333
+ else if (touch === Touch.Last) {
334
+ if (item === this._tail) {
335
+ return;
336
+ }
337
+ const next = item.next;
338
+ const previous = item.previous;
339
+ // Unlink the item.
340
+ if (item === this._head) {
341
+ // next must be defined since item was not tail but is head
342
+ // So there are more than on item in the map
343
+ next.previous = undefined;
344
+ this._head = next;
345
+ }
346
+ else {
347
+ // Both next and previous are not undefined since item was neither head nor tail.
348
+ next.previous = previous;
349
+ previous.next = next;
350
+ }
351
+ item.next = undefined;
352
+ item.previous = this._tail;
353
+ this._tail.next = item;
354
+ this._tail = item;
355
+ this._state++;
356
+ }
357
+ }
358
+ toJSON() {
359
+ const data = [];
360
+ this.forEach((value, key) => {
361
+ data.push([key, value]);
362
+ });
363
+ return data;
364
+ }
365
+ fromJSON(data) {
366
+ this.clear();
367
+ for (const [key, value] of data) {
368
+ this.set(key, value);
369
+ }
370
+ }
371
+ }
372
+ exports.LinkedMap = LinkedMap;
373
+ class LRUCache extends LinkedMap {
374
+ _limit;
375
+ _ratio;
376
+ constructor(limit, ratio = 1) {
377
+ super();
378
+ this._limit = limit;
379
+ this._ratio = Math.min(Math.max(0, ratio), 1);
380
+ }
381
+ get limit() {
382
+ return this._limit;
383
+ }
384
+ set limit(limit) {
385
+ this._limit = limit;
386
+ this.checkTrim();
387
+ }
388
+ get ratio() {
389
+ return this._ratio;
390
+ }
391
+ set ratio(ratio) {
392
+ this._ratio = Math.min(Math.max(0, ratio), 1);
393
+ this.checkTrim();
394
+ }
395
+ get(key, touch = Touch.AsNew) {
396
+ return super.get(key, touch);
397
+ }
398
+ peek(key) {
399
+ return super.get(key, Touch.None);
400
+ }
401
+ set(key, value) {
402
+ super.set(key, value, Touch.Last);
403
+ this.checkTrim();
404
+ return this;
405
+ }
406
+ checkTrim() {
407
+ if (this.size > this._limit) {
408
+ this.trimOld(Math.round(this._limit * this._ratio));
409
+ }
410
+ }
411
+ }
412
+ exports.LRUCache = LRUCache;
@@ -0,0 +1,18 @@
1
+ import RAL from './ral';
2
+ export declare abstract class AbstractMessageBuffer implements RAL.MessageBuffer {
3
+ private _encoding;
4
+ private _chunks;
5
+ private _totalLength;
6
+ constructor(encoding?: RAL.MessageBufferEncoding);
7
+ protected abstract emptyBuffer(): Uint8Array;
8
+ protected abstract fromString(value: string, encoding: RAL.MessageBufferEncoding): Uint8Array;
9
+ protected abstract toString(value: Uint8Array, encoding: RAL.MessageBufferEncoding): string;
10
+ protected abstract asNative(buffer: Uint8Array, length?: number): Uint8Array;
11
+ protected abstract allocNative(length: number): Uint8Array;
12
+ get encoding(): RAL.MessageBufferEncoding;
13
+ append(chunk: Uint8Array | string): void;
14
+ tryReadHeaders(lowerCaseKeys?: boolean): Map<string, string> | undefined;
15
+ tryReadBody(length: number): Uint8Array | undefined;
16
+ get numberOfBytes(): number;
17
+ private _read;
18
+ }
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the MIT License. See License.txt in the project root for license information.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.AbstractMessageBuffer = void 0;
8
+ const CR = 13;
9
+ const LF = 10;
10
+ const CRLF = '\r\n';
11
+ class AbstractMessageBuffer {
12
+ _encoding;
13
+ _chunks;
14
+ _totalLength;
15
+ constructor(encoding = 'utf-8') {
16
+ this._encoding = encoding;
17
+ this._chunks = [];
18
+ this._totalLength = 0;
19
+ }
20
+ get encoding() {
21
+ return this._encoding;
22
+ }
23
+ append(chunk) {
24
+ const toAppend = typeof chunk === 'string' ? this.fromString(chunk, this._encoding) : chunk;
25
+ this._chunks.push(toAppend);
26
+ this._totalLength += toAppend.byteLength;
27
+ }
28
+ tryReadHeaders(lowerCaseKeys = false) {
29
+ if (this._chunks.length === 0) {
30
+ return undefined;
31
+ }
32
+ let state = 0;
33
+ let chunkIndex = 0;
34
+ let offset = 0;
35
+ let chunkBytesRead = 0;
36
+ row: while (chunkIndex < this._chunks.length) {
37
+ const chunk = this._chunks[chunkIndex];
38
+ offset = 0;
39
+ while (offset < chunk.length) {
40
+ const value = chunk[offset];
41
+ switch (value) {
42
+ case CR:
43
+ switch (state) {
44
+ case 0:
45
+ state = 1;
46
+ break;
47
+ case 2:
48
+ state = 3;
49
+ break;
50
+ default:
51
+ state = 0;
52
+ }
53
+ break;
54
+ case LF:
55
+ switch (state) {
56
+ case 1:
57
+ state = 2;
58
+ break;
59
+ case 3:
60
+ state = 4;
61
+ offset++;
62
+ break row;
63
+ default:
64
+ state = 0;
65
+ }
66
+ break;
67
+ default:
68
+ state = 0;
69
+ }
70
+ offset++;
71
+ }
72
+ chunkBytesRead += chunk.byteLength;
73
+ chunkIndex++;
74
+ }
75
+ if (state !== 4) {
76
+ return undefined;
77
+ }
78
+ // The buffer contains the two CRLF at the end. So we will
79
+ // have two empty lines after the split at the end as well.
80
+ const buffer = this._read(chunkBytesRead + offset);
81
+ const result = new Map();
82
+ const headers = this.toString(buffer, 'ascii').split(CRLF);
83
+ if (headers.length < 2) {
84
+ return result;
85
+ }
86
+ for (let i = 0; i < headers.length - 2; i++) {
87
+ const header = headers[i];
88
+ const index = header.indexOf(':');
89
+ if (index === -1) {
90
+ throw new Error(`Message header must separate key and value using ':'\n${header}`);
91
+ }
92
+ const key = header.substr(0, index);
93
+ const value = header.substr(index + 1).trim();
94
+ result.set(lowerCaseKeys ? key.toLowerCase() : key, value);
95
+ }
96
+ return result;
97
+ }
98
+ tryReadBody(length) {
99
+ if (this._totalLength < length) {
100
+ return undefined;
101
+ }
102
+ return this._read(length);
103
+ }
104
+ get numberOfBytes() {
105
+ return this._totalLength;
106
+ }
107
+ _read(byteCount) {
108
+ if (byteCount === 0) {
109
+ return this.emptyBuffer();
110
+ }
111
+ if (byteCount > this._totalLength) {
112
+ throw new Error(`Cannot read so many bytes!`);
113
+ }
114
+ if (this._chunks[0].byteLength === byteCount) {
115
+ // super fast path, precisely first chunk must be returned
116
+ const chunk = this._chunks[0];
117
+ this._chunks.shift();
118
+ this._totalLength -= byteCount;
119
+ return this.asNative(chunk);
120
+ }
121
+ if (this._chunks[0].byteLength > byteCount) {
122
+ // fast path, the reading is entirely within the first chunk
123
+ const chunk = this._chunks[0];
124
+ const result = this.asNative(chunk, byteCount);
125
+ this._chunks[0] = chunk.slice(byteCount);
126
+ this._totalLength -= byteCount;
127
+ return result;
128
+ }
129
+ const result = this.allocNative(byteCount);
130
+ let resultOffset = 0;
131
+ const chunkIndex = 0;
132
+ while (byteCount > 0) {
133
+ const chunk = this._chunks[chunkIndex];
134
+ if (chunk.byteLength > byteCount) {
135
+ // this chunk will survive
136
+ const chunkPart = chunk.slice(0, byteCount);
137
+ result.set(chunkPart, resultOffset);
138
+ resultOffset += byteCount;
139
+ this._chunks[chunkIndex] = chunk.slice(byteCount);
140
+ this._totalLength -= byteCount;
141
+ byteCount -= byteCount;
142
+ }
143
+ else {
144
+ // this chunk will be entirely read
145
+ result.set(chunk, resultOffset);
146
+ resultOffset += chunk.byteLength;
147
+ this._chunks.shift();
148
+ this._totalLength -= chunk.byteLength;
149
+ byteCount -= chunk.byteLength;
150
+ }
151
+ }
152
+ return result;
153
+ }
154
+ }
155
+ exports.AbstractMessageBuffer = AbstractMessageBuffer;
@@ -0,0 +1,77 @@
1
+ import RAL from './ral';
2
+ import { Event } from './events';
3
+ import { Message } from './messages';
4
+ import { ContentDecoder, ContentTypeDecoder } from './encoding';
5
+ import { Disposable } from './api';
6
+ /**
7
+ * A callback that receives each incoming JSON-RPC message.
8
+ */
9
+ export interface DataCallback {
10
+ (data: Message): void;
11
+ }
12
+ export interface PartialMessageInfo {
13
+ readonly messageToken: number;
14
+ readonly waitingTime: number;
15
+ }
16
+ /** Reads JSON-RPC messages from some underlying transport. */
17
+ export interface MessageReader {
18
+ /** Raised whenever an error occurs while reading a message. */
19
+ readonly onError: Event<Error>;
20
+ /** An event raised when the end of the underlying transport has been reached. */
21
+ readonly onClose: Event<void>;
22
+ /**
23
+ * An event that *may* be raised to inform the owner that only part of a message has been received.
24
+ * A MessageReader implementation may choose to raise this event after a timeout elapses while waiting for more of a partially received message to be received.
25
+ */
26
+ readonly onPartialMessage: Event<PartialMessageInfo>;
27
+ /**
28
+ * Begins listening for incoming messages. To be called at most once.
29
+ * @param callback A callback for receiving decoded messages.
30
+ */
31
+ listen(callback: DataCallback): Disposable;
32
+ /** Releases resources incurred from reading or raising events. Does NOT close the underlying transport, if any. */
33
+ dispose(): void;
34
+ }
35
+ export declare namespace MessageReader {
36
+ function is(value: any): value is MessageReader;
37
+ }
38
+ export declare abstract class AbstractMessageReader implements MessageReader {
39
+ private errorEmitter;
40
+ private closeEmitter;
41
+ private partialMessageEmitter;
42
+ constructor();
43
+ dispose(): void;
44
+ get onError(): Event<Error>;
45
+ protected fireError(error: any): void;
46
+ get onClose(): Event<void>;
47
+ protected fireClose(): void;
48
+ get onPartialMessage(): Event<PartialMessageInfo>;
49
+ protected firePartialMessage(info: PartialMessageInfo): void;
50
+ private asError;
51
+ abstract listen(callback: DataCallback): Disposable;
52
+ }
53
+ export interface MessageReaderOptions {
54
+ charset?: RAL.MessageBufferEncoding;
55
+ contentDecoder?: ContentDecoder;
56
+ contentDecoders?: ContentDecoder[];
57
+ contentTypeDecoder?: ContentTypeDecoder;
58
+ contentTypeDecoders?: ContentTypeDecoder[];
59
+ }
60
+ export declare class ReadableStreamMessageReader extends AbstractMessageReader {
61
+ private readable;
62
+ private options;
63
+ private callback;
64
+ private nextMessageLength;
65
+ private messageToken;
66
+ private buffer;
67
+ private partialMessageTimer;
68
+ private _partialMessageTimeout;
69
+ private readSemaphore;
70
+ constructor(readable: RAL.ReadableStream, options?: RAL.MessageBufferEncoding | MessageReaderOptions);
71
+ set partialMessageTimeout(timeout: number);
72
+ get partialMessageTimeout(): number;
73
+ listen(callback: DataCallback): Disposable;
74
+ private onData;
75
+ private clearPartialMessageTimer;
76
+ private setPartialMessageTimer;
77
+ }