shrimpy-node
Version:
Client for the Shrimpy API
41 lines (37 loc) • 1.93 kB
text/typescript
import { IDtoConverter } from "../interfaces";
import { ICandlestickDto } from "../dtos";
import { ICandlestick } from "../models";
import { DateDtoConverter } from "./date-dto-converter";
import { DecimalDtoConverter } from "./decimal-dto-converter";
export class CandlestickDtoConverter implements IDtoConverter<ICandlestickDto, ICandlestick> {
private _dateDtoConverter: DateDtoConverter = new DateDtoConverter();
private _decimalDtoConverter: DecimalDtoConverter = new DecimalDtoConverter();
public convertFromDto(dto: ICandlestickDto): ICandlestick {
const result: ICandlestick = {
open: this._decimalDtoConverter.convertFromDto(dto.open),
high: this._decimalDtoConverter.convertFromDto(dto.high),
low: this._decimalDtoConverter.convertFromDto(dto.low),
close: this._decimalDtoConverter.convertFromDto(dto.close),
volume: this._decimalDtoConverter.convertFromDto(dto.volume),
quoteVolume: dto.quoteVolume,
btcVolume: dto.btcVolume,
usdVolume: dto.usdVolume,
time: this._dateDtoConverter.convertFromDto(dto.time),
};
return result;
}
public convertToDto(model: ICandlestick): ICandlestickDto {
const result: ICandlestickDto = {
open: this._decimalDtoConverter.convertToDto(model.open),
high: this._decimalDtoConverter.convertToDto(model.high),
low: this._decimalDtoConverter.convertToDto(model.low),
close: this._decimalDtoConverter.convertToDto(model.close),
volume: this._decimalDtoConverter.convertToDto(model.volume),
quoteVolume: model.quoteVolume,
btcVolume: model.btcVolume,
usdVolume: model.usdVolume,
time: this._dateDtoConverter.convertToDto(model.time),
};
return result;
}
}