@cuenca-mx/cuenca-js 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("axios"),require("buffer")):"function"==typeof define&&define.amd?define(["exports","axios","buffer"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).cuenca={},t.axios,t.Buffer)}(this,(function(t,e,s){"use strict";function i(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var r=i(e),a=i(s);class n extends Error{constructor(t){super(t),Object.setPrototypeOf(this,n.prototype)}}class c extends n{constructor(t,e){super(`Cuenca Response Error: ${e}`),this.name="CuencaResponseError",this.data=t,this.status=e,Object.setPrototypeOf(this,c.prototype)}}class o extends n{constructor(){super("No results were found"),this.name="NoResultFound",Object.setPrototypeOf(this,o.prototype)}}class u extends n{constructor(){super("One result was expected but multiple were found"),this.name="MultipleResultsFound",Object.setPrototypeOf(this,u.prototype)}}class d extends n{constructor(){super("An invalid JWT token was obtained during authentication"),this.name="MalformedJwtToken",Object.setPrototypeOf(this,d.prototype)}}class h extends n{constructor(){super("Invalid password"),this.name="InvalidPassword",Object.setPrototypeOf(this,h.prototype)}}class l extends Error{constructor(t){super(t),Object.setPrototypeOf(this,l.prototype)}}const p="undefined"!=typeof window&&void 0!==window.document,m="undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process),f=p,_=m;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(a.default.Buffer.from(`${s}==`,"base64").toString())}catch(t){throw new d}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 w{static Created=new w("created");static ReadyForAnalysis=new w("ready_for_analysis");static Analysis=new w("analysis");static Dictum=new w("dictum");static Justified=new w("justified");static Unusual=new w("unusual");static Reported=new w("reported");static Questionary=new w("questionary");static JustifiedByTime=new w("justified_by_time");static AdditionalInformation=new w("additional_information");static Documentation=new w("documentation");static Xml=new w("xml");constructor(t){this.value=t}}class g{static Succeeded=new g("succeeded");static NotValidated=new g("not_validated");static Failed=new g("failed");static OnWaitList=new g("on_wait_list");constructor(t){this.value=t}}class y{static Created=new y("created");static Failed=new y("failed");static Pending=new y("pending");static Succeeded=new y("succeeded");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 O{static Credit=new O("credit");static Debit=new O("debit");constructor(t){this.value=t}}class A{static Accendo=new A("accendo");static Cuenca=new A("cuenca");constructor(t){this.value=t}}class j{static Buy=new j("buy");static Sell=new j("sell");constructor(t){this.value=t}}class x{static Active=new x("active");static Blocked=new x("blocked");static Created=new x("created");static Deactivated=new x("deactivated");static Printing=new x("printing");constructor(t){this.value=t}}class I{static Auth=new I("auth");static Capture=new I("capture");static Chargeback=new I("chargeback");static Expiration=new I("expiration");static Refund=new I("refund");static Void=new I("void");constructor(t){this.value=t}}class N{static Mxn=new N("mxn");static Usdc=new N("usdc");static Sol=new N("sol");constructor(t){this.value=t}}class k{static Physical=new k("physical");static Virtual=new k("virtual");constructor(t){this.value=t}}class S{static CardRequest=new S("card_request");static CashDeposit=new S("cash_deposit");static OutgoingSpei=new S("outgoing_spei");constructor(t){this.value=t}}class T{static Cash=new T("cash");static Internal=new T("internal");static Spei=new T("spei");constructor(t){this.value=t}}class D{static Credit=new D("credit");static Debit=new D("debit");constructor(t){this.value=t}}class C{static Pdf=new C("application/pdf");static Xml=new C("application/xml");static Json=new C("application/json");static Any=new C("*/*");constructor(t){this.value=t}}class U{static Curp=new U("curp");static Dni=new U("dni");static Ine=new U("ine");static Passport=new U("passport");static Residency=new U("residency");static MatriculaConsular=new U("matricula_consular");static ProofOfLiveness=new U("proof_of_liveness");static ProofOfAddress=new U("proof_of_address");constructor(t){this.value=t}}class q{static Client=new q("client");static Server=new q("server");constructor(t){this.value=t}}class R{static Low=new R("low");static Medium=new R("medium");static High=new R("high");constructor(t){this.value=t}}class P{static Deposit=new P("deposit");static Withdrawal=new P("withdrawal");constructor(t){this.value=t}}class B{static Bimester=new B("bimester");static Trimester=new B("trimester");static Semester=new B("semester");constructor(t){this.value=t}}class L{static Polygon=new L("polygon");static Solana=new L("solana");constructor(t){this.value=t}}class M{static Sandbox=new M("sandbox-api");static Stage=new M("stage-api");static Api=new M("api");constructor(t){this.value=t}}class E{static Amount=new E("amount");static Volume=new E("volume");constructor(t){this.value=t}}class K{static Cable=new K("cable");static CreditCard=new K("credit_card");static Electricity=new K("electricity");static Gas=new K("gas");static Internet=new K("internet");static LandlineTelephone=new K("landline_telephone");static MobileTelephonePostpaid=new K("mobile_telephone_postpaid");static MobileTelephonePrepaid=new K("mobile_telephone_prepaid");static SateliteTelevision=new K("satelite_television");static Water=new K("water");constructor(t){this.value=t}}class ${static General=new $("general");static Home=new $("home");static Vehicle=new $("vehicle");static Travel=new $("travel");static Clothing=new $("clothing");static Other=new $("other");static Medical=new $("medical");static Accident=new $("accident");static Education=new $("education");constructor(t){this.value=t}}class V{static AccountEntries=new V("session.account_entries");static DownloadFile=new V("session.download_file");static Registration=new V("session.registration");static ShowCard=new V("session.show_card");static UploadFile=new V("session.upload_file");constructor(t){this.value=t}}class F{static Chester=new F("chester");static External=new F("external");static Manual=new F("manual");constructor(t){this.value=t}}class Y{static NotSet=new Y("not_set");static Terminal=new Y("terminal");static Manual=new Y("manual");static Unknown=new Y("unknown");static Contactless=new Y("contactless");static FallBack=new Y("fall_back");static MagneticStripe=new Y("magnetic_stripe");static RecurringCharge=new Y("recurring_charge");constructor(t){this.value=t}}class H{static Created=new H("created");static Failed=new H("failed");static InReview=new H("in_review");static Submitted=new H("submitted");static Succeeded=new H("succeeded");constructor(t){this.value=t}}class Q{static Internal=new Q("internal");static Spei=new Q("spei");constructor(t){this.value=t}}class W{static Active=new W("active");static Deactivated=new W("deactivated");static InReview=new W("in_review");static Fraud=new W("fraud");static PldBlocked=new W("pld_blocked");static UserBlocked=new W("user_blocked");static Inactive=new W("inactive");constructor(t){this.value=t}}class z{static Moral=new z("moral");static Physical=new z("physical");constructor(t){this.value=t}}class X{static Created=new X("created");static NotVerified=new X("not_verified");static Rejected=new X("rejected");static ReviewNeeded=new X("review_needed");static Submitted=new X("submitted");static Succeeded=new X("succeeded");static UploadAgain=new X("upload_again");constructor(t){this.value=t}}class J{static Phone=new J("phone");static Email=new J("email");constructor(t){this.value=t}}class G{static Deposit=new G("deposit");static Withdrawal=new G("withdrawal");constructor(t){this.value=t}}class Z{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;"number"==typeof 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 tt extends Z{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class et extends Z{constructor({agent:t,comments:e,committeeMeetingDate:s,count:i,hasQuestionnaire:r,inProcess:a,status:n,typeOfFilter:c,transactionDate:o,...u}){super(u),this.agent=t,this.comments=e,this.committeeMeetingDate=s,this.count=i,this.hasQuestionnaire=r,this.inProcess=a,this.status=n,this.typeOfFilter=c,this.transactionDate=o}toObject(){return Object.assign(super.toObject(),{agent:this.agent,comments:this.comments,committee_meeting_date:this.committeeMeetingDate,count:this.count,has_questionnaire:this.hasQuestionnaire,in_process:this.inProcess,status:this.status,transaction_date:this.transactionDate,type_of_filter:this.typeOfFilter})}}class st extends Z{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class it extends Z{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 rt extends Z{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class at extends Z{constructor({emailAddress:t,...e}){super(e),this.emailAddress=t}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress})}}class nt extends Z{constructor({accountId:t,...e}){super(e),this.accountId=t}toObject(){return Object.assign(super.toObject(),{account_id:this.accountId})}}class ct extends Z{constructor({accountId:t,...e}){super(e),this.accountId=t}toObject(){return Object.assign(super.toObject(),{account:this.accountId})}}class ot extends ct{constructor({status:t,type:e,...s}){super(s),this.status=t,this.type=e}toObject(){return Object.assign(super.toObject(),{status:this.status,type:this.type})}}class ut extends Z{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 dt extends Z{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class ht extends Z{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class lt extends ht{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 pt extends Z{constructor({emailAddress:t,...e}){super(e),this.emailAddress=t}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress})}}class mt extends Z{constructor({month:t,year:e,...s}={}){super(s),void 0!==t&&void 0!==e&&(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=Number(t),i=Number(e);if(!Number.isInteger(s)||s<1||s>12)throw new l("month must be an integer between 1 and 12");if(!Number.isInteger(i)||i<1900||i>9999)throw new l("year must be an integer between 1900 and 9999");const r=new Date(Date.UTC(i,s-1,1)),a=new Date,n=new Date(Date.UTC(a.getUTCFullYear(),a.getUTCMonth(),1));if(r.getTime()>=n.getTime()){const t=String(s).padStart(2,"0");throw new l(`${i}-${t} is not a valid year-month pair`)}this._date={month:s,year:i}}toObject(){return Object.assign(super.toObject(),{month:this.month,year:this.year})}}class ft extends ht{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 _t extends Z{constructor({emailAddress:t,hasCurpDocument:e,phoneNumber:s,status:i,...r}={}){super(r),this.emailAddress=t,this.hasCurpDocument=e,this.phoneNumber=s,this.status=i}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress,has_curp_document:this.hasCurpDocument,phone_number:this.phoneNumber,status:this.status})}}class bt extends Z{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class wt extends Z{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}const gt=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},yt=(t,e)=>Object.values(t).find((t=>t.value===e));class vt{constructor({city:t,colonia:e,country:s,createdAt:i,extNumber:r,fullName:a,intNumber:n,postalCode:c,state:o,street:u}){this.city=t,this.colonia=e,this.country=s,this.createdAt=gt(i),this.extNumber=r,this.fullName=a,this.intNumber=n,this.postalCode=c,this.state=o,this.street=u}static fromObject=({city:t,colonia:e,country:s,state:i,street:r,...a})=>new vt({city:t,colonia:e,country:s,state:i,street:r,createdAt:a.created_at,extNumber:a.ext_number,fullName:a.full_name,intNumber:a.int_number,postalCode:a.postal_code})}class Ot{constructor({agent:t,createdAt:e,status:s,updatedAt:i,comments:r}){this.agent=t,this.comments=r,this.createdAt=gt(e),this.updatedAt=gt(i),this.status=yt(w,s)}static fromObject=({agent:t,comments:e,status:s,...i})=>new Ot({agent:t,comments:e,status:s,createdAt:i.created_at,updatedAt:i.updated_at})}class At{constructor({hasAudit:t,auditProvider:e,auditDate:s,auditComments:i}){this.hasAudit=t,this.auditProvider=e,this.auditDate=gt(s),this.auditComments=i}static fromObject=({...t})=>new At({hasAudit:t.has_audit,auditProvider:t.audit_provider,auditDate:t.audit_date,auditComments:t.audit_comments})}class jt{constructor({accountUsageDescription:t=null,businessDescription:e=null}={}){this.accountUsageDescription=t,this.businessDescription=e}static fromObject=({...t}={})=>new jt({accountUsageDescription:t.account_usage_description,businessDescription:t.business_description});toObject(){return{account_usage_description:this.accountUsageDescription,business_description:this.businessDescription}}}class xt{constructor({bank:t,account:e}){this.bank=t,this.account=e}static fromObject=({account:t,bank:e})=>new xt({bank:e,account:t})}class It{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 It({code:t,error:e,identifier:s,message:i})}class Nt{constructor({data:t,errors:e,isMx:s,status:i,type:r,uriBack:a,uriFront:n}){this.data=t,this.isMx=s,this.status=yt(X,i),this.type=yt(U,r),this.uriBack=a,this.uriFront=n,e&&e.length>0&&(this.errors=e.map((t=>It.fromObject(t))))}static fromObject=({data:t,errors:e,status:s,type:i,...r})=>new Nt({data:t,errors:e,status:s,type:i,isMx:r.is_mx,uriBack:r.uri_back,uriFront:r.uri_front})}class kt{constructor({licenseRequired:t=!1,supervisoryEntity:e=null,licenseType:s=null,licenseDate:i=null}={}){this.licenseRequired=t,this.supervisoryEntity=e,this.licenseType=s,this.licenseDate=i?gt(i):null}static fromObject=({...t}={})=>new kt({licenseRequired:t.license_required,supervisoryEntity:t.supervisory_entity,licenseType:t.license_type,licenseDate:t.license_date})}class St{constructor({names:t,curp:e,rfc:s,firstSurname:i,secondSurname:r}){this.names=t,this.curp=e,this.rfc=s,this.firstSurname=i,this.secondSurname=r}static fromObject=({names:t,curp:e,rfc:s,...i})=>new St({names:t,curp:e,rfc:s,firstSurname:i.first_surname,secondSurname:i.second_surname});toObject(){return{names:this.names,curp:this.curp,rfc:this.rfc,first_surname:this.firstSurname,second_surname:this.secondSurname}}}class Tt extends St{constructor({names:t,curp:e,rfc:s,firstSurname:i,secondSurname:r,job:a,phoneNumber:n,emailAddress:c,address:o}){super({names:t,curp:e,rfc:s,firstSurname:i,secondSurname:r}),this.job=a,this.phoneNumber=n,this.emailAddress=c,this.address=o}get address(){return this._address}set address(t){t&&(this._address=vt.fromObject(t))}static fromObject=({job:t,address:e,...s})=>new Tt({address:e,job:t,phoneNumber:s.phone_number,emailAddress:s.email_address,...St.fromObject(s)})}class Dt extends St{constructor({names:t,curp:e,rfc:s,firstSurname:i,secondSurname:r,shareCapital:a,percentage:n}){super({names:t,curp:e,rfc:s,firstSurname:i,secondSurname:r}),this.shareCapital=a,this.percentage=n}static fromObject=({percentage:t,...e})=>new Dt({percentage:t,shareCapital:e.share_capital,...St.fromObject(e)})}class Ct{constructor({name:t,percentage:e,shareholders:s,legalRepresentatives:i}){this.name=t,this.percentage=e,this.shareholders=s,this.legalRepresentatives=i}get shareholders(){return this._shareholders}set shareholders(t){t&&(this._shareholders=t.map((t=>Dt.fromObject(t))))}get legalRepresentatives(){return this._legalRepresentatives}set legalRepresentatives(t){t&&(this._legalRepresentatives=t.map((t=>Tt.fromObject(t))))}static fromObject=({name:t,percentage:e,shareholders:s,...i})=>new Ct({name:t,percentage:e,shareholders:s||[],legalRepresentatives:i.legal_representatives||[]})}class Ut{constructor({speiTransfersNum:t,speiTransfersAmount:e,internalTransfersNum:s,internalTransfersAmount:i}={}){this.speiTransfersNum=t,this.speiTransfersAmount=e,this.internalTransfersNum=s,this.internalTransfersAmount=i}static fromObject=({...t}={})=>new Ut({speiTransfersNum:t.spei_transfers_num,speiTransfersAmount:t.spei_transfers_amount,internalTransfersNum:t.internal_transfers_num,internalTransfersAmount:t.internal_transfers_amount})}class qt{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 qt({ip:t,location:e,type:s,version:i})}class Rt{constructor({isVulnerableActivity:t,hasSatRegister:e,satRegisteredDate:s,isInCompliance:i}){this.isVulnerableActivity=t,this.hasSatRegister=e,this.satRegisteredDate=gt(s),this.isInCompliance=i}static fromObject=({...t})=>new Rt({isVulnerableActivity:t.is_vulnerable_activity,hasSatRegister:t.has_sat_register,satRegisteredDate:t.sat_registered_date,isInCompliance:t.is_in_compliance})}var Pt="1.0.2";class Bt{constructor({apiKey:t,apiSecret:e,language:s="en",phase:i=M.Sandbox}={}){this.phase=i,this.basicAuth={apiKey:t,apiSecret:e},this.jwtToken=null,this._session=r.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 ${a.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=C.Json,method:i="GET",multipart:r=!1,params:a=null}){let o={};r||(o={"Content-Type":"application/json",Accept:`application/${s.value}`}),this.authHeader&&(o.Authorization=this.authHeader),_?o["User-Agent"]=`cuenca-js/${Pt}`:f&&(o["X-User-Agent"]=`cuenca-js/${Pt}`),this.jwtToken&&(this.jwtToken.isExpired&&(this.jwtToken=await b.create(this)),o["X-Cuenca-Token"]=this.jwtToken.token);const u=this.addHeadersToRequest(o),d=e;d&&!r&&Object.keys(d).forEach((t=>{d[t]instanceof Date&&(d[t]=d[t].toISOString())}));const h=this.addConfigToRequest({method:i,params:a,data:d,url:t});let l;try{l=await this._session.request({baseURL:this.origin})}catch(t){throw t.response?new c(t.response.data,t.response.status):t.request?new n(`No response received: ${t.errno}: ${t.code}`):new n(t.message)}finally{u.eject(),h.eject()}return l.data}}class Lt{constructor({accountNumber:t,createdAt:e,id:s,institutionName:i,name:r,userId:a}){this.accountNumber=t,this.createdAt=gt(e),this.id=s,this.institutionName=i,this.name=r,this.userId=a}static fromObject=({id:t,name:e,...s})=>new Lt({id:t,name:e,accountNumber:s.account_number,createdAt:s.created_at,institutionName:s.institution_name,userId:s.user_id})}class Mt{constructor({agent:t,accountNumber:e,actualPeriodCount:s,actualPeriodSum:i,aggregationType:r,changeLog:a,comments:n,committeeMeetingDate:c,createdAt:o,questionnaireId:u,description:d,hasQuestionnaire:h,id:l,institutionName:p,level:m,name:f,period:_,periodNumber:b,status:g,sourceType:y,transactionDate:v,type:O,typeOfFilter:A,userId:j,updatedAt:x}){this.accountNumber=e,this.actualPeriodCount=s,this.actualPeriodSum=i,this.agent=t,this.aggregationType=r,this.comments=n,this.committeeMeetingDate=gt(c),this.createdAt=gt(o),this.questionnaireId=u,this.description=d,this.hasQuestionnaire=h,this.id=l,this.institutionName=p,this.level=yt(R,m),this.name=f,this.period=yt(B,_),this.periodNumber=b,this.status=yt(w,g),this.sourceType=yt(F,y),this.transactionDate=gt(v),this.type=yt(P,O),this.typeOfFilter=yt(E,A),this.updatedAt=gt(x),this.userId=j,this.changeLog=a}static fromObject=({agent:t,comments:e,description:s,id:i,level:r,name:a,period:n,status:c,type:o,...u})=>new Mt({agent:t,comments:e,description:s,id:i,level:r,name:a,period:n,status:c,type:o,accountNumber:u.account_number,actualPeriodCount:u.actual_period_count,actualPeriodSum:u.actual_period_sum,aggregationType:u.aggregation_type,changeLog:u.change_log,committeeMeetingDate:u.committee_meeting_date,createdAt:u.created_at,questionnaireId:u.questionnaire_id,hasQuestionnaire:u.has_questionnaire,institutionName:u.institution_name,periodNumber:u.period_number,sourceType:u.source_type,transactionDate:u.transaction_date,typeOfFilter:u.type_of_filter,updatedAt:u.updated_at,userId:u.user_id});get changeLog(){return this._changeLog}set changeLog(t){t&&Array.isArray(t)&&0!==t.length&&(this._changeLog=t.map((t=>Ot.fromObject(t))))}}class Et{constructor({createdAt:t,deactivatedAt:e,id:s,secret:i,userId:r,updatedAt:a}){this.createdAt=gt(t),this.deactivatedAt=gt(e),this.id=s,this.secret=i,this.userId=r,this.updatedAt=gt(a)}static fromObject=({id:t,secret:e,...s})=>new Et({id:t,secret:e,createdAt:s.created_at,deactivatedAt:s.deactivated_at,userId:s.user_id,updatedAt:s.updated_at});get isActive(){const t=gt(Date.now());return!this.deactivatedAt||this.deactivatedAt.getTime()>t.getTime()}}class Kt{constructor({arpc:t,createdAt:e,cardUri:s,isValidArqc:i}){this.arpc=t,this.createdAt=gt(e),this.cardUri=s,this.isValidArqc=i}static fromObject=({arpc:t,...e})=>new Kt({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=gt(e),this.descriptor=s,this.entryType=yt(D,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 Vt{constructor({amount:t,createdAt:e,descriptor:s,status:i,userId:r}){this.amount=t,this.createdAt=gt(e),this.descriptor=s,this.status=yt(H,i),this.userId=r}}class Ft extends Vt{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 Ft({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 Yt{constructor({id:t,createdAt:e,updatedAt:s,names:i,firstSurname:r,secondSurname:a,dateOfBirth:n,countryOfBirth:c,rfc:o,curp:u,userId:d,gender:h,phoneNumber:l,emailAddress:p,clientClabe:m,govtId:f,proofOfAddress:_,status:b,termsOfService:w,address:y}){this.id=t,this.createdAt=gt(e),this.updatedAt=gt(s),this.emailAddress=p,this.clientClabe=m,this.govtId=f,this.names=i,this.firstSurname=r,this.secondSurname=a,this.dateOfBirth=n,this.countryOfBirth=c,this.rfc=o,this.curp=u,this.userId=d,this.gender=h,this.phoneNumber=l,this.proofOfAddress=_,this.status=yt(g,b),this.termsOfService=w,this.address=y}static fromObject=({status:t,address:e,...s})=>new Yt({address:e,status:t,id:s.id,createdAt:s.created_at,updatedAt:s.updated_at,clientClabe:s.client_clabe,names:s.names,firstSurname:s.first_surname,secondSurname:s.second_surname,dateOfBirth:s.date_of_birth,countryOfBirth:s.country_of_birth,rfc:s.rfc,curp:s.curp,userId:s.user_id,gender:s.gender,govtId:s.govt_id,emailAddress:s.email_address,phoneNumber:s.phone_number,proofOfAddress:s.proof_of_address,termsOfService:s.terms_of_service});get address(){return this._address}set address(t){t&&0!==Object.keys(t).length&&(this._address=vt.fromObject(t))}get proofOfAddress(){return this._proofOfAddress}set proofOfAddress(t){t&&0!==Object.keys(t).length&&(this._proofOfAddress=Nt.fromObject(t))}get govtId(){return this._govtId}set govtId(t){t&&0!==Object.keys(t).length&&(this._govtId=Nt.fromObject(t))}get termsOfService(){return this._termsOfService}set termsOfService(t){t&&0!==Object.keys(t).length&&(this._termsOfService=qt.fromObject(t))}}class Ht{constructor({clabe:t,createdAt:e,curp:s,error:i,firstName:r,id:a,names:n,rfc:c,secondSurname:o,status:u}){this.clabe=t,this.createdAt=gt(e),this.curp=s,this.error=i,this.firstName=r,this.id=a,this.names=n,this.rfc=c,this.secondSurname=o,this.status=yt(y,u)}static fromObject=({clabe:t,curp:e,error:s,id:i,names:r,rfc:a,status:n,...c})=>new Ht({clabe:t,curp:e,error:s,id:i,names:r,rfc:a,status:n,createdAt:c.created_at,firstName:c.first_name,secondSurname:c.second_surname})}class Qt{constructor({account:t,clabe:e,currency:s,id:i,network:r,platformId:a}){this.account=t,this.clabe=e,this.currency=yt(N,s),this.id=i,this.network=yt(L,r),this.platformId=a}static fromObject=({clabe:t,currency:e,id:s,network:i,...r})=>new Qt({clabe:t,currency:e,id:s,network:i,account:r.account_uri.split("/")[2],platformId:r.platform_id})}class Wt{constructor({id:t,createdAt:e,platformId:s,type:i,status:r,accountUri:a,quoteUri:n,currency:c,network:o,sourceWallet:u,destinationWallet:d,bankAccountUri:h,cuencaId:l,cuentaOrdenante:p,cuentaBeneficiario:m,nombreOrdenante:f,claveRastreo:_,rfcCurpOrdenante:b,concepto:w,referenciaNumerica:g,signature:y,trackingLink:v,fromCurrency:O,toCurrency:A,fromAmount:x,toAmount:I}){this.id=t,this.createdAt=gt(e),this.platformId=s,this.type=yt(j,i),this.status=yt(H,r),this.accountUri=a,this.quoteUri=n,this.currency=yt(N,c),this.network=yt(L,o),this.sourceWallet=u,this.destinationWallet=d,this.bankAccountUri=h,this.cuencaId=l,this.cuentaOrdenante=p,this.cuentaBeneficiario=m,this.nombreOrdenante=f,this.claveRastreo=_,this.rfcCurpOrdenante=b,this.concepto=w,this.referenciaNumerica=g,this.signature=y,this.trackingLink=v,this.fromCurrency=yt(N,O),this.toCurrency=yt(N,A),this.fromAmount=x,this.toAmount=I}static fromObject=({type:t,status:e,currency:s,network:i,concepto:r,signature:a,...n})=>new Wt({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 zt{constructor({createdAt:t,cvv2:e,expMonth:s,expYear:i,fundingType:r,id:a,issuer:n,number:c,pin:o,status:u,type:d,updatedAt:h,userId:l}){this.createdAt=gt(t),this.cvv2=e,this.expMonth=s,this.expYear=i,this.fundingType=yt(O,r),this.id=a,this.issuer=yt(A,n),this.number=c,this.pin=o,this.status=yt(x,u),this.type=yt(k,d),this.updatedAt=gt(h),this.userId=l}static fromObject=({cvv2:t,id:e,issuer:s,number:i,pin:r,status:a,type:n,...c})=>new zt({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 Xt{constructor({cardUri:t,createdAt:e,id:s,ipAddress:i,success:r,userId:a}){this.cardUri=t,this.createdAt=gt(e),this.id=s,this.ipAddress=i,this.success=r,this.userId=a}static fromObject=({id:t,success:e,...s})=>new Xt({id:t,success:e,cardUri:s.card_uri,createdAt:s.created_at,ipAddress:s.ip_address,userId:s.user_id})}class Jt extends Vt{constructor({amount:t,cardErrorType:e,cardLastFour:s,cardType:i,cardUri:r,createdAt:a,descriptor:n,metadata:c,network:o,relatedCardTransactionsUris:u,status:d,type:h,userId:l}){super({amount:t,createdAt:a,descriptor:n,status:d,userId:l}),this.cardErrorType=yt(v,e),this.cardLastFour=s,this.cardType=yt(k,i),this.cardUri=r,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=u,this.type=yt(I,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 Gt{constructor({cardStatus:t,cardType:e,cardUri:s,createdAt:i,isExpired:r,isPinAttemptsExceeded:a,isValidCvv:n,isValidCvv2:c,isValidExpDate:o,isValidIcvv:u,isValidPinBlock:d,userId:h}){this.cardStatus=yt(x,t),this.cardType=yt(k,e),this.cardUri=s,this.createdAt=gt(i),this.isExpired=r,this.isPinAttemptsExceeded=a,this.isValidCvv=n,this.isValidCvv2=c,this.isValidExpDate=o,this.isValidIcvv=u,this.isValidPinBlock=d,this.userId=h}static fromObject=({...t})=>new Gt({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===x.Active}}class Zt extends Vt{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=yt(S,a)}static fromObject=({amount:t,descriptor:e,status:s,type:i,...r})=>new Zt({amount:t,descriptor:e,status:s,type:i,createdAt:r.created_at,relatedTransactionUri:r.related_transaction_uri,userId:r.user_id})}class te extends Vt{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=yt(T,r),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new te({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 ee{constructor({extension:t,type:e,url:s,userId:i}){this.extension=t,this.type=yt(U,e),this.url=s,this.userId=i}static fromObject=({extension:t,type:e,url:s,...i})=>new ee({extension:t,type:e,url:s,userId:i.user_id})}class se{constructor({id:t,createdAt:e,updatedAt:s,deactivatedAt:i,platformId:r,filesUri:a,userId:n,verificationId:c,identityId:o,govtIdStatus:u,proofOfAddressStatus:d,proofOfLifeStatus:h,sourceType:l,flowId:p,status:m,providerUrl:f}){this.id=t,this.createdAt=gt(e),this.updatedAt=gt(s),this.deactivatedAt=gt(i),this.platformId=r,this.filesUri=a||[],this.userId=n,this.verificationId=c,this.identityId=o,this.govtIdStatus=yt(X,u),this.proofOfAddressStatus=yt(X,d),this.proofOfLifeStatus=yt(X,h),this.sourceType=yt(q,l),this.flowId=p,this.status=yt(X,m),this.providerUrl=f}static fromObject=({id:t,status:e,...s})=>new se({id:t,status:e,createdAt:s.created_at,updatedAt:s.updated_at,deactivatedAt:s.deactivated_at,platformId:s.platform_id,filesUri:s.files_uri,userId:s.user_id,verificationId:s.verification_id,identityId:s.identity_id,govtIdStatus:s.govt_id_status,proofOfAddressStatus:s.proof_of_address_status,proofOfLifeStatus:s.proof_of_life_status,sourceType:s.source_type,flowId:s.flow_id,providerUrl:s.provider_url})}class ie{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new ie({id:t})}class re{constructor({currency:t,monthlyAmount:e,recipientsNum:s,payersNum:i,deposits:r,withdrawal:a}){this.currency=t,this.monthlyAmount=e,this.recipientsNum=s,this.payersNum=i,this.deposits=r,this.withdrawal=a}get deposits(){return this._deposits}set deposits(t){t&&(this._deposits=Ut.fromObject(t))}get withdrawal(){return this._withdrawal}set withdrawal(t){t&&(this._withdrawal=Ut.fromObject(t))}static fromObject=({currency:t,deposits:e,withdrawal:s,...i})=>new re({currency:t,deposits:e,withdrawal:s,payersNum:i.payers_num,recipientsNum:i.recipients_num,monthlyAmount:i.monthly_amount})}class ae{constructor({address:t,clabe:e,emailAddress:s,id:i,level:r,meta:a,nationality:n,platformId:c,phoneNumber:o,requiredLevel:u,rfc:d,status:h,createdAt:l,updatedAt:p,userType:m}){this.address=t,this.clabe=e,this.createdAt=gt(l),this.emailAddress=s,this.id=i,this.level=r,this.meta=a,this.nationality=n,this.platformId=c,this.phoneNumber=o,this.requiredLevel=u,this.rfc=d,this.status=yt(W,h),this.updatedAt=gt(p),this.userType=m}get address(){return this._address}set address(t){t&&(this._address=vt.fromObject(t))}static fromObject=({address:t,clabe:e,id:s,level:i,nationality:r,rfc:a,status:n,...c})=>new ae({address:t,clabe:e,id:s,level:i,meta:c.meta,nationality:r,rfc:a,status:n,createdAt:c.created_at,emailAddress:c.email_address,phoneNumber:c.phone_number,platformId:c.platform_id,requiredLevel:c.required_level,updatedAt:c.updated_at,userType:c.user_type})}class ne extends ae{constructor({address:t,audit:e,businessDetails:s,businessModel:i,businessName:r,clabe:a,createdAt:n,documentationUrl:c,emailAddress:o,externalAccount:u,folio:d,id:h,incorporationDate:l,legalName:p,legalRepresentatives:m,level:f,license:_,meta:b,nationality:w,phoneNumber:g,platformId:y,requiredLevel:v,rfc:O,shareholders:A,status:j,transactionalProfile:x,updatedAt:I,userId:N,userType:k,vulnerableActivity:S,webSite:T}){super({address:t,clabe:a,emailAddress:o,rfc:O,id:h,level:f,meta:b,nationality:w,platformId:y,phoneNumber:g,requiredLevel:v,status:j,createdAt:n,updatedAt:I,userType:k}),this.audit=e,this.businessModel=i,this.businessName=r,this.businessDetails=s,this.documentationUrl=c,this.incorporationDate=gt(l),this.externalAccount=u,this.folio=d,this.legalName=p,this.license=_,this.shareholders=A,this.legalRepresentatives=m,this.transactionalProfile=x,this.userId=N,this.vulnerableActivity=S,this.webSite=T}get shareholders(){return this._shareholders}set shareholders(t){t&&(this._shareholders=t.map((t=>Ct.fromObject(t))))}get legalRepresentatives(){return this._legalRepresentatives}set legalRepresentatives(t){t&&(this._legalRepresentatives=t.map((t=>Tt.fromObject(t))))}get externalAccount(){return this._externalAccount}set externalAccount(t){t&&(this._externalAccount=xt.fromObject(t))}get vulnerableActivity(){return this._vulnerableActivity}set vulnerableActivity(t){t&&(this._vulnerableActivity=Rt.fromObject(t))}get audit(){return this._audit}set audit(t){t&&(this._audit=At.fromObject(t))}get license(){return this._license}set license(t){t&&(this._license=kt.fromObject(t))}get transactionalProfile(){return this._transactionalProfile}set transactionalProfile(t){t&&(this._transactionalProfile=re.fromObject(t))}get businessDetails(){return this._businessDetails}set businessDetails(t){t&&(this._businessDetails=jt.fromObject(t))}static fromObject=({audit:t,address:e,clabe:s,folio:i,id:r,level:a,license:n,nationality:c,rfc:o,status:u,shareholders:d,...h})=>new ne({address:e,audit:t,clabe:s,folio:i,id:r,level:a,license:n,nationality:c,rfc:o,shareholders:d,status:u,legalName:h.legal_name,legalRepresentatives:h.legal_representatives,businessModel:h.business_model,businessName:h.business_name,businessDetails:h.business_details,createdAt:h.created_at,documentationUrl:h.documentation_url,emailAddress:h.email_address,externalAccount:h.external_account,incorporationDate:h.incorporation_date,meta:h.meta,phoneNumber:h.phone_number,platformId:h.platform_id,requiredLevel:h.required_level,transactionalProfile:h.transactional_profile,updatedAt:h.updated_at,userId:h.user_id,userType:h.user_type,vulnerableActivity:h.vulnerable_activity,webSite:h.web_site})}class ce{constructor({balance:t,createdAt:e,deactivatedAt:s,id:i,userId:r,updatedAt:a}){this.balance=t,this.createdAt=gt(e),this.deactivatedAt=gt(s),this.id=i,this.userId=r,this.updatedAt=gt(a)}}class oe extends ce{constructor({balance:t,category:e,createdAt:s,deactivatedAt:i,goalAmount:r,goalDate:a,id:n,name:c,userId:o,updatedAt:u}){super({balance:t,createdAt:s,deactivatedAt:i,id:n,userId:o,updatedAt:u}),this.category=yt($,e),this.goalAmount=r,this.goalDate=gt(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:i,...r})=>new oe({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 ue{constructor({categories:t,id:e,name:s,providerKey:i}){var r;this.categories=null==(r=t)?[]:r.map((t=>yt(K,t))),this.id=e,this.name=s,this.providerKey=i}static fromObject=({categories:t,id:e,name:s,...i})=>new ue({categories:t,id:e,name:s,providerKey:i.provider_key})}class de{constructor({createdAt:t,expiresAt:e,failureUrl:s,id:i,platformId:r,successUrl:a,type:n,userId:c}){this.createdAt=gt(t),this.expiresAt=gt(e),this.failureUrl=s,this.id=i,this.platformId=r,this.successUrl=a,this.type=yt(V,n),this.userId=c}static fromObject=({id:t,type:e,...s})=>new de({id:t,type:e,createdAt:s.created_at,expiresAt:s.expires_at,failureUrl:s.failure_url,platformId:s.platform_id,successUrl:s.success_url,userId:s.user_id})}class he{constructor({createdAt:t,id:e,month:s,year:i}){this.createdAt=gt(t),this.id=e,this.month=s,this.year=i}static fromObject=({id:t,month:e,year:s,...i})=>new he({id:t,month:e,year:s,createdAt:i.created_at})}class le extends Vt{constructor({accountNumber:t,amount:e,createdAt:s,descriptor:i,destinationUri:r,id:a,idempotencyKey:n,network:c,recipientName:o,status:u,trackingKey:d,updatedAt:h,userId:l}){super({amount:e,createdAt:s,descriptor:i,status:u,userId:l}),this.accountNumber=t,this.destinationUri=r,this.id=a,this.idempotencyKey=n,this.network=yt(Q,c),this.recipientName=o,this.trackingKey=d,this.updatedAt=gt(h)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new le({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 pe{constructor({address:t,blacklistValidationStatus:e,clabe:s,countryOfBirth:i,createdAt:r,curp:a,curpDocument:n,dateOfBirth:c,emailAddress:o,firstSurname:u,gender:d,govtId:h,id:l,level:p,names:m,nationality:f,phoneNumber:_,proofOfAddress:b,proofOfLife:w,requiredLevel:g,rfc:y,secondSurname:v,stateOfBirth:O,status:A,termsOfService:j,updatedAt:x,userType:I,verificationId:N}){this.address=t,this.blacklistValidationStatus=yt(X,e),this.clabe=s,this.countryOfBirth=i,this.createdAt=gt(r),this.curp=a,this.curpDocument=n,this.dateOfBirth=c,this.emailAddress=o,this.firstSurname=u,this.gender=d,this.id=l,this.level=p,this.names=m,this.nationality=f,this.phoneNumber=_,this.govtId=h,this.proofOfAddress=b,this.proofOfLife=w,this.requiredLevel=g,this.rfc=y,this.secondSurname=v,this.stateOfBirth=O,this.status=yt(W,A),this.termsOfService=j,this.updatedAt=gt(x),this.userType=I,this.verificationId=N}get address(){return this._address}set address(t){t&&(this._address=vt.fromObject(t))}get proofOfAddress(){return this._proofOfAddress}set proofOfAddress(t){t&&(this._proofOfAddress=Nt.fromObject(t))}get proofOfLife(){return this._proofOfLife}set proofOfLife(t){t&&(this._proofOfLife=Nt.fromObject(t))}get govtId(){return this._govtId}set govtId(t){t&&(this._govtId=Nt.fromObject(t))}get termsOfService(){return this._termsOfService}set termsOfService(t){t&&(this._termsOfService=qt.fromObject(t))}get curpDocument(){return this._curpDocument}set curpDocument(t){t&&(this._curpDocument=Nt.fromObject(t))}static fromObject=({address:t,clabe:e,curp:s,gender:i,id:r,level:a,names:n,nationality:c,rfc:o,status:u,...d})=>new pe({address:t,clabe:e,curp:s,gender:i,id:r,level:a,names:n,nationality:c,rfc:o,status:u,blacklistValidationStatus:d.blacklist_validation_status,countryOfBirth:d.country_of_birth,createdAt:d.created_at,curpDocument:d.curp_document,dateOfBirth:d.date_of_birth,emailAddress:d.email_address,firstSurname:d.first_surname,govtId:d.govt_id,phoneNumber:d.phone_number,proofOfAddress:d.proof_of_address,proofOfLife:d.proof_of_life,requiredLevel:d.required_level,secondSurname:d.second_surname,stateOfBirth:d.state_of_birth,termsOfService:d.terms_of_service,updatedAt:d.updated_at,userType:d.user_type,verificationId:d.verification_id})}class me{constructor({createdAt:t,id:e,isActive:s,updatedAt:i}){this.createdAt=gt(t),this.id=e,this.isActive=s,this.updatedAt=gt(i)}static fromObject=({id:t,...e})=>new me({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class fe{constructor({id:t,lastLoginAt:e,success:s}){this.id=t,this.lastLoginAt=gt(e),this.success=s}static fromObject=({id:t,success:e,...s})=>new fe({id:t,success:e,lastLoginAt:s.last_login_at})}class _e{constructor({createdAt:t,id:e,platformId:s,recipient:i,type:r,updatedAt:a}){this.createdAt=gt(t),this.id=e,this.platformId=s,this.recipient=i,this.type=yt(J,r),this.updatedAt=gt(a)}static fromObject=({id:t,recipient:e,type:s,...i})=>new _e({id:t,recipient:e,type:s,createdAt:i.created_at,platformId:i.platform_id,updatedAt:i.updated_at})}class be extends Vt{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=yt(G,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:i,...r})=>new be({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 we extends Vt{constructor({amount:t,claimUrl:e,createdAt:s,descriptor:i,destinationUri:r,expiresAt:a,id:n,network:c,phoneNumber:o,recipientName:u,status:d,trackingKey:h,updatedAt:l,userId:p}){super({amount:t,createdAt:s,descriptor:i,status:d,userId:p}),this.claimUrl=e,this.destinationUri=r,this.id=n,this.expiresAt=gt(a),this.network=yt(Q,c),this.phoneNumber=o,this.recipientName=u,this.trackingKey=h,this.updatedAt=gt(l)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new we({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 ge{constructor(t){this.superclass=t}with(...t){return t.reduce(((t,e)=>e(t)),this.superclass)}}const ye=t=>new ge(t),ve=(t,e)=>({accounts:()=>Lt.fromObject(e),alerts:()=>Mt.fromObject(e),api_keys:()=>Et.fromObject(e),arpc:()=>Kt.fromObject(e),balance_entries:()=>$t.fromObject(e),bill_payments:()=>Ft.fromObject(e),"bridge/accounts":()=>Yt.fromObject(e),"bridge/bank_accounts":()=>Ht.fromObject(e),"bridge/clabes":()=>Qt.fromObject(e),"bridge/kyc_validations":()=>se.fromObject(e),"bridge/sessions":()=>de.fromObject(e),"bridge/transactions":()=>Wt.fromObject(e),cards:()=>zt.fromObject(e),card_activations:()=>Xt.fromObject(e),card_transactions:()=>Jt.fromObject(e),card_validations:()=>Gt.fromObject(e),commissions:()=>Zt.fromObject(e),deposits:()=>te.fromObject(e),files:()=>ee.fromObject(e),kyc_validations:()=>se.fromObject(e),login_tokens:()=>ie.fromObject(e),partners:()=>ne.fromObject(e),savings:()=>oe.fromObject(e),service_providers:()=>ue.fromObject(e),sessions:()=>de.fromObject(e),statements:()=>he.fromObject(e),transfers:()=>le.fromObject(e),users:()=>pe.fromObject(e),user_credentials:()=>me.fromObject(e),user_logins:()=>fe.fromObject(e),verifications:()=>_e.fromObject(e),wallet_transactions:()=>be.fromObject(e),whatsapp_transfers:()=>we.fromObject(e)}[t]()),Oe=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class Ae{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const je=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return ve(this.path,e)}},xe=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return ve(this.path,e)}},Ie=t=>class extends t{async _update(t,e){const s=await this.client.patch({endpoint:`/${this.path}/${t}`,data:e});return ve(this.path,s)}},Ne=t=>class extends t{async _upload(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t,multipart:!0});return ve(this.path,e)}},ke=t=>class extends t{async _deactivate(t,e){const s=await this.client.delete({endpoint:`/${this.path}/${t}`,data:e});return ve(this.path,s)}},Se=t=>class extends t{async _download(t,e){return await this.client.get({endpoint:`/${this.path}/${t}`,format:e})}},Te=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 o;if(e.length>1)throw new u;const[s]=e;return ve(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 ve(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=ve(this.path,e);yield t}e=t.next_page_uri}}};class De extends(ye(Ae).with(Te,je)){constructor(t){super("accounts",tt,t)}}class Ce{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class Ue extends Ce{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class qe extends Ce{constructor({accountNumber:t,actualPeriodCount:e,actualPeriodSum:s,agent:i,aggregationType:r,changeLog:a,committeeMeetingDate:n,comments:c,createdAt:o,description:u,id:d,institutionName:h,level:l,manualScenario:p,name:m,period:f,periodNumber:_,status:b,sourceType:w,transactionDate:g,type:y,typeOfFilter:v,updatedAt:O,userId:A}={}){super(),this.accountNumber=t,this.actualPeriodCount=e,this.actualPeriodSum=s,this.agent=i,this.aggregationType=r,this.changeLog=a,this.committeeMeetingDate=n,this.createdAt=o,this.comments=c,this.description=u,this.id=d,this.institutionName=h,this.level=l,this.name=m,this.manualScenario=p,this.period=f,this.periodNumber=_,this.status=b,this.sourceType=w,this.transactionDate=g,this.type=y,this.typeOfFilter=v,this.updatedAt=O,this.userId=A}toObject(){return{agent:this.agent,change_log:this.changeLog,comments:this.comments,description:this.description,id:this.id,level:this.level,name:this.name,period:this.period,status:this.status,type:this.type,account_number:this.accountNumber,actual_period_count:this.actualPeriodCount,actual_period_sum:this.actualPeriodSum,aggregation_type:this.aggregationType,committee_meeting_date:this.committeeMeetingDate,created_at:this.createdAt,institution_name:this.institutionName,manual_scenario:this.manualScenario,period_number:this.periodNumber,transaction_date:this.transactionDate,source_type:this.sourceType,type_of_filter:this.typeOfFilter,updated_at:this.updatedAt,user_id:this.userId}}}class Re extends Ce{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 Pe extends Ce{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class Be extends Ce{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 l("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 l("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 l("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 l("Invalid cvv2");this._cvv2=t}toObject(){return{number:this.number,exp_month:this.expMonth,exp_year:this.expYear,cvv2:this.cvv2}}}class Le extends Ce{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 l("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 l("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 l("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 l("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 l("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 l("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 Me extends Ce{constructor({userId:t,force:e,isBridge:s=!1}){super(),this.force=e,this.userId=t,this.isBridge=s}toObject(){return{force:this.force,[this.isBridge?"account_id":"user_id"]:this.userId}}}class Ee extends Ce{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 l("missing ip address");if(!t.split(".").every((t=>t>=0&&t<=255)))throw new l("Invalid ip address");this._ip=t}toObject(){return{ip:this.ip,location:this.location,type:this.type,version:this.version}}}class Ke extends Ce{constructor({city:t,colonia:e,country:s,extNumber:i,fullName:r,intNumber:a,postalCode:n,state:c,street:o}={}){super(),this.city=t,this.colonia=e,this.country=s,this.extNumber=i,this.fullName=r,this.intNumber=a,this.postalCode=n,this.state=c,this.street=o}toObject(){return{city:this.city,colonia:this.colonia,country:this.country,ext_number:this.extNumber,full_name:this.fullName,int_number:this.intNumber,postal_code:this.postalCode,state:this.state,street:this.street}}}class $e extends Ce{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 Ve extends Ce{constructor({address:t,curpDocumentUri:e,govtId:s,emailAddress:i,profession:r,proofOfAddress:a,proofOfLife:n,requiredLevel:c,termsOfService:o,phoneNumber:u,rfc:d,status:h,userType:l,verificationId:p}){super(),this.addressProofs=a,this.adrs=t,this.curpDocumentUri=e,this.emailAddress=i,this.govstIds=s,this.lifeProofs=n,this.profession=r,this.phoneNumber=u,this.requiredLevel=c,this.termsOfService=o,this.rfc=d,this.status=h,this.userType=l,this.verificationId=p}get termsOfService(){return this._termsOfService}set termsOfService(t){t&&(this._termsOfService=new Ee(t).toObject())}get address(){return this._address}set adrs(t){t&&(this._address=new Ke(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,curp_document_uri:this.curpDocumentUri,email_address:this.emailAddress,govt_id:this.govtId,phone_number:this.phoneNumber,profession:this.profession,proof_of_life:this.proofOfLife,proof_of_address:this.proofOfAddress,requiredLevel:this.requiredLevel,rfc:this.rfc,status:this.status,terms_of_service:this.termsOfService,verification_id:this.verificationId,user_type:this.userType}}}class Fe extends Ce{constructor({speiTransfersNum:t,speiTransfersAmount:e,internalTransfersNum:s,internalTransfersAmount:i}){super(),this.speiTransfersNum=t,this.speiTransfersAmount=e,this.internalTransfersNum=s,this.internalTransfersAmount=i}toObject(){return{spei_transfers_num:this.speiTransfersNum,spei_transfers_amount:this.speiTransfersAmount,internal_transfers_num:this.internalTransfersNum,internal_transfers_amount:this.internalTransfersAmount}}}class Ye{constructor({currency:t,monthlyAmount:e,recipientsNum:s,payersNum:i,deposits:r,withdrawal:a}){this.currency=t,this.monthlyAmount=e,this.recipientsNum=s,this.payersNum=i,this.deposits=r,this.withdrawal=a}get deposits(){return this._deposits}set deposits(t){t&&(this._deposits=new Fe(t).toObject())}get withdrawal(){return this._withdrawal}set withdrawal(t){t&&(this._withdrawal=new Fe(t).toObject())}toObject(){return{currency:this.currency,monthly_amount:this.monthlyAmount,recipients_num:this.recipientsNum,payers_num:this.payersNum,deposits:this.deposits,withdrawal:this.withdrawal}}}class He extends Ce{constructor({accountUsageDescription:t,businessDescription:e}){super(),this.accountUsageDescription=t,this.businessDescription=e}toObject(){return{account_usage_description:this.accountUsageDescription,business_description:this.businessDescription}}}class Qe extends Ce{constructor({names:t,curp:e,rfc:s,firstSurname:i,percentage:r,secondSurname:a,shareCapital:n}){super(),this.names=t,this.curp=e,this.percentage=r,this.rfc=s,this.shareCapital=n,this.firstSurname=i,this.secondSurname=a}toObject(){return{curp:this.curp,names:this.names,percentage:this.percentage,rfc:this.rfc,share_capital:this.shareCapital,first_surname:this.firstSurname,second_surname:this.secondSurname}}}class We extends Qe{constructor({address:t,curp:e,emailAddress:s,firstSurname:i,job:r,names:a,percentage:n,phoneNumber:c,rfc:o,secondSurname:u}){super({curp:e,firstSurname:i,names:a,percentage:n,rfc:o,secondSurname:u}),this.job=r,this.phoneNumber=c,this.emailAddress=s,this.address=t}get address(){return this._address}set address(t){t&&(this._address=new Ke(t).toCleanObject())}toObject(){return{...super.toObject(),job:this.job,phone_number:this.phoneNumber,email_address:this.emailAddress,address:this.address}}}class ze extends Ce{constructor({name:t,percentage:e,shareholders:s,legalRepresentatives:i}){super(),this.name=t,this.percentage=e,this.shareholders=s,this.legalRepresentatives=i}get shareholders(){return this._shareholders}set shareholders(t){t&&(this._shareholders=t.map((t=>new Qe(t).toObject())))}get legalRepresentatives(){return this._legalRepresentatives}set legalRepresentatives(t){t&&(this._legalRepresentatives=t.map((t=>new We(t).toObject())))}toObject(){return{name:this.name,percentage:this.percentage,shareholders:this.shareholders,legal_representatives:this.legalRepresentatives}}}class Xe extends Ce{constructor({isVulnerableActivity:t,hasSatRegister:e,satRegisteredDate:s,isInCompliance:i}){super(),this.isVulnerableActivity=t,this.hasSatRegister=e,this.satRegisteredDate=s,this.isInCompliance=i}toObject(){return{is_vulnerable_activity:this.isVulnerableActivity,has_sat_register:this.hasSatRegister,sat_registered_date:this.satRegisteredDate,is_in_compliance:this.isInCompliance}}}class Je extends Ce{constructor({licenseRequired:t,supervisoryEntity:e,licenseType:s,licenseDate:i}){super(),this.licenseRequired=t,this.supervisoryEntity=e,this.licenseType=s,this.licenseDate=i}toObject(){return{license_required:this.licenseRequired,supervisory_entity:this.supervisoryEntity,license_type:this.licenseType,license_date:this.licenseDate}}}class Ge extends Ce{constructor({hasAudit:t,auditProvider:e,auditDate:s,auditComments:i}){super(),this.hasAudit=t,this.auditProvider=e,this.auditDate=s,this.auditComments=i}toObject(){return{has_audit:this.hasAudit,audit_provider:this.auditProvider,audit_date:this.auditDate,audit_comments:this.auditComments}}}class Ze extends Ce{constructor({address:t,audit:e,businessDetails:s,businessName:i,clabe:r,createdAt:a,documentationUrl:n,emailAddress:c,externalAccount:o,folio:u,id:d,incorporationDate:h,legalName:l,legalRepresentatives:p,level:m,license:f,meta:_,nationality:b,phoneNumber:w,platformId:g,requiredLevel:y,rfc:v,shareholders:O,status:A,transactionalProfile:j,updatedAt:x,userId:I,userType:N,vulnerableActivity:k,webSite:S}={}){super(),this.addressRequest=t,this.auditRequest=e,this.businessDetailsRequest=s,this.businessName=i,this.clabe=r,this.createdAt=a,this.documentationUrl=n,this.emailAddress=c,this.externalAccountRequest=o,this.folio=u,this.id=d,this.incorporationDate=h,this.legalName=l,this.legalRepresentativesRequest=p,this.level=m,this.licenseRequest=f,this.meta=_,this.nationality=b,this.phoneNumber=w,this.platformId=g,this.requiredLevel=y,this.rfc=v,this.shareholdersRequest=O,this.status=A,this.transactionalProfileRequest=j,this.updatedAt=x,this.userId=I,this.userType=N,this.vulnerableActivityRequest=k,this.webSite=S}get address(){return this._address}set addressRequest(t){t&&(this._address=new Ke(t).toCleanObject())}get audit(){return this._audit}set auditRequest(t){t&&(this._audit=new Ge(t).toObject())}get businessDetails(){return this._businessDetails}set businessDetailsRequest(t){t&&(this._businessDetails=new He(t).toObject())}get legalRepresentatives(){return this._legalRepresentatives}set legalRepresentativesRequest(t){t&&(this._legalRepresentatives=t.map((t=>new We(t).toObject())))}get license(){return this._license}set licenseRequest(t){t&&(this._license=new Je(t).toObject())}get shareholders(){return this._shareholders}set shareholdersRequest(t){t&&(this._shareholders=t.map((t=>new ze(t).toObject())))}get transactionalProfile(){return this._transactionalProfile}set transactionalProfileRequest(t){t&&(this._transactionalProfile=new Ye(t).toObject())}get vulnerableActivity(){return this._vulnerableActivity}set vulnerableActivityRequest(t){t&&(this._vulnerableActivity=new Xe(t).toObject())}get externalAccount(){return this._externalAccount}set externalAccountRequest(t){t&&(this._externalAccount={account:t.account,bank:t.bank})}toObject(){return{address:this.address,audit:this.audit,business_details:this.businessDetails,business_name:this.businessName,clabe:this.clabe,created_at:this.createdAt,documentation_url:this.documentationUrl,email_address:this.emailAddress,external_account:this.externalAccount,folio:this.folio,id:this.id,incorporation_date:this.incorporationDate,legal_name:this.legalName,legal_representatives:this.legalRepresentatives,level:this.level,license:this.license,meta:this.meta,nationality:this.nationality,phone_number:this.phoneNumber,platform_id:this.platformId,required_level:this.requiredLevel,rfc:this.rfc,shareholders:this.shareholders,status:this.status,transactional_profile:this.transactionalProfile,updated_at:this.updatedAt,user_id:this.userId,user_type:this.userType,vulnerable_activity:this.vulnerableActivity,web_site:this.webSite}}}class ts extends Ce{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(gt(t).getTime()<=gt(Date.now()).getTime())throw new l("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}}}class es extends Ce{constructor({failureUrl:t,successUrl:e,type:s,userId:i,isBridge:r=!1}){super(),this.failureUrl=t,this.successUrl=e,this.type=s,this.userId=i,this.isBridge=r}toObject(){return{failure_url:this.failureUrl,success_url:this.successUrl,type:this.type,[this.isBridge?"account_id":"user_id"]:this.userId}}}class ss extends Ce{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 is extends Ce{constructor(t){super(),this.pwd=t}get password(){return this._password}set pwd(t){if([!!t,t.length>=6].some((t=>!t)))throw new l("Invalid password");this._password=t}toObject(){return{password:this.password}}}class rs extends Ce{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 l("Invalid password");this._password=t}set req(t){if(t.password&&null!=t.isActive)throw new l("Only one property can be updated at a time");this._request=t}toObject(){return{password:this.request.password,is_active:this.request.isActive}}}class as extends Ce{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 l("Invalid password");this._password=t}toObject(){return{password:this.password,user_id:this.userId}}}class ns extends Ce{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(yt(J,this.type)){case J.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 l("Invalid email address");this._recipient=t;break;case J.Phone:if(!t.match(/^\+?[0-9]{10,15}$/))throw new l("Invalid Phone Number");this._recipient=t}}toObject(){return{platform_id:this.platformId,recipient:this.recipient,type:this.type}}}class cs extends Ce{constructor({code:t}){super(),this.code=t}toObject(){return{code:this.code}}}class os extends Ce{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 us extends(ye(Ae).with(xe,Te,je,Ie)){constructor(t){super("alerts",et,t)}async create(t){const e=new qe(t);return await this._create(e.toCleanObject())}async update(t,e){const s=new qe(e);return await this._update(t,s.toCleanObject())}}class ds extends(ye(Ae).with(xe,ke,Te,je,Ie)){constructor(t){super("api_keys",st,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 Ue(s,e);return await this._update(t,i.toCleanObject())}}class hs extends(ye(Ae).with(xe)){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 u=new ArpcRequest({number:t,arqc:e,arpcMethod:s,transactionData:i,responseCode:r,transactionCounter:a,panSequence:n,uniqueNumber:c,trackDataMethod:o});return await this._create(u.toObject())}}class ls extends(ye(Ae).with(Te,je)){constructor(t){super("balance_entries",it,t)}async relatedTransaction(t){const e=Oe(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return ve(`${e}`,s)}async fundingInstrument(t){const e=Oe(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return ve(`${e}`,s)}}class ps extends(ye(Ae).with(Te,je)){constructor(t){super("bill_payments",rt,t)}async serviceProvider(t){const e=Oe(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return ve(`${e}`,s)}}class ms extends(ye(Ae).with(Te,Ie,je)){constructor(t){super("bridge/accounts",at,t)}async update({userId:t="me",...e}){const s=new Ve(e);return await this._update(t,s.toCleanObject())}}class fs extends(ye(Ae).with(Te,je)){constructor(t){super("bridge/bank_accounts",nt,t)}}class _s extends(ye(Ae).with(Te)){constructor(t){super("bridge/clabes",ct,t)}}class bs extends(ye(Ae).with(Te,je)){constructor(t){super("bridge/transactions",ot,t)}}class ws extends(ye(Ae).with(xe)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:i}){const r=new Be(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 zt.fromObject(e)}}class gs extends(ye(Ae).with(xe,ke,Te,je,Ie)){constructor(t){super("cards",ut,t)}async create(t,e,s){const i=new Re(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 Pe(e,s);return await this._update(t,i.toCleanObject())}}class ys extends(ye(Ae).with(Te,je)){constructor(t){super("card_transactions",dt,t)}async relatedCard(t){const e=Oe(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return ve(`${e}`,s)}}class vs extends(ye(Ae).with(xe)){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 Le({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 zt.fromObject(e)}}class Os extends(ye(Ae).with(Te,je)){constructor(t){super("commissions",Z,t)}async relatedTransaction(t){const e=Oe(t);if(null==e)return null;const s=await this.client.get(t);return ve(`${e}`,s)}}class As extends(ye(Ae).with(Te,je)){constructor(t){super("deposits",lt,t)}async source(t){const e=await this.client.get({endpoint:t});return Lt.fromObject(e)}}class js extends(ye(Ae).with(Se,Ne)){constructor(t){super("files",Object,t)}async download(t){return await this._download(t,C.Any)}async upload(t){return await this._upload(t)}}class xs extends(ye(Ae).with(xe,je,ke,Te)){constructor(t,e=!1){super(e?"bridge/kyc_validations":"kyc_validations",Object,t),this.isBridge=e}async create(t="me",e=!1){const s=new Me({force:e,userId:t,isBridge:this.isBridge});return await this._create(s.toCleanObject())}async deactivate(t){return await this._deactivate(t)}}class Is extends(ye(Ae).with(xe)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class Ns extends(ye(Ae).with(xe,Te,Ie,je)){constructor(t){super("partners",pt,t)}async create(t){const e=new Ze(t);return await this._create(e.toCleanObject())}async update(t,e){const s=new Ze(e);return await this._update(t,s.toCleanObject())}}class ks extends(ye(Ae).with(xe,ke,Te,je,Ie)){constructor(t){super("savings",bt,t)}async create(t,e,s,i){const r=new ts(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 ts(e,s,i,r);return await this._update(t,a.toObject())}}class Ss extends(ye(Ae).with(Te,je)){constructor(t){super("service_providers",Z,t)}}class Ts extends(ye(Ae).with(xe,je,Te)){constructor(t,e=!1){super(e?"bridge/sessions":"sessions",Object,t),this.isBridge=e}async create(t,e,s,i){const r=new es({failureUrl:i,successUrl:s,type:e,userId:t,isBridge:this.isBridge});return await this._create(r.toCleanObject())}}class Ds extends(ye(Ae).with(Se,Te)){constructor(t){super("statements",mt,t)}async pdf(t){return await this._download(t,C.Pdf)}async xml(t){return await this._download(t,C.Xml)}}class Cs extends(ye(Ae).with(xe,Te,je)){constructor(t){super("transfers",ft,t)}async destination(t){const e=await this.client.get({endpoint:t});return Lt.fromObject(e)}async create({accountNumber:t,amount:e,descriptor:s,recipientName:i,idempotencyKey:r}){const a=r||this.constructor._genIdempotencyKey(t,e),n=new ss(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 ss(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]=gt(Date.now()).toISOString().split("T");return`${s}:${t}:${e}`}}class Us extends(ye(Ae).with(xe,Ie)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new is(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const i=new rs(e,t);return await this._update(s,i.toCleanObject())}}class qs extends(ye(Ae).with(xe,ke)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new as(t,e),i=await this._create(s.toObject());if(!i.success)throw new h;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 Rs extends(ye(Ae).with(Te,Ie,je,ke)){constructor(t){super("users",_t,t)}async update({userId:t="me",...e}){const s=new Ve(e);return await this._update(t,s.toCleanObject())}async deactivate(t){return await this._deactivate(t)}}class Ps extends(ye(Ae).with(xe,Ie)){constructor(t){super("verifications",Object,t)}async create({platformId:t,recipient:e,type:s}){const i=new ns({platformId:t,recipient:e,type:s});return await this._create(i.toObject())}async update({code:t,id:e}){const s=new cs({code:t});return await this._update(e,s.toObject())}}class Bs extends(ye(Ae).with(xe,Te,je)){constructor(t){super("wallet_transactions",wt,t)}async create(t,e,s){const i=new os(t,e,s);return await this._create(i.toObject())}async realtedWallet(t){const e=Oe(t);if(null==e)return null;const s=await this.client.get(t);return ve(`${e}`,s)}}class Ls extends(ye(Ae).with(Te,je)){constructor(t){super("whatsapp_transfers",Z,t)}async accountDestination(t){const e=Oe(t);if(null==e)return null;const s=await this.client.get(t);return ve(`${e}`,s)}}t.Cuenca=class{constructor({apiKey:t,apiSecret:e,language:s="en",phase:i=M.Sandbox}={}){this.client=new Bt({apiKey:t,apiSecret:e,language:s,phase:i}),this.withClient(this.client)}withClient(t){this.accounts=new De(t),this.alerts=new us(t),this.apiKeys=new ds(t),this.balanceEntries=new ls(t),this.billPayments=new ps(t),this.bridgeAccounts=new ms(t),this.bridgeBankAccounts=new fs(t),this.bridgeClabes=new _s(t),this.bridgeKycValidations=new xs(t,!0),this.bridgeSessions=new Ts(t,!0),this.bridgeTransactions=new bs(t),this.cardActivations=new ws(t),this.cards=new gs(t),this.cardTransactions=new ys(t),this.cardValidations=new vs(t),this.commissions=new Os(t),this.deposits=new As(t),this.files=new js(t),this.kycValidations=new xs(t),this.loginTokens=new Is(t),this.partners=new Ns(t),this.savings=new ks(t),this.serviceProviders=new Ss(t),this.sessions=new Ts(t),this.statements=new Ds(t),this.transfers=new Cs(t),this.userCredentials=new Us(t),this.userLogins=new qs(t),this.users=new Rs(t),this.verifications=new Ps(t),this.walletTransactions=new Bs(t),this.whatsAppTransfers=new Ls(t)}}}));
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("axios"),require("buffer")):"function"==typeof define&&define.amd?define(["exports","axios","buffer"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).cuenca={},t.axios,t.Buffer)}(this,(function(t,e,s){"use strict";function i(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var r=i(e),a=i(s);class n extends Error{constructor(t){super(t),Object.setPrototypeOf(this,n.prototype)}}class c extends n{constructor(t,e){super(`Cuenca Response Error: ${e}`),this.name="CuencaResponseError",this.data=t,this.status=e,Object.setPrototypeOf(this,c.prototype)}}class o extends n{constructor(){super("No results were found"),this.name="NoResultFound",Object.setPrototypeOf(this,o.prototype)}}class u extends n{constructor(){super("One result was expected but multiple were found"),this.name="MultipleResultsFound",Object.setPrototypeOf(this,u.prototype)}}class d extends n{constructor(){super("An invalid JWT token was obtained during authentication"),this.name="MalformedJwtToken",Object.setPrototypeOf(this,d.prototype)}}class h extends n{constructor(){super("Invalid password"),this.name="InvalidPassword",Object.setPrototypeOf(this,h.prototype)}}class l extends Error{constructor(t){super(t),Object.setPrototypeOf(this,l.prototype)}}const p="undefined"!=typeof window&&void 0!==window.document,m="undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process),_=p,f=m;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(a.default.Buffer.from(`${s}==`,"base64").toString())}catch(t){throw new d}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 w{static Created=new w("created");static ReadyForAnalysis=new w("ready_for_analysis");static Analysis=new w("analysis");static Dictum=new w("dictum");static Justified=new w("justified");static Unusual=new w("unusual");static Reported=new w("reported");static Questionary=new w("questionary");static JustifiedByTime=new w("justified_by_time");static AdditionalInformation=new w("additional_information");static Documentation=new w("documentation");static Xml=new w("xml");constructor(t){this.value=t}}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 g{static Created=new g("created");static Failed=new g("failed");static Pending=new g("pending");static Succeeded=new g("succeeded");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 O{static Credit=new O("credit");static Debit=new O("debit");constructor(t){this.value=t}}class A{static Accendo=new A("accendo");static Cuenca=new A("cuenca");constructor(t){this.value=t}}class j{static Buy=new j("buy");static Sell=new j("sell");constructor(t){this.value=t}}class I{static Active=new I("active");static Blocked=new I("blocked");static Created=new I("created");static Deactivated=new I("deactivated");static Printing=new I("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 N{static Mxn=new N("mxn");static Usdc=new N("usdc");static Sol=new N("sol");constructor(t){this.value=t}}class k{static Physical=new k("physical");static Virtual=new k("virtual");constructor(t){this.value=t}}class S{static CardRequest=new S("card_request");static CashDeposit=new S("cash_deposit");static OutgoingSpei=new S("outgoing_spei");constructor(t){this.value=t}}class T{static Cash=new T("cash");static Internal=new T("internal");static Spei=new T("spei");constructor(t){this.value=t}}class C{static Credit=new C("credit");static Debit=new C("debit");constructor(t){this.value=t}}class D{static Pdf=new D("application/pdf");static Xml=new D("application/xml");static Json=new D("application/json");static Any=new D("*/*");constructor(t){this.value=t}}class U{static Curp=new U("curp");static Dni=new U("dni");static Ine=new U("ine");static Passport=new U("passport");static Residency=new U("residency");static MatriculaConsular=new U("matricula_consular");static ProofOfLiveness=new U("proof_of_liveness");static ProofOfAddress=new U("proof_of_address");constructor(t){this.value=t}}class q{static Client=new q("client");static Server=new q("server");constructor(t){this.value=t}}class R{static Low=new R("low");static Medium=new R("medium");static High=new R("high");constructor(t){this.value=t}}class P{static Deposit=new P("deposit");static Withdrawal=new P("withdrawal");constructor(t){this.value=t}}class B{static Bimester=new B("bimester");static Trimester=new B("trimester");static Semester=new B("semester");constructor(t){this.value=t}}class L{static Polygon=new L("polygon");static Solana=new L("solana");constructor(t){this.value=t}}class M{static Sandbox=new M("sandbox-api");static Stage=new M("stage-api");static Api=new M("api");constructor(t){this.value=t}}class E{static Amount=new E("amount");static Volume=new E("volume");constructor(t){this.value=t}}class K{static Cable=new K("cable");static CreditCard=new K("credit_card");static Electricity=new K("electricity");static Gas=new K("gas");static Internet=new K("internet");static LandlineTelephone=new K("landline_telephone");static MobileTelephonePostpaid=new K("mobile_telephone_postpaid");static MobileTelephonePrepaid=new K("mobile_telephone_prepaid");static SateliteTelevision=new K("satelite_television");static Water=new K("water");constructor(t){this.value=t}}class ${static General=new $("general");static Home=new $("home");static Vehicle=new $("vehicle");static Travel=new $("travel");static Clothing=new $("clothing");static Other=new $("other");static Medical=new $("medical");static Accident=new $("accident");static Education=new $("education");constructor(t){this.value=t}}class V{static AccountEntries=new V("session.account_entries");static DownloadFile=new V("session.download_file");static Registration=new V("session.registration");static ShowCard=new V("session.show_card");static UploadFile=new V("session.upload_file");constructor(t){this.value=t}}class F{static Chester=new F("chester");static External=new F("external");static Manual=new F("manual");constructor(t){this.value=t}}class Y{static NotSet=new Y("not_set");static Terminal=new Y("terminal");static Manual=new Y("manual");static Unknown=new Y("unknown");static Contactless=new Y("contactless");static FallBack=new Y("fall_back");static MagneticStripe=new Y("magnetic_stripe");static RecurringCharge=new Y("recurring_charge");constructor(t){this.value=t}}class H{static Created=new H("created");static Failed=new H("failed");static InReview=new H("in_review");static Submitted=new H("submitted");static Succeeded=new H("succeeded");constructor(t){this.value=t}}class Q{static Internal=new Q("internal");static Spei=new Q("spei");constructor(t){this.value=t}}class W{static Active=new W("active");static Deactivated=new W("deactivated");static InReview=new W("in_review");static Fraud=new W("fraud");static PldBlocked=new W("pld_blocked");static UserBlocked=new W("user_blocked");static Inactive=new W("inactive");constructor(t){this.value=t}}class z{static Moral=new z("moral");static Physical=new z("physical");constructor(t){this.value=t}}class X{static Created=new X("created");static NotVerified=new X("not_verified");static Rejected=new X("rejected");static ReviewNeeded=new X("review_needed");static Submitted=new X("submitted");static Succeeded=new X("succeeded");static UploadAgain=new X("upload_again");constructor(t){this.value=t}}class J{static Phone=new J("phone");static Email=new J("email");constructor(t){this.value=t}}class G{static Deposit=new G("deposit");static Withdrawal=new G("withdrawal");constructor(t){this.value=t}}class Z{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;"number"==typeof 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 tt extends Z{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class et extends Z{constructor({agent:t,comments:e,committeeMeetingDate:s,count:i,hasQuestionnaire:r,inProcess:a,status:n,typeOfFilter:c,transactionDate:o,...u}){super(u),this.agent=t,this.comments=e,this.committeeMeetingDate=s,this.count=i,this.hasQuestionnaire=r,this.inProcess=a,this.status=n,this.typeOfFilter=c,this.transactionDate=o}toObject(){return Object.assign(super.toObject(),{agent:this.agent,comments:this.comments,committee_meeting_date:this.committeeMeetingDate,count:this.count,has_questionnaire:this.hasQuestionnaire,in_process:this.inProcess,status:this.status,transaction_date:this.transactionDate,type_of_filter:this.typeOfFilter})}}class st extends Z{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class it extends Z{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 rt extends Z{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class at extends Z{constructor({emailAddress:t,...e}){super(e),this.emailAddress=t}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress})}}class nt extends Z{constructor({accountId:t,...e}){super(e),this.accountId=t}toObject(){return Object.assign(super.toObject(),{account_id:this.accountId})}}class ct extends Z{constructor({accountId:t,...e}){super(e),this.accountId=t}toObject(){return Object.assign(super.toObject(),{account:this.accountId})}}class ot extends ct{constructor({status:t,type:e,...s}){super(s),this.status=t,this.type=e}toObject(){return Object.assign(super.toObject(),{status:this.status,type:this.type})}}class ut extends Z{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 dt extends Z{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class ht extends Z{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class lt extends ht{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 pt extends Z{constructor({emailAddress:t,...e}){super(e),this.emailAddress=t}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress})}}class mt extends Z{constructor({postalCode:t,...e}){super(e),this.postalCode=t}toObject(){return Object.assign(super.toObject(),{postal_code:this.postalCode})}}class _t extends Z{constructor({month:t,year:e,...s}={}){super(s),void 0!==t&&void 0!==e&&(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=Number(t),i=Number(e);if(!Number.isInteger(s)||s<1||s>12)throw new l("month must be an integer between 1 and 12");if(!Number.isInteger(i)||i<1900||i>9999)throw new l("year must be an integer between 1900 and 9999");const r=new Date(Date.UTC(i,s-1,1)),a=new Date,n=new Date(Date.UTC(a.getUTCFullYear(),a.getUTCMonth(),1));if(r.getTime()>=n.getTime()){const t=String(s).padStart(2,"0");throw new l(`${i}-${t} is not a valid year-month pair`)}this._date={month:s,year:i}}toObject(){return Object.assign(super.toObject(),{month:this.month,year:this.year})}}class ft extends ht{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 bt extends Z{constructor({emailAddress:t,hasCurpDocument:e,phoneNumber:s,status:i,...r}={}){super(r),this.emailAddress=t,this.hasCurpDocument=e,this.phoneNumber=s,this.status=i}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress,has_curp_document:this.hasCurpDocument,phone_number:this.phoneNumber,status:this.status})}}class wt extends Z{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class yt extends Z{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}const gt=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},vt=(t,e)=>Object.values(t).find((t=>t.value===e));class Ot{constructor({city:t,colonia:e,country:s,createdAt:i,extNumber:r,fullName:a,intNumber:n,postalCode:c,state:o,street:u}){this.city=t,this.colonia=e,this.country=s,this.createdAt=gt(i),this.extNumber=r,this.fullName=a,this.intNumber=n,this.postalCode=c,this.state=o,this.street=u}static fromObject=({city:t,colonia:e,country:s,state:i,street:r,...a})=>new Ot({city:t,colonia:e,country:s,state:i,street:r,createdAt:a.created_at,extNumber:a.ext_number,fullName:a.full_name,intNumber:a.int_number,postalCode:a.postal_code})}class At{constructor({agent:t,createdAt:e,status:s,updatedAt:i,comments:r}){this.agent=t,this.comments=r,this.createdAt=gt(e),this.updatedAt=gt(i),this.status=vt(w,s)}static fromObject=({agent:t,comments:e,status:s,...i})=>new At({agent:t,comments:e,status:s,createdAt:i.created_at,updatedAt:i.updated_at})}class jt{constructor({hasAudit:t,auditProvider:e,auditDate:s,auditComments:i}){this.hasAudit=t,this.auditProvider=e,this.auditDate=gt(s),this.auditComments=i}static fromObject=({...t})=>new jt({hasAudit:t.has_audit,auditProvider:t.audit_provider,auditDate:t.audit_date,auditComments:t.audit_comments})}class It{constructor({accountUsageDescription:t=null,businessDescription:e=null}={}){this.accountUsageDescription=t,this.businessDescription=e}static fromObject=({...t}={})=>new It({accountUsageDescription:t.account_usage_description,businessDescription:t.business_description});toObject(){return{account_usage_description:this.accountUsageDescription,business_description:this.businessDescription}}}class xt{constructor({bank:t,account:e}){this.bank=t,this.account=e}static fromObject=({account:t,bank:e})=>new xt({bank:e,account:t})}class Nt{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 Nt({code:t,error:e,identifier:s,message:i})}class kt{constructor({data:t,errors:e,isMx:s,status:i,type:r,uriBack:a,uriFront:n}){this.data=t,this.isMx=s,this.status=vt(X,i),this.type=vt(U,r),this.uriBack=a,this.uriFront=n,e&&e.length>0&&(this.errors=e.map((t=>Nt.fromObject(t))))}static fromObject=({data:t,errors:e,status:s,type:i,...r})=>new kt({data:t,errors:e,status:s,type:i,isMx:r.is_mx,uriBack:r.uri_back,uriFront:r.uri_front})}class St{constructor({licenseRequired:t=!1,supervisoryEntity:e=null,licenseType:s=null,licenseDate:i=null}={}){this.licenseRequired=t,this.supervisoryEntity=e,this.licenseType=s,this.licenseDate=i?gt(i):null}static fromObject=({...t}={})=>new St({licenseRequired:t.license_required,supervisoryEntity:t.supervisory_entity,licenseType:t.license_type,licenseDate:t.license_date})}class Tt{constructor({names:t,curp:e,rfc:s,firstSurname:i,secondSurname:r}){this.names=t,this.curp=e,this.rfc=s,this.firstSurname=i,this.secondSurname=r}static fromObject=({names:t,curp:e,rfc:s,...i})=>new Tt({names:t,curp:e,rfc:s,firstSurname:i.first_surname,secondSurname:i.second_surname});toObject(){return{names:this.names,curp:this.curp,rfc:this.rfc,first_surname:this.firstSurname,second_surname:this.secondSurname}}}class Ct extends Tt{constructor({names:t,curp:e,rfc:s,firstSurname:i,secondSurname:r,job:a,phoneNumber:n,emailAddress:c,address:o}){super({names:t,curp:e,rfc:s,firstSurname:i,secondSurname:r}),this.job=a,this.phoneNumber=n,this.emailAddress=c,this.address=o}get address(){return this._address}set address(t){t&&(this._address=Ot.fromObject(t))}static fromObject=({job:t,address:e,...s})=>new Ct({address:e,job:t,phoneNumber:s.phone_number,emailAddress:s.email_address,...Tt.fromObject(s)})}class Dt extends Tt{constructor({names:t,curp:e,rfc:s,firstSurname:i,secondSurname:r,shareCapital:a,percentage:n}){super({names:t,curp:e,rfc:s,firstSurname:i,secondSurname:r}),this.shareCapital=a,this.percentage=n}static fromObject=({percentage:t,...e})=>new Dt({percentage:t,shareCapital:e.share_capital,...Tt.fromObject(e)})}class Ut{constructor({name:t,percentage:e,shareholders:s,legalRepresentatives:i}){this.name=t,this.percentage=e,this.shareholders=s,this.legalRepresentatives=i}get shareholders(){return this._shareholders}set shareholders(t){t&&(this._shareholders=t.map((t=>Dt.fromObject(t))))}get legalRepresentatives(){return this._legalRepresentatives}set legalRepresentatives(t){t&&(this._legalRepresentatives=t.map((t=>Ct.fromObject(t))))}static fromObject=({name:t,percentage:e,shareholders:s,...i})=>new Ut({name:t,percentage:e,shareholders:s||[],legalRepresentatives:i.legal_representatives||[]})}class qt{constructor({speiTransfersNum:t,speiTransfersAmount:e,internalTransfersNum:s,internalTransfersAmount:i}={}){this.speiTransfersNum=t,this.speiTransfersAmount=e,this.internalTransfersNum=s,this.internalTransfersAmount=i}static fromObject=({...t}={})=>new qt({speiTransfersNum:t.spei_transfers_num,speiTransfersAmount:t.spei_transfers_amount,internalTransfersNum:t.internal_transfers_num,internalTransfersAmount:t.internal_transfers_amount})}class Rt{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 Rt({ip:t,location:e,type:s,version:i})}class Pt{constructor({isVulnerableActivity:t,hasSatRegister:e,satRegisteredDate:s,isInCompliance:i}){this.isVulnerableActivity=t,this.hasSatRegister=e,this.satRegisteredDate=gt(s),this.isInCompliance=i}static fromObject=({...t})=>new Pt({isVulnerableActivity:t.is_vulnerable_activity,hasSatRegister:t.has_sat_register,satRegisteredDate:t.sat_registered_date,isInCompliance:t.is_in_compliance})}var Bt="1.0.3";class Lt{constructor({apiKey:t,apiSecret:e,language:s="en",phase:i=M.Sandbox}={}){this.phase=i,this.basicAuth={apiKey:t,apiSecret:e},this.jwtToken=null,this._session=r.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 ${a.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=D.Json,method:i="GET",multipart:r=!1,params:a=null}){let o={};r||(o={"Content-Type":"application/json",Accept:`application/${s.value}`}),this.authHeader&&(o.Authorization=this.authHeader),f?o["User-Agent"]=`cuenca-js/${Bt}`:_&&(o["X-User-Agent"]=`cuenca-js/${Bt}`),this.jwtToken&&(this.jwtToken.isExpired&&(this.jwtToken=await b.create(this)),o["X-Cuenca-Token"]=this.jwtToken.token);const u=this.addHeadersToRequest(o),d=e;d&&!r&&Object.keys(d).forEach((t=>{d[t]instanceof Date&&(d[t]=d[t].toISOString())}));const h=this.addConfigToRequest({method:i,params:a,data:d,url:t});let l;try{l=await this._session.request({baseURL:this.origin})}catch(t){throw t.response?new c(t.response.data,t.response.status):t.request?new n(`No response received: ${t.errno}: ${t.code}`):new n(t.message)}finally{u.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=gt(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 Et{constructor({agent:t,accountNumber:e,actualPeriodCount:s,actualPeriodSum:i,aggregationType:r,changeLog:a,comments:n,committeeMeetingDate:c,createdAt:o,questionnaireId:u,description:d,hasQuestionnaire:h,id:l,institutionName:p,level:m,name:_,period:f,periodNumber:b,status:y,sourceType:g,transactionDate:v,type:O,typeOfFilter:A,userId:j,updatedAt:I}){this.accountNumber=e,this.actualPeriodCount=s,this.actualPeriodSum=i,this.agent=t,this.aggregationType=r,this.comments=n,this.committeeMeetingDate=gt(c),this.createdAt=gt(o),this.questionnaireId=u,this.description=d,this.hasQuestionnaire=h,this.id=l,this.institutionName=p,this.level=vt(R,m),this.name=_,this.period=vt(B,f),this.periodNumber=b,this.status=vt(w,y),this.sourceType=vt(F,g),this.transactionDate=gt(v),this.type=vt(P,O),this.typeOfFilter=vt(E,A),this.updatedAt=gt(I),this.userId=j,this.changeLog=a}static fromObject=({agent:t,comments:e,description:s,id:i,level:r,name:a,period:n,status:c,type:o,...u})=>new Et({agent:t,comments:e,description:s,id:i,level:r,name:a,period:n,status:c,type:o,accountNumber:u.account_number,actualPeriodCount:u.actual_period_count,actualPeriodSum:u.actual_period_sum,aggregationType:u.aggregation_type,changeLog:u.change_log,committeeMeetingDate:u.committee_meeting_date,createdAt:u.created_at,questionnaireId:u.questionnaire_id,hasQuestionnaire:u.has_questionnaire,institutionName:u.institution_name,periodNumber:u.period_number,sourceType:u.source_type,transactionDate:u.transaction_date,typeOfFilter:u.type_of_filter,updatedAt:u.updated_at,userId:u.user_id});get changeLog(){return this._changeLog}set changeLog(t){t&&Array.isArray(t)&&0!==t.length&&(this._changeLog=t.map((t=>At.fromObject(t))))}}class Kt{constructor({createdAt:t,deactivatedAt:e,id:s,secret:i,userId:r,updatedAt:a}){this.createdAt=gt(t),this.deactivatedAt=gt(e),this.id=s,this.secret=i,this.userId=r,this.updatedAt=gt(a)}static fromObject=({id:t,secret:e,...s})=>new Kt({id:t,secret:e,createdAt:s.created_at,deactivatedAt:s.deactivated_at,userId:s.user_id,updatedAt:s.updated_at});get isActive(){const t=gt(Date.now());return!this.deactivatedAt||this.deactivatedAt.getTime()>t.getTime()}}class $t{constructor({arpc:t,createdAt:e,cardUri:s,isValidArqc:i}){this.arpc=t,this.createdAt=gt(e),this.cardUri=s,this.isValidArqc=i}static fromObject=({arpc:t,...e})=>new $t({arpc:t,createdAt:e.created_at,cardUri:e.card_uri,isValidArqc:e.is_valid_arqc})}class Vt{constructor({amount:t,createdAt:e,descriptor:s,entryType:i,fundingInstrumentUri:r,id:a,name:n,relatedTransactionUri:c,rollingBalance:o}){this.amount=t,this.createdAt=gt(e),this.descriptor=s,this.entryType=vt(C,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 Vt({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 Ft{constructor({amount:t,createdAt:e,descriptor:s,status:i,userId:r}){this.amount=t,this.createdAt=gt(e),this.descriptor=s,this.status=vt(H,i),this.userId=r}}class Yt extends Ft{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 Ht{constructor({id:t,createdAt:e,updatedAt:s,names:i,firstSurname:r,secondSurname:a,dateOfBirth:n,countryOfBirth:c,rfc:o,curp:u,userId:d,gender:h,phoneNumber:l,emailAddress:p,clientClabe:m,govtId:_,proofOfAddress:f,status:b,termsOfService:w,address:g}){this.id=t,this.createdAt=gt(e),this.updatedAt=gt(s),this.emailAddress=p,this.clientClabe=m,this.govtId=_,this.names=i,this.firstSurname=r,this.secondSurname=a,this.dateOfBirth=n,this.countryOfBirth=c,this.rfc=o,this.curp=u,this.userId=d,this.gender=h,this.phoneNumber=l,this.proofOfAddress=f,this.status=vt(y,b),this.termsOfService=w,this.address=g}static fromObject=({status:t,address:e,...s})=>new Ht({address:e,status:t,id:s.id,createdAt:s.created_at,updatedAt:s.updated_at,clientClabe:s.client_clabe,names:s.names,firstSurname:s.first_surname,secondSurname:s.second_surname,dateOfBirth:s.date_of_birth,countryOfBirth:s.country_of_birth,rfc:s.rfc,curp:s.curp,userId:s.user_id,gender:s.gender,govtId:s.govt_id,emailAddress:s.email_address,phoneNumber:s.phone_number,proofOfAddress:s.proof_of_address,termsOfService:s.terms_of_service});get address(){return this._address}set address(t){t&&0!==Object.keys(t).length&&(this._address=Ot.fromObject(t))}get proofOfAddress(){return this._proofOfAddress}set proofOfAddress(t){t&&0!==Object.keys(t).length&&(this._proofOfAddress=kt.fromObject(t))}get govtId(){return this._govtId}set govtId(t){t&&0!==Object.keys(t).length&&(this._govtId=kt.fromObject(t))}get termsOfService(){return this._termsOfService}set termsOfService(t){t&&0!==Object.keys(t).length&&(this._termsOfService=Rt.fromObject(t))}}class Qt{constructor({clabe:t,createdAt:e,curp:s,error:i,firstName:r,id:a,names:n,rfc:c,secondSurname:o,status:u}){this.clabe=t,this.createdAt=gt(e),this.curp=s,this.error=i,this.firstName=r,this.id=a,this.names=n,this.rfc=c,this.secondSurname=o,this.status=vt(g,u)}static fromObject=({clabe:t,curp:e,error:s,id:i,names:r,rfc:a,status:n,...c})=>new Qt({clabe:t,curp:e,error:s,id:i,names:r,rfc:a,status:n,createdAt:c.created_at,firstName:c.first_name,secondSurname:c.second_surname})}class Wt{constructor({account:t,clabe:e,currency:s,id:i,network:r,platformId:a}){this.account=t,this.clabe=e,this.currency=vt(N,s),this.id=i,this.network=vt(L,r),this.platformId=a}static fromObject=({clabe:t,currency:e,id:s,network:i,...r})=>new Wt({clabe:t,currency:e,id:s,network:i,account:r.account_uri.split("/")[2],platformId:r.platform_id})}class zt{constructor({id:t,createdAt:e,platformId:s,type:i,status:r,accountUri:a,quoteUri:n,currency:c,network:o,sourceWallet:u,destinationWallet:d,bankAccountUri:h,cuencaId:l,cuentaOrdenante:p,cuentaBeneficiario:m,nombreOrdenante:_,claveRastreo:f,rfcCurpOrdenante:b,concepto:w,referenciaNumerica:y,signature:g,trackingLink:v,fromCurrency:O,toCurrency:A,fromAmount:I,toAmount:x}){this.id=t,this.createdAt=gt(e),this.platformId=s,this.type=vt(j,i),this.status=vt(H,r),this.accountUri=a,this.quoteUri=n,this.currency=vt(N,c),this.network=vt(L,o),this.sourceWallet=u,this.destinationWallet=d,this.bankAccountUri=h,this.cuencaId=l,this.cuentaOrdenante=p,this.cuentaBeneficiario=m,this.nombreOrdenante=_,this.claveRastreo=f,this.rfcCurpOrdenante=b,this.concepto=w,this.referenciaNumerica=y,this.signature=g,this.trackingLink=v,this.fromCurrency=vt(N,O),this.toCurrency=vt(N,A),this.fromAmount=I,this.toAmount=x}static fromObject=({type:t,status:e,currency:s,network:i,concepto:r,signature:a,...n})=>new zt({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 Xt{constructor({createdAt:t,cvv2:e,expMonth:s,expYear:i,fundingType:r,id:a,issuer:n,number:c,pin:o,status:u,type:d,updatedAt:h,userId:l}){this.createdAt=gt(t),this.cvv2=e,this.expMonth=s,this.expYear=i,this.fundingType=vt(O,r),this.id=a,this.issuer=vt(A,n),this.number=c,this.pin=o,this.status=vt(I,u),this.type=vt(k,d),this.updatedAt=gt(h),this.userId=l}static fromObject=({cvv2:t,id:e,issuer:s,number:i,pin:r,status:a,type:n,...c})=>new Xt({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 Jt{constructor({cardUri:t,createdAt:e,id:s,ipAddress:i,success:r,userId:a}){this.cardUri=t,this.createdAt=gt(e),this.id=s,this.ipAddress=i,this.success=r,this.userId=a}static fromObject=({id:t,success:e,...s})=>new Jt({id:t,success:e,cardUri:s.card_uri,createdAt:s.created_at,ipAddress:s.ip_address,userId:s.user_id})}class Gt extends Ft{constructor({amount:t,cardErrorType:e,cardLastFour:s,cardType:i,cardUri:r,createdAt:a,descriptor:n,metadata:c,network:o,relatedCardTransactionsUris:u,status:d,type:h,userId:l}){super({amount:t,createdAt:a,descriptor:n,status:d,userId:l}),this.cardErrorType=vt(v,e),this.cardLastFour=s,this.cardType=vt(k,i),this.cardUri=r,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=u,this.type=vt(x,h)}static fromObject=({amount:t,descriptor:e,metadata:s,network:i,status:r,type:a,...n})=>new Gt({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 Zt{constructor({cardStatus:t,cardType:e,cardUri:s,createdAt:i,isExpired:r,isPinAttemptsExceeded:a,isValidCvv:n,isValidCvv2:c,isValidExpDate:o,isValidIcvv:u,isValidPinBlock:d,userId:h}){this.cardStatus=vt(I,t),this.cardType=vt(k,e),this.cardUri=s,this.createdAt=gt(i),this.isExpired=r,this.isPinAttemptsExceeded=a,this.isValidCvv=n,this.isValidCvv2=c,this.isValidExpDate=o,this.isValidIcvv=u,this.isValidPinBlock=d,this.userId=h}static fromObject=({...t})=>new Zt({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===I.Active}}class te extends Ft{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=vt(S,a)}static fromObject=({amount:t,descriptor:e,status:s,type:i,...r})=>new te({amount:t,descriptor:e,status:s,type:i,createdAt:r.created_at,relatedTransactionUri:r.related_transaction_uri,userId:r.user_id})}class ee extends Ft{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=vt(T,r),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new ee({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 se{constructor({extension:t,type:e,url:s,userId:i}){this.extension=t,this.type=vt(U,e),this.url=s,this.userId=i}static fromObject=({extension:t,type:e,url:s,...i})=>new se({extension:t,type:e,url:s,userId:i.user_id})}class ie{constructor({id:t,createdAt:e,updatedAt:s,deactivatedAt:i,platformId:r,filesUri:a,userId:n,verificationId:c,identityId:o,govtIdStatus:u,proofOfAddressStatus:d,proofOfLifeStatus:h,sourceType:l,flowId:p,status:m,providerUrl:_}){this.id=t,this.createdAt=gt(e),this.updatedAt=gt(s),this.deactivatedAt=gt(i),this.platformId=r,this.filesUri=a||[],this.userId=n,this.verificationId=c,this.identityId=o,this.govtIdStatus=vt(X,u),this.proofOfAddressStatus=vt(X,d),this.proofOfLifeStatus=vt(X,h),this.sourceType=vt(q,l),this.flowId=p,this.status=vt(X,m),this.providerUrl=_}static fromObject=({id:t,status:e,...s})=>new ie({id:t,status:e,createdAt:s.created_at,updatedAt:s.updated_at,deactivatedAt:s.deactivated_at,platformId:s.platform_id,filesUri:s.files_uri,userId:s.user_id,verificationId:s.verification_id,identityId:s.identity_id,govtIdStatus:s.govt_id_status,proofOfAddressStatus:s.proof_of_address_status,proofOfLifeStatus:s.proof_of_life_status,sourceType:s.source_type,flowId:s.flow_id,providerUrl:s.provider_url})}class re{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new re({id:t})}class ae{constructor({currency:t,monthlyAmount:e,recipientsNum:s,payersNum:i,deposits:r,withdrawal:a}){this.currency=t,this.monthlyAmount=e,this.recipientsNum=s,this.payersNum=i,this.deposits=r,this.withdrawal=a}get deposits(){return this._deposits}set deposits(t){t&&(this._deposits=qt.fromObject(t))}get withdrawal(){return this._withdrawal}set withdrawal(t){t&&(this._withdrawal=qt.fromObject(t))}static fromObject=({currency:t,deposits:e,withdrawal:s,...i})=>new ae({currency:t,deposits:e,withdrawal:s,payersNum:i.payers_num,recipientsNum:i.recipients_num,monthlyAmount:i.monthly_amount})}class ne{constructor({address:t,clabe:e,emailAddress:s,id:i,level:r,meta:a,nationality:n,platformId:c,phoneNumber:o,requiredLevel:u,rfc:d,status:h,createdAt:l,updatedAt:p,userType:m}){this.address=t,this.clabe=e,this.createdAt=gt(l),this.emailAddress=s,this.id=i,this.level=r,this.meta=a,this.nationality=n,this.platformId=c,this.phoneNumber=o,this.requiredLevel=u,this.rfc=d,this.status=vt(W,h),this.updatedAt=gt(p),this.userType=m}get address(){return this._address}set address(t){t&&(this._address=Ot.fromObject(t))}static fromObject=({address:t,clabe:e,id:s,level:i,nationality:r,rfc:a,status:n,...c})=>new ne({address:t,clabe:e,id:s,level:i,meta:c.meta,nationality:r,rfc:a,status:n,createdAt:c.created_at,emailAddress:c.email_address,phoneNumber:c.phone_number,platformId:c.platform_id,requiredLevel:c.required_level,updatedAt:c.updated_at,userType:c.user_type})}class ce extends ne{constructor({address:t,audit:e,businessDetails:s,businessModel:i,businessName:r,clabe:a,createdAt:n,documentationUrl:c,emailAddress:o,externalAccount:u,folio:d,id:h,incorporationDate:l,legalName:p,legalRepresentatives:m,level:_,license:f,meta:b,nationality:w,phoneNumber:y,platformId:g,requiredLevel:v,rfc:O,shareholders:A,status:j,transactionalProfile:I,updatedAt:x,userId:N,userType:k,vulnerableActivity:S,webSite:T}){super({address:t,clabe:a,emailAddress:o,rfc:O,id:h,level:_,meta:b,nationality:w,platformId:g,phoneNumber:y,requiredLevel:v,status:j,createdAt:n,updatedAt:x,userType:k}),this.audit=e,this.businessModel=i,this.businessName=r,this.businessDetails=s,this.documentationUrl=c,this.incorporationDate=gt(l),this.externalAccount=u,this.folio=d,this.legalName=p,this.license=f,this.shareholders=A,this.legalRepresentatives=m,this.transactionalProfile=I,this.userId=N,this.vulnerableActivity=S,this.webSite=T}get shareholders(){return this._shareholders}set shareholders(t){t&&(this._shareholders=t.map((t=>Ut.fromObject(t))))}get legalRepresentatives(){return this._legalRepresentatives}set legalRepresentatives(t){t&&(this._legalRepresentatives=t.map((t=>Ct.fromObject(t))))}get externalAccount(){return this._externalAccount}set externalAccount(t){t&&(this._externalAccount=xt.fromObject(t))}get vulnerableActivity(){return this._vulnerableActivity}set vulnerableActivity(t){t&&(this._vulnerableActivity=Pt.fromObject(t))}get audit(){return this._audit}set audit(t){t&&(this._audit=jt.fromObject(t))}get license(){return this._license}set license(t){t&&(this._license=St.fromObject(t))}get transactionalProfile(){return this._transactionalProfile}set transactionalProfile(t){t&&(this._transactionalProfile=ae.fromObject(t))}get businessDetails(){return this._businessDetails}set businessDetails(t){t&&(this._businessDetails=It.fromObject(t))}static fromObject=({audit:t,address:e,clabe:s,folio:i,id:r,level:a,license:n,nationality:c,rfc:o,status:u,shareholders:d,...h})=>new ce({address:e,audit:t,clabe:s,folio:i,id:r,level:a,license:n,nationality:c,rfc:o,shareholders:d,status:u,legalName:h.legal_name,legalRepresentatives:h.legal_representatives,businessModel:h.business_model,businessName:h.business_name,businessDetails:h.business_details,createdAt:h.created_at,documentationUrl:h.documentation_url,emailAddress:h.email_address,externalAccount:h.external_account,incorporationDate:h.incorporation_date,meta:h.meta,phoneNumber:h.phone_number,platformId:h.platform_id,requiredLevel:h.required_level,transactionalProfile:h.transactional_profile,updatedAt:h.updated_at,userId:h.user_id,userType:h.user_type,vulnerableActivity:h.vulnerable_activity,webSite:h.web_site})}class oe{constructor({id:t,postalCode:e,colonia:s,city:i,state:r,country:a,createdAt:n,updatedAt:c}){this.id=t,this.postalCode=e,this.colonia=s,this.city=i,this.state=r,this.country=a,this.createdAt=gt(n),this.updatedAt=gt(c)}static fromObject=({id:t,colonia:e,city:s,state:i,country:r,...a})=>new oe({id:t,colonia:e,city:s,state:i,country:r,postalCode:a.postal_code,createdAt:a.created_at,updatedAt:a.updated_at})}class ue{constructor({balance:t,createdAt:e,deactivatedAt:s,id:i,userId:r,updatedAt:a}){this.balance=t,this.createdAt=gt(e),this.deactivatedAt=gt(s),this.id=i,this.userId=r,this.updatedAt=gt(a)}}class de extends ue{constructor({balance:t,category:e,createdAt:s,deactivatedAt:i,goalAmount:r,goalDate:a,id:n,name:c,userId:o,updatedAt:u}){super({balance:t,createdAt:s,deactivatedAt:i,id:n,userId:o,updatedAt:u}),this.category=vt($,e),this.goalAmount=r,this.goalDate=gt(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:i,...r})=>new de({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 he{constructor({categories:t,id:e,name:s,providerKey:i}){var r;this.categories=null==(r=t)?[]:r.map((t=>vt(K,t))),this.id=e,this.name=s,this.providerKey=i}static fromObject=({categories:t,id:e,name:s,...i})=>new he({categories:t,id:e,name:s,providerKey:i.provider_key})}class le{constructor({createdAt:t,expiresAt:e,failureUrl:s,id:i,platformId:r,successUrl:a,type:n,userId:c}){this.createdAt=gt(t),this.expiresAt=gt(e),this.failureUrl=s,this.id=i,this.platformId=r,this.successUrl=a,this.type=vt(V,n),this.userId=c}static fromObject=({id:t,type:e,...s})=>new le({id:t,type:e,createdAt:s.created_at,expiresAt:s.expires_at,failureUrl:s.failure_url,platformId:s.platform_id,successUrl:s.success_url,userId:s.user_id})}class pe{constructor({createdAt:t,id:e,month:s,year:i}){this.createdAt=gt(t),this.id=e,this.month=s,this.year=i}static fromObject=({id:t,month:e,year:s,...i})=>new pe({id:t,month:e,year:s,createdAt:i.created_at})}class me extends Ft{constructor({accountNumber:t,amount:e,createdAt:s,descriptor:i,destinationUri:r,id:a,idempotencyKey:n,network:c,recipientName:o,status:u,trackingKey:d,updatedAt:h,userId:l}){super({amount:e,createdAt:s,descriptor:i,status:u,userId:l}),this.accountNumber=t,this.destinationUri=r,this.id=a,this.idempotencyKey=n,this.network=vt(Q,c),this.recipientName=o,this.trackingKey=d,this.updatedAt=gt(h)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new me({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 _e{constructor({address:t,blacklistValidationStatus:e,clabe:s,countryOfBirth:i,createdAt:r,curp:a,curpDocument:n,dateOfBirth:c,emailAddress:o,firstSurname:u,gender:d,govtId:h,id:l,level:p,names:m,nationality:_,phoneNumber:f,proofOfAddress:b,proofOfLife:w,requiredLevel:y,rfc:g,secondSurname:v,stateOfBirth:O,status:A,termsOfService:j,updatedAt:I,userType:x,verificationId:N}){this.address=t,this.blacklistValidationStatus=vt(X,e),this.clabe=s,this.countryOfBirth=i,this.createdAt=gt(r),this.curp=a,this.curpDocument=n,this.dateOfBirth=c,this.emailAddress=o,this.firstSurname=u,this.gender=d,this.id=l,this.level=p,this.names=m,this.nationality=_,this.phoneNumber=f,this.govtId=h,this.proofOfAddress=b,this.proofOfLife=w,this.requiredLevel=y,this.rfc=g,this.secondSurname=v,this.stateOfBirth=O,this.status=vt(W,A),this.termsOfService=j,this.updatedAt=gt(I),this.userType=x,this.verificationId=N}get address(){return this._address}set address(t){t&&(this._address=Ot.fromObject(t))}get proofOfAddress(){return this._proofOfAddress}set proofOfAddress(t){t&&(this._proofOfAddress=kt.fromObject(t))}get proofOfLife(){return this._proofOfLife}set proofOfLife(t){t&&(this._proofOfLife=kt.fromObject(t))}get govtId(){return this._govtId}set govtId(t){t&&(this._govtId=kt.fromObject(t))}get termsOfService(){return this._termsOfService}set termsOfService(t){t&&(this._termsOfService=Rt.fromObject(t))}get curpDocument(){return this._curpDocument}set curpDocument(t){t&&(this._curpDocument=kt.fromObject(t))}static fromObject=({address:t,clabe:e,curp:s,gender:i,id:r,level:a,names:n,nationality:c,rfc:o,status:u,...d})=>new _e({address:t,clabe:e,curp:s,gender:i,id:r,level:a,names:n,nationality:c,rfc:o,status:u,blacklistValidationStatus:d.blacklist_validation_status,countryOfBirth:d.country_of_birth,createdAt:d.created_at,curpDocument:d.curp_document,dateOfBirth:d.date_of_birth,emailAddress:d.email_address,firstSurname:d.first_surname,govtId:d.govt_id,phoneNumber:d.phone_number,proofOfAddress:d.proof_of_address,proofOfLife:d.proof_of_life,requiredLevel:d.required_level,secondSurname:d.second_surname,stateOfBirth:d.state_of_birth,termsOfService:d.terms_of_service,updatedAt:d.updated_at,userType:d.user_type,verificationId:d.verification_id})}class fe{constructor({createdAt:t,id:e,isActive:s,updatedAt:i}){this.createdAt=gt(t),this.id=e,this.isActive=s,this.updatedAt=gt(i)}static fromObject=({id:t,...e})=>new fe({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class be{constructor({id:t,lastLoginAt:e,success:s}){this.id=t,this.lastLoginAt=gt(e),this.success=s}static fromObject=({id:t,success:e,...s})=>new be({id:t,success:e,lastLoginAt:s.last_login_at})}class we{constructor({createdAt:t,id:e,platformId:s,recipient:i,type:r,updatedAt:a}){this.createdAt=gt(t),this.id=e,this.platformId=s,this.recipient=i,this.type=vt(J,r),this.updatedAt=gt(a)}static fromObject=({id:t,recipient:e,type:s,...i})=>new we({id:t,recipient:e,type:s,createdAt:i.created_at,platformId:i.platform_id,updatedAt:i.updated_at})}class ye extends Ft{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=vt(G,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:i,...r})=>new ye({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 ge extends Ft{constructor({amount:t,claimUrl:e,createdAt:s,descriptor:i,destinationUri:r,expiresAt:a,id:n,network:c,phoneNumber:o,recipientName:u,status:d,trackingKey:h,updatedAt:l,userId:p}){super({amount:t,createdAt:s,descriptor:i,status:d,userId:p}),this.claimUrl=e,this.destinationUri=r,this.id=n,this.expiresAt=gt(a),this.network=vt(Q,c),this.phoneNumber=o,this.recipientName=u,this.trackingKey=h,this.updatedAt=gt(l)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new ge({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 ve{constructor(t){this.superclass=t}with(...t){return t.reduce(((t,e)=>e(t)),this.superclass)}}const Oe=t=>new ve(t),Ae=(t,e)=>({accounts:()=>Mt.fromObject(e),alerts:()=>Et.fromObject(e),api_keys:()=>Kt.fromObject(e),arpc:()=>$t.fromObject(e),balance_entries:()=>Vt.fromObject(e),bill_payments:()=>Yt.fromObject(e),"bridge/accounts":()=>Ht.fromObject(e),"bridge/bank_accounts":()=>Qt.fromObject(e),"bridge/clabes":()=>Wt.fromObject(e),"bridge/kyc_validations":()=>ie.fromObject(e),"bridge/sessions":()=>le.fromObject(e),"bridge/transactions":()=>zt.fromObject(e),cards:()=>Xt.fromObject(e),card_activations:()=>Jt.fromObject(e),card_transactions:()=>Gt.fromObject(e),card_validations:()=>Zt.fromObject(e),commissions:()=>te.fromObject(e),deposits:()=>ee.fromObject(e),files:()=>se.fromObject(e),kyc_validations:()=>ie.fromObject(e),login_tokens:()=>re.fromObject(e),partners:()=>ce.fromObject(e),postal_codes:()=>oe.fromObject(e),savings:()=>de.fromObject(e),service_providers:()=>he.fromObject(e),sessions:()=>le.fromObject(e),statements:()=>pe.fromObject(e),transfers:()=>me.fromObject(e),users:()=>_e.fromObject(e),user_credentials:()=>fe.fromObject(e),user_logins:()=>be.fromObject(e),verifications:()=>we.fromObject(e),wallet_transactions:()=>ye.fromObject(e),whatsapp_transfers:()=>ge.fromObject(e)}[t]()),je=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class Ie{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const xe=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return Ae(this.path,e)}},Ne=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return Ae(this.path,e)}},ke=t=>class extends t{async _update(t,e){const s=await this.client.patch({endpoint:`/${this.path}/${t}`,data:e});return Ae(this.path,s)}},Se=t=>class extends t{async _upload(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t,multipart:!0});return Ae(this.path,e)}},Te=t=>class extends t{async _deactivate(t,e){const s=await this.client.delete({endpoint:`/${this.path}/${t}`,data:e});return Ae(this.path,s)}},Ce=t=>class extends t{async _download(t,e){return await this.client.get({endpoint:`/${this.path}/${t}`,format:e})}},De=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 o;if(e.length>1)throw new u;const[s]=e;return Ae(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 Ae(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=Ae(this.path,e);yield t}e=t.next_page_uri}}};class Ue extends(Oe(Ie).with(De,xe)){constructor(t){super("accounts",tt,t)}}class qe{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class Re extends qe{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class Pe extends qe{constructor({accountNumber:t,actualPeriodCount:e,actualPeriodSum:s,agent:i,aggregationType:r,changeLog:a,committeeMeetingDate:n,comments:c,createdAt:o,description:u,id:d,institutionName:h,level:l,manualScenario:p,name:m,period:_,periodNumber:f,status:b,sourceType:w,transactionDate:y,type:g,typeOfFilter:v,updatedAt:O,userId:A}={}){super(),this.accountNumber=t,this.actualPeriodCount=e,this.actualPeriodSum=s,this.agent=i,this.aggregationType=r,this.changeLog=a,this.committeeMeetingDate=n,this.createdAt=o,this.comments=c,this.description=u,this.id=d,this.institutionName=h,this.level=l,this.name=m,this.manualScenario=p,this.period=_,this.periodNumber=f,this.status=b,this.sourceType=w,this.transactionDate=y,this.type=g,this.typeOfFilter=v,this.updatedAt=O,this.userId=A}toObject(){return{agent:this.agent,change_log:this.changeLog,comments:this.comments,description:this.description,id:this.id,level:this.level,name:this.name,period:this.period,status:this.status,type:this.type,account_number:this.accountNumber,actual_period_count:this.actualPeriodCount,actual_period_sum:this.actualPeriodSum,aggregation_type:this.aggregationType,committee_meeting_date:this.committeeMeetingDate,created_at:this.createdAt,institution_name:this.institutionName,manual_scenario:this.manualScenario,period_number:this.periodNumber,transaction_date:this.transactionDate,source_type:this.sourceType,type_of_filter:this.typeOfFilter,updated_at:this.updatedAt,user_id:this.userId}}}class Be extends qe{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 Le extends qe{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class Me extends qe{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 l("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 l("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 l("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 l("Invalid cvv2");this._cvv2=t}toObject(){return{number:this.number,exp_month:this.expMonth,exp_year:this.expYear,cvv2:this.cvv2}}}class Ee extends qe{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 l("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 l("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 l("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 l("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 l("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 l("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 Ke extends qe{constructor({userId:t,force:e,isBridge:s=!1}){super(),this.force=e,this.userId=t,this.isBridge=s}toObject(){return{force:this.force,[this.isBridge?"account_id":"user_id"]:this.userId}}}class $e extends qe{constructor({city:t,colonia:e,country:s,extNumber:i,fullName:r,intNumber:a,postalCode:n,postalCodeId:c,state:o,street:u}={}){super(),this.city=t,this.colonia=e,this.country=s,this.extNumber=i,this.fullName=r,this.intNumber=a,this.postalCode=n,this.postalCodeId=c,this.state=o,this.street=u}toObject(){return{city:this.city,colonia:this.colonia,country:this.country,ext_number:this.extNumber,full_name:this.fullName,int_number:this.intNumber,postal_code:this.postalCode,postal_code_id:this.postalCodeId,state:this.state,street:this.street}}}class Ve extends qe{constructor({speiTransfersNum:t,speiTransfersAmount:e,internalTransfersNum:s,internalTransfersAmount:i}){super(),this.speiTransfersNum=t,this.speiTransfersAmount=e,this.internalTransfersNum=s,this.internalTransfersAmount=i}toObject(){return{spei_transfers_num:this.speiTransfersNum,spei_transfers_amount:this.speiTransfersAmount,internal_transfers_num:this.internalTransfersNum,internal_transfers_amount:this.internalTransfersAmount}}}class Fe{constructor({currency:t,monthlyAmount:e,recipientsNum:s,payersNum:i,deposits:r,withdrawal:a}){this.currency=t,this.monthlyAmount=e,this.recipientsNum=s,this.payersNum=i,this.deposits=r,this.withdrawal=a}get deposits(){return this._deposits}set deposits(t){t&&(this._deposits=new Ve(t).toObject())}get withdrawal(){return this._withdrawal}set withdrawal(t){t&&(this._withdrawal=new Ve(t).toObject())}toObject(){return{currency:this.currency,monthly_amount:this.monthlyAmount,recipients_num:this.recipientsNum,payers_num:this.payersNum,deposits:this.deposits,withdrawal:this.withdrawal}}}class Ye extends qe{constructor({accountUsageDescription:t,businessDescription:e}){super(),this.accountUsageDescription=t,this.businessDescription=e}toObject(){return{account_usage_description:this.accountUsageDescription,business_description:this.businessDescription}}}class He extends qe{constructor({names:t,curp:e,rfc:s,firstSurname:i,percentage:r,secondSurname:a,shareCapital:n}){super(),this.names=t,this.curp=e,this.percentage=r,this.rfc=s,this.shareCapital=n,this.firstSurname=i,this.secondSurname=a}toObject(){return{curp:this.curp,names:this.names,percentage:this.percentage,rfc:this.rfc,share_capital:this.shareCapital,first_surname:this.firstSurname,second_surname:this.secondSurname}}}class Qe extends He{constructor({address:t,curp:e,emailAddress:s,firstSurname:i,job:r,names:a,percentage:n,phoneNumber:c,rfc:o,secondSurname:u}){super({curp:e,firstSurname:i,names:a,percentage:n,rfc:o,secondSurname:u}),this.job=r,this.phoneNumber=c,this.emailAddress=s,this.address=t}get address(){return this._address}set address(t){t&&(this._address=new $e(t).toCleanObject())}toObject(){return{...super.toObject(),job:this.job,phone_number:this.phoneNumber,email_address:this.emailAddress,address:this.address}}}class We extends qe{constructor({name:t,percentage:e,shareholders:s,legalRepresentatives:i}){super(),this.name=t,this.percentage=e,this.shareholders=s,this.legalRepresentatives=i}get shareholders(){return this._shareholders}set shareholders(t){t&&(this._shareholders=t.map((t=>new He(t).toObject())))}get legalRepresentatives(){return this._legalRepresentatives}set legalRepresentatives(t){t&&(this._legalRepresentatives=t.map((t=>new Qe(t).toObject())))}toObject(){return{name:this.name,percentage:this.percentage,shareholders:this.shareholders,legal_representatives:this.legalRepresentatives}}}class ze extends qe{constructor({isVulnerableActivity:t,hasSatRegister:e,satRegisteredDate:s,isInCompliance:i}){super(),this.isVulnerableActivity=t,this.hasSatRegister=e,this.satRegisteredDate=s,this.isInCompliance=i}toObject(){return{is_vulnerable_activity:this.isVulnerableActivity,has_sat_register:this.hasSatRegister,sat_registered_date:this.satRegisteredDate,is_in_compliance:this.isInCompliance}}}class Xe extends qe{constructor({licenseRequired:t,supervisoryEntity:e,licenseType:s,licenseDate:i}){super(),this.licenseRequired=t,this.supervisoryEntity=e,this.licenseType=s,this.licenseDate=i}toObject(){return{license_required:this.licenseRequired,supervisory_entity:this.supervisoryEntity,license_type:this.licenseType,license_date:this.licenseDate}}}class Je extends qe{constructor({hasAudit:t,auditProvider:e,auditDate:s,auditComments:i}){super(),this.hasAudit=t,this.auditProvider=e,this.auditDate=s,this.auditComments=i}toObject(){return{has_audit:this.hasAudit,audit_provider:this.auditProvider,audit_date:this.auditDate,audit_comments:this.auditComments}}}class Ge extends qe{constructor({address:t,audit:e,businessDetails:s,businessName:i,clabe:r,createdAt:a,documentationUrl:n,emailAddress:c,externalAccount:o,folio:u,id:d,incorporationDate:h,legalName:l,legalRepresentatives:p,level:m,license:_,meta:f,nationality:b,phoneNumber:w,platformId:y,requiredLevel:g,rfc:v,shareholders:O,status:A,transactionalProfile:j,updatedAt:I,userId:x,userType:N,vulnerableActivity:k,webSite:S}={}){super(),this.addressRequest=t,this.auditRequest=e,this.businessDetailsRequest=s,this.businessName=i,this.clabe=r,this.createdAt=a,this.documentationUrl=n,this.emailAddress=c,this.externalAccountRequest=o,this.folio=u,this.id=d,this.incorporationDate=h,this.legalName=l,this.legalRepresentativesRequest=p,this.level=m,this.licenseRequest=_,this.meta=f,this.nationality=b,this.phoneNumber=w,this.platformId=y,this.requiredLevel=g,this.rfc=v,this.shareholdersRequest=O,this.status=A,this.transactionalProfileRequest=j,this.updatedAt=I,this.userId=x,this.userType=N,this.vulnerableActivityRequest=k,this.webSite=S}get address(){return this._address}set addressRequest(t){t&&(this._address=new $e(t).toCleanObject())}get audit(){return this._audit}set auditRequest(t){t&&(this._audit=new Je(t).toObject())}get businessDetails(){return this._businessDetails}set businessDetailsRequest(t){t&&(this._businessDetails=new Ye(t).toObject())}get legalRepresentatives(){return this._legalRepresentatives}set legalRepresentativesRequest(t){t&&(this._legalRepresentatives=t.map((t=>new Qe(t).toObject())))}get license(){return this._license}set licenseRequest(t){t&&(this._license=new Xe(t).toObject())}get shareholders(){return this._shareholders}set shareholdersRequest(t){t&&(this._shareholders=t.map((t=>new We(t).toObject())))}get transactionalProfile(){return this._transactionalProfile}set transactionalProfileRequest(t){t&&(this._transactionalProfile=new Fe(t).toObject())}get vulnerableActivity(){return this._vulnerableActivity}set vulnerableActivityRequest(t){t&&(this._vulnerableActivity=new ze(t).toObject())}get externalAccount(){return this._externalAccount}set externalAccountRequest(t){t&&(this._externalAccount={account:t.account,bank:t.bank})}toObject(){return{address:this.address,audit:this.audit,business_details:this.businessDetails,business_name:this.businessName,clabe:this.clabe,created_at:this.createdAt,documentation_url:this.documentationUrl,email_address:this.emailAddress,external_account:this.externalAccount,folio:this.folio,id:this.id,incorporation_date:this.incorporationDate,legal_name:this.legalName,legal_representatives:this.legalRepresentatives,level:this.level,license:this.license,meta:this.meta,nationality:this.nationality,phone_number:this.phoneNumber,platform_id:this.platformId,required_level:this.requiredLevel,rfc:this.rfc,shareholders:this.shareholders,status:this.status,transactional_profile:this.transactionalProfile,updated_at:this.updatedAt,user_id:this.userId,user_type:this.userType,vulnerable_activity:this.vulnerableActivity,web_site:this.webSite}}}class Ze extends qe{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(gt(t).getTime()<=gt(Date.now()).getTime())throw new l("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}}}class ts extends qe{constructor({failureUrl:t,successUrl:e,type:s,userId:i,isBridge:r=!1}){super(),this.failureUrl=t,this.successUrl=e,this.type=s,this.userId=i,this.isBridge=r}toObject(){return{failure_url:this.failureUrl,success_url:this.successUrl,type:this.type,[this.isBridge?"account_id":"user_id"]:this.userId}}}class es extends qe{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 ss extends qe{constructor(t){super(),this.pwd=t}get password(){return this._password}set pwd(t){if([!!t,t.length>=6].some((t=>!t)))throw new l("Invalid password");this._password=t}toObject(){return{password:this.password}}}class is extends qe{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 l("Invalid password");this._password=t}set req(t){if(t.password&&null!=t.isActive)throw new l("Only one property can be updated at a time");this._request=t}toObject(){return{password:this.request.password,is_active:this.request.isActive}}}class rs extends qe{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 l("Invalid password");this._password=t}toObject(){return{password:this.password,user_id:this.userId}}}class as extends qe{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 l("missing ip address");if(!t.split(".").every((t=>t>=0&&t<=255)))throw new l("Invalid ip address");this._ip=t}toObject(){return{ip:this.ip,location:this.location,type:this.type,version:this.version}}}class ns extends qe{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 cs extends qe{constructor({address:t,curpDocumentUri:e,govtId:s,emailAddress:i,profession:r,proofOfAddress:a,proofOfLife:n,requiredLevel:c,termsOfService:o,phoneNumber:u,rfc:d,status:h,userType:l,verificationId:p}){super(),this.addressProofs=a,this.adrs=t,this.curpDocumentUri=e,this.emailAddress=i,this.govstIds=s,this.lifeProofs=n,this.profession=r,this.phoneNumber=u,this.requiredLevel=c,this.termsOfService=o,this.rfc=d,this.status=h,this.userType=l,this.verificationId=p}get termsOfService(){return this._termsOfService}set termsOfService(t){t&&(this._termsOfService=new as(t).toObject())}get address(){return this._address}set adrs(t){t&&(this._address=new $e(t).toCleanObject())}get proofOfLife(){return this._proofOfLife}set lifeProofs(t){t&&(this._proofOfLife=new ns(t).toCleanObject())}get proofOfAddress(){return this._proofOfAddress}set addressProofs(t){t&&(this._proofOfAddress=new ns(t).toCleanObject())}get govtId(){return this._govtId}set govstIds(t){t&&(this._govtId=new ns(t).toCleanObject())}toObject(){return{address:this.address,curp_document_uri:this.curpDocumentUri,email_address:this.emailAddress,govt_id:this.govtId,phone_number:this.phoneNumber,profession:this.profession,proof_of_life:this.proofOfLife,proof_of_address:this.proofOfAddress,requiredLevel:this.requiredLevel,rfc:this.rfc,status:this.status,terms_of_service:this.termsOfService,verification_id:this.verificationId,user_type:this.userType}}}class os extends qe{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(vt(J,this.type)){case J.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 l("Invalid email address");this._recipient=t;break;case J.Phone:if(!t.match(/^\+?[0-9]{10,15}$/))throw new l("Invalid Phone Number");this._recipient=t}}toObject(){return{platform_id:this.platformId,recipient:this.recipient,type:this.type}}}class us extends qe{constructor({code:t}){super(),this.code=t}toObject(){return{code:this.code}}}class ds extends qe{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 hs extends(Oe(Ie).with(Ne,De,xe,ke)){constructor(t){super("alerts",et,t)}async create(t){const e=new Pe(t);return await this._create(e.toCleanObject())}async update(t,e){const s=new Pe(e);return await this._update(t,s.toCleanObject())}}class ls extends(Oe(Ie).with(Ne,Te,De,xe,ke)){constructor(t){super("api_keys",st,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 Re(s,e);return await this._update(t,i.toCleanObject())}}class ps extends(Oe(Ie).with(Ne)){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 u=new ArpcRequest({number:t,arqc:e,arpcMethod:s,transactionData:i,responseCode:r,transactionCounter:a,panSequence:n,uniqueNumber:c,trackDataMethod:o});return await this._create(u.toObject())}}class ms extends(Oe(Ie).with(De,xe)){constructor(t){super("balance_entries",it,t)}async relatedTransaction(t){const e=je(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ae(`${e}`,s)}async fundingInstrument(t){const e=je(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ae(`${e}`,s)}}class _s extends(Oe(Ie).with(De,xe)){constructor(t){super("bill_payments",rt,t)}async serviceProvider(t){const e=je(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ae(`${e}`,s)}}class fs extends(Oe(Ie).with(De,ke,xe)){constructor(t){super("bridge/accounts",at,t)}async update({userId:t="me",...e}){const s=new cs(e);return await this._update(t,s.toCleanObject())}}class bs extends(Oe(Ie).with(De,xe)){constructor(t){super("bridge/bank_accounts",nt,t)}}class ws extends(Oe(Ie).with(De)){constructor(t){super("bridge/clabes",ct,t)}}class ys extends(Oe(Ie).with(De,xe)){constructor(t){super("bridge/transactions",ot,t)}}class gs extends(Oe(Ie).with(Ne)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:i}){const r=new Me(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 Xt.fromObject(e)}}class vs extends(Oe(Ie).with(Ne,Te,De,xe,ke)){constructor(t){super("cards",ut,t)}async create(t,e,s){const i=new Be(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 Le(e,s);return await this._update(t,i.toCleanObject())}}class Os extends(Oe(Ie).with(De,xe)){constructor(t){super("card_transactions",dt,t)}async relatedCard(t){const e=je(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ae(`${e}`,s)}}class As extends(Oe(Ie).with(Ne)){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 Ee({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 Xt.fromObject(e)}}class js extends(Oe(Ie).with(De,xe)){constructor(t){super("commissions",Z,t)}async relatedTransaction(t){const e=je(t);if(null==e)return null;const s=await this.client.get(t);return Ae(`${e}`,s)}}class Is extends(Oe(Ie).with(De,xe)){constructor(t){super("deposits",lt,t)}async source(t){const e=await this.client.get({endpoint:t});return Mt.fromObject(e)}}class xs extends(Oe(Ie).with(Ce,Se)){constructor(t){super("files",Object,t)}async download(t){return await this._download(t,D.Any)}async upload(t){return await this._upload(t)}}class Ns extends(Oe(Ie).with(Ne,xe,Te,De)){constructor(t,e=!1){super(e?"bridge/kyc_validations":"kyc_validations",Object,t),this.isBridge=e}async create(t="me",e=!1){const s=new Ke({force:e,userId:t,isBridge:this.isBridge});return await this._create(s.toCleanObject())}async deactivate(t){return await this._deactivate(t)}}class ks extends(Oe(Ie).with(Ne)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class Ss extends(Oe(Ie).with(Ne,De,ke,xe)){constructor(t){super("partners",pt,t)}async create(t){const e=new Ge(t);return await this._create(e.toCleanObject())}async update(t,e){const s=new Ge(e);return await this._update(t,s.toCleanObject())}}class Ts extends(Oe(Ie).with(De)){constructor(t){super("postal_codes",mt,t)}}class Cs extends(Oe(Ie).with(Ne,Te,De,xe,ke)){constructor(t){super("savings",wt,t)}async create(t,e,s,i){const r=new Ze(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 Ze(e,s,i,r);return await this._update(t,a.toObject())}}class Ds extends(Oe(Ie).with(De,xe)){constructor(t){super("service_providers",Z,t)}}class Us extends(Oe(Ie).with(Ne,xe,De)){constructor(t,e=!1){super(e?"bridge/sessions":"sessions",Object,t),this.isBridge=e}async create(t,e,s,i){const r=new ts({failureUrl:i,successUrl:s,type:e,userId:t,isBridge:this.isBridge});return await this._create(r.toCleanObject())}}class qs extends(Oe(Ie).with(Ce,De)){constructor(t){super("statements",_t,t)}async pdf(t){return await this._download(t,D.Pdf)}async xml(t){return await this._download(t,D.Xml)}}class Rs extends(Oe(Ie).with(Ne,De,xe)){constructor(t){super("transfers",ft,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 es(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 es(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]=gt(Date.now()).toISOString().split("T");return`${s}:${t}:${e}`}}class Ps extends(Oe(Ie).with(Ne,ke)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new ss(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const i=new is(e,t);return await this._update(s,i.toCleanObject())}}class Bs extends(Oe(Ie).with(Ne,Te)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new rs(t,e),i=await this._create(s.toObject());if(!i.success)throw new h;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 Ls extends(Oe(Ie).with(De,ke,xe,Te)){constructor(t){super("users",bt,t)}async update({userId:t="me",...e}){const s=new cs(e);return await this._update(t,s.toCleanObject())}async deactivate(t){return await this._deactivate(t)}}class Ms extends(Oe(Ie).with(Ne,ke)){constructor(t){super("verifications",Object,t)}async create({platformId:t,recipient:e,type:s}){const i=new os({platformId:t,recipient:e,type:s});return await this._create(i.toObject())}async update({code:t,id:e}){const s=new us({code:t});return await this._update(e,s.toObject())}}class Es extends(Oe(Ie).with(Ne,De,xe)){constructor(t){super("wallet_transactions",yt,t)}async create(t,e,s){const i=new ds(t,e,s);return await this._create(i.toObject())}async realtedWallet(t){const e=je(t);if(null==e)return null;const s=await this.client.get(t);return Ae(`${e}`,s)}}class Ks extends(Oe(Ie).with(De,xe)){constructor(t){super("whatsapp_transfers",Z,t)}async accountDestination(t){const e=je(t);if(null==e)return null;const s=await this.client.get(t);return Ae(`${e}`,s)}}t.Cuenca=class{constructor({apiKey:t,apiSecret:e,language:s="en",phase:i=M.Sandbox}={}){this.client=new Lt({apiKey:t,apiSecret:e,language:s,phase:i}),this.withClient(this.client)}withClient(t){this.accounts=new Ue(t),this.alerts=new hs(t),this.apiKeys=new ls(t),this.balanceEntries=new ms(t),this.billPayments=new _s(t),this.bridgeAccounts=new fs(t),this.bridgeBankAccounts=new bs(t),this.bridgeClabes=new ws(t),this.bridgeKycValidations=new Ns(t,!0),this.bridgeSessions=new Us(t,!0),this.bridgeTransactions=new ys(t),this.cardActivations=new gs(t),this.cards=new vs(t),this.cardTransactions=new Os(t),this.cardValidations=new As(t),this.commissions=new js(t),this.deposits=new Is(t),this.files=new xs(t),this.kycValidations=new Ns(t),this.loginTokens=new ks(t),this.partners=new Ss(t),this.postalCodes=new Ts(t),this.savings=new Cs(t),this.serviceProviders=new Ds(t),this.sessions=new Us(t),this.statements=new qs(t),this.transfers=new Rs(t),this.userCredentials=new Ps(t),this.userLogins=new Bs(t),this.users=new Ls(t),this.verifications=new Ms(t),this.walletTransactions=new Es(t),this.whatsAppTransfers=new Ks(t)}}}));
@@ -283,6 +283,19 @@ class PartnerQuery extends QueryParams {
283
283
  }
284
284
  }
285
285
 
286
+ class PostalCodeQuery extends QueryParams {
287
+ constructor({ postalCode, ...args }) {
288
+ super(args);
289
+ this.postalCode = postalCode;
290
+ }
291
+
292
+ toObject() {
293
+ return Object.assign(super.toObject(), {
294
+ postal_code: this.postalCode,
295
+ });
296
+ }
297
+ }
298
+
286
299
  class StatementQuery extends QueryParams {
287
300
  constructor({ month, year, ...args } = {}) {
288
301
  super(args);
@@ -799,6 +812,7 @@ exports.KYCFile = KYCFile;
799
812
  exports.LegalRepresentatives = LegalRepresentatives;
800
813
  exports.License = License;
801
814
  exports.PartnerQuery = PartnerQuery;
815
+ exports.PostalCodeQuery = PostalCodeQuery;
802
816
  exports.QueryParams = QueryParams;
803
817
  exports.ShareholderMoral = ShareholderMoral;
804
818
  exports.StatementQuery = StatementQuery;
@@ -281,6 +281,19 @@ class PartnerQuery extends QueryParams {
281
281
  }
282
282
  }
283
283
 
284
+ class PostalCodeQuery extends QueryParams {
285
+ constructor({ postalCode, ...args }) {
286
+ super(args);
287
+ this.postalCode = postalCode;
288
+ }
289
+
290
+ toObject() {
291
+ return Object.assign(super.toObject(), {
292
+ postal_code: this.postalCode,
293
+ });
294
+ }
295
+ }
296
+
284
297
  class StatementQuery extends QueryParams {
285
298
  constructor({ month, year, ...args } = {}) {
286
299
  super(args);
@@ -776,4 +789,4 @@ class VulnerableActivity {
776
789
  });
777
790
  }
778
791
 
779
- export { AlertLog as A, BusinessDetails as B, CardsQuery as C, DepositQuery as D, ExternalAccount as E, KYCFile as K, LegalRepresentatives as L, PartnerQuery as P, QueryParams as Q, ShareholderMoral as S, TOSAgreements as T, UserQuery as U, VulnerableActivity as V, WalletQuery as W, Address as a, TransactionalProfileServices as b, Audit as c, License as d, AccountQuery as e, AlertQuery as f, ApiKeyQuery as g, BalanceEntryQuery as h, BillPaymentQuery as i, BridgeAccountQuery as j, BridgeBankAccountQuery as k, BridgeQuery as l, BridgeTransactionQuery as m, CardTransactionQuery as n, StatementQuery as o, TransferQuery as p, WalletTransactionQuery as q, TransactionQuery as r, VerificationError as s };
792
+ export { AlertLog as A, BusinessDetails as B, CardsQuery as C, DepositQuery as D, ExternalAccount as E, KYCFile as K, LegalRepresentatives as L, PartnerQuery as P, QueryParams as Q, ShareholderMoral as S, TOSAgreements as T, UserQuery as U, VulnerableActivity as V, WalletQuery as W, Address as a, TransactionalProfileServices as b, Audit as c, License as d, AccountQuery as e, AlertQuery as f, ApiKeyQuery as g, BalanceEntryQuery as h, BillPaymentQuery as i, BridgeAccountQuery as j, BridgeBankAccountQuery as k, BridgeQuery as l, BridgeTransactionQuery as m, CardTransactionQuery as n, PostalCodeQuery as o, StatementQuery as p, TransferQuery as q, WalletTransactionQuery as r, TransactionQuery as s, VerificationError as t };