pix-utils
Version:
Set of tools to parse, generate and validate payments of Brazil Instant Payment System (Pix)
47 lines • 3.68 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isPix = isPix;
exports.hasError = hasError;
exports.hasElementError = hasElementError;
exports.isStaticPix = isStaticPix;
exports.isDynamicPix = isDynamicPix;
exports.isRecurrencePix = isRecurrencePix;
const pixElements_1 = require("./types/pixElements");
const pixEmvSchema_1 = require("./types/pixEmvSchema");
function isPix(emvElements, test) {
if (!emvElements.getTag(pixEmvSchema_1.EmvSchema.TAG_MAI))
return false;
const isDynamic = emvElements.getSubTag(pixEmvSchema_1.EmvMaiSchema.TAG_MAI_URL, pixEmvSchema_1.EmvSchema.TAG_MAI);
const isStatic = emvElements.getSubTag(pixEmvSchema_1.EmvMaiSchema.TAG_MAI_PIXKEY, pixEmvSchema_1.EmvSchema.TAG_MAI);
const isRecurrence = emvElements.getSubTag(pixEmvSchema_1.EmvMaiSchema.TAG_MAI_URL, pixEmvSchema_1.EmvSchema.TAG_UNRESERVED_TEMPLATE);
switch (test) {
case 'pix':
return true;
case 'valid':
return !!isStatic || !!isDynamic || !!isRecurrence;
case 'static':
return !!isStatic;
case 'dynamic':
return !!isDynamic;
case 'recurrence':
return !!isRecurrence;
default:
return false;
}
}
function hasError(pixElement) {
return !!pixElement.error;
}
function hasElementError(pixElement) {
return !!pixElement.error;
}
function isStaticPix(pixElement) {
return pixElement && pixElement.type === pixElements_1.PixElementType.STATIC;
}
function isDynamicPix(pixElement) {
return pixElement && pixElement.type === pixElements_1.PixElementType.DYNAMIC;
}
function isRecurrencePix(pixElement) {
return pixElement && pixElement.type === pixElements_1.PixElementType.RECURRENCE;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFXQSxzQkFrQ0M7QUFFRCw0QkFJQztBQUVELDBDQUlDO0FBRUQsa0NBSUM7QUFFRCxvQ0FJQztBQUVELDBDQUlDO0FBM0VELHFEQU82QjtBQUM3Qix1REFBMEU7QUFHMUUsU0FBZ0IsS0FBSyxDQUNuQixXQUFzQixFQUN0QixJQUEyRDtJQUUzRCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyx3QkFBUyxDQUFDLE9BQU8sQ0FBQztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBRXpELE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQ3JDLDJCQUFZLENBQUMsV0FBVyxFQUN4Qix3QkFBUyxDQUFDLE9BQU8sQ0FDbEIsQ0FBQztJQUNGLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQ3BDLDJCQUFZLENBQUMsY0FBYyxFQUMzQix3QkFBUyxDQUFDLE9BQU8sQ0FDbEIsQ0FBQztJQUVGLE1BQU0sWUFBWSxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQ3hDLDJCQUFZLENBQUMsV0FBVyxFQUN4Qix3QkFBUyxDQUFDLHVCQUF1QixDQUNsQyxDQUFDO0lBRUYsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNiLEtBQUssS0FBSztZQUNSLE9BQU8sSUFBSSxDQUFDO1FBQ2QsS0FBSyxPQUFPO1lBQ1YsT0FBTyxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUNyRCxLQUFLLFFBQVE7WUFDWCxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDcEIsS0FBSyxTQUFTO1lBQ1osT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3JCLEtBQUssWUFBWTtZQUNmLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUN4QjtZQUNFLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBZ0IsUUFBUSxDQUN0QixVQUFpQztJQUVqQyxPQUFPLENBQUMsQ0FBRSxVQUF1QixDQUFDLEtBQUssQ0FBQztBQUMxQyxDQUFDO0FBRUQsU0FBZ0IsZUFBZSxDQUM3QixVQUFrQztJQUVsQyxPQUFPLENBQUMsQ0FBRSxVQUF1QixDQUFDLEtBQUssQ0FBQztBQUMxQyxDQUFDO0FBRUQsU0FBZ0IsV0FBVyxDQUN6QixVQUFzQjtJQUV0QixPQUFPLFVBQVUsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLDRCQUFjLENBQUMsTUFBTSxDQUFDO0FBQ2pFLENBQUM7QUFFRCxTQUFnQixZQUFZLENBQzFCLFVBQXNCO0lBRXRCLE9BQU8sVUFBVSxJQUFJLFVBQVUsQ0FBQyxJQUFJLEtBQUssNEJBQWMsQ0FBQyxPQUFPLENBQUM7QUFDbEUsQ0FBQztBQUVELFNBQWdCLGVBQWUsQ0FDN0IsVUFBc0I7SUFFdEIsT0FBTyxVQUFVLElBQUksVUFBVSxDQUFDLElBQUksS0FBSyw0QkFBYyxDQUFDLFVBQVUsQ0FBQztBQUNyRSxDQUFDIn0=