UNPKG

pix-utils

Version:

Set of tools to parse, generate and validate payments of Brazil Instant Payment System (Pix)

42 lines 3.5 kB
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