shrimpy-node
Version:
Client for the Shrimpy API
48 lines (43 loc) • 1.86 kB
text/typescript
import { IDtoConverter } from "../interfaces";
import { ILimitOrderDto } from "../dtos";
import { ILimitOrder } from "../models";
import { DecimalDtoConverter } from './decimal-dto-converter';
export class LimitOrderDtoConverter implements IDtoConverter<ILimitOrderDto, ILimitOrder> {
private _decimalDtoConverter = new DecimalDtoConverter();
public convertFromDto(dto: ILimitOrderDto): ILimitOrder {
const result: ILimitOrder = {
id: dto.id,
baseSymbol: dto.baseSymbol,
quoteSymbol: dto.quoteSymbol,
amount: this._decimalDtoConverter.convertFromDto(dto.amount),
price: this._decimalDtoConverter.convertFromDto(dto.price),
side: dto.side,
timeInForce: dto.timeInForce,
status: dto.status,
cancelRequested: dto.cancelRequested,
success: dto.success,
errorCode: dto.errorCode,
errorMessage: dto.errorMessage,
exchangeApiErrors: dto.exchangeApiErrors,
};
return result;
}
public convertToDto(model: ILimitOrder): ILimitOrderDto {
const result: ILimitOrderDto = {
id: model.id,
baseSymbol: model.baseSymbol,
quoteSymbol: model.quoteSymbol,
amount: this._decimalDtoConverter.convertToDto(model.amount),
price: this._decimalDtoConverter.convertToDto(model.price),
side: model.side,
timeInForce: model.timeInForce,
status: model.status,
cancelRequested: model.cancelRequested,
success: model.success,
errorCode: model.errorCode,
errorMessage: model.errorMessage,
exchangeApiErrors: model.exchangeApiErrors,
};
return result;
}
}