UNPKG

@pix.js/qrcode

Version:

A set of utilities for working with Pix QRCode

131 lines (126 loc) 5.11 kB
var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default")); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/index.ts var index_exports = {}; __export(index_exports, { DynamicStatus: () => DynamicStatus, createDynamic: () => createDynamic, createStatic: () => createStatic }); module.exports = __toCommonJS(index_exports); // src/dynamic.ts var import_core = require("@pix.js/core"); var import_qrcode = require("qrcode"); var createDynamic = (params) => { const payloadWithDefaultValues = { merchantAccountInfo: { gui: params.merchantAccountInfo.gui ?? "br.gov.bcb.pix", url: params.merchantAccountInfo.url, merchantAdditionalInfo: params.merchantAccountInfo.merchantAdditionalInfo, fss: params.merchantAccountInfo.fss }, pointOfInitiationMethod: params.pointOfInitiationMethod ?? import_core.PointOfInitiationMethod.OnTimeOnly, merchantCategoryCode: params.merchantCategoryCode ?? "0000", transactionCurrency: params.transactionCurrency ?? "986", countryCode: params.countryCode ?? "BR", merchantName: params.merchantName ?? "", merchantCity: params.merchantCity ?? "", additionalData: { txId: params.additionalData?.txId ?? "***" }, value: params.value, postalCode: params.postalCode, unreservedTemplate: { gui: params.unreservedTemplate?.gui, url: params.unreservedTemplate?.url } }; const parsed = import_core.dynamicPixSchema.parse(payloadWithDefaultValues); const brcode = (0, import_core.toDynamicPix)(parsed); return { brcode, toBase64: () => (0, import_qrcode.toDataURL)(brcode), toDataUrl: () => (0, import_qrcode.toDataURL)(brcode), type: import_core.PixQrCodeType.Dynamic, getPayload: async (getPayloadParams) => { const url = new URL(`https://${params.merchantAccountInfo.url}`); if (getPayloadParams?.dpp) url.searchParams.append("dpp", getPayloadParams.dpp); if (getPayloadParams?.codMun) url.searchParams.append("codMun", getPayloadParams.codMun); const res = await fetch(url.toString()); const jwt = await res.text(); const parts = jwt.split(".").map((b64) => Buffer.from(b64, "base64").toString("utf-8")); const header = JSON.parse(parts[0]); const payload = JSON.parse(parts[1]); return { payload, header }; } }; }; // src/static.ts var import_core2 = require("@pix.js/core"); var import_qrcode2 = require("qrcode"); var createStatic = (params) => { const payloadWithDefaultValues = { merchantAccountInfo: { gui: params.merchantAccountInfo.gui ?? "br.gov.bcb.pix", key: params.merchantAccountInfo.key, merchantAdditionalInfo: params.merchantAccountInfo.merchantAdditionalInfo, fss: params.merchantAccountInfo.fss }, merchantCategoryCode: params.merchantCategoryCode ?? "0000", transactionCurrency: params.transactionCurrency ?? "986", countryCode: params.countryCode ?? "BR", merchantName: params.merchantName ?? "", merchantCity: params.merchantCity ?? "", additionalData: { txId: params.additionalData?.txId ?? "***" }, value: params.value, postalCode: params.postalCode ?? "", unreservedTemplate: { gui: params.unreservedTemplate?.gui, url: params.unreservedTemplate?.url } }; const parsed = import_core2.staticPixSchema.parse(payloadWithDefaultValues); const brcode = (0, import_core2.toStaticPix)(parsed); return { brcode, toBase64: (0, import_qrcode2.toDataURL)(brcode), type: import_core2.PixQrCodeType.Static, keyType: (0, import_core2.getPixKeyType)(params.merchantAccountInfo.key) }; }; // src/index.ts __reExport(index_exports, require("@pix.js/core"), module.exports); // src/types.ts var DynamicStatus = /* @__PURE__ */ ((DynamicStatus2) => { DynamicStatus2["Ativa"] = "ATIVA"; DynamicStatus2["Concluida"] = "CONCLUIDA"; DynamicStatus2["RemovidaPeloUsuarioRecebedor"] = "REMOVIDA_PELO_USUARIO_RECEBEDOR"; DynamicStatus2["RemovidaPeloPsp"] = "REMOVIDA_PELO_PSP"; return DynamicStatus2; })(DynamicStatus || {}); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { DynamicStatus, createDynamic, createStatic, ...require("@pix.js/core") }); //# sourceMappingURL=index.cjs.map