tardis-dev 14.2.3 → 15.0.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.
- package/README.md +42 -54
- package/dist/apikeyaccessinfo.d.ts +1 -1
- package/dist/apikeyaccessinfo.d.ts.map +1 -1
- package/dist/apikeyaccessinfo.js +7 -12
- package/dist/apikeyaccessinfo.js.map +1 -1
- package/dist/binarysplit.d.ts +2 -1
- package/dist/binarysplit.d.ts.map +1 -1
- package/dist/binarysplit.js +2 -6
- package/dist/binarysplit.js.map +1 -1
- package/dist/clearcache.d.ts +1 -1
- package/dist/clearcache.d.ts.map +1 -1
- package/dist/clearcache.js +19 -22
- package/dist/clearcache.js.map +1 -1
- package/dist/combine.js +5 -8
- package/dist/combine.js.map +1 -1
- package/dist/computable/booksnapshot.d.ts +3 -3
- package/dist/computable/booksnapshot.d.ts.map +1 -1
- package/dist/computable/booksnapshot.js +5 -9
- package/dist/computable/booksnapshot.js.map +1 -1
- package/dist/computable/computable.d.ts +1 -1
- package/dist/computable/computable.d.ts.map +1 -1
- package/dist/computable/computable.js +1 -4
- package/dist/computable/computable.js.map +1 -1
- package/dist/computable/index.d.ts +3 -3
- package/dist/computable/index.d.ts.map +1 -1
- package/dist/computable/index.js +3 -19
- package/dist/computable/index.js.map +1 -1
- package/dist/computable/tradebar.d.ts +2 -2
- package/dist/computable/tradebar.d.ts.map +1 -1
- package/dist/computable/tradebar.js +1 -5
- package/dist/computable/tradebar.js.map +1 -1
- package/dist/consts.js +2 -5
- package/dist/consts.js.map +1 -1
- package/dist/debug.js +2 -8
- package/dist/debug.js.map +1 -1
- package/dist/downloaddatasets.d.ts +2 -2
- package/dist/downloaddatasets.d.ts.map +1 -1
- package/dist/downloaddatasets.js +21 -28
- package/dist/downloaddatasets.js.map +1 -1
- package/dist/exchangedetails.d.ts +1 -1
- package/dist/exchangedetails.d.ts.map +1 -1
- package/dist/exchangedetails.js +6 -9
- package/dist/exchangedetails.js.map +1 -1
- package/dist/filter.d.ts +1 -1
- package/dist/filter.d.ts.map +1 -1
- package/dist/filter.js +4 -8
- package/dist/filter.js.map +1 -1
- package/dist/handy.d.ts +22 -4
- package/dist/handy.d.ts.map +1 -1
- package/dist/handy.js +257 -130
- package/dist/handy.js.map +1 -1
- package/dist/index.d.ts +16 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -34
- package/dist/index.js.map +1 -1
- package/dist/instrumentinfo.d.ts +2 -2
- package/dist/instrumentinfo.d.ts.map +1 -1
- package/dist/instrumentinfo.js +7 -11
- package/dist/instrumentinfo.js.map +1 -1
- package/dist/mappers/ascendex.d.ts +2 -2
- package/dist/mappers/ascendex.d.ts.map +1 -1
- package/dist/mappers/ascendex.js +11 -18
- package/dist/mappers/ascendex.js.map +1 -1
- package/dist/mappers/binance.d.ts +3 -3
- package/dist/mappers/binance.d.ts.map +1 -1
- package/dist/mappers/binance.js +26 -35
- package/dist/mappers/binance.js.map +1 -1
- package/dist/mappers/binancedex.d.ts +2 -2
- package/dist/mappers/binancedex.d.ts.map +1 -1
- package/dist/mappers/binancedex.js +7 -10
- package/dist/mappers/binancedex.js.map +1 -1
- package/dist/mappers/binanceeuropeanoptions.d.ts +2 -2
- package/dist/mappers/binanceeuropeanoptions.d.ts.map +1 -1
- package/dist/mappers/binanceeuropeanoptions.js +40 -50
- package/dist/mappers/binanceeuropeanoptions.js.map +1 -1
- package/dist/mappers/bitfinex.d.ts +2 -2
- package/dist/mappers/bitfinex.d.ts.map +1 -1
- package/dist/mappers/bitfinex.js +12 -20
- package/dist/mappers/bitfinex.js.map +1 -1
- package/dist/mappers/bitflyer.d.ts +2 -2
- package/dist/mappers/bitflyer.d.ts.map +1 -1
- package/dist/mappers/bitflyer.js +9 -13
- package/dist/mappers/bitflyer.js.map +1 -1
- package/dist/mappers/bitget.d.ts +2 -2
- package/dist/mappers/bitget.d.ts.map +1 -1
- package/dist/mappers/bitget.js +10 -17
- package/dist/mappers/bitget.js.map +1 -1
- package/dist/mappers/bitmex.d.ts +2 -2
- package/dist/mappers/bitmex.d.ts.map +1 -1
- package/dist/mappers/bitmex.js +17 -22
- package/dist/mappers/bitmex.js.map +1 -1
- package/dist/mappers/bitnomial.d.ts +2 -2
- package/dist/mappers/bitnomial.d.ts.map +1 -1
- package/dist/mappers/bitnomial.js +7 -11
- package/dist/mappers/bitnomial.js.map +1 -1
- package/dist/mappers/bitstamp.d.ts +2 -2
- package/dist/mappers/bitstamp.d.ts.map +1 -1
- package/dist/mappers/bitstamp.js +5 -9
- package/dist/mappers/bitstamp.js.map +1 -1
- package/dist/mappers/blockchaincom.d.ts +2 -2
- package/dist/mappers/blockchaincom.d.ts.map +1 -1
- package/dist/mappers/blockchaincom.js +5 -10
- package/dist/mappers/blockchaincom.js.map +1 -1
- package/dist/mappers/bybit.d.ts +2 -2
- package/dist/mappers/bybit.d.ts.map +1 -1
- package/dist/mappers/bybit.js +41 -55
- package/dist/mappers/bybit.js.map +1 -1
- package/dist/mappers/bybitspot.d.ts +2 -2
- package/dist/mappers/bybitspot.d.ts.map +1 -1
- package/dist/mappers/bybitspot.js +7 -13
- package/dist/mappers/bybitspot.js.map +1 -1
- package/dist/mappers/coinbase.d.ts +2 -2
- package/dist/mappers/coinbase.d.ts.map +1 -1
- package/dist/mappers/coinbase.js +11 -15
- package/dist/mappers/coinbase.js.map +1 -1
- package/dist/mappers/coinbaseinternational.d.ts +2 -2
- package/dist/mappers/coinbaseinternational.d.ts.map +1 -1
- package/dist/mappers/coinbaseinternational.js +12 -17
- package/dist/mappers/coinbaseinternational.js.map +1 -1
- package/dist/mappers/coinflex.d.ts +2 -2
- package/dist/mappers/coinflex.d.ts.map +1 -1
- package/dist/mappers/coinflex.js +9 -13
- package/dist/mappers/coinflex.js.map +1 -1
- package/dist/mappers/cryptocom.d.ts +2 -2
- package/dist/mappers/cryptocom.d.ts.map +1 -1
- package/dist/mappers/cryptocom.js +11 -18
- package/dist/mappers/cryptocom.js.map +1 -1
- package/dist/mappers/cryptofacilities.d.ts +2 -2
- package/dist/mappers/cryptofacilities.d.ts.map +1 -1
- package/dist/mappers/cryptofacilities.js +13 -17
- package/dist/mappers/cryptofacilities.js.map +1 -1
- package/dist/mappers/delta.d.ts +2 -2
- package/dist/mappers/delta.d.ts.map +1 -1
- package/dist/mappers/delta.js +17 -24
- package/dist/mappers/delta.js.map +1 -1
- package/dist/mappers/deribit.d.ts +2 -2
- package/dist/mappers/deribit.d.ts.map +1 -1
- package/dist/mappers/deribit.js +20 -25
- package/dist/mappers/deribit.js.map +1 -1
- package/dist/mappers/dydx.d.ts +2 -2
- package/dist/mappers/dydx.d.ts.map +1 -1
- package/dist/mappers/dydx.js +9 -15
- package/dist/mappers/dydx.js.map +1 -1
- package/dist/mappers/dydxv4.d.ts +2 -2
- package/dist/mappers/dydxv4.d.ts.map +1 -1
- package/dist/mappers/dydxv4.js +11 -18
- package/dist/mappers/dydxv4.js.map +1 -1
- package/dist/mappers/ftx.d.ts +2 -2
- package/dist/mappers/ftx.d.ts.map +1 -1
- package/dist/mappers/ftx.js +22 -31
- package/dist/mappers/ftx.js.map +1 -1
- package/dist/mappers/gateio.d.ts +3 -3
- package/dist/mappers/gateio.d.ts.map +1 -1
- package/dist/mappers/gateio.js +17 -26
- package/dist/mappers/gateio.js.map +1 -1
- package/dist/mappers/gateiofutures.d.ts +7 -7
- package/dist/mappers/gateiofutures.d.ts.map +1 -1
- package/dist/mappers/gateiofutures.js +22 -25
- package/dist/mappers/gateiofutures.js.map +1 -1
- package/dist/mappers/gemini.d.ts +2 -2
- package/dist/mappers/gemini.d.ts.map +1 -1
- package/dist/mappers/gemini.js +5 -8
- package/dist/mappers/gemini.js.map +1 -1
- package/dist/mappers/hitbtc.d.ts +2 -2
- package/dist/mappers/hitbtc.d.ts.map +1 -1
- package/dist/mappers/hitbtc.js +5 -8
- package/dist/mappers/hitbtc.js.map +1 -1
- package/dist/mappers/huobi.d.ts +4 -4
- package/dist/mappers/huobi.d.ts.map +1 -1
- package/dist/mappers/huobi.js +32 -42
- package/dist/mappers/huobi.js.map +1 -1
- package/dist/mappers/hyperliquid.d.ts +2 -2
- package/dist/mappers/hyperliquid.d.ts.map +1 -1
- package/dist/mappers/hyperliquid.js +6 -13
- package/dist/mappers/hyperliquid.js.map +1 -1
- package/dist/mappers/index.d.ts +38 -38
- package/dist/mappers/index.d.ts.map +1 -1
- package/dist/mappers/index.js +273 -296
- package/dist/mappers/index.js.map +1 -1
- package/dist/mappers/kraken.d.ts +2 -2
- package/dist/mappers/kraken.d.ts.map +1 -1
- package/dist/mappers/kraken.js +11 -14
- package/dist/mappers/kraken.js.map +1 -1
- package/dist/mappers/kucoin.d.ts +3 -3
- package/dist/mappers/kucoin.d.ts.map +1 -1
- package/dist/mappers/kucoin.js +10 -16
- package/dist/mappers/kucoin.js.map +1 -1
- package/dist/mappers/kucoinfutures.d.ts +3 -3
- package/dist/mappers/kucoinfutures.d.ts.map +1 -1
- package/dist/mappers/kucoinfutures.js +15 -22
- package/dist/mappers/kucoinfutures.js.map +1 -1
- package/dist/mappers/mapper.d.ts +1 -1
- package/dist/mappers/mapper.d.ts.map +1 -1
- package/dist/mappers/mapper.js +1 -5
- package/dist/mappers/mapper.js.map +1 -1
- package/dist/mappers/okex.d.ts +2 -2
- package/dist/mappers/okex.d.ts.map +1 -1
- package/dist/mappers/okex.js +65 -80
- package/dist/mappers/okex.js.map +1 -1
- package/dist/mappers/okexspreads.d.ts +2 -2
- package/dist/mappers/okexspreads.d.ts.map +1 -1
- package/dist/mappers/okexspreads.js +7 -13
- package/dist/mappers/okexspreads.js.map +1 -1
- package/dist/mappers/phemex.d.ts +2 -2
- package/dist/mappers/phemex.d.ts.map +1 -1
- package/dist/mappers/phemex.js +5 -9
- package/dist/mappers/phemex.js.map +1 -1
- package/dist/mappers/poloniex.d.ts +2 -2
- package/dist/mappers/poloniex.d.ts.map +1 -1
- package/dist/mappers/poloniex.js +9 -16
- package/dist/mappers/poloniex.js.map +1 -1
- package/dist/mappers/serum.d.ts +2 -2
- package/dist/mappers/serum.d.ts.map +1 -1
- package/dist/mappers/serum.js +11 -17
- package/dist/mappers/serum.js.map +1 -1
- package/dist/mappers/upbit.d.ts +2 -2
- package/dist/mappers/upbit.d.ts.map +1 -1
- package/dist/mappers/upbit.js +7 -12
- package/dist/mappers/upbit.js.map +1 -1
- package/dist/mappers/woox.d.ts +2 -2
- package/dist/mappers/woox.d.ts.map +1 -1
- package/dist/mappers/woox.js +11 -17
- package/dist/mappers/woox.js.map +1 -1
- package/dist/options.d.ts.map +1 -1
- package/dist/options.js +9 -14
- package/dist/options.js.map +1 -1
- package/dist/orderbook.d.ts +1 -1
- package/dist/orderbook.d.ts.map +1 -1
- package/dist/orderbook.js +4 -8
- package/dist/orderbook.js.map +1 -1
- package/dist/realtimefeeds/ascendex.d.ts +2 -2
- package/dist/realtimefeeds/ascendex.d.ts.map +1 -1
- package/dist/realtimefeeds/ascendex.js +5 -9
- package/dist/realtimefeeds/ascendex.js.map +1 -1
- package/dist/realtimefeeds/binance.d.ts +13 -2
- package/dist/realtimefeeds/binance.d.ts.map +1 -1
- package/dist/realtimefeeds/binance.js +69 -33
- package/dist/realtimefeeds/binance.js.map +1 -1
- package/dist/realtimefeeds/binancedex.d.ts +2 -2
- package/dist/realtimefeeds/binancedex.d.ts.map +1 -1
- package/dist/realtimefeeds/binancedex.js +5 -9
- package/dist/realtimefeeds/binancedex.js.map +1 -1
- package/dist/realtimefeeds/binanceeuropeanoptions.d.ts +2 -2
- package/dist/realtimefeeds/binanceeuropeanoptions.d.ts.map +1 -1
- package/dist/realtimefeeds/binanceeuropeanoptions.js +5 -9
- package/dist/realtimefeeds/binanceeuropeanoptions.js.map +1 -1
- package/dist/realtimefeeds/bitfinex.d.ts +2 -2
- package/dist/realtimefeeds/bitfinex.d.ts.map +1 -1
- package/dist/realtimefeeds/bitfinex.js +2 -6
- package/dist/realtimefeeds/bitfinex.js.map +1 -1
- package/dist/realtimefeeds/bitflyer.d.ts +2 -2
- package/dist/realtimefeeds/bitflyer.d.ts.map +1 -1
- package/dist/realtimefeeds/bitflyer.js +2 -6
- package/dist/realtimefeeds/bitflyer.js.map +1 -1
- package/dist/realtimefeeds/bitget.d.ts +2 -2
- package/dist/realtimefeeds/bitget.d.ts.map +1 -1
- package/dist/realtimefeeds/bitget.js +6 -11
- package/dist/realtimefeeds/bitget.js.map +1 -1
- package/dist/realtimefeeds/bitmex.d.ts +2 -2
- package/dist/realtimefeeds/bitmex.d.ts.map +1 -1
- package/dist/realtimefeeds/bitmex.js +4 -8
- package/dist/realtimefeeds/bitmex.js.map +1 -1
- package/dist/realtimefeeds/bitnomial.d.ts +2 -2
- package/dist/realtimefeeds/bitnomial.d.ts.map +1 -1
- package/dist/realtimefeeds/bitnomial.js +2 -6
- package/dist/realtimefeeds/bitnomial.js.map +1 -1
- package/dist/realtimefeeds/bitstamp.d.ts +2 -2
- package/dist/realtimefeeds/bitstamp.d.ts.map +1 -1
- package/dist/realtimefeeds/bitstamp.js +5 -9
- package/dist/realtimefeeds/bitstamp.js.map +1 -1
- package/dist/realtimefeeds/blockchaincom.d.ts +2 -2
- package/dist/realtimefeeds/blockchaincom.d.ts.map +1 -1
- package/dist/realtimefeeds/blockchaincom.js +4 -8
- package/dist/realtimefeeds/blockchaincom.js.map +1 -1
- package/dist/realtimefeeds/bybit.d.ts +2 -2
- package/dist/realtimefeeds/bybit.d.ts.map +1 -1
- package/dist/realtimefeeds/bybit.js +8 -14
- package/dist/realtimefeeds/bybit.js.map +1 -1
- package/dist/realtimefeeds/coinbase.d.ts +2 -2
- package/dist/realtimefeeds/coinbase.d.ts.map +1 -1
- package/dist/realtimefeeds/coinbase.js +4 -11
- package/dist/realtimefeeds/coinbase.js.map +1 -1
- package/dist/realtimefeeds/coinbaseinternational.d.ts +2 -2
- package/dist/realtimefeeds/coinbaseinternational.d.ts.map +1 -1
- package/dist/realtimefeeds/coinbaseinternational.js +4 -11
- package/dist/realtimefeeds/coinbaseinternational.js.map +1 -1
- package/dist/realtimefeeds/coinflex.d.ts +2 -2
- package/dist/realtimefeeds/coinflex.d.ts.map +1 -1
- package/dist/realtimefeeds/coinflex.js +2 -6
- package/dist/realtimefeeds/coinflex.js.map +1 -1
- package/dist/realtimefeeds/cryptocom.d.ts +2 -2
- package/dist/realtimefeeds/cryptocom.d.ts.map +1 -1
- package/dist/realtimefeeds/cryptocom.js +2 -6
- package/dist/realtimefeeds/cryptocom.js.map +1 -1
- package/dist/realtimefeeds/cryptofacilities.d.ts +2 -2
- package/dist/realtimefeeds/cryptofacilities.d.ts.map +1 -1
- package/dist/realtimefeeds/cryptofacilities.js +2 -6
- package/dist/realtimefeeds/cryptofacilities.js.map +1 -1
- package/dist/realtimefeeds/delta.d.ts +2 -2
- package/dist/realtimefeeds/delta.d.ts.map +1 -1
- package/dist/realtimefeeds/delta.js +2 -6
- package/dist/realtimefeeds/delta.js.map +1 -1
- package/dist/realtimefeeds/deribit.d.ts +2 -2
- package/dist/realtimefeeds/deribit.d.ts.map +1 -1
- package/dist/realtimefeeds/deribit.js +4 -8
- package/dist/realtimefeeds/deribit.js.map +1 -1
- package/dist/realtimefeeds/dydx.d.ts +2 -2
- package/dist/realtimefeeds/dydx.d.ts.map +1 -1
- package/dist/realtimefeeds/dydx.js +2 -6
- package/dist/realtimefeeds/dydx.js.map +1 -1
- package/dist/realtimefeeds/dydx_v4.d.ts +2 -2
- package/dist/realtimefeeds/dydx_v4.d.ts.map +1 -1
- package/dist/realtimefeeds/dydx_v4.js +2 -6
- package/dist/realtimefeeds/dydx_v4.js.map +1 -1
- package/dist/realtimefeeds/ftx.d.ts +2 -2
- package/dist/realtimefeeds/ftx.d.ts.map +1 -1
- package/dist/realtimefeeds/ftx.js +13 -18
- package/dist/realtimefeeds/ftx.js.map +1 -1
- package/dist/realtimefeeds/gateio.d.ts +2 -2
- package/dist/realtimefeeds/gateio.d.ts.map +1 -1
- package/dist/realtimefeeds/gateio.js +2 -6
- package/dist/realtimefeeds/gateio.js.map +1 -1
- package/dist/realtimefeeds/gateiofutures.d.ts +5 -2
- package/dist/realtimefeeds/gateiofutures.d.ts.map +1 -1
- package/dist/realtimefeeds/gateiofutures.js +4 -7
- package/dist/realtimefeeds/gateiofutures.js.map +1 -1
- package/dist/realtimefeeds/gemini.d.ts +2 -2
- package/dist/realtimefeeds/gemini.d.ts.map +1 -1
- package/dist/realtimefeeds/gemini.js +2 -6
- package/dist/realtimefeeds/gemini.js.map +1 -1
- package/dist/realtimefeeds/hitbtc.d.ts +2 -2
- package/dist/realtimefeeds/hitbtc.d.ts.map +1 -1
- package/dist/realtimefeeds/hitbtc.js +2 -6
- package/dist/realtimefeeds/hitbtc.js.map +1 -1
- package/dist/realtimefeeds/huobi.d.ts +2 -2
- package/dist/realtimefeeds/huobi.d.ts.map +1 -1
- package/dist/realtimefeeds/huobi.js +36 -44
- package/dist/realtimefeeds/huobi.js.map +1 -1
- package/dist/realtimefeeds/hyperliquid.d.ts +2 -2
- package/dist/realtimefeeds/hyperliquid.d.ts.map +1 -1
- package/dist/realtimefeeds/hyperliquid.js +2 -6
- package/dist/realtimefeeds/hyperliquid.js.map +1 -1
- package/dist/realtimefeeds/index.d.ts +4 -4
- package/dist/realtimefeeds/index.d.ts.map +1 -1
- package/dist/realtimefeeds/index.js +101 -120
- package/dist/realtimefeeds/index.js.map +1 -1
- package/dist/realtimefeeds/kraken.d.ts +2 -2
- package/dist/realtimefeeds/kraken.d.ts.map +1 -1
- package/dist/realtimefeeds/kraken.js +2 -6
- package/dist/realtimefeeds/kraken.js.map +1 -1
- package/dist/realtimefeeds/kucoin.d.ts +2 -2
- package/dist/realtimefeeds/kucoin.d.ts.map +1 -1
- package/dist/realtimefeeds/kucoin.js +10 -14
- package/dist/realtimefeeds/kucoin.js.map +1 -1
- package/dist/realtimefeeds/kucoinfutures.d.ts +2 -2
- package/dist/realtimefeeds/kucoinfutures.d.ts.map +1 -1
- package/dist/realtimefeeds/kucoinfutures.js +12 -19
- package/dist/realtimefeeds/kucoinfutures.js.map +1 -1
- package/dist/realtimefeeds/mango.d.ts +1 -1
- package/dist/realtimefeeds/mango.d.ts.map +1 -1
- package/dist/realtimefeeds/mango.js +2 -6
- package/dist/realtimefeeds/mango.js.map +1 -1
- package/dist/realtimefeeds/okex.d.ts +2 -2
- package/dist/realtimefeeds/okex.d.ts.map +1 -1
- package/dist/realtimefeeds/okex.js +9 -18
- package/dist/realtimefeeds/okex.js.map +1 -1
- package/dist/realtimefeeds/okexspreads.d.ts +2 -2
- package/dist/realtimefeeds/okexspreads.d.ts.map +1 -1
- package/dist/realtimefeeds/okexspreads.js +6 -13
- package/dist/realtimefeeds/okexspreads.js.map +1 -1
- package/dist/realtimefeeds/phemex.d.ts +2 -2
- package/dist/realtimefeeds/phemex.d.ts.map +1 -1
- package/dist/realtimefeeds/phemex.js +2 -6
- package/dist/realtimefeeds/phemex.js.map +1 -1
- package/dist/realtimefeeds/poloniex.d.ts +2 -2
- package/dist/realtimefeeds/poloniex.d.ts.map +1 -1
- package/dist/realtimefeeds/poloniex.js +2 -6
- package/dist/realtimefeeds/poloniex.js.map +1 -1
- package/dist/realtimefeeds/realtimefeed.d.ts +2 -1
- package/dist/realtimefeeds/realtimefeed.d.ts.map +1 -1
- package/dist/realtimefeeds/realtimefeed.js +33 -38
- package/dist/realtimefeeds/realtimefeed.js.map +1 -1
- package/dist/realtimefeeds/serum.d.ts +2 -2
- package/dist/realtimefeeds/serum.d.ts.map +1 -1
- package/dist/realtimefeeds/serum.js +2 -6
- package/dist/realtimefeeds/serum.js.map +1 -1
- package/dist/realtimefeeds/staratlas.d.ts +1 -1
- package/dist/realtimefeeds/staratlas.d.ts.map +1 -1
- package/dist/realtimefeeds/staratlas.js +2 -6
- package/dist/realtimefeeds/staratlas.js.map +1 -1
- package/dist/realtimefeeds/upbit.d.ts +2 -2
- package/dist/realtimefeeds/upbit.d.ts.map +1 -1
- package/dist/realtimefeeds/upbit.js +2 -6
- package/dist/realtimefeeds/upbit.js.map +1 -1
- package/dist/realtimefeeds/woox.d.ts +2 -2
- package/dist/realtimefeeds/woox.d.ts.map +1 -1
- package/dist/realtimefeeds/woox.js +5 -9
- package/dist/realtimefeeds/woox.js.map +1 -1
- package/dist/replay.d.ts +6 -3
- package/dist/replay.d.ts.map +1 -1
- package/dist/replay.js +62 -71
- package/dist/replay.js.map +1 -1
- package/dist/stream.d.ts +6 -3
- package/dist/stream.d.ts.map +1 -1
- package/dist/stream.js +9 -13
- package/dist/stream.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -2
- package/dist/worker.d.ts +1 -1
- package/dist/worker.d.ts.map +1 -1
- package/dist/worker.js +22 -27
- package/dist/worker.js.map +1 -1
- package/example.js +9 -9
- package/package.json +30 -15
- package/src/apikeyaccessinfo.ts +9 -11
- package/src/binarysplit.ts +2 -1
- package/src/clearcache.ts +8 -7
- package/src/computable/booksnapshot.ts +4 -4
- package/src/computable/computable.ts +1 -1
- package/src/computable/index.ts +3 -3
- package/src/computable/tradebar.ts +2 -2
- package/src/downloaddatasets.ts +7 -7
- package/src/exchangedetails.ts +5 -5
- package/src/filter.ts +2 -2
- package/src/handy.ts +286 -23
- package/src/index.ts +16 -16
- package/src/instrumentinfo.ts +9 -9
- package/src/mappers/ascendex.ts +3 -3
- package/src/mappers/binance.ts +4 -4
- package/src/mappers/binancedex.ts +3 -3
- package/src/mappers/binanceeuropeanoptions.ts +3 -3
- package/src/mappers/bitfinex.ts +3 -3
- package/src/mappers/bitflyer.ts +3 -3
- package/src/mappers/bitget.ts +3 -3
- package/src/mappers/bitmex.ts +3 -3
- package/src/mappers/bitnomial.ts +3 -3
- package/src/mappers/bitstamp.ts +3 -3
- package/src/mappers/blockchaincom.ts +3 -3
- package/src/mappers/bybit.ts +3 -3
- package/src/mappers/bybitspot.ts +3 -3
- package/src/mappers/coinbase.ts +3 -3
- package/src/mappers/coinbaseinternational.ts +3 -3
- package/src/mappers/coinflex.ts +3 -3
- package/src/mappers/cryptocom.ts +3 -3
- package/src/mappers/cryptofacilities.ts +3 -3
- package/src/mappers/delta.ts +3 -3
- package/src/mappers/deribit.ts +3 -3
- package/src/mappers/dydx.ts +3 -3
- package/src/mappers/dydxv4.ts +3 -3
- package/src/mappers/ftx.ts +3 -3
- package/src/mappers/gateio.ts +4 -4
- package/src/mappers/gateiofutures.ts +18 -14
- package/src/mappers/gemini.ts +3 -3
- package/src/mappers/hitbtc.ts +3 -3
- package/src/mappers/huobi.ts +3 -3
- package/src/mappers/hyperliquid.ts +2 -2
- package/src/mappers/index.ts +49 -44
- package/src/mappers/kraken.ts +3 -3
- package/src/mappers/kucoin.ts +4 -4
- package/src/mappers/kucoinfutures.ts +4 -4
- package/src/mappers/mapper.ts +1 -1
- package/src/mappers/okex.ts +3 -3
- package/src/mappers/okexspreads.ts +3 -3
- package/src/mappers/phemex.ts +2 -2
- package/src/mappers/poloniex.ts +3 -3
- package/src/mappers/serum.ts +3 -3
- package/src/mappers/upbit.ts +3 -3
- package/src/mappers/woox.ts +3 -3
- package/src/options.ts +5 -2
- package/src/orderbook.ts +3 -2
- package/src/realtimefeeds/ascendex.ts +3 -3
- package/src/realtimefeeds/binance.ts +111 -20
- package/src/realtimefeeds/binancedex.ts +5 -5
- package/src/realtimefeeds/binanceeuropeanoptions.ts +3 -3
- package/src/realtimefeeds/bitfinex.ts +2 -2
- package/src/realtimefeeds/bitflyer.ts +2 -2
- package/src/realtimefeeds/bitget.ts +3 -3
- package/src/realtimefeeds/bitmex.ts +3 -3
- package/src/realtimefeeds/bitnomial.ts +2 -2
- package/src/realtimefeeds/bitstamp.ts +5 -5
- package/src/realtimefeeds/blockchaincom.ts +3 -3
- package/src/realtimefeeds/bybit.ts +3 -3
- package/src/realtimefeeds/coinbase.ts +2 -2
- package/src/realtimefeeds/coinbaseinternational.ts +2 -2
- package/src/realtimefeeds/coinflex.ts +2 -2
- package/src/realtimefeeds/cryptocom.ts +2 -2
- package/src/realtimefeeds/cryptofacilities.ts +2 -2
- package/src/realtimefeeds/delta.ts +2 -2
- package/src/realtimefeeds/deribit.ts +3 -3
- package/src/realtimefeeds/dydx.ts +2 -2
- package/src/realtimefeeds/dydx_v4.ts +2 -2
- package/src/realtimefeeds/ftx.ts +8 -8
- package/src/realtimefeeds/gateio.ts +2 -3
- package/src/realtimefeeds/gateiofutures.ts +3 -2
- package/src/realtimefeeds/gemini.ts +2 -2
- package/src/realtimefeeds/hitbtc.ts +2 -2
- package/src/realtimefeeds/huobi.ts +18 -18
- package/src/realtimefeeds/hyperliquid.ts +2 -2
- package/src/realtimefeeds/index.ts +43 -43
- package/src/realtimefeeds/kraken.ts +2 -2
- package/src/realtimefeeds/kucoin.ts +9 -9
- package/src/realtimefeeds/kucoinfutures.ts +9 -11
- package/src/realtimefeeds/mango.ts +1 -1
- package/src/realtimefeeds/okex.ts +3 -3
- package/src/realtimefeeds/okexspreads.ts +3 -3
- package/src/realtimefeeds/phemex.ts +2 -2
- package/src/realtimefeeds/poloniex.ts +2 -2
- package/src/realtimefeeds/realtimefeed.ts +8 -3
- package/src/realtimefeeds/serum.ts +2 -2
- package/src/realtimefeeds/staratlas.ts +1 -1
- package/src/realtimefeeds/upbit.ts +2 -2
- package/src/realtimefeeds/woox.ts +3 -3
- package/src/replay.ts +31 -35
- package/src/stream.ts +12 -23
- package/src/types.ts +1 -1
- package/src/worker.ts +3 -4
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.StarAtlasRealTimeFeed = void 0;
|
|
4
|
-
const serum_1 = require("./serum");
|
|
5
|
-
class StarAtlasRealTimeFeed extends serum_1.SerumRealTimeFeed {
|
|
1
|
+
import { SerumRealTimeFeed } from "./serum.js";
|
|
2
|
+
export class StarAtlasRealTimeFeed extends SerumRealTimeFeed {
|
|
6
3
|
wssURL = 'wss://serum-vial.staratlas.cloud/v1/ws';
|
|
7
4
|
}
|
|
8
|
-
exports.StarAtlasRealTimeFeed = StarAtlasRealTimeFeed;
|
|
9
5
|
//# sourceMappingURL=staratlas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staratlas.js","sourceRoot":"","sources":["../../src/realtimefeeds/staratlas.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"staratlas.js","sourceRoot":"","sources":["../../src/realtimefeeds/staratlas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE9C,MAAM,OAAO,qBAAsB,SAAQ,iBAAiB;IAChD,MAAM,GAAG,wCAAwC,CAAA;CAC5D"}
|
|
@@ -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
|
export declare class UpbitRealTimeFeed extends RealTimeFeedBase {
|
|
4
4
|
protected readonly wssURL = "wss://api.upbit.com/websocket/v1";
|
|
5
5
|
protected mapToSubscribeMessages(filters: Filter<string>[]): any[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upbit.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/upbit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"upbit.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/upbit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,qBAAa,iBAAkB,SAAQ,gBAAgB;IACrD,SAAS,CAAC,QAAQ,CAAC,MAAM,sCAAqC;IAE9D,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;IAyBlE,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;CAGhD"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.UpbitRealTimeFeed = void 0;
|
|
4
|
-
const realtimefeed_1 = require("./realtimefeed");
|
|
5
|
-
class UpbitRealTimeFeed extends realtimefeed_1.RealTimeFeedBase {
|
|
1
|
+
import { RealTimeFeedBase } from "./realtimefeed.js";
|
|
2
|
+
export class UpbitRealTimeFeed extends RealTimeFeedBase {
|
|
6
3
|
wssURL = 'wss://api.upbit.com/websocket/v1';
|
|
7
4
|
mapToSubscribeMessages(filters) {
|
|
8
5
|
const subs = filters.map((filter) => {
|
|
@@ -29,5 +26,4 @@ class UpbitRealTimeFeed extends realtimefeed_1.RealTimeFeedBase {
|
|
|
29
26
|
return message.type === 'error';
|
|
30
27
|
}
|
|
31
28
|
}
|
|
32
|
-
exports.UpbitRealTimeFeed = UpbitRealTimeFeed;
|
|
33
29
|
//# sourceMappingURL=upbit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upbit.js","sourceRoot":"","sources":["../../src/realtimefeeds/upbit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"upbit.js","sourceRoot":"","sources":["../../src/realtimefeeds/upbit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,MAAM,OAAO,iBAAkB,SAAQ,gBAAgB;IAClC,MAAM,GAAG,kCAAkC,CAAA;IAEpD,sBAAsB,CAAC,OAAyB;QACxD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAA;YAC1G,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,MAAM,CAAC,OAAO;gBACpB,KAAK,EAAE,MAAM,CAAC,OAAO;gBACrB,cAAc,EAAE,IAAI;aACrB,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG;YACd;gBACE;oBACE,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;iBACxC;gBACD,GAAG,IAAI;aACR;SACF,CAAA;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAES,cAAc,CAAC,OAAY;QACnC,OAAO,OAAO,CAAC,IAAI,KAAK,OAAO,CAAA;IACjC,CAAC;CACF"}
|
|
@@ -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
|
export declare class WooxRealTimeFeed extends RealTimeFeedBase {
|
|
4
4
|
protected wssURL: string;
|
|
5
5
|
protected mapToSubscribeMessages(filters: Filter<string>[]): any[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"woox.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/woox.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"woox.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/woox.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,qBAAa,gBAAiB,SAAQ,gBAAgB;IACpD,SAAS,CAAC,MAAM,SAAyE;IAEzF,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;cAmBlD,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,OAAO;IA4B7F,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IAI/C,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IAInD,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG;CAO7B"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const handy_1 = require("../handy");
|
|
5
|
-
const realtimefeed_1 = require("./realtimefeed");
|
|
6
|
-
class WooxRealTimeFeed extends realtimefeed_1.RealTimeFeedBase {
|
|
1
|
+
import { wait } from "../handy.js";
|
|
2
|
+
import { RealTimeFeedBase } from "./realtimefeed.js";
|
|
3
|
+
export class WooxRealTimeFeed extends RealTimeFeedBase {
|
|
7
4
|
wssURL = 'wss://wss.woo.org/ws/stream/OqdphuyCtYWxwzhxyLLjOWNdFP7sQt8RPWzmb5xY';
|
|
8
5
|
mapToSubscribeMessages(filters) {
|
|
9
6
|
return filters
|
|
@@ -27,7 +24,7 @@ class WooxRealTimeFeed extends realtimefeed_1.RealTimeFeedBase {
|
|
|
27
24
|
if (!orderbookFilter) {
|
|
28
25
|
return;
|
|
29
26
|
}
|
|
30
|
-
await
|
|
27
|
+
await wait(200);
|
|
31
28
|
for (let symbol of orderbookFilter.symbols) {
|
|
32
29
|
if (shouldCancel()) {
|
|
33
30
|
return;
|
|
@@ -40,7 +37,7 @@ class WooxRealTimeFeed extends realtimefeed_1.RealTimeFeedBase {
|
|
|
40
37
|
symbol
|
|
41
38
|
}
|
|
42
39
|
});
|
|
43
|
-
await
|
|
40
|
+
await wait(1);
|
|
44
41
|
}
|
|
45
42
|
this.debug('sent orderbook requests for: %s', orderbookFilter.symbols);
|
|
46
43
|
}
|
|
@@ -58,5 +55,4 @@ class WooxRealTimeFeed extends realtimefeed_1.RealTimeFeedBase {
|
|
|
58
55
|
}
|
|
59
56
|
}
|
|
60
57
|
}
|
|
61
|
-
exports.WooxRealTimeFeed = WooxRealTimeFeed;
|
|
62
58
|
//# sourceMappingURL=woox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"woox.js","sourceRoot":"","sources":["../../src/realtimefeeds/woox.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"woox.js","sourceRoot":"","sources":["../../src/realtimefeeds/woox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAElC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,MAAM,OAAO,gBAAiB,SAAQ,gBAAgB;IAC1C,MAAM,GAAG,sEAAsE,CAAA;IAE/E,sBAAsB,CAAC,OAAyB;QACxD,OAAO,OAAO;aACX,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,WAAW,CAAC;aAClD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAA;YACzG,CAAC;YAED,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACnC,OAAO;oBACL,EAAE,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;oBACjC,KAAK,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;oBACpC,KAAK,EAAE,WAAW;iBACnB,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC;aACD,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IACtB,CAAC;IAES,KAAK,CAAC,sBAAsB,CAAC,OAAyB,EAAE,YAA2B;QAC3F,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC,CAAA;QACtE,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAM;QACR,CAAC;QAED,MAAM,IAAI,CAAC,GAAG,CAAC,CAAA;QAEf,KAAK,IAAI,MAAM,IAAI,eAAe,CAAC,OAAQ,EAAE,CAAC;YAC5C,IAAI,YAAY,EAAE,EAAE,CAAC;gBACnB,OAAM;YACR,CAAC;YAED,IAAI,CAAC,IAAI,CAAC;gBACR,EAAE,EAAE,GAAG,MAAM,YAAY;gBACzB,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE;oBACN,IAAI,EAAE,WAAW;oBACjB,MAAM;iBACP;aACF,CAAC,CAAA;YAEF,MAAM,IAAI,CAAC,CAAC,CAAC,CAAA;QACf,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,iCAAiC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;IACxE,CAAC;IAES,cAAc,CAAC,OAAY;QACnC,OAAO,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAA;IACpE,CAAC;IAES,kBAAkB,CAAC,OAAY;QACvC,OAAO,OAAO,CAAC,KAAK,KAAK,MAAM,CAAA;IACjC,CAAC;IAES,SAAS,CAAC,GAAQ;QAC1B,IAAI,GAAG,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC;gBACR,KAAK,EAAE,MAAM;aACd,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;CACF"}
|
package/dist/replay.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { MapperFactory } from './mappers';
|
|
2
|
-
import { Disconnect, Exchange, FilterForExchange } from './types';
|
|
1
|
+
import { MapperFactory } from './mappers/index.ts';
|
|
2
|
+
import { Disconnect, Exchange, FilterForExchange } from './types.ts';
|
|
3
|
+
type MapperOutput<T> = T extends MapperFactory<any, infer U> ? U : never;
|
|
4
|
+
type ReplayNormalizedMessage<U extends readonly MapperFactory<any, any>[], Z extends boolean> = Z extends true ? MapperOutput<U[number]> | Disconnect : MapperOutput<U[number]>;
|
|
3
5
|
export declare function replay<T extends Exchange, U extends boolean = false, Z extends boolean = false>({ exchange, from, to, filters, skipDecoding, withDisconnects, apiKey, withMicroseconds, autoCleanup, waitWhenDataNotYetAvailable }: ReplayOptions<T, U, Z>): AsyncIterableIterator<Z extends true ? U extends true ? {
|
|
4
6
|
localTimestamp: Buffer;
|
|
5
7
|
message: Buffer;
|
|
@@ -13,7 +15,7 @@ export declare function replay<T extends Exchange, U extends boolean = false, Z
|
|
|
13
15
|
localTimestamp: Date;
|
|
14
16
|
message: any;
|
|
15
17
|
}>;
|
|
16
|
-
export declare function replayNormalized<T extends Exchange, U extends MapperFactory<T, any>[], Z extends boolean = false>({ exchange, symbols, from, to, withDisconnectMessages, apiKey, autoCleanup, waitWhenDataNotYetAvailable }: ReplayNormalizedOptions<T, Z>, ...normalizers: U): AsyncIterableIterator<
|
|
18
|
+
export declare function replayNormalized<T extends Exchange, U extends MapperFactory<T, any>[], Z extends boolean = false>({ exchange, symbols, from, to, withDisconnectMessages, apiKey, autoCleanup, waitWhenDataNotYetAvailable }: ReplayNormalizedOptions<T, Z>, ...normalizers: U): AsyncIterableIterator<ReplayNormalizedMessage<U, Z>>;
|
|
17
19
|
export type ReplayOptions<T extends Exchange, U extends boolean = false, Z extends boolean = false> = {
|
|
18
20
|
readonly exchange: T;
|
|
19
21
|
readonly from: string;
|
|
@@ -36,4 +38,5 @@ export type ReplayNormalizedOptions<T extends Exchange, U extends boolean = fals
|
|
|
36
38
|
readonly autoCleanup?: boolean;
|
|
37
39
|
readonly waitWhenDataNotYetAvailable?: boolean | number;
|
|
38
40
|
};
|
|
41
|
+
export {};
|
|
39
42
|
//# sourceMappingURL=replay.d.ts.map
|
package/dist/replay.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAwB,MAAM,
|
|
1
|
+
{"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"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"}
|
package/dist/replay.js
CHANGED
|
@@ -1,30 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const clearcache_1 = require("./clearcache");
|
|
15
|
-
const consts_1 = require("./consts");
|
|
16
|
-
const debug_1 = require("./debug");
|
|
17
|
-
const handy_1 = require("./handy");
|
|
18
|
-
const mappers_1 = require("./mappers");
|
|
19
|
-
const options_1 = require("./options");
|
|
20
|
-
async function* replay({ exchange, from, to, filters, skipDecoding = undefined, withDisconnects = undefined, apiKey = undefined, withMicroseconds = undefined, autoCleanup = undefined, waitWhenDataNotYetAvailable = undefined }) {
|
|
1
|
+
import { createReadStream } from 'node:fs';
|
|
2
|
+
import { rm } from 'node:fs/promises';
|
|
3
|
+
import { EventEmitter } from 'events';
|
|
4
|
+
import { Worker } from 'worker_threads';
|
|
5
|
+
import { constants, createGunzip } from 'zlib';
|
|
6
|
+
import { BinarySplitStream } from "./binarysplit.js";
|
|
7
|
+
import { clearCacheSync } from "./clearcache.js";
|
|
8
|
+
import { EXCHANGES, EXCHANGE_CHANNELS_INFO } from "./consts.js";
|
|
9
|
+
import { debug } from "./debug.js";
|
|
10
|
+
import { addDays, getFilters, normalizeMessages, parseAsUTCDate, wait } from "./handy.js";
|
|
11
|
+
import { normalizeBookChanges } from "./mappers/index.js";
|
|
12
|
+
import { getOptions } from "./options.js";
|
|
13
|
+
export async function* replay({ exchange, from, to, filters, skipDecoding = undefined, withDisconnects = undefined, apiKey = undefined, withMicroseconds = undefined, autoCleanup = undefined, waitWhenDataNotYetAvailable = undefined }) {
|
|
21
14
|
validateReplayOptions(exchange, from, to, filters);
|
|
22
|
-
const fromDate =
|
|
23
|
-
const toDate =
|
|
15
|
+
const fromDate = parseAsUTCDate(from);
|
|
16
|
+
const toDate = parseAsUTCDate(to);
|
|
24
17
|
const cachedSlicePaths = new Map();
|
|
25
18
|
let replayError;
|
|
26
|
-
|
|
27
|
-
const options =
|
|
19
|
+
debug('replay for exchange: %s started - from: %s, to: %s, filters: %o', exchange, fromDate.toISOString(), toDate.toISOString(), filters);
|
|
20
|
+
const options = getOptions();
|
|
28
21
|
// initialize worker thread that will fetch and cache data feed slices and "report back" by setting proper key/values in cachedSlicePaths
|
|
29
22
|
const payload = {
|
|
30
23
|
cacheDir: options.cacheDir,
|
|
@@ -42,7 +35,7 @@ async function* replay({ exchange, from, to, filters, skipDecoding = undefined,
|
|
|
42
35
|
cachedSlicePaths.set(message.sliceKey, message.slicePath);
|
|
43
36
|
});
|
|
44
37
|
worker.on('error', (err) => {
|
|
45
|
-
|
|
38
|
+
debug('worker error %o', err);
|
|
46
39
|
replayError = err;
|
|
47
40
|
});
|
|
48
41
|
try {
|
|
@@ -52,9 +45,9 @@ async function* replay({ exchange, from, to, filters, skipDecoding = undefined,
|
|
|
52
45
|
// more lenient gzip decompression
|
|
53
46
|
// see https://github.com/request/request/pull/2492 and https://github.com/node-fetch/node-fetch/pull/239
|
|
54
47
|
const ZLIB_OPTIONS = {
|
|
55
|
-
chunkSize:
|
|
56
|
-
flush:
|
|
57
|
-
finishFlush:
|
|
48
|
+
chunkSize: 256 * 1024,
|
|
49
|
+
flush: constants.Z_SYNC_FLUSH,
|
|
50
|
+
finishFlush: constants.Z_SYNC_FLUSH
|
|
58
51
|
};
|
|
59
52
|
// helper flag that helps us not yielding two subsequent undefined/disconnect messages
|
|
60
53
|
let lastMessageWasUndefined = false;
|
|
@@ -63,7 +56,7 @@ async function* replay({ exchange, from, to, filters, skipDecoding = undefined,
|
|
|
63
56
|
// get cached slice paths, read them as file streams, decompress, split by new lines and yield as messages
|
|
64
57
|
while (currentSliceDate < toDate) {
|
|
65
58
|
const sliceKey = currentSliceDate.toISOString();
|
|
66
|
-
|
|
59
|
+
debug('getting slice: %s, exchange: %s', sliceKey, exchange);
|
|
67
60
|
let cachedSlicePath;
|
|
68
61
|
while (cachedSlicePath === undefined) {
|
|
69
62
|
cachedSlicePath = cachedSlicePaths.get(sliceKey);
|
|
@@ -73,22 +66,22 @@ async function* replay({ exchange, from, to, filters, skipDecoding = undefined,
|
|
|
73
66
|
}
|
|
74
67
|
if (cachedSlicePath === undefined) {
|
|
75
68
|
// if response for requested date is not ready yet wait 100ms and try again
|
|
76
|
-
|
|
77
|
-
await
|
|
69
|
+
debug('waiting for slice: %s, exchange: %s', sliceKey, exchange);
|
|
70
|
+
await wait(100);
|
|
78
71
|
}
|
|
79
72
|
}
|
|
80
73
|
// response is a path to file on disk let' read it as stream
|
|
81
|
-
const linesStream =
|
|
74
|
+
const linesStream = createReadStream(cachedSlicePath, { highWaterMark: 256 * 1024 })
|
|
82
75
|
// unzip it
|
|
83
|
-
.pipe(
|
|
76
|
+
.pipe(createGunzip(ZLIB_OPTIONS))
|
|
84
77
|
.on('error', function onGunzipError(err) {
|
|
85
|
-
|
|
78
|
+
debug('gunzip error %o', err);
|
|
86
79
|
linesStream.destroy(err);
|
|
87
80
|
})
|
|
88
81
|
// and split by new line
|
|
89
|
-
.pipe(new
|
|
82
|
+
.pipe(new BinarySplitStream())
|
|
90
83
|
.on('error', function onBinarySplitStreamError(err) {
|
|
91
|
-
|
|
84
|
+
debug('binary split stream error %o', err);
|
|
92
85
|
linesStream.destroy(err);
|
|
93
86
|
});
|
|
94
87
|
let linesCount = 0;
|
|
@@ -96,17 +89,15 @@ async function* replay({ exchange, from, to, filters, skipDecoding = undefined,
|
|
|
96
89
|
linesCount++;
|
|
97
90
|
if (bufferLine.length > 0) {
|
|
98
91
|
lastMessageWasUndefined = false;
|
|
99
|
-
const localTimestampBuffer = bufferLine.slice(0, DATE_MESSAGE_SPLIT_INDEX);
|
|
100
|
-
const messageBuffer = bufferLine.slice(DATE_MESSAGE_SPLIT_INDEX + 1);
|
|
101
92
|
// as any due to https://github.com/Microsoft/TypeScript/issues/24929
|
|
102
93
|
if (skipDecoding === true) {
|
|
103
94
|
yield {
|
|
104
|
-
localTimestamp:
|
|
105
|
-
message:
|
|
95
|
+
localTimestamp: bufferLine.slice(0, DATE_MESSAGE_SPLIT_INDEX),
|
|
96
|
+
message: bufferLine.slice(DATE_MESSAGE_SPLIT_INDEX + 1)
|
|
106
97
|
};
|
|
107
98
|
}
|
|
108
99
|
else {
|
|
109
|
-
let messageString =
|
|
100
|
+
let messageString = bufferLine.toString('utf8', DATE_MESSAGE_SPLIT_INDEX + 1);
|
|
110
101
|
// hack to handle huobi long numeric id for trades
|
|
111
102
|
if (exchange.startsWith('huobi-') && messageString.includes('.trade.detail')) {
|
|
112
103
|
messageString = messageString.replace(/"id":([0-9]+),/g, '"id":"$1",');
|
|
@@ -116,12 +107,9 @@ async function* replay({ exchange, from, to, filters, skipDecoding = undefined,
|
|
|
116
107
|
messageString = messageString.replace(/"sequential_id":([0-9]+),/g, '"sequential_id":"$1",');
|
|
117
108
|
}
|
|
118
109
|
const message = JSON.parse(messageString);
|
|
119
|
-
const
|
|
120
|
-
const localTimestamp = new Date(localTimestampString);
|
|
110
|
+
const localTimestamp = new Date(bufferLine.toString('utf8', 0, DATE_MESSAGE_SPLIT_INDEX));
|
|
121
111
|
if (withMicroseconds) {
|
|
122
|
-
|
|
123
|
-
// local timestamp always has format like this 2019-06-01T00:03:03.1238784Z
|
|
124
|
-
localTimestamp.μs = (0, handy_1.parseμs)(localTimestampString);
|
|
112
|
+
localTimestamp.μs = parseReplayMicroseconds(bufferLine);
|
|
125
113
|
}
|
|
126
114
|
yield {
|
|
127
115
|
// when skipDecoding is not set, decode timestamp to Date and message to object
|
|
@@ -137,7 +125,7 @@ async function* replay({ exchange, from, to, filters, skipDecoding = undefined,
|
|
|
137
125
|
yield undefined;
|
|
138
126
|
}
|
|
139
127
|
}
|
|
140
|
-
|
|
128
|
+
debug('processed slice: %s, exchange: %s, count: %d', sliceKey, exchange, linesCount);
|
|
141
129
|
// remove slice key from the map as it's already processed
|
|
142
130
|
cachedSlicePaths.delete(sliceKey);
|
|
143
131
|
if (autoCleanup) {
|
|
@@ -146,17 +134,17 @@ async function* replay({ exchange, from, to, filters, skipDecoding = undefined,
|
|
|
146
134
|
// move one minute forward
|
|
147
135
|
currentSliceDate.setUTCMinutes(currentSliceDate.getUTCMinutes() + 1);
|
|
148
136
|
}
|
|
149
|
-
|
|
137
|
+
debug('replay for exchange: %s finished - from: %s, to: %s, filters: %o', exchange, fromDate.toISOString(), toDate.toISOString(), filters);
|
|
150
138
|
}
|
|
151
139
|
finally {
|
|
152
140
|
if (autoCleanup) {
|
|
153
|
-
|
|
141
|
+
debug('replay for exchange %s auto cleanup started - from: %s, to: %s, filters: %o', exchange, fromDate.toISOString(), toDate.toISOString(), filters);
|
|
154
142
|
let startDate = new Date(fromDate);
|
|
155
143
|
while (startDate < toDate) {
|
|
156
|
-
|
|
157
|
-
startDate =
|
|
144
|
+
clearCacheSync(exchange, filters, startDate.getUTCFullYear(), startDate.getUTCMonth() + 1, startDate.getUTCDate());
|
|
145
|
+
startDate = addDays(startDate, 1);
|
|
158
146
|
}
|
|
159
|
-
|
|
147
|
+
debug('replay for exchange %s auto cleanup finished - from: %s, to: %s, filters: %o', exchange, fromDate.toISOString(), toDate.toISOString(), filters);
|
|
160
148
|
}
|
|
161
149
|
const underlyingWorker = worker.getUnderlyingWorker();
|
|
162
150
|
if (underlyingWorker !== undefined) {
|
|
@@ -166,12 +154,15 @@ async function* replay({ exchange, from, to, filters, skipDecoding = undefined,
|
|
|
166
154
|
}
|
|
167
155
|
async function cleanupSlice(slicePath) {
|
|
168
156
|
try {
|
|
169
|
-
await (
|
|
157
|
+
await rm(slicePath, { force: true });
|
|
170
158
|
}
|
|
171
159
|
catch (e) {
|
|
172
|
-
|
|
160
|
+
debug('cleanupSlice error %s %o', slicePath, e);
|
|
173
161
|
}
|
|
174
162
|
}
|
|
163
|
+
function parseReplayMicroseconds(bufferLine) {
|
|
164
|
+
return (bufferLine[23] - 48) * 100 + (bufferLine[24] - 48) * 10 + (bufferLine[25] - 48);
|
|
165
|
+
}
|
|
175
166
|
// gracefully terminate worker
|
|
176
167
|
async function terminateWorker(worker, waitTimeout) {
|
|
177
168
|
let cancelWait = () => { };
|
|
@@ -186,13 +177,13 @@ async function terminateWorker(worker, waitTimeout) {
|
|
|
186
177
|
await Promise.race([readyToTerminate, maxWaitGuard]);
|
|
187
178
|
await worker.terminate();
|
|
188
179
|
}
|
|
189
|
-
function replayNormalized({ exchange, symbols, from, to, withDisconnectMessages = undefined, apiKey = undefined, autoCleanup = undefined, waitWhenDataNotYetAvailable = undefined }, ...normalizers) {
|
|
190
|
-
const fromDate =
|
|
180
|
+
export function replayNormalized({ exchange, symbols, from, to, withDisconnectMessages = undefined, apiKey = undefined, autoCleanup = undefined, waitWhenDataNotYetAvailable = undefined }, ...normalizers) {
|
|
181
|
+
const fromDate = parseAsUTCDate(from);
|
|
191
182
|
validateReplayNormalizedOptions(fromDate, normalizers);
|
|
192
183
|
//TODO: zrovi replay dzien po dniu, tak ze kazdego dnia przekazuje swierze filters
|
|
193
184
|
const createMappers = (localTimestamp) => normalizers.map((m) => m(exchange, localTimestamp));
|
|
194
185
|
const mappers = createMappers(fromDate);
|
|
195
|
-
const filters =
|
|
186
|
+
const filters = getFilters(mappers, symbols);
|
|
196
187
|
const messages = replay({
|
|
197
188
|
exchange,
|
|
198
189
|
from,
|
|
@@ -210,11 +201,11 @@ function replayNormalized({ exchange, symbols, from, to, withDisconnectMessages
|
|
|
210
201
|
const filter = (symbol) => {
|
|
211
202
|
return upperCaseSymbols === undefined || upperCaseSymbols.length === 0 || upperCaseSymbols.includes(symbol);
|
|
212
203
|
};
|
|
213
|
-
return
|
|
204
|
+
return normalizeMessages(exchange, undefined, messages, mappers, createMappers, withDisconnectMessages, filter);
|
|
214
205
|
}
|
|
215
206
|
function validateReplayOptions(exchange, from, to, filters) {
|
|
216
|
-
if (!exchange ||
|
|
217
|
-
throw new Error(`Invalid "exchange" argument: ${exchange}. Please provide one of the following exchanges: ${
|
|
207
|
+
if (!exchange || EXCHANGES.includes(exchange) === false) {
|
|
208
|
+
throw new Error(`Invalid "exchange" argument: ${exchange}. Please provide one of the following exchanges: ${EXCHANGES.join(', ')}.`);
|
|
218
209
|
}
|
|
219
210
|
if (!from || isNaN(Date.parse(from))) {
|
|
220
211
|
throw new Error(`Invalid "from" argument: ${from}. Please provide valid date string.`);
|
|
@@ -222,14 +213,14 @@ function validateReplayOptions(exchange, from, to, filters) {
|
|
|
222
213
|
if (!to || isNaN(Date.parse(to))) {
|
|
223
214
|
throw new Error(`Invalid "to" argument: ${to}. Please provide valid date string.`);
|
|
224
215
|
}
|
|
225
|
-
if (
|
|
216
|
+
if (parseAsUTCDate(to) < parseAsUTCDate(from)) {
|
|
226
217
|
throw new Error(`Invalid "to" and "from" arguments combination. Please provide "to" date that is later than "from" date.`);
|
|
227
218
|
}
|
|
228
219
|
if (filters && filters.length > 0) {
|
|
229
220
|
for (let i = 0; i < filters.length; i++) {
|
|
230
221
|
const filter = filters[i];
|
|
231
|
-
if (!filter.channel ||
|
|
232
|
-
throw new Error(`Invalid "filters[].channel" argument: ${filter.channel}. Please provide one of the following channels: ${
|
|
222
|
+
if (!filter.channel || EXCHANGE_CHANNELS_INFO[exchange].includes(filter.channel) === false) {
|
|
223
|
+
throw new Error(`Invalid "filters[].channel" argument: ${filter.channel}. Please provide one of the following channels: ${EXCHANGE_CHANNELS_INFO[exchange].join(', ')}.`);
|
|
233
224
|
}
|
|
234
225
|
if (filter.symbols && Array.isArray(filter.symbols) === false) {
|
|
235
226
|
throw new Error(`Invalid "filters[].symbols" argument: ${filter.symbols}. Please provide array of symbol strings`);
|
|
@@ -238,13 +229,13 @@ function validateReplayOptions(exchange, from, to, filters) {
|
|
|
238
229
|
}
|
|
239
230
|
}
|
|
240
231
|
function validateReplayNormalizedOptions(fromDate, normalizers) {
|
|
241
|
-
const hasBookChangeNormalizer = normalizers.some((n) => n ===
|
|
232
|
+
const hasBookChangeNormalizer = normalizers.some((n) => n === normalizeBookChanges);
|
|
242
233
|
const dateDoesNotStartAtTheBeginningOfTheDay = fromDate.getUTCHours() !== 0 || fromDate.getUTCMinutes() !== 0;
|
|
243
234
|
if (hasBookChangeNormalizer && dateDoesNotStartAtTheBeginningOfTheDay) {
|
|
244
|
-
|
|
235
|
+
debug('Initial order book snapshots are available only at 00:00 UTC');
|
|
245
236
|
}
|
|
246
237
|
}
|
|
247
|
-
class ReliableWorker extends
|
|
238
|
+
class ReliableWorker extends EventEmitter {
|
|
248
239
|
_payload;
|
|
249
240
|
_errorsCount = 0;
|
|
250
241
|
_worker = undefined;
|
|
@@ -254,7 +245,7 @@ class ReliableWorker extends stream_1.EventEmitter {
|
|
|
254
245
|
this._initWorker();
|
|
255
246
|
}
|
|
256
247
|
_initWorker() {
|
|
257
|
-
this._worker = new
|
|
248
|
+
this._worker = new Worker(new URL('./worker.js', import.meta.url), {
|
|
258
249
|
workerData: this._payload
|
|
259
250
|
});
|
|
260
251
|
this._worker.on('message', (message) => {
|
|
@@ -262,16 +253,16 @@ class ReliableWorker extends stream_1.EventEmitter {
|
|
|
262
253
|
});
|
|
263
254
|
this._worker.on('error', this._handleError);
|
|
264
255
|
this._worker.on('exit', (code) => {
|
|
265
|
-
|
|
256
|
+
debug('worker finished with code: %d', code);
|
|
266
257
|
});
|
|
267
258
|
}
|
|
268
259
|
_handleError = async (err) => {
|
|
269
|
-
|
|
260
|
+
debug('underlying worker error %o', err);
|
|
270
261
|
if (err.message.includes('HttpError') === false && this._errorsCount < 30) {
|
|
271
262
|
this._errorsCount++;
|
|
272
263
|
const delayMS = Math.min(Math.pow(2, this._errorsCount) * 1000, 120 * 1000);
|
|
273
|
-
|
|
274
|
-
await
|
|
264
|
+
debug('re-init worker after: %d ms', delayMS);
|
|
265
|
+
await wait(delayMS);
|
|
275
266
|
// it was most likely unhandled socket hang up error, let's retry first with new worker and don't emit error right away
|
|
276
267
|
this._initWorker();
|
|
277
268
|
}
|
package/dist/replay.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay.js","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"replay.js","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"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"}
|
package/dist/stream.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { MapperFactory } from './mappers';
|
|
2
|
-
import { Disconnect, Exchange, FilterForExchange } from './types';
|
|
1
|
+
import { MapperFactory } from './mappers/index.ts';
|
|
2
|
+
import { Disconnect, Exchange, FilterForExchange } from './types.ts';
|
|
3
|
+
type MapperOutput<T> = T extends MapperFactory<any, infer U> ? U : never;
|
|
4
|
+
type StreamNormalizedMessage<U extends readonly MapperFactory<any, any>[], Z extends boolean> = Z extends true ? MapperOutput<U[number]> | Disconnect : MapperOutput<U[number]>;
|
|
3
5
|
export declare function stream<T extends Exchange, U extends boolean = false>({ exchange, filters, timeoutIntervalMS, withDisconnects, onError }: StreamOptions<T, U>): AsyncIterableIterator<U extends true ? {
|
|
4
6
|
localTimestamp: Date;
|
|
5
7
|
message: any;
|
|
@@ -21,5 +23,6 @@ export type StreamNormalizedOptions<T extends Exchange, U extends boolean = fals
|
|
|
21
23
|
withDisconnectMessages?: U;
|
|
22
24
|
onError?: (error: Error) => void;
|
|
23
25
|
};
|
|
24
|
-
export declare function streamNormalized<T extends Exchange, U extends MapperFactory<T, any>[], Z extends boolean = false>({ exchange, symbols, timeoutIntervalMS, withDisconnectMessages, onError }: StreamNormalizedOptions<T, Z>, ...normalizers: U): AsyncIterableIterator<
|
|
26
|
+
export declare function streamNormalized<T extends Exchange, U extends MapperFactory<T, any>[], Z extends boolean = false>({ exchange, symbols, timeoutIntervalMS, withDisconnectMessages, onError }: StreamNormalizedOptions<T, Z>, ...normalizers: U): AsyncIterableIterator<StreamNormalizedMessage<U, Z>>;
|
|
27
|
+
export {};
|
|
25
28
|
//# sourceMappingURL=stream.d.ts.map
|
package/dist/stream.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAU,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE5E,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AACxE,KAAK,uBAAuB,CAAC,CAAC,SAAS,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,SAAS,OAAO,IAAI,CAAC,SAAS,IAAI,GAC1G,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,GACpC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AA+B3B,wBAAgB,MAAM,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,OAAO,GAAG,KAAK,EAAE,EACpE,QAAQ,EACR,OAAO,EACP,iBAAyB,EACzB,eAA2B,EAC3B,OAAmB,EACpB,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,qBAAqB,CAC5C,CAAC,SAAS,IAAI,GAAG;IAAE,cAAc,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,GAAG,CAAA;CAAE,GAAG,SAAS,GAAG;IAAE,cAAc,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,GAAG,CAAA;CAAE,CAC7G,CAMA;AA4ED,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,OAAO,GAAG,KAAK,IAAI;IACzE,QAAQ,EAAE,CAAC,CAAA;IACX,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAA;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,eAAe,CAAC,EAAE,CAAC,CAAA;IACnB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,OAAO,GAAG,KAAK,IAAI;IACnF,QAAQ,EAAE,CAAC,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,sBAAsB,CAAC,EAAE,CAAC,CAAA;IAC1B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CACjC,CAAA;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,SAAS,OAAO,GAAG,KAAK,EAC/G,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAyB,EAAE,sBAAkC,EAAE,OAAmB,EAAE,EAAE,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,EACxI,GAAG,WAAW,EAAE,CAAC,GAChB,qBAAqB,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAMtD"}
|
package/dist/stream.js
CHANGED
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
exports.streamNormalized = streamNormalized;
|
|
5
|
-
const debug_1 = require("./debug");
|
|
6
|
-
const handy_1 = require("./handy");
|
|
7
|
-
const realtimefeeds_1 = require("./realtimefeeds");
|
|
1
|
+
import { debug } from "./debug.js";
|
|
2
|
+
import { getFilters, normalizeMessages } from "./handy.js";
|
|
3
|
+
import { createRealTimeFeed } from "./realtimefeeds/index.js";
|
|
8
4
|
async function* _stream({ exchange, filters, timeoutIntervalMS = 10000, withDisconnects = undefined, onError = undefined }) {
|
|
9
5
|
validateStreamOptions(filters);
|
|
10
|
-
const realTimeFeed =
|
|
6
|
+
const realTimeFeed = createRealTimeFeed(exchange, filters, timeoutIntervalMS, onError);
|
|
11
7
|
for await (const message of realTimeFeed) {
|
|
12
8
|
if (message.__disconnect__ === true) {
|
|
13
9
|
// __disconnect__ message means that websocket connection has been closed
|
|
@@ -24,7 +20,7 @@ async function* _stream({ exchange, filters, timeoutIntervalMS = 10000, withDisc
|
|
|
24
20
|
}
|
|
25
21
|
}
|
|
26
22
|
}
|
|
27
|
-
function stream({ exchange, filters, timeoutIntervalMS = 10000, withDisconnects = undefined, onError = undefined }) {
|
|
23
|
+
export function stream({ exchange, filters, timeoutIntervalMS = 10000, withDisconnects = undefined, onError = undefined }) {
|
|
28
24
|
let _iterator = _stream({ exchange, filters, timeoutIntervalMS, withDisconnects, onError });
|
|
29
25
|
_iterator.__realtime__ = true;
|
|
30
26
|
return _iterator;
|
|
@@ -34,7 +30,7 @@ async function* _streamNormalized({ exchange, symbols, timeoutIntervalMS = 10000
|
|
|
34
30
|
try {
|
|
35
31
|
const createMappers = (localTimestamp) => normalizers.map((m) => m(exchange, localTimestamp));
|
|
36
32
|
const mappers = createMappers(new Date());
|
|
37
|
-
const filters =
|
|
33
|
+
const filters = getFilters(mappers, symbols);
|
|
38
34
|
const messages = _stream({
|
|
39
35
|
exchange,
|
|
40
36
|
withDisconnects: true,
|
|
@@ -48,7 +44,7 @@ async function* _streamNormalized({ exchange, symbols, timeoutIntervalMS = 10000
|
|
|
48
44
|
const filter = (symbol) => {
|
|
49
45
|
return upperCaseSymbols === undefined || upperCaseSymbols.length === 0 || upperCaseSymbols.includes(symbol);
|
|
50
46
|
};
|
|
51
|
-
const normalizedMessages =
|
|
47
|
+
const normalizedMessages = normalizeMessages(exchange, symbols, messages, mappers, createMappers, withDisconnectMessages, filter, new Date());
|
|
52
48
|
for await (const message of normalizedMessages) {
|
|
53
49
|
yield message;
|
|
54
50
|
}
|
|
@@ -57,7 +53,7 @@ async function* _streamNormalized({ exchange, symbols, timeoutIntervalMS = 10000
|
|
|
57
53
|
if (onError !== undefined) {
|
|
58
54
|
onError(error);
|
|
59
55
|
}
|
|
60
|
-
|
|
56
|
+
debug('%s normalize messages error: %o, retrying with new connection...', exchange, error);
|
|
61
57
|
if (withDisconnectMessages) {
|
|
62
58
|
// yield it as disconnect as well if flag is set
|
|
63
59
|
const disconnect = {
|
|
@@ -82,7 +78,7 @@ function validateStreamOptions(filters) {
|
|
|
82
78
|
}
|
|
83
79
|
}
|
|
84
80
|
}
|
|
85
|
-
function streamNormalized({ exchange, symbols, timeoutIntervalMS = 10000, withDisconnectMessages = undefined, onError = undefined }, ...normalizers) {
|
|
81
|
+
export function streamNormalized({ exchange, symbols, timeoutIntervalMS = 10000, withDisconnectMessages = undefined, onError = undefined }, ...normalizers) {
|
|
86
82
|
let _iterator = _streamNormalized({ exchange, symbols, timeoutIntervalMS, withDisconnectMessages, onError }, ...normalizers);
|
|
87
83
|
_iterator.__realtime__ = true;
|
|
88
84
|
return _iterator;
|