pix-utils
Version:
Set of tools to parse, generate and validate payments of Brazil Instant Payment System (Pix)
32 lines • 3.61 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.generatePixObject = generatePixObject;
const dynamicPayload_1 = require("./dynamicPayload");
const emvHandler_1 = require("./emvHandler");
const pixElements_1 = require("./types/pixElements");
const qrcodeGenerator_1 = require("./utils/qrcodeGenerator");
function generateThrowFn(obj) {
return () => (Object.assign(Object.assign({}, obj), { throwIfError: () => obj }));
}
function generatePixObject(elements) {
if (elements.type === pixElements_1.PixElementType.INVALID) {
throw new Error('Invalid Pix type');
}
const emvCode = (0, emvHandler_1.createEmv)(elements);
const generatedObject = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, elements), { toBRCode: () => emvCode, toImage: () => (0, qrcodeGenerator_1.toBase64)(emvCode) }), (elements.type === pixElements_1.PixElementType.STATIC && elements.urlRec
? {
fetchRecPayload: () => (0, dynamicPayload_1.fetchRecPayload)({ url: elements.urlRec }),
}
: {})), (elements.type === pixElements_1.PixElementType.DYNAMIC
? {
fetchPayload: ({ DPP, codMun }) => (0, dynamicPayload_1.fetchPayload)({ url: elements.url, DPP, codMun }),
fetchRecPayload: () => (0, dynamicPayload_1.fetchRecPayload)({ url: elements.urlRec }),
}
: {})), (elements.type === pixElements_1.PixElementType.RECURRENCE
? {
fetchRecPayload: () => (0, dynamicPayload_1.fetchRecPayload)({ url: elements.urlRec }),
}
: {}));
return Object.assign(Object.assign({}, generatedObject), { throwIfError: generateThrowFn(generatedObject) });
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZW1ibGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Fzc2VtYmxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWNBLDhDQW9DQztBQWxERCxxREFBaUU7QUFDakUsNkNBQXlDO0FBQ3pDLHFEQUE0RTtBQUM1RSw2REFBbUQ7QUFFbkQsU0FBUyxlQUFlLENBQ3RCLEdBQWtCO0lBRWxCLE9BQU8sR0FBRyxFQUFFLENBQUMsaUNBQ1IsR0FBRyxLQUNOLFlBQVksRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLElBQ3ZCLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBZ0IsaUJBQWlCLENBQy9CLFFBQXVCO0lBRXZCLElBQUksUUFBUSxDQUFDLElBQUksS0FBSyw0QkFBYyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzdDLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsSUFBQSxzQkFBUyxFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXBDLE1BQU0sZUFBZSw2RUFDaEIsUUFBUSxLQUNYLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQ3ZCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFBLDBCQUFRLEVBQUMsT0FBTyxDQUFDLEtBQzdCLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyw0QkFBYyxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsTUFBTTtRQUM1RCxDQUFDLENBQUM7WUFDRSxlQUFlLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBQSxnQ0FBZSxFQUFDLEVBQUUsR0FBRyxFQUFFLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNqRTtRQUNILENBQUMsQ0FBQyxFQUFFLENBQUMsR0FDSixDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssNEJBQWMsQ0FBQyxPQUFPO1FBQzFDLENBQUMsQ0FBQztZQUNFLFlBQVksRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FDaEMsSUFBQSw2QkFBWSxFQUFDLEVBQUUsR0FBRyxFQUFFLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ2xELGVBQWUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFBLGdDQUFlLEVBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ2pFO1FBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUNKLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyw0QkFBYyxDQUFDLFVBQVU7UUFDN0MsQ0FBQyxDQUFDO1lBQ0UsZUFBZSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUEsZ0NBQWUsRUFBQyxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDakU7UUFDSCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQ1IsQ0FBQztJQUVGLHVDQUNLLGVBQWUsS0FDbEIsWUFBWSxFQUFFLGVBQWUsQ0FBSSxlQUFlLENBQUMsSUFDakQ7QUFDSixDQUFDIn0=