UNPKG

medusa-invoice

Version:
62 lines 8.08 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateInvoiceTable = exports.amountToDisplay = void 0; const path_1 = __importDefault(require("path")); const currency_1 = require("../../../../utils/currency"); const amountToDisplay = (amount, currencyCode) => { const decimalDigits = (0, currency_1.getDecimalDigits)(currencyCode); return `₹${(amount / Math.pow(10, decimalDigits)).toFixed(decimalDigits)}`; }; exports.amountToDisplay = amountToDisplay; function generateTableRow(doc, y, item, hsn, quantity, unitCost, lineTotal, bg) { if (bg) { doc .roundedRect(50, y - 3, 500, 20, 3) .fillColor("#000000") .fill(); doc.fillColor("#FFFFFF"); } else { doc.fillColor("#000000"); } doc .fontSize(10) .font("Bold") .text(item, 58, y) .font("Regular") .text(hsn, 240, y, { width: 60, align: "left" }) .text(quantity, 300, y, { width: 90, align: "left" }) .text(unitCost, 340, y, { width: 130, align: "right" }) .text(lineTotal, 0, y, { align: "right" }); } function generateInvoiceTable(doc, y, order, items) { doc.registerFont("Regular", path_1.default.resolve(__dirname, "../../../../../fonts/NotoSans-Regular.ttf")); doc.registerFont("Bold", path_1.default.resolve(__dirname, "../../../../../fonts/NotoSans-Bold.ttf")); doc.font("Regular"); let i; const invoiceTableTop = y + 15; generateTableRow(doc, invoiceTableTop, "Item", "HSN", "Quantity", "Unit Cost", "Amount", true); for (i = 0; i < items.length; i++) { const item = items[i]; const position = invoiceTableTop + (i + 1) * 30; generateTableRow(doc, position, item.title, "21069099", item.quantity, (0, exports.amountToDisplay)(item.unit_price * 1.18, order.currency_code), (0, exports.amountToDisplay)(item.total, order.currency_code), false); } const subtotalPosition = invoiceTableTop + (i + 1) * 30 + 5; generateTableRow(doc, subtotalPosition, "", "", "", "Subtotal:", (0, exports.amountToDisplay)(order.subtotal, order.currency_code), false); const discountPosition = subtotalPosition + 22; generateTableRow(doc, discountPosition, "", "", "", "Discount:", "-" + (0, exports.amountToDisplay)(order.discount_total, order.currency_code), false); const shippingPosition = discountPosition + 22; generateTableRow(doc, shippingPosition, "", "", "", "Shipping:", (0, exports.amountToDisplay)(order.shipping_total, order.currency_code), false); const taxcgstPosition = shippingPosition + 22; generateTableRow(doc, taxcgstPosition, "", "", "", "CGST (9%):", (0, exports.amountToDisplay)(order.tax_total / 2, order.currency_code), false); const taxsgstPosition = taxcgstPosition + 22; generateTableRow(doc, taxsgstPosition, "", "", "", "SGST (9%):", (0, exports.amountToDisplay)(order.tax_total / 2, order.currency_code), false); const totalPosition = taxsgstPosition + 22; generateTableRow(doc, totalPosition, "", "", "", "Total:", (0, exports.amountToDisplay)(order.total, order.currency_code), false); return totalPosition + 30; } exports.generateInvoiceTable = generateInvoiceTable; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvdGVtcGxhdGVzL2ludm9pY2VzL2Jhc2ljL3BhcnRzL3RhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLGdEQUF3QjtBQUN4Qix5REFBOEQ7QUFFdkQsTUFBTSxlQUFlLEdBQUcsQ0FDN0IsTUFBYyxFQUNkLFlBQW9CLEVBQ1osRUFBRTtJQUNWLE1BQU0sYUFBYSxHQUFHLElBQUEsMkJBQWdCLEVBQUMsWUFBWSxDQUFDLENBQUM7SUFDckQsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7QUFDN0UsQ0FBQyxDQUFDO0FBTlcsUUFBQSxlQUFlLG1CQU0xQjtBQUVGLFNBQVMsZ0JBQWdCLENBQ3ZCLEdBQUcsRUFDSCxDQUFDLEVBQ0QsSUFBSSxFQUNKLEdBQUcsRUFDSCxRQUFRLEVBQ1IsUUFBUSxFQUNSLFNBQVMsRUFDVCxFQUFFO0lBRUYsSUFBSSxFQUFFLEVBQUU7UUFDTixHQUFHO2FBQ0EsV0FBVyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQ2xDLFNBQVMsQ0FBQyxTQUFTLENBQUM7YUFDcEIsSUFBSSxFQUFFLENBQUM7UUFDVixHQUFHLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQzFCO1NBQU07UUFDTCxHQUFHLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQzFCO0lBRUQsR0FBRztTQUNBLFFBQVEsQ0FBQyxFQUFFLENBQUM7U0FDWixJQUFJLENBQUMsTUFBTSxDQUFDO1NBQ1osSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ2pCLElB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