UNPKG

channelape-sdk

Version:
84 lines 3.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const trimObject_1 = require("../../utils/trimObject"); class JsonOrderFormatterService { static formatOrder(rawOrder) { let order; if (typeof rawOrder === 'string') { order = JSON.parse(rawOrder); } else { order = rawOrder; } order.purchasedAt = new Date(order.purchasedAt); if (order.canceledAt != null) { order.canceledAt = new Date(order.canceledAt); } order.updatedAt = new Date(order.updatedAt); order.createdAt = new Date(order.createdAt); order.status = order.status; order.totalPrice = Number(order.totalPrice); order.subtotalPrice = Number(order.subtotalPrice); order.totalShippingPrice = Number(order.totalShippingPrice); if (typeof order.totalShippingTax !== 'undefined') { order.totalShippingTax = Number(order.totalShippingTax); } order.totalTax = Number(order.totalTax); order.totalGrams = Number(order.totalGrams); order.lineItems = order.lineItems.map(JsonOrderFormatterService.formatLineItem); order.fulfillments = order.fulfillments.map((f) => JsonOrderFormatterService.formatFulfillment(f)); if (order.refunds) { order.refunds = order.refunds.map((r) => JsonOrderFormatterService.formatRefund(r)); } else { order.refunds = []; } return (0, trimObject_1.default)(order); } static formatFulfillment(fulfillment) { fulfillment.lineItems = fulfillment.lineItems.map(JsonOrderFormatterService.formatLineItem); if (fulfillment.shippedAt) { fulfillment.shippedAt = new Date(fulfillment.shippedAt); } return fulfillment; } static formatLineItem(lineItem) { if (typeof lineItem.grams !== 'undefined') { lineItem.grams = Number(lineItem.grams); } if (typeof lineItem.price !== 'undefined') { lineItem.price = Number(lineItem.price); } if (typeof lineItem.taxes !== 'undefined') { lineItem.taxes = lineItem.taxes.map(JsonOrderFormatterService.formatLineItemTax); } return lineItem; } static formatLineItemTax(tax) { tax.price = Number(tax.price); tax.rate = tax.rate ? Number(tax.rate) : undefined; return tax; } static formatRefund(refund) { if (typeof refund.lineItems !== 'undefined') { refund.lineItems = refund.lineItems.map(JsonOrderFormatterService.formatLineItem); } if (typeof refund.transactions !== 'undefined') { refund.transactions = refund.transactions.map(JsonOrderFormatterService.formatTransaction); } if (typeof refund.adjustments !== 'undefined') { refund.adjustments = refund.adjustments.map(JsonOrderFormatterService.formatAdjustment); } return refund; } static formatTransaction(transaction) { transaction.amount = Number(transaction.amount); return transaction; } static formatAdjustment(adjustment) { adjustment.amount = Number(adjustment.amount); return adjustment; } } exports.default = JsonOrderFormatterService; //# sourceMappingURL=JsonOrderFormatterService.js.map