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
package/dist/worker.js CHANGED
@@ -1,25 +1,20 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const debug_1 = __importDefault(require("debug"));
7
- const fs_extra_1 = require("fs-extra");
8
- const p_map_1 = __importDefault(require("p-map"));
9
- const worker_threads_1 = require("worker_threads");
10
- const handy_1 = require("./handy");
11
- const debug = (0, debug_1.default)('tardis-dev');
12
- if (worker_threads_1.isMainThread) {
1
+ import dbg from 'debug';
2
+ import { existsSync } from 'node:fs';
3
+ import pMap from 'p-map';
4
+ import { isMainThread, parentPort, workerData } from 'worker_threads';
5
+ import { addMinutes, download, formatDateToPath, optimizeFilters, sequence, sha256, wait, cleanTempFiles } from "./handy.js";
6
+ const debug = dbg('tardis-dev');
7
+ if (isMainThread) {
13
8
  debug('existing, worker is not meant to run in main thread');
14
9
  }
15
10
  else {
16
- worker_threads_1.parentPort.on('message', (signal) => {
11
+ parentPort.on('message', (signal) => {
17
12
  if (signal === "BEFORE_TERMINATE" /* WorkerSignal.BEFORE_TERMINATE */) {
18
- (0, handy_1.cleanTempFiles)();
19
- worker_threads_1.parentPort.postMessage("READY_TO_TERMINATE" /* WorkerSignal.READY_TO_TERMINATE */);
13
+ cleanTempFiles();
14
+ parentPort.postMessage("READY_TO_TERMINATE" /* WorkerSignal.READY_TO_TERMINATE */);
20
15
  }
21
16
  });
22
- getDataFeedSlices(worker_threads_1.workerData);
17
+ getDataFeedSlices(workerData);
23
18
  }
24
19
  process.on('unhandledRejection', (err, promise) => {
25
20
  debug('Unhandled Rejection at: %o, reason: %o', promise, err);
@@ -29,12 +24,12 @@ async function getDataFeedSlices(payload) {
29
24
  const MILLISECONDS_IN_MINUTE = 60 * 1000;
30
25
  const CONCURRENCY_LIMIT = 60;
31
26
  // deduplicate filters (if the channel was provided multiple times)
32
- const filters = (0, handy_1.optimizeFilters)(payload.filters);
27
+ const filters = optimizeFilters(payload.filters);
33
28
  // let's calculate number of minutes between "from" and "to" dates as those will give us total number of requests or checks
34
29
  // that will have to be performed concurrently with CONCURRENCY_LIMIT
35
30
  const minutesCountToFetch = Math.floor((payload.toDate.getTime() - payload.fromDate.getTime()) / MILLISECONDS_IN_MINUTE);
36
31
  // each filter will have separate sub dir based on it's sha hash
37
- const cacheDir = `${payload.cacheDir}/feeds/${payload.exchange}/${(0, handy_1.sha256)(filters)}`;
32
+ const cacheDir = `${payload.cacheDir}/feeds/${payload.exchange}/${sha256(filters)}`;
38
33
  const waitOffsetMS = typeof payload.waitWhenDataNotYetAvailable === 'number'
39
34
  ? payload.waitWhenDataNotYetAvailable * MILLISECONDS_IN_MINUTE
40
35
  : 30 * MILLISECONDS_IN_MINUTE;
@@ -44,13 +39,13 @@ async function getDataFeedSlices(payload) {
44
39
  if (timestampForLastAvailableData < payload.fromDate.valueOf()) {
45
40
  const initialWaitTime = payload.fromDate.valueOf() - timestampForLastAvailableData;
46
41
  if (initialWaitTime > 0) {
47
- await (0, handy_1.wait)(initialWaitTime);
42
+ await wait(initialWaitTime);
48
43
  }
49
44
  }
50
45
  // fetch concurently any data that is already available
51
46
  timestampForLastAvailableData = new Date().valueOf() - waitOffsetMS;
52
47
  const minutesCountThatAreAlreadyAvailableToFetch = Math.floor((timestampForLastAvailableData - payload.fromDate.valueOf()) / MILLISECONDS_IN_MINUTE);
53
- await (0, p_map_1.default)((0, handy_1.sequence)(minutesCountThatAreAlreadyAvailableToFetch, 0), (offset) => getDataFeedSlice(payload, offset, filters, cacheDir), {
48
+ await pMap(sequence(minutesCountThatAreAlreadyAvailableToFetch, 0), (offset) => getDataFeedSlice(payload, offset, filters, cacheDir), {
54
49
  concurrency: CONCURRENCY_LIMIT
55
50
  });
56
51
  // for remaining data iterate one by one and wait as needed
@@ -59,7 +54,7 @@ async function getDataFeedSlices(payload) {
59
54
  timestampForLastAvailableData = new Date().valueOf() - waitOffsetMS;
60
55
  if (timestampToFetch > timestampForLastAvailableData) {
61
56
  const waitTime = timestampToFetch - timestampForLastAvailableData + 100;
62
- await (0, handy_1.wait)(waitTime);
57
+ await wait(waitTime);
63
58
  }
64
59
  await getDataFeedSlice(payload, offset, filters, cacheDir);
65
60
  }
@@ -70,21 +65,21 @@ async function getDataFeedSlices(payload) {
70
65
  // fetch first slice - it will tell us if user has access to the beginning of requested date range
71
66
  await getDataFeedSlice(payload, 0, filters, cacheDir);
72
67
  // it both begining and end date of the range is accessible fetch all remaning slices concurently with CONCURRENCY_LIMIT
73
- await (0, p_map_1.default)((0, handy_1.sequence)(minutesCountToFetch, 1), // this will produce Iterable sequence from 1 to minutesCountToFetch
68
+ await pMap(sequence(minutesCountToFetch, 1), // this will produce Iterable sequence from 1 to minutesCountToFetch
74
69
  (offset) => getDataFeedSlice(payload, offset, filters, cacheDir), { concurrency: CONCURRENCY_LIMIT });
75
70
  }
76
71
  }
77
72
  async function getDataFeedSlice({ exchange, fromDate, endpoint, apiKey, userAgent }, offset, filters, cacheDir) {
78
- const sliceTimestamp = (0, handy_1.addMinutes)(fromDate, offset);
73
+ const sliceTimestamp = addMinutes(fromDate, offset);
79
74
  const sliceKey = sliceTimestamp.toISOString();
80
- const slicePath = `${cacheDir}/${(0, handy_1.formatDateToPath)(sliceTimestamp)}.json.gz`;
81
- const isCached = (0, fs_extra_1.existsSync)(slicePath);
75
+ const slicePath = `${cacheDir}/${formatDateToPath(sliceTimestamp)}.json.gz`;
76
+ const isCached = existsSync(slicePath);
82
77
  let url = `${endpoint}/data-feeds/${exchange}?from=${fromDate.toISOString()}&offset=${offset}`;
83
78
  if (filters.length > 0) {
84
79
  url += `&filters=${encodeURIComponent(JSON.stringify(filters))}`;
85
80
  }
86
81
  if (!isCached) {
87
- await (0, handy_1.download)({
82
+ await download({
88
83
  apiKey,
89
84
  downloadPath: slicePath,
90
85
  url,
@@ -100,6 +95,6 @@ async function getDataFeedSlice({ exchange, fromDate, endpoint, apiKey, userAgen
100
95
  sliceKey,
101
96
  slicePath
102
97
  };
103
- worker_threads_1.parentPort.postMessage(message);
98
+ parentPort.postMessage(message);
104
99
  }
105
100
  //# sourceMappingURL=worker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"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"}
package/example.js CHANGED
@@ -1,26 +1,26 @@
1
- const { replayNormalized, streamNormalized, normalizeTrades, compute, computeTradeBars } = require('tardis-dev')
1
+ import { replayNormalized, streamNormalized, normalizeTrades, compute, computeTradeBars } from 'tardis-dev'
2
2
 
3
3
  const historicalMessages = replayNormalized(
4
4
  {
5
- exchange: 'bitmex',
6
- symbols: ['XBTUSD'],
7
- from: '2019-08-01',
8
- to: '2019-08-02'
5
+ exchange: 'binance',
6
+ symbols: ['btcusdt'],
7
+ from: '2024-03-01',
8
+ to: '2024-03-02'
9
9
  },
10
10
  normalizeTrades
11
11
  )
12
12
 
13
13
  const realTimeMessages = streamNormalized(
14
14
  {
15
- exchange: 'bitmex',
16
- symbols: ['XBTUSD']
15
+ exchange: 'binance',
16
+ symbols: ['btcusdt']
17
17
  },
18
18
  normalizeTrades
19
19
  )
20
20
 
21
21
  async function produceVolumeBasedTradeBars(messages) {
22
- // aggregate by 50k contracts volume
23
- const withVolumeTradeBars = compute(messages, computeTradeBars({ kind: 'volume', interval: 50 * 1000 }))
22
+ // aggregate by 1 BTC traded volume
23
+ const withVolumeTradeBars = compute(messages, computeTradeBars({ kind: 'volume', interval: 1 }))
24
24
 
25
25
  for await (const message of withVolumeTradeBars) {
26
26
  if (message.type === 'trade_bar') {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tardis-dev",
3
- "version": "14.3.0",
3
+ "version": "15.1.0",
4
4
  "engines": {
5
5
  "node": ">=24"
6
6
  },
@@ -8,12 +8,21 @@
8
8
  "main": "dist/index.js",
9
9
  "source": "src/index.ts",
10
10
  "types": "dist/index.d.ts",
11
+ "type": "module",
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "import": "./dist/index.js",
16
+ "default": "./dist/index.js"
17
+ },
18
+ "./package.json": "./package.json"
19
+ },
11
20
  "repository": "tardis-dev/tardis-node",
12
21
  "homepage": "https://docs.tardis.dev/api/node-js",
13
22
  "scripts": {
14
- "build": "tsc",
23
+ "build": "tsc -p tsconfig.json",
15
24
  "precommit": "lint-staged",
16
- "test": "npm run build && jest --forceExit --runInBand",
25
+ "test": "npm run build && node --experimental-vm-modules ./node_modules/jest/bin/jest.js --forceExit --runInBand",
17
26
  "prepare": "npm run build",
18
27
  "format": "prettier --write .",
19
28
  "check-format": "prettier --check ."
@@ -49,32 +58,26 @@
49
58
  ],
50
59
  "license": "MPL-2.0",
51
60
  "dependencies": {
52
- "@types/bintrees": "^1.0.3",
53
61
  "bintrees": "^1.0.2",
54
62
  "debug": "^4.3.3",
55
63
  "follow-redirects": "^1.15.9",
56
- "fs-extra": "^10.0.0",
57
- "got": "^11.8.2",
58
- "https-proxy-agent": "^7.0.0",
59
- "p-map": "^4.0.0",
60
- "socks-proxy-agent": "^8.0.0",
64
+ "https-proxy-agent": "^8.0.0",
65
+ "p-map": "^7.0.4",
66
+ "socks-proxy-agent": "^9.0.0",
61
67
  "ws": "^8.18.3"
62
68
  },
63
69
  "devDependencies": {
70
+ "@types/bintrees": "^1.0.6",
64
71
  "@types/debug": "^4.1.7",
65
72
  "@types/follow-redirects": "^1.14.4",
66
- "@types/fs-extra": "^9.0.13",
67
73
  "@types/jest": "^29.0.0",
68
74
  "@types/node": "^25.3.5",
69
75
  "@types/ws": "^8.18.1",
70
- "cross-var": "^1.1.0",
71
- "husky": "^7.0.4",
72
76
  "jest": "^29.0.0",
73
77
  "lint-staged": "^12.1.3",
74
78
  "prettier": "^2.5.1",
75
- "source-map-support": "^0.5.21",
76
79
  "ts-jest": "^29.4.0",
77
- "typescript": "^5.8.0"
80
+ "typescript": "^5.9.3"
78
81
  },
79
82
  "lint-staged": {
80
83
  "*.{ts}": [
@@ -83,8 +86,20 @@
83
86
  ]
84
87
  },
85
88
  "jest": {
89
+ "extensionsToTreatAsEsm": [
90
+ ".ts"
91
+ ],
92
+ "moduleNameMapper": {
93
+ "^(\\.{1,2}/.*)\\.js$": "$1"
94
+ },
86
95
  "transform": {
87
- "\\.(ts|tsx)?$": "ts-jest"
96
+ "\\.(ts|tsx)?$": [
97
+ "ts-jest",
98
+ {
99
+ "useESM": true,
100
+ "tsconfig": "./test/tsconfig.json"
101
+ }
102
+ ]
88
103
  },
89
104
  "testEnvironment": "node",
90
105
  "setupFiles": [
@@ -1,20 +1,18 @@
1
- import { httpClient } from './handy'
2
- import { getOptions } from './options'
3
- import { Exchange } from './types'
1
+ import { getJSON } from './handy.ts'
2
+ import { getOptions } from './options.ts'
3
+ import { Exchange } from './types.ts'
4
4
 
5
5
  export async function getApiKeyAccessInfo(apiKey?: string) {
6
6
  const options = getOptions()
7
7
  const apiKeyToCheck = apiKey || options.apiKey
8
8
 
9
- const apiKeyAccessInfo = await httpClient
10
- .get(`${options.endpoint}/api-key-info`, {
11
- headers: {
12
- Authorization: `Bearer ${apiKeyToCheck}`
13
- }
14
- })
15
- .json()
9
+ const { data } = await getJSON<ApiKeyAccessInfo>(`${options.endpoint}/api-key-info`, {
10
+ headers: {
11
+ Authorization: `Bearer ${apiKeyToCheck}`
12
+ }
13
+ })
16
14
 
17
- return apiKeyAccessInfo as ApiKeyAccessInfo
15
+ return data
18
16
  }
19
17
 
20
18
  export type ApiKeyAccessInfo = {
@@ -1,4 +1,5 @@
1
- import { Transform, TransformCallback } from 'stream'
1
+ import { Transform } from 'stream'
2
+ import type { TransformCallback } from 'stream'
2
3
 
3
4
  // Inspired by https://github.com/maxogden/binary-split/blob/master/index.js
4
5
  export class BinarySplitStream extends Transform {
package/src/clearcache.ts CHANGED
@@ -1,8 +1,9 @@
1
- import { remove, removeSync } from 'fs-extra'
2
- import { debug } from './debug'
3
- import { getOptions } from './options'
4
- import { Filter, Exchange } from './types'
5
- import { sha256, optimizeFilters, doubleDigit } from './handy'
1
+ import { rmSync } from 'node:fs'
2
+ import { rm } from 'node:fs/promises'
3
+ import { debug } from './debug.ts'
4
+ import { getOptions } from './options.ts'
5
+ import { Filter, Exchange } from './types.ts'
6
+ import { sha256, optimizeFilters, doubleDigit } from './handy.ts'
6
7
 
7
8
  export async function clearCache(exchange?: Exchange, filters?: Filter<any>[], year?: number, month?: number, day?: number) {
8
9
  try {
@@ -10,7 +11,7 @@ export async function clearCache(exchange?: Exchange, filters?: Filter<any>[], y
10
11
 
11
12
  debug('clearing cache dir: %s', dirToRemove)
12
13
 
13
- await remove(dirToRemove)
14
+ await rm(dirToRemove, { force: true, recursive: true })
14
15
 
15
16
  debug('cleared cache dir: %s', dirToRemove)
16
17
  } catch (e) {
@@ -24,7 +25,7 @@ export function clearCacheSync(exchange?: Exchange, filters?: Filter<any>[], yea
24
25
 
25
26
  debug('clearing cache (sync) dir: %s', dirToRemove)
26
27
 
27
- removeSync(dirToRemove)
28
+ rmSync(dirToRemove, { force: true, recursive: true })
28
29
 
29
30
  debug('cleared cache(sync) dir: %s', dirToRemove)
30
31
  } catch (e) {
@@ -1,7 +1,7 @@
1
- import { decimalPlaces } from '../handy'
2
- import { OrderBook, OnLevelRemovedCB } from '../orderbook'
3
- import { BookChange, BookPriceLevel, BookSnapshot, Optional } from '../types'
4
- import { Computable } from './computable'
1
+ import { decimalPlaces } from '../handy.ts'
2
+ import { OrderBook, OnLevelRemovedCB } from '../orderbook.ts'
3
+ import { BookChange, BookPriceLevel, BookSnapshot, Optional } from '../types.ts'
4
+ import { Computable } from './computable.ts'
5
5
 
6
6
  type BookSnapshotComputableOptions = {
7
7
  name?: string
@@ -1,4 +1,4 @@
1
- import { Disconnect, Exchange, NormalizedData } from '../types'
1
+ import { Disconnect, Exchange, NormalizedData } from '../types.ts'
2
2
 
3
3
  export type Computable<T extends NormalizedData> = {
4
4
  readonly sourceDataTypes: string[]
@@ -1,3 +1,3 @@
1
- export * from './booksnapshot'
2
- export * from './computable'
3
- export * from './tradebar'
1
+ export * from './booksnapshot.ts'
2
+ export * from './computable.ts'
3
+ export * from './tradebar.ts'
@@ -1,5 +1,5 @@
1
- import { BookChange, NormalizedData, Trade, TradeBar, Writeable } from '../types'
2
- import { Computable } from './computable'
1
+ import { BookChange, NormalizedData, Trade, TradeBar, Writeable } from '../types.ts'
2
+ import { Computable } from './computable.ts'
3
3
 
4
4
  const DATE_MIN = new Date(-1)
5
5
 
@@ -1,10 +1,10 @@
1
- import { existsSync } from 'fs-extra'
1
+ import { existsSync } from 'node:fs'
2
2
  import pMap from 'p-map'
3
- import { debug } from './debug'
4
- import { DatasetType } from './exchangedetails'
5
- import { addDays, doubleDigit, download, parseAsUTCDate, sequence } from './handy'
6
- import { getOptions } from './options'
7
- import { Exchange } from './types'
3
+ import { debug } from './debug.ts'
4
+ import { DatasetType } from './exchangedetails.ts'
5
+ import { addDays, doubleDigit, download, parseAsUTCDate, sequence } from './handy.ts'
6
+ import { getOptions } from './options.ts'
7
+ import { Exchange } from './types.ts'
8
8
 
9
9
  const CONCURRENCY_LIMIT = 20
10
10
  const MILLISECONDS_IN_SINGLE_DAY = 24 * 60 * 60 * 1000
@@ -140,7 +140,7 @@ function getDownloadOptions({
140
140
  type DownloadOptions = Parameters<typeof download>[0]
141
141
 
142
142
  export function sanitizeForFilename(s: string) {
143
- return s.replace(/[\\/?*<>|"]/g, '-')
143
+ return s.replace(/[:\\/?*<>|"]/g, '-')
144
144
  }
145
145
 
146
146
  function getFilenameDefault({ exchange, dataType, format, date, symbol }: GetFilenameOptions) {
@@ -1,13 +1,13 @@
1
- import { httpClient } from './handy'
2
- import { getOptions } from './options'
3
- import { Exchange, FilterForExchange } from './types'
1
+ import { getJSON } from './handy.ts'
2
+ import { getOptions } from './options.ts'
3
+ import { Exchange, FilterForExchange } from './types.ts'
4
4
 
5
5
  export async function getExchangeDetails<T extends Exchange>(exchange: T) {
6
6
  const options = getOptions()
7
7
 
8
- const exchangeDetails = await httpClient.get(`${options.endpoint}/exchanges/${exchange}`).json()
8
+ const { data } = await getJSON(`${options.endpoint}/exchanges/${exchange}`)
9
9
 
10
- return exchangeDetails as ExchangeDetails<T>
10
+ return data as ExchangeDetails<T>
11
11
  }
12
12
 
13
13
  export type SymbolType = 'spot' | 'future' | 'perpetual' | 'option' | 'combo'
package/src/filter.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { NormalizedData, Disconnect, Trade } from './types'
2
- import { CappedSet } from './handy'
1
+ import { NormalizedData, Disconnect, Trade } from './types.ts'
2
+ import { CappedSet } from './handy.ts'
3
3
 
4
4
  export async function* filter<T extends NormalizedData | Disconnect>(messages: AsyncIterableIterator<T>, filter: (message: T) => boolean) {
5
5
  for await (const message of messages) {