@nktkas/hyperliquid 0.25.0-beta.2 → 0.25.0-beta.4

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 (329) hide show
  1. package/README.md +114 -106
  2. package/esm/bin/_utils.d.ts +80 -0
  3. package/esm/bin/_utils.d.ts.map +1 -0
  4. package/esm/bin/_utils.js +112 -0
  5. package/esm/bin/_utils.js.map +1 -0
  6. package/esm/bin/cli.d.ts +3 -0
  7. package/esm/bin/cli.d.ts.map +1 -0
  8. package/esm/bin/cli.js +334 -0
  9. package/esm/bin/cli.js.map +1 -0
  10. package/esm/src/{errors.d.ts → _errors.d.ts} +1 -1
  11. package/esm/src/_errors.d.ts.map +1 -0
  12. package/esm/src/{errors.js → _errors.js} +1 -1
  13. package/esm/src/_errors.js.map +1 -0
  14. package/esm/src/clients/exchange.d.ts +91 -91
  15. package/esm/src/clients/exchange.d.ts.map +1 -1
  16. package/esm/src/clients/exchange.js +61 -56
  17. package/esm/src/clients/exchange.js.map +1 -1
  18. package/esm/src/clients/info.d.ts +134 -112
  19. package/esm/src/clients/info.d.ts.map +1 -1
  20. package/esm/src/clients/info.js +95 -72
  21. package/esm/src/clients/info.js.map +1 -1
  22. package/esm/src/clients/multiSign.d.ts +2 -2
  23. package/esm/src/clients/multiSign.d.ts.map +1 -1
  24. package/esm/src/clients/multiSign.js +3 -1
  25. package/esm/src/clients/multiSign.js.map +1 -1
  26. package/esm/src/clients/subscription.d.ts +23 -23
  27. package/esm/src/clients/subscription.d.ts.map +1 -1
  28. package/esm/src/clients/subscription.js +8 -11
  29. package/esm/src/clients/subscription.js.map +1 -1
  30. package/esm/src/mod.d.ts +21 -0
  31. package/esm/src/mod.d.ts.map +1 -0
  32. package/esm/src/mod.js +14 -0
  33. package/esm/src/mod.js.map +1 -0
  34. package/esm/src/schemas/_base.d.ts +8 -6
  35. package/esm/src/schemas/_base.d.ts.map +1 -1
  36. package/esm/src/schemas/_base.js +6 -4
  37. package/esm/src/schemas/_base.js.map +1 -1
  38. package/esm/src/schemas/exchange/requests.d.ts +332 -313
  39. package/esm/src/schemas/exchange/requests.d.ts.map +1 -1
  40. package/esm/src/schemas/exchange/requests.js +52 -61
  41. package/esm/src/schemas/exchange/requests.js.map +1 -1
  42. package/esm/src/schemas/exchange/responses.d.ts +10 -10
  43. package/esm/src/schemas/exchange/responses.js +3 -3
  44. package/esm/src/schemas/exchange/responses.js.map +1 -1
  45. package/esm/src/schemas/explorer/requests.d.ts +1 -1
  46. package/esm/src/schemas/explorer/requests.js +2 -2
  47. package/esm/src/schemas/explorer/requests.js.map +1 -1
  48. package/esm/src/schemas/explorer/responses.d.ts +16 -16
  49. package/esm/src/schemas/explorer/responses.js +3 -3
  50. package/esm/src/schemas/explorer/responses.js.map +1 -1
  51. package/esm/src/schemas/info/accounts.d.ts +975 -229
  52. package/esm/src/schemas/info/accounts.d.ts.map +1 -1
  53. package/esm/src/schemas/info/accounts.js +65 -21
  54. package/esm/src/schemas/info/accounts.js.map +1 -1
  55. package/esm/src/schemas/info/assets.d.ts +110 -110
  56. package/esm/src/schemas/info/assets.js +9 -9
  57. package/esm/src/schemas/info/assets.js.map +1 -1
  58. package/esm/src/schemas/info/markets.d.ts +25 -25
  59. package/esm/src/schemas/info/markets.js +3 -3
  60. package/esm/src/schemas/info/markets.js.map +1 -1
  61. package/esm/src/schemas/info/orders.d.ts +175 -175
  62. package/esm/src/schemas/info/orders.js +3 -3
  63. package/esm/src/schemas/info/orders.js.map +1 -1
  64. package/esm/src/schemas/info/requests.d.ts +31 -16
  65. package/esm/src/schemas/info/requests.d.ts.map +1 -1
  66. package/esm/src/schemas/info/requests.js +51 -40
  67. package/esm/src/schemas/info/requests.js.map +1 -1
  68. package/esm/src/schemas/info/validators.d.ts +30 -30
  69. package/esm/src/schemas/info/validators.d.ts.map +1 -1
  70. package/esm/src/schemas/info/validators.js +8 -8
  71. package/esm/src/schemas/info/validators.js.map +1 -1
  72. package/esm/src/schemas/info/vaults.d.ts +46 -46
  73. package/esm/src/schemas/info/vaults.js +10 -10
  74. package/esm/src/schemas/info/vaults.js.map +1 -1
  75. package/esm/src/schemas/mod.d.ts +3 -3
  76. package/esm/src/schemas/mod.d.ts.map +1 -1
  77. package/esm/src/schemas/mod.js +3 -3
  78. package/esm/src/schemas/mod.js.map +1 -1
  79. package/esm/src/schemas/subscriptions/requests.d.ts +4 -4
  80. package/esm/src/schemas/subscriptions/requests.d.ts.map +1 -1
  81. package/esm/src/schemas/subscriptions/requests.js +17 -17
  82. package/esm/src/schemas/subscriptions/requests.js.map +1 -1
  83. package/esm/src/schemas/subscriptions/responses.d.ts +618 -618
  84. package/esm/src/schemas/subscriptions/responses.js +14 -14
  85. package/esm/src/schemas/subscriptions/responses.js.map +1 -1
  86. package/esm/src/signing/mod.d.ts +1 -1
  87. package/esm/src/signing/mod.d.ts.map +1 -1
  88. package/esm/src/signing/mod.js +6 -6
  89. package/esm/src/signing/mod.js.map +1 -1
  90. package/esm/src/signing/signTypedData/ethers.d.ts.map +1 -0
  91. package/esm/src/signing/signTypedData/ethers.js.map +1 -0
  92. package/esm/src/signing/signTypedData/mod.d.ts.map +1 -0
  93. package/esm/src/signing/signTypedData/mod.js.map +1 -0
  94. package/esm/src/signing/signTypedData/private_key.d.ts.map +1 -0
  95. package/esm/src/signing/{_signTypedData → signTypedData}/private_key.js +18 -17
  96. package/esm/src/signing/signTypedData/private_key.js.map +1 -0
  97. package/esm/src/signing/signTypedData/viem.d.ts.map +1 -0
  98. package/esm/src/signing/signTypedData/viem.js.map +1 -0
  99. package/esm/src/transports/_polyfills.d.ts +12 -0
  100. package/esm/src/transports/_polyfills.d.ts.map +1 -0
  101. package/esm/src/transports/_polyfills.js +40 -0
  102. package/esm/src/transports/_polyfills.js.map +1 -0
  103. package/esm/src/transports/base.d.ts +8 -8
  104. package/esm/src/transports/base.d.ts.map +1 -1
  105. package/esm/src/transports/base.js +2 -2
  106. package/esm/src/transports/base.js.map +1 -1
  107. package/esm/src/transports/http/http_transport.d.ts +11 -4
  108. package/esm/src/transports/http/http_transport.d.ts.map +1 -1
  109. package/esm/src/transports/http/http_transport.js +17 -6
  110. package/esm/src/transports/http/http_transport.js.map +1 -1
  111. package/esm/src/transports/websocket/_hyperliquid_event_target.d.ts +8 -7
  112. package/esm/src/transports/websocket/_hyperliquid_event_target.d.ts.map +1 -1
  113. package/esm/src/transports/websocket/_hyperliquid_event_target.js +14 -33
  114. package/esm/src/transports/websocket/_hyperliquid_event_target.js.map +1 -1
  115. package/esm/src/transports/websocket/_reconnecting_websocket.d.ts +26 -29
  116. package/esm/src/transports/websocket/_reconnecting_websocket.d.ts.map +1 -1
  117. package/esm/src/transports/websocket/_reconnecting_websocket.js +82 -76
  118. package/esm/src/transports/websocket/_reconnecting_websocket.js.map +1 -1
  119. package/esm/src/transports/websocket/_websocket_async_request.d.ts +6 -0
  120. package/esm/src/transports/websocket/_websocket_async_request.d.ts.map +1 -1
  121. package/esm/src/transports/websocket/_websocket_async_request.js +49 -41
  122. package/esm/src/transports/websocket/_websocket_async_request.js.map +1 -1
  123. package/esm/src/transports/websocket/websocket_transport.d.ts +48 -70
  124. package/esm/src/transports/websocket/websocket_transport.d.ts.map +1 -1
  125. package/esm/src/transports/websocket/websocket_transport.js +90 -103
  126. package/esm/src/transports/websocket/websocket_transport.js.map +1 -1
  127. package/package.json +12 -8
  128. package/script/bin/_utils.d.ts +80 -0
  129. package/script/bin/_utils.d.ts.map +1 -0
  130. package/script/bin/_utils.js +116 -0
  131. package/script/bin/_utils.js.map +1 -0
  132. package/script/bin/cli.d.ts +3 -0
  133. package/script/bin/cli.d.ts.map +1 -0
  134. package/script/bin/cli.js +369 -0
  135. package/script/bin/cli.js.map +1 -0
  136. package/script/src/{errors.d.ts → _errors.d.ts} +1 -1
  137. package/script/src/_errors.d.ts.map +1 -0
  138. package/script/src/{errors.js → _errors.js} +1 -1
  139. package/script/src/_errors.js.map +1 -0
  140. package/script/src/clients/exchange.d.ts +91 -91
  141. package/script/src/clients/exchange.d.ts.map +1 -1
  142. package/script/src/clients/exchange.js +61 -56
  143. package/script/src/clients/exchange.js.map +1 -1
  144. package/script/src/clients/info.d.ts +134 -112
  145. package/script/src/clients/info.d.ts.map +1 -1
  146. package/script/src/clients/info.js +94 -71
  147. package/script/src/clients/info.js.map +1 -1
  148. package/script/src/clients/multiSign.d.ts +2 -2
  149. package/script/src/clients/multiSign.d.ts.map +1 -1
  150. package/script/src/clients/multiSign.js +9 -7
  151. package/script/src/clients/multiSign.js.map +1 -1
  152. package/script/src/clients/subscription.d.ts +23 -23
  153. package/script/src/clients/subscription.d.ts.map +1 -1
  154. package/script/src/clients/subscription.js +8 -11
  155. package/script/src/clients/subscription.js.map +1 -1
  156. package/script/src/mod.d.ts +21 -0
  157. package/script/src/mod.d.ts.map +1 -0
  158. package/script/{mod.js → src/mod.js} +12 -8
  159. package/script/src/mod.js.map +1 -0
  160. package/script/src/schemas/_base.d.ts +8 -6
  161. package/script/src/schemas/_base.d.ts.map +1 -1
  162. package/script/src/schemas/_base.js +7 -5
  163. package/script/src/schemas/_base.js.map +1 -1
  164. package/script/src/schemas/exchange/requests.d.ts +332 -313
  165. package/script/src/schemas/exchange/requests.d.ts.map +1 -1
  166. package/script/src/schemas/exchange/requests.js +51 -60
  167. package/script/src/schemas/exchange/requests.js.map +1 -1
  168. package/script/src/schemas/exchange/responses.d.ts +10 -10
  169. package/script/src/schemas/exchange/responses.js +2 -2
  170. package/script/src/schemas/exchange/responses.js.map +1 -1
  171. package/script/src/schemas/explorer/requests.d.ts +1 -1
  172. package/script/src/schemas/explorer/requests.js +1 -1
  173. package/script/src/schemas/explorer/requests.js.map +1 -1
  174. package/script/src/schemas/explorer/responses.d.ts +16 -16
  175. package/script/src/schemas/explorer/responses.js +2 -2
  176. package/script/src/schemas/explorer/responses.js.map +1 -1
  177. package/script/src/schemas/info/accounts.d.ts +975 -229
  178. package/script/src/schemas/info/accounts.d.ts.map +1 -1
  179. package/script/src/schemas/info/accounts.js +65 -21
  180. package/script/src/schemas/info/accounts.js.map +1 -1
  181. package/script/src/schemas/info/assets.d.ts +110 -110
  182. package/script/src/schemas/info/assets.js +8 -8
  183. package/script/src/schemas/info/assets.js.map +1 -1
  184. package/script/src/schemas/info/markets.d.ts +25 -25
  185. package/script/src/schemas/info/markets.js +2 -2
  186. package/script/src/schemas/info/markets.js.map +1 -1
  187. package/script/src/schemas/info/orders.d.ts +175 -175
  188. package/script/src/schemas/info/orders.js +2 -2
  189. package/script/src/schemas/info/orders.js.map +1 -1
  190. package/script/src/schemas/info/requests.d.ts +31 -16
  191. package/script/src/schemas/info/requests.d.ts.map +1 -1
  192. package/script/src/schemas/info/requests.js +51 -40
  193. package/script/src/schemas/info/requests.js.map +1 -1
  194. package/script/src/schemas/info/validators.d.ts +30 -30
  195. package/script/src/schemas/info/validators.d.ts.map +1 -1
  196. package/script/src/schemas/info/validators.js +7 -7
  197. package/script/src/schemas/info/validators.js.map +1 -1
  198. package/script/src/schemas/info/vaults.d.ts +46 -46
  199. package/script/src/schemas/info/vaults.js +9 -9
  200. package/script/src/schemas/info/vaults.js.map +1 -1
  201. package/script/src/schemas/mod.d.ts +3 -3
  202. package/script/src/schemas/mod.d.ts.map +1 -1
  203. package/script/src/schemas/mod.js +4 -4
  204. package/script/src/schemas/mod.js.map +1 -1
  205. package/script/src/schemas/subscriptions/requests.d.ts +4 -4
  206. package/script/src/schemas/subscriptions/requests.d.ts.map +1 -1
  207. package/script/src/schemas/subscriptions/requests.js +16 -16
  208. package/script/src/schemas/subscriptions/requests.js.map +1 -1
  209. package/script/src/schemas/subscriptions/responses.d.ts +618 -618
  210. package/script/src/schemas/subscriptions/responses.js +13 -13
  211. package/script/src/schemas/subscriptions/responses.js.map +1 -1
  212. package/script/src/signing/mod.d.ts +1 -1
  213. package/script/src/signing/mod.d.ts.map +1 -1
  214. package/script/src/signing/mod.js +40 -7
  215. package/script/src/signing/mod.js.map +1 -1
  216. package/script/src/signing/signTypedData/ethers.d.ts.map +1 -0
  217. package/script/src/signing/signTypedData/ethers.js.map +1 -0
  218. package/script/src/signing/signTypedData/mod.d.ts.map +1 -0
  219. package/script/src/signing/signTypedData/mod.js.map +1 -0
  220. package/script/src/signing/signTypedData/private_key.d.ts.map +1 -0
  221. package/script/src/signing/{_signTypedData → signTypedData}/private_key.js +55 -21
  222. package/script/src/signing/signTypedData/private_key.js.map +1 -0
  223. package/script/src/signing/signTypedData/viem.d.ts.map +1 -0
  224. package/script/src/signing/signTypedData/viem.js.map +1 -0
  225. package/script/src/transports/_polyfills.d.ts +12 -0
  226. package/script/src/transports/_polyfills.d.ts.map +1 -0
  227. package/script/src/transports/_polyfills.js +43 -0
  228. package/script/src/transports/_polyfills.js.map +1 -0
  229. package/script/src/transports/base.d.ts +8 -8
  230. package/script/src/transports/base.d.ts.map +1 -1
  231. package/script/src/transports/base.js +3 -3
  232. package/script/src/transports/base.js.map +1 -1
  233. package/script/src/transports/http/http_transport.d.ts +11 -4
  234. package/script/src/transports/http/http_transport.d.ts.map +1 -1
  235. package/script/src/transports/http/http_transport.js +17 -6
  236. package/script/src/transports/http/http_transport.js.map +1 -1
  237. package/script/src/transports/websocket/_hyperliquid_event_target.d.ts +8 -7
  238. package/script/src/transports/websocket/_hyperliquid_event_target.d.ts.map +1 -1
  239. package/script/src/transports/websocket/_hyperliquid_event_target.js +47 -33
  240. package/script/src/transports/websocket/_hyperliquid_event_target.js.map +1 -1
  241. package/script/src/transports/websocket/_reconnecting_websocket.d.ts +26 -29
  242. package/script/src/transports/websocket/_reconnecting_websocket.d.ts.map +1 -1
  243. package/script/src/transports/websocket/_reconnecting_websocket.js +82 -76
  244. package/script/src/transports/websocket/_reconnecting_websocket.js.map +1 -1
  245. package/script/src/transports/websocket/_websocket_async_request.d.ts +6 -0
  246. package/script/src/transports/websocket/_websocket_async_request.d.ts.map +1 -1
  247. package/script/src/transports/websocket/_websocket_async_request.js +52 -43
  248. package/script/src/transports/websocket/_websocket_async_request.js.map +1 -1
  249. package/script/src/transports/websocket/websocket_transport.d.ts +48 -70
  250. package/script/src/transports/websocket/websocket_transport.d.ts.map +1 -1
  251. package/script/src/transports/websocket/websocket_transport.js +92 -105
  252. package/script/src/transports/websocket/websocket_transport.js.map +1 -1
  253. package/src/bin/_utils.ts +185 -0
  254. package/src/bin/cli.ts +359 -0
  255. package/src/src/clients/exchange.ts +155 -144
  256. package/src/src/clients/info.ts +158 -124
  257. package/src/src/clients/multiSign.ts +13 -11
  258. package/src/src/clients/subscription.ts +32 -32
  259. package/src/src/mod.ts +29 -0
  260. package/src/src/schemas/_base.ts +25 -8
  261. package/src/src/schemas/exchange/requests.ts +59 -61
  262. package/src/src/schemas/exchange/responses.ts +3 -3
  263. package/src/src/schemas/explorer/requests.ts +2 -2
  264. package/src/src/schemas/explorer/responses.ts +3 -3
  265. package/src/src/schemas/info/accounts.ts +129 -21
  266. package/src/src/schemas/info/assets.ts +9 -9
  267. package/src/src/schemas/info/markets.ts +3 -3
  268. package/src/src/schemas/info/orders.ts +3 -3
  269. package/src/src/schemas/info/requests.ts +72 -40
  270. package/src/src/schemas/info/validators.ts +22 -24
  271. package/src/src/schemas/info/vaults.ts +10 -10
  272. package/src/src/schemas/mod.ts +3 -3
  273. package/src/src/schemas/subscriptions/requests.ts +27 -17
  274. package/src/src/schemas/subscriptions/responses.ts +14 -14
  275. package/src/src/signing/mod.ts +6 -6
  276. package/src/src/signing/{_signTypedData → signTypedData}/private_key.ts +22 -17
  277. package/src/src/transports/_polyfills.ts +41 -0
  278. package/src/src/transports/base.ts +8 -8
  279. package/src/src/transports/http/http_transport.ts +25 -14
  280. package/src/src/transports/websocket/_hyperliquid_event_target.ts +24 -51
  281. package/src/src/transports/websocket/_reconnecting_websocket.ts +107 -119
  282. package/src/src/transports/websocket/_websocket_async_request.ts +57 -59
  283. package/src/src/transports/websocket/websocket_transport.ts +126 -167
  284. package/esm/mod.d.ts +0 -20
  285. package/esm/mod.d.ts.map +0 -1
  286. package/esm/mod.js +0 -12
  287. package/esm/mod.js.map +0 -1
  288. package/esm/src/errors.d.ts.map +0 -1
  289. package/esm/src/errors.js.map +0 -1
  290. package/esm/src/signing/_signTypedData/ethers.d.ts.map +0 -1
  291. package/esm/src/signing/_signTypedData/ethers.js.map +0 -1
  292. package/esm/src/signing/_signTypedData/mod.d.ts.map +0 -1
  293. package/esm/src/signing/_signTypedData/mod.js.map +0 -1
  294. package/esm/src/signing/_signTypedData/private_key.d.ts.map +0 -1
  295. package/esm/src/signing/_signTypedData/private_key.js.map +0 -1
  296. package/esm/src/signing/_signTypedData/viem.d.ts.map +0 -1
  297. package/esm/src/signing/_signTypedData/viem.js.map +0 -1
  298. package/script/mod.d.ts +0 -20
  299. package/script/mod.d.ts.map +0 -1
  300. package/script/mod.js.map +0 -1
  301. package/script/src/errors.d.ts.map +0 -1
  302. package/script/src/errors.js.map +0 -1
  303. package/script/src/signing/_signTypedData/ethers.d.ts.map +0 -1
  304. package/script/src/signing/_signTypedData/ethers.js.map +0 -1
  305. package/script/src/signing/_signTypedData/mod.d.ts.map +0 -1
  306. package/script/src/signing/_signTypedData/mod.js.map +0 -1
  307. package/script/src/signing/_signTypedData/private_key.d.ts.map +0 -1
  308. package/script/src/signing/_signTypedData/private_key.js.map +0 -1
  309. package/script/src/signing/_signTypedData/viem.d.ts.map +0 -1
  310. package/script/src/signing/_signTypedData/viem.js.map +0 -1
  311. package/src/mod.ts +0 -28
  312. /package/esm/src/signing/{_signTypedData → signTypedData}/ethers.d.ts +0 -0
  313. /package/esm/src/signing/{_signTypedData → signTypedData}/ethers.js +0 -0
  314. /package/esm/src/signing/{_signTypedData → signTypedData}/mod.d.ts +0 -0
  315. /package/esm/src/signing/{_signTypedData → signTypedData}/mod.js +0 -0
  316. /package/esm/src/signing/{_signTypedData → signTypedData}/private_key.d.ts +0 -0
  317. /package/esm/src/signing/{_signTypedData → signTypedData}/viem.d.ts +0 -0
  318. /package/esm/src/signing/{_signTypedData → signTypedData}/viem.js +0 -0
  319. /package/script/src/signing/{_signTypedData → signTypedData}/ethers.d.ts +0 -0
  320. /package/script/src/signing/{_signTypedData → signTypedData}/ethers.js +0 -0
  321. /package/script/src/signing/{_signTypedData → signTypedData}/mod.d.ts +0 -0
  322. /package/script/src/signing/{_signTypedData → signTypedData}/mod.js +0 -0
  323. /package/script/src/signing/{_signTypedData → signTypedData}/private_key.d.ts +0 -0
  324. /package/script/src/signing/{_signTypedData → signTypedData}/viem.d.ts +0 -0
  325. /package/script/src/signing/{_signTypedData → signTypedData}/viem.js +0 -0
  326. /package/src/src/{errors.ts → _errors.ts} +0 -0
  327. /package/src/src/signing/{_signTypedData → signTypedData}/ethers.ts +0 -0
  328. /package/src/src/signing/{_signTypedData → signTypedData}/mod.ts +0 -0
  329. /package/src/src/signing/{_signTypedData → signTypedData}/viem.ts +0 -0
