* Delivery WebSocket aggregated trades * @param {array/string} symbols - an array or string of symbols to query * @param {function} callback - callback function * @return {string} the websocket endpoint
(symbols: string[] | string, callback: Callback)
| 5930 | * @return {string} the websocket endpoint |
| 5931 | */ |
| 5932 | deliveryAggTradeStream(symbols: string[] | string, callback: Callback) { |
| 5933 | const reconnect = () => { |
| 5934 | if (this.Options.reconnect) this.deliveryAggTradeStream(symbols, callback); |
| 5935 | }; |
| 5936 | let subscription; |
| 5937 | const cleanCallback = data => callback(this.dAggTradeConvertData(data)); |
| 5938 | if (Array.isArray(symbols)) { |
| 5939 | if (!this.isArrayUnique(symbols)) throw Error('deliveryAggTradeStream: "symbols" cannot contain duplicate elements.'); |
| 5940 | const streams = symbols.map(symbol => symbol.toLowerCase() + '@aggTrade'); |
| 5941 | subscription = this.deliverySubscribe(streams, cleanCallback, { reconnect }); |
| 5942 | } else { |
| 5943 | const symbol = symbols; |
| 5944 | subscription = this.deliverySubscribeSingle(symbol.toLowerCase() + '@aggTrade', cleanCallback, { reconnect }); |
| 5945 | } |
| 5946 | return (subscription as any).url; |
| 5947 | } |
| 5948 | |
| 5949 | /** |
| 5950 | * Delivery WebSocket mark price |
no test coverage detected