medusa-invoice
Version:
Generate invoice from Medusa
43 lines • 3.57 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateInput = void 0;
const pdfkit_1 = __importDefault(require("pdfkit"));
const header_1 = require("./parts/header");
const customer_info_1 = require("./parts/customer-info");
const table_1 = require("./parts/table");
const invoice_info_1 = require("./parts/invoice-info");
function validateInput(settings) {
if (settings &&
settings.store_address &&
settings.store_address.company &&
settings.store_address.address_1 &&
settings.store_address.city &&
settings.store_address.postal_code)
return [true, ""];
return [
false,
`Not all settings are defined to generate template. Following settings are checked: company, address, city, postal_code`,
];
}
exports.validateInput = validateInput;
exports.default = async (settings, invoice, order) => {
var doc = new pdfkit_1.default();
const buffers = [];
doc.on("data", buffers.push.bind(buffers));
const endHeader = (0, header_1.generateHeader)(doc, 50, settings);
const endInvoiceInfo = (0, invoice_info_1.generateInvoiceInformation)(doc, endHeader, invoice, order);
const endY = (0, customer_info_1.generateCustomerInformation)(doc, endInvoiceInfo, order);
(0, table_1.generateInvoiceTable)(doc, endY, order, order.items);
doc.end();
const bufferPromise = new Promise((resolve) => {
doc.on("end", () => {
const pdfData = Buffer.concat(buffers);
resolve(pdfData);
});
});
return await bufferPromise;
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvdGVtcGxhdGVzL2ludm9pY2VzL2Jhc2ljL2Jhc2ljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUdBLG9EQUFpQztBQUNqQywyQ0FBZ0Q7QUFDaEQseURBQW9FO0FBQ3BFLHlDQUFxRDtBQUNyRCx1REFBa0U7QUFHbEUsU0FBZ0IsYUFBYSxDQUFDLFFBQTJCO0lBQ3ZELElBQ0UsUUFBUTtRQUNSLFFBQVEsQ0FBQyxhQUFhO1FBQ3RCLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTztRQUM5QixRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVM7UUFDaEMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJO1FBQzNCLFFBQVEsQ0FBQyxhQUFhLENBQUMsV0FBVztRQUVsQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BCLE9BQU87UUFDTCxLQUFLO1FBQ0wsd0hBQXdIO0tBQ3pILENBQUM7QUFDSixDQUFDO0FBZEQsc0NBY0M7QUFFRCxrQkFBZSxLQUFLLEVBQ2xCLFFBQTBCLEVBQzFCLE9BQWdCLEVBQ2hCLEtBQVksRUFDSyxFQUFFO0lBQ25CLElBQUksR0FBRyxHQUFHLElBQUksZ0JBQVcsRUFBRSxDQUFDO0lBRTVCLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNuQixHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBRTNDLE1BQU0sU0FBUyxHQUFHLElBQUEsdUJBQWMsRUFBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3BELE1BQU0sY0FBYyxHQUFHLElBQUEseUNBQTBCLEVBQy9DLEdBQUcsRUFDSCxTQUFTLEVBQ1QsT0FBTyxFQUNQLEtBQUssQ0FDTixDQUFDO0lBQ0YsTUFBTSxJQUFJLEdBQUcsSUFBQSwyQ0FBMkIsRUFBQyxHQUFHLEVBQUUsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3JFLElBQUEsNEJBQW9CLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXBELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUVWLE1BQU0sYUFBYSxHQUFHLElBQUksT0FBTyxDQUFTLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDcEQsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFO1lBQ2pCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdkMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLE1BQU0sYUFBYSxDQUFDO0FBQzdCLENBQUMsQ0FBQyJ9