@@ -1,20 +1,6 @@
1
1
  // deno-lint-ignore-file no-explicit-any
2
2
  import { TransportError } from "../base.js";
3
- /** Simple FIFO (First In, First Out) buffer implementation. */
4
- class FIFOMessageBuffer {
5
- queue = [];
6
- push(data, signal) {
7
- this.queue.push({ data, signal });
8
- }
9
- *[Symbol.iterator]() {
10
- while (this.queue.length > 0) {
11
- const { data, signal } = this.queue.shift();
12
- if (signal?.aborted)
13
- continue;
14
- yield data;
15
- }
16
- }
17
- }
3
+ import { AbortSignal_ } from "../_polyfills.js";
18
4
  /** Error thrown when reconnection problems occur. */
19
5
  export class ReconnectingWebSocketError extends TransportError {
20
6
  code;
@@ -26,95 +12,121 @@ export class ReconnectingWebSocketError extends TransportError {
26
12
  }
27
13
  }
28
14
  /**
29
- * A WebSocket that automatically reconnects when disconnected.
15
+ * A WebSocket that automatically reconnects and restores event listeners after disconnection.
30
16
  * Fully compatible with standard WebSocket API.
17
+ *
18
+ * Additions:
19
+ * - `reconnectOptions` property: The options used to configure the reconnection behavior.
20
+ * - `terminateSignal` property: An `AbortSignal` that is aborted when the instance is permanently closed.
31
21
  */
