@cuenca-mx/cuenca-js 0.0.5-dev0 → 0.0.5
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.
- package/build/{data-38bfc8ad.mjs → data-59d28abe.mjs} +22 -20
- package/build/{data-6451748e.cjs → data-d6c1558d.cjs} +22 -20
- package/build/{identities-0a19fb53.cjs → identities-7d3418fb.cjs} +41 -4
- package/build/{identities-1a22fcdb.mjs → identities-fed398c2.mjs} +40 -5
- package/build/index.cjs +187 -12
- package/build/index.mjs +187 -12
- package/build/requests/index.cjs +5 -2
- package/build/requests/index.mjs +3 -2
- package/build/types/index.cjs +5 -3
- package/build/types/index.mjs +2 -2
- package/build/umd/cuenca.umd.js +1 -1
- package/build/{walletTransactionRequest-2e5deaee.mjs → walletTransactionRequest-826690e7.mjs} +108 -2
- package/build/{walletTransactionRequest-267a5d18.cjs → walletTransactionRequest-d2155aa4.cjs} +109 -1
- package/package.json +3 -2
package/build/umd/cuenca.umd.js
CHANGED
|
@@ -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 d extends n{constructor(){super("One result was expected but multiple were found"),this.name="MultipleResultsFound",Object.setPrototypeOf(this,d.prototype)}}class u extends n{constructor(){super("An invalid JWT token was obtained during authentication"),this.name="MalformedJwtToken",Object.setPrototypeOf(this,u.prototype)}}class h extends n{constructor(){super("Invalid password"),this.name="InvalidPassword",Object.setPrototypeOf(this,h.prototype)}}class p extends Error{constructor(t){super(t),Object.setPrototypeOf(this,p.prototype)}}const l="undefined"!=typeof window&&void 0!==window.document,m="undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process),w=l,_=m;class f{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 u}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=f.getExpirationDate(i);return new f(r,i)}}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 b{static Credit=new b("credit");static Debit=new b("debit");constructor(t){this.value=t}}class y{static Accendo=new y("accendo");static Cuenca=new y("cuenca");constructor(t){this.value=t}}class g{static Active=new g("active");static Blocked=new g("blocked");static Created=new g("created");static Deactivated=new g("deactivated");static Printing=new g("printing");constructor(t){this.value=t}}class O{static Auth=new O("auth");static Capture=new O("capture");static Chargeback=new O("chargeback");static Expiration=new O("expiration");static Refund=new O("refund");static Void=new O("void");constructor(t){this.value=t}}class A{static Physical=new A("physical");static Virtual=new A("virtual");constructor(t){this.value=t}}class j{static CardRequest=new j("card_request");static CashDeposit=new j("cash_deposit");static OutgoingSpei=new j("outgoing_spei");constructor(t){this.value=t}}class x{static Cash=new x("cash");static Internal=new x("internal");static Spei=new x("spei");constructor(t){this.value=t}}class I{static Credit=new I("credit");static Debit=new I("debit");constructor(t){this.value=t}}class k{static Pdf=new k("pdf");static Xml=new k("xml");static Json=new k("json");constructor(t){this.value=t}}class T{static Ine=new T("ine");static Passport=new T("passport");static Residency=new T("residency");static MatriculaConsular=new T("matricula_consular");static ProofOfLiveness=new T("proof_of_liveness");static ProofOfAddress=new T("proof_of_address");constructor(t){this.value=t}}class N{static UploadAgain=new N("upload_again");static ReviewNeeded=new N("review_needed");static Submitted=new N("submitted");static Succeeded=new N("succeeded");constructor(t){this.value=t}}class S{static Sandbox=new S("sandbox");static Stage=new S("stage");static Api=new S("api");constructor(t){this.value=t}}class U{static Cable=new U("cable");static CreditCard=new U("credit_card");static Electricity=new U("electricity");static Gas=new U("gas");static Internet=new U("internet");static LandlineTelephone=new U("landline_telephone");static MobileTelephonePostpaid=new U("mobile_telephone_postpaid");static MobileTelephonePrepaid=new U("mobile_telephone_prepaid");static SateliteTelevision=new U("satelite_television");static Water=new U("water");constructor(t){this.value=t}}class C{static General=new C("general");static Home=new C("home");static Vehicle=new C("vehicle");static Travel=new C("travel");static Clothing=new C("clothing");static Other=new C("other");static Medical=new C("medical");static Accident=new C("accident");static Education=new C("education");constructor(t){this.value=t}}class P{static NotSet=new P("not_set");static Terminal=new P("terminal");static Manual=new P("manual");static Unknown=new P("unknown");static Contactless=new P("contactless");static FallBack=new P("fall_back");static MagneticStripe=new P("magnetic_stripe");static RecurringCharge=new P("recurring_charge");constructor(t){this.value=t}}class q{static Created=new q("created");static Failed=new q("failed");static InReview=new q("in_review");static Submitted=new q("submitted");static Succeeded=new q("succeeded");constructor(t){this.value=t}}class ${static Internal=new $("internal");static Spei=new $("spei");constructor(t){this.value=t}}class E{static Active=new E("active");static Deactivated=new E("deactivated");static Fraud=new E("fraud");static PldBlocked=new E("pld_blocked");constructor(t){this.value=t}}class K{static Created=new K("created");static NotVerified=new K("not_verified");static Rejected=new K("rejected");static ReviewNeeded=new K("review_needed");static UploadAgain=new K("upload_again");static Submitted=new K("submitted");static Succeeded=new K("succeeded");constructor(t){this.value=t}}class D{static Phone=new D("phone");static Email=new D("email");constructor(t){this.value=t}}class M{static Deposit=new M("deposit");static Withdrawal=new M("withdrawal");constructor(t){this.value=t}}const L=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},B=(t,e)=>Object.values(t).find((t=>t.value===e));class V{constructor({createdAfter:t,createdBefore:e,limit:s,pageSize:i,relatedTransaction:r,userId:a,count:n=!1}){this.createdAfter=t,this.createdBefore=e,this._lmt=s,this.relatedTransaction=r,this.userId=a,this.count=n,this.pageSize=i}get limit(){return this._limit}set _lmt(t){let e=null;t&&t>=0&&(e=t),this._limit=e}toObject(){return{created_after:this.createdAfter,created_before:this.createdBefore,limit:this.limit,related_transaction:this.relatedTransaction,user_id:this.userId,page_size:this.pageSize&&this.pageSize.size}}toParams(){const t={...this.toObject()};return this.count&&(t.count=1),Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}toQueryString(){return new URLSearchParams(this.toParams()).toString()}}class R extends V{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class Y extends V{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class H extends V{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class F extends H{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 z extends H{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 X extends V{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 Q extends V{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class J extends V{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class W extends V{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 G extends V{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class Z extends V{constructor({emailAddress:t,phoneNumber:e,status:s,...i}){super(i),this.emailAddress=t,this.phoneNumber=e,this.status=s}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress,phone_number:this.phoneNumber,status:this.status})}}class tt extends V{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class et extends V{constructor({month:t,year:e,...s}){super(s),this.d={month:t,year:e}}get month(){return this._date.month}get year(){return this._date.year}set d({month:t,year:e}){const s=L(Date.now());s.setUTCDate(1);if(L(`${e}-${t}-01`).getTime()>=s.getTime())throw new p(`${e}-${t} is not a valid year-month pair`);this._date={month:t,year:e}}toObject(){return Object.assign(super.toObject(),{month:this.month,year:this.year})}}class st{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 st({ip:t,location:e,type:s,version:i})}class it{constructor({data:t,isMx:e,status:s,type:i,uriBack:r,uriFront:a}){this.data=t,this.isMx=e,this.status=B(N,s),this.type=B(T,i),this.uriBack=r,this.uriFront=a}static fromObject=({data:t,status:e,type:s,...i})=>new it({data:t,status:e,type:s,isMx:i.is_mx,uriBack:i.uri_back,uriFront:i.uri_front})}class rt{constructor({city:t,country:e,createdAt:s,extNumber:i,fullName:r,intNumber:a,postalCode:n,state:c,street:o}){this.city=t,this.country=e,this.createdAt=L(s),this.extNumber=i,this.fullName=r,this.intNumber=a,this.postalCode=n,this.state=c,this.street=o}static fromObject=({city:t,country:e,state:s,street:i,...r})=>new rt({city:t,country:e,state:s,street:i,createdAt:r.created_at,extNumber:r.ext_number,fullName:r.full_name,intNumber:r.int_number,postalCode:r.postal_code})}var at="0.0.5-dev0";class nt{constructor({apiKey:t,apiSecret:e,language:s="en",phase:i=S.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}.cuenca.com`}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 f.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}){return this.request({method:"POST",endpoint:t,data:e})}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=k.Json,method:i="GET",params:r=null}){const a={"Content-Type":"application/json",Accept:`application/${s.value}`};this.authHeader&&(a.Authorization=this.authHeader),_?a["User-Agent"]=`cuenca-js/${at}`:w&&(a["X-User-Agent"]=`cuenca-js/${at}`),this.jwtToken&&(this.jwtToken.isExpired&&(this.jwtToken=await f.create(this)),a["X-Cuenca-Token"]=this.jwtToken.token);const o=this.addHeadersToRequest(a),d=e;d&&Object.keys(d).forEach((t=>{d[t]instanceof Date&&(d[t]=d[t].toISOString())}));const u=this.addConfigToRequest({method:i,params:r,data:d,url:t});let h;try{h=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{o.eject(),u.eject()}return h.data}}class ct{constructor({accountNumber:t,createdAt:e,id:s,institutionName:i,name:r,userId:a}){this.accountNumber=t,this.createdAt=L(e),this.id=s,this.institutionName=i,this.name=r,this.userId=a}static fromObject=({id:t,name:e,...s})=>new ct({id:t,name:e,accountNumber:s.account_number,createdAt:s.created_at,institutionName:s.institution_name,userId:s.user_id})}class ot{constructor({createdAt:t,deactivatedAt:e,id:s,secret:i,userId:r,updatedAt:a}){this.createdAt=L(t),this.deactivatedAt=L(e),this.id=s,this.secret=i,this.userId=r,this.updatedAt=L(a)}static fromObject=({id:t,secret:e,...s})=>new ot({id:t,secret:e,createdAt:s.created_at,deactivatedAt:s.deactivated_at,userId:s.user_id,updatedAt:s.updated_at});get isActive(){const t=L(Date.now());return!this.deactivatedAt||this.deactivatedAt.getTime()>t.getTime()}}class dt{constructor({arpc:t,createdAt:e,cardUri:s,isValidArqc:i}){this.arpc=t,this.createdAt=L(e),this.cardUri=s,this.isValidArqc=i}static fromObject=({arpc:t,...e})=>new dt({arpc:t,createdAt:e.created_at,cardUri:e.card_uri,isValidArqc:e.is_valid_arqc})}class ut{constructor({amount:t,createdAt:e,descriptor:s,entryType:i,fundingInstrumentUri:r,id:a,name:n,relatedTransactionUri:c,rollingBalance:o}){this.amount=t,this.createdAt=L(e),this.descriptor=s,this.entryType=B(I,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 ut({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 ht{constructor({amount:t,createdAt:e,descriptor:s,status:i,userId:r}){this.amount=t,this.createdAt=L(e),this.descriptor=s,this.status=B(q,i),this.userId=r}}class pt extends ht{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 pt({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 lt{constructor({createdAt:t,cvv2:e,expMonth:s,expYear:i,fundingType:r,id:a,issuer:n,number:c,pin:o,status:d,type:u,updatedAt:h,userId:p}){this.createdAt=L(t),this.cvv2=e,this.expMonth=s,this.expYear=i,this.fundingType=B(b,r),this.id=a,this.issuer=B(y,n),this.number=c,this.pin=o,this.status=B(g,d),this.type=B(A,u),this.updatedAt=L(h),this.userId=p}static fromObject=({cvv2:t,id:e,issuer:s,number:i,pin:r,status:a,type:n,...c})=>new lt({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 mt{constructor({cardUri:t,createdAt:e,id:s,ipAddress:i,success:r,userId:a}){this.cardUri=t,this.createdAt=L(e),this.id=s,this.ipAddress=i,this.success=r,this.userId=a}static fromObject=({id:t,success:e,...s})=>new mt({id:t,success:e,cardUri:s.card_uri,createdAt:s.created_at,ipAddress:s.ip_address,userId:s.user_id})}class wt extends ht{constructor({amount:t,cardErrorType:e,cardLastFour:s,cardType:i,cardUri:r,createdAt:a,descriptor:n,metadata:c,network:o,relatedCardTransactionsUris:d,status:u,type:h,userId:p}){super({amount:t,createdAt:a,descriptor:n,status:u,userId:p}),this.cardErrorType=B(v,e),this.cardLastFour=s,this.cardType=B(A,i),this.cardUri=r,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=B(O,h)}static fromObject=({amount:t,descriptor:e,metadata:s,network:i,status:r,type:a,...n})=>new wt({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 _t{constructor({cardStatus:t,cardType:e,cardUri:s,createdAt:i,isExpired:r,isPinAttemptsExceeded:a,isValidCvv:n,isValidCvv2:c,isValidExpDate:o,isValidIcvv:d,isValidPinBlock:u,userId:h}){this.cardStatus=B(g,t),this.cardType=B(A,e),this.cardUri=s,this.createdAt=L(i),this.isExpired=r,this.isPinAttemptsExceeded=a,this.isValidCvv=n,this.isValidCvv2=c,this.isValidExpDate=o,this.isValidIcvv=d,this.isValidPinBlock=u,this.userId=h}static fromObject=({...t})=>new _t({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===g.Active}}class ft extends ht{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=B(j,a)}static fromObject=({amount:t,descriptor:e,status:s,type:i,...r})=>new ft({amount:t,descriptor:e,status:s,type:i,createdAt:r.created_at,relatedTransactionUri:r.related_transaction_uri,userId:r.user_id})}class vt extends ht{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=B(x,r),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new vt({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 bt{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new bt({id:t})}class yt extends class{constructor({balance:t,createdAt:e,deactivatedAt:s,id:i,userId:r,updatedAt:a}){this.balance=t,this.createdAt=L(e),this.deactivatedAt=L(s),this.id=i,this.userId=r,this.updatedAt=L(a)}}{constructor({balance:t,category:e,createdAt:s,deactivatedAt:i,goalAmount:r,goalDate:a,id:n,name:c,userId:o,updatedAt:d}){super({balance:t,createdAt:s,deactivatedAt:i,id:n,userId:o,updatedAt:d}),this.category=B(C,e),this.goalAmount=r,this.goalDate=L(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:i,...r})=>new yt({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 gt{constructor({categories:t,id:e,name:s,providerKey:i}){var r;this.categories=null==(r=t)?[]:r.map((t=>B(U,t))),this.id=e,this.name=s,this.providerKey=i}static fromObject=({categories:t,id:e,name:s,...i})=>new gt({categories:t,id:e,name:s,providerKey:i.provider_key})}class Ot{constructor({createdAt:t,id:e,month:s,year:i}){this.createdAt=L(t),this.id=e,this.month=s,this.year=i}static fromObject=({id:t,month:e,year:s,...i})=>new Ot({id:t,month:e,year:s,createdAt:i.created_at})}class At extends ht{constructor({accountNumber:t,amount:e,createdAt:s,descriptor:i,destinationUri:r,id:a,idempotencyKey:n,network:c,recipientName:o,status:d,trackingKey:u,updatedAt:h,userId:p}){super({amount:e,createdAt:s,descriptor:i,status:d,userId:p}),this.accountNumber=t,this.destinationUri=r,this.id=a,this.idempotencyKey=n,this.network=B($,c),this.recipientName=o,this.trackingKey=u,this.updatedAt=L(h)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new At({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 jt{constructor({address:t,blacklistValidationStatus:e,clabe:s,createdAt:i,curp:r,emailAddress:a,firstSurname:n,govtId:c,id:o,level:d,names:u,phoneNumber:h,proofOfAddress:p,proofOfLife:l,requiredLevel:m,rfc:w,secondSurname:_,status:f,termsOfService:v,updatedAt:b,verificationId:y}){this.add=t,this.blacklistValidationStatus=B(K,e),this.clabe=s,this.createdAt=L(i),this.curp=r,this.emailAddress=a,this.firstSurname=n,this.govstIds=c,this.id=o,this.level=d,this.names=u,this.phoneNumber=h,this.addressProofs=p,this.lifeProofs=l,this.requiredLevel=m,this.rfc=w,this.secondSurname=_,this.status=B(E,f),this.terms=v,this.updatedAt=L(b),this.verificationId=y}get address(){return this._address}set add(t){t&&(this._address=rt.fromObject(t))}get proofOfAddress(){return this._proofOfAddress}set addressProofs(t){t&&(this._proofOfAddress=it.fromObject(t))}get proofOfLife(){return this._proofOfLife}set lifeProofs(t){t&&(this._proofOfLife=it.fromObject(t))}get govtId(){return this._govtId}set govstIds(t){t&&(this._govtId=it.fromObject(t))}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=st.fromObject(t))}static fromObject=({address:t,clabe:e,curp:s,id:i,level:r,names:a,rfc:n,status:c,...o})=>new jt({address:t,clabe:e,curp:s,id:i,level:r,names:a,rfc:n,status:c,blacklistValidationStatus:o.blacklist_validation_status,createdAt:o.created_at,emailAddress:o.email_address,firstSurname:o.first_surname,govtId:o.govt_id,phoneNumber:o.phone_number,proofOfAddress:o.proof_of_address,proofOfLife:o.proof_of_life,requiredLevel:o.required_level,secondSurname:o.second_surname,termsOfService:o.terms_of_service,updatedAt:o.updated_at,verificationId:o.verification_id})}class xt{constructor({createdAt:t,id:e,isActive:s,updatedAt:i}){this.createdAt=L(t),this.id=e,this.isActive=s,this.updatedAt=L(i)}static fromObject=({id:t,...e})=>new xt({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class It{constructor({id:t,lastLoginAt:e,success:s}){this.id=t,this.lastLoginAt=L(e),this.success=s}static fromObject=({id:t,success:e,...s})=>new It({id:t,success:e,lastLoginAt:s.last_login_at})}class kt{constructor({createdAt:t,id:e,platformId:s,recipient:i,type:r,updatedAt:a}){this.createdAt=L(t),this.id=e,this.platformId=s,this.recipient=i,this.type=B(D,r),this.updatedAt=L(a)}static fromObject=({id:t,recipient:e,type:s,...i})=>new kt({id:t,recipient:e,type:s,createdAt:i.created_at,platformId:i.platform_id,updatedAt:i.updated_at})}class Tt extends ht{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=B(M,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:i,...r})=>new Tt({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 Nt extends ht{constructor({amount:t,claimUrl:e,createdAt:s,descriptor:i,destinationUri:r,expiresAt:a,id:n,network:c,phoneNumber:o,recipientName:d,status:u,trackingKey:h,updatedAt:p,userId:l}){super({amount:t,createdAt:s,descriptor:i,status:u,userId:l}),this.claimUrl=e,this.destinationUri=r,this.id=n,this.expiresAt=L(a),this.network=B($,c),this.phoneNumber=o,this.recipientName=d,this.trackingKey=h,this.updatedAt=L(p)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new Nt({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 St{constructor(t){this.superclass=t}with(...t){return t.reduce(((t,e)=>e(t)),this.superclass)}}const Ut=t=>new St(t),Ct=(t,e)=>({accounts:()=>ct.fromObject(e),api_keys:()=>ot.fromObject(e),arpc:()=>dt.fromObject(e),balance_entries:()=>ut.fromObject(e),bill_payments:()=>pt.fromObject(e),cards:()=>lt.fromObject(e),card_activations:()=>mt.fromObject(e),card_transactions:()=>wt.fromObject(e),card_validations:()=>_t.fromObject(e),commissions:()=>ft.fromObject(e),deposits:()=>vt.fromObject(e),login_tokens:()=>bt.fromObject(e),savings:()=>yt.fromObject(e),service_providers:()=>gt.fromObject(e),statements:()=>Ot.fromObject(e),transfers:()=>At.fromObject(e),users:()=>jt.fromObject(e),user_credentials:()=>xt.fromObject(e),user_logins:()=>It.fromObject(e),verifications:()=>kt.fromObject(e),wallet_transactions:()=>Tt.fromObject(e),whatsapp_transfers:()=>Nt.fromObject(e)}[t]()),Pt=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class qt{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const $t=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return Ct(this.path,e)}},Et=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return Ct(this.path,e)}},Kt=t=>class extends t{async _update(t,e){const s=await this.client.patch({endpoint:`/${this.path}/${t}`,data:e});return Ct(this.path,s)}},Dt=t=>class extends t{async _deactivate(t,e){const s=await this.client.delete({endpoint:`/${this.path}/${t}`,data:e});return Ct(this.path,s)}},Mt=t=>class extends t{async _download(t,e){return await this.client.get({endpoint:`/${this.path}/${t}`,format:e})}},Lt=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 d;const[s]=e;return Ct(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 Ct(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=Ct(this.path,e);yield t}e=t.next_page_uri}}};class Bt extends(Ut(qt).with(Lt,$t)){constructor(t){super("accounts",R,t)}}class Vt{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class Rt extends Vt{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class Yt extends Vt{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 Ht extends Vt{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class Ft extends Vt{constructor(t,e,s,i){super(),this.n=t,this.eM=e,this.eY=s,this.c2=i}get number(){return this._number}set n(t){if([!!t,16===t.length,/^\d{16}/.test(t)].some((t=>!t)))throw new p("Invalid number");this._number=t.trim()}get expMonth(){return this._expMonth}set eM(t){if([!!t,t>=1,t<=12].some((t=>!t)))throw new p("Invalid expiration month");this._expMonth=t}get expYear(){return this._expYear}set eY(t){if([!!t,t>=18,t<=99].some((t=>!t)))throw new p("Invalid expiration year");this._expYear=t}get cvv2(){return this._cvv2}set c2(t){if([!!t,3===t.length,/^\d{3}/.test(t)].some((t=>!t)))throw new p("Invalid cvv2");this._cvv2=t}toObject(){return{number:this.number,exp_month:this.expMonth,exp_year:this.expYear,cvv2:this.cvv2}}}class zt extends Vt{constructor({cvv:t,cvv2:e,expMonth:s,expYear:i,icvv:r,number:a,pinBlock:n,pinAttemptsExceeded:c}){super(),this.c=t,this.c2=e,this.em=s,this.ey=i,this.ic=r,this.n=a,this.pinBloc=n,this.pinAttemptsExceeded=c}get cvv(){return this._cvv}set c(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new p("Invalid cvv");this._cvv=t}get cvv2(){return this._cvv2}set c2(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new p("Invalid cvv2");this._cvv2=t}get expMonth(){return this._expMonth}set em(t){if(!t)return;if([t>=1,t<=12].some((t=>!t)))throw new p("Invalid expiration month");this._expMonth=t}get expYear(){return this._expYear}set ey(t){if(!t)return;if([t>=18,t<=99].some((t=>!t)))throw new p("Invalid expiration year");this._expYear=t}get icvv(){return this._icvv}set ic(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new p("Invalid icvv");this._icvv=t}get number(){return this._number}set n(t){if([!!t,16===t.length,/^\d{16}/.test(t)].some((t=>!t)))throw new p("Invalid number");this._number=t}toObject(){return{cvv:this.cvv,cvv2:this.cvv2,exp_month:this.expMonth,exp_year:this.expYear,icvv:this.icvv,number:this.number,pin_block:this.pinBloc,pin_attempts_exceeded:this.pinAttemptsExceeded}}}class Xt extends Vt{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(L(t).getTime()<=L(Date.now()).getTime())throw new p("The goal_date always need to be higher than now");this._goalDate=t}}toObject(){return{category:this.category,goal_amount:this.goalAmount,goal_date:this.goalDate,name:this.name}}}class Qt extends Vt{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 Jt extends Vt{constructor(t){super(),this.pwd=t}get password(){return this._password}set pwd(t){if([!!t,t.length>=6].some((t=>!t)))throw new p("Invalid password");this._password=t}toObject(){return{password:this.password}}}class Wt extends Vt{constructor(t,e){super(),this.pwd=t,this.isActive=e,this.req={password:this.password,isActive:this.isActive}}get password(){return this._password}get request(){return this._request}set pwd(t){if(!t)return void(this._password=t);if([t.length>=6].some((t=>!t)))throw new p("Invalid password");this._password=t}set req(t){if(t.password&&null!=t.isActive)throw new p("Only one property can be updated at a time");this._request=t}toObject(){return{password:this.request.password,is_active:this.request.isActive}}}class Gt extends Vt{constructor(t,e="me"){super(),this.pwd=t,this.userId=e}get password(){return this._password}set pwd(t){if([!!t,6===t.length,/^\d{6}$/.test(t)].some((t=>!t)))throw new p("Invalid password");this._password=t}toObject(){return{password:this.password,user_id:this.userId}}}class Zt extends Vt{constructor({ip:t,location:e,type:s,version:i}){super(),this.ipAddress=t,this.location=e,this.type=s,this.version=i}get ip(){return this._ip}set ipAddress(t){if(!t)throw new p("missing ip address");if(!t.split(".").every((t=>t>=0&&t<=255)))throw new p("Invalid ip address");this._ip=t}toObject(){return{ip:this.ip,location:this.location,type:this.type,version:this.version}}}class te extends Vt{constructor({city:t,country:e,extNumber:s,intNumber:i,postalCode:r,state:a,street:n}={}){super(),this.city=t,this.country=e,this.extNumber=s,this.intNumber=i,this.postalCode=r,this.state=a,this.street=n}toObject(){return{city:this.city,country:this.country,ext_number:this.extNumber,int_number:this.intNumber,postal_code:this.postalCode,state:this.state,street:this.street}}}class ee extends Vt{constructor({address:t,profession:e,requiredLevel:s,termsOfService:i,verificationId:r}){super(),this.adrs=t,this.profession=e,this.requiredLevel=s,this.terms=i,this.verificationId=r}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=new Zt(t).toObject())}get address(){return this._address}set adrs(t){t&&(this._address=new te(t).toCleanObject())}toObject(){return{address:this.address,profession:this.profession,requiredLevel:this.requiredLevel,terms_of_service:this.termsOfService,verification_id:this.verificationId}}}class se extends Vt{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(B(D,this.type)){case D.Email:if(!t.match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/))throw new p("Invalid email address");this._recipient=t;break;case D.Phone:if(!t.match(/^\+?[0-9]{10,15}$/))throw new p("Invalid Phone Number");this._recipient=t}}toObject(){return{platform_id:this.platformId,recipient:this.recipient,type:this.type}}}class ie extends Vt{constructor({code:t}){super(),this.code=t}toObject(){return{code:this.code}}}class re extends Vt{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 ae extends(Ut(qt).with(Et,Dt,Lt,$t,Kt)){constructor(t){super("api_keys",Y,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 Rt(s,e);return await this._update(t,i.toCleanObject())}}Ut(qt).with(Et);class ne extends(Ut(qt).with(Lt,$t)){constructor(t){super("balance_entries",X,t)}async relatedTransaction(t){const e=Pt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ct(`${e}`,s)}async fundingInstrument(t){const e=Pt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ct(`${e}`,s)}}class ce extends(Ut(qt).with(Lt,$t)){constructor(t){super("bill_payments",Q,t)}async serviceProvider(t){const e=Pt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ct(`${e}`,s)}}class oe extends(Ut(qt).with(Et)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:i}){const r=new Ft(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 lt.fromObject(e)}}class de extends(Ut(qt).with(Et,Dt,Lt,$t,Kt)){constructor(t){super("cards",W,t)}async create(t,e,s){const i=new Yt(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 Ht(e,s);return await this._update(t,i.toCleanObject())}}class ue extends(Ut(qt).with(Lt,$t)){constructor(t){super("card_transactions",J,t)}async relatedCard(t){const e=Pt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ct(`${e}`,s)}}class he extends(Ut(qt).with(Et)){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 zt({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 lt.fromObject(e)}}class pe extends(Ut(qt).with(Lt,$t)){constructor(t){super("commissions",V,t)}async relatedTransaction(t){const e=Pt(t);if(null==e)return null;const s=await this.client.get(t);return Ct(`${e}`,s)}}class le extends(Ut(qt).with(Lt,$t)){constructor(t){super("deposits",F,t)}async source(t){const e=await this.client.get({endpoint:t});return ct.fromObject(e)}}class me extends(Ut(qt).with(Et)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class we extends(Ut(qt).with(Et,Dt,Lt,$t,Kt)){constructor(t){super("savings",tt,t)}async create(t,e,s,i){const r=new Xt(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 Xt(e,s,i,r);return await this._update(t,a.toObject())}}class _e extends(Ut(qt).with(Lt,$t)){constructor(t){super("service_providers",V,t)}}class fe extends(Ut(qt).with(Mt,Lt)){constructor(t){super("statements",et,t)}async pdf(t){return await this._download(t,k.Pdf)}async xml(t){return await this._download(t,k.Xml)}}class ve extends(Ut(qt).with(Et,Lt,$t)){constructor(t){super("transfers",z,t)}async destination(t){const e=await this.client.get({endpoint:t});return ct.fromObject(e)}async create({accountNumber:t,amount:e,descriptor:s,recipientName:i,idempotencyKey:r}){const a=r||this.constructor._genIdempotencyKey(t,e),n=new Qt(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 Qt(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]=L(Date.now()).toISOString().split("T");return`${s}:${t}:${e}`}}class be extends(Ut(qt).with(Et,Kt)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new Jt(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const i=new Wt(e,t);return await this._update(s,i.toCleanObject())}}class ye extends(Ut(qt).with(Et,Dt)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new Gt(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 ge extends(Ut(qt).with(Lt,Kt,$t)){constructor(t){super("users",Z,t)}async update({userId:t="me",...e}){const s=new ee(e);return await this._update(t,s.toCleanObject())}}class Oe extends(Ut(qt).with(Et,Kt)){constructor(t){super("verifications",Object,t)}async create({platformId:t,recipient:e,type:s}){const i=new se({platformId:t,recipient:e,type:s});return await this._create(i.toObject())}async update({code:t,id:e}){const s=new ie({code:t});return await this._update(e,s.toObject())}}class Ae extends(Ut(qt).with(Et,Lt,$t)){constructor(t){super("wallet_transactions",G,t)}async create(t,e,s){const i=new re(t,e,s);return await this._create(i.toObject())}async realtedWallet(t){const e=Pt(t);if(null==e)return null;const s=await this.client.get(t);return Ct(`${e}`,s)}}class je extends(Ut(qt).with(Lt,$t)){constructor(t){super("whatsapp_transfers",V,t)}async accountDestination(t){const e=Pt(t);if(null==e)return null;const s=await this.client.get(t);return Ct(`${e}`,s)}}t.Cuenca=class{constructor({apiKey:t,apiSecret:e,language:s="en",phase:i=S.Sandbox}={}){this.client=new nt({apiKey:t,apiSecret:e,language:s,phase:i}),this.withClient(this.client)}withClient(t){this.accounts=new Bt(t),this.apiKeys=new ae(t),this.balanceEntries=new ne(t),this.billPayments=new ce(t),this.cardActivations=new oe(t),this.cards=new de(t),this.cardTransactions=new ue(t),this.cardValidations=new he(t),this.commissions=new pe(t),this.deposits=new le(t),this.loginTokens=new me(t),this.savings=new we(t),this.serviceProviders=new _e(t),this.statements=new fe(t),this.transfers=new ve(t),this.userCredentials=new be(t),this.userLogins=new ye(t),this.users=new ge(t),this.verifications=new Oe(t),this.walletTransactions=new Ae(t),this.whatsAppTransfers=new je(t)}}}));
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("axios"),require("buffer"),require("module")):"function"==typeof define&&define.amd?define(["exports","axios","buffer","module"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).cuenca={},t.axios,t.Buffer,t.module$1)}(this,(function(t,e,s,i){"use strict";function r(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var a=r(e),n=r(s);class c extends Error{constructor(t){super(t),Object.setPrototypeOf(this,c.prototype)}}class o extends c{constructor(t,e){super(`Cuenca Response Error: ${e}`),this.name="CuencaResponseError",this.data=t,this.status=e,Object.setPrototypeOf(this,o.prototype)}}class d extends c{constructor(){super("No results were found"),this.name="NoResultFound",Object.setPrototypeOf(this,d.prototype)}}class u extends c{constructor(){super("One result was expected but multiple were found"),this.name="MultipleResultsFound",Object.setPrototypeOf(this,u.prototype)}}class h extends c{constructor(){super("An invalid JWT token was obtained during authentication"),this.name="MalformedJwtToken",Object.setPrototypeOf(this,h.prototype)}}class p extends c{constructor(){super("Invalid password"),this.name="InvalidPassword",Object.setPrototypeOf(this,p.prototype)}}class l extends Error{constructor(t){super(t),Object.setPrototypeOf(this,l.prototype)}}const m="undefined"!=typeof window&&void 0!==window.document,f="undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process),w=m,_=f;class b{constructor(t,e){this.expiresAt=t,this.token=e}get isExpired(){const t=new Date;return(this.expiresAt.valueOf()-t.valueOf())/6e4<=5}static getExpirationDate=t=>{let e;try{const[,s]=t.split(".");e=JSON.parse(n.default.Buffer.from(`${s}==`,"base64").toString())}catch(t){throw new h}const{exp:s}=e;return new Date(new Date(1e3*s).toUTCString())};static create=async t=>{const e=t;e.jwtToken=null;const s=e.deleteRequestHeader("X-Cuenca-Token"),{token:i}=await t.post("token",{});s.eject();const r=b.getExpirationDate(i);return new b(r,i)}}class v{static Succeeded=new v("succeeded");static NotValidated=new v("not_validated");static Failed=new v("failed");static OnWaitList=new v("on_wait_list");constructor(t){this.value=t}}class y{static Blocked=new y("blocked");static Comunication=new y("comunication");static ContactlesAmountLimit=new y("contactles_amount_limit");static FraudDetection=new y("fraud_detection");static FraudDetectionUncertain=new y("fraud_detection_uncertain");static InsufficientFounds=new y("insufficient_founds");static InvalidPin=new y("invalid_pin");static Notification=new y("notification");static NotificationDeactivatedCard=new y("notification_deactivated_card");constructor(t){this.value=t}}class g{static Credit=new g("credit");static Debit=new g("debit");constructor(t){this.value=t}}class O{static Accendo=new O("accendo");static Cuenca=new O("cuenca");constructor(t){this.value=t}}class j{static Active=new j("active");static Blocked=new j("blocked");static Created=new j("created");static Deactivated=new j("deactivated");static Printing=new j("printing");constructor(t){this.value=t}}class A{static Auth=new A("auth");static Capture=new A("capture");static Chargeback=new A("chargeback");static Expiration=new A("expiration");static Refund=new A("refund");static Void=new A("void");constructor(t){this.value=t}}class x{static Physical=new x("physical");static Virtual=new x("virtual");constructor(t){this.value=t}}class I{static CardRequest=new I("card_request");static CashDeposit=new I("cash_deposit");static OutgoingSpei=new I("outgoing_spei");constructor(t){this.value=t}}class k{static Cash=new k("cash");static Internal=new k("internal");static Spei=new k("spei");constructor(t){this.value=t}}class T{static Credit=new T("credit");static Debit=new T("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 N{static Ine=new N("ine");static Passport=new N("passport");static Residency=new N("residency");static MatriculaConsular=new N("matricula_consular");static ProofOfLiveness=new N("proof_of_liveness");static ProofOfAddress=new N("proof_of_address");constructor(t){this.value=t}}class S{static Sandbox=new S("sandbox");static Stage=new S("stage");static Api=new S("api");constructor(t){this.value=t}}class U{static Cable=new U("cable");static CreditCard=new U("credit_card");static Electricity=new U("electricity");static Gas=new U("gas");static Internet=new U("internet");static LandlineTelephone=new U("landline_telephone");static MobileTelephonePostpaid=new U("mobile_telephone_postpaid");static MobileTelephonePrepaid=new U("mobile_telephone_prepaid");static SateliteTelevision=new U("satelite_television");static Water=new U("water");constructor(t){this.value=t}}class q{static General=new q("general");static Home=new q("home");static Vehicle=new q("vehicle");static Travel=new q("travel");static Clothing=new q("clothing");static Other=new q("other");static Medical=new q("medical");static Accident=new q("accident");static Education=new q("education");constructor(t){this.value=t}}class P{static NotSet=new P("not_set");static Terminal=new P("terminal");static Manual=new P("manual");static Unknown=new P("unknown");static Contactless=new P("contactless");static FallBack=new P("fall_back");static MagneticStripe=new P("magnetic_stripe");static RecurringCharge=new P("recurring_charge");constructor(t){this.value=t}}class B{static Created=new B("created");static Failed=new B("failed");static InReview=new B("in_review");static Submitted=new B("submitted");static Succeeded=new B("succeeded");constructor(t){this.value=t}}class ${static Internal=new $("internal");static Spei=new $("spei");constructor(t){this.value=t}}class D{static Active=new D("active");static Deactivated=new D("deactivated");static Fraud=new D("fraud");static PldBlocked=new D("pld_blocked");constructor(t){this.value=t}}class E{static Created=new E("created");static NotVerified=new E("not_verified");static Rejected=new E("rejected");static ReviewNeeded=new E("review_needed");static Submitted=new E("submitted");static Succeeded=new E("succeeded");static UploadAgain=new E("upload_again");constructor(t){this.value=t}}class K{static Phone=new K("phone");static Email=new K("email");constructor(t){this.value=t}}class L{static Deposit=new L("deposit");static Withdrawal=new L("withdrawal");constructor(t){this.value=t}}const M=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},R=(t,e)=>Object.values(t).find((t=>t.value===e));class V{constructor({createdAfter:t,createdBefore:e,limit:s,pageSize:i,relatedTransaction:r,userId:a,count:n=!1}){this.createdAfter=t,this.createdBefore=e,this._lmt=s,this.relatedTransaction=r,this.userId=a,this.count=n,this.pageSize=i}get limit(){return this._limit}set _lmt(t){let e=null;t&&t>=0&&(e=t),this._limit=e}toObject(){return{created_after:this.createdAfter,created_before:this.createdBefore,limit:this.limit,related_transaction:this.relatedTransaction,user_id:this.userId,page_size:this.pageSize&&this.pageSize.size}}toParams(){const t={...this.toObject()};return this.count&&(t.count=1),Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}toQueryString(){return new URLSearchParams(this.toParams()).toString()}}class F extends V{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class H extends V{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class Y extends V{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class z extends Y{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 X extends Y{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 Q extends V{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 J extends V{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class W extends V{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class G extends V{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 Z extends V{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class tt extends V{constructor({emailAddress:t,phoneNumber:e,status:s,...i}){super(i),this.emailAddress=t,this.phoneNumber=e,this.status=s}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress,phone_number:this.phoneNumber,status:this.status})}}class et extends V{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class st extends V{constructor({month:t,year:e,...s}){super(s),this.d={month:t,year:e}}get month(){return this._date.month}get year(){return this._date.year}set d({month:t,year:e}){const s=M(Date.now());s.setUTCDate(1);if(M(`${e}-${t}-01`).getTime()>=s.getTime())throw new l(`${e}-${t} is not a valid year-month pair`);this._date={month:t,year:e}}toObject(){return Object.assign(super.toObject(),{month:this.month,year:this.year})}}class it extends V{constructor({emailAddress:t,...e}){super(e),this.emailAddress=t}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress})}}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 at{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 at({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=R(E,i),this.type=R(N,r),this.uriBack=a,this.uriFront=n,e&&e.length>0&&(this.errors=e.map((t=>at.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 ct{constructor({city:t,country:e,createdAt:s,extNumber:i,fullName:r,intNumber:a,postalCode:n,state:c,street:o}){this.city=t,this.country=e,this.createdAt=M(s),this.extNumber=i,this.fullName=r,this.intNumber=a,this.postalCode=n,this.state=c,this.street=o}static fromObject=({city:t,country:e,state:s,street:i,...r})=>new ct({city:t,country:e,state:s,street:i,createdAt:r.created_at,extNumber:r.ext_number,fullName:r.full_name,intNumber:r.int_number,postalCode:r.postal_code})}var ot="0.0.5";class dt{constructor({apiKey:t,apiSecret:e,language:s="en",phase:i=S.Sandbox}={}){this.phase=i,this.basicAuth={apiKey:t,apiSecret:e},this.jwtToken=null,this._session=a.default.create({headers:{"Accept-Language":s},timeout:45e3})}get session(){return this._session}get origin(){return`https://${this.phase.value}.cuenca.com`}get authHeader(){const{apiKey:t,apiSecret:e}=this.basicAuth;return t&&e?`Basic ${n.default.Buffer.from(`${t}:${e}`,"utf-8").toString("base64")}`:""}addHeadersToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common:i}}=s;return Object.keys(t).forEach((e=>i[e]=t[e])),s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}deleteRequestHeader(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common:i}}=s;return delete i[t],s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}addConfigToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e;return Object.keys(t).forEach((e=>s[e]=t[e])),s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}async configure({apiKey:t,apiSecret:e,loginToken:s,phase:i,sessionId:r,useJwt:a=!1}){this.basicAuth={apiKey:t||this.basicAuth.apiKey,apiSecret:e||this.basicAuth.apiSecret},i&&(this.phase=i),a&&(this.jwtToken=await b.create(this)),s&&this.addHeadersToRequest({"X-Cuenca-LoginToken":s}),r&&this.addHeadersToRequest({"X-Cuenca-SessionId":r})}async get({endpoint:t,format:e,params:s}){return this.request({endpoint:t,format:e,params:s})}async post({endpoint:t,data:e,multipart:s}){return this.request({method:"POST",endpoint:t,data:e,multipart:s})}async patch({endpoint:t,data:e}){return this.request({method:"PATCH",endpoint:t,data:e})}async delete({endpoint:t,data:e}){return this.request({method:"DELETE",endpoint:t,data:e})}async request({endpoint:t,data:e=null,format:s=C.Json,method:i="GET",multipart:r=!1,params:a=null}){let n;n=r?e.getHeaders():{"Content-Type":"application/json",Accept:`application/${s.value}`},this.authHeader&&(n.Authorization=this.authHeader),_?n["User-Agent"]=`cuenca-js/${ot}`:w&&(n["X-User-Agent"]=`cuenca-js/${ot}`),this.jwtToken&&(this.jwtToken.isExpired&&(this.jwtToken=await b.create(this)),n["X-Cuenca-Token"]=this.jwtToken.token);const d=this.addHeadersToRequest(n),u=e;u&&!r&&Object.keys(u).forEach((t=>{u[t]instanceof Date&&(u[t]=u[t].toISOString())}));const h=this.addConfigToRequest({method:i,params:a,data:u,url:t});let p;try{p=await this._session.request({baseURL:this.origin})}catch(t){throw t.response?new o(t.response.data,t.response.status):t.request?new c(`No response received: ${t.errno}: ${t.code}`):new c(t.message)}finally{d.eject(),h.eject()}return p.data}}class ut{constructor({accountNumber:t,createdAt:e,id:s,institutionName:i,name:r,userId:a}){this.accountNumber=t,this.createdAt=M(e),this.id=s,this.institutionName=i,this.name=r,this.userId=a}static fromObject=({id:t,name:e,...s})=>new ut({id:t,name:e,accountNumber:s.account_number,createdAt:s.created_at,institutionName:s.institution_name,userId:s.user_id})}class ht{constructor({createdAt:t,deactivatedAt:e,id:s,secret:i,userId:r,updatedAt:a}){this.createdAt=M(t),this.deactivatedAt=M(e),this.id=s,this.secret=i,this.userId=r,this.updatedAt=M(a)}static fromObject=({id:t,secret:e,...s})=>new ht({id:t,secret:e,createdAt:s.created_at,deactivatedAt:s.deactivated_at,userId:s.user_id,updatedAt:s.updated_at});get isActive(){const t=M(Date.now());return!this.deactivatedAt||this.deactivatedAt.getTime()>t.getTime()}}class pt{constructor({arpc:t,createdAt:e,cardUri:s,isValidArqc:i}){this.arpc=t,this.createdAt=M(e),this.cardUri=s,this.isValidArqc=i}static fromObject=({arpc:t,...e})=>new pt({arpc:t,createdAt:e.created_at,cardUri:e.card_uri,isValidArqc:e.is_valid_arqc})}class lt{constructor({amount:t,createdAt:e,descriptor:s,entryType:i,fundingInstrumentUri:r,id:a,name:n,relatedTransactionUri:c,rollingBalance:o}){this.amount=t,this.createdAt=M(e),this.descriptor=s,this.entryType=R(T,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 lt({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 mt{constructor({amount:t,createdAt:e,descriptor:s,status:i,userId:r}){this.amount=t,this.createdAt=M(e),this.descriptor=s,this.status=R(B,i),this.userId=r}}class ft extends mt{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 wt{constructor({id:t,names:e,firstSurname:s,secondSurname:i,dateOfBirth:r,countryOfBirth:a,rfc:n,curp:c,userId:o,gender:d,phoneNumber:u,emailAddress:h,clientClabe:p,govtId:l,proofOfAddress:m,proofOfLife:f,status:w}){this.id=t,this.emailAddress=h,this.clientClabe=p,this.govtId=l,this.names=e,this.firstSurname=s,this.secondSurname=i,this.dateOfBirth=r,this.countryOfBirth=a,this.rfc=n,this.curp=c,this.userId=o,this.gender=d,this.phoneNumber=u,this.addressProofs=m,this.lifeProofs=f,this.status=R(v,w)}static fromObject=({status:t,...e})=>new wt({id:e.id,clientClabe:e.client_clabe,names:e.names,firstSurname:e.first_surname,secondSurname:e.second_surname,dateOfBirth:e.date_of_birth,countryOfBirth:e.country_of_birth,rfc:e.rfc,curp:e.curp,userId:e.user_id,gender:e.gender,govtId:e.govt_id,emailAddress:e.email_address,phoneNumber:e.phone_number,proofOfAddress:e.proof_of_address,proofOfLife:e.proof_of_life,status:t})}class _t{constructor({createdAt:t,cvv2:e,expMonth:s,expYear:i,fundingType:r,id:a,issuer:n,number:c,pin:o,status:d,type:u,updatedAt:h,userId:p}){this.createdAt=M(t),this.cvv2=e,this.expMonth=s,this.expYear=i,this.fundingType=R(g,r),this.id=a,this.issuer=R(O,n),this.number=c,this.pin=o,this.status=R(j,d),this.type=R(x,u),this.updatedAt=M(h),this.userId=p}static fromObject=({cvv2:t,id:e,issuer:s,number:i,pin:r,status:a,type:n,...c})=>new _t({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 bt{constructor({cardUri:t,createdAt:e,id:s,ipAddress:i,success:r,userId:a}){this.cardUri=t,this.createdAt=M(e),this.id=s,this.ipAddress=i,this.success=r,this.userId=a}static fromObject=({id:t,success:e,...s})=>new bt({id:t,success:e,cardUri:s.card_uri,createdAt:s.created_at,ipAddress:s.ip_address,userId:s.user_id})}class vt extends mt{constructor({amount:t,cardErrorType:e,cardLastFour:s,cardType:i,cardUri:r,createdAt:a,descriptor:n,metadata:c,network:o,relatedCardTransactionsUris:d,status:u,type:h,userId:p}){super({amount:t,createdAt:a,descriptor:n,status:u,userId:p}),this.cardErrorType=R(y,e),this.cardLastFour=s,this.cardType=R(x,i),this.cardUri=r,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=R(A,h)}static fromObject=({amount:t,descriptor:e,metadata:s,network:i,status:r,type:a,...n})=>new vt({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 yt{constructor({cardStatus:t,cardType:e,cardUri:s,createdAt:i,isExpired:r,isPinAttemptsExceeded:a,isValidCvv:n,isValidCvv2:c,isValidExpDate:o,isValidIcvv:d,isValidPinBlock:u,userId:h}){this.cardStatus=R(j,t),this.cardType=R(x,e),this.cardUri=s,this.createdAt=M(i),this.isExpired=r,this.isPinAttemptsExceeded=a,this.isValidCvv=n,this.isValidCvv2=c,this.isValidExpDate=o,this.isValidIcvv=d,this.isValidPinBlock=u,this.userId=h}static fromObject=({...t})=>new yt({cardStatus:t.card_status,cardType:t.card_type,cardUri:t.card_uri,createdAt:t.created_at,isExpired:t.is_expired,isPinAttemptsExceeded:t.is_pin_attempts_exceeded,isValidCvv:t.is_valid_cvv,isValidCvv2:t.is_valid_cvv2,isValidExpDate:t.is_valid_exp_date,isValidIcvv:t.is_valid_icvv,isValidPinBlock:t.is_valid_pin_block,userId:t.user_id});get isActive(){return this.cardStatus===j.Active}}class gt extends mt{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=R(I,a)}static fromObject=({amount:t,descriptor:e,status:s,type:i,...r})=>new gt({amount:t,descriptor:e,status:s,type:i,createdAt:r.created_at,relatedTransactionUri:r.related_transaction_uri,userId:r.user_id})}class Ot extends mt{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=R(k,r),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new Ot({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 jt{constructor({extension:t,type:e,url:s,userId:i}){this.extension=t,this.type=R(N,e),this.url=s,this.userId=i}static fromObject=({extension:t,type:e,url:s,...i})=>new jt({extension:t,type:e,url:s,userId:i.user_id})}class At{constructor({platformId:t,attemps:e,verificationId:s,filesUri:i}){this.attemps=e,this.filesUri=i,this.platformId=t,this.verificationId=s}static fromObject=({attemps:t,...e})=>new At({attemps:t,filesUri:e.files_uri,platformId:e.platform_id,verificationId:e.verification_id})}class xt{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new xt({id:t})}class It{constructor({balance:t,createdAt:e,deactivatedAt:s,id:i,userId:r,updatedAt:a}){this.balance=t,this.createdAt=M(e),this.deactivatedAt=M(s),this.id=i,this.userId=r,this.updatedAt=M(a)}}class kt extends It{constructor({balance:t,category:e,createdAt:s,deactivatedAt:i,goalAmount:r,goalDate:a,id:n,name:c,userId:o,updatedAt:d}){super({balance:t,createdAt:s,deactivatedAt:i,id:n,userId:o,updatedAt:d}),this.category=R(q,e),this.goalAmount=r,this.goalDate=M(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:i,...r})=>new kt({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 Tt{constructor({categories:t,id:e,name:s,providerKey:i}){var r;this.categories=null==(r=t)?[]:r.map((t=>R(U,t))),this.id=e,this.name=s,this.providerKey=i}static fromObject=({categories:t,id:e,name:s,...i})=>new Tt({categories:t,id:e,name:s,providerKey:i.provider_key})}class Ct{constructor({createdAt:t,id:e,month:s,year:i}){this.createdAt=M(t),this.id=e,this.month=s,this.year=i}static fromObject=({id:t,month:e,year:s,...i})=>new Ct({id:t,month:e,year:s,createdAt:i.created_at})}class Nt extends mt{constructor({accountNumber:t,amount:e,createdAt:s,descriptor:i,destinationUri:r,id:a,idempotencyKey:n,network:c,recipientName:o,status:d,trackingKey:u,updatedAt:h,userId:p}){super({amount:e,createdAt:s,descriptor:i,status:d,userId:p}),this.accountNumber=t,this.destinationUri=r,this.id=a,this.idempotencyKey=n,this.network=R($,c),this.recipientName=o,this.trackingKey=u,this.updatedAt=M(h)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new Nt({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 St{constructor({address:t,blacklistValidationStatus:e,clabe:s,countryOfBirth:i,createdAt:r,curp:a,dateOfBirth:n,emailAddress:c,firstSurname:o,gender:d,govtId:u,id:h,level:p,names:l,nationality:m,phoneNumber:f,proofOfAddress:w,proofOfLife:_,requiredLevel:b,rfc:v,secondSurname:y,stateOfBirth:g,status:O,termsOfService:j,updatedAt:A,verificationId:x}){this.add=t,this.blacklistValidationStatus=R(E,e),this.clabe=s,this.countryOfBirth=i,this.createdAt=M(r),this.curp=a,this.dateOfBirth=n,this.emailAddress=c,this.firstSurname=o,this.gender=d,this.govstIds=u,this.id=h,this.level=p,this.names=l,this.nationality=m,this.phoneNumber=f,this.addressProofs=w,this.lifeProofs=_,this.requiredLevel=b,this.rfc=v,this.secondSurname=y,this.stateOfBirth=g,this.status=R(D,O),this.terms=j,this.updatedAt=M(A),this.verificationId=x}get address(){return this._address}set add(t){t&&(this._address=ct.fromObject(t))}get proofOfAddress(){return this._proofOfAddress}set addressProofs(t){t&&(this._proofOfAddress=nt.fromObject(t))}get proofOfLife(){return this._proofOfLife}set lifeProofs(t){t&&(this._proofOfLife=nt.fromObject(t))}get govtId(){return this._govtId}set govstIds(t){t&&(this._govtId=nt.fromObject(t))}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=rt.fromObject(t))}static fromObject=({address:t,clabe:e,curp:s,gender:i,id:r,level:a,names:n,nationality:c,rfc:o,status:d,...u})=>new St({address:t,clabe:e,curp:s,gender:i,id:r,level:a,names:n,nationality:c,rfc:o,status:d,blacklistValidationStatus:u.blacklist_validation_status,countryOfBirth:u.country_of_birth,createdAt:u.created_at,dateOfBirth:u.date_of_birth,emailAddress:u.email_address,firstSurname:u.first_surname,govtId:u.govt_id,phoneNumber:u.phone_number,proofOfAddress:u.proof_of_address,proofOfLife:u.proof_of_life,requiredLevel:u.required_level,secondSurname:u.second_surname,stateOfBirth:u.state_of_birth,termsOfService:u.terms_of_service,updatedAt:u.updated_at,verificationId:u.verification_id})}class Ut{constructor({createdAt:t,id:e,isActive:s,updatedAt:i}){this.createdAt=M(t),this.id=e,this.isActive=s,this.updatedAt=M(i)}static fromObject=({id:t,...e})=>new Ut({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class qt{constructor({id:t,lastLoginAt:e,success:s}){this.id=t,this.lastLoginAt=M(e),this.success=s}static fromObject=({id:t,success:e,...s})=>new qt({id:t,success:e,lastLoginAt:s.last_login_at})}class Pt{constructor({createdAt:t,id:e,platformId:s,recipient:i,type:r,updatedAt:a}){this.createdAt=M(t),this.id=e,this.platformId=s,this.recipient=i,this.type=R(K,r),this.updatedAt=M(a)}static fromObject=({id:t,recipient:e,type:s,...i})=>new Pt({id:t,recipient:e,type:s,createdAt:i.created_at,platformId:i.platform_id,updatedAt:i.updated_at})}class Bt extends mt{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=R(L,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:i,...r})=>new Bt({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 $t extends mt{constructor({amount:t,claimUrl:e,createdAt:s,descriptor:i,destinationUri:r,expiresAt:a,id:n,network:c,phoneNumber:o,recipientName:d,status:u,trackingKey:h,updatedAt:p,userId:l}){super({amount:t,createdAt:s,descriptor:i,status:u,userId:l}),this.claimUrl=e,this.destinationUri=r,this.id=n,this.expiresAt=M(a),this.network=R($,c),this.phoneNumber=o,this.recipientName=d,this.trackingKey=h,this.updatedAt=M(p)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new $t({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 Dt{constructor(t){this.superclass=t}with(...t){return t.reduce(((t,e)=>e(t)),this.superclass)}}const Et=t=>new Dt(t),Kt=(t,e)=>({accounts:()=>ut.fromObject(e),api_keys:()=>ht.fromObject(e),arpc:()=>pt.fromObject(e),balance_entries:()=>lt.fromObject(e),bill_payments:()=>ft.fromObject(e),"bridge/accounts":()=>wt.fromObject(e),cards:()=>_t.fromObject(e),card_activations:()=>bt.fromObject(e),card_transactions:()=>vt.fromObject(e),card_validations:()=>yt.fromObject(e),commissions:()=>gt.fromObject(e),deposits:()=>Ot.fromObject(e),files:()=>jt.fromObject(e),kyc_validations:()=>At.fromObject(e),login_tokens:()=>xt.fromObject(e),savings:()=>kt.fromObject(e),service_providers:()=>Tt.fromObject(e),statements:()=>Ct.fromObject(e),transfers:()=>Nt.fromObject(e),users:()=>St.fromObject(e),user_credentials:()=>Ut.fromObject(e),user_logins:()=>qt.fromObject(e),verifications:()=>Pt.fromObject(e),wallet_transactions:()=>Bt.fromObject(e),whatsapp_transfers:()=>$t.fromObject(e)}[t]()),Lt=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class Mt{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const Rt=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return Kt(this.path,e)}},Vt=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return Kt(this.path,e)}},Ft=t=>class extends t{async _update(t,e){const s=await this.client.patch({endpoint:`/${this.path}/${t}`,data:e});return Kt(this.path,s)}},Ht=t=>class extends t{async _upload(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t,multipart:!0});return Kt(this.path,e)}},Yt=t=>class extends t{async _deactivate(t,e){const s=await this.client.delete({endpoint:`/${this.path}/${t}`,data:e});return Kt(this.path,s)}},zt=t=>class extends t{async _download(t,e){const s=this.client.addConfigToRequest({responseType:"stream"}),i=await this.client.get({endpoint:`/${this.path}/${t}`,format:e});return s.eject(),i}},Xt=t=>class extends t{async one(t=new this.QueryParams({})){const{items:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});if(!e||!e.length)throw new d;if(e.length>1)throw new u;const[s]=e;return Kt(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 Kt(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=Kt(this.path,e);yield t}e=t.next_page_uri}}};class Qt extends(Et(Mt).with(Xt,Rt)){constructor(t){super("accounts",F,t)}}class Jt{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class Wt extends Jt{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class Gt extends Jt{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 Zt extends Jt{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class te extends Jt{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 Jt{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 se extends Jt{constructor(t){super(),this.userId=t}toObject(){return{user_id:this.userId}}}class ie extends Jt{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(M(t).getTime()<=M(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}}}const re=i.createRequire("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("cuenca.umd.js",document.baseURI).href)("form-data");class ae extends Jt{constructor({isBack:t=!1,file:e,extension:s,type:i,userId:r="me"}){super(),this.extension=s,this.file=e,this.isBack=t,this.type=i,this.userId=r}toObject(){return{extension:this.extension,file:this.file,is_back:this.isBack,type:this.type,user_id:this.userId}}toFormData(){const t=new re;return t.append("extension",this.extension),t.append("file",this.file),t.append("type",this.type),t.append("user_id",this.userId),t}}class ne extends Jt{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 ce extends Jt{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 oe extends Jt{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 de extends Jt{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 ue extends Jt{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 he extends Jt{constructor({city:t,country:e,extNumber:s,intNumber:i,postalCode:r,state:a,street:n}={}){super(),this.city=t,this.country=e,this.extNumber=s,this.intNumber=i,this.postalCode=r,this.state=a,this.street=n}toObject(){return{city:this.city,country:this.country,ext_number:this.extNumber,int_number:this.intNumber,postal_code:this.postalCode,state:this.state,street:this.street}}}class pe extends Jt{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 le extends Jt{constructor({address:t,govtId:e,profession:s,proofOfAddress:i,proofOfLife:r,requiredLevel:a,termsOfService:n,verificationId:c}){super(),this.adrs=t,this.govstIds=e,this.profession=s,this.addressProofs=i,this.lifeProofs=r,this.requiredLevel=a,this.terms=n,this.verificationId=c}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=new ue(t).toObject())}get address(){return this._address}set adrs(t){t&&(this._address=new he(t).toCleanObject())}get proofOfLife(){return this._proofOfLife}set lifeProofs(t){t&&(this._proofOfLife=new pe(t).toCleanObject())}get proofOfAddress(){return this._proofOfAddress}set addressProofs(t){t&&(this._proofOfAddress=new pe(t).toCleanObject())}get govtId(){return this._govtId}set govstIds(t){t&&(this._govtId=new pe(t).toCleanObject())}toObject(){return{address:this.address,profession:this.profession,requiredLevel:this.requiredLevel,terms_of_service:this.termsOfService,verification_id:this.verificationId,proof_of_life:this.proofOfLife,proof_of_address:this.proofOfAddress,govt_id:this.govtId}}}class me extends Jt{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(R(K,this.type)){case K.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 K.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 fe extends Jt{constructor({code:t}){super(),this.code=t}toObject(){return{code:this.code}}}class we extends Jt{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 _e extends(Et(Mt).with(Vt,Yt,Xt,Rt,Ft)){constructor(t){super("api_keys",H,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 Wt(s,e);return await this._update(t,i.toCleanObject())}}class be extends(Et(Mt).with(Vt)){constructor(t){super("arpc",Object,t)}async create({number:t,arqc:e,arpcMethod:s,transactionData:i,responseCode:r,transactionCounter:a,panSequence:n,uniqueNumber:c,trackDataMethod:o}){const d=new ArpcRequest({number:t,arqc:e,arpcMethod:s,transactionData:i,responseCode:r,transactionCounter:a,panSequence:n,uniqueNumber:c,trackDataMethod:o});return await this._create(d.toObject())}}class ve extends(Et(Mt).with(Xt,Rt)){constructor(t){super("balance_entries",Q,t)}async relatedTransaction(t){const e=Lt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Kt(`${e}`,s)}async fundingInstrument(t){const e=Lt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Kt(`${e}`,s)}}class ye extends(Et(Mt).with(Xt,Rt)){constructor(t){super("bill_payments",J,t)}async serviceProvider(t){const e=Lt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Kt(`${e}`,s)}}class ge extends(Et(Mt).with(Xt,Rt)){constructor(t){super("bridge/accounts",it,t)}}class Oe extends(Et(Mt).with(Vt)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:i}){const r=new te(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 _t.fromObject(e)}}class je extends(Et(Mt).with(Vt,Yt,Xt,Rt,Ft)){constructor(t){super("cards",G,t)}async create(t,e,s){const i=new Gt(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 Zt(e,s);return await this._update(t,i.toCleanObject())}}class Ae extends(Et(Mt).with(Xt,Rt)){constructor(t){super("card_transactions",W,t)}async relatedCard(t){const e=Lt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Kt(`${e}`,s)}}class xe extends(Et(Mt).with(Vt)){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 _t.fromObject(e)}}class Ie extends(Et(Mt).with(Xt,Rt)){constructor(t){super("commissions",V,t)}async relatedTransaction(t){const e=Lt(t);if(null==e)return null;const s=await this.client.get(t);return Kt(`${e}`,s)}}class ke extends(Et(Mt).with(Xt,Rt)){constructor(t){super("deposits",z,t)}async source(t){const e=await this.client.get({endpoint:t});return ut.fromObject(e)}}class Te extends(Et(Mt).with(zt,Ht)){constructor(t){super("files",Object,t)}async download(t){return await this._download(t,C.Any)}async upload({...t}){const e=new ae(t);return await this._upload(e.toFormData())}}class Ce extends(Et(Mt).with(Vt,Rt,Xt)){constructor(t){super("kyc_validations",Object,t)}async create(t="me"){const e=new se(t);return await this._create(e.toObject())}}class Ne extends(Et(Mt).with(Vt)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class Se extends(Et(Mt).with(Vt,Yt,Xt,Rt,Ft)){constructor(t){super("savings",et,t)}async create(t,e,s,i){const r=new ie(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 ie(e,s,i,r);return await this._update(t,a.toObject())}}class Ue extends(Et(Mt).with(Xt,Rt)){constructor(t){super("service_providers",V,t)}}class qe extends(Et(Mt).with(zt,Xt)){constructor(t){super("statements",st,t)}async pdf(t){return await this._download(t,C.Pdf)}async xml(t){return await this._download(t,C.Xml)}}class Pe extends(Et(Mt).with(Vt,Xt,Rt)){constructor(t){super("transfers",X,t)}async destination(t){const e=await this.client.get({endpoint:t});return ut.fromObject(e)}async create({accountNumber:t,amount:e,descriptor:s,recipientName:i,idempotencyKey:r}){const a=r||this.constructor._genIdempotencyKey(t,e),n=new ne(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 ne(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]=M(Date.now()).toISOString().split("T");return`${s}:${t}:${e}`}}class Be extends(Et(Mt).with(Vt,Ft)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new ce(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const i=new oe(e,t);return await this._update(s,i.toCleanObject())}}class $e extends(Et(Mt).with(Vt,Yt)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new de(t,e),i=await this._create(s.toObject());if(!i.success)throw new p;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 De extends(Et(Mt).with(Xt,Ft,Rt)){constructor(t){super("users",tt,t)}async update({userId:t="me",...e}){const s=new le(e);return await this._update(t,s.toCleanObject())}}class Ee extends(Et(Mt).with(Vt,Ft)){constructor(t){super("verifications",Object,t)}async create({platformId:t,recipient:e,type:s}){const i=new me({platformId:t,recipient:e,type:s});return await this._create(i.toObject())}async update({code:t,id:e}){const s=new fe({code:t});return await this._update(e,s.toObject())}}class Ke extends(Et(Mt).with(Vt,Xt,Rt)){constructor(t){super("wallet_transactions",Z,t)}async create(t,e,s){const i=new we(t,e,s);return await this._create(i.toObject())}async realtedWallet(t){const e=Lt(t);if(null==e)return null;const s=await this.client.get(t);return Kt(`${e}`,s)}}class Le extends(Et(Mt).with(Xt,Rt)){constructor(t){super("whatsapp_transfers",V,t)}async accountDestination(t){const e=Lt(t);if(null==e)return null;const s=await this.client.get(t);return Kt(`${e}`,s)}}t.Cuenca=class{constructor({apiKey:t,apiSecret:e,language:s="en",phase:i=S.Sandbox}={}){this.client=new dt({apiKey:t,apiSecret:e,language:s,phase:i}),this.withClient(this.client)}withClient(t){this.accounts=new Qt(t),this.apiKeys=new _e(t),this.balanceEntries=new ve(t),this.billPayments=new ye(t),this.bridgeAccounts=new ge(t),this.cardActivations=new Oe(t),this.cards=new je(t),this.cardTransactions=new Ae(t),this.cardValidations=new xe(t),this.commissions=new Ie(t),this.deposits=new ke(t),this.files=new Te(t),this.kycValidations=new Ce(t),this.loginTokens=new Ne(t),this.savings=new Se(t),this.serviceProviders=new Ue(t),this.statements=new qe(t),this.transfers=new Pe(t),this.userCredentials=new Be(t),this.userLogins=new $e(t),this.users=new De(t),this.verifications=new Ee(t),this.walletTransactions=new Ke(t),this.whatsAppTransfers=new Le(t)}}}));
|
package/build/{walletTransactionRequest-2e5deaee.mjs → walletTransactionRequest-826690e7.mjs}
RENAMED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ValidationError } from './errors/index.mjs';
|
|
2
|
-
import { d as dateToUTC, e as enumValueFromString, k as VerificationType } from './data-
|
|
2
|
+
import { d as dateToUTC, e as enumValueFromString, k as VerificationType } from './data-59d28abe.mjs';
|
|
3
|
+
import { createRequire } from 'module';
|
|
3
4
|
|
|
4
5
|
class BaseRequest {
|
|
5
6
|
toObject() {
|
|
@@ -307,6 +308,19 @@ class CardValidationRequest extends BaseRequest {
|
|
|
307
308
|
}
|
|
308
309
|
}
|
|
309
310
|
|
|
311
|
+
class KYCValidationsRequest extends BaseRequest {
|
|
312
|
+
constructor(userId) {
|
|
313
|
+
super();
|
|
314
|
+
this.userId = userId;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
toObject() {
|
|
318
|
+
return {
|
|
319
|
+
user_id: this.userId,
|
|
320
|
+
};
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
|
|
310
324
|
class SavingRequest extends BaseRequest {
|
|
311
325
|
constructor(category, goalAmount, goalDate, name) {
|
|
312
326
|
super();
|
|
@@ -340,6 +354,39 @@ class SavingRequest extends BaseRequest {
|
|
|
340
354
|
}
|
|
341
355
|
}
|
|
342
356
|
|
|
357
|
+
const requires = createRequire(import.meta.url);
|
|
358
|
+
const FormData = requires('form-data');
|
|
359
|
+
|
|
360
|
+
class UploadRequest extends BaseRequest {
|
|
361
|
+
constructor({ isBack = false, file, extension, type, userId = 'me' }) {
|
|
362
|
+
super();
|
|
363
|
+
this.extension = extension;
|
|
364
|
+
this.file = file;
|
|
365
|
+
this.isBack = isBack;
|
|
366
|
+
this.type = type;
|
|
367
|
+
this.userId = userId;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
toObject() {
|
|
371
|
+
return {
|
|
372
|
+
extension: this.extension,
|
|
373
|
+
file: this.file,
|
|
374
|
+
is_back: this.isBack,
|
|
375
|
+
type: this.type,
|
|
376
|
+
user_id: this.userId,
|
|
377
|
+
};
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
toFormData() {
|
|
381
|
+
const form = new FormData();
|
|
382
|
+
form.append('extension', this.extension);
|
|
383
|
+
form.append('file', this.file);
|
|
384
|
+
form.append('type', this.type);
|
|
385
|
+
form.append('user_id', this.userId);
|
|
386
|
+
return form;
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
|
|
343
390
|
class TransferRequest extends BaseRequest {
|
|
344
391
|
constructor(
|
|
345
392
|
accountNumber,
|
|
@@ -534,17 +581,46 @@ class AddressUpdateRequest extends BaseRequest {
|
|
|
534
581
|
}
|
|
535
582
|
}
|
|
536
583
|
|
|
584
|
+
class KycFileRequest extends BaseRequest {
|
|
585
|
+
constructor({ data, isMx, status, type, uriBack, uriFront }) {
|
|
586
|
+
super();
|
|
587
|
+
this.data = data;
|
|
588
|
+
this.isMx = isMx;
|
|
589
|
+
this.status = status;
|
|
590
|
+
this.type = type;
|
|
591
|
+
this.uriBack = uriBack;
|
|
592
|
+
this.uriFront = uriFront;
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
toObject() {
|
|
596
|
+
return {
|
|
597
|
+
data: this.data,
|
|
598
|
+
is_mx: this.isMx,
|
|
599
|
+
status: this.status,
|
|
600
|
+
type: this.type,
|
|
601
|
+
uri_back: this.uriBack,
|
|
602
|
+
uri_front: this.uriFront,
|
|
603
|
+
};
|
|
604
|
+
}
|
|
605
|
+
}
|
|
606
|
+
|
|
537
607
|
class UserUpdateRequest extends BaseRequest {
|
|
538
608
|
constructor({
|
|
539
609
|
address,
|
|
610
|
+
govtId,
|
|
540
611
|
profession,
|
|
612
|
+
proofOfAddress,
|
|
613
|
+
proofOfLife,
|
|
541
614
|
requiredLevel,
|
|
542
615
|
termsOfService,
|
|
543
616
|
verificationId,
|
|
544
617
|
}) {
|
|
545
618
|
super();
|
|
546
619
|
this.adrs = address;
|
|
620
|
+
this.govstIds = govtId;
|
|
547
621
|
this.profession = profession;
|
|
622
|
+
this.addressProofs = proofOfAddress;
|
|
623
|
+
this.lifeProofs = proofOfLife;
|
|
548
624
|
this.requiredLevel = requiredLevel;
|
|
549
625
|
this.terms = termsOfService;
|
|
550
626
|
this.verificationId = verificationId;
|
|
@@ -568,6 +644,33 @@ class UserUpdateRequest extends BaseRequest {
|
|
|
568
644
|
this._address = new AddressUpdateRequest(value).toCleanObject();
|
|
569
645
|
}
|
|
570
646
|
|
|
647
|
+
get proofOfLife() {
|
|
648
|
+
return this._proofOfLife;
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
set lifeProofs(value) {
|
|
652
|
+
if (!value) return;
|
|
653
|
+
this._proofOfLife = new KycFileRequest(value).toCleanObject();
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
get proofOfAddress() {
|
|
657
|
+
return this._proofOfAddress;
|
|
658
|
+
}
|
|
659
|
+
|
|
660
|
+
set addressProofs(value) {
|
|
661
|
+
if (!value) return;
|
|
662
|
+
this._proofOfAddress = new KycFileRequest(value).toCleanObject();
|
|
663
|
+
}
|
|
664
|
+
|
|
665
|
+
get govtId() {
|
|
666
|
+
return this._govtId;
|
|
667
|
+
}
|
|
668
|
+
|
|
669
|
+
set govstIds(value) {
|
|
670
|
+
if (!value) return;
|
|
671
|
+
this._govtId = new KycFileRequest(value).toCleanObject();
|
|
672
|
+
}
|
|
673
|
+
|
|
571
674
|
toObject() {
|
|
572
675
|
return {
|
|
573
676
|
address: this.address,
|
|
@@ -575,6 +678,9 @@ class UserUpdateRequest extends BaseRequest {
|
|
|
575
678
|
requiredLevel: this.requiredLevel,
|
|
576
679
|
terms_of_service: this.termsOfService,
|
|
577
680
|
verification_id: this.verificationId,
|
|
681
|
+
proof_of_life: this.proofOfLife,
|
|
682
|
+
proof_of_address: this.proofOfAddress,
|
|
683
|
+
govt_id: this.govtId,
|
|
578
684
|
};
|
|
579
685
|
}
|
|
580
686
|
}
|
|
@@ -659,4 +765,4 @@ class WalletTransactionRequest extends BaseRequest {
|
|
|
659
765
|
}
|
|
660
766
|
}
|
|
661
767
|
|
|
662
|
-
export { ApiKeyUpdateRequest as A, CardActivationRequest as C, SavingRequest as S, TransferRequest as T,
|
|
768
|
+
export { ApiKeyUpdateRequest as A, CardActivationRequest as C, KYCValidationsRequest as K, SavingRequest as S, TransferRequest as T, UploadRequest as U, VerificationRequest as V, WalletTransactionRequest as W, ArpcRequest as a, CardRequest as b, CardUpdateRequest as c, CardValidationRequest as d, UserCredentialRequest as e, UserCredentialUpdateRequest as f, UserLoginRequest as g, UserUpdateRequest as h, VerificationAttemptRequest as i };
|
package/build/{walletTransactionRequest-267a5d18.cjs → walletTransactionRequest-d2155aa4.cjs}
RENAMED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var errors_index = require('./errors/index.cjs');
|
|
4
|
-
var data = require('./data-
|
|
4
|
+
var data = require('./data-d6c1558d.cjs');
|
|
5
|
+
var module$1 = require('module');
|
|
5
6
|
|
|
6
7
|
class BaseRequest {
|
|
7
8
|
toObject() {
|
|
@@ -309,6 +310,19 @@ class CardValidationRequest extends BaseRequest {
|
|
|
309
310
|
}
|
|
310
311
|
}
|
|
311
312
|
|
|
313
|
+
class KYCValidationsRequest extends BaseRequest {
|
|
314
|
+
constructor(userId) {
|
|
315
|
+
super();
|
|
316
|
+
this.userId = userId;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
toObject() {
|
|
320
|
+
return {
|
|
321
|
+
user_id: this.userId,
|
|
322
|
+
};
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
|
|
312
326
|
class SavingRequest extends BaseRequest {
|
|
313
327
|
constructor(category, goalAmount, goalDate, name) {
|
|
314
328
|
super();
|
|
@@ -342,6 +356,39 @@ class SavingRequest extends BaseRequest {
|
|
|
342
356
|
}
|
|
343
357
|
}
|
|
344
358
|
|
|
359
|
+
const requires = module$1.createRequire((typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('walletTransactionRequest-d2155aa4.cjs', document.baseURI).href)));
|
|
360
|
+
const FormData = requires('form-data');
|
|
361
|
+
|
|
362
|
+
class UploadRequest extends BaseRequest {
|
|
363
|
+
constructor({ isBack = false, file, extension, type, userId = 'me' }) {
|
|
364
|
+
super();
|
|
365
|
+
this.extension = extension;
|
|
366
|
+
this.file = file;
|
|
367
|
+
this.isBack = isBack;
|
|
368
|
+
this.type = type;
|
|
369
|
+
this.userId = userId;
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
toObject() {
|
|
373
|
+
return {
|
|
374
|
+
extension: this.extension,
|
|
375
|
+
file: this.file,
|
|
376
|
+
is_back: this.isBack,
|
|
377
|
+
type: this.type,
|
|
378
|
+
user_id: this.userId,
|
|
379
|
+
};
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
toFormData() {
|
|
383
|
+
const form = new FormData();
|
|
384
|
+
form.append('extension', this.extension);
|
|
385
|
+
form.append('file', this.file);
|
|
386
|
+
form.append('type', this.type);
|
|
387
|
+
form.append('user_id', this.userId);
|
|
388
|
+
return form;
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
|
|
345
392
|
class TransferRequest extends BaseRequest {
|
|
346
393
|
constructor(
|
|
347
394
|
accountNumber,
|
|
@@ -536,17 +583,46 @@ class AddressUpdateRequest extends BaseRequest {
|
|
|
536
583
|
}
|
|
537
584
|
}
|
|
538
585
|
|
|
586
|
+
class KycFileRequest extends BaseRequest {
|
|
587
|
+
constructor({ data, isMx, status, type, uriBack, uriFront }) {
|
|
588
|
+
super();
|
|
589
|
+
this.data = data;
|
|
590
|
+
this.isMx = isMx;
|
|
591
|
+
this.status = status;
|
|
592
|
+
this.type = type;
|
|
593
|
+
this.uriBack = uriBack;
|
|
594
|
+
this.uriFront = uriFront;
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
toObject() {
|
|
598
|
+
return {
|
|
599
|
+
data: this.data,
|
|
600
|
+
is_mx: this.isMx,
|
|
601
|
+
status: this.status,
|
|
602
|
+
type: this.type,
|
|
603
|
+
uri_back: this.uriBack,
|
|
604
|
+
uri_front: this.uriFront,
|
|
605
|
+
};
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
|
|
539
609
|
class UserUpdateRequest extends BaseRequest {
|
|
540
610
|
constructor({
|
|
541
611
|
address,
|
|
612
|
+
govtId,
|
|
542
613
|
profession,
|
|
614
|
+
proofOfAddress,
|
|
615
|
+
proofOfLife,
|
|
543
616
|
requiredLevel,
|
|
544
617
|
termsOfService,
|
|
545
618
|
verificationId,
|
|
546
619
|
}) {
|
|
547
620
|
super();
|
|
548
621
|
this.adrs = address;
|
|
622
|
+
this.govstIds = govtId;
|
|
549
623
|
this.profession = profession;
|
|
624
|
+
this.addressProofs = proofOfAddress;
|
|
625
|
+
this.lifeProofs = proofOfLife;
|
|
550
626
|
this.requiredLevel = requiredLevel;
|
|
551
627
|
this.terms = termsOfService;
|
|
552
628
|
this.verificationId = verificationId;
|
|
@@ -570,6 +646,33 @@ class UserUpdateRequest extends BaseRequest {
|
|
|
570
646
|
this._address = new AddressUpdateRequest(value).toCleanObject();
|
|
571
647
|
}
|
|
572
648
|
|
|
649
|
+
get proofOfLife() {
|
|
650
|
+
return this._proofOfLife;
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
set lifeProofs(value) {
|
|
654
|
+
if (!value) return;
|
|
655
|
+
this._proofOfLife = new KycFileRequest(value).toCleanObject();
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
get proofOfAddress() {
|
|
659
|
+
return this._proofOfAddress;
|
|
660
|
+
}
|
|
661
|
+
|
|
662
|
+
set addressProofs(value) {
|
|
663
|
+
if (!value) return;
|
|
664
|
+
this._proofOfAddress = new KycFileRequest(value).toCleanObject();
|
|
665
|
+
}
|
|
666
|
+
|
|
667
|
+
get govtId() {
|
|
668
|
+
return this._govtId;
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
set govstIds(value) {
|
|
672
|
+
if (!value) return;
|
|
673
|
+
this._govtId = new KycFileRequest(value).toCleanObject();
|
|
674
|
+
}
|
|
675
|
+
|
|
573
676
|
toObject() {
|
|
574
677
|
return {
|
|
575
678
|
address: this.address,
|
|
@@ -577,6 +680,9 @@ class UserUpdateRequest extends BaseRequest {
|
|
|
577
680
|
requiredLevel: this.requiredLevel,
|
|
578
681
|
terms_of_service: this.termsOfService,
|
|
579
682
|
verification_id: this.verificationId,
|
|
683
|
+
proof_of_life: this.proofOfLife,
|
|
684
|
+
proof_of_address: this.proofOfAddress,
|
|
685
|
+
govt_id: this.govtId,
|
|
580
686
|
};
|
|
581
687
|
}
|
|
582
688
|
}
|
|
@@ -667,8 +773,10 @@ exports.CardActivationRequest = CardActivationRequest;
|
|
|
667
773
|
exports.CardRequest = CardRequest;
|
|
668
774
|
exports.CardUpdateRequest = CardUpdateRequest;
|
|
669
775
|
exports.CardValidationRequest = CardValidationRequest;
|
|
776
|
+
exports.KYCValidationsRequest = KYCValidationsRequest;
|
|
670
777
|
exports.SavingRequest = SavingRequest;
|
|
671
778
|
exports.TransferRequest = TransferRequest;
|
|
779
|
+
exports.UploadRequest = UploadRequest;
|
|
672
780
|
exports.UserCredentialRequest = UserCredentialRequest;
|
|
673
781
|
exports.UserCredentialUpdateRequest = UserCredentialUpdateRequest;
|
|
674
782
|
exports.UserLoginRequest = UserLoginRequest;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cuenca-mx/cuenca-js",
|
|
3
|
-
"version": "0.0.5
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"description": "Cuenca client for JS",
|
|
5
5
|
"main": "./build/index.cjs",
|
|
6
6
|
"module": "./build/index.mjs",
|
|
@@ -59,6 +59,7 @@
|
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
61
|
"axios": "^0.24.0",
|
|
62
|
-
"buffer": "^6.0.3"
|
|
62
|
+
"buffer": "^6.0.3",
|
|
63
|
+
"form-data": "^4.0.0"
|
|
63
64
|
}
|
|
64
65
|
}
|