shrimpy-node
Version:
Client for the Shrimpy API
33 lines (29 loc) • 1.5 kB
text/typescript
import { IDtoConverter } from "../interfaces";
import { IExchangeOrderBookDto, IMarketOrderBooksDto } from "../dtos";
import { IExchangeOrderBook, IMarketOrderBooks } from "../models";
import { ExchangeOrderBookDtoConverter } from "./exchange-order-book-dto-converter";
export class MarketOrderBooksDtoConverter implements IDtoConverter<IMarketOrderBooksDto, IMarketOrderBooks> {
private _exchangeOrderBookDtoConverter: ExchangeOrderBookDtoConverter = new ExchangeOrderBookDtoConverter();
public convertFromDto(dto: IMarketOrderBooksDto): IMarketOrderBooks {
const orderBooks: IExchangeOrderBook[] = dto.orderBooks.map((exchangeOrderBookDto) => {
return this._exchangeOrderBookDtoConverter.convertFromDto(exchangeOrderBookDto);
});
const result: IMarketOrderBooks = {
baseSymbol: dto.baseSymbol,
orderBooks: orderBooks,
quoteSymbol: dto.quoteSymbol
};
return result;
}
public convertToDto(model: IMarketOrderBooks): IMarketOrderBooksDto {
const orderBookDtos: IExchangeOrderBookDto[] = model.orderBooks.map((exchangeOrderBook) => {
return this._exchangeOrderBookDtoConverter.convertToDto(exchangeOrderBook);
});
const result: IMarketOrderBooksDto = {
baseSymbol: model.baseSymbol,
orderBooks: orderBookDtos,
quoteSymbol: model.quoteSymbol
};
return result;
}
}