UNPKG

@hackape/tardis-dev

Version:

Convenient access to tick-level historical and real-time cryptocurrency market data via Node.js

42 lines (35 loc) 1.12 kB
import { Filter } from '../types' import { RealTimeFeedBase } from './realtimefeed' export class GateIORealTimeFeed extends RealTimeFeedBase { protected readonly wssURL = 'wss://ws.gate.io/v3/' protected mapToSubscribeMessages(filters: Filter<string>[]): any[] { const id = 1 const payload = filters.map((filter) => { if (!filter.symbols || filter.symbols.length === 0) { throw new Error('GateIORealTimeFeed requires explicitly specified symbols when subscribing to live feed') } if (filter.channel === 'depth') { return { id, method: `${filter.channel}.subscribe`, params: filter.symbols.map((s) => { return [s, 30, '0'] }) } } else { return { id, method: `${filter.channel}.subscribe`, params: filter.symbols } } }) return payload } protected messageIsError(message: any): boolean { if (message.error !== null && message.error !== undefined) { return true } return false } }