shrimpy-node
Version:
Client for the Shrimpy API
48 lines (45 loc) • 2.11 kB
text/typescript
import { IDtoConverter } from "../interfaces";
import { ITradeDto } from "../dtos";
import { ITrade } from "../models";
import { DecimalDtoConverter } from "./decimal-dto-converter";
export class TradeDtoConverter implements IDtoConverter<ITradeDto, ITrade> {
private _decimalDtoConverter = new DecimalDtoConverter();
public convertFromDto(dto: ITradeDto): ITrade {
const result: ITrade = {
amount: this._decimalDtoConverter.convertFromDto(dto.amount),
errorCode: dto.errorCode,
errorMessage: dto.errorMessage,
fromSymbol: dto.fromSymbol,
id: dto.id,
status: dto.status,
success: dto.success,
toSymbol: dto.toSymbol,
exchangeApiErrors: dto.exchangeApiErrors,
maxSpreadPercent: this._decimalDtoConverter.convertFromDto(dto.maxSpreadPercent),
maxSlippagePercent: this._decimalDtoConverter.convertFromDto(dto.maxSlippagePercent),
smartRouting: dto.smartRouting,
triggeredMaxSpread: dto.triggeredMaxSpread,
triggeredMaxSlippage: dto.triggeredMaxSlippage,
};
return result;
}
public convertToDto(model: ITrade): ITradeDto {
const result: ITradeDto = {
amount: this._decimalDtoConverter.convertToDto(model.amount),
errorCode: model.errorCode,
errorMessage: model.errorMessage,
fromSymbol: model.fromSymbol,
id: model.id,
status: model.status,
success: model.success,
toSymbol: model.toSymbol,
exchangeApiErrors: model.exchangeApiErrors,
maxSpreadPercent: this._decimalDtoConverter.convertToDto(model.maxSpreadPercent),
maxSlippagePercent: this._decimalDtoConverter.convertToDto(model.maxSlippagePercent),
smartRouting: model.smartRouting,
triggeredMaxSpread: model.triggeredMaxSpread,
triggeredMaxSlippage: model.triggeredMaxSlippage,
};
return result;
}
}