@ireceipt.pro/js
Version:
Create PDF files or images (JPG, PNG, WEBP) from your HTML template.
44 lines • 1.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createFile = void 0;
const axios_1 = require("axios");
const constants_1 = require("../utils/constants");
const handleError_1 = require("../utils/handleError");
const createFile = async (apiKey, type, templateType, templateId, args, size) => {
let attempt = 1;
let buffer;
let error;
while (attempt <= 5 && !buffer) {
try {
const res = await axios_1.default.post(`${constants_1.apiUrl}${type}/${templateType}/${templateId}`, {
variables: args || {},
size,
}, {
headers: {
Authorization: `Bearer ${apiKey}`,
"User-Agent": "IReceipt PRO JS Library",
},
responseType: "arraybuffer",
});
if (res.status === 201) {
buffer = res.data;
}
else {
error = new Error(res.data);
}
}
catch (err) {
error = (0, handleError_1.handleError)(err);
}
attempt += 1;
if (!buffer)
await new Promise((res) => {
setTimeout(res, attempt * 1000);
});
}
if (!buffer)
throw error;
return buffer;
};
exports.createFile = createFile;
//# sourceMappingURL=createFile.js.map