pix-utils
Version:
Set of tools to parse, generate and validate payments of Brazil Instant Payment System (Pix)
42 lines • 3.5 kB
JavaScript
import { fetchPayload, fetchRecPayload } from './dynamicPayload';
import { createEmv } from './emvHandler';
import { PixElementType } from './types/pixElements';
import { toBase64 } from './utils/qrcodeGenerator';
function generateThrowFn(obj) {
return () => ({
...obj,
throwIfError: () => obj,
});
}
export function generatePixObject(elements) {
if (elements.type === PixElementType.INVALID) {
throw new Error('Invalid Pix type');
}
const emvCode = createEmv(elements);
const generatedObject = {
...elements,
toBRCode: () => emvCode,
toImage: () => toBase64(emvCode),
...(elements.type === PixElementType.STATIC && elements.urlRec
? {
fetchRecPayload: () => fetchRecPayload({ url: elements.urlRec }),
}
: {}),
...(elements.type === PixElementType.DYNAMIC
? {
fetchPayload: ({ DPP, codMun }) => fetchPayload({ url: elements.url, DPP, codMun }),
fetchRecPayload: () => fetchRecPayload({ url: elements.urlRec }),
}
: {}),
...(elements.type === PixElementType.RECURRENCE
? {
fetchRecPayload: () => fetchRecPayload({ url: elements.urlRec }),
}
: {}),
};
return {
...generatedObject,
throwIfError: generateThrowFn(generatedObject),
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZW1ibGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Fzc2VtYmxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFjLGNBQWMsRUFBYSxNQUFNLHFCQUFxQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRCxTQUFTLGVBQWUsQ0FDdEIsR0FBa0I7SUFFbEIsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ1osR0FBRyxHQUFHO1FBQ04sWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUc7S0FDeEIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsUUFBdUI7SUFFdkIsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM3QyxNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUVwQyxNQUFNLGVBQWUsR0FBRztRQUN0QixHQUFHLFFBQVE7UUFDWCxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTztRQUN2QixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUNoQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxNQUFNO1lBQzVELENBQUMsQ0FBQztnQkFDRSxlQUFlLEVBQUUsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUUsR0FBRyxFQUFFLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNqRTtZQUNILENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDUCxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsT0FBTztZQUMxQyxDQUFDLENBQUM7Z0JBQ0UsWUFBWSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUNoQyxZQUFZLENBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBQ2xELGVBQWUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ2pFO1lBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNQLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxVQUFVO1lBQzdDLENBQUMsQ0FBQztnQkFDRSxlQUFlLEVBQUUsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUUsR0FBRyxFQUFFLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNqRTtZQUNILENBQUMsQ0FBQyxFQUFFLENBQUM7S0FDUixDQUFDO0lBRUYsT0FBTztRQUNMLEdBQUcsZUFBZTtRQUNsQixZQUFZLEVBQUUsZUFBZSxDQUFJLGVBQWUsQ0FBQztLQUNsRCxDQUFDO0FBQ0osQ0FBQyJ9