diff --git a/src/websocket.js b/src/websocket.js index 443cf64b..6df2f59f 100644 --- a/src/websocket.js +++ b/src/websocket.js @@ -378,6 +378,33 @@ const ticker = (payload, cb, transform = true, variator) => { } const allTickers = (cb, transform = true, variator) => { + const w = new openWebSocket( + `${ + variator === 'futures' + ? endpoints.futures + : variator === 'delivery' + ? endpoints.delivery + : endpoints.base + }/!miniTicker@arr`, + ) + + w.onmessage = msg => { + const arr = JSONbig.parse(msg.data) + cb( + transform + ? variator === 'futures' + ? arr.map(m => futuresTickerTransform(m)) + : variator === 'delivery' + ? arr.map(m => deliveryTickerTransform(m)) + : arr.map(m => tickerTransform(m)) + : arr, + ) + } + + return options => w.close(1000, 'Close handle was called', { keepClosed: true, ...options }) +} + +const allTickersDeprecated = (cb, transform = true, variator) => { const w = new openWebSocket( `${ variator === 'futures' @@ -980,6 +1007,7 @@ export default opts => { bookTicker, ticker, allTickers, + allTickersDeprecated, miniTicker, allMiniTickers, customSubStream, diff --git a/test/index.js b/test/index.js index 6c71fe07..5034d131 100644 --- a/test/index.js +++ b/test/index.js @@ -250,8 +250,8 @@ test('[WS] allTicker', t => { return new Promise(resolve => { client.ws.allTickers(tickers => { t.truthy(Array.isArray(tickers)) - t.is(tickers[0].eventType, '24hrTicker') - checkFields(t, tickers[0], ['symbol', 'priceChange', 'priceChangePercent']) + t.is(tickers[0].eventType, '24hrMiniTicker') + checkFields(t, tickers[0], ['symbol', 'open', 'volume']) resolve() }) }) diff --git a/test/websockets/ticker.js b/test/websockets/ticker.js index c2d0e7e5..8e415cf7 100644 --- a/test/websockets/ticker.js +++ b/test/websockets/ticker.js @@ -135,8 +135,8 @@ test('[WS] allTickers', t => { return new Promise(resolve => { const clean = client.ws.allTickers(tickers => { t.truthy(Array.isArray(tickers)) - t.is(tickers[0].eventType, '24hrTicker') - checkFields(t, tickers[0], ['symbol', 'priceChange', 'priceChangePercent']) + t.is(tickers[0].eventType, '24hrMiniTicker') + checkFields(t, tickers[0], ['symbol', 'open', 'volume']) clean() resolve() })