@cuenca-mx/cuenca-js
Advanced tools
Comparing version 0.0.6-dev.1 to 0.0.6
@@ -1,1 +0,1 @@ | ||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("axios"),require("buffer"),require("module")):"function"==typeof define&&define.amd?define(["exports","axios","buffer","module"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).cuenca={},t.axios,t.Buffer,t.module$1)}(this,(function(t,e,s,i){"use strict";function r(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var a=r(e),n=r(s);class c extends Error{constructor(t){super(t),Object.setPrototypeOf(this,c.prototype)}}class o extends c{constructor(t,e){super(`Cuenca Response Error: ${e}`),this.name="CuencaResponseError",this.data=t,this.status=e,Object.setPrototypeOf(this,o.prototype)}}class d extends c{constructor(){super("No results were found"),this.name="NoResultFound",Object.setPrototypeOf(this,d.prototype)}}class u extends c{constructor(){super("One result was expected but multiple were found"),this.name="MultipleResultsFound",Object.setPrototypeOf(this,u.prototype)}}class h extends c{constructor(){super("An invalid JWT token was obtained during authentication"),this.name="MalformedJwtToken",Object.setPrototypeOf(this,h.prototype)}}class l extends c{constructor(){super("Invalid password"),this.name="InvalidPassword",Object.setPrototypeOf(this,l.prototype)}}class p extends Error{constructor(t){super(t),Object.setPrototypeOf(this,p.prototype)}}const m="undefined"!=typeof window&&void 0!==window.document,f="undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process),w=m,_=f;class b{constructor(t,e){this.expiresAt=t,this.token=e}get isExpired(){const t=new Date;return(this.expiresAt.valueOf()-t.valueOf())/6e4<=5}static getExpirationDate=t=>{let e;try{const[,s]=t.split(".");e=JSON.parse(n.default.Buffer.from(`${s}==`,"base64").toString())}catch(t){throw new h}const{exp:s}=e;return new Date(new Date(1e3*s).toUTCString())};static create=async t=>{const e=t;e.jwtToken=null;const s=e.deleteRequestHeader("X-Cuenca-Token"),{token:i}=await t.post("token",{});s.eject();const r=b.getExpirationDate(i);return new b(r,i)}}class y{static Succeeded=new y("succeeded");static NotValidated=new y("not_validated");static Failed=new y("failed");static OnWaitList=new y("on_wait_list");constructor(t){this.value=t}}class v{static Blocked=new v("blocked");static Comunication=new v("comunication");static ContactlesAmountLimit=new v("contactles_amount_limit");static FraudDetection=new v("fraud_detection");static FraudDetectionUncertain=new v("fraud_detection_uncertain");static InsufficientFounds=new v("insufficient_founds");static InvalidPin=new v("invalid_pin");static Notification=new v("notification");static NotificationDeactivatedCard=new v("notification_deactivated_card");constructor(t){this.value=t}}class g{static Credit=new g("credit");static Debit=new g("debit");constructor(t){this.value=t}}class O{static Accendo=new O("accendo");static Cuenca=new O("cuenca");constructor(t){this.value=t}}class A{static Buy=new A("buy");static Sell=new A("sell");constructor(t){this.value=t}}class j{static Active=new j("active");static Blocked=new j("blocked");static Created=new j("created");static Deactivated=new j("deactivated");static Printing=new j("printing");constructor(t){this.value=t}}class x{static Auth=new x("auth");static Capture=new x("capture");static Chargeback=new x("chargeback");static Expiration=new x("expiration");static Refund=new x("refund");static Void=new x("void");constructor(t){this.value=t}}class I{static Mxn=new I("mxn");static Usdc=new I("usdc");static Sol=new I("sol");constructor(t){this.value=t}}class k{static Physical=new k("physical");static Virtual=new k("virtual");constructor(t){this.value=t}}class T{static CardRequest=new T("card_request");static CashDeposit=new T("cash_deposit");static OutgoingSpei=new T("outgoing_spei");constructor(t){this.value=t}}class C{static Cash=new C("cash");static Internal=new C("internal");static Spei=new C("spei");constructor(t){this.value=t}}class U{static Credit=new U("credit");static Debit=new U("debit");constructor(t){this.value=t}}class N{static Pdf=new N("application/pdf");static Xml=new N("application/xml");static Json=new N("application/json");static Any=new N("*/*");constructor(t){this.value=t}}class S{static Ine=new S("ine");static Passport=new S("passport");static Residency=new S("residency");static MatriculaConsular=new S("matricula_consular");static ProofOfLiveness=new S("proof_of_liveness");static ProofOfAddress=new S("proof_of_address");constructor(t){this.value=t}}class q{static Sandbox=new q("sandbox-api");static Stage=new q("stage-api");static Api=new q("api");constructor(t){this.value=t}}class P{static Cable=new P("cable");static CreditCard=new P("credit_card");static Electricity=new P("electricity");static Gas=new P("gas");static Internet=new P("internet");static LandlineTelephone=new P("landline_telephone");static MobileTelephonePostpaid=new P("mobile_telephone_postpaid");static MobileTelephonePrepaid=new P("mobile_telephone_prepaid");static SateliteTelevision=new P("satelite_television");static Water=new P("water");constructor(t){this.value=t}}class B{static General=new B("general");static Home=new B("home");static Vehicle=new B("vehicle");static Travel=new B("travel");static Clothing=new B("clothing");static Other=new B("other");static Medical=new B("medical");static Accident=new B("accident");static Education=new B("education");constructor(t){this.value=t}}class ${static NotSet=new $("not_set");static Terminal=new $("terminal");static Manual=new $("manual");static Unknown=new $("unknown");static Contactless=new $("contactless");static FallBack=new $("fall_back");static MagneticStripe=new $("magnetic_stripe");static RecurringCharge=new $("recurring_charge");constructor(t){this.value=t}}class D{static Polygon=new D("polygon");static Solana=new D("solana");constructor(t){this.value=t}}class L{static Created=new L("created");static Failed=new L("failed");static InReview=new L("in_review");static Submitted=new L("submitted");static Succeeded=new L("succeeded");constructor(t){this.value=t}}class E{static Internal=new E("internal");static Spei=new E("spei");constructor(t){this.value=t}}class K{static Active=new K("active");static Deactivated=new K("deactivated");static Fraud=new K("fraud");static PldBlocked=new K("pld_blocked");constructor(t){this.value=t}}class M{static Created=new M("created");static NotVerified=new M("not_verified");static Rejected=new M("rejected");static ReviewNeeded=new M("review_needed");static Submitted=new M("submitted");static Succeeded=new M("succeeded");static UploadAgain=new M("upload_again");constructor(t){this.value=t}}class R{static Phone=new R("phone");static Email=new R("email");constructor(t){this.value=t}}class V{static Deposit=new V("deposit");static Withdrawal=new V("withdrawal");constructor(t){this.value=t}}const F=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},H=(t,e)=>Object.values(t).find((t=>t.value===e));class Y{constructor({createdAfter:t,createdBefore:e,limit:s,pageSize:i,relatedTransaction:r,userId:a,count:n=!1}){this.createdAfter=t,this.createdBefore=e,this._lmt=s,this.relatedTransaction=r,this.userId=a,this.count=n,this.pageSize=i}get limit(){return this._limit}set _lmt(t){let e=null;t&&t>=0&&(e=t),this._limit=e}toObject(){return{created_after:this.createdAfter,created_before:this.createdBefore,limit:this.limit,related_transaction:this.relatedTransaction,user_id:this.userId,page_size:this.pageSize&&this.pageSize.size}}toParams(){const t={...this.toObject()};return this.count&&(t.count=1),Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}toQueryString(){return new URLSearchParams(this.toParams()).toString()}}class W extends Y{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class z extends Y{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class X extends Y{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class Q extends X{constructor({trackingKey:t,network:e,...s}){super(s),this.trackingKey=t,this.network=e}toObject(){return Object.assign(super.toObject(),{tracking_key:this.trackingKey,network:this.network})}}class J extends X{constructor({accountNumber:t,idempotencyKey:e,trackingKey:s,network:i,...r}){super(r),this.accountNumber=t,this.idempotencyKey=e,this.trackingKey=s,this.network=i}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber,idempotency_key:this.idempotencyKey,tracking_key:this.trackingKey,network:this.network})}}class G extends Y{constructor({fundingInstrumentUri:t,count:e=!1,walletId:s="default",...i}){super(i),this.fundingInstrumentUri=t,this.count=e,this.walletId=s}toObject(){return Object.assign(super.toObject(),{wallet_id:this.walletId,funding_instrument_uri:this.fundingInstrumentUri,count:this.count})}}class Z extends Y{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class tt extends Y{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class et extends Y{constructor({cardUri:t,count:e=!1,...s}){super(s),this.cardUri=t,this.count=e}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri,count:this.count})}}class st extends Y{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class it extends Y{constructor({emailAddress:t,phoneNumber:e,status:s,...i}){super(i),this.emailAddress=t,this.phoneNumber=e,this.status=s}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress,phone_number:this.phoneNumber,status:this.status})}}class rt extends Y{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class at extends Y{constructor({month:t,year:e,...s}){super(s),this.d={month:t,year:e}}get month(){return this._date.month}get year(){return this._date.year}set d({month:t,year:e}){const s=F(Date.now());s.setUTCDate(1);if(F(`${e}-${t}-01`).getTime()>=s.getTime())throw new p(`${e}-${t} is not a valid year-month pair`);this._date={month:t,year:e}}toObject(){return Object.assign(super.toObject(),{month:this.month,year:this.year})}}class nt extends Y{constructor({emailAddress:t,...e}){super(e),this.emailAddress=t}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress})}}class ct extends Y{constructor({accountId:t,status:e,type:s,...i}){super(i),this.accountId=t,this.status=e,this.type=s}toObject(){return Object.assign(super.toObject(),{account:this.accountId,status:this.status,type:this.type})}}class ot{constructor({ip:t,location:e,type:s,version:i}){this.ip=t,this.location=e,this.type=s,this.version=i}static fromObject=({ip:t,location:e,type:s,version:i})=>new ot({ip:t,location:e,type:s,version:i})}class dt{constructor({code:t,error:e,identifier:s,message:i}){this.code=t,this.error=e,this.identifier=s,this.message=i}static fromObject=({code:t,error:e,identifier:s,message:i})=>new dt({code:t,error:e,identifier:s,message:i})}class ut{constructor({data:t,errors:e,isMx:s,status:i,type:r,uriBack:a,uriFront:n}){this.data=t,this.isMx=s,this.status=H(M,i),this.type=H(S,r),this.uriBack=a,this.uriFront=n,e&&e.length>0&&(this.errors=e.map((t=>dt.fromObject(t))))}static fromObject=({data:t,errors:e,status:s,type:i,...r})=>new ut({data:t,errors:e,status:s,type:i,isMx:r.is_mx,uriBack:r.uri_back,uriFront:r.uri_front})}class ht{constructor({city:t,country:e,createdAt:s,extNumber:i,fullName:r,intNumber:a,postalCode:n,state:c,street:o}){this.city=t,this.country=e,this.createdAt=F(s),this.extNumber=i,this.fullName=r,this.intNumber=a,this.postalCode=n,this.state=c,this.street=o}static fromObject=({city:t,country:e,state:s,street:i,...r})=>new ht({city:t,country:e,state:s,street:i,createdAt:r.created_at,extNumber:r.ext_number,fullName:r.full_name,intNumber:r.int_number,postalCode:r.postal_code})}var lt="0.0.6-dev.1";class pt{constructor({apiKey:t,apiSecret:e,language:s="en",phase:i=q.Sandbox}={}){this.phase=i,this.basicAuth={apiKey:t,apiSecret:e},this.jwtToken=null,this._session=a.default.create({headers:{"Accept-Language":s},timeout:45e3})}get session(){return this._session}get origin(){return`https://${this.phase.value}.arteria.xyz`}get authHeader(){const{apiKey:t,apiSecret:e}=this.basicAuth;return t&&e?`Basic ${n.default.Buffer.from(`${t}:${e}`,"utf-8").toString("base64")}`:""}addHeadersToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common:i}}=s;return Object.keys(t).forEach((e=>i[e]=t[e])),s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}deleteRequestHeader(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common:i}}=s;return delete i[t],s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}addConfigToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e;return Object.keys(t).forEach((e=>s[e]=t[e])),s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}async configure({apiKey:t,apiSecret:e,loginToken:s,phase:i,sessionId:r,useJwt:a=!1}){this.basicAuth={apiKey:t||this.basicAuth.apiKey,apiSecret:e||this.basicAuth.apiSecret},i&&(this.phase=i),a&&(this.jwtToken=await b.create(this)),s&&this.addHeadersToRequest({"X-Cuenca-LoginToken":s}),r&&this.addHeadersToRequest({"X-Cuenca-SessionId":r})}async get({endpoint:t,format:e,params:s}){return this.request({endpoint:t,format:e,params:s})}async post({endpoint:t,data:e,multipart:s}){return this.request({method:"POST",endpoint:t,data:e,multipart:s})}async patch({endpoint:t,data:e}){return this.request({method:"PATCH",endpoint:t,data:e})}async delete({endpoint:t,data:e}){return this.request({method:"DELETE",endpoint:t,data:e})}async request({endpoint:t,data:e=null,format:s=N.Json,method:i="GET",multipart:r=!1,params:a=null}){let n;n=r?e.getHeaders():{"Content-Type":"application/json",Accept:`application/${s.value}`},this.authHeader&&(n.Authorization=this.authHeader),_?n["User-Agent"]=`cuenca-js/${lt}`:w&&(n["X-User-Agent"]=`cuenca-js/${lt}`),this.jwtToken&&(this.jwtToken.isExpired&&(this.jwtToken=await b.create(this)),n["X-Cuenca-Token"]=this.jwtToken.token);const d=this.addHeadersToRequest(n),u=e;u&&!r&&Object.keys(u).forEach((t=>{u[t]instanceof Date&&(u[t]=u[t].toISOString())}));const h=this.addConfigToRequest({method:i,params:a,data:u,url:t});let l;try{l=await this._session.request({baseURL:this.origin})}catch(t){throw t.response?new o(t.response.data,t.response.status):t.request?new c(`No response received: ${t.errno}: ${t.code}`):new c(t.message)}finally{d.eject(),h.eject()}return l.data}}class mt{constructor({accountNumber:t,createdAt:e,id:s,institutionName:i,name:r,userId:a}){this.accountNumber=t,this.createdAt=F(e),this.id=s,this.institutionName=i,this.name=r,this.userId=a}static fromObject=({id:t,name:e,...s})=>new mt({id:t,name:e,accountNumber:s.account_number,createdAt:s.created_at,institutionName:s.institution_name,userId:s.user_id})}class ft{constructor({createdAt:t,deactivatedAt:e,id:s,secret:i,userId:r,updatedAt:a}){this.createdAt=F(t),this.deactivatedAt=F(e),this.id=s,this.secret=i,this.userId=r,this.updatedAt=F(a)}static fromObject=({id:t,secret:e,...s})=>new ft({id:t,secret:e,createdAt:s.created_at,deactivatedAt:s.deactivated_at,userId:s.user_id,updatedAt:s.updated_at});get isActive(){const t=F(Date.now());return!this.deactivatedAt||this.deactivatedAt.getTime()>t.getTime()}}class wt{constructor({arpc:t,createdAt:e,cardUri:s,isValidArqc:i}){this.arpc=t,this.createdAt=F(e),this.cardUri=s,this.isValidArqc=i}static fromObject=({arpc:t,...e})=>new wt({arpc:t,createdAt:e.created_at,cardUri:e.card_uri,isValidArqc:e.is_valid_arqc})}class _t{constructor({amount:t,createdAt:e,descriptor:s,entryType:i,fundingInstrumentUri:r,id:a,name:n,relatedTransactionUri:c,rollingBalance:o}){this.amount=t,this.createdAt=F(e),this.descriptor=s,this.entryType=H(U,i),this.fundingInstrumentUri=r,this.id=a,this.name=n,this.relatedTransactionUri=c,this.rollingBalance=o}static fromObject=({amount:t,descriptor:e,id:s,name:i,type:r,...a})=>new _t({amount:t,descriptor:e,name:i,id:s,createdAt:a.created_at,entryType:r,fundingInstrumentUri:a.funding_instrument_uri,relatedTransactionUri:a.related_transaction_uri,rollingBalance:a.rolling_balance})}class bt{constructor({amount:t,createdAt:e,descriptor:s,status:i,userId:r}){this.amount=t,this.createdAt=F(e),this.descriptor=s,this.status=H(L,i),this.userId=r}}class yt extends bt{constructor({amount:t,accountNumber:e,createdAt:s,descriptor:i,id:r,providerUri:a,status:n,userId:c}){super({amount:t,createdAt:s,descriptor:i,status:n,userId:c}),this.accountNumber=e,this.id=r,this.providerUri=a}static fromObject=({amount:t,descriptor:e,id:s,status:i,...r})=>new yt({amount:t,descriptor:e,id:s,status:i,accountNumber:r.account_number,createdAt:r.created_at,providerUri:r.provider_uri,userId:r.user_id})}class vt{constructor({id:t,names:e,firstSurname:s,secondSurname:i,dateOfBirth:r,countryOfBirth:a,rfc:n,curp:c,userId:o,gender:d,phoneNumber:u,emailAddress:h,clientClabe:l,govtId:p,proofOfAddress:m,proofOfLife:f,status:w}){this.id=t,this.emailAddress=h,this.clientClabe=l,this.govtId=p,this.names=e,this.firstSurname=s,this.secondSurname=i,this.dateOfBirth=r,this.countryOfBirth=a,this.rfc=n,this.curp=c,this.userId=o,this.gender=d,this.phoneNumber=u,this.addressProofs=m,this.lifeProofs=f,this.status=H(y,w)}static fromObject=({status:t,...e})=>new vt({id:e.id,clientClabe:e.client_clabe,names:e.names,firstSurname:e.first_surname,secondSurname:e.second_surname,dateOfBirth:e.date_of_birth,countryOfBirth:e.country_of_birth,rfc:e.rfc,curp:e.curp,userId:e.user_id,gender:e.gender,govtId:e.govt_id,emailAddress:e.email_address,phoneNumber:e.phone_number,proofOfAddress:e.proof_of_address,proofOfLife:e.proof_of_life,status:t})}class gt{constructor({id:t,createdAt:e,platformId:s,type:i,status:r,accountUri:a,quoteUri:n,currency:c,network:o,sourceWallet:d,destinationWallet:u,bankAccountUri:h,cuencaId:l,cuentaOrdenante:p,cuentaBeneficiario:m,nombreOrdenante:f,claveRastreo:w,rfcCurpOrdenante:_,concepto:b,referenciaNumerica:y,signature:v,trackingLink:g,fromCurrency:O,toCurrency:j,fromAmount:x,toAmount:k}){this.id=t,this.createdAt=F(e),this.platformId=s,this.type=H(A,i),this.status=H(L,r),this.accountUri=a,this.quoteUri=n,this.currency=H(I,c),this.network=H(D,o),this.sourceWallet=d,this.destinationWallet=u,this.bankAccountUri=h,this.cuencaId=l,this.cuentaOrdenante=p,this.cuentaBeneficiario=m,this.nombreOrdenante=f,this.claveRastreo=w,this.rfcCurpOrdenante=_,this.concepto=b,this.referenciaNumerica=y,this.signature=v,this.trackingLink=g,this.fromCurrency=H(I,O),this.toCurrency=H(I,j),this.fromAmount=x,this.toAmount=k}static fromObject=({type:t,status:e,currency:s,network:i,concepto:r,signature:a,...n})=>new gt({id:n.id,createdAt:n.created_at,platformId:n.platform_id,accountUri:n.account_uri,quoteUri:n.quote_uri,sourceWallet:n.source_wallet,destinationWallet:n.destination_wallet,bankAccountUri:n.bank_account_uri,cuencaId:n.cuenca_id,cuentaOrdenante:n.cuenta_ordenante,cuentaBeneficiario:n.cuenta_beneficiario,nombreOrdenante:n.nombre_ordenante,claveRastreo:n.clave_rastreo,rfcCurpOrdenante:n.rfc_curp_ordenante,referenciaNumerica:n.referencia_numerica,trackingLink:n.tracking_link,fromCurrency:n.from_currency,toCurrency:n.to_currency,fromAmount:n.from_amount,toAmount:n.to_amount,type:t,status:e,currency:s,network:i,concepto:r,signature:a})}class Ot{constructor({createdAt:t,cvv2:e,expMonth:s,expYear:i,fundingType:r,id:a,issuer:n,number:c,pin:o,status:d,type:u,updatedAt:h,userId:l}){this.createdAt=F(t),this.cvv2=e,this.expMonth=s,this.expYear=i,this.fundingType=H(g,r),this.id=a,this.issuer=H(O,n),this.number=c,this.pin=o,this.status=H(j,d),this.type=H(k,u),this.updatedAt=F(h),this.userId=l}static fromObject=({cvv2:t,id:e,issuer:s,number:i,pin:r,status:a,type:n,...c})=>new Ot({cvv2:t,id:e,issuer:s,number:i,pin:r,status:a,type:n,createdAt:c.created_at,expMonth:c.exp_month,expYear:c.exp_year,fundingType:c.funding_type,updatedAt:c.updated_at,userId:c.user_id})}class At{constructor({cardUri:t,createdAt:e,id:s,ipAddress:i,success:r,userId:a}){this.cardUri=t,this.createdAt=F(e),this.id=s,this.ipAddress=i,this.success=r,this.userId=a}static fromObject=({id:t,success:e,...s})=>new At({id:t,success:e,cardUri:s.card_uri,createdAt:s.created_at,ipAddress:s.ip_address,userId:s.user_id})}class jt extends bt{constructor({amount:t,cardErrorType:e,cardLastFour:s,cardType:i,cardUri:r,createdAt:a,descriptor:n,metadata:c,network:o,relatedCardTransactionsUris:d,status:u,type:h,userId:l}){super({amount:t,createdAt:a,descriptor:n,status:u,userId:l}),this.cardErrorType=H(v,e),this.cardLastFour=s,this.cardType=H(k,i),this.cardUri=r,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=H(x,h)}static fromObject=({amount:t,descriptor:e,metadata:s,network:i,status:r,type:a,...n})=>new jt({amount:t,descriptor:e,metadata:s,network:i,status:r,type:a,cardErrorType:n.error_type,cardLastFour:n.card_last4,cardType:n.card_type,cardUri:n.card_uri,createdAt:n.created_at,relatedCardTransactionsUris:n.related_card_transaction,userId:n.user_id})}class xt{constructor({cardStatus:t,cardType:e,cardUri:s,createdAt:i,isExpired:r,isPinAttemptsExceeded:a,isValidCvv:n,isValidCvv2:c,isValidExpDate:o,isValidIcvv:d,isValidPinBlock:u,userId:h}){this.cardStatus=H(j,t),this.cardType=H(k,e),this.cardUri=s,this.createdAt=F(i),this.isExpired=r,this.isPinAttemptsExceeded=a,this.isValidCvv=n,this.isValidCvv2=c,this.isValidExpDate=o,this.isValidIcvv=d,this.isValidPinBlock=u,this.userId=h}static fromObject=({...t})=>new xt({cardStatus:t.card_status,cardType:t.card_type,cardUri:t.card_uri,createdAt:t.created_at,isExpired:t.is_expired,isPinAttemptsExceeded:t.is_pin_attempts_exceeded,isValidCvv:t.is_valid_cvv,isValidCvv2:t.is_valid_cvv2,isValidExpDate:t.is_valid_exp_date,isValidIcvv:t.is_valid_icvv,isValidPinBlock:t.is_valid_pin_block,userId:t.user_id});get isActive(){return this.cardStatus===j.Active}}class It extends bt{constructor({amount:t,createdAt:e,descriptor:s,relatedTransactionUri:i,status:r,type:a,userId:n}){super({amount:t,createdAt:e,descriptor:s,status:r,userId:n}),this.relatedTransactionUri=i,this.type=H(T,a)}static fromObject=({amount:t,descriptor:e,status:s,type:i,...r})=>new It({amount:t,descriptor:e,status:s,type:i,createdAt:r.created_at,relatedTransactionUri:r.related_transaction_uri,userId:r.user_id})}class kt extends bt{constructor({amount:t,createdAt:e,descriptor:s,id:i,network:r,status:a,sourceUri:n,trackingKey:c,userId:o}){super({amount:t,createdAt:e,descriptor:s,status:a,userId:o}),this.id=i,this.network=H(C,r),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new kt({amount:t,descriptor:e,id:s,network:i,status:r,createdAt:a.created_at,sourceUri:a.source_uri,trackingKey:a.tracking_key,userId:a.user_id})}class Tt{constructor({extension:t,type:e,url:s,userId:i}){this.extension=t,this.type=H(S,e),this.url=s,this.userId=i}static fromObject=({extension:t,type:e,url:s,...i})=>new Tt({extension:t,type:e,url:s,userId:i.user_id})}class Ct{constructor({platformId:t,attemps:e,verificationId:s,filesUri:i}){this.attemps=e,this.filesUri=i,this.platformId=t,this.verificationId=s}static fromObject=({attemps:t,...e})=>new Ct({attemps:t,filesUri:e.files_uri,platformId:e.platform_id,verificationId:e.verification_id})}class Ut{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new Ut({id:t})}class Nt{constructor({balance:t,createdAt:e,deactivatedAt:s,id:i,userId:r,updatedAt:a}){this.balance=t,this.createdAt=F(e),this.deactivatedAt=F(s),this.id=i,this.userId=r,this.updatedAt=F(a)}}class St extends Nt{constructor({balance:t,category:e,createdAt:s,deactivatedAt:i,goalAmount:r,goalDate:a,id:n,name:c,userId:o,updatedAt:d}){super({balance:t,createdAt:s,deactivatedAt:i,id:n,userId:o,updatedAt:d}),this.category=H(B,e),this.goalAmount=r,this.goalDate=F(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:i,...r})=>new St({balance:t,category:e,id:s,name:i,createdAt:r.created_at,deactivatedAt:r.deactivated_at,goalAmount:r.goal_amount,goalDate:r.goal_date,userId:r.user_id,updatedAt:r.updated_at})}class qt{constructor({categories:t,id:e,name:s,providerKey:i}){var r;this.categories=null==(r=t)?[]:r.map((t=>H(P,t))),this.id=e,this.name=s,this.providerKey=i}static fromObject=({categories:t,id:e,name:s,...i})=>new qt({categories:t,id:e,name:s,providerKey:i.provider_key})}class Pt{constructor({createdAt:t,id:e,month:s,year:i}){this.createdAt=F(t),this.id=e,this.month=s,this.year=i}static fromObject=({id:t,month:e,year:s,...i})=>new Pt({id:t,month:e,year:s,createdAt:i.created_at})}class Bt extends bt{constructor({accountNumber:t,amount:e,createdAt:s,descriptor:i,destinationUri:r,id:a,idempotencyKey:n,network:c,recipientName:o,status:d,trackingKey:u,updatedAt:h,userId:l}){super({amount:e,createdAt:s,descriptor:i,status:d,userId:l}),this.accountNumber=t,this.destinationUri=r,this.id=a,this.idempotencyKey=n,this.network=H(E,c),this.recipientName=o,this.trackingKey=u,this.updatedAt=F(h)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new Bt({amount:t,descriptor:e,id:s,network:i,status:r,accountNumber:a.account_number,createdAt:a.created_at,destinationUri:a.destination_uri,idempotencyKey:a.idempotency_key,recipientName:a.recipient_name,trackingKey:a.tracking_key,updatedAt:a.updated_at,userId:a.user_id})}class $t{constructor({address:t,blacklistValidationStatus:e,clabe:s,countryOfBirth:i,createdAt:r,curp:a,dateOfBirth:n,emailAddress:c,firstSurname:o,gender:d,govtId:u,id:h,level:l,names:p,nationality:m,phoneNumber:f,proofOfAddress:w,proofOfLife:_,requiredLevel:b,rfc:y,secondSurname:v,stateOfBirth:g,status:O,termsOfService:A,updatedAt:j,verificationId:x}){this.add=t,this.blacklistValidationStatus=H(M,e),this.clabe=s,this.countryOfBirth=i,this.createdAt=F(r),this.curp=a,this.dateOfBirth=n,this.emailAddress=c,this.firstSurname=o,this.gender=d,this.govstIds=u,this.id=h,this.level=l,this.names=p,this.nationality=m,this.phoneNumber=f,this.addressProofs=w,this.lifeProofs=_,this.requiredLevel=b,this.rfc=y,this.secondSurname=v,this.stateOfBirth=g,this.status=H(K,O),this.terms=A,this.updatedAt=F(j),this.verificationId=x}get address(){return this._address}set add(t){t&&(this._address=ht.fromObject(t))}get proofOfAddress(){return this._proofOfAddress}set addressProofs(t){t&&(this._proofOfAddress=ut.fromObject(t))}get proofOfLife(){return this._proofOfLife}set lifeProofs(t){t&&(this._proofOfLife=ut.fromObject(t))}get govtId(){return this._govtId}set govstIds(t){t&&(this._govtId=ut.fromObject(t))}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=ot.fromObject(t))}static fromObject=({address:t,clabe:e,curp:s,gender:i,id:r,level:a,names:n,nationality:c,rfc:o,status:d,...u})=>new $t({address:t,clabe:e,curp:s,gender:i,id:r,level:a,names:n,nationality:c,rfc:o,status:d,blacklistValidationStatus:u.blacklist_validation_status,countryOfBirth:u.country_of_birth,createdAt:u.created_at,dateOfBirth:u.date_of_birth,emailAddress:u.email_address,firstSurname:u.first_surname,govtId:u.govt_id,phoneNumber:u.phone_number,proofOfAddress:u.proof_of_address,proofOfLife:u.proof_of_life,requiredLevel:u.required_level,secondSurname:u.second_surname,stateOfBirth:u.state_of_birth,termsOfService:u.terms_of_service,updatedAt:u.updated_at,verificationId:u.verification_id})}class Dt{constructor({createdAt:t,id:e,isActive:s,updatedAt:i}){this.createdAt=F(t),this.id=e,this.isActive=s,this.updatedAt=F(i)}static fromObject=({id:t,...e})=>new Dt({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class Lt{constructor({id:t,lastLoginAt:e,success:s}){this.id=t,this.lastLoginAt=F(e),this.success=s}static fromObject=({id:t,success:e,...s})=>new Lt({id:t,success:e,lastLoginAt:s.last_login_at})}class Et{constructor({createdAt:t,id:e,platformId:s,recipient:i,type:r,updatedAt:a}){this.createdAt=F(t),this.id=e,this.platformId=s,this.recipient=i,this.type=H(R,r),this.updatedAt=F(a)}static fromObject=({id:t,recipient:e,type:s,...i})=>new Et({id:t,recipient:e,type:s,createdAt:i.created_at,platformId:i.platform_id,updatedAt:i.updated_at})}class Kt extends bt{constructor({amount:t,createdAt:e,descriptor:s,id:i,status:r,transactionType:a,userId:n,walletUri:c}){super({amount:t,createdAt:e,descriptor:s,status:r,userId:n}),this.id=i,this.transactionType=H(V,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:i,...r})=>new Kt({amount:t,descriptor:e,id:s,status:i,createdAt:r.created_at,transactionType:r.transaction_type,userId:r.user_id,walletUri:r.wallet_uri})}class Mt extends bt{constructor({amount:t,claimUrl:e,createdAt:s,descriptor:i,destinationUri:r,expiresAt:a,id:n,network:c,phoneNumber:o,recipientName:d,status:u,trackingKey:h,updatedAt:l,userId:p}){super({amount:t,createdAt:s,descriptor:i,status:u,userId:p}),this.claimUrl=e,this.destinationUri=r,this.id=n,this.expiresAt=F(a),this.network=H(E,c),this.phoneNumber=o,this.recipientName=d,this.trackingKey=h,this.updatedAt=F(l)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new Mt({amount:t,descriptor:e,id:s,network:i,status:r,createdAt:a.created_at,claimUrl:a.claim_url,destinationUri:a.destination_uri,expiresAt:a.expires_at,phoneNumber:a.phone_number,recipientName:a.recipient_name,trackingKey:a.tracking_key,updatedAt:a.updated_at,userId:a.user_id})}class Rt{constructor(t){this.superclass=t}with(...t){return t.reduce(((t,e)=>e(t)),this.superclass)}}const Vt=t=>new Rt(t),Ft=(t,e)=>({accounts:()=>mt.fromObject(e),api_keys:()=>ft.fromObject(e),arpc:()=>wt.fromObject(e),balance_entries:()=>_t.fromObject(e),bill_payments:()=>yt.fromObject(e),"bridge/accounts":()=>vt.fromObject(e),"bridge/transactions":()=>gt.fromObject(e),cards:()=>Ot.fromObject(e),card_activations:()=>At.fromObject(e),card_transactions:()=>jt.fromObject(e),card_validations:()=>xt.fromObject(e),commissions:()=>It.fromObject(e),deposits:()=>kt.fromObject(e),files:()=>Tt.fromObject(e),kyc_validations:()=>Ct.fromObject(e),login_tokens:()=>Ut.fromObject(e),savings:()=>St.fromObject(e),service_providers:()=>qt.fromObject(e),statements:()=>Pt.fromObject(e),transfers:()=>Bt.fromObject(e),users:()=>$t.fromObject(e),user_credentials:()=>Dt.fromObject(e),user_logins:()=>Lt.fromObject(e),verifications:()=>Et.fromObject(e),wallet_transactions:()=>Kt.fromObject(e),whatsapp_transfers:()=>Mt.fromObject(e)}[t]()),Ht=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class Yt{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const Wt=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return Ft(this.path,e)}},zt=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return Ft(this.path,e)}},Xt=t=>class extends t{async _update(t,e){const s=await this.client.patch({endpoint:`/${this.path}/${t}`,data:e});return Ft(this.path,s)}},Qt=t=>class extends t{async _upload(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t,multipart:!0});return Ft(this.path,e)}},Jt=t=>class extends t{async _deactivate(t,e){const s=await this.client.delete({endpoint:`/${this.path}/${t}`,data:e});return Ft(this.path,s)}},Gt=t=>class extends t{async _download(t,e){const s=this.client.addConfigToRequest({responseType:"stream"}),i=await this.client.get({endpoint:`/${this.path}/${t}`,format:e});return s.eject(),i}},Zt=t=>class extends t{async one(t=new this.QueryParams({})){const{items:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});if(!e||!e.length)throw new d;if(e.length>1)throw new u;const[s]=e;return Ft(this.path,s)}async first(t=new this.QueryParams({})){const{items:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});if(!e||!e[0])return null;const[s]=e;return Ft(this.path,s)}async count(t=new this.QueryParams({})){t.count=!0;const{count:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});return e||0}async*all(t=new this.QueryParams({})){let e=`/${this.path}?${t.toQueryString()}`;for(;e;){const t=await this.client.get({endpoint:e});if(t.items)for(const e of t.items){const t=Ft(this.path,e);yield t}e=t.next_page_uri}}};class te extends(Vt(Yt).with(Zt,Wt)){constructor(t){super("accounts",W,t)}}class ee{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class se extends ee{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class ie extends ee{constructor(t,e,s){super(),this.userId=t,this.issuer=e,this.fundingType=s}toObject(){return{user_id:this.userId,issuer:this.issuer,funding_type:this.fundingType}}}class re extends ee{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class ae extends ee{constructor(t,e,s,i){super(),this.n=t,this.eM=e,this.eY=s,this.c2=i}get number(){return this._number}set n(t){if([!!t,16===t.length,/^\d{16}/.test(t)].some((t=>!t)))throw new p("Invalid number");this._number=t.trim()}get expMonth(){return this._expMonth}set eM(t){if([!!t,t>=1,t<=12].some((t=>!t)))throw new p("Invalid expiration month");this._expMonth=t}get expYear(){return this._expYear}set eY(t){if([!!t,t>=18,t<=99].some((t=>!t)))throw new p("Invalid expiration year");this._expYear=t}get cvv2(){return this._cvv2}set c2(t){if([!!t,3===t.length,/^\d{3}/.test(t)].some((t=>!t)))throw new p("Invalid cvv2");this._cvv2=t}toObject(){return{number:this.number,exp_month:this.expMonth,exp_year:this.expYear,cvv2:this.cvv2}}}class ne extends ee{constructor({cvv:t,cvv2:e,expMonth:s,expYear:i,icvv:r,number:a,pinBlock:n,pinAttemptsExceeded:c}){super(),this.c=t,this.c2=e,this.em=s,this.ey=i,this.ic=r,this.n=a,this.pinBloc=n,this.pinAttemptsExceeded=c}get cvv(){return this._cvv}set c(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new p("Invalid cvv");this._cvv=t}get cvv2(){return this._cvv2}set c2(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new p("Invalid cvv2");this._cvv2=t}get expMonth(){return this._expMonth}set em(t){if(!t)return;if([t>=1,t<=12].some((t=>!t)))throw new p("Invalid expiration month");this._expMonth=t}get expYear(){return this._expYear}set ey(t){if(!t)return;if([t>=18,t<=99].some((t=>!t)))throw new p("Invalid expiration year");this._expYear=t}get icvv(){return this._icvv}set ic(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new p("Invalid icvv");this._icvv=t}get number(){return this._number}set n(t){if([!!t,16===t.length,/^\d{16}/.test(t)].some((t=>!t)))throw new p("Invalid number");this._number=t}toObject(){return{cvv:this.cvv,cvv2:this.cvv2,exp_month:this.expMonth,exp_year:this.expYear,icvv:this.icvv,number:this.number,pin_block:this.pinBloc,pin_attempts_exceeded:this.pinAttemptsExceeded}}}class ce extends ee{constructor(t){super(),this.userId=t}toObject(){return{user_id:this.userId}}}class oe extends ee{constructor(t,e,s,i){super(),this.category=t,this.name=i,this.goalAmount=e,this.validDate=s}get goalDate(){return this._goalDate}set validDate(t){if(t){if(F(t).getTime()<=F(Date.now()).getTime())throw new p("The goal_date always need to be higher than now");this._goalDate=t}}toObject(){return{category:this.category,goal_amount:this.goalAmount,goal_date:this.goalDate,name:this.name}}}const de=i.createRequire("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("cuenca.umd.js",document.baseURI).href)("form-data");class ue extends ee{constructor({isBack:t=!1,file:e,extension:s,type:i,userId:r="me"}){super(),this.extension=s,this.file=e,this.isBack=t,this.type=i,this.userId=r}toObject(){return{extension:this.extension,file:this.file,is_back:this.isBack,type:this.type,user_id:this.userId}}toFormData(){const t=new de;return t.append("extension",this.extension),t.append("file",this.file),t.append("type",this.type),t.append("user_id",this.userId),t}}class he extends ee{constructor(t,e,s,i,r){super(),this.accountNumber=t,this.amount=e,this.descriptor=s,this.idempotencyKey=i,this.recipientName=r}toObject(){return{account_number:this.accountNumber,amount:this.amount,descriptor:this.descriptor,idempotency_key:this.idempotencyKey,recipient_name:this.recipientName}}}class le extends ee{constructor(t){super(),this.pwd=t}get password(){return this._password}set pwd(t){if([!!t,t.length>=6].some((t=>!t)))throw new p("Invalid password");this._password=t}toObject(){return{password:this.password}}}class pe extends ee{constructor(t,e){super(),this.pwd=t,this.isActive=e,this.req={password:this.password,isActive:this.isActive}}get password(){return this._password}get request(){return this._request}set pwd(t){if(!t)return void(this._password=t);if([t.length>=6].some((t=>!t)))throw new p("Invalid password");this._password=t}set req(t){if(t.password&&null!=t.isActive)throw new p("Only one property can be updated at a time");this._request=t}toObject(){return{password:this.request.password,is_active:this.request.isActive}}}class me extends ee{constructor(t,e="me"){super(),this.pwd=t,this.userId=e}get password(){return this._password}set pwd(t){if([!!t,6===t.length,/^\d{6}$/.test(t)].some((t=>!t)))throw new p("Invalid password");this._password=t}toObject(){return{password:this.password,user_id:this.userId}}}class fe extends ee{constructor({ip:t,location:e,type:s,version:i}){super(),this.ipAddress=t,this.location=e,this.type=s,this.version=i}get ip(){return this._ip}set ipAddress(t){if(!t)throw new p("missing ip address");if(!t.split(".").every((t=>t>=0&&t<=255)))throw new p("Invalid ip address");this._ip=t}toObject(){return{ip:this.ip,location:this.location,type:this.type,version:this.version}}}class we extends ee{constructor({city:t,country:e,extNumber:s,intNumber:i,postalCode:r,state:a,street:n}={}){super(),this.city=t,this.country=e,this.extNumber=s,this.intNumber=i,this.postalCode=r,this.state=a,this.street=n}toObject(){return{city:this.city,country:this.country,ext_number:this.extNumber,int_number:this.intNumber,postal_code:this.postalCode,state:this.state,street:this.street}}}class _e extends ee{constructor({data:t,isMx:e,status:s,type:i,uriBack:r,uriFront:a}){super(),this.data=t,this.isMx=e,this.status=s,this.type=i,this.uriBack=r,this.uriFront=a}toObject(){return{data:this.data,is_mx:this.isMx,status:this.status,type:this.type,uri_back:this.uriBack,uri_front:this.uriFront}}}class be extends ee{constructor({address:t,govtId:e,profession:s,proofOfAddress:i,proofOfLife:r,requiredLevel:a,termsOfService:n,verificationId:c}){super(),this.adrs=t,this.govstIds=e,this.profession=s,this.addressProofs=i,this.lifeProofs=r,this.requiredLevel=a,this.terms=n,this.verificationId=c}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=new fe(t).toObject())}get address(){return this._address}set adrs(t){t&&(this._address=new we(t).toCleanObject())}get proofOfLife(){return this._proofOfLife}set lifeProofs(t){t&&(this._proofOfLife=new _e(t).toCleanObject())}get proofOfAddress(){return this._proofOfAddress}set addressProofs(t){t&&(this._proofOfAddress=new _e(t).toCleanObject())}get govtId(){return this._govtId}set govstIds(t){t&&(this._govtId=new _e(t).toCleanObject())}toObject(){return{address:this.address,profession:this.profession,requiredLevel:this.requiredLevel,terms_of_service:this.termsOfService,verification_id:this.verificationId,proof_of_life:this.proofOfLife,proof_of_address:this.proofOfAddress,govt_id:this.govtId}}}class ye extends ee{constructor({platformId:t,recipient:e,type:s}){super(),this.platformId=t,this.type=s,this.recipients=e}get recipient(){return this._recipient}set recipients(t){switch(H(R,this.type)){case R.Email:if(!t.match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/))throw new p("Invalid email address");this._recipient=t;break;case R.Phone:if(!t.match(/^\+?[0-9]{10,15}$/))throw new p("Invalid Phone Number");this._recipient=t}}toObject(){return{platform_id:this.platformId,recipient:this.recipient,type:this.type}}}class ve extends ee{constructor({code:t}){super(),this.code=t}toObject(){return{code:this.code}}}class ge extends ee{constructor(t,e,s){super(),this.amount=t,this.transactionType=e,this.walletUri=s}toObject(){return{amount:this.amount,transaction_type:this.transactionType,wallet_uri:this.walletUri}}}class Oe extends(Vt(Yt).with(zt,Jt,Zt,Wt,Xt)){constructor(t){super("api_keys",z,t)}async create(){return await this._create()}async deactivate(t,e=0){return await this._deactivate(t,{minutes:e})}async update(t,e,s){const i=new se(s,e);return await this._update(t,i.toCleanObject())}}class Ae extends(Vt(Yt).with(zt)){constructor(t){super("arpc",Object,t)}async create({number:t,arqc:e,arpcMethod:s,transactionData:i,responseCode:r,transactionCounter:a,panSequence:n,uniqueNumber:c,trackDataMethod:o}){const d=new ArpcRequest({number:t,arqc:e,arpcMethod:s,transactionData:i,responseCode:r,transactionCounter:a,panSequence:n,uniqueNumber:c,trackDataMethod:o});return await this._create(d.toObject())}}class je extends(Vt(Yt).with(Zt,Wt)){constructor(t){super("balance_entries",G,t)}async relatedTransaction(t){const e=Ht(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ft(`${e}`,s)}async fundingInstrument(t){const e=Ht(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ft(`${e}`,s)}}class xe extends(Vt(Yt).with(Zt,Wt)){constructor(t){super("bill_payments",Z,t)}async serviceProvider(t){const e=Ht(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ft(`${e}`,s)}}class Ie extends(Vt(Yt).with(Zt,Wt)){constructor(t){super("bridge/accounts",nt,t)}}class ke extends(Vt(Yt).with(Zt,Wt)){constructor(t){super("bridge/transactions",ct,t)}}class Te extends(Vt(Yt).with(zt)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:i}){const r=new ae(t,e,s,i);return await this._create(r.toCleanObject())}async card(t){if(!t)return null;const e=await this.client.get({endpoint:t});return Ot.fromObject(e)}}class Ce extends(Vt(Yt).with(zt,Jt,Zt,Wt,Xt)){constructor(t){super("cards",et,t)}async create(t,e,s){const i=new ie(t,e,s);return await this._create(i.toCleanObject())}async deactivate(t){return await this._deactivate(t)}async update(t,e,s){const i=new re(e,s);return await this._update(t,i.toCleanObject())}}class Ue extends(Vt(Yt).with(Zt,Wt)){constructor(t){super("card_transactions",tt,t)}async relatedCard(t){const e=Ht(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ft(`${e}`,s)}}class Ne extends(Vt(Yt).with(zt)){constructor(t){super("card_validations",Object,t)}async create({cvv:t,cvv2:e,expMonth:s,expYear:i,icvv:r,number:a,pinBlock:n,pinAttemptsExceeded:c}){const o=new ne({cvv:t,cvv2:e,expMonth:s,expYear:i,icvv:r,number:a,pinBlock:n,pinAttemptsExceeded:c});return await this._create(o.toCleanObject())}async card(t){if(!t)return null;const e=await this.client.get({endpoint:t});return Ot.fromObject(e)}}class Se extends(Vt(Yt).with(Zt,Wt)){constructor(t){super("commissions",Y,t)}async relatedTransaction(t){const e=Ht(t);if(null==e)return null;const s=await this.client.get(t);return Ft(`${e}`,s)}}class qe extends(Vt(Yt).with(Zt,Wt)){constructor(t){super("deposits",Q,t)}async source(t){const e=await this.client.get({endpoint:t});return mt.fromObject(e)}}class Pe extends(Vt(Yt).with(Gt,Qt)){constructor(t){super("files",Object,t)}async download(t){return await this._download(t,N.Any)}async upload({...t}){const e=new ue(t);return await this._upload(e.toFormData())}}class Be extends(Vt(Yt).with(zt,Wt,Zt)){constructor(t){super("kyc_validations",Object,t)}async create(t="me"){const e=new ce(t);return await this._create(e.toObject())}}class $e extends(Vt(Yt).with(zt)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class De extends(Vt(Yt).with(zt,Jt,Zt,Wt,Xt)){constructor(t){super("savings",rt,t)}async create(t,e,s,i){const r=new oe(t,e,s,i);return await this._create(r.toObject())}async deactivate(t){return await this._deactivate(t)}async update(t,e,s,i,r){const a=new oe(e,s,i,r);return await this._update(t,a.toObject())}}class Le extends(Vt(Yt).with(Zt,Wt)){constructor(t){super("service_providers",Y,t)}}class Ee extends(Vt(Yt).with(Gt,Zt)){constructor(t){super("statements",at,t)}async pdf(t){return await this._download(t,N.Pdf)}async xml(t){return await this._download(t,N.Xml)}}class Ke extends(Vt(Yt).with(zt,Zt,Wt)){constructor(t){super("transfers",J,t)}async destination(t){const e=await this.client.get({endpoint:t});return mt.fromObject(e)}async create({accountNumber:t,amount:e,descriptor:s,recipientName:i,idempotencyKey:r}){const a=r||this.constructor._genIdempotencyKey(t,e),n=new he(t,e,s,a,i);return await this._create(n.toCleanObject())}async createMany(t){if(!t||!Array.isArray(t)||!t.length)return{};const e={submitted:[],errors:[]};return await Promise.all(t.map((async({accountNumber:t,amount:s,descriptor:i,idempotencyKey:r,recipientName:a})=>{const n=new he(t,s,i,r||this.constructor._genIdempotencyKey(t,s),a);let c;try{c=await this._create(n.toCleanObject())}catch(t){return void e.errors.push({actualRequest:n,error:t})}e.submitted.push(c)}))),e}static _genIdempotencyKey(t,e){const[s]=F(Date.now()).toISOString().split("T");return`${s}:${t}:${e}`}}class Me extends(Vt(Yt).with(zt,Xt)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new le(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const i=new pe(e,t);return await this._update(s,i.toCleanObject())}}class Re extends(Vt(Yt).with(zt,Jt)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new me(t,e),i=await this._create(s.toObject());if(!i.success)throw new l;return this.loginIdInHeaders=this.client.addHeadersToRequest({"X-Cuenca-LoginId":i.id}),i}async logOut(t="me"){return await this._deactivate(t,{}),this.loginIdInHeaders&&this.loginIdInHeaders.eject(),!0}}class Ve extends(Vt(Yt).with(Zt,Xt,Wt)){constructor(t){super("users",it,t)}async update({userId:t="me",...e}){const s=new be(e);return await this._update(t,s.toCleanObject())}}class Fe extends(Vt(Yt).with(zt,Xt)){constructor(t){super("verifications",Object,t)}async create({platformId:t,recipient:e,type:s}){const i=new ye({platformId:t,recipient:e,type:s});return await this._create(i.toObject())}async update({code:t,id:e}){const s=new ve({code:t});return await this._update(e,s.toObject())}}class He extends(Vt(Yt).with(zt,Zt,Wt)){constructor(t){super("wallet_transactions",st,t)}async create(t,e,s){const i=new ge(t,e,s);return await this._create(i.toObject())}async realtedWallet(t){const e=Ht(t);if(null==e)return null;const s=await this.client.get(t);return Ft(`${e}`,s)}}class Ye extends(Vt(Yt).with(Zt,Wt)){constructor(t){super("whatsapp_transfers",Y,t)}async accountDestination(t){const e=Ht(t);if(null==e)return null;const s=await this.client.get(t);return Ft(`${e}`,s)}}t.Cuenca=class{constructor({apiKey:t,apiSecret:e,language:s="en",phase:i=q.Sandbox}={}){this.client=new pt({apiKey:t,apiSecret:e,language:s,phase:i}),this.withClient(this.client)}withClient(t){this.accounts=new te(t),this.apiKeys=new Oe(t),this.balanceEntries=new je(t),this.billPayments=new xe(t),this.bridgeAccounts=new Ie(t),this.bridgeTransactions=new ke(t),this.cardActivations=new Te(t),this.cards=new Ce(t),this.cardTransactions=new Ue(t),this.cardValidations=new Ne(t),this.commissions=new Se(t),this.deposits=new qe(t),this.files=new Pe(t),this.kycValidations=new Be(t),this.loginTokens=new $e(t),this.savings=new De(t),this.serviceProviders=new Le(t),this.statements=new Ee(t),this.transfers=new Ke(t),this.userCredentials=new Me(t),this.userLogins=new Re(t),this.users=new Ve(t),this.verifications=new Fe(t),this.walletTransactions=new He(t),this.whatsAppTransfers=new Ye(t)}}})); | ||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("axios"),require("buffer"),require("module")):"function"==typeof define&&define.amd?define(["exports","axios","buffer","module"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).cuenca={},t.axios,t.Buffer,t.module$1)}(this,(function(t,e,s,i){"use strict";function r(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var a=r(e),n=r(s);class c extends Error{constructor(t){super(t),Object.setPrototypeOf(this,c.prototype)}}class o extends c{constructor(t,e){super(`Cuenca Response Error: ${e}`),this.name="CuencaResponseError",this.data=t,this.status=e,Object.setPrototypeOf(this,o.prototype)}}class d extends c{constructor(){super("No results were found"),this.name="NoResultFound",Object.setPrototypeOf(this,d.prototype)}}class u extends c{constructor(){super("One result was expected but multiple were found"),this.name="MultipleResultsFound",Object.setPrototypeOf(this,u.prototype)}}class h extends c{constructor(){super("An invalid JWT token was obtained during authentication"),this.name="MalformedJwtToken",Object.setPrototypeOf(this,h.prototype)}}class l extends c{constructor(){super("Invalid password"),this.name="InvalidPassword",Object.setPrototypeOf(this,l.prototype)}}class p extends Error{constructor(t){super(t),Object.setPrototypeOf(this,p.prototype)}}const m="undefined"!=typeof window&&void 0!==window.document,f="undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process),w=m,_=f;class b{constructor(t,e){this.expiresAt=t,this.token=e}get isExpired(){const t=new Date;return(this.expiresAt.valueOf()-t.valueOf())/6e4<=5}static getExpirationDate=t=>{let e;try{const[,s]=t.split(".");e=JSON.parse(n.default.Buffer.from(`${s}==`,"base64").toString())}catch(t){throw new h}const{exp:s}=e;return new Date(new Date(1e3*s).toUTCString())};static create=async t=>{const e=t;e.jwtToken=null;const s=e.deleteRequestHeader("X-Cuenca-Token"),{token:i}=await t.post("token",{});s.eject();const r=b.getExpirationDate(i);return new b(r,i)}}class y{static Succeeded=new y("succeeded");static NotValidated=new y("not_validated");static Failed=new y("failed");static OnWaitList=new y("on_wait_list");constructor(t){this.value=t}}class v{static Blocked=new v("blocked");static Comunication=new v("comunication");static ContactlesAmountLimit=new v("contactles_amount_limit");static FraudDetection=new v("fraud_detection");static FraudDetectionUncertain=new v("fraud_detection_uncertain");static InsufficientFounds=new v("insufficient_founds");static InvalidPin=new v("invalid_pin");static Notification=new v("notification");static NotificationDeactivatedCard=new v("notification_deactivated_card");constructor(t){this.value=t}}class g{static Credit=new g("credit");static Debit=new g("debit");constructor(t){this.value=t}}class O{static Accendo=new O("accendo");static Cuenca=new O("cuenca");constructor(t){this.value=t}}class A{static Buy=new A("buy");static Sell=new A("sell");constructor(t){this.value=t}}class j{static Active=new j("active");static Blocked=new j("blocked");static Created=new j("created");static Deactivated=new j("deactivated");static Printing=new j("printing");constructor(t){this.value=t}}class x{static Auth=new x("auth");static Capture=new x("capture");static Chargeback=new x("chargeback");static Expiration=new x("expiration");static Refund=new x("refund");static Void=new x("void");constructor(t){this.value=t}}class I{static Mxn=new I("mxn");static Usdc=new I("usdc");static Sol=new I("sol");constructor(t){this.value=t}}class k{static Physical=new k("physical");static Virtual=new k("virtual");constructor(t){this.value=t}}class T{static CardRequest=new T("card_request");static CashDeposit=new T("cash_deposit");static OutgoingSpei=new T("outgoing_spei");constructor(t){this.value=t}}class C{static Cash=new C("cash");static Internal=new C("internal");static Spei=new C("spei");constructor(t){this.value=t}}class U{static Credit=new U("credit");static Debit=new U("debit");constructor(t){this.value=t}}class N{static Pdf=new N("application/pdf");static Xml=new N("application/xml");static Json=new N("application/json");static Any=new N("*/*");constructor(t){this.value=t}}class S{static Ine=new S("ine");static Passport=new S("passport");static Residency=new S("residency");static MatriculaConsular=new S("matricula_consular");static ProofOfLiveness=new S("proof_of_liveness");static ProofOfAddress=new S("proof_of_address");constructor(t){this.value=t}}class q{static Sandbox=new q("sandbox-api");static Stage=new q("stage-api");static Api=new q("api");constructor(t){this.value=t}}class P{static Cable=new P("cable");static CreditCard=new P("credit_card");static Electricity=new P("electricity");static Gas=new P("gas");static Internet=new P("internet");static LandlineTelephone=new P("landline_telephone");static MobileTelephonePostpaid=new P("mobile_telephone_postpaid");static MobileTelephonePrepaid=new P("mobile_telephone_prepaid");static SateliteTelevision=new P("satelite_television");static Water=new P("water");constructor(t){this.value=t}}class B{static General=new B("general");static Home=new B("home");static Vehicle=new B("vehicle");static Travel=new B("travel");static Clothing=new B("clothing");static Other=new B("other");static Medical=new B("medical");static Accident=new B("accident");static Education=new B("education");constructor(t){this.value=t}}class ${static NotSet=new $("not_set");static Terminal=new $("terminal");static Manual=new $("manual");static Unknown=new $("unknown");static Contactless=new $("contactless");static FallBack=new $("fall_back");static MagneticStripe=new $("magnetic_stripe");static RecurringCharge=new $("recurring_charge");constructor(t){this.value=t}}class D{static Polygon=new D("polygon");static Solana=new D("solana");constructor(t){this.value=t}}class L{static Created=new L("created");static Failed=new L("failed");static InReview=new L("in_review");static Submitted=new L("submitted");static Succeeded=new L("succeeded");constructor(t){this.value=t}}class E{static Internal=new E("internal");static Spei=new E("spei");constructor(t){this.value=t}}class K{static Active=new K("active");static Deactivated=new K("deactivated");static Fraud=new K("fraud");static PldBlocked=new K("pld_blocked");constructor(t){this.value=t}}class M{static Created=new M("created");static NotVerified=new M("not_verified");static Rejected=new M("rejected");static ReviewNeeded=new M("review_needed");static Submitted=new M("submitted");static Succeeded=new M("succeeded");static UploadAgain=new M("upload_again");constructor(t){this.value=t}}class R{static Phone=new R("phone");static Email=new R("email");constructor(t){this.value=t}}class V{static Deposit=new V("deposit");static Withdrawal=new V("withdrawal");constructor(t){this.value=t}}const F=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},H=(t,e)=>Object.values(t).find((t=>t.value===e));class Y{constructor({createdAfter:t,createdBefore:e,limit:s,pageSize:i,relatedTransaction:r,userId:a,count:n=!1}){this.createdAfter=t,this.createdBefore=e,this._lmt=s,this.relatedTransaction=r,this.userId=a,this.count=n,this.pageSize=i}get limit(){return this._limit}set _lmt(t){let e=null;t&&t>=0&&(e=t),this._limit=e}toObject(){return{created_after:this.createdAfter,created_before:this.createdBefore,limit:this.limit,related_transaction:this.relatedTransaction,user_id:this.userId,page_size:this.pageSize&&this.pageSize.size}}toParams(){const t={...this.toObject()};return this.count&&(t.count=1),Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}toQueryString(){return new URLSearchParams(this.toParams()).toString()}}class W extends Y{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class z extends Y{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class X extends Y{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class Q extends X{constructor({trackingKey:t,network:e,...s}){super(s),this.trackingKey=t,this.network=e}toObject(){return Object.assign(super.toObject(),{tracking_key:this.trackingKey,network:this.network})}}class J extends X{constructor({accountNumber:t,idempotencyKey:e,trackingKey:s,network:i,...r}){super(r),this.accountNumber=t,this.idempotencyKey=e,this.trackingKey=s,this.network=i}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber,idempotency_key:this.idempotencyKey,tracking_key:this.trackingKey,network:this.network})}}class G extends Y{constructor({fundingInstrumentUri:t,count:e=!1,walletId:s="default",...i}){super(i),this.fundingInstrumentUri=t,this.count=e,this.walletId=s}toObject(){return Object.assign(super.toObject(),{wallet_id:this.walletId,funding_instrument_uri:this.fundingInstrumentUri,count:this.count})}}class Z extends Y{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class tt extends Y{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class et extends Y{constructor({cardUri:t,count:e=!1,...s}){super(s),this.cardUri=t,this.count=e}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri,count:this.count})}}class st extends Y{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class it extends Y{constructor({emailAddress:t,phoneNumber:e,status:s,...i}){super(i),this.emailAddress=t,this.phoneNumber=e,this.status=s}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress,phone_number:this.phoneNumber,status:this.status})}}class rt extends Y{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class at extends Y{constructor({month:t,year:e,...s}){super(s),this.d={month:t,year:e}}get month(){return this._date.month}get year(){return this._date.year}set d({month:t,year:e}){const s=F(Date.now());s.setUTCDate(1);if(F(`${e}-${t}-01`).getTime()>=s.getTime())throw new p(`${e}-${t} is not a valid year-month pair`);this._date={month:t,year:e}}toObject(){return Object.assign(super.toObject(),{month:this.month,year:this.year})}}class nt extends Y{constructor({emailAddress:t,...e}){super(e),this.emailAddress=t}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress})}}class ct extends Y{constructor({accountId:t,status:e,type:s,...i}){super(i),this.accountId=t,this.status=e,this.type=s}toObject(){return Object.assign(super.toObject(),{account:this.accountId,status:this.status,type:this.type})}}class ot{constructor({ip:t,location:e,type:s,version:i}){this.ip=t,this.location=e,this.type=s,this.version=i}static fromObject=({ip:t,location:e,type:s,version:i})=>new ot({ip:t,location:e,type:s,version:i})}class dt{constructor({code:t,error:e,identifier:s,message:i}){this.code=t,this.error=e,this.identifier=s,this.message=i}static fromObject=({code:t,error:e,identifier:s,message:i})=>new dt({code:t,error:e,identifier:s,message:i})}class ut{constructor({data:t,errors:e,isMx:s,status:i,type:r,uriBack:a,uriFront:n}){this.data=t,this.isMx=s,this.status=H(M,i),this.type=H(S,r),this.uriBack=a,this.uriFront=n,e&&e.length>0&&(this.errors=e.map((t=>dt.fromObject(t))))}static fromObject=({data:t,errors:e,status:s,type:i,...r})=>new ut({data:t,errors:e,status:s,type:i,isMx:r.is_mx,uriBack:r.uri_back,uriFront:r.uri_front})}class ht{constructor({city:t,country:e,createdAt:s,extNumber:i,fullName:r,intNumber:a,postalCode:n,state:c,street:o}){this.city=t,this.country=e,this.createdAt=F(s),this.extNumber=i,this.fullName=r,this.intNumber=a,this.postalCode=n,this.state=c,this.street=o}static fromObject=({city:t,country:e,state:s,street:i,...r})=>new ht({city:t,country:e,state:s,street:i,createdAt:r.created_at,extNumber:r.ext_number,fullName:r.full_name,intNumber:r.int_number,postalCode:r.postal_code})}var lt="0.0.6";class pt{constructor({apiKey:t,apiSecret:e,language:s="en",phase:i=q.Sandbox}={}){this.phase=i,this.basicAuth={apiKey:t,apiSecret:e},this.jwtToken=null,this._session=a.default.create({headers:{"Accept-Language":s},timeout:45e3})}get session(){return this._session}get origin(){return`https://${this.phase.value}.arteria.xyz`}get authHeader(){const{apiKey:t,apiSecret:e}=this.basicAuth;return t&&e?`Basic ${n.default.Buffer.from(`${t}:${e}`,"utf-8").toString("base64")}`:""}addHeadersToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common:i}}=s;return Object.keys(t).forEach((e=>i[e]=t[e])),s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}deleteRequestHeader(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common:i}}=s;return delete i[t],s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}addConfigToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e;return Object.keys(t).forEach((e=>s[e]=t[e])),s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}async configure({apiKey:t,apiSecret:e,loginToken:s,phase:i,sessionId:r,useJwt:a=!1}){this.basicAuth={apiKey:t||this.basicAuth.apiKey,apiSecret:e||this.basicAuth.apiSecret},i&&(this.phase=i),a&&(this.jwtToken=await b.create(this)),s&&this.addHeadersToRequest({"X-Cuenca-LoginToken":s}),r&&this.addHeadersToRequest({"X-Cuenca-SessionId":r})}async get({endpoint:t,format:e,params:s}){return this.request({endpoint:t,format:e,params:s})}async post({endpoint:t,data:e,multipart:s}){return this.request({method:"POST",endpoint:t,data:e,multipart:s})}async patch({endpoint:t,data:e}){return this.request({method:"PATCH",endpoint:t,data:e})}async delete({endpoint:t,data:e}){return this.request({method:"DELETE",endpoint:t,data:e})}async request({endpoint:t,data:e=null,format:s=N.Json,method:i="GET",multipart:r=!1,params:a=null}){let n;n=r?e.getHeaders():{"Content-Type":"application/json",Accept:`application/${s.value}`},this.authHeader&&(n.Authorization=this.authHeader),_?n["User-Agent"]=`cuenca-js/${lt}`:w&&(n["X-User-Agent"]=`cuenca-js/${lt}`),this.jwtToken&&(this.jwtToken.isExpired&&(this.jwtToken=await b.create(this)),n["X-Cuenca-Token"]=this.jwtToken.token);const d=this.addHeadersToRequest(n),u=e;u&&!r&&Object.keys(u).forEach((t=>{u[t]instanceof Date&&(u[t]=u[t].toISOString())}));const h=this.addConfigToRequest({method:i,params:a,data:u,url:t});let l;try{l=await this._session.request({baseURL:this.origin})}catch(t){throw t.response?new o(t.response.data,t.response.status):t.request?new c(`No response received: ${t.errno}: ${t.code}`):new c(t.message)}finally{d.eject(),h.eject()}return l.data}}class mt{constructor({accountNumber:t,createdAt:e,id:s,institutionName:i,name:r,userId:a}){this.accountNumber=t,this.createdAt=F(e),this.id=s,this.institutionName=i,this.name=r,this.userId=a}static fromObject=({id:t,name:e,...s})=>new mt({id:t,name:e,accountNumber:s.account_number,createdAt:s.created_at,institutionName:s.institution_name,userId:s.user_id})}class ft{constructor({createdAt:t,deactivatedAt:e,id:s,secret:i,userId:r,updatedAt:a}){this.createdAt=F(t),this.deactivatedAt=F(e),this.id=s,this.secret=i,this.userId=r,this.updatedAt=F(a)}static fromObject=({id:t,secret:e,...s})=>new ft({id:t,secret:e,createdAt:s.created_at,deactivatedAt:s.deactivated_at,userId:s.user_id,updatedAt:s.updated_at});get isActive(){const t=F(Date.now());return!this.deactivatedAt||this.deactivatedAt.getTime()>t.getTime()}}class wt{constructor({arpc:t,createdAt:e,cardUri:s,isValidArqc:i}){this.arpc=t,this.createdAt=F(e),this.cardUri=s,this.isValidArqc=i}static fromObject=({arpc:t,...e})=>new wt({arpc:t,createdAt:e.created_at,cardUri:e.card_uri,isValidArqc:e.is_valid_arqc})}class _t{constructor({amount:t,createdAt:e,descriptor:s,entryType:i,fundingInstrumentUri:r,id:a,name:n,relatedTransactionUri:c,rollingBalance:o}){this.amount=t,this.createdAt=F(e),this.descriptor=s,this.entryType=H(U,i),this.fundingInstrumentUri=r,this.id=a,this.name=n,this.relatedTransactionUri=c,this.rollingBalance=o}static fromObject=({amount:t,descriptor:e,id:s,name:i,type:r,...a})=>new _t({amount:t,descriptor:e,name:i,id:s,createdAt:a.created_at,entryType:r,fundingInstrumentUri:a.funding_instrument_uri,relatedTransactionUri:a.related_transaction_uri,rollingBalance:a.rolling_balance})}class bt{constructor({amount:t,createdAt:e,descriptor:s,status:i,userId:r}){this.amount=t,this.createdAt=F(e),this.descriptor=s,this.status=H(L,i),this.userId=r}}class yt extends bt{constructor({amount:t,accountNumber:e,createdAt:s,descriptor:i,id:r,providerUri:a,status:n,userId:c}){super({amount:t,createdAt:s,descriptor:i,status:n,userId:c}),this.accountNumber=e,this.id=r,this.providerUri=a}static fromObject=({amount:t,descriptor:e,id:s,status:i,...r})=>new yt({amount:t,descriptor:e,id:s,status:i,accountNumber:r.account_number,createdAt:r.created_at,providerUri:r.provider_uri,userId:r.user_id})}class vt{constructor({id:t,names:e,firstSurname:s,secondSurname:i,dateOfBirth:r,countryOfBirth:a,rfc:n,curp:c,userId:o,gender:d,phoneNumber:u,emailAddress:h,clientClabe:l,govtId:p,proofOfAddress:m,proofOfLife:f,status:w}){this.id=t,this.emailAddress=h,this.clientClabe=l,this.govtId=p,this.names=e,this.firstSurname=s,this.secondSurname=i,this.dateOfBirth=r,this.countryOfBirth=a,this.rfc=n,this.curp=c,this.userId=o,this.gender=d,this.phoneNumber=u,this.addressProofs=m,this.lifeProofs=f,this.status=H(y,w)}static fromObject=({status:t,...e})=>new vt({id:e.id,clientClabe:e.client_clabe,names:e.names,firstSurname:e.first_surname,secondSurname:e.second_surname,dateOfBirth:e.date_of_birth,countryOfBirth:e.country_of_birth,rfc:e.rfc,curp:e.curp,userId:e.user_id,gender:e.gender,govtId:e.govt_id,emailAddress:e.email_address,phoneNumber:e.phone_number,proofOfAddress:e.proof_of_address,proofOfLife:e.proof_of_life,status:t})}class gt{constructor({id:t,createdAt:e,platformId:s,type:i,status:r,accountUri:a,quoteUri:n,currency:c,network:o,sourceWallet:d,destinationWallet:u,bankAccountUri:h,cuencaId:l,cuentaOrdenante:p,cuentaBeneficiario:m,nombreOrdenante:f,claveRastreo:w,rfcCurpOrdenante:_,concepto:b,referenciaNumerica:y,signature:v,trackingLink:g,fromCurrency:O,toCurrency:j,fromAmount:x,toAmount:k}){this.id=t,this.createdAt=F(e),this.platformId=s,this.type=H(A,i),this.status=H(L,r),this.accountUri=a,this.quoteUri=n,this.currency=H(I,c),this.network=H(D,o),this.sourceWallet=d,this.destinationWallet=u,this.bankAccountUri=h,this.cuencaId=l,this.cuentaOrdenante=p,this.cuentaBeneficiario=m,this.nombreOrdenante=f,this.claveRastreo=w,this.rfcCurpOrdenante=_,this.concepto=b,this.referenciaNumerica=y,this.signature=v,this.trackingLink=g,this.fromCurrency=H(I,O),this.toCurrency=H(I,j),this.fromAmount=x,this.toAmount=k}static fromObject=({type:t,status:e,currency:s,network:i,concepto:r,signature:a,...n})=>new gt({id:n.id,createdAt:n.created_at,platformId:n.platform_id,accountUri:n.account_uri,quoteUri:n.quote_uri,sourceWallet:n.source_wallet,destinationWallet:n.destination_wallet,bankAccountUri:n.bank_account_uri,cuencaId:n.cuenca_id,cuentaOrdenante:n.cuenta_ordenante,cuentaBeneficiario:n.cuenta_beneficiario,nombreOrdenante:n.nombre_ordenante,claveRastreo:n.clave_rastreo,rfcCurpOrdenante:n.rfc_curp_ordenante,referenciaNumerica:n.referencia_numerica,trackingLink:n.tracking_link,fromCurrency:n.from_currency,toCurrency:n.to_currency,fromAmount:n.from_amount,toAmount:n.to_amount,type:t,status:e,currency:s,network:i,concepto:r,signature:a})}class Ot{constructor({createdAt:t,cvv2:e,expMonth:s,expYear:i,fundingType:r,id:a,issuer:n,number:c,pin:o,status:d,type:u,updatedAt:h,userId:l}){this.createdAt=F(t),this.cvv2=e,this.expMonth=s,this.expYear=i,this.fundingType=H(g,r),this.id=a,this.issuer=H(O,n),this.number=c,this.pin=o,this.status=H(j,d),this.type=H(k,u),this.updatedAt=F(h),this.userId=l}static fromObject=({cvv2:t,id:e,issuer:s,number:i,pin:r,status:a,type:n,...c})=>new Ot({cvv2:t,id:e,issuer:s,number:i,pin:r,status:a,type:n,createdAt:c.created_at,expMonth:c.exp_month,expYear:c.exp_year,fundingType:c.funding_type,updatedAt:c.updated_at,userId:c.user_id})}class At{constructor({cardUri:t,createdAt:e,id:s,ipAddress:i,success:r,userId:a}){this.cardUri=t,this.createdAt=F(e),this.id=s,this.ipAddress=i,this.success=r,this.userId=a}static fromObject=({id:t,success:e,...s})=>new At({id:t,success:e,cardUri:s.card_uri,createdAt:s.created_at,ipAddress:s.ip_address,userId:s.user_id})}class jt extends bt{constructor({amount:t,cardErrorType:e,cardLastFour:s,cardType:i,cardUri:r,createdAt:a,descriptor:n,metadata:c,network:o,relatedCardTransactionsUris:d,status:u,type:h,userId:l}){super({amount:t,createdAt:a,descriptor:n,status:u,userId:l}),this.cardErrorType=H(v,e),this.cardLastFour=s,this.cardType=H(k,i),this.cardUri=r,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=H(x,h)}static fromObject=({amount:t,descriptor:e,metadata:s,network:i,status:r,type:a,...n})=>new jt({amount:t,descriptor:e,metadata:s,network:i,status:r,type:a,cardErrorType:n.error_type,cardLastFour:n.card_last4,cardType:n.card_type,cardUri:n.card_uri,createdAt:n.created_at,relatedCardTransactionsUris:n.related_card_transaction,userId:n.user_id})}class xt{constructor({cardStatus:t,cardType:e,cardUri:s,createdAt:i,isExpired:r,isPinAttemptsExceeded:a,isValidCvv:n,isValidCvv2:c,isValidExpDate:o,isValidIcvv:d,isValidPinBlock:u,userId:h}){this.cardStatus=H(j,t),this.cardType=H(k,e),this.cardUri=s,this.createdAt=F(i),this.isExpired=r,this.isPinAttemptsExceeded=a,this.isValidCvv=n,this.isValidCvv2=c,this.isValidExpDate=o,this.isValidIcvv=d,this.isValidPinBlock=u,this.userId=h}static fromObject=({...t})=>new xt({cardStatus:t.card_status,cardType:t.card_type,cardUri:t.card_uri,createdAt:t.created_at,isExpired:t.is_expired,isPinAttemptsExceeded:t.is_pin_attempts_exceeded,isValidCvv:t.is_valid_cvv,isValidCvv2:t.is_valid_cvv2,isValidExpDate:t.is_valid_exp_date,isValidIcvv:t.is_valid_icvv,isValidPinBlock:t.is_valid_pin_block,userId:t.user_id});get isActive(){return this.cardStatus===j.Active}}class It extends bt{constructor({amount:t,createdAt:e,descriptor:s,relatedTransactionUri:i,status:r,type:a,userId:n}){super({amount:t,createdAt:e,descriptor:s,status:r,userId:n}),this.relatedTransactionUri=i,this.type=H(T,a)}static fromObject=({amount:t,descriptor:e,status:s,type:i,...r})=>new It({amount:t,descriptor:e,status:s,type:i,createdAt:r.created_at,relatedTransactionUri:r.related_transaction_uri,userId:r.user_id})}class kt extends bt{constructor({amount:t,createdAt:e,descriptor:s,id:i,network:r,status:a,sourceUri:n,trackingKey:c,userId:o}){super({amount:t,createdAt:e,descriptor:s,status:a,userId:o}),this.id=i,this.network=H(C,r),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new kt({amount:t,descriptor:e,id:s,network:i,status:r,createdAt:a.created_at,sourceUri:a.source_uri,trackingKey:a.tracking_key,userId:a.user_id})}class Tt{constructor({extension:t,type:e,url:s,userId:i}){this.extension=t,this.type=H(S,e),this.url=s,this.userId=i}static fromObject=({extension:t,type:e,url:s,...i})=>new Tt({extension:t,type:e,url:s,userId:i.user_id})}class Ct{constructor({platformId:t,attemps:e,verificationId:s,filesUri:i}){this.attemps=e,this.filesUri=i,this.platformId=t,this.verificationId=s}static fromObject=({attemps:t,...e})=>new Ct({attemps:t,filesUri:e.files_uri,platformId:e.platform_id,verificationId:e.verification_id})}class Ut{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new Ut({id:t})}class Nt{constructor({balance:t,createdAt:e,deactivatedAt:s,id:i,userId:r,updatedAt:a}){this.balance=t,this.createdAt=F(e),this.deactivatedAt=F(s),this.id=i,this.userId=r,this.updatedAt=F(a)}}class St extends Nt{constructor({balance:t,category:e,createdAt:s,deactivatedAt:i,goalAmount:r,goalDate:a,id:n,name:c,userId:o,updatedAt:d}){super({balance:t,createdAt:s,deactivatedAt:i,id:n,userId:o,updatedAt:d}),this.category=H(B,e),this.goalAmount=r,this.goalDate=F(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:i,...r})=>new St({balance:t,category:e,id:s,name:i,createdAt:r.created_at,deactivatedAt:r.deactivated_at,goalAmount:r.goal_amount,goalDate:r.goal_date,userId:r.user_id,updatedAt:r.updated_at})}class qt{constructor({categories:t,id:e,name:s,providerKey:i}){var r;this.categories=null==(r=t)?[]:r.map((t=>H(P,t))),this.id=e,this.name=s,this.providerKey=i}static fromObject=({categories:t,id:e,name:s,...i})=>new qt({categories:t,id:e,name:s,providerKey:i.provider_key})}class Pt{constructor({createdAt:t,id:e,month:s,year:i}){this.createdAt=F(t),this.id=e,this.month=s,this.year=i}static fromObject=({id:t,month:e,year:s,...i})=>new Pt({id:t,month:e,year:s,createdAt:i.created_at})}class Bt extends bt{constructor({accountNumber:t,amount:e,createdAt:s,descriptor:i,destinationUri:r,id:a,idempotencyKey:n,network:c,recipientName:o,status:d,trackingKey:u,updatedAt:h,userId:l}){super({amount:e,createdAt:s,descriptor:i,status:d,userId:l}),this.accountNumber=t,this.destinationUri=r,this.id=a,this.idempotencyKey=n,this.network=H(E,c),this.recipientName=o,this.trackingKey=u,this.updatedAt=F(h)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new Bt({amount:t,descriptor:e,id:s,network:i,status:r,accountNumber:a.account_number,createdAt:a.created_at,destinationUri:a.destination_uri,idempotencyKey:a.idempotency_key,recipientName:a.recipient_name,trackingKey:a.tracking_key,updatedAt:a.updated_at,userId:a.user_id})}class $t{constructor({address:t,blacklistValidationStatus:e,clabe:s,countryOfBirth:i,createdAt:r,curp:a,dateOfBirth:n,emailAddress:c,firstSurname:o,gender:d,govtId:u,id:h,level:l,names:p,nationality:m,phoneNumber:f,proofOfAddress:w,proofOfLife:_,requiredLevel:b,rfc:y,secondSurname:v,stateOfBirth:g,status:O,termsOfService:A,updatedAt:j,verificationId:x}){this.add=t,this.blacklistValidationStatus=H(M,e),this.clabe=s,this.countryOfBirth=i,this.createdAt=F(r),this.curp=a,this.dateOfBirth=n,this.emailAddress=c,this.firstSurname=o,this.gender=d,this.govstIds=u,this.id=h,this.level=l,this.names=p,this.nationality=m,this.phoneNumber=f,this.addressProofs=w,this.lifeProofs=_,this.requiredLevel=b,this.rfc=y,this.secondSurname=v,this.stateOfBirth=g,this.status=H(K,O),this.terms=A,this.updatedAt=F(j),this.verificationId=x}get address(){return this._address}set add(t){t&&(this._address=ht.fromObject(t))}get proofOfAddress(){return this._proofOfAddress}set addressProofs(t){t&&(this._proofOfAddress=ut.fromObject(t))}get proofOfLife(){return this._proofOfLife}set lifeProofs(t){t&&(this._proofOfLife=ut.fromObject(t))}get govtId(){return this._govtId}set govstIds(t){t&&(this._govtId=ut.fromObject(t))}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=ot.fromObject(t))}static fromObject=({address:t,clabe:e,curp:s,gender:i,id:r,level:a,names:n,nationality:c,rfc:o,status:d,...u})=>new $t({address:t,clabe:e,curp:s,gender:i,id:r,level:a,names:n,nationality:c,rfc:o,status:d,blacklistValidationStatus:u.blacklist_validation_status,countryOfBirth:u.country_of_birth,createdAt:u.created_at,dateOfBirth:u.date_of_birth,emailAddress:u.email_address,firstSurname:u.first_surname,govtId:u.govt_id,phoneNumber:u.phone_number,proofOfAddress:u.proof_of_address,proofOfLife:u.proof_of_life,requiredLevel:u.required_level,secondSurname:u.second_surname,stateOfBirth:u.state_of_birth,termsOfService:u.terms_of_service,updatedAt:u.updated_at,verificationId:u.verification_id})}class Dt{constructor({createdAt:t,id:e,isActive:s,updatedAt:i}){this.createdAt=F(t),this.id=e,this.isActive=s,this.updatedAt=F(i)}static fromObject=({id:t,...e})=>new Dt({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class Lt{constructor({id:t,lastLoginAt:e,success:s}){this.id=t,this.lastLoginAt=F(e),this.success=s}static fromObject=({id:t,success:e,...s})=>new Lt({id:t,success:e,lastLoginAt:s.last_login_at})}class Et{constructor({createdAt:t,id:e,platformId:s,recipient:i,type:r,updatedAt:a}){this.createdAt=F(t),this.id=e,this.platformId=s,this.recipient=i,this.type=H(R,r),this.updatedAt=F(a)}static fromObject=({id:t,recipient:e,type:s,...i})=>new Et({id:t,recipient:e,type:s,createdAt:i.created_at,platformId:i.platform_id,updatedAt:i.updated_at})}class Kt extends bt{constructor({amount:t,createdAt:e,descriptor:s,id:i,status:r,transactionType:a,userId:n,walletUri:c}){super({amount:t,createdAt:e,descriptor:s,status:r,userId:n}),this.id=i,this.transactionType=H(V,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:i,...r})=>new Kt({amount:t,descriptor:e,id:s,status:i,createdAt:r.created_at,transactionType:r.transaction_type,userId:r.user_id,walletUri:r.wallet_uri})}class Mt extends bt{constructor({amount:t,claimUrl:e,createdAt:s,descriptor:i,destinationUri:r,expiresAt:a,id:n,network:c,phoneNumber:o,recipientName:d,status:u,trackingKey:h,updatedAt:l,userId:p}){super({amount:t,createdAt:s,descriptor:i,status:u,userId:p}),this.claimUrl=e,this.destinationUri=r,this.id=n,this.expiresAt=F(a),this.network=H(E,c),this.phoneNumber=o,this.recipientName=d,this.trackingKey=h,this.updatedAt=F(l)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new Mt({amount:t,descriptor:e,id:s,network:i,status:r,createdAt:a.created_at,claimUrl:a.claim_url,destinationUri:a.destination_uri,expiresAt:a.expires_at,phoneNumber:a.phone_number,recipientName:a.recipient_name,trackingKey:a.tracking_key,updatedAt:a.updated_at,userId:a.user_id})}class Rt{constructor(t){this.superclass=t}with(...t){return t.reduce(((t,e)=>e(t)),this.superclass)}}const Vt=t=>new Rt(t),Ft=(t,e)=>({accounts:()=>mt.fromObject(e),api_keys:()=>ft.fromObject(e),arpc:()=>wt.fromObject(e),balance_entries:()=>_t.fromObject(e),bill_payments:()=>yt.fromObject(e),"bridge/accounts":()=>vt.fromObject(e),"bridge/transactions":()=>gt.fromObject(e),cards:()=>Ot.fromObject(e),card_activations:()=>At.fromObject(e),card_transactions:()=>jt.fromObject(e),card_validations:()=>xt.fromObject(e),commissions:()=>It.fromObject(e),deposits:()=>kt.fromObject(e),files:()=>Tt.fromObject(e),kyc_validations:()=>Ct.fromObject(e),login_tokens:()=>Ut.fromObject(e),savings:()=>St.fromObject(e),service_providers:()=>qt.fromObject(e),statements:()=>Pt.fromObject(e),transfers:()=>Bt.fromObject(e),users:()=>$t.fromObject(e),user_credentials:()=>Dt.fromObject(e),user_logins:()=>Lt.fromObject(e),verifications:()=>Et.fromObject(e),wallet_transactions:()=>Kt.fromObject(e),whatsapp_transfers:()=>Mt.fromObject(e)}[t]()),Ht=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class Yt{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const Wt=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return Ft(this.path,e)}},zt=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return Ft(this.path,e)}},Xt=t=>class extends t{async _update(t,e){const s=await this.client.patch({endpoint:`/${this.path}/${t}`,data:e});return Ft(this.path,s)}},Qt=t=>class extends t{async _upload(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t,multipart:!0});return Ft(this.path,e)}},Jt=t=>class extends t{async _deactivate(t,e){const s=await this.client.delete({endpoint:`/${this.path}/${t}`,data:e});return Ft(this.path,s)}},Gt=t=>class extends t{async _download(t,e){const s=this.client.addConfigToRequest({responseType:"stream"}),i=await this.client.get({endpoint:`/${this.path}/${t}`,format:e});return s.eject(),i}},Zt=t=>class extends t{async one(t=new this.QueryParams({})){const{items:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});if(!e||!e.length)throw new d;if(e.length>1)throw new u;const[s]=e;return Ft(this.path,s)}async first(t=new this.QueryParams({})){const{items:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});if(!e||!e[0])return null;const[s]=e;return Ft(this.path,s)}async count(t=new this.QueryParams({})){t.count=!0;const{count:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});return e||0}async*all(t=new this.QueryParams({})){let e=`/${this.path}?${t.toQueryString()}`;for(;e;){const t=await this.client.get({endpoint:e});if(t.items)for(const e of t.items){const t=Ft(this.path,e);yield t}e=t.next_page_uri}}};class te extends(Vt(Yt).with(Zt,Wt)){constructor(t){super("accounts",W,t)}}class ee{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class se extends ee{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class ie extends ee{constructor(t,e,s){super(),this.userId=t,this.issuer=e,this.fundingType=s}toObject(){return{user_id:this.userId,issuer:this.issuer,funding_type:this.fundingType}}}class re extends ee{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class ae extends ee{constructor(t,e,s,i){super(),this.n=t,this.eM=e,this.eY=s,this.c2=i}get number(){return this._number}set n(t){if([!!t,16===t.length,/^\d{16}/.test(t)].some((t=>!t)))throw new p("Invalid number");this._number=t.trim()}get expMonth(){return this._expMonth}set eM(t){if([!!t,t>=1,t<=12].some((t=>!t)))throw new p("Invalid expiration month");this._expMonth=t}get expYear(){return this._expYear}set eY(t){if([!!t,t>=18,t<=99].some((t=>!t)))throw new p("Invalid expiration year");this._expYear=t}get cvv2(){return this._cvv2}set c2(t){if([!!t,3===t.length,/^\d{3}/.test(t)].some((t=>!t)))throw new p("Invalid cvv2");this._cvv2=t}toObject(){return{number:this.number,exp_month:this.expMonth,exp_year:this.expYear,cvv2:this.cvv2}}}class ne extends ee{constructor({cvv:t,cvv2:e,expMonth:s,expYear:i,icvv:r,number:a,pinBlock:n,pinAttemptsExceeded:c}){super(),this.c=t,this.c2=e,this.em=s,this.ey=i,this.ic=r,this.n=a,this.pinBloc=n,this.pinAttemptsExceeded=c}get cvv(){return this._cvv}set c(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new p("Invalid cvv");this._cvv=t}get cvv2(){return this._cvv2}set c2(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new p("Invalid cvv2");this._cvv2=t}get expMonth(){return this._expMonth}set em(t){if(!t)return;if([t>=1,t<=12].some((t=>!t)))throw new p("Invalid expiration month");this._expMonth=t}get expYear(){return this._expYear}set ey(t){if(!t)return;if([t>=18,t<=99].some((t=>!t)))throw new p("Invalid expiration year");this._expYear=t}get icvv(){return this._icvv}set ic(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new p("Invalid icvv");this._icvv=t}get number(){return this._number}set n(t){if([!!t,16===t.length,/^\d{16}/.test(t)].some((t=>!t)))throw new p("Invalid number");this._number=t}toObject(){return{cvv:this.cvv,cvv2:this.cvv2,exp_month:this.expMonth,exp_year:this.expYear,icvv:this.icvv,number:this.number,pin_block:this.pinBloc,pin_attempts_exceeded:this.pinAttemptsExceeded}}}class ce extends ee{constructor(t){super(),this.userId=t}toObject(){return{user_id:this.userId}}}class oe extends ee{constructor(t,e,s,i){super(),this.category=t,this.name=i,this.goalAmount=e,this.validDate=s}get goalDate(){return this._goalDate}set validDate(t){if(t){if(F(t).getTime()<=F(Date.now()).getTime())throw new p("The goal_date always need to be higher than now");this._goalDate=t}}toObject(){return{category:this.category,goal_amount:this.goalAmount,goal_date:this.goalDate,name:this.name}}}const de=i.createRequire("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("cuenca.umd.js",document.baseURI).href)("form-data");class ue extends ee{constructor({isBack:t=!1,file:e,extension:s,type:i,userId:r="me"}){super(),this.extension=s,this.file=e,this.isBack=t,this.type=i,this.userId=r}toObject(){return{extension:this.extension,file:this.file,is_back:this.isBack,type:this.type,user_id:this.userId}}toFormData(){const t=new de;return t.append("extension",this.extension),t.append("file",this.file),t.append("type",this.type),t.append("user_id",this.userId),t}}class he extends ee{constructor(t,e,s,i,r){super(),this.accountNumber=t,this.amount=e,this.descriptor=s,this.idempotencyKey=i,this.recipientName=r}toObject(){return{account_number:this.accountNumber,amount:this.amount,descriptor:this.descriptor,idempotency_key:this.idempotencyKey,recipient_name:this.recipientName}}}class le extends ee{constructor(t){super(),this.pwd=t}get password(){return this._password}set pwd(t){if([!!t,t.length>=6].some((t=>!t)))throw new p("Invalid password");this._password=t}toObject(){return{password:this.password}}}class pe extends ee{constructor(t,e){super(),this.pwd=t,this.isActive=e,this.req={password:this.password,isActive:this.isActive}}get password(){return this._password}get request(){return this._request}set pwd(t){if(!t)return void(this._password=t);if([t.length>=6].some((t=>!t)))throw new p("Invalid password");this._password=t}set req(t){if(t.password&&null!=t.isActive)throw new p("Only one property can be updated at a time");this._request=t}toObject(){return{password:this.request.password,is_active:this.request.isActive}}}class me extends ee{constructor(t,e="me"){super(),this.pwd=t,this.userId=e}get password(){return this._password}set pwd(t){if([!!t,6===t.length,/^\d{6}$/.test(t)].some((t=>!t)))throw new p("Invalid password");this._password=t}toObject(){return{password:this.password,user_id:this.userId}}}class fe extends ee{constructor({ip:t,location:e,type:s,version:i}){super(),this.ipAddress=t,this.location=e,this.type=s,this.version=i}get ip(){return this._ip}set ipAddress(t){if(!t)throw new p("missing ip address");if(!t.split(".").every((t=>t>=0&&t<=255)))throw new p("Invalid ip address");this._ip=t}toObject(){return{ip:this.ip,location:this.location,type:this.type,version:this.version}}}class we extends ee{constructor({city:t,country:e,extNumber:s,intNumber:i,postalCode:r,state:a,street:n}={}){super(),this.city=t,this.country=e,this.extNumber=s,this.intNumber=i,this.postalCode=r,this.state=a,this.street=n}toObject(){return{city:this.city,country:this.country,ext_number:this.extNumber,int_number:this.intNumber,postal_code:this.postalCode,state:this.state,street:this.street}}}class _e extends ee{constructor({data:t,isMx:e,status:s,type:i,uriBack:r,uriFront:a}){super(),this.data=t,this.isMx=e,this.status=s,this.type=i,this.uriBack=r,this.uriFront=a}toObject(){return{data:this.data,is_mx:this.isMx,status:this.status,type:this.type,uri_back:this.uriBack,uri_front:this.uriFront}}}class be extends ee{constructor({address:t,govtId:e,profession:s,proofOfAddress:i,proofOfLife:r,requiredLevel:a,termsOfService:n,verificationId:c}){super(),this.adrs=t,this.govstIds=e,this.profession=s,this.addressProofs=i,this.lifeProofs=r,this.requiredLevel=a,this.terms=n,this.verificationId=c}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=new fe(t).toObject())}get address(){return this._address}set adrs(t){t&&(this._address=new we(t).toCleanObject())}get proofOfLife(){return this._proofOfLife}set lifeProofs(t){t&&(this._proofOfLife=new _e(t).toCleanObject())}get proofOfAddress(){return this._proofOfAddress}set addressProofs(t){t&&(this._proofOfAddress=new _e(t).toCleanObject())}get govtId(){return this._govtId}set govstIds(t){t&&(this._govtId=new _e(t).toCleanObject())}toObject(){return{address:this.address,profession:this.profession,requiredLevel:this.requiredLevel,terms_of_service:this.termsOfService,verification_id:this.verificationId,proof_of_life:this.proofOfLife,proof_of_address:this.proofOfAddress,govt_id:this.govtId}}}class ye extends ee{constructor({platformId:t,recipient:e,type:s}){super(),this.platformId=t,this.type=s,this.recipients=e}get recipient(){return this._recipient}set recipients(t){switch(H(R,this.type)){case R.Email:if(!t.match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/))throw new p("Invalid email address");this._recipient=t;break;case R.Phone:if(!t.match(/^\+?[0-9]{10,15}$/))throw new p("Invalid Phone Number");this._recipient=t}}toObject(){return{platform_id:this.platformId,recipient:this.recipient,type:this.type}}}class ve extends ee{constructor({code:t}){super(),this.code=t}toObject(){return{code:this.code}}}class ge extends ee{constructor(t,e,s){super(),this.amount=t,this.transactionType=e,this.walletUri=s}toObject(){return{amount:this.amount,transaction_type:this.transactionType,wallet_uri:this.walletUri}}}class Oe extends(Vt(Yt).with(zt,Jt,Zt,Wt,Xt)){constructor(t){super("api_keys",z,t)}async create(){return await this._create()}async deactivate(t,e=0){return await this._deactivate(t,{minutes:e})}async update(t,e,s){const i=new se(s,e);return await this._update(t,i.toCleanObject())}}class Ae extends(Vt(Yt).with(zt)){constructor(t){super("arpc",Object,t)}async create({number:t,arqc:e,arpcMethod:s,transactionData:i,responseCode:r,transactionCounter:a,panSequence:n,uniqueNumber:c,trackDataMethod:o}){const d=new ArpcRequest({number:t,arqc:e,arpcMethod:s,transactionData:i,responseCode:r,transactionCounter:a,panSequence:n,uniqueNumber:c,trackDataMethod:o});return await this._create(d.toObject())}}class je extends(Vt(Yt).with(Zt,Wt)){constructor(t){super("balance_entries",G,t)}async relatedTransaction(t){const e=Ht(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ft(`${e}`,s)}async fundingInstrument(t){const e=Ht(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ft(`${e}`,s)}}class xe extends(Vt(Yt).with(Zt,Wt)){constructor(t){super("bill_payments",Z,t)}async serviceProvider(t){const e=Ht(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ft(`${e}`,s)}}class Ie extends(Vt(Yt).with(Zt,Wt)){constructor(t){super("bridge/accounts",nt,t)}}class ke extends(Vt(Yt).with(Zt,Wt)){constructor(t){super("bridge/transactions",ct,t)}}class Te extends(Vt(Yt).with(zt)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:i}){const r=new ae(t,e,s,i);return await this._create(r.toCleanObject())}async card(t){if(!t)return null;const e=await this.client.get({endpoint:t});return Ot.fromObject(e)}}class Ce extends(Vt(Yt).with(zt,Jt,Zt,Wt,Xt)){constructor(t){super("cards",et,t)}async create(t,e,s){const i=new ie(t,e,s);return await this._create(i.toCleanObject())}async deactivate(t){return await this._deactivate(t)}async update(t,e,s){const i=new re(e,s);return await this._update(t,i.toCleanObject())}}class Ue extends(Vt(Yt).with(Zt,Wt)){constructor(t){super("card_transactions",tt,t)}async relatedCard(t){const e=Ht(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ft(`${e}`,s)}}class Ne extends(Vt(Yt).with(zt)){constructor(t){super("card_validations",Object,t)}async create({cvv:t,cvv2:e,expMonth:s,expYear:i,icvv:r,number:a,pinBlock:n,pinAttemptsExceeded:c}){const o=new ne({cvv:t,cvv2:e,expMonth:s,expYear:i,icvv:r,number:a,pinBlock:n,pinAttemptsExceeded:c});return await this._create(o.toCleanObject())}async card(t){if(!t)return null;const e=await this.client.get({endpoint:t});return Ot.fromObject(e)}}class Se extends(Vt(Yt).with(Zt,Wt)){constructor(t){super("commissions",Y,t)}async relatedTransaction(t){const e=Ht(t);if(null==e)return null;const s=await this.client.get(t);return Ft(`${e}`,s)}}class qe extends(Vt(Yt).with(Zt,Wt)){constructor(t){super("deposits",Q,t)}async source(t){const e=await this.client.get({endpoint:t});return mt.fromObject(e)}}class Pe extends(Vt(Yt).with(Gt,Qt)){constructor(t){super("files",Object,t)}async download(t){return await this._download(t,N.Any)}async upload({...t}){const e=new ue(t);return await this._upload(e.toFormData())}}class Be extends(Vt(Yt).with(zt,Wt,Zt)){constructor(t){super("kyc_validations",Object,t)}async create(t="me"){const e=new ce(t);return await this._create(e.toObject())}}class $e extends(Vt(Yt).with(zt)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class De extends(Vt(Yt).with(zt,Jt,Zt,Wt,Xt)){constructor(t){super("savings",rt,t)}async create(t,e,s,i){const r=new oe(t,e,s,i);return await this._create(r.toObject())}async deactivate(t){return await this._deactivate(t)}async update(t,e,s,i,r){const a=new oe(e,s,i,r);return await this._update(t,a.toObject())}}class Le extends(Vt(Yt).with(Zt,Wt)){constructor(t){super("service_providers",Y,t)}}class Ee extends(Vt(Yt).with(Gt,Zt)){constructor(t){super("statements",at,t)}async pdf(t){return await this._download(t,N.Pdf)}async xml(t){return await this._download(t,N.Xml)}}class Ke extends(Vt(Yt).with(zt,Zt,Wt)){constructor(t){super("transfers",J,t)}async destination(t){const e=await this.client.get({endpoint:t});return mt.fromObject(e)}async create({accountNumber:t,amount:e,descriptor:s,recipientName:i,idempotencyKey:r}){const a=r||this.constructor._genIdempotencyKey(t,e),n=new he(t,e,s,a,i);return await this._create(n.toCleanObject())}async createMany(t){if(!t||!Array.isArray(t)||!t.length)return{};const e={submitted:[],errors:[]};return await Promise.all(t.map((async({accountNumber:t,amount:s,descriptor:i,idempotencyKey:r,recipientName:a})=>{const n=new he(t,s,i,r||this.constructor._genIdempotencyKey(t,s),a);let c;try{c=await this._create(n.toCleanObject())}catch(t){return void e.errors.push({actualRequest:n,error:t})}e.submitted.push(c)}))),e}static _genIdempotencyKey(t,e){const[s]=F(Date.now()).toISOString().split("T");return`${s}:${t}:${e}`}}class Me extends(Vt(Yt).with(zt,Xt)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new le(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const i=new pe(e,t);return await this._update(s,i.toCleanObject())}}class Re extends(Vt(Yt).with(zt,Jt)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new me(t,e),i=await this._create(s.toObject());if(!i.success)throw new l;return this.loginIdInHeaders=this.client.addHeadersToRequest({"X-Cuenca-LoginId":i.id}),i}async logOut(t="me"){return await this._deactivate(t,{}),this.loginIdInHeaders&&this.loginIdInHeaders.eject(),!0}}class Ve extends(Vt(Yt).with(Zt,Xt,Wt)){constructor(t){super("users",it,t)}async update({userId:t="me",...e}){const s=new be(e);return await this._update(t,s.toCleanObject())}}class Fe extends(Vt(Yt).with(zt,Xt)){constructor(t){super("verifications",Object,t)}async create({platformId:t,recipient:e,type:s}){const i=new ye({platformId:t,recipient:e,type:s});return await this._create(i.toObject())}async update({code:t,id:e}){const s=new ve({code:t});return await this._update(e,s.toObject())}}class He extends(Vt(Yt).with(zt,Zt,Wt)){constructor(t){super("wallet_transactions",st,t)}async create(t,e,s){const i=new ge(t,e,s);return await this._create(i.toObject())}async realtedWallet(t){const e=Ht(t);if(null==e)return null;const s=await this.client.get(t);return Ft(`${e}`,s)}}class Ye extends(Vt(Yt).with(Zt,Wt)){constructor(t){super("whatsapp_transfers",Y,t)}async accountDestination(t){const e=Ht(t);if(null==e)return null;const s=await this.client.get(t);return Ft(`${e}`,s)}}t.Cuenca=class{constructor({apiKey:t,apiSecret:e,language:s="en",phase:i=q.Sandbox}={}){this.client=new pt({apiKey:t,apiSecret:e,language:s,phase:i}),this.withClient(this.client)}withClient(t){this.accounts=new te(t),this.apiKeys=new Oe(t),this.balanceEntries=new je(t),this.billPayments=new xe(t),this.bridgeAccounts=new Ie(t),this.bridgeTransactions=new ke(t),this.cardActivations=new Te(t),this.cards=new Ce(t),this.cardTransactions=new Ue(t),this.cardValidations=new Ne(t),this.commissions=new Se(t),this.deposits=new qe(t),this.files=new Pe(t),this.kycValidations=new Be(t),this.loginTokens=new $e(t),this.savings=new De(t),this.serviceProviders=new Le(t),this.statements=new Ee(t),this.transfers=new Ke(t),this.userCredentials=new Me(t),this.userLogins=new Re(t),this.users=new Ve(t),this.verifications=new Fe(t),this.walletTransactions=new He(t),this.whatsAppTransfers=new Ye(t)}}})); |
{ | ||
"name": "@cuenca-mx/cuenca-js", | ||
"version": "0.0.6-dev.1", | ||
"version": "0.0.6", | ||
"description": "Cuenca client for JS", | ||
@@ -5,0 +5,0 @@ "main": "./build/index.cjs", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
245594