tardis-dev 14.3.0 → 15.1.0

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 (517) hide show
  1. package/README.md +31 -31
  2. package/dist/apikeyaccessinfo.d.ts +1 -1
  3. package/dist/apikeyaccessinfo.d.ts.map +1 -1
  4. package/dist/apikeyaccessinfo.js +7 -12
  5. package/dist/apikeyaccessinfo.js.map +1 -1
  6. package/dist/binarysplit.d.ts +2 -1
  7. package/dist/binarysplit.d.ts.map +1 -1
  8. package/dist/binarysplit.js +2 -6
  9. package/dist/binarysplit.js.map +1 -1
  10. package/dist/clearcache.d.ts +1 -1
  11. package/dist/clearcache.d.ts.map +1 -1
  12. package/dist/clearcache.js +19 -22
  13. package/dist/clearcache.js.map +1 -1
  14. package/dist/combine.js +5 -8
  15. package/dist/combine.js.map +1 -1
  16. package/dist/computable/booksnapshot.d.ts +3 -3
  17. package/dist/computable/booksnapshot.d.ts.map +1 -1
  18. package/dist/computable/booksnapshot.js +5 -9
  19. package/dist/computable/booksnapshot.js.map +1 -1
  20. package/dist/computable/computable.d.ts +1 -1
  21. package/dist/computable/computable.d.ts.map +1 -1
  22. package/dist/computable/computable.js +1 -4
  23. package/dist/computable/computable.js.map +1 -1
  24. package/dist/computable/index.d.ts +3 -3
  25. package/dist/computable/index.d.ts.map +1 -1
  26. package/dist/computable/index.js +3 -19
  27. package/dist/computable/index.js.map +1 -1
  28. package/dist/computable/tradebar.d.ts +2 -2
  29. package/dist/computable/tradebar.d.ts.map +1 -1
  30. package/dist/computable/tradebar.js +1 -5
  31. package/dist/computable/tradebar.js.map +1 -1
  32. package/dist/consts.js +2 -5
  33. package/dist/consts.js.map +1 -1
  34. package/dist/debug.js +2 -8
  35. package/dist/debug.js.map +1 -1
  36. package/dist/downloaddatasets.d.ts +2 -2
  37. package/dist/downloaddatasets.d.ts.map +1 -1
  38. package/dist/downloaddatasets.js +21 -28
  39. package/dist/downloaddatasets.js.map +1 -1
  40. package/dist/exchangedetails.d.ts +1 -1
  41. package/dist/exchangedetails.d.ts.map +1 -1
  42. package/dist/exchangedetails.js +6 -9
  43. package/dist/exchangedetails.js.map +1 -1
  44. package/dist/filter.d.ts +1 -1
  45. package/dist/filter.d.ts.map +1 -1
  46. package/dist/filter.js +4 -8
  47. package/dist/filter.js.map +1 -1
  48. package/dist/handy.d.ts +22 -4
  49. package/dist/handy.d.ts.map +1 -1
  50. package/dist/handy.js +257 -130
  51. package/dist/handy.js.map +1 -1
  52. package/dist/index.d.ts +16 -16
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +16 -34
  55. package/dist/index.js.map +1 -1
  56. package/dist/instrumentinfo.d.ts +2 -2
  57. package/dist/instrumentinfo.d.ts.map +1 -1
  58. package/dist/instrumentinfo.js +7 -11
  59. package/dist/instrumentinfo.js.map +1 -1
  60. package/dist/mappers/ascendex.d.ts +2 -2
  61. package/dist/mappers/ascendex.d.ts.map +1 -1
  62. package/dist/mappers/ascendex.js +11 -18
  63. package/dist/mappers/ascendex.js.map +1 -1
  64. package/dist/mappers/binance.d.ts +3 -3
  65. package/dist/mappers/binance.d.ts.map +1 -1
  66. package/dist/mappers/binance.js +26 -35
  67. package/dist/mappers/binance.js.map +1 -1
  68. package/dist/mappers/binancedex.d.ts +2 -2
  69. package/dist/mappers/binancedex.d.ts.map +1 -1
  70. package/dist/mappers/binancedex.js +7 -10
  71. package/dist/mappers/binancedex.js.map +1 -1
  72. package/dist/mappers/binanceeuropeanoptions.d.ts +2 -2
  73. package/dist/mappers/binanceeuropeanoptions.d.ts.map +1 -1
  74. package/dist/mappers/binanceeuropeanoptions.js +40 -50
  75. package/dist/mappers/binanceeuropeanoptions.js.map +1 -1
  76. package/dist/mappers/bitfinex.d.ts +2 -2
  77. package/dist/mappers/bitfinex.d.ts.map +1 -1
  78. package/dist/mappers/bitfinex.js +12 -20
  79. package/dist/mappers/bitfinex.js.map +1 -1
  80. package/dist/mappers/bitflyer.d.ts +2 -2
  81. package/dist/mappers/bitflyer.d.ts.map +1 -1
  82. package/dist/mappers/bitflyer.js +9 -13
  83. package/dist/mappers/bitflyer.js.map +1 -1
  84. package/dist/mappers/bitget.d.ts +2 -2
  85. package/dist/mappers/bitget.d.ts.map +1 -1
  86. package/dist/mappers/bitget.js +10 -17
  87. package/dist/mappers/bitget.js.map +1 -1
  88. package/dist/mappers/bitmex.d.ts +2 -2
  89. package/dist/mappers/bitmex.d.ts.map +1 -1
  90. package/dist/mappers/bitmex.js +17 -22
  91. package/dist/mappers/bitmex.js.map +1 -1
  92. package/dist/mappers/bitnomial.d.ts +2 -2
  93. package/dist/mappers/bitnomial.d.ts.map +1 -1
  94. package/dist/mappers/bitnomial.js +7 -11
  95. package/dist/mappers/bitnomial.js.map +1 -1
  96. package/dist/mappers/bitstamp.d.ts +2 -2
  97. package/dist/mappers/bitstamp.d.ts.map +1 -1
  98. package/dist/mappers/bitstamp.js +5 -9
  99. package/dist/mappers/bitstamp.js.map +1 -1
  100. package/dist/mappers/blockchaincom.d.ts +2 -2
  101. package/dist/mappers/blockchaincom.d.ts.map +1 -1
  102. package/dist/mappers/blockchaincom.js +5 -10
  103. package/dist/mappers/blockchaincom.js.map +1 -1
  104. package/dist/mappers/bybit.d.ts +2 -2
  105. package/dist/mappers/bybit.d.ts.map +1 -1
  106. package/dist/mappers/bybit.js +41 -55
  107. package/dist/mappers/bybit.js.map +1 -1
  108. package/dist/mappers/bybitspot.d.ts +2 -2
  109. package/dist/mappers/bybitspot.d.ts.map +1 -1
  110. package/dist/mappers/bybitspot.js +7 -13
  111. package/dist/mappers/bybitspot.js.map +1 -1
  112. package/dist/mappers/coinbase.d.ts +2 -2
  113. package/dist/mappers/coinbase.d.ts.map +1 -1
  114. package/dist/mappers/coinbase.js +11 -15
  115. package/dist/mappers/coinbase.js.map +1 -1
  116. package/dist/mappers/coinbaseinternational.d.ts +2 -2
  117. package/dist/mappers/coinbaseinternational.d.ts.map +1 -1
  118. package/dist/mappers/coinbaseinternational.js +12 -17
  119. package/dist/mappers/coinbaseinternational.js.map +1 -1
  120. package/dist/mappers/coinflex.d.ts +2 -2
  121. package/dist/mappers/coinflex.d.ts.map +1 -1
  122. package/dist/mappers/coinflex.js +9 -13
  123. package/dist/mappers/coinflex.js.map +1 -1
  124. package/dist/mappers/cryptocom.d.ts +2 -2
  125. package/dist/mappers/cryptocom.d.ts.map +1 -1
  126. package/dist/mappers/cryptocom.js +11 -18
  127. package/dist/mappers/cryptocom.js.map +1 -1
  128. package/dist/mappers/cryptofacilities.d.ts +2 -2
  129. package/dist/mappers/cryptofacilities.d.ts.map +1 -1
  130. package/dist/mappers/cryptofacilities.js +13 -17
  131. package/dist/mappers/cryptofacilities.js.map +1 -1
  132. package/dist/mappers/delta.d.ts +2 -2
  133. package/dist/mappers/delta.d.ts.map +1 -1
  134. package/dist/mappers/delta.js +17 -24
  135. package/dist/mappers/delta.js.map +1 -1
  136. package/dist/mappers/deribit.d.ts +2 -2
  137. package/dist/mappers/deribit.d.ts.map +1 -1
  138. package/dist/mappers/deribit.js +20 -25
  139. package/dist/mappers/deribit.js.map +1 -1
  140. package/dist/mappers/dydx.d.ts +2 -2
  141. package/dist/mappers/dydx.d.ts.map +1 -1
  142. package/dist/mappers/dydx.js +9 -15
  143. package/dist/mappers/dydx.js.map +1 -1
  144. package/dist/mappers/dydxv4.d.ts +2 -2
  145. package/dist/mappers/dydxv4.d.ts.map +1 -1
  146. package/dist/mappers/dydxv4.js +11 -18
  147. package/dist/mappers/dydxv4.js.map +1 -1
  148. package/dist/mappers/ftx.d.ts +2 -2
  149. package/dist/mappers/ftx.d.ts.map +1 -1
  150. package/dist/mappers/ftx.js +22 -31
  151. package/dist/mappers/ftx.js.map +1 -1
  152. package/dist/mappers/gateio.d.ts +3 -3
  153. package/dist/mappers/gateio.d.ts.map +1 -1
  154. package/dist/mappers/gateio.js +17 -26
  155. package/dist/mappers/gateio.js.map +1 -1
  156. package/dist/mappers/gateiofutures.d.ts +2 -2
  157. package/dist/mappers/gateiofutures.d.ts.map +1 -1
  158. package/dist/mappers/gateiofutures.js +11 -18
  159. package/dist/mappers/gateiofutures.js.map +1 -1
  160. package/dist/mappers/gemini.d.ts +2 -2
  161. package/dist/mappers/gemini.d.ts.map +1 -1
  162. package/dist/mappers/gemini.js +5 -8
  163. package/dist/mappers/gemini.js.map +1 -1
  164. package/dist/mappers/hitbtc.d.ts +2 -2
  165. package/dist/mappers/hitbtc.d.ts.map +1 -1
  166. package/dist/mappers/hitbtc.js +5 -8
  167. package/dist/mappers/hitbtc.js.map +1 -1
  168. package/dist/mappers/huobi.d.ts +4 -4
  169. package/dist/mappers/huobi.d.ts.map +1 -1
  170. package/dist/mappers/huobi.js +32 -42
  171. package/dist/mappers/huobi.js.map +1 -1
  172. package/dist/mappers/hyperliquid.d.ts +2 -2
  173. package/dist/mappers/hyperliquid.d.ts.map +1 -1
  174. package/dist/mappers/hyperliquid.js +6 -13
  175. package/dist/mappers/hyperliquid.js.map +1 -1
  176. package/dist/mappers/index.d.ts +38 -38
  177. package/dist/mappers/index.d.ts.map +1 -1
  178. package/dist/mappers/index.js +273 -296
  179. package/dist/mappers/index.js.map +1 -1
  180. package/dist/mappers/kraken.d.ts +2 -2
  181. package/dist/mappers/kraken.d.ts.map +1 -1
  182. package/dist/mappers/kraken.js +11 -14
  183. package/dist/mappers/kraken.js.map +1 -1
  184. package/dist/mappers/kucoin.d.ts +3 -3
  185. package/dist/mappers/kucoin.d.ts.map +1 -1
  186. package/dist/mappers/kucoin.js +10 -16
  187. package/dist/mappers/kucoin.js.map +1 -1
  188. package/dist/mappers/kucoinfutures.d.ts +3 -3
  189. package/dist/mappers/kucoinfutures.d.ts.map +1 -1
  190. package/dist/mappers/kucoinfutures.js +15 -22
  191. package/dist/mappers/kucoinfutures.js.map +1 -1
  192. package/dist/mappers/mapper.d.ts +1 -1
  193. package/dist/mappers/mapper.d.ts.map +1 -1
  194. package/dist/mappers/mapper.js +1 -5
  195. package/dist/mappers/mapper.js.map +1 -1
  196. package/dist/mappers/okex.d.ts +2 -2
  197. package/dist/mappers/okex.d.ts.map +1 -1
  198. package/dist/mappers/okex.js +65 -80
  199. package/dist/mappers/okex.js.map +1 -1
  200. package/dist/mappers/okexspreads.d.ts +2 -2
  201. package/dist/mappers/okexspreads.d.ts.map +1 -1
  202. package/dist/mappers/okexspreads.js +7 -13
  203. package/dist/mappers/okexspreads.js.map +1 -1
  204. package/dist/mappers/phemex.d.ts +2 -2
  205. package/dist/mappers/phemex.d.ts.map +1 -1
  206. package/dist/mappers/phemex.js +5 -9
  207. package/dist/mappers/phemex.js.map +1 -1
  208. package/dist/mappers/poloniex.d.ts +2 -2
  209. package/dist/mappers/poloniex.d.ts.map +1 -1
  210. package/dist/mappers/poloniex.js +9 -16
  211. package/dist/mappers/poloniex.js.map +1 -1
  212. package/dist/mappers/serum.d.ts +2 -2
  213. package/dist/mappers/serum.d.ts.map +1 -1
  214. package/dist/mappers/serum.js +11 -17
  215. package/dist/mappers/serum.js.map +1 -1
  216. package/dist/mappers/upbit.d.ts +2 -2
  217. package/dist/mappers/upbit.d.ts.map +1 -1
  218. package/dist/mappers/upbit.js +7 -12
  219. package/dist/mappers/upbit.js.map +1 -1
  220. package/dist/mappers/woox.d.ts +2 -2
  221. package/dist/mappers/woox.d.ts.map +1 -1
  222. package/dist/mappers/woox.js +11 -17
  223. package/dist/mappers/woox.js.map +1 -1
  224. package/dist/options.d.ts.map +1 -1
  225. package/dist/options.js +9 -14
  226. package/dist/options.js.map +1 -1
  227. package/dist/orderbook.d.ts +1 -1
  228. package/dist/orderbook.d.ts.map +1 -1
  229. package/dist/orderbook.js +4 -8
  230. package/dist/orderbook.js.map +1 -1
  231. package/dist/realtimefeeds/ascendex.d.ts +2 -2
  232. package/dist/realtimefeeds/ascendex.d.ts.map +1 -1
  233. package/dist/realtimefeeds/ascendex.js +5 -9
  234. package/dist/realtimefeeds/ascendex.js.map +1 -1
  235. package/dist/realtimefeeds/binance.d.ts +2 -2
  236. package/dist/realtimefeeds/binance.d.ts.map +1 -1
  237. package/dist/realtimefeeds/binance.js +23 -32
  238. package/dist/realtimefeeds/binance.js.map +1 -1
  239. package/dist/realtimefeeds/binancedex.d.ts +2 -2
  240. package/dist/realtimefeeds/binancedex.d.ts.map +1 -1
  241. package/dist/realtimefeeds/binancedex.js +5 -9
  242. package/dist/realtimefeeds/binancedex.js.map +1 -1
  243. package/dist/realtimefeeds/binanceeuropeanoptions.d.ts +2 -2
  244. package/dist/realtimefeeds/binanceeuropeanoptions.d.ts.map +1 -1
  245. package/dist/realtimefeeds/binanceeuropeanoptions.js +5 -9
  246. package/dist/realtimefeeds/binanceeuropeanoptions.js.map +1 -1
  247. package/dist/realtimefeeds/bitfinex.d.ts +2 -2
  248. package/dist/realtimefeeds/bitfinex.d.ts.map +1 -1
  249. package/dist/realtimefeeds/bitfinex.js +2 -6
  250. package/dist/realtimefeeds/bitfinex.js.map +1 -1
  251. package/dist/realtimefeeds/bitflyer.d.ts +2 -2
  252. package/dist/realtimefeeds/bitflyer.d.ts.map +1 -1
  253. package/dist/realtimefeeds/bitflyer.js +2 -6
  254. package/dist/realtimefeeds/bitflyer.js.map +1 -1
  255. package/dist/realtimefeeds/bitget.d.ts +2 -2
  256. package/dist/realtimefeeds/bitget.d.ts.map +1 -1
  257. package/dist/realtimefeeds/bitget.js +6 -11
  258. package/dist/realtimefeeds/bitget.js.map +1 -1
  259. package/dist/realtimefeeds/bitmex.d.ts +2 -2
  260. package/dist/realtimefeeds/bitmex.d.ts.map +1 -1
  261. package/dist/realtimefeeds/bitmex.js +4 -8
  262. package/dist/realtimefeeds/bitmex.js.map +1 -1
  263. package/dist/realtimefeeds/bitnomial.d.ts +2 -2
  264. package/dist/realtimefeeds/bitnomial.d.ts.map +1 -1
  265. package/dist/realtimefeeds/bitnomial.js +2 -6
  266. package/dist/realtimefeeds/bitnomial.js.map +1 -1
  267. package/dist/realtimefeeds/bitstamp.d.ts +2 -2
  268. package/dist/realtimefeeds/bitstamp.d.ts.map +1 -1
  269. package/dist/realtimefeeds/bitstamp.js +5 -9
  270. package/dist/realtimefeeds/bitstamp.js.map +1 -1
  271. package/dist/realtimefeeds/blockchaincom.d.ts +2 -2
  272. package/dist/realtimefeeds/blockchaincom.d.ts.map +1 -1
  273. package/dist/realtimefeeds/blockchaincom.js +4 -8
  274. package/dist/realtimefeeds/blockchaincom.js.map +1 -1
  275. package/dist/realtimefeeds/bybit.d.ts +2 -2
  276. package/dist/realtimefeeds/bybit.d.ts.map +1 -1
  277. package/dist/realtimefeeds/bybit.js +8 -14
  278. package/dist/realtimefeeds/bybit.js.map +1 -1
  279. package/dist/realtimefeeds/coinbase.d.ts +2 -2
  280. package/dist/realtimefeeds/coinbase.d.ts.map +1 -1
  281. package/dist/realtimefeeds/coinbase.js +4 -11
  282. package/dist/realtimefeeds/coinbase.js.map +1 -1
  283. package/dist/realtimefeeds/coinbaseinternational.d.ts +2 -2
  284. package/dist/realtimefeeds/coinbaseinternational.d.ts.map +1 -1
  285. package/dist/realtimefeeds/coinbaseinternational.js +4 -11
  286. package/dist/realtimefeeds/coinbaseinternational.js.map +1 -1
  287. package/dist/realtimefeeds/coinflex.d.ts +2 -2
  288. package/dist/realtimefeeds/coinflex.d.ts.map +1 -1
  289. package/dist/realtimefeeds/coinflex.js +2 -6
  290. package/dist/realtimefeeds/coinflex.js.map +1 -1
  291. package/dist/realtimefeeds/cryptocom.d.ts +2 -2
  292. package/dist/realtimefeeds/cryptocom.d.ts.map +1 -1
  293. package/dist/realtimefeeds/cryptocom.js +2 -6
  294. package/dist/realtimefeeds/cryptocom.js.map +1 -1
  295. package/dist/realtimefeeds/cryptofacilities.d.ts +2 -2
  296. package/dist/realtimefeeds/cryptofacilities.d.ts.map +1 -1
  297. package/dist/realtimefeeds/cryptofacilities.js +2 -6
  298. package/dist/realtimefeeds/cryptofacilities.js.map +1 -1
  299. package/dist/realtimefeeds/delta.d.ts +2 -2
  300. package/dist/realtimefeeds/delta.d.ts.map +1 -1
  301. package/dist/realtimefeeds/delta.js +2 -6
  302. package/dist/realtimefeeds/delta.js.map +1 -1
  303. package/dist/realtimefeeds/deribit.d.ts +2 -2
  304. package/dist/realtimefeeds/deribit.d.ts.map +1 -1
  305. package/dist/realtimefeeds/deribit.js +4 -8
  306. package/dist/realtimefeeds/deribit.js.map +1 -1
  307. package/dist/realtimefeeds/dydx.d.ts +2 -2
  308. package/dist/realtimefeeds/dydx.d.ts.map +1 -1
  309. package/dist/realtimefeeds/dydx.js +2 -6
  310. package/dist/realtimefeeds/dydx.js.map +1 -1
  311. package/dist/realtimefeeds/dydx_v4.d.ts +2 -2
  312. package/dist/realtimefeeds/dydx_v4.d.ts.map +1 -1
  313. package/dist/realtimefeeds/dydx_v4.js +2 -6
  314. package/dist/realtimefeeds/dydx_v4.js.map +1 -1
  315. package/dist/realtimefeeds/ftx.d.ts +2 -2
  316. package/dist/realtimefeeds/ftx.d.ts.map +1 -1
  317. package/dist/realtimefeeds/ftx.js +13 -18
  318. package/dist/realtimefeeds/ftx.js.map +1 -1
  319. package/dist/realtimefeeds/gateio.d.ts +2 -2
  320. package/dist/realtimefeeds/gateio.d.ts.map +1 -1
  321. package/dist/realtimefeeds/gateio.js +2 -6
  322. package/dist/realtimefeeds/gateio.js.map +1 -1
  323. package/dist/realtimefeeds/gateiofutures.d.ts +2 -2
  324. package/dist/realtimefeeds/gateiofutures.d.ts.map +1 -1
  325. package/dist/realtimefeeds/gateiofutures.js +3 -7
  326. package/dist/realtimefeeds/gateiofutures.js.map +1 -1
  327. package/dist/realtimefeeds/gemini.d.ts +2 -2
  328. package/dist/realtimefeeds/gemini.d.ts.map +1 -1
  329. package/dist/realtimefeeds/gemini.js +2 -6
  330. package/dist/realtimefeeds/gemini.js.map +1 -1
  331. package/dist/realtimefeeds/hitbtc.d.ts +2 -2
  332. package/dist/realtimefeeds/hitbtc.d.ts.map +1 -1
  333. package/dist/realtimefeeds/hitbtc.js +2 -6
  334. package/dist/realtimefeeds/hitbtc.js.map +1 -1
  335. package/dist/realtimefeeds/huobi.d.ts +2 -2
  336. package/dist/realtimefeeds/huobi.d.ts.map +1 -1
  337. package/dist/realtimefeeds/huobi.js +36 -44
  338. package/dist/realtimefeeds/huobi.js.map +1 -1
  339. package/dist/realtimefeeds/hyperliquid.d.ts +2 -2
  340. package/dist/realtimefeeds/hyperliquid.d.ts.map +1 -1
  341. package/dist/realtimefeeds/hyperliquid.js +2 -6
  342. package/dist/realtimefeeds/hyperliquid.js.map +1 -1
  343. package/dist/realtimefeeds/index.d.ts +4 -4
  344. package/dist/realtimefeeds/index.d.ts.map +1 -1
  345. package/dist/realtimefeeds/index.js +101 -120
  346. package/dist/realtimefeeds/index.js.map +1 -1
  347. package/dist/realtimefeeds/kraken.d.ts +2 -2
  348. package/dist/realtimefeeds/kraken.d.ts.map +1 -1
  349. package/dist/realtimefeeds/kraken.js +2 -6
  350. package/dist/realtimefeeds/kraken.js.map +1 -1
  351. package/dist/realtimefeeds/kucoin.d.ts +2 -2
  352. package/dist/realtimefeeds/kucoin.d.ts.map +1 -1
  353. package/dist/realtimefeeds/kucoin.js +10 -14
  354. package/dist/realtimefeeds/kucoin.js.map +1 -1
  355. package/dist/realtimefeeds/kucoinfutures.d.ts +2 -2
  356. package/dist/realtimefeeds/kucoinfutures.d.ts.map +1 -1
  357. package/dist/realtimefeeds/kucoinfutures.js +12 -19
  358. package/dist/realtimefeeds/kucoinfutures.js.map +1 -1
  359. package/dist/realtimefeeds/mango.d.ts +1 -1
  360. package/dist/realtimefeeds/mango.d.ts.map +1 -1
  361. package/dist/realtimefeeds/mango.js +2 -6
  362. package/dist/realtimefeeds/mango.js.map +1 -1
  363. package/dist/realtimefeeds/okex.d.ts +2 -2
  364. package/dist/realtimefeeds/okex.d.ts.map +1 -1
  365. package/dist/realtimefeeds/okex.js +9 -18
  366. package/dist/realtimefeeds/okex.js.map +1 -1
  367. package/dist/realtimefeeds/okexspreads.d.ts +2 -2
  368. package/dist/realtimefeeds/okexspreads.d.ts.map +1 -1
  369. package/dist/realtimefeeds/okexspreads.js +6 -13
  370. package/dist/realtimefeeds/okexspreads.js.map +1 -1
  371. package/dist/realtimefeeds/phemex.d.ts +2 -2
  372. package/dist/realtimefeeds/phemex.d.ts.map +1 -1
  373. package/dist/realtimefeeds/phemex.js +2 -6
  374. package/dist/realtimefeeds/phemex.js.map +1 -1
  375. package/dist/realtimefeeds/poloniex.d.ts +2 -2
  376. package/dist/realtimefeeds/poloniex.d.ts.map +1 -1
  377. package/dist/realtimefeeds/poloniex.js +2 -6
  378. package/dist/realtimefeeds/poloniex.js.map +1 -1
  379. package/dist/realtimefeeds/realtimefeed.d.ts +1 -1
  380. package/dist/realtimefeeds/realtimefeed.d.ts.map +1 -1
  381. package/dist/realtimefeeds/realtimefeed.js +29 -38
  382. package/dist/realtimefeeds/realtimefeed.js.map +1 -1
  383. package/dist/realtimefeeds/serum.d.ts +2 -2
  384. package/dist/realtimefeeds/serum.d.ts.map +1 -1
  385. package/dist/realtimefeeds/serum.js +2 -6
  386. package/dist/realtimefeeds/serum.js.map +1 -1
  387. package/dist/realtimefeeds/staratlas.d.ts +1 -1
  388. package/dist/realtimefeeds/staratlas.d.ts.map +1 -1
  389. package/dist/realtimefeeds/staratlas.js +2 -6
  390. package/dist/realtimefeeds/staratlas.js.map +1 -1
  391. package/dist/realtimefeeds/upbit.d.ts +2 -2
  392. package/dist/realtimefeeds/upbit.d.ts.map +1 -1
  393. package/dist/realtimefeeds/upbit.js +2 -6
  394. package/dist/realtimefeeds/upbit.js.map +1 -1
  395. package/dist/realtimefeeds/woox.d.ts +2 -2
  396. package/dist/realtimefeeds/woox.d.ts.map +1 -1
  397. package/dist/realtimefeeds/woox.js +5 -9
  398. package/dist/realtimefeeds/woox.js.map +1 -1
  399. package/dist/replay.d.ts +2 -2
  400. package/dist/replay.d.ts.map +1 -1
  401. package/dist/replay.js +53 -60
  402. package/dist/replay.js.map +1 -1
  403. package/dist/stream.d.ts +2 -2
  404. package/dist/stream.d.ts.map +1 -1
  405. package/dist/stream.js +9 -13
  406. package/dist/stream.js.map +1 -1
  407. package/dist/types.d.ts +1 -1
  408. package/dist/types.d.ts.map +1 -1
  409. package/dist/types.js +1 -2
  410. package/dist/worker.d.ts +1 -1
  411. package/dist/worker.d.ts.map +1 -1
  412. package/dist/worker.js +22 -27
  413. package/dist/worker.js.map +1 -1
  414. package/example.js +9 -9
  415. package/package.json +30 -15
  416. package/src/apikeyaccessinfo.ts +9 -11
  417. package/src/binarysplit.ts +2 -1
  418. package/src/clearcache.ts +8 -7
  419. package/src/computable/booksnapshot.ts +4 -4
  420. package/src/computable/computable.ts +1 -1
  421. package/src/computable/index.ts +3 -3
  422. package/src/computable/tradebar.ts +2 -2
  423. package/src/downloaddatasets.ts +7 -7
  424. package/src/exchangedetails.ts +5 -5
  425. package/src/filter.ts +2 -2
  426. package/src/handy.ts +286 -23
  427. package/src/index.ts +16 -16
  428. package/src/instrumentinfo.ts +9 -9
  429. package/src/mappers/ascendex.ts +3 -3
  430. package/src/mappers/binance.ts +4 -4
  431. package/src/mappers/binancedex.ts +3 -3
  432. package/src/mappers/binanceeuropeanoptions.ts +3 -3
  433. package/src/mappers/bitfinex.ts +3 -3
  434. package/src/mappers/bitflyer.ts +3 -3
  435. package/src/mappers/bitget.ts +3 -3
  436. package/src/mappers/bitmex.ts +3 -3
  437. package/src/mappers/bitnomial.ts +3 -3
  438. package/src/mappers/bitstamp.ts +3 -3
  439. package/src/mappers/blockchaincom.ts +3 -3
  440. package/src/mappers/bybit.ts +3 -3
  441. package/src/mappers/bybitspot.ts +3 -3
  442. package/src/mappers/coinbase.ts +3 -3
  443. package/src/mappers/coinbaseinternational.ts +3 -3
  444. package/src/mappers/coinflex.ts +3 -3
  445. package/src/mappers/cryptocom.ts +3 -3
  446. package/src/mappers/cryptofacilities.ts +3 -3
  447. package/src/mappers/delta.ts +3 -3
  448. package/src/mappers/deribit.ts +3 -3
  449. package/src/mappers/dydx.ts +3 -3
  450. package/src/mappers/dydxv4.ts +3 -3
  451. package/src/mappers/ftx.ts +3 -3
  452. package/src/mappers/gateio.ts +4 -4
  453. package/src/mappers/gateiofutures.ts +3 -3
  454. package/src/mappers/gemini.ts +3 -3
  455. package/src/mappers/hitbtc.ts +3 -3
  456. package/src/mappers/huobi.ts +3 -3
  457. package/src/mappers/hyperliquid.ts +2 -2
  458. package/src/mappers/index.ts +49 -44
  459. package/src/mappers/kraken.ts +3 -3
  460. package/src/mappers/kucoin.ts +4 -4
  461. package/src/mappers/kucoinfutures.ts +4 -4
  462. package/src/mappers/mapper.ts +1 -1
  463. package/src/mappers/okex.ts +3 -3
  464. package/src/mappers/okexspreads.ts +3 -3
  465. package/src/mappers/phemex.ts +2 -2
  466. package/src/mappers/poloniex.ts +3 -3
  467. package/src/mappers/serum.ts +3 -3
  468. package/src/mappers/upbit.ts +3 -3
  469. package/src/mappers/woox.ts +3 -3
  470. package/src/options.ts +5 -2
  471. package/src/orderbook.ts +3 -2
  472. package/src/realtimefeeds/ascendex.ts +3 -3
  473. package/src/realtimefeeds/binance.ts +15 -19
  474. package/src/realtimefeeds/binancedex.ts +5 -5
  475. package/src/realtimefeeds/binanceeuropeanoptions.ts +3 -3
  476. package/src/realtimefeeds/bitfinex.ts +2 -2
  477. package/src/realtimefeeds/bitflyer.ts +2 -2
  478. package/src/realtimefeeds/bitget.ts +3 -3
  479. package/src/realtimefeeds/bitmex.ts +3 -3
  480. package/src/realtimefeeds/bitnomial.ts +2 -2
  481. package/src/realtimefeeds/bitstamp.ts +5 -5
  482. package/src/realtimefeeds/blockchaincom.ts +3 -3
  483. package/src/realtimefeeds/bybit.ts +3 -3
  484. package/src/realtimefeeds/coinbase.ts +2 -2
  485. package/src/realtimefeeds/coinbaseinternational.ts +2 -2
  486. package/src/realtimefeeds/coinflex.ts +2 -2
  487. package/src/realtimefeeds/cryptocom.ts +2 -2
  488. package/src/realtimefeeds/cryptofacilities.ts +2 -2
  489. package/src/realtimefeeds/delta.ts +2 -2
  490. package/src/realtimefeeds/deribit.ts +3 -3
  491. package/src/realtimefeeds/dydx.ts +2 -2
  492. package/src/realtimefeeds/dydx_v4.ts +2 -2
  493. package/src/realtimefeeds/ftx.ts +8 -8
  494. package/src/realtimefeeds/gateio.ts +2 -3
  495. package/src/realtimefeeds/gateiofutures.ts +2 -2
  496. package/src/realtimefeeds/gemini.ts +2 -2
  497. package/src/realtimefeeds/hitbtc.ts +2 -2
  498. package/src/realtimefeeds/huobi.ts +18 -18
  499. package/src/realtimefeeds/hyperliquid.ts +2 -2
  500. package/src/realtimefeeds/index.ts +43 -43
  501. package/src/realtimefeeds/kraken.ts +2 -2
  502. package/src/realtimefeeds/kucoin.ts +9 -9
  503. package/src/realtimefeeds/kucoinfutures.ts +9 -11
  504. package/src/realtimefeeds/mango.ts +1 -1
  505. package/src/realtimefeeds/okex.ts +3 -3
  506. package/src/realtimefeeds/okexspreads.ts +3 -3
  507. package/src/realtimefeeds/phemex.ts +2 -2
  508. package/src/realtimefeeds/poloniex.ts +2 -2
  509. package/src/realtimefeeds/realtimefeed.ts +6 -6
  510. package/src/realtimefeeds/serum.ts +2 -2
  511. package/src/realtimefeeds/staratlas.ts +1 -1
  512. package/src/realtimefeeds/upbit.ts +2 -2
  513. package/src/realtimefeeds/woox.ts +3 -3
  514. package/src/replay.ts +14 -14
  515. package/src/stream.ts +5 -5
  516. package/src/types.ts +1 -1
  517. package/src/worker.ts +3 -4
