@@ -89,13 +89,30 @@ export class BittrexClient implements Bittrex {
8989 */
9090 public async marketSummary ( market : string ) : Promise < MarketSummaryData > {
9191 const promise = this . transport . request ( MarketSummaryData , '/public/getmarketsummary' , { market : market } ) as Promise < MarketSummaryData [ ] > ;
92- return promise . then ( ( result :MarketSummaryData [ ] ) => { return result [ 0 ] ; } ) ;
92+ return promise . then ( ( result :MarketSummaryData [ ] ) => { return this . displayMarketName ( result [ 0 ] ) ; } ) ;
9393 }
9494
9595 public async marketSummaries ( ) : Promise < MarketSummaryData [ ] > {
96- return this . transport . request ( MarketSummaryData , '/public/getmarketsummaries' ) as Promise < MarketSummaryData [ ] > ;
96+ const promise = this . transport . request ( MarketSummaryData , '/public/getmarketsummaries' ) as Promise < MarketSummaryData [ ] > ;
97+ return promise . then ( ( results :MarketSummaryData [ ] ) => { return this . displayMarketNames ( results ) ; } ) ;
9798 }
9899
100+ /**
101+ * The Bittrex API is stupid. The API returns the MarketName inverted. USDT-BTC is really BTC-USDT.
102+ * So, keep the documented behavior and set the DisplayMarketName since the API doesn't return
103+ * that documented value anyway.
104+ */
105+ private displayMarketName = ( marketSummary : MarketSummaryData ) : MarketSummaryData => {
106+ marketSummary . DisplayMarketName = marketSummary . MarketName . split ( '-' ) . reverse ( ) . join ( '-' ) ;
107+ return marketSummary ;
108+ } ;
109+
110+ private displayMarketNames = ( marketSummaries : MarketSummaryData [ ] ) : MarketSummaryData [ ] => {
111+ return marketSummaries . map ( ( marketSummary ) => {
112+ return this . displayMarketName ( marketSummary ) ;
113+ } ) ;
114+ } ;
115+
99116 public async orderBook ( market : string , type : 'buy' | 'sell' | 'both' ) : Promise < OrderBookData | OrderBookItem [ ] > {
100117 const pathname = '/public/getorderbook' ;
101118 const data = { market : market , type : type } ;
0 commit comments