32
22
  export class ReconnectingWebSocket {
33
23
  _socket;
34
24
  _protocols;
35
25
  _listeners = [];
36
26
  _attempt = 0;
27
+ _messageBuffer = [];
28
+ _abortController = new AbortController();
37
29
  reconnectOptions;
38
- reconnectAbortController = new AbortController();
39
- constructor(url, protocols, options) {
30
+ terminateSignal = this._abortController.signal;
31
+ constructor(url, protocolsOrOptions, maybeOptions) {
32
+ const protocols = typeof protocolsOrOptions === "string" || Array.isArray(protocolsOrOptions)
33
+ ? protocolsOrOptions
34
+ : undefined;
35
+ const options = typeof protocolsOrOptions === "object" && !Array.isArray(protocolsOrOptions)
36
+ ? protocolsOrOptions
37
+ : maybeOptions;
38
+ if (!globalThis.WebSocket && !options?.WebSocket) {
39
+ throw new Error("No WebSocket implementation found. Please provide a custom WebSocket constructor in the options.");
40
+ }
40
41
  this.reconnectOptions = {
42
+ WebSocket: options?.WebSocket ?? WebSocket,
41
43
  maxRetries: options?.maxRetries ?? 3,
42
44
  connectionTimeout: options?.connectionTimeout === undefined ? 10_000 : options.connectionTimeout,
43
- connectionDelay: options?.connectionDelay ?? ((n) => Math.min(~~(1 << n) * 150, 10_000)),
44
- shouldReconnect: options?.shouldReconnect ?? (() => true),
45
- messageBuffer: options?.messageBuffer ?? new FIFOMessageBuffer(),
45
+ reconnectionDelay: options?.reconnectionDelay ?? ((n) => Math.min(~~(1 << n) * 150, 10_000)),
46
46
  };
47
47
  this._socket = this._createSocket(url, protocols);
48
48
  this._protocols = protocols;
49
- this._setupEventListeners();
49
+ this._initInternalListeners();
50
50
  }
51
51
  _createSocket(url, protocols) {
52
- const socket = new WebSocket(url, protocols);
52
+ const socket = new this.reconnectOptions.WebSocket(url, protocols);
53
53
  if (this.reconnectOptions.connectionTimeout === null)
54
54
  return socket;
55
- const timeoutId = setTimeout(() => {
56
- socket.removeEventListener("open", openHandler);
57
- socket.removeEventListener("close", closeHandler);
58
- socket.close(3008, "Timeout"); // https://www.iana.org/assignments/websocket/websocket.xml#close-code-number
59
- }, this.reconnectOptions.connectionTimeout);
60
- const openHandler = () => {
61
- socket.removeEventListener("close", closeHandler);
62
- clearTimeout(timeoutId);
55
+ const handleOpen = () => {
56
+ socket.removeEventListener("close", handleClose);
57
+ socket.removeEventListener("error", handleError);
58
+ signal.removeEventListener("abort", handleAbort);
63
59
  };
64
- const closeHandler = () => {
65
- socket.removeEventListener("open", openHandler);
66
- clearTimeout(timeoutId);
60
+ const handleClose = () => {
61
+ socket.removeEventListener("open", handleOpen);
62
+ socket.removeEventListener("error", handleError);
63
+ signal.removeEventListener("abort", handleAbort);
67
64
  };
68
- socket.addEventListener("open", openHandler, { once: true });
69
- socket.addEventListener("close", closeHandler, { once: true });
65
+ const handleError = () => {
66
+ socket.removeEventListener("open", handleOpen);
67
+ socket.removeEventListener("close", handleClose);
68
+ signal.removeEventListener("abort", handleAbort);
69
+ };
70
+ const handleAbort = () => {
71
+ socket.close(3008, "Timeout"); // https://www.iana.org/assignments/websocket/websocket.xml#close-code-number
72
+ };
73
+ const signal = AbortSignal_.timeout(this.reconnectOptions.connectionTimeout);
74
+ socket.addEventListener("open", handleOpen, { once: true, signal });
75
+ socket.addEventListener("close", handleClose, { once: true, signal });
76
+ socket.addEventListener("error", handleError, { once: true, signal });
77
+ signal.addEventListener("abort", handleAbort, { once: true });
70
78
  return socket;
71
79
  }
80
+ _cleanup(code, cause) {
81
+ const error = new ReconnectingWebSocketError(code, cause);
82
+ this._abortController.abort(error);
83
+ this._listeners = [];
84
+ this._socket.close();
85
+ }
72
86
  /** Initializes the internal event listeners for the socket. */
73
- _setupEventListeners() {
87
+ _initInternalListeners() {
88
+ const handleClose = () => {
89
+ this._socket.removeEventListener("error", handleError);
90
+ this._close();
91
+ };
92
+ const handleError = () => {
93
+ this._socket.removeEventListener("close", handleClose);
94
+ this._close();
95
+ };
74
96
  this._socket.addEventListener("open", this._open, { once: true });
75
- this._socket.addEventListener("close", this._close, { once: true });
97
+ this._socket.addEventListener("close", handleClose, { once: true });
98
+ this._socket.addEventListener("error", handleError, { once: true });
76
99
  }
77
100
  _open = () => {
78
101
  // Reset the attempt counter
79
102
  this._attempt = 0;
80
103
  // Send all buffered messages
81
- for (const message of this.reconnectOptions.messageBuffer) {
82
- this._socket.send(message);
104
+ while (this._messageBuffer.length > 0) {
105
+ const item = this._messageBuffer.shift();
106
+ if (item.signal?.aborted)
107
+ continue;
108
+ this._socket.send(item.data);
83
109
  }
84
110
  };
85
- _close = async (event) => {
111
+ _close = async () => {
86
112
  try {
87
- // If the event was triggered but the socket is not closing, ignore it
88
- if (this._socket.readyState !== ReconnectingWebSocket.CLOSING &&
89
- this._socket.readyState !== ReconnectingWebSocket.CLOSED)
90
- return;
91
113
  // If the instance is terminated, do not attempt to reconnect
92
- if (this.reconnectAbortController.signal.aborted)
114
+ if (this._abortController.signal.aborted)
93
115
  return;
94
116
  // Check if reconnection should be attempted
95
117
  if (++this._attempt > this.reconnectOptions.maxRetries) {
96
- this._cleanup("RECONNECTION_LIMIT_REACHED");
97
- return;
98
- }
99
- const userDecision = await this.reconnectOptions.shouldReconnect(event, this.reconnectAbortController.signal);
100
- if (this.reconnectAbortController.signal.aborted)
101
- return;
102
- if (!userDecision) {
103
- this._cleanup("RECONNECTION_STOPPED_BY_USER");
118
+ this._cleanup("RECONNECTION_LIMIT");
104
119
  return;
105
120
  }
106
121
  // Delay before reconnecting
107
- const reconnectDelay = typeof this.reconnectOptions.connectionDelay === "number"
108
- ? this.reconnectOptions.connectionDelay
109
- : await this.reconnectOptions.connectionDelay(this._attempt, this.reconnectAbortController.signal);
110
- if (this.reconnectAbortController.signal.aborted)
111
- return;
112
- await delay(reconnectDelay, this.reconnectAbortController.signal);
113
- // Create a new WebSocket instance
114
- const { onclose, onerror, onmessage, onopen } = this._socket;
122
+ const delay = typeof this.reconnectOptions.reconnectionDelay === "number"
123
+ ? this.reconnectOptions.reconnectionDelay
124
+ : this.reconnectOptions.reconnectionDelay(this._attempt);
125
+ await sleep(delay, this._abortController.signal);
126
+ // Create a new WebSocket instance and re-apply event listeners
127
+ const { onclose, onerror, onmessage, onopen } = this._socket; // preserve event handlers
115
128
  this._socket = this._createSocket(this._socket.url, this._protocols);
116
- // Reconnect all listeners
117
- this._setupEventListeners();
129
+ this._initInternalListeners();
118
130
  this._listeners.forEach(({ type, listenerProxy, options }) => {
119
131
  this._socket.addEventListener(type, listenerProxy, options);
120
132
  });
@@ -127,12 +139,6 @@ export class ReconnectingWebSocket {
127
139
  this._cleanup("UNKNOWN_ERROR", error);
128
140
  }
129
141
  };
130
- /** Clean up internal resources. */
131
- _cleanup(code, cause) {
132
- this.reconnectAbortController.abort(new ReconnectingWebSocketError(code, cause));
133
- this._listeners = [];
134
- this._socket.close();
135
- }
136
142
  // WebSocket property implementations
137
143
  get url() {
138
144
  return this._socket.url;
@@ -193,7 +199,7 @@ export class ReconnectingWebSocket {
193
199
  close(code, reason, permanently = true) {
194
200
  this._socket.close(code, reason);
195
201
  if (permanently)
196
- this._cleanup("USER_INITIATED_CLOSE");
202
+ this._cleanup("TERMINATED_BY_USER");
197
203
  }
198
204
  /**
199
205
  * @param signal - `AbortSignal` to cancel sending a message if it was in the buffer.
@@ -202,8 +208,8 @@ export class ReconnectingWebSocket {
202
208
  send(data, signal) {
203
209
  if (signal?.aborted)
204
210
  return;
205
- if (this._socket.readyState !== ReconnectingWebSocket.OPEN && !this.reconnectAbortController.signal.aborted) {
206
- this.reconnectOptions.messageBuffer.push(data, signal);
211
+ if (this._socket.readyState !== ReconnectingWebSocket.OPEN && !this._abortController.signal.aborted) {
212
+ this._messageBuffer.push({ data, signal });
207
213
  }
208
214
  else {
209
215
  this._socket.send(data);
@@ -212,7 +218,7 @@ export class ReconnectingWebSocket {
212
218
  addEventListener(type, listener, options) {
213
219
  // Wrap the listener to handle reconnection
214
220
  let listenerProxy;
215
- if (this.reconnectAbortController.signal.aborted) {
221
+ if (this._abortController.signal.aborted) {
216
222
  // If the instance is terminated, use the original listener
217
223
  listenerProxy = listener;
218
224
  }
@@ -268,12 +274,12 @@ export class ReconnectingWebSocket {
268
274
  }
269
275
  }
270
276
  function listenersMatch(a, b) {
271
- // EventTarget only compares capture in options, even if one is an object and the other is boolean
277
+ // `EventTarget` only compares `capture` in options, even if one is an object and the other is boolean
272
278
  const aCapture = Boolean(typeof a.options === "object" ? a.options.capture : a.options);
273
279
  const bCapture = Boolean(typeof b.options === "object" ? b.options.capture : b.options);
274
280
  return a.type === b.type && a.listener === b.listener && aCapture === bCapture;
275
281
  }
276
- function delay(ms, signal) {
282
+ function sleep(ms, signal) {
277
283
  if (signal?.aborted)
278
284
  return Promise.reject(signal.reason);
279
285
  return new Promise((resolve, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"_reconnecting_websocket.js","sourceRoot":"","sources":["../../../../src/src/transports/websocket/_reconnecting_websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_reconnecting_websocket.js","sourceRoot":"","sources":["../../../../src/src/transports/websocket/_reconnecting_websocket.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,10 @@
1
+ import { TransportError } from "../base.js";
1
2
  import type { ReconnectingWebSocket } from "./_reconnecting_websocket.js";
2
3
  import type { HyperliquidEventTarget } from "./_hyperliquid_event_target.js";
4
+ /** Error thrown when a WebSocket request fails. */
5
+ export declare class WebSocketRequestError extends TransportError {
6
+ constructor(message?: string, options?: ErrorOptions);
7
+ }
3
8
  /**
4
9
  * Manages WebSocket requests to the Hyperliquid API.
5
10
  * Handles request creation, sending, and mapping responses to their corresponding requests.
@@ -12,6 +17,7 @@ export declare class WebSocketAsyncRequest {
12
17
  resolve: (value?: any) => void;
13
18
  reject: (reason?: any) => void;
14
19
  }[];
20
+ /** Timestamp of the last request sent. */
15
21
  lastRequestTime: number;
16
22
  /**
17
23
  * Creates a new WebSocket async request handler.
@@ -1 +1 @@
1
- {"version":3,"file":"_websocket_async_request.d.ts","sourceRoot":"","sources":["../../../../src/src/transports/websocket/_websocket_async_request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,KAAK,EAAuB,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAkBlG;;;GAGG;AACH,qBAAa,qBAAqB;IAgBlB,SAAS,CAAC,MAAM,EAAE,qBAAqB;IAfnD,SAAS,CAAC,MAAM,EAAE,MAAM,CAAK;IAC7B,SAAS,CAAC,KAAK,EAAE;QACb,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QAEpB,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;QAE/B,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;KAClC,EAAE,CAAM;IACT,eAAe,EAAE,MAAM,CAAK;IAE5B;;;;OAIG;gBACmB,MAAM,EAAE,qBAAqB,EAAE,QAAQ,EAAE,sBAAsB;IAqFrF;;;OAGG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAC5D,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;IAiDlH,6DAA6D;IAC7D,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;CAK7C"}
1
+ {"version":3,"file":"_websocket_async_request.d.ts","sourceRoot":"","sources":["../../../../src/src/transports/websocket/_websocket_async_request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAe7E,mDAAmD;AACnD,qBAAa,qBAAsB,SAAQ,cAAc;gBACzC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIvD;AAED;;;GAGG;AACH,qBAAa,qBAAqB;IAiBlB,SAAS,CAAC,MAAM,EAAE,qBAAqB;IAhBnD,SAAS,CAAC,MAAM,SAAK;IACrB,SAAS,CAAC,KAAK,EAAE;QACb,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QAEpB,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;QAE/B,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;KAClC,EAAE,CAAM;IACT,0CAA0C;IAC1C,eAAe,SAAK;IAEpB;;;;OAIG;gBACmB,MAAM,EAAE,qBAAqB,EAAE,QAAQ,EAAE,sBAAsB;IAsFrF;;;OAGG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAC5D,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;IAiDlH,6DAA6D;IAC7D,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;CAK7C"}
@@ -1,4 +1,12 @@
1
- import { WebSocketRequestError } from "./websocket_transport.js";
1
+ import { TransportError } from "../base.js";
2
+ import { Promise_ } from "../_polyfills.js";
3
+ /** Error thrown when a WebSocket request fails. */
4
+ export class WebSocketRequestError extends TransportError {
5
+ constructor(message, options) {
6
+ super(message, options);
7
+ this.name = "WebSocketRequestError";
8
+ }
9
+ }
2
10
  /**
3
11
  * Manages WebSocket requests to the Hyperliquid API.
4
12
  * Handles request creation, sending, and mapping responses to their corresponding requests.
@@ -7,6 +15,7 @@ export class WebSocketAsyncRequest {
7
15
  socket;
8
16
  lastId = 0;
9
17
  queue = [];
18
+ /** Timestamp of the last request sent. */
10
19
  lastRequestTime = 0;
11
20
  /**
12
21
  * Creates a new WebSocket async request handler.
@@ -17,87 +26,88 @@ export class WebSocketAsyncRequest {
17
26
  this.socket = socket;
18
27
  // Monitor responses and match the pending request
19
28
  hlEvents.addEventListener("subscriptionResponse", (event) => {
20
- const detail = event.detail;
21
- // Use a stringified request as an id
22
- const id = WebSocketAsyncRequest.requestToId(detail);
23
- this.queue.findLast((item) => item.id === id)?.resolve(detail);
29
+ const id = WebSocketAsyncRequest.requestToId(event.detail);
30
+ this.queue.find((x) => x.id === id)?.resolve(event.detail);
24
31
  });
25
32
  hlEvents.addEventListener("post", (event) => {
26
- const detail = event.detail;
27
- const data = detail.response.type === "info" ? detail.response.payload.data : detail.response.payload;
28
- this.queue.findLast((item) => item.id === detail.id)?.resolve(data);
33
+ const data = event.detail.response.type === "info"
34
+ ? event.detail.response.payload.data
35
+ : event.detail.response.payload;
36
+ this.queue.find((x) => x.id === event.detail.id)?.resolve(data);
29
37
  });
30
38
  hlEvents.addEventListener("pong", () => {
31
- this.queue.findLast((item) => item.id === "ping")?.resolve();
39
+ this.queue.find((x) => x.id === "ping")?.resolve();
32
40
  });
33
41
  hlEvents.addEventListener("error", (event) => {
34
- const detail = event.detail;
35
42
  try {
36
43
  // Error event doesn't have an id, use original request to match
37
- const request = detail.match(/{.*}/)?.[0];
44
+ const request = event.detail.match(/{.*}/)?.[0];
38
45
  if (!request)
39
46
  return;
40
47
  const parsedRequest = JSON.parse(request);
41
48
  // For `post` requests
42
49
  if ("id" in parsedRequest && typeof parsedRequest.id === "number") {
43
- this.queue.findLast((item) => item.id === parsedRequest.id)
44
- ?.reject(new WebSocketRequestError(`Server error: ${detail}`, { cause: detail }));
50
+ this.queue.find((x) => x.id === parsedRequest.id)
51
+ ?.reject(new WebSocketRequestError(event.detail));
45
52
  return;
46
53
  }
47
54
  // For `subscribe` and `unsubscribe` requests
48
55
  if ("subscription" in parsedRequest &&
49
56
  typeof parsedRequest.subscription === "object" && parsedRequest.subscription !== null) {
50
57
  const id = WebSocketAsyncRequest.requestToId(parsedRequest);
51
- this.queue.findLast((item) => item.id === id)
52
- ?.reject(new WebSocketRequestError(`Server error: ${detail}`, { cause: detail }));
58
+ this.queue.find((x) => x.id === id)
59
+ ?.reject(new WebSocketRequestError(event.detail));
53
60
  return;
54
61
  }
55
62
  // For `Already subscribed` and `Invalid subscription` requests
56
- if (detail.startsWith("Already subscribed") || detail.startsWith("Invalid subscription")) {
63
+ if (event.detail.startsWith("Already subscribed") ||
64
+ event.detail.startsWith("Invalid subscription")) {
57
65
  const id = WebSocketAsyncRequest.requestToId({
58
66
  method: "subscribe",
59
67
  subscription: parsedRequest,
60
68
  });
61
- this.queue.findLast((item) => item.id === id)
62
- ?.reject(new WebSocketRequestError(`Server error: ${detail}`, { cause: detail }));
69
+ this.queue.find((x) => x.id === id)
70
+ ?.reject(new WebSocketRequestError(event.detail));
63
71
  return;
64
72
  }
65
73
  // For `Already unsubscribed` requests
66
- if (detail.startsWith("Already unsubscribed")) {
74
+ if (event.detail.startsWith("Already unsubscribed")) {
67
75
  const id = WebSocketAsyncRequest.requestToId({
68
76
  method: "unsubscribe",
69
77
  subscription: parsedRequest,
70
78
  });
71
- this.queue.findLast((item) => item.id === id)
72
- ?.reject(new WebSocketRequestError(`Server error: ${detail}`, { cause: detail }));
79
+ this.queue.find((x) => x.id === id)
80
+ ?.reject(new WebSocketRequestError(event.detail));
73
81
  return;
74
82
  }
75
83
  // For unknown requests
76
84
  const id = WebSocketAsyncRequest.requestToId(parsedRequest);
77
- this.queue.findLast((item) => item.id === id)
78
- ?.reject(new WebSocketRequestError(`Server error: ${detail}`, { cause: detail }));
85
+ this.queue.find((x) => x.id === id)
86
+ ?.reject(new WebSocketRequestError(event.detail));
79
87
  }
80
88
  catch {
81
89
  // Ignore JSON parsing errors
82
90
  }
83
91
  });
84
92
  // Throws all pending requests if the connection is dropped
85
- socket.addEventListener("close", () => {
93
+ const handleClose = () => {
86
94
  this.queue.forEach(({ reject }) => {
87
95
  reject(new WebSocketRequestError("WebSocket connection closed."));
88
96
  });
89
97
  this.queue = [];
90
- });
98
+ };
99
+ socket.addEventListener("close", handleClose);
100
+ socket.addEventListener("error", handleClose);
91
101
  }
92
- async request(method, payload_or_signal, maybeSignal) {
93
- const payload = payload_or_signal instanceof AbortSignal ? undefined : payload_or_signal;
94
- const signal = payload_or_signal instanceof AbortSignal ? payload_or_signal : maybeSignal;
102
+ async request(method, payloadOrSignal, maybeSignal) {
103
+ const payload = payloadOrSignal instanceof AbortSignal ? undefined : payloadOrSignal;
104
+ const signal = payloadOrSignal instanceof AbortSignal ? payloadOrSignal : maybeSignal;
95
105
  // Reject the request if the signal is aborted
96
106
  if (signal?.aborted)
97
107
  return Promise.reject(signal.reason);
98
108
  // or if the WebSocket connection is permanently closed
99
- if (this.socket.reconnectAbortController.signal.aborted) {
100
- return Promise.reject(this.socket.reconnectAbortController.signal.reason);
109
+ if (this.socket.terminateSignal.aborted) {
110
+ return Promise.reject(this.socket.terminateSignal.reason);
101
111
  }
102
112
  // Create a request
103
113
  let id;
@@ -118,12 +128,12 @@ export class WebSocketAsyncRequest {
118
128
  this.socket.send(JSON.stringify(request), signal);
119
129
  this.lastRequestTime = Date.now();
120
130
  // Wait for a response
121
- const { promise, resolve, reject } = Promise.withResolvers();
131
+ const { promise, resolve, reject } = Promise_.withResolvers();
122
132
  this.queue.push({ id, resolve, reject });
123
133
  const onAbort = () => reject(signal?.reason);
124
134
  signal?.addEventListener("abort", onAbort, { once: true });
125
135
  return await promise.finally(() => {
126
- const index = this.queue.findLastIndex((item) => item.id === id);
136
+ const index = this.queue.findIndex((item) => item.id === id);
127
137
  if (index !== -1)
128
138
  this.queue.splice(index, 1);
129
139
  signal?.removeEventListener("abort", onAbort);
@@ -132,29 +142,28 @@ export class WebSocketAsyncRequest {
132
142
  /** Normalizes an object and then converts it to a string. */
133
143
  static requestToId(value) {
134
144
  const lowerHex = deepLowerHex(value);
135
- const sorted = deepSortKeys(lowerHex);
136
- return JSON.stringify(sorted); // Also removes undefined
145
+ const sortedKeys = deepSortKeys(lowerHex);
146
+ return JSON.stringify(sortedKeys); // also removes undefined
137
147
  }
138
148
  }
139
- /** Deeply converts hexadecimal strings in an object/array to lowercase. */
149
+ /** Deeply converts hexadecimal strings to lowercase in an object/array. */
140
150
  function deepLowerHex(obj) {
141
151
  if (typeof obj === "string") {
142
- return /^(0X[0-9a-fA-F]*|0x[0-9a-fA-F]*[A-F][0-9a-fA-F]*)$/.test(obj) ? obj.toLowerCase() : obj;
152
+ return /^0[xX][0-9a-fA-F]+$/.test(obj) ? obj.toLowerCase() : obj;
143
153
  }
144
154
  if (Array.isArray(obj)) {
145
155
  return obj.map((value) => deepLowerHex(value));
146
156
  }
147
157
  if (typeof obj === "object" && obj !== null) {
148
158
  const result = {};
149
- const entries = Object.entries(obj);
150
- for (const [key, value] of entries) {
159
+ for (const [key, value] of Object.entries(obj)) {
151
160
  result[key] = deepLowerHex(value);
152
161
  }
153
162
  return result;
154
163
  }
155
164
  return obj;
156
165
  }
157
- /** Deeply sort the keys of an object. */
166
+ /** Deeply sort keys of an object alphabetically. */
158
167
  function deepSortKeys(obj) {
159
168
  if (typeof obj !== "object" || obj === null) {
160
169
  return obj;
@@ -163,8 +172,7 @@ function deepSortKeys(obj) {
163
172
  return obj.map(deepSortKeys);
164
173
  }
165
174
  const result = {};
166
- const keys = Object.keys(obj).sort();
167
- for (const key of keys) {
175
+ for (const key of Object.keys(obj).sort()) {
168
176
  result[key] = deepSortKeys(obj[key]);
169
177
  }
170
178
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"_websocket_async_request.js","sourceRoot":"","sources":["../../../../src/src/transports/websocket/_websocket_async_request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_websocket_async_request.js","sourceRoot":"","sources":["../../../../src/src/transports/websocket/_websocket_async_request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAiB5C,mDAAmD;AACnD,MAAM,OAAO,qBAAsB,SAAQ,cAAc;IACrD,YAAY,OAAgB,EAAE,OAAsB;QAChD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACxC,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,OAAO,qBAAqB;IAiBR;IAhBZ,MAAM,GAAG,CAAC,CAAC;IACX,KAAK,GAMT,EAAE,CAAC;IACT,0CAA0C;IAC1C,eAAe,GAAG,CAAC,CAAC;IAEpB;;;;OAIG;IACH,YAAsB,MAA6B,EAAE,QAAgC;QAA/D,WAAM,GAAN,MAAM,CAAuB;QAC/C,kDAAkD;QAClD,QAAQ,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,CAAC,KAAK,EAAE,EAAE;YACxD,MAAM,EAAE,GAAG,qBAAqB,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YACxC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM;gBAC9C,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI;gBACpC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;YACpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;YACnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;QACvD,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACzC,IAAI,CAAC;gBACD,gEAAgE;gBAChE,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAChD,IAAI,CAAC,OAAO;oBAAE,OAAO;gBAErB,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAE1C,sBAAsB;gBACtB,IAAI,IAAI,IAAI,aAAa,IAAI,OAAO,aAAa,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;oBAChE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE,CAAC;wBAC7C,EAAE,MAAM,CAAC,IAAI,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;oBACtD,OAAO;gBACX,CAAC;gBAED,6CAA6C;gBAC7C,IACI,cAAc,IAAI,aAAa;oBAC/B,OAAO,aAAa,CAAC,YAAY,KAAK,QAAQ,IAAI,aAAa,CAAC,YAAY,KAAK,IAAI,EACvF,CAAC;oBACC,MAAM,EAAE,GAAG,qBAAqB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;oBAC5D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;wBAC/B,EAAE,MAAM,CAAC,IAAI,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;oBACtD,OAAO;gBACX,CAAC;gBAED,+DAA+D;gBAC/D,IACI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC;oBAC7C,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,EACjD,CAAC;oBACC,MAAM,EAAE,GAAG,qBAAqB,CAAC,WAAW,CAAC;wBACzC,MAAM,EAAE,WAAW;wBACnB,YAAY,EAAE,aAAa;qBAC9B,CAAC,CAAC;oBACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;wBAC/B,EAAE,MAAM,CAAC,IAAI,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;oBACtD,OAAO;gBACX,CAAC;gBAED,sCAAsC;gBACtC,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;oBAClD,MAAM,EAAE,GAAG,qBAAqB,CAAC,WAAW,CAAC;wBACzC,MAAM,EAAE,aAAa;wBACrB,YAAY,EAAE,aAAa;qBAC9B,CAAC,CAAC;oBACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;wBAC/B,EAAE,MAAM,CAAC,IAAI,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;oBACtD,OAAO;gBACX,CAAC;gBAED,uBAAuB;gBACvB,MAAM,EAAE,GAAG,qBAAqB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gBAC5D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;oBAC/B,EAAE,MAAM,CAAC,IAAI,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1D,CAAC;YAAC,MAAM,CAAC;gBACL,6BAA6B;YACjC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,2DAA2D;QAC3D,MAAM,WAAW,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;gBAC9B,MAAM,CAAC,IAAI,qBAAqB,CAAC,8BAA8B,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QACpB,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC9C,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAClD,CAAC;IAQD,KAAK,CAAC,OAAO,CACT,MAAqD,EACrD,eAAuC,EACvC,WAAyB;QAEzB,MAAM,OAAO,GAAG,eAAe,YAAY,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC;QACrF,MAAM,MAAM,GAAG,eAAe,YAAY,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC;QAEtF,8CAA8C;QAC9C,IAAI,MAAM,EAAE,OAAO;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1D,uDAAuD;QACvD,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC9D,CAAC;QAED,mBAAmB;QACnB,IAAI,EAAmB,CAAC;QACxB,IAAI,OAAgE,CAAC;QACrE,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACpB,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;YACnB,OAAO,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAC/C,CAAC;aAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,EAAE,GAAG,MAAM,CAAC;YACZ,OAAO,GAAG,EAAE,MAAM,EAAE,CAAC;QACzB,CAAC;aAAM,CAAC;YACJ,OAAO,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;YAC5C,EAAE,GAAG,qBAAqB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAElC,sBAAsB;QACtB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,EAAK,CAAC;QACjE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAEzC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAE3D,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7D,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAE9C,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,6DAA6D;IAC7D,MAAM,CAAC,WAAW,CAAC,KAAc;QAC7B,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,yBAAyB;IAChE,CAAC;CACJ;AAED,2EAA2E;AAC3E,SAAS,YAAY,CAAC,GAAY;IAC9B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACrE,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC1C,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED,oDAAoD;AACpD,SAAS,YAAY,CAAI,GAAM;IAC3B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,GAAG,CAAC;IACf,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC,GAAG,CAAC,YAAY,CAAM,CAAC;IACtC,CAAC;IACD,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAE,GAA+B,CAAC,GAAG,CAAC,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,MAAW,CAAC;AACvB,CAAC"}