@@ -1,6 +1,6 @@
1
- import { httpClient } from '../handy'
2
- import { Filter } from '../types'
3
- import { RealTimeFeedBase } from './realtimefeed'
1
+ import { getJSON } from '../handy.ts'
2
+ import { Filter } from '../types.ts'
3
+ import { RealTimeFeedBase } from './realtimefeed.ts'
4
4
 
5
5
  export class BitstampRealTimeFeed extends RealTimeFeedBase {
6
6
  protected wssURL = 'wss://ws.bitstamp.net'
@@ -50,10 +50,10 @@ export class BitstampRealTimeFeed extends RealTimeFeedBase {
50
50
  return
51
51
  }
52
52
 
53
- const depthSnapshotResponse = await httpClient.get(`${this.httpURL}/order_book/${symbol}?group=1`).json()
53
+ const { data } = await getJSON(`${this.httpURL}/order_book/${symbol}?group=1`)
54
54
 
55
55
  const snapshot = {
56
- data: depthSnapshotResponse,
56
+ data,
57
57
  event: 'snapshot',
58
58
  channel: `diff_order_book_${symbol}`,
59
59
  generated: true
@@ -1,6 +1,6 @@
1
- import { wait } from '../handy'
2
- import { Filter } from '../types'
3
- import { RealTimeFeedBase } from './realtimefeed'
1
+ import { wait } from '../handy.ts'
2
+ import { Filter } from '../types.ts'
3
+ import { RealTimeFeedBase } from './realtimefeed.ts'
4
4
 
5
5
  export class BlockchainComRealTimeFeed extends RealTimeFeedBase {
6
6
  protected readonly wssURL = 'wss://ws.blockchain.info/mercury-gateway/v1/ws'
@@ -1,6 +1,6 @@
1
- import { batch } from '../handy'
2
- import { Filter } from '../types'
3
- import { RealTimeFeedBase, MultiConnectionRealTimeFeedBase } from './realtimefeed'
1
+ import { batch } from '../handy.ts'
2
+ import { Filter } from '../types.ts'
3
+ import { RealTimeFeedBase, MultiConnectionRealTimeFeedBase } from './realtimefeed.ts'
4
4
 
5
5
  export class BybitRealTimeDataFeed extends MultiConnectionRealTimeFeedBase {
6
6
  protected *_getRealTimeFeeds(exchange: string, filters: Filter<string>[], timeoutIntervalMS?: number, onError?: (error: Error) => void) {
@@ -1,6 +1,6 @@
1
1
  import crypto from 'crypto'
2
- import { Filter } from '../types'
3
- import { RealTimeFeedBase } from './realtimefeed'
2
+ import { Filter } from '../types.ts'
3
+ import { RealTimeFeedBase } from './realtimefeed.ts'
4
4
 
5
5
  export class CoinbaseRealTimeFeed extends RealTimeFeedBase {
6
6
  private _hasCredentials =
@@ -1,6 +1,6 @@
1
1
  import crypto from 'crypto'
2
- import { Filter } from '../types'
3
- import { RealTimeFeedBase } from './realtimefeed'
2
+ import { Filter } from '../types.ts'
3
+ import { RealTimeFeedBase } from './realtimefeed.ts'
4
4
 
5
5
  export class CoinbaseInternationalRealTimeFeed extends RealTimeFeedBase {
6
6
  private _hasCredentials =
@@ -1,5 +1,5 @@
1
- import { Filter } from '../types'
2
- import { RealTimeFeedBase } from './realtimefeed'
1
+ import { Filter } from '../types.ts'
2
+ import { RealTimeFeedBase } from './realtimefeed.ts'
3
3
 
4
4
  export class CoinflexRealTimeFeed extends RealTimeFeedBase {
5
5
  protected readonly wssURL = 'wss://v2api.coinflex.com/v2/websocket'
@@ -1,5 +1,5 @@
1
- import { Filter } from '../types'
2
- import { RealTimeFeedBase } from './realtimefeed'
1
+ import { Filter } from '../types.ts'
2
+ import { RealTimeFeedBase } from './realtimefeed.ts'
3
3
 
4
4
  export class CryptoComRealTimeFeed extends RealTimeFeedBase {
5
5
  protected wssURL = 'wss://stream.crypto.com/exchange/v1/market'
@@ -1,5 +1,5 @@
1
- import { Filter } from '../types'
2
- import { RealTimeFeedBase } from './realtimefeed'
1
+ import { Filter } from '../types.ts'
2
+ import { RealTimeFeedBase } from './realtimefeed.ts'
3
3
 
4
4
  export class CryptofacilitiesRealTimeFeed extends RealTimeFeedBase {
5
5
  protected wssURL = 'wss://futures.kraken.com/ws/v1'
@@ -1,5 +1,5 @@
1
- import { Filter } from '../types'
2
- import { RealTimeFeedBase } from './realtimefeed'
1
+ import { Filter } from '../types.ts'
2
+ import { RealTimeFeedBase } from './realtimefeed.ts'
3
3
 
4
4
  export class DeltaRealTimeFeed extends RealTimeFeedBase {
5
5
  protected readonly wssURL = 'wss://socket.delta.exchange'
@@ -1,6 +1,6 @@
1
- import { wait } from '../handy'
2
- import { Filter, FilterForExchange } from '../types'
3
- import { RealTimeFeedBase } from './realtimefeed'
1
+ import { wait } from '../handy.ts'
2
+ import { Filter, FilterForExchange } from '../types.ts'
3
+ import { RealTimeFeedBase } from './realtimefeed.ts'
4
4
 
5
5
  export class DeribitRealTimeDataFeed extends RealTimeFeedBase {
6
6
  protected get wssURL() {
@@ -1,5 +1,5 @@
1
- import { Filter } from '../types'
2
- import { RealTimeFeedBase } from './realtimefeed'
1
+ import { Filter } from '../types.ts'
2
+ import { RealTimeFeedBase } from './realtimefeed.ts'
3
3
 
4
4
  export class DydxRealTimeFeed extends RealTimeFeedBase {
5
5
  protected readonly wssURL = 'wss://api.dydx.exchange/v3/ws'
@@ -1,5 +1,5 @@
1
- import { Filter } from '../types'
2
- import { RealTimeFeedBase } from './realtimefeed'
1
+ import { Filter } from '../types.ts'
2
+ import { RealTimeFeedBase } from './realtimefeed.ts'
3
3
 
4
4
  export class DydxV4RealTimeFeed extends RealTimeFeedBase {
5
5
  protected readonly wssURL = 'wss://indexer.dydx.trade/v4/ws'
@@ -1,8 +1,8 @@
1
1
  import { Writable } from 'stream'
2
2
 
3
- import { Filter } from '../types'
4
- import { RealTimeFeedBase, PoolingClientBase, MultiConnectionRealTimeFeedBase } from './realtimefeed'
5
- import { batch, httpClient } from '../handy'
3
+ import { Filter } from '../types.ts'
4
+ import { RealTimeFeedBase, PoolingClientBase, MultiConnectionRealTimeFeedBase } from './realtimefeed.ts'
5
+ import { batch, getJSON } from '../handy.ts'
6
6
 
7
7
  abstract class FTXRealTimeFeedBase extends MultiConnectionRealTimeFeedBase {
8
8
  protected abstract wssURL: string
@@ -93,11 +93,11 @@ class FTXInstrumentInfoClient extends PoolingClientBase {
93
93
 
94
94
  try {
95
95
  const responses = await Promise.all([
96
- httpClient.get(`${this._httpURL}/futures/${instrument}/stats`, { timeout: 10000 }).json() as any,
97
- httpClient.get(`${this._httpURL}/futures/${instrument}`, { timeout: 10000 }).json() as any
96
+ getJSON<any>(`${this._httpURL}/futures/${instrument}/stats`, { timeout: 10000 }),
97
+ getJSON<any>(`${this._httpURL}/futures/${instrument}`, { timeout: 10000 })
98
98
  ])
99
99
 
100
- if (responses.some((r) => r.success === false)) {
100
+ if (responses.some((response) => response.data.success === false)) {
101
101
  return
102
102
  }
103
103
 
@@ -107,8 +107,8 @@ class FTXInstrumentInfoClient extends PoolingClientBase {
107
107
  market: instrument,
108
108
  type: 'update',
109
109
  data: {
110
- stats: responses[0].result,
111
- info: responses[1].result
110
+ stats: responses[0].data.result,
111
+ info: responses[1].data.result
112
112
  }
113
113
  }
114
114
 
@@ -1,6 +1,5 @@
1
- import { httpClient } from '../handy'
2
- import { Filter } from '../types'
3
- import { RealTimeFeedBase } from './realtimefeed'
1
+ import { Filter } from '../types.ts'
2
+ import { RealTimeFeedBase } from './realtimefeed.ts'
4
3
 
5
4
  export class GateIORealTimeFeed extends RealTimeFeedBase {
6
5
  protected readonly wssURL = 'wss://api.gateio.ws/ws/v4/'
@@ -1,5 +1,5 @@
1
- import { Filter } from '../types'
2
- import { RealTimeFeedBase, MultiConnectionRealTimeFeedBase } from './realtimefeed'
1
+ import { Filter } from '../types.ts'
2
+ import { RealTimeFeedBase, MultiConnectionRealTimeFeedBase } from './realtimefeed.ts'
3
3
 
4
4
  export class GateIOFuturesRealTimeFeed extends MultiConnectionRealTimeFeedBase {
5
5
  protected *_getRealTimeFeeds(exchange: string, filters: Filter<string>[], timeoutIntervalMS?: number, onError?: (error: Error) => void) {
@@ -1,5 +1,5 @@
1
- import { Filter } from '../types'
2
- import { RealTimeFeedBase } from './realtimefeed'
1
+ import { Filter } from '../types.ts'
2
+ import { RealTimeFeedBase } from './realtimefeed.ts'
3
3
 
4
4
  export class GeminiRealTimeFeed extends RealTimeFeedBase {
5
5
  protected wssURL = 'wss://api.gemini.com/v2/marketdata'
@@ -1,5 +1,5 @@
1
- import { Filter } from '../types'
2
- import { RealTimeFeedBase } from './realtimefeed'
1
+ import { Filter } from '../types.ts'
2
+ import { RealTimeFeedBase } from './realtimefeed.ts'
3
3
 
4
4
  export class HitBtcRealTimeFeed extends RealTimeFeedBase {
5
5
  protected wssURL = 'wss://api.hitbtc.com/api/2/ws'
@@ -1,7 +1,7 @@
1
1
  import { unzipSync } from 'zlib'
2
- import { Filter } from '../types'
3
- import { RealTimeFeedBase, MultiConnectionRealTimeFeedBase, PoolingClientBase } from './realtimefeed'
4
- import { wait, ONE_SEC_IN_MS, batch, httpClient } from '../handy'
2
+ import { Filter } from '../types.ts'
3
+ import { RealTimeFeedBase, MultiConnectionRealTimeFeedBase, PoolingClientBase } from './realtimefeed.ts'
4
+ import { wait, ONE_SEC_IN_MS, batch, getJSON } from '../handy.ts'
5
5
  import { Writable } from 'stream'
6
6
 
7
7
  abstract class HuobiRealTimeFeedBase extends MultiConnectionRealTimeFeedBase {
@@ -248,17 +248,17 @@ class HuobiOpenInterestClient extends PoolingClientBase {
248
248
  return
249
249
  }
250
250
  const url = `${this._httpURL}/${this._getURLPath(instrument)}`
251
- const openInterestResponse = (await httpClient.get(url, { timeout: 10000 }).json()) as any
251
+ const { data: body } = await getJSON<any>(url, { timeout: 10000 })
252
252
 
253
- if (openInterestResponse.status !== 'ok') {
254
- throw new Error(`open interest response error:${JSON.stringify(openInterestResponse)}, url:${url}`)
253
+ if (body.status !== 'ok') {
254
+ throw new Error(`open interest response error:${JSON.stringify(body)}, url:${url}`)
255
255
  }
256
256
 
257
257
  const openInterestMessage = {
258
258
  ch: `market.${instrument}.open_interest`,
259
259
  generated: true,
260
- data: openInterestResponse.data,
261
- ts: openInterestResponse.ts
260
+ data: body.data,
261
+ ts: body.ts
262
262
  }
263
263
 
264
264
  if (outputStream.writable) {
@@ -283,17 +283,17 @@ class HuobiOptionsMarketIndexClient extends PoolingClientBase {
283
283
  return
284
284
  }
285
285
  const url = `${this._httpURL}/option_market_index?contract_code=${instrument}`
286
- const marketIndexResponse = (await httpClient.get(url, { timeout: 10000 }).json()) as any
286
+ const { data: body } = await getJSON<any>(url, { timeout: 10000 })
287
287
 
288
- if (marketIndexResponse.status !== 'ok') {
289
- throw new Error(`open interest response error:${JSON.stringify(marketIndexResponse)}, url:${url}`)
288
+ if (body.status !== 'ok') {
289
+ throw new Error(`open interest response error:${JSON.stringify(body)}, url:${url}`)
290
290
  }
291
291
 
292
292
  const marketIndexMessage = {
293
293
  ch: `market.${instrument}.option_market_index`,
294
294
  generated: true,
295
- data: marketIndexResponse.data[0],
296
- ts: marketIndexResponse.ts
295
+ data: body.data[0],
296
+ ts: body.ts
297
297
  }
298
298
 
299
299
  if (outputStream.writable) {
@@ -318,17 +318,17 @@ class HuobiOptionsIndexClient extends PoolingClientBase {
318
318
  return
319
319
  }
320
320
  const url = `${this._httpURL}/option_index?symbol=${instrument}`
321
- const optionIndexResponse = (await httpClient.get(url, { timeout: 10000 }).json()) as any
321
+ const { data: body } = await getJSON<any>(url, { timeout: 10000 })
322
322
 
323
- if (optionIndexResponse.status !== 'ok') {
324
- throw new Error(`open interest response error:${JSON.stringify(optionIndexResponse)}, url:${url}`)
323
+ if (body.status !== 'ok') {
324
+ throw new Error(`open interest response error:${JSON.stringify(body)}, url:${url}`)
325
325
  }
326
326
 
327
327
  const optionIndexMessage = {
328
328
  ch: `market.${instrument}.option_index`,
329
329
  generated: true,
330
- data: optionIndexResponse.data[0],
331
- ts: optionIndexResponse.ts
330
+ data: body.data[0],
331
+ ts: body.ts
332
332
  }
333
333
 
334
334
  if (outputStream.writable) {
@@ -1,5 +1,5 @@
1
- import { Filter } from '../types'
2
- import { RealTimeFeedBase } from './realtimefeed'
1
+ import { Filter } from '../types.ts'
2
+ import { RealTimeFeedBase } from './realtimefeed.ts'
3
3
 
4
4
  export class HyperliquidRealTimeFeed extends RealTimeFeedBase {
5
5
  protected wssURL = 'wss://api.hyperliquid.xyz/ws'
@@ -1,59 +1,59 @@
1
- import { Exchange, Filter } from '../types'
1
+ import { Exchange, Filter } from '../types.ts'
2
2
  import {
3
3
  BinanceFuturesRealTimeFeed,
4
4
  BinanceJerseyRealTimeFeed,
5
5
  BinanceRealTimeFeed,
6
6
  BinanceUSRealTimeFeed,
7
7
  BinanceDeliveryRealTimeFeed
8
- } from './binance'
9
- import { BinanceDexRealTimeFeed } from './binancedex'
10
- import { BitfinexRealTimeFeed } from './bitfinex'
11
- import { BitflyerRealTimeFeed } from './bitflyer'
12
- import { BitmexRealTimeFeed } from './bitmex'
13
- import { BitstampRealTimeFeed } from './bitstamp'
14
- import { BybitOptionsRealTimeDataFeed, BybitRealTimeDataFeed, BybitSpotRealTimeDataFeed } from './bybit'
15
- import { CoinbaseRealTimeFeed } from './coinbase'
16
- import { CryptofacilitiesRealTimeFeed } from './cryptofacilities'
17
- import { DeribitRealTimeDataFeed } from './deribit'
18
- import { FtxRealTimeFeed, FtxUSRealTimeFeed } from './ftx'
19
- import { GeminiRealTimeFeed } from './gemini'
20
- import { HitBtcRealTimeFeed } from './hitbtc'
8
+ } from './binance.ts'
9
+ import { BinanceDexRealTimeFeed } from './binancedex.ts'
10
+ import { BitfinexRealTimeFeed } from './bitfinex.ts'
11
+ import { BitflyerRealTimeFeed } from './bitflyer.ts'
12
+ import { BitmexRealTimeFeed } from './bitmex.ts'
13
+ import { BitstampRealTimeFeed } from './bitstamp.ts'
14
+ import { BybitOptionsRealTimeDataFeed, BybitRealTimeDataFeed, BybitSpotRealTimeDataFeed } from './bybit.ts'
15
+ import { CoinbaseRealTimeFeed } from './coinbase.ts'
16
+ import { CryptofacilitiesRealTimeFeed } from './cryptofacilities.ts'
17
+ import { DeribitRealTimeDataFeed } from './deribit.ts'
18
+ import { FtxRealTimeFeed, FtxUSRealTimeFeed } from './ftx.ts'
19
+ import { GeminiRealTimeFeed } from './gemini.ts'
20
+ import { HitBtcRealTimeFeed } from './hitbtc.ts'
21
21
  import {
22
22
  HuobiDMRealTimeFeed,
23
23
  HuobiRealTimeFeed,
24
24
  HuobiDMSwapRealTimeFeed,
25
25
  HuobiDMLinearSwapRealTimeFeed,
26
26
  HuobiDMOptionsRealTimeFeed
27
- } from './huobi'
28
- import { KrakenRealTimeFeed } from './kraken'
29
- import { OKCoinRealTimeFeed, OkexOptionsRealTimeFeed, OkexRealTimeFeed } from './okex'
30
- import { RealTimeFeed } from './realtimefeed'
31
- import { PhemexRealTimeFeed } from './phemex'
32
- import { DeltaRealTimeFeed } from './delta'
33
- import { GateIORealTimeFeed } from './gateio'
34
- import { GateIOFuturesRealTimeFeed } from './gateiofutures'
35
- import { PoloniexRealTimeFeed } from './poloniex'
36
- import { CoinflexRealTimeFeed } from './coinflex'
37
- import { UpbitRealTimeFeed } from './upbit'
38
- import { AscendexRealTimeFeed } from './ascendex'
39
- import { DydxRealTimeFeed } from './dydx'
40
- import { SerumRealTimeFeed } from './serum'
41
- import { StarAtlasRealTimeFeed } from './staratlas'
42
- import { MangoRealTimeFeed } from './mango'
43
- import { CryptoComRealTimeFeed } from './cryptocom'
44
- import { KucoinRealTimeFeed } from './kucoin'
45
- import { BitnomialRealTimeFeed } from './bitnomial'
46
- import { WooxRealTimeFeed } from './woox'
47
- import { BlockchainComRealTimeFeed } from './blockchaincom'
48
- import { BinanceEuropeanOptionsRealTimeFeed } from './binanceeuropeanoptions'
49
- import { OkexSpreadsRealTimeFeed } from './okexspreads'
50
- import { KucoinFuturesRealTimeFeed } from './kucoinfutures'
51
- import { DydxV4RealTimeFeed } from './dydx_v4'
52
- import { BitgetFuturesRealTimeFeed, BitgetRealTimeFeed } from './bitget'
53
- import { CoinbaseInternationalRealTimeFeed } from './coinbaseinternational'
54
- import { HyperliquidRealTimeFeed } from './hyperliquid'
27
+ } from './huobi.ts'
28
+ import { KrakenRealTimeFeed } from './kraken.ts'
29
+ import { OKCoinRealTimeFeed, OkexOptionsRealTimeFeed, OkexRealTimeFeed } from './okex.ts'
30
+ import { RealTimeFeed } from './realtimefeed.ts'
31
+ import { PhemexRealTimeFeed } from './phemex.ts'
32
+ import { DeltaRealTimeFeed } from './delta.ts'
33
+ import { GateIORealTimeFeed } from './gateio.ts'
34
+ import { GateIOFuturesRealTimeFeed } from './gateiofutures.ts'
35
+ import { PoloniexRealTimeFeed } from './poloniex.ts'
36
+ import { CoinflexRealTimeFeed } from './coinflex.ts'
37
+ import { UpbitRealTimeFeed } from './upbit.ts'
38
+ import { AscendexRealTimeFeed } from './ascendex.ts'
39
+ import { DydxRealTimeFeed } from './dydx.ts'
40
+ import { SerumRealTimeFeed } from './serum.ts'
41
+ import { StarAtlasRealTimeFeed } from './staratlas.ts'
42
+ import { MangoRealTimeFeed } from './mango.ts'
43
+ import { CryptoComRealTimeFeed } from './cryptocom.ts'
44
+ import { KucoinRealTimeFeed } from './kucoin.ts'
45
+ import { BitnomialRealTimeFeed } from './bitnomial.ts'
46
+ import { WooxRealTimeFeed } from './woox.ts'
47
+ import { BlockchainComRealTimeFeed } from './blockchaincom.ts'
48
+ import { BinanceEuropeanOptionsRealTimeFeed } from './binanceeuropeanoptions.ts'
49
+ import { OkexSpreadsRealTimeFeed } from './okexspreads.ts'
50
+ import { KucoinFuturesRealTimeFeed } from './kucoinfutures.ts'
51
+ import { DydxV4RealTimeFeed } from './dydx_v4.ts'
52
+ import { BitgetFuturesRealTimeFeed, BitgetRealTimeFeed } from './bitget.ts'
53
+ import { CoinbaseInternationalRealTimeFeed } from './coinbaseinternational.ts'
54
+ import { HyperliquidRealTimeFeed } from './hyperliquid.ts'
55
55
 
56
- export * from './realtimefeed'
56
+ export * from './realtimefeed.ts'
57
57
 
58
58
  const realTimeFeedsMap: {
59
59
  [key in Exchange]?: RealTimeFeed
@@ -1,5 +1,5 @@
1
- import { Filter } from '../types'
2
- import { RealTimeFeedBase } from './realtimefeed'
1
+ import { Filter } from '../types.ts'
2
+ import { RealTimeFeedBase } from './realtimefeed.ts'
3
3
 
4
4
  export class KrakenRealTimeFeed extends RealTimeFeedBase {
5
5
  protected wssURL = 'wss://ws.kraken.com'
@@ -1,15 +1,15 @@
1
- import { httpClient, getRandomString, wait } from '../handy'
2
- import { Filter } from '../types'
3
- import { RealTimeFeedBase } from './realtimefeed'
1
+ import { getRandomString, getJSON, postJSON, wait } from '../handy.ts'
2
+ import { Filter } from '../types.ts'
3
+ import { RealTimeFeedBase } from './realtimefeed.ts'
4
4
 
5
5
  export class KucoinRealTimeFeed extends RealTimeFeedBase {
6
6
  protected wssURL = ''
7
7
  private _httpURL = 'https://api.kucoin.com/api'
8
8
 
9
9
  protected async getWebSocketUrl() {
10
- const response = (await httpClient.post(`${this._httpURL}/v1/bullet-public`, { retry: 3, timeout: 10000 }).json()) as any
10
+ const { data: body } = await postJSON<any>(`${this._httpURL}/v1/bullet-public`, { retry: 3, timeout: 10000 })
11
11
 
12
- return `${response.data.instanceServers[0].endpoint}?token=${response.data.token}&connectId=${getRandomString()}`
12
+ return `${body.data.instanceServers[0].endpoint}?token=${body.data.token}&connectId=${getRandomString()}`
13
13
  }
14
14
 
15
15
  protected mapToSubscribeMessages(filters: Filter<string>[]): any[] {
@@ -42,16 +42,16 @@ export class KucoinRealTimeFeed extends RealTimeFeedBase {
42
42
  return
43
43
  }
44
44
 
45
- const depthSnapshotResponse = (await httpClient
46
- .get(`${this._httpURL}/v1/market/orderbook/level2_100?symbol=${symbol}`, { timeout: 10000 })
47
- .json()) as any
45
+ const { data } = await getJSON<any>(`${this._httpURL}/v1/market/orderbook/level2_100?symbol=${symbol}`, {
46
+ timeout: 10000
47
+ })
48
48
 
49
49
  const snapshot = {
50
50
  type: 'message',
51
51
  generated: true,
52
52
  topic: `/market/level2Snapshot:${symbol}`,
53
53
  subject: 'trade.l2Snapshot',
54
- ...depthSnapshotResponse
54
+ ...data
55
55
  }
56
56
 
57
57
  this.manualSnapshotsBuffer.push(snapshot)
@@ -1,7 +1,7 @@
1
1
  import { Writable } from 'stream'
2
- import { httpClient, getRandomString, wait } from '../handy'
3
- import { Filter } from '../types'
4
- import { MultiConnectionRealTimeFeedBase, PoolingClientBase, RealTimeFeedBase } from './realtimefeed'
2
+ import { getJSON, getRandomString, postJSON } from '../handy.ts'
3
+ import { Filter } from '../types.ts'
4
+ import { MultiConnectionRealTimeFeedBase, PoolingClientBase, RealTimeFeedBase } from './realtimefeed.ts'
5
5
 
6
6
  const kucoinHttpOptions = {
7
7
  timeout: 10 * 1000,
@@ -42,9 +42,9 @@ export class KucoinFuturesSingleConnectionRealTimeFeed extends RealTimeFeedBase
42
42
  protected wssURL = ''
43
43
 
44
44
  protected async getWebSocketUrl() {
45
- const response = (await httpClient.post(`${this._httpURL}/v1/bullet-public`, { retry: 3, timeout: 10000 }).json()) as any
45
+ const { data: body } = await postJSON<any>(`${this._httpURL}/v1/bullet-public`, { retry: 3, timeout: 10000 })
46
46
 
47
- return `${response.data.instanceServers[0].endpoint}?token=${response.data.token}&connectId=${getRandomString()}`
47
+ return `${body.data.instanceServers[0].endpoint}?token=${body.data.token}&connectId=${getRandomString()}`
48
48
  }
49
49
 
50
50
  protected mapToSubscribeMessages(filters: Filter<string>[]): any[] {
@@ -76,16 +76,14 @@ export class KucoinFuturesSingleConnectionRealTimeFeed extends RealTimeFeedBase
76
76
  return
77
77
  }
78
78
 
79
- const depthSnapshotResponse = (await httpClient
80
- .get(`${this._httpURL}/v1/level2/snapshot?symbol=${symbol}`, kucoinHttpOptions)
81
- .json()) as any
79
+ const { data } = await getJSON<any>(`${this._httpURL}/v1/level2/snapshot?symbol=${symbol}`, kucoinHttpOptions)
82
80
 
83
81
  const snapshot = {
84
82
  type: 'message',
85
83
  generated: true,
86
84
  topic: `/contractMarket/level2Snapshot:${symbol}`,
87
85
  subject: 'level2Snapshot',
88
- ...depthSnapshotResponse
86
+ ...data
89
87
  }
90
88
 
91
89
  this.manualSnapshotsBuffer.push(snapshot)
@@ -116,9 +114,9 @@ class KucoinFuturesContractDetailsClient extends PoolingClientBase {
116
114
  }
117
115
 
118
116
  protected async poolDataToStream(outputStream: Writable) {
119
- const openInterestResponse = (await httpClient.get(`${this._httpURL}/v1/contracts/active`, kucoinHttpOptions).json()) as any
117
+ const { data: body } = await getJSON<any>(`${this._httpURL}/v1/contracts/active`, kucoinHttpOptions)
120
118
 
121
- for (const instrument of openInterestResponse.data) {
119
+ for (const instrument of body.data) {
122
120
  const openInterestMessage = {
123
121
  topic: `/contract/details:${instrument.symbol}`,
124
122
  type: 'message',
@@ -1,4 +1,4 @@
1
- import { SerumRealTimeFeed } from './serum'
1
+ import { SerumRealTimeFeed } from './serum.ts'
2
2
 
3
3
  export class MangoRealTimeFeed extends SerumRealTimeFeed {
4
4
  protected wssURL = 'wss://api.mango-bowl.com/v1/ws'
@@ -1,7 +1,7 @@
1
1
  import crypto from 'crypto'
2
- import { wait } from '../handy'
3
- import { Filter } from '../types'
4
- import { MultiConnectionRealTimeFeedBase, RealTimeFeedBase } from './realtimefeed'
2
+ import { wait } from '../handy.ts'
3
+ import { Filter } from '../types.ts'
4
+ import { MultiConnectionRealTimeFeedBase, RealTimeFeedBase } from './realtimefeed.ts'
5
5
 
6
6
  export class OkexRealTimeFeed extends MultiConnectionRealTimeFeedBase {
7
7
  protected *_getRealTimeFeeds(exchange: string, filters: Filter<string>[], timeoutIntervalMS?: number, onError?: (error: Error) => void) {
@@ -1,7 +1,7 @@
1
1
  import crypto from 'crypto'
2
- import { wait } from '../handy'
3
- import { Filter } from '../types'
4
- import { RealTimeFeedBase } from './realtimefeed'
2
+ import { wait } from '../handy.ts'
3
+ import { Filter } from '../types.ts'
4
+ import { RealTimeFeedBase } from './realtimefeed.ts'
5
5
 
6
6
  export class OkexSpreadsRealTimeFeed extends RealTimeFeedBase {
7
7
  protected wssURL = 'wss://ws.okx.com:8443/ws/v5/business'
@@ -1,5 +1,5 @@
1
- import { Filter } from '../types'
2
- import { RealTimeFeedBase } from './realtimefeed'
1
+ import { Filter } from '../types.ts'
2
+ import { RealTimeFeedBase } from './realtimefeed.ts'
3
3
 
4
4
  export class PhemexRealTimeFeed extends RealTimeFeedBase {
5
5
  protected readonly wssURL = 'wss://ws.phemex.com/'
@@ -1,5 +1,5 @@
1
- import { Filter } from '../types'
2
- import { RealTimeFeedBase } from './realtimefeed'
1
+ import { Filter } from '../types.ts'
2
+ import { RealTimeFeedBase } from './realtimefeed.ts'
3
3
 
4
4
  export class PoloniexRealTimeFeed extends RealTimeFeedBase {
5
5
  protected readonly wssURL = 'wss://ws.poloniex.com/ws/public'
@@ -1,10 +1,10 @@
1
1
  import dbg from 'debug'
2
- import WebSocket from 'ws'
3
- import { ClientRequestArgs } from 'http'
2
+ import WebSocket, { createWebSocketStream } from 'ws'
3
+ import type { ClientRequestArgs } from 'http'
4
4
  import { PassThrough, Writable } from 'stream'
5
5
  import { once } from 'events'
6
- import { httpsProxyAgent, ONE_SEC_IN_MS, optimizeFilters, wait } from '../handy'
7
- import { Exchange, Filter } from '../types'
6
+ import { httpsProxyAgent, ONE_SEC_IN_MS, optimizeFilters, wait } from '../handy.ts'
7
+ import { Exchange, Filter } from '../types.ts'
8
8
 
9
9
  export type RealTimeFeed = {
10
10
  new (
@@ -102,10 +102,10 @@ export abstract class RealTimeFeedBase implements RealTimeFeedIterable {
102
102
  staleConnectionTimerId = this._monitorConnectionIfStale()
103
103
  pingTimerId = this._sendPeriodicPing()
104
104
 
105
- const realtimeMessagesStream = (WebSocket as any).createWebSocketStream(this._ws, {
105
+ const realtimeMessagesStream = createWebSocketStream(this._ws, {
106
106
  readableObjectMode: true, // othwerwise we may end up with multiple messages returned by stream in single iteration
107
107
  readableHighWaterMark: 8096 // since we're in object mode, let's increase hwm a little from default of 16 messages buffered
108
- }) as AsyncIterableIterator<Buffer>
108
+ }) as unknown as AsyncIterableIterator<Buffer>
109
109
 
110
110
  for await (let message of realtimeMessagesStream) {
111
111
  if (this.decompress !== undefined) {
@@ -1,5 +1,5 @@
1
- import { Filter } from '../types'
2
- import { RealTimeFeedBase } from './realtimefeed'
1
+ import { Filter } from '../types.ts'
2
+ import { RealTimeFeedBase } from './realtimefeed.ts'
3
3
 
4
4
  export class SerumRealTimeFeed extends RealTimeFeedBase {
5
5
  protected wssURL = 'wss://api.serum-vial.dev/v1/ws'
@@ -1,4 +1,4 @@
1
- import { SerumRealTimeFeed } from './serum'
1
+ import { SerumRealTimeFeed } from './serum.ts'
2
2
 
3
3
  export class StarAtlasRealTimeFeed extends SerumRealTimeFeed {
4
4
  protected wssURL = 'wss://serum-vial.staratlas.cloud/v1/ws'
@@ -1,5 +1,5 @@
1
- import { Filter } from '../types'
2
- import { RealTimeFeedBase } from './realtimefeed'
1
+ import { Filter } from '../types.ts'
2
+ import { RealTimeFeedBase } from './realtimefeed.ts'
3
3
 
4
4
  export class UpbitRealTimeFeed extends RealTimeFeedBase {
5
5
  protected readonly wssURL = 'wss://api.upbit.com/websocket/v1'
@@ -1,6 +1,6 @@
1
- import { wait } from '../handy'
2
- import { Filter } from '../types'
3
- import { RealTimeFeedBase } from './realtimefeed'
1
+ import { wait } from '../handy.ts'
2
+ import { Filter } from '../types.ts'
3
+ import { RealTimeFeedBase } from './realtimefeed.ts'
4
4
 
5
5
  export class WooxRealTimeFeed extends RealTimeFeedBase {
6
6
  protected wssURL = 'wss://wss.woo.org/ws/stream/OqdphuyCtYWxwzhxyLLjOWNdFP7sQt8RPWzmb5xY'