/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/bakong-khqr@1.0.20/src/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
const{khqrData:khqrData,errorCode:errorCode,emv:emv}=require("./constant"),crc16=require("./helper/crc16"),CRCValidation=require("./CRCValidation"),{isValidLink:isValidLink,callDeepLinkAPI:callDeepLinkAPI,SourceInfo:SourceInfo}=require("./helper/deeplink"),{KHQRDeepLinkData:KHQRDeepLinkData,KHQRResponse:KHQRResponse}=require("./model"),{IndividualInfo:IndividualInfo,MerchantInfo:MerchantInfo}=require("./model/information"),generateKHQR=require("./controller/generateKHQR"),decodeKHQRString=require("./controller/decodeKHQR"),decodeNonKHQR=require("./controller/decodeNonKHQR"),md5=require("md5"),decodeKHQRValidation=require("./controller/decodeValidation"),isAccountIDExist=require("./helper/checkAccountID");class BakongKHQR{generateIndividual(e){const n=generateKHQR(e,khqrData.merchantType.individual);if(null!=n.status)return n;const r={qr:n,md5:md5(n)};return KHQRResponse(r,null)}generateMerchant(e){const n=generateKHQR(e,khqrData.merchantType.merchant);if(null!=n.status)return n;const r={qr:n,md5:md5(n)};return KHQRResponse(r,null)}static decode(e){const n=decodeKHQRString(e);return KHQRResponse(n,null)}static decodeNonKhqr(e){return KHQRResponse(decodeNonKHQR(e),null)}static verify(e){if(!checkCRCRegExp(e))return new CRCValidation(!1);const n=e.slice(-4),r=e.slice(0,-4),t=crc16(r)==n.toUpperCase(),o=new CRCValidation(t);try{if(!o.isValid||e.length<emv.INVALID_LENGTH.KHQR)throw KHQRResponse(null,errorCode.KHQR_INVALID);return decodeKHQRValidation(e),new CRCValidation(!0)}catch(e){return new CRCValidation(!1)}}static async generateDeepLink(e,n,r){if(!isValidLink(e))return KHQRResponse(null,errorCode.INVALID_DEEP_LINK_URL);if(!this.verify(n).isValid)return KHQRResponse(null,errorCode.KHQR_INVALID);if(r&&(!r.appIconUrl||!r.appName||!r.appDeepLinkCallback))return KHQRResponse(null,errorCode.INVALID_DEEP_LINK_SOURCE_INFO);try{const r=await callDeepLinkAPI(e,{qr:n}),t=new KHQRDeepLinkData(r.data.shortLink);return KHQRResponse(t.getData(),null)}catch(e){return e}}static async checkBakongAccount(e,n){try{const r=await isAccountIDExist(e,n);return KHQRResponse(r,null)}catch(e){return e}}}function checkCRCRegExp(e){return/6304[A-Fa-f0-9]{4}$/.test(e)}module.exports={BakongKHQR:BakongKHQR,khqrData:khqrData,SourceInfo:SourceInfo,IndividualInfo:IndividualInfo,MerchantInfo:MerchantInfo};
//# sourceMappingURL=/sm/3d3ca7acaf816a497d075355439379f228e3a4100c8b22e5b57c3b9138045b73.map