@cuenca-mx/cuenca-js 0.0.12-dev.12 → 0.0.13
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/index.cjs +1 -1
- package/build/index.mjs +1 -1
- package/build/umd/cuenca.umd.js +1 -1
- package/package.json +1 -1
package/build/index.cjs
CHANGED
|
@@ -26,7 +26,7 @@ const isNode =
|
|
|
26
26
|
|
|
27
27
|
const runtimeEnv = { isBrowser, isNode };
|
|
28
28
|
|
|
29
|
-
const name="@cuenca-mx/cuenca-js";const version="0.0.
|
|
29
|
+
const name="@cuenca-mx/cuenca-js";const version="0.0.13";const description="Cuenca client for JS";const main="./build/index.cjs";const module$1="./build/index.mjs";const browser="./build/umd/cuenca.umd.js";const files=["build/**/*"];const exports$1={".":{"import":"./build/index.mjs",require:"./build/index.cjs"},"./errors":{"import":"./build/errors/index.mjs",require:"./build/errors/index.cjs"},"./jwt":{"import":"./build/jwt/index.mjs",require:"./build/jwt/index.cjs"},"./requests":{"import":"./build/requests/index.mjs",require:"./build/requests/index.cjs"},"./types":{"import":"./build/types/index.mjs",require:"./build/types/index.cjs"}};const packageManager="yarn@3.0.2";const type="module";const repository={type:"git",url:"https://github.com/cuenca-mx/cuenca-js.git",directory:"packages/cuenca-js"};const keywords=["cuenca"];const license="MIT";const bugs={url:"https://github.com/cuenca-mx/cuenca-js/issues"};const homepage="https://cuenca.com";const scripts={build:"rm -rf build/ && yarn rollup --config",test:"yarn node --experimental-vm-modules $(yarn bin jest)",publish:"yarn build && yarn npm publish"};const devDependencies={"@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1",jest:"^27.4.5",rollup:"^2.61.1","rollup-plugin-terser":"^7.0.2"};const dependencies={axios:"^0.24.0",buffer:"^6.0.3"};var pkg = {name:name,version:version,description:description,main:main,module:module$1,browser:browser,files:files,exports:exports$1,packageManager:packageManager,type:type,repository:repository,keywords:keywords,license:license,bugs:bugs,homepage:homepage,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies};
|
|
30
30
|
|
|
31
31
|
class Client {
|
|
32
32
|
constructor({
|
package/build/index.mjs
CHANGED
|
@@ -17,7 +17,7 @@ const isNode =
|
|
|
17
17
|
|
|
18
18
|
const runtimeEnv = { isBrowser, isNode };
|
|
19
19
|
|
|
20
|
-
const name="@cuenca-mx/cuenca-js";const version="0.0.
|
|
20
|
+
const name="@cuenca-mx/cuenca-js";const version="0.0.13";const description="Cuenca client for JS";const main="./build/index.cjs";const module="./build/index.mjs";const browser="./build/umd/cuenca.umd.js";const files=["build/**/*"];const exports={".":{"import":"./build/index.mjs",require:"./build/index.cjs"},"./errors":{"import":"./build/errors/index.mjs",require:"./build/errors/index.cjs"},"./jwt":{"import":"./build/jwt/index.mjs",require:"./build/jwt/index.cjs"},"./requests":{"import":"./build/requests/index.mjs",require:"./build/requests/index.cjs"},"./types":{"import":"./build/types/index.mjs",require:"./build/types/index.cjs"}};const packageManager="yarn@3.0.2";const type="module";const repository={type:"git",url:"https://github.com/cuenca-mx/cuenca-js.git",directory:"packages/cuenca-js"};const keywords=["cuenca"];const license="MIT";const bugs={url:"https://github.com/cuenca-mx/cuenca-js/issues"};const homepage="https://cuenca.com";const scripts={build:"rm -rf build/ && yarn rollup --config",test:"yarn node --experimental-vm-modules $(yarn bin jest)",publish:"yarn build && yarn npm publish"};const devDependencies={"@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1",jest:"^27.4.5",rollup:"^2.61.1","rollup-plugin-terser":"^7.0.2"};const dependencies={axios:"^0.24.0",buffer:"^6.0.3"};var pkg = {name:name,version:version,description:description,main:main,module:module,browser:browser,files:files,exports:exports,packageManager:packageManager,type:type,repository:repository,keywords:keywords,license:license,bugs:bugs,homepage:homepage,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies};
|
|
21
21
|
|
|
22
22
|
class Client {
|
|
23
23
|
constructor({
|
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 r(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var i=r(e),a=r(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 l extends Error{constructor(t){super(t),Object.setPrototypeOf(this,l.prototype)}}const p="undefined"!=typeof window&&void 0!==window.document,m="undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process),f=p,w=m;class _{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:r}=await t.post("token",{});s.eject();const i=_.getExpirationDate(r);return new _(i,r)}}class b{static Succeeded=new b("succeeded");static NotValidated=new b("not_validated");static Failed=new b("failed");static OnWaitList=new b("on_wait_list");constructor(t){this.value=t}}class y{static Created=new y("created");static Failed=new y("failed");static Pending=new y("pending");static Succeeded=new y("succeeded");constructor(t){this.value=t}}class v{static Blocked=new v("blocked");static Comunication=new v("comunication");static ContactlesAmountLimit=new v("contactles_amount_limit");static FraudDetection=new v("fraud_detection");static FraudDetectionUncertain=new v("fraud_detection_uncertain");static InsufficientFounds=new v("insufficient_founds");static InvalidPin=new v("invalid_pin");static Notification=new v("notification");static NotificationDeactivatedCard=new v("notification_deactivated_card");constructor(t){this.value=t}}class g{static Credit=new g("credit");static Debit=new g("debit");constructor(t){this.value=t}}class O{static Accendo=new O("accendo");static Cuenca=new O("cuenca");constructor(t){this.value=t}}class A{static Buy=new A("buy");static Sell=new A("sell");constructor(t){this.value=t}}class j{static Active=new j("active");static Blocked=new j("blocked");static Created=new j("created");static Deactivated=new j("deactivated");static Printing=new j("printing");constructor(t){this.value=t}}class x{static Auth=new x("auth");static Capture=new x("capture");static Chargeback=new x("chargeback");static Expiration=new x("expiration");static Refund=new x("refund");static Void=new x("void");constructor(t){this.value=t}}class I{static Mxn=new I("mxn");static Usdc=new I("usdc");static Sol=new I("sol");constructor(t){this.value=t}}class k{static Physical=new k("physical");static Virtual=new k("virtual");constructor(t){this.value=t}}class C{static CardRequest=new C("card_request");static CashDeposit=new C("cash_deposit");static OutgoingSpei=new C("outgoing_spei");constructor(t){this.value=t}}class U{static Cash=new U("cash");static Internal=new U("internal");static Spei=new U("spei");constructor(t){this.value=t}}class T{static Credit=new T("credit");static Debit=new T("debit");constructor(t){this.value=t}}class S{static Pdf=new S("application/pdf");static Xml=new S("application/xml");static Json=new S("application/json");static Any=new S("*/*");constructor(t){this.value=t}}class N{static Curp=new N("curp");static Dni=new N("dni");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 B{static Sandbox=new B("sandbox-api");static Stage=new B("stage-api");static Api=new B("api");constructor(t){this.value=t}}class q{static Cable=new q("cable");static CreditCard=new q("credit_card");static Electricity=new q("electricity");static Gas=new q("gas");static Internet=new q("internet");static LandlineTelephone=new q("landline_telephone");static MobileTelephonePostpaid=new q("mobile_telephone_postpaid");static MobileTelephonePrepaid=new q("mobile_telephone_prepaid");static SateliteTelevision=new q("satelite_television");static Water=new q("water");constructor(t){this.value=t}}class P{static General=new P("general");static Home=new P("home");static Vehicle=new P("vehicle");static Travel=new P("travel");static Clothing=new P("clothing");static Other=new P("other");static Medical=new P("medical");static Accident=new P("accident");static Education=new P("education");constructor(t){this.value=t}}class D{static AccountEntries=new D("session.account_entries");static DownloadFile=new D("session.download_file");static Registration=new D("session.registration");static ShowCard=new D("session.show_card");static UploadFile=new D("session.upload_file");constructor(t){this.value=t}}class ${static NotSet=new $("not_set");static Terminal=new $("terminal");static Manual=new $("manual");static Unknown=new $("unknown");static Contactless=new $("contactless");static FallBack=new $("fall_back");static MagneticStripe=new $("magnetic_stripe");static RecurringCharge=new $("recurring_charge");constructor(t){this.value=t}}class E{static Polygon=new E("polygon");static Solana=new E("solana");constructor(t){this.value=t}}class K{static Created=new K("created");static Failed=new K("failed");static InReview=new K("in_review");static Submitted=new K("submitted");static Succeeded=new K("succeeded");constructor(t){this.value=t}}class L{static Internal=new L("internal");static Spei=new L("spei");constructor(t){this.value=t}}class M{static Active=new M("active");static Deactivated=new M("deactivated");static Fraud=new M("fraud");static PldBlocked=new M("pld_blocked");constructor(t){this.value=t}}class V{static Created=new V("created");static NotVerified=new V("not_verified");static Rejected=new V("rejected");static ReviewNeeded=new V("review_needed");static Submitted=new V("submitted");static Succeeded=new V("succeeded");static UploadAgain=new V("upload_again");constructor(t){this.value=t}}class R{static Phone=new R("phone");static Email=new R("email");constructor(t){this.value=t}}class F{static Deposit=new F("deposit");static Withdrawal=new F("withdrawal");constructor(t){this.value=t}}const Y=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},H=(t,e)=>Object.values(t).find((t=>t.value===e));class W{constructor({createdAfter:t,createdBefore:e,limit:s,pageSize:r,relatedTransaction:i,userId:a,count:n=!1}){this.createdAfter=t,this.createdBefore=e,this._lmt=s,this.relatedTransaction=i,this.userId=a,this.count=n,this.pageSize=r}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 z extends W{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class X extends W{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class G extends W{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class Q extends G{constructor({trackingKey:t,network:e,...s}){super(s),this.trackingKey=t,this.network=e}toObject(){return Object.assign(super.toObject(),{tracking_key:this.trackingKey,network:this.network})}}class J extends G{constructor({accountNumber:t,idempotencyKey:e,trackingKey:s,network:r,...i}){super(i),this.accountNumber=t,this.idempotencyKey=e,this.trackingKey=s,this.network=r}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber,idempotency_key:this.idempotencyKey,tracking_key:this.trackingKey,network:this.network})}}class Z extends W{constructor({fundingInstrumentUri:t,count:e=!1,walletId:s="default",...r}){super(r),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 tt extends W{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class et extends W{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class st extends W{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 rt extends W{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class it extends W{constructor({emailAddress:t,hasCurpDocument:e,phoneNumber:s,status:r,...i}){super(i),this.emailAddress=t,this.hasCurpDocument=e,this.phoneNumber=s,this.status=r}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress,has_curp_document:this.hasCurpDocument,phone_number:this.phoneNumber,status:this.status})}}class at extends W{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class nt extends W{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=Y(Date.now());s.setUTCDate(1);if(Y(`${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 ct extends W{constructor({emailAddress:t,...e}){super(e),this.emailAddress=t}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress})}}class ot extends W{constructor({accountId:t,...e}){super(e),this.accountId=t}toObject(){return Object.assign(super.toObject(),{account:this.accountId})}}class dt extends W{constructor({accountId:t,...e}){super(e),this.accountId=t}toObject(){return Object.assign(super.toObject(),{account_id:this.accountId})}}class ut extends ot{constructor({status:t,type:e,...s}){super(s),this.status=t,this.type=e}toObject(){return Object.assign(super.toObject(),{status:this.status,type:this.type})}}class ht{constructor({ip:t,location:e,type:s,version:r}){this.ip=t,this.location=e,this.type=s,this.version=r}static fromObject=({ip:t,location:e,type:s,version:r})=>new ht({ip:t,location:e,type:s,version:r})}class lt{constructor({code:t,error:e,identifier:s,message:r}){this.code=t,this.error=e,this.identifier=s,this.message=r}static fromObject=({code:t,error:e,identifier:s,message:r})=>new lt({code:t,error:e,identifier:s,message:r})}class pt{constructor({data:t,errors:e,isMx:s,status:r,type:i,uriBack:a,uriFront:n}){this.data=t,this.isMx=s,this.status=H(V,r),this.type=H(N,i),this.uriBack=a,this.uriFront=n,e&&e.length>0&&(this.errors=e.map((t=>lt.fromObject(t))))}static fromObject=({data:t,errors:e,status:s,type:r,...i})=>new pt({data:t,errors:e,status:s,type:r,isMx:i.is_mx,uriBack:i.uri_back,uriFront:i.uri_front})}class mt{constructor({city:t,colonia:e,country:s,createdAt:r,extNumber:i,fullName:a,intNumber:n,postalCode:c,state:o,street:d}){this.city=t,this.colonia=e,this.country=s,this.createdAt=Y(r),this.extNumber=i,this.fullName=a,this.intNumber=n,this.postalCode=c,this.state=o,this.street=d}static fromObject=({city:t,colonia:e,country:s,state:r,street:i,...a})=>new mt({city:t,colonia:e,country:s,state:r,street:i,createdAt:a.created_at,extNumber:a.ext_number,fullName:a.full_name,intNumber:a.int_number,postalCode:a.postal_code})}var ft="0.0.12-dev.12";class wt{constructor({apiKey:t,apiSecret:e,language:s="en",phase:r=B.Sandbox}={}){this.phase=r,this.basicAuth={apiKey:t,apiSecret:e},this.jwtToken=null,this._session=i.default.create({headers:{"Accept-Language":s},timeout:45e3})}get session(){return this._session}get origin(){return`https://${this.phase.value}.arteria.xyz`}get authHeader(){const{apiKey:t,apiSecret:e}=this.basicAuth;return t&&e?`Basic ${a.default.Buffer.from(`${t}:${e}`,"utf-8").toString("base64")}`:""}addHeadersToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common:r}}=s;return Object.keys(t).forEach((e=>r[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:r}}=s;return delete r[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:r,sessionId:i,useJwt:a=!1}){this.basicAuth={apiKey:t||this.basicAuth.apiKey,apiSecret:e||this.basicAuth.apiSecret},r&&(this.phase=r),a&&(this.jwtToken=await _.create(this)),s&&this.addHeadersToRequest({"X-Cuenca-LoginToken":s}),i&&this.addHeadersToRequest({"X-Cuenca-SessionId":i})}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=S.Json,method:r="GET",multipart:i=!1,params:a=null}){let o={};i||(o={"Content-Type":"application/json",Accept:`application/${s.value}`}),this.authHeader&&(o.Authorization=this.authHeader),w?o["User-Agent"]=`cuenca-js/${ft}`:f&&(o["X-User-Agent"]=`cuenca-js/${ft}`),this.jwtToken&&(this.jwtToken.isExpired&&(this.jwtToken=await _.create(this)),o["X-Cuenca-Token"]=this.jwtToken.token);const d=this.addHeadersToRequest(o),u=e;u&&!i&&Object.keys(u).forEach((t=>{u[t]instanceof Date&&(u[t]=u[t].toISOString())}));const h=this.addConfigToRequest({method:r,params:a,data:u,url:t});let l;try{l=await this._session.request({baseURL:this.origin})}catch(t){throw t.response?new c(t.response.data,t.response.status):t.request?new n(`No response received: ${t.errno}: ${t.code}`):new n(t.message)}finally{d.eject(),h.eject()}return l.data}}class _t{constructor({accountNumber:t,createdAt:e,id:s,institutionName:r,name:i,userId:a}){this.accountNumber=t,this.createdAt=Y(e),this.id=s,this.institutionName=r,this.name=i,this.userId=a}static fromObject=({id:t,name:e,...s})=>new _t({id:t,name:e,accountNumber:s.account_number,createdAt:s.created_at,institutionName:s.institution_name,userId:s.user_id})}class bt{constructor({createdAt:t,deactivatedAt:e,id:s,secret:r,userId:i,updatedAt:a}){this.createdAt=Y(t),this.deactivatedAt=Y(e),this.id=s,this.secret=r,this.userId=i,this.updatedAt=Y(a)}static fromObject=({id:t,secret:e,...s})=>new bt({id:t,secret:e,createdAt:s.created_at,deactivatedAt:s.deactivated_at,userId:s.user_id,updatedAt:s.updated_at});get isActive(){const t=Y(Date.now());return!this.deactivatedAt||this.deactivatedAt.getTime()>t.getTime()}}class yt{constructor({arpc:t,createdAt:e,cardUri:s,isValidArqc:r}){this.arpc=t,this.createdAt=Y(e),this.cardUri=s,this.isValidArqc=r}static fromObject=({arpc:t,...e})=>new yt({arpc:t,createdAt:e.created_at,cardUri:e.card_uri,isValidArqc:e.is_valid_arqc})}class vt{constructor({amount:t,createdAt:e,descriptor:s,entryType:r,fundingInstrumentUri:i,id:a,name:n,relatedTransactionUri:c,rollingBalance:o}){this.amount=t,this.createdAt=Y(e),this.descriptor=s,this.entryType=H(T,r),this.fundingInstrumentUri=i,this.id=a,this.name=n,this.relatedTransactionUri=c,this.rollingBalance=o}static fromObject=({amount:t,descriptor:e,id:s,name:r,type:i,...a})=>new vt({amount:t,descriptor:e,name:r,id:s,createdAt:a.created_at,entryType:i,fundingInstrumentUri:a.funding_instrument_uri,relatedTransactionUri:a.related_transaction_uri,rollingBalance:a.rolling_balance})}class gt{constructor({amount:t,createdAt:e,descriptor:s,status:r,userId:i}){this.amount=t,this.createdAt=Y(e),this.descriptor=s,this.status=H(K,r),this.userId=i}}class Ot extends gt{constructor({amount:t,accountNumber:e,createdAt:s,descriptor:r,id:i,providerUri:a,status:n,userId:c}){super({amount:t,createdAt:s,descriptor:r,status:n,userId:c}),this.accountNumber=e,this.id=i,this.providerUri=a}static fromObject=({amount:t,descriptor:e,id:s,status:r,...i})=>new Ot({amount:t,descriptor:e,id:s,status:r,accountNumber:i.account_number,createdAt:i.created_at,providerUri:i.provider_uri,userId:i.user_id})}class At{constructor({id:t,createdAt:e,updatedAt:s,names:r,firstSurname:i,secondSurname:a,dateOfBirth:n,countryOfBirth:c,rfc:o,curp:d,userId:u,gender:h,phoneNumber:l,emailAddress:p,clientClabe:m,govtId:f,proofOfAddress:w,status:_,termsOfService:y,address:v}){this.id=t,this.createdAt=Y(e),this.updatedAt=Y(s),this.emailAddress=p,this.clientClabe=m,this.setGovtId=f,this.names=r,this.firstSurname=i,this.secondSurname=a,this.dateOfBirth=n,this.countryOfBirth=c,this.rfc=o,this.curp=d,this.userId=u,this.gender=h,this.phoneNumber=l,this.setProofOfAddress=w,this.status=H(b,_),this.setTerms=y,this.setAddress=v}static fromObject=({status:t,address:e,...s})=>new At({address:e,status:t,id:s.id,createdAt:s.created_at,updatedAt:s.updated_at,clientClabe:s.client_clabe,names:s.names,firstSurname:s.first_surname,secondSurname:s.second_surname,dateOfBirth:s.date_of_birth,countryOfBirth:s.country_of_birth,rfc:s.rfc,curp:s.curp,userId:s.user_id,gender:s.gender,govtId:s.govt_id,emailAddress:s.email_address,phoneNumber:s.phone_number,proofOfAddress:s.proof_of_address,termsOfService:s.terms_of_service});get address(){return this._address}set setAddress(t){t&&0!==Object.keys(t).length&&(this._address=mt.fromObject(t))}get proofOfAddress(){return this._proofOfAddress}set setProofOfAddress(t){t&&0!==Object.keys(t).length&&(this._proofOfAddress=pt.fromObject(t))}get govtId(){return this._govtId}set setGovtId(t){t&&0!==Object.keys(t).length&&(this._govtId=pt.fromObject(t))}get termsOfService(){return this._termsOfService}set setTerms(t){t&&0!==Object.keys(t).length&&(this._termsOfService=ht.fromObject(t))}}class jt{constructor({clabe:t,createdAt:e,curp:s,error:r,firstName:i,id:a,names:n,rfc:c,secondSurname:o,status:d}){this.clabe=t,this.createdAt=Y(e),this.curp=s,this.error=r,this.firstName=i,this.id=a,this.names=n,this.rfc=c,this.secondSurname=o,this.status=H(y,d)}static fromObject=({clabe:t,curp:e,error:s,id:r,names:i,rfc:a,status:n,...c})=>new jt({clabe:t,curp:e,error:s,id:r,names:i,rfc:a,status:n,createdAt:c.created_at,firstName:c.first_name,secondSurname:c.second_surname})}class xt{constructor({account:t,clabe:e,currency:s,id:r,network:i,platformId:a}){this.account=t,this.clabe=e,this.currency=H(I,s),this.id=r,this.network=H(E,i),this.platformId=a}static fromObject=({clabe:t,currency:e,id:s,network:r,...i})=>new xt({clabe:t,currency:e,id:s,network:r,account:i.account_uri.split("/")[2],platformId:i.platform_id})}class It{constructor({id:t,createdAt:e,platformId:s,type:r,status:i,accountUri:a,quoteUri:n,currency:c,network:o,sourceWallet:d,destinationWallet:u,bankAccountUri:h,cuencaId:l,cuentaOrdenante:p,cuentaBeneficiario:m,nombreOrdenante:f,claveRastreo:w,rfcCurpOrdenante:_,concepto:b,referenciaNumerica:y,signature:v,trackingLink:g,fromCurrency:O,toCurrency:j,fromAmount:x,toAmount:k}){this.id=t,this.createdAt=Y(e),this.platformId=s,this.type=H(A,r),this.status=H(K,i),this.accountUri=a,this.quoteUri=n,this.currency=H(I,c),this.network=H(E,o),this.sourceWallet=d,this.destinationWallet=u,this.bankAccountUri=h,this.cuencaId=l,this.cuentaOrdenante=p,this.cuentaBeneficiario=m,this.nombreOrdenante=f,this.claveRastreo=w,this.rfcCurpOrdenante=_,this.concepto=b,this.referenciaNumerica=y,this.signature=v,this.trackingLink=g,this.fromCurrency=H(I,O),this.toCurrency=H(I,j),this.fromAmount=x,this.toAmount=k}static fromObject=({type:t,status:e,currency:s,network:r,concepto:i,signature:a,...n})=>new It({id:n.id,createdAt:n.created_at,platformId:n.platform_id,accountUri:n.account_uri,quoteUri:n.quote_uri,sourceWallet:n.source_wallet,destinationWallet:n.destination_wallet,bankAccountUri:n.bank_account_uri,cuencaId:n.cuenca_id,cuentaOrdenante:n.cuenta_ordenante,cuentaBeneficiario:n.cuenta_beneficiario,nombreOrdenante:n.nombre_ordenante,claveRastreo:n.clave_rastreo,rfcCurpOrdenante:n.rfc_curp_ordenante,referenciaNumerica:n.referencia_numerica,trackingLink:n.tracking_link,fromCurrency:n.from_currency,toCurrency:n.to_currency,fromAmount:n.from_amount,toAmount:n.to_amount,type:t,status:e,currency:s,network:r,concepto:i,signature:a})}class kt{constructor({createdAt:t,cvv2:e,expMonth:s,expYear:r,fundingType:i,id:a,issuer:n,number:c,pin:o,status:d,type:u,updatedAt:h,userId:l}){this.createdAt=Y(t),this.cvv2=e,this.expMonth=s,this.expYear=r,this.fundingType=H(g,i),this.id=a,this.issuer=H(O,n),this.number=c,this.pin=o,this.status=H(j,d),this.type=H(k,u),this.updatedAt=Y(h),this.userId=l}static fromObject=({cvv2:t,id:e,issuer:s,number:r,pin:i,status:a,type:n,...c})=>new kt({cvv2:t,id:e,issuer:s,number:r,pin:i,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 Ct{constructor({cardUri:t,createdAt:e,id:s,ipAddress:r,success:i,userId:a}){this.cardUri=t,this.createdAt=Y(e),this.id=s,this.ipAddress=r,this.success=i,this.userId=a}static fromObject=({id:t,success:e,...s})=>new Ct({id:t,success:e,cardUri:s.card_uri,createdAt:s.created_at,ipAddress:s.ip_address,userId:s.user_id})}class Ut extends gt{constructor({amount:t,cardErrorType:e,cardLastFour:s,cardType:r,cardUri:i,createdAt:a,descriptor:n,metadata:c,network:o,relatedCardTransactionsUris:d,status:u,type:h,userId:l}){super({amount:t,createdAt:a,descriptor:n,status:u,userId:l}),this.cardErrorType=H(v,e),this.cardLastFour=s,this.cardType=H(k,r),this.cardUri=i,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=H(x,h)}static fromObject=({amount:t,descriptor:e,metadata:s,network:r,status:i,type:a,...n})=>new Ut({amount:t,descriptor:e,metadata:s,network:r,status:i,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 Tt{constructor({cardStatus:t,cardType:e,cardUri:s,createdAt:r,isExpired:i,isPinAttemptsExceeded:a,isValidCvv:n,isValidCvv2:c,isValidExpDate:o,isValidIcvv:d,isValidPinBlock:u,userId:h}){this.cardStatus=H(j,t),this.cardType=H(k,e),this.cardUri=s,this.createdAt=Y(r),this.isExpired=i,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 Tt({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 St extends gt{constructor({amount:t,createdAt:e,descriptor:s,relatedTransactionUri:r,status:i,type:a,userId:n}){super({amount:t,createdAt:e,descriptor:s,status:i,userId:n}),this.relatedTransactionUri=r,this.type=H(C,a)}static fromObject=({amount:t,descriptor:e,status:s,type:r,...i})=>new St({amount:t,descriptor:e,status:s,type:r,createdAt:i.created_at,relatedTransactionUri:i.related_transaction_uri,userId:i.user_id})}class Nt extends gt{constructor({amount:t,createdAt:e,descriptor:s,id:r,network:i,status:a,sourceUri:n,trackingKey:c,userId:o}){super({amount:t,createdAt:e,descriptor:s,status:a,userId:o}),this.id=r,this.network=H(U,i),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:r,status:i,...a})=>new Nt({amount:t,descriptor:e,id:s,network:r,status:i,createdAt:a.created_at,sourceUri:a.source_uri,trackingKey:a.tracking_key,userId:a.user_id})}class Bt{constructor({extension:t,type:e,url:s,userId:r}){this.extension=t,this.type=H(N,e),this.url=s,this.userId=r}static fromObject=({extension:t,type:e,url:s,...r})=>new Bt({extension:t,type:e,url:s,userId:r.user_id})}class qt{constructor({platformId:t,attemps:e,verificationId:s,filesUri:r}){this.attemps=e,this.filesUri=r,this.platformId=t,this.verificationId=s}static fromObject=({attemps:t,...e})=>new qt({attemps:t,filesUri:e.files_uri,platformId:e.platform_id,verificationId:e.verification_id})}class Pt{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new Pt({id:t})}class Dt{constructor({balance:t,createdAt:e,deactivatedAt:s,id:r,userId:i,updatedAt:a}){this.balance=t,this.createdAt=Y(e),this.deactivatedAt=Y(s),this.id=r,this.userId=i,this.updatedAt=Y(a)}}class $t extends Dt{constructor({balance:t,category:e,createdAt:s,deactivatedAt:r,goalAmount:i,goalDate:a,id:n,name:c,userId:o,updatedAt:d}){super({balance:t,createdAt:s,deactivatedAt:r,id:n,userId:o,updatedAt:d}),this.category=H(P,e),this.goalAmount=i,this.goalDate=Y(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:r,...i})=>new $t({balance:t,category:e,id:s,name:r,createdAt:i.created_at,deactivatedAt:i.deactivated_at,goalAmount:i.goal_amount,goalDate:i.goal_date,userId:i.user_id,updatedAt:i.updated_at})}class Et{constructor({categories:t,id:e,name:s,providerKey:r}){var i;this.categories=null==(i=t)?[]:i.map((t=>H(q,t))),this.id=e,this.name=s,this.providerKey=r}static fromObject=({categories:t,id:e,name:s,...r})=>new Et({categories:t,id:e,name:s,providerKey:r.provider_key})}class Kt{constructor({createdAt:t,expiresAt:e,failureUrl:s,id:r,platformId:i,successUrl:a,type:n,userId:c}){this.createdAt=Y(t),this.expiresAt=Y(e),this.failureUrl=s,this.id=r,this.platformId=i,this.successUrl=a,this.type=H(D,n),this.userId=c}static fromObject=({id:t,type:e,...s})=>new Kt({id:t,type:e,createdAt:s.created_at,expiresAt:s.expires_at,failureUrl:s.failure_url,platformId:s.platform_id,successUrl:s.success_url,userId:s.user_id})}class Lt{constructor({createdAt:t,id:e,month:s,year:r}){this.createdAt=Y(t),this.id=e,this.month=s,this.year=r}static fromObject=({id:t,month:e,year:s,...r})=>new Lt({id:t,month:e,year:s,createdAt:r.created_at})}class Mt extends gt{constructor({accountNumber:t,amount:e,createdAt:s,descriptor:r,destinationUri:i,id:a,idempotencyKey:n,network:c,recipientName:o,status:d,trackingKey:u,updatedAt:h,userId:l}){super({amount:e,createdAt:s,descriptor:r,status:d,userId:l}),this.accountNumber=t,this.destinationUri=i,this.id=a,this.idempotencyKey=n,this.network=H(L,c),this.recipientName=o,this.trackingKey=u,this.updatedAt=Y(h)}static fromObject=({amount:t,descriptor:e,id:s,network:r,status:i,...a})=>new Mt({amount:t,descriptor:e,id:s,network:r,status:i,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 Vt{constructor({address:t,blacklistValidationStatus:e,clabe:s,countryOfBirth:r,createdAt:i,curp:a,curpDocument:n,dateOfBirth:c,emailAddress:o,firstSurname:d,gender:u,govtId:h,id:l,level:p,names:m,nationality:f,phoneNumber:w,proofOfAddress:_,proofOfLife:b,requiredLevel:y,rfc:v,secondSurname:g,stateOfBirth:O,status:A,termsOfService:j,updatedAt:x,verificationId:I}){this.setAddress=t,this.blacklistValidationStatus=H(V,e),this.clabe=s,this.countryOfBirth=r,this.createdAt=Y(i),this.curp=a,this.setCurpDoc=n,this.dateOfBirth=c,this.emailAddress=o,this.firstSurname=d,this.gender=u,this.id=l,this.level=p,this.names=m,this.nationality=f,this.phoneNumber=w,this.setGovtId=h,this.setProofOfAddress=_,this.setProofOfLife=b,this.requiredLevel=y,this.rfc=v,this.secondSurname=g,this.stateOfBirth=O,this.status=H(M,A),this.setTerms=j,this.updatedAt=Y(x),this.verificationId=I}get address(){return this._address}set setAddress(t){t&&(this._address=mt.fromObject(t))}get proofOfAddress(){return this._proofOfAddress}set setProofOfAddress(t){t&&(this._proofOfAddress=pt.fromObject(t))}get proofOfLife(){return this._proofOfLife}set setProofOfLife(t){t&&(this._proofOfLife=pt.fromObject(t))}get govtId(){return this._govtId}set setGovtId(t){t&&(this._govtId=pt.fromObject(t))}get termsOfService(){return this._termsOfService}set setTerms(t){t&&(this._termsOfService=ht.fromObject(t))}get curpDocument(){return this._curpDocument}set setCurpDoc(t){t&&(this._curpDocument=pt.fromObject(t))}static fromObject=({address:t,clabe:e,curp:s,gender:r,id:i,level:a,names:n,nationality:c,rfc:o,status:d,...u})=>new Vt({address:t,clabe:e,curp:s,gender:r,id:i,level:a,names:n,nationality:c,rfc:o,status:d,blacklistValidationStatus:u.blacklist_validation_status,countryOfBirth:u.country_of_birth,createdAt:u.created_at,curpDocument:u.curp_document,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 Rt{constructor({createdAt:t,id:e,isActive:s,updatedAt:r}){this.createdAt=Y(t),this.id=e,this.isActive=s,this.updatedAt=Y(r)}static fromObject=({id:t,...e})=>new Rt({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class Ft{constructor({id:t,lastLoginAt:e,success:s}){this.id=t,this.lastLoginAt=Y(e),this.success=s}static fromObject=({id:t,success:e,...s})=>new Ft({id:t,success:e,lastLoginAt:s.last_login_at})}class Yt{constructor({createdAt:t,id:e,platformId:s,recipient:r,type:i,updatedAt:a}){this.createdAt=Y(t),this.id=e,this.platformId=s,this.recipient=r,this.type=H(R,i),this.updatedAt=Y(a)}static fromObject=({id:t,recipient:e,type:s,...r})=>new Yt({id:t,recipient:e,type:s,createdAt:r.created_at,platformId:r.platform_id,updatedAt:r.updated_at})}class Ht extends gt{constructor({amount:t,createdAt:e,descriptor:s,id:r,status:i,transactionType:a,userId:n,walletUri:c}){super({amount:t,createdAt:e,descriptor:s,status:i,userId:n}),this.id=r,this.transactionType=H(F,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:r,...i})=>new Ht({amount:t,descriptor:e,id:s,status:r,createdAt:i.created_at,transactionType:i.transaction_type,userId:i.user_id,walletUri:i.wallet_uri})}class Wt extends gt{constructor({amount:t,claimUrl:e,createdAt:s,descriptor:r,destinationUri:i,expiresAt:a,id:n,network:c,phoneNumber:o,recipientName:d,status:u,trackingKey:h,updatedAt:l,userId:p}){super({amount:t,createdAt:s,descriptor:r,status:u,userId:p}),this.claimUrl=e,this.destinationUri=i,this.id=n,this.expiresAt=Y(a),this.network=H(L,c),this.phoneNumber=o,this.recipientName=d,this.trackingKey=h,this.updatedAt=Y(l)}static fromObject=({amount:t,descriptor:e,id:s,network:r,status:i,...a})=>new Wt({amount:t,descriptor:e,id:s,network:r,status:i,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 zt{constructor(t){this.superclass=t}with(...t){return t.reduce(((t,e)=>e(t)),this.superclass)}}const Xt=t=>new zt(t),Gt=(t,e)=>({accounts:()=>_t.fromObject(e),api_keys:()=>bt.fromObject(e),arpc:()=>yt.fromObject(e),balance_entries:()=>vt.fromObject(e),bill_payments:()=>Ot.fromObject(e),"bridge/accounts":()=>At.fromObject(e),"bridge/bank_accounts":()=>jt.fromObject(e),"bridge/clabes":()=>xt.fromObject(e),"bridge/kyc_validations":()=>qt.fromObject(e),"bridge/sessions":()=>Kt.fromObject(e),"bridge/transactions":()=>It.fromObject(e),cards:()=>kt.fromObject(e),card_activations:()=>Ct.fromObject(e),card_transactions:()=>Ut.fromObject(e),card_validations:()=>Tt.fromObject(e),commissions:()=>St.fromObject(e),deposits:()=>Nt.fromObject(e),files:()=>Bt.fromObject(e),kyc_validations:()=>qt.fromObject(e),login_tokens:()=>Pt.fromObject(e),savings:()=>$t.fromObject(e),service_providers:()=>Et.fromObject(e),sessions:()=>Kt.fromObject(e),statements:()=>Lt.fromObject(e),transfers:()=>Mt.fromObject(e),users:()=>Vt.fromObject(e),user_credentials:()=>Rt.fromObject(e),user_logins:()=>Ft.fromObject(e),verifications:()=>Yt.fromObject(e),wallet_transactions:()=>Ht.fromObject(e),whatsapp_transfers:()=>Wt.fromObject(e)}[t]()),Qt=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class Jt{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const Zt=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return Gt(this.path,e)}},te=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return Gt(this.path,e)}},ee=t=>class extends t{async _update(t,e){const s=await this.client.patch({endpoint:`/${this.path}/${t}`,data:e});return Gt(this.path,s)}},se=t=>class extends t{async _upload(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t,multipart:!0});return Gt(this.path,e)}},re=t=>class extends t{async _deactivate(t,e){const s=await this.client.delete({endpoint:`/${this.path}/${t}`,data:e});return Gt(this.path,s)}},ie=t=>class extends t{async _download(t,e){return await this.client.get({endpoint:`/${this.path}/${t}`,format:e})}},ae=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 Gt(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 Gt(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=Gt(this.path,e);yield t}e=t.next_page_uri}}};class ne extends(Xt(Jt).with(ae,Zt)){constructor(t){super("accounts",z,t)}}class ce{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class oe extends ce{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class de extends ce{constructor(t,e,s){super(),this.userId=t,this.issuer=e,this.fundingType=s}toObject(){return{user_id:this.userId,issuer:this.issuer,funding_type:this.fundingType}}}class ue extends ce{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class he extends ce{constructor(t,e,s,r){super(),this.n=t,this.eM=e,this.eY=s,this.c2=r}get number(){return this._number}set n(t){if([!!t,16===t.length,/^\d{16}/.test(t)].some((t=>!t)))throw new l("Invalid number");this._number=t.trim()}get expMonth(){return this._expMonth}set eM(t){if([!!t,t>=1,t<=12].some((t=>!t)))throw new l("Invalid expiration month");this._expMonth=t}get expYear(){return this._expYear}set eY(t){if([!!t,t>=18,t<=99].some((t=>!t)))throw new l("Invalid expiration year");this._expYear=t}get cvv2(){return this._cvv2}set c2(t){if([!!t,3===t.length,/^\d{3}/.test(t)].some((t=>!t)))throw new l("Invalid cvv2");this._cvv2=t}toObject(){return{number:this.number,exp_month:this.expMonth,exp_year:this.expYear,cvv2:this.cvv2}}}class le extends ce{constructor({cvv:t,cvv2:e,expMonth:s,expYear:r,icvv:i,number:a,pinBlock:n,pinAttemptsExceeded:c}){super(),this.c=t,this.c2=e,this.em=s,this.ey=r,this.ic=i,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 pe extends ce{constructor({userId:t,force:e,isBridge:s=!1}){super(),this.force=e,this.userId=t,this.isBridge=s}toObject(){return{force:this.force,[this.isBridge?"account_id":"user_id"]:this.userId}}}class me extends ce{constructor(t,e,s,r){super(),this.category=t,this.name=r,this.goalAmount=e,this.validDate=s}get goalDate(){return this._goalDate}set validDate(t){if(t){if(Y(t).getTime()<=Y(Date.now()).getTime())throw new l("The goal_date always need to be higher than now");this._goalDate=t}}toObject(){return{category:this.category,goal_amount:this.goalAmount,goal_date:this.goalDate,name:this.name}}}class fe extends ce{constructor({failureUrl:t,successUrl:e,type:s,userId:r,isBridge:i=!1}){super(),this.failureUrl=t,this.successUrl=e,this.type=s,this.userId=r,this.isBridge=i}toObject(){return{failure_url:this.failureUrl,success_url:this.successUrl,type:this.type,[this.isBridge?"account_id":"user_id"]:this.userId}}}class we extends ce{constructor(t,e,s,r,i){super(),this.accountNumber=t,this.amount=e,this.descriptor=s,this.idempotencyKey=r,this.recipientName=i}toObject(){return{account_number:this.accountNumber,amount:this.amount,descriptor:this.descriptor,idempotency_key:this.idempotencyKey,recipient_name:this.recipientName}}}class _e extends ce{constructor(t){super(),this.pwd=t}get password(){return this._password}set pwd(t){if([!!t,t.length>=6].some((t=>!t)))throw new l("Invalid password");this._password=t}toObject(){return{password:this.password}}}class be extends ce{constructor(t,e){super(),this.pwd=t,this.isActive=e,this.req={password:this.password,isActive:this.isActive}}get password(){return this._password}get request(){return this._request}set pwd(t){if(!t)return void(this._password=t);if([t.length>=6].some((t=>!t)))throw new l("Invalid password");this._password=t}set req(t){if(t.password&&null!=t.isActive)throw new l("Only one property can be updated at a time");this._request=t}toObject(){return{password:this.request.password,is_active:this.request.isActive}}}class ye extends ce{constructor(t,e="me"){super(),this.pwd=t,this.userId=e}get password(){return this._password}set pwd(t){if([!!t,6===t.length,/^\d{6}$/.test(t)].some((t=>!t)))throw new l("Invalid password");this._password=t}toObject(){return{password:this.password,user_id:this.userId}}}class ve extends ce{constructor({ip:t,location:e,type:s,version:r}){super(),this.ipAddress=t,this.location=e,this.type=s,this.version=r}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 ge extends ce{constructor({city:t,colonia:e,country:s,extNumber:r,fullName:i,intNumber:a,postalCode:n,state:c,street:o}={}){super(),this.city=t,this.colonia=e,this.country=s,this.extNumber=r,this.fullName=i,this.intNumber=a,this.postalCode=n,this.state=c,this.street=o}toObject(){return{city:this.city,colonia:this.colonia,country:this.country,ext_number:this.extNumber,full_name:this.fullName,int_number:this.intNumber,postal_code:this.postalCode,state:this.state,street:this.street}}}class Oe extends ce{constructor({data:t,isMx:e,status:s,type:r,uriBack:i,uriFront:a}){super(),this.data=t,this.isMx=e,this.status=s,this.type=r,this.uriBack=i,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 Ae extends ce{constructor({address:t,curpDocumentUri:e,govtId:s,profession:r,proofOfAddress:i,proofOfLife:a,requiredLevel:n,termsOfService:c,verificationId:o}){super(),this.adrs=t,this.curpDocumentUri=e,this.govstIds=s,this.profession=r,this.addressProofs=i,this.lifeProofs=a,this.requiredLevel=n,this.terms=c,this.verificationId=o}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=new ve(t).toObject())}get address(){return this._address}set adrs(t){t&&(this._address=new ge(t).toCleanObject())}get proofOfLife(){return this._proofOfLife}set lifeProofs(t){t&&(this._proofOfLife=new Oe(t).toCleanObject())}get proofOfAddress(){return this._proofOfAddress}set addressProofs(t){t&&(this._proofOfAddress=new Oe(t).toCleanObject())}get govtId(){return this._govtId}set govstIds(t){t&&(this._govtId=new Oe(t).toCleanObject())}toObject(){return{address:this.address,curp_document_uri:this.curpDocumentUri,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 je extends ce{constructor({platformId:t,recipient:e,type:s}){super(),this.platformId=t,this.type=s,this.recipients=e}get recipient(){return this._recipient}set recipients(t){switch(H(R,this.type)){case R.Email:if(!t.match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/))throw new l("Invalid email address");this._recipient=t;break;case R.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 xe extends ce{constructor({code:t}){super(),this.code=t}toObject(){return{code:this.code}}}class Ie extends ce{constructor(t,e,s){super(),this.amount=t,this.transactionType=e,this.walletUri=s}toObject(){return{amount:this.amount,transaction_type:this.transactionType,wallet_uri:this.walletUri}}}class ke extends(Xt(Jt).with(te,re,ae,Zt,ee)){constructor(t){super("api_keys",X,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 r=new oe(s,e);return await this._update(t,r.toCleanObject())}}class Ce extends(Xt(Jt).with(te)){constructor(t){super("arpc",Object,t)}async create({number:t,arqc:e,arpcMethod:s,transactionData:r,responseCode:i,transactionCounter:a,panSequence:n,uniqueNumber:c,trackDataMethod:o}){const d=new ArpcRequest({number:t,arqc:e,arpcMethod:s,transactionData:r,responseCode:i,transactionCounter:a,panSequence:n,uniqueNumber:c,trackDataMethod:o});return await this._create(d.toObject())}}class Ue extends(Xt(Jt).with(ae,Zt)){constructor(t){super("balance_entries",Z,t)}async relatedTransaction(t){const e=Qt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Gt(`${e}`,s)}async fundingInstrument(t){const e=Qt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Gt(`${e}`,s)}}class Te extends(Xt(Jt).with(ae,Zt)){constructor(t){super("bill_payments",tt,t)}async serviceProvider(t){const e=Qt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Gt(`${e}`,s)}}class Se extends(Xt(Jt).with(ae,ee,Zt)){constructor(t){super("bridge/accounts",ct,t)}async update({userId:t="me",...e}){const s=new Ae(e);return await this._update(t,s.toCleanObject())}}class Ne extends(Xt(Jt).with(ae,Zt)){constructor(t){super("bridge/bank_accounts",dt,t)}}class Be extends(Xt(Jt).with(ae)){constructor(t){super("bridge/clabes",ot,t)}}class qe extends(Xt(Jt).with(ae,Zt)){constructor(t){super("bridge/transactions",ut,t)}}class Pe extends(Xt(Jt).with(te)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:r}){const i=new he(t,e,s,r);return await this._create(i.toCleanObject())}async card(t){if(!t)return null;const e=await this.client.get({endpoint:t});return kt.fromObject(e)}}class De extends(Xt(Jt).with(te,re,ae,Zt,ee)){constructor(t){super("cards",st,t)}async create(t,e,s){const r=new de(t,e,s);return await this._create(r.toCleanObject())}async deactivate(t){return await this._deactivate(t)}async update(t,e,s){const r=new ue(e,s);return await this._update(t,r.toCleanObject())}}class $e extends(Xt(Jt).with(ae,Zt)){constructor(t){super("card_transactions",et,t)}async relatedCard(t){const e=Qt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Gt(`${e}`,s)}}class Ee extends(Xt(Jt).with(te)){constructor(t){super("card_validations",Object,t)}async create({cvv:t,cvv2:e,expMonth:s,expYear:r,icvv:i,number:a,pinBlock:n,pinAttemptsExceeded:c}){const o=new le({cvv:t,cvv2:e,expMonth:s,expYear:r,icvv:i,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 kt.fromObject(e)}}class Ke extends(Xt(Jt).with(ae,Zt)){constructor(t){super("commissions",W,t)}async relatedTransaction(t){const e=Qt(t);if(null==e)return null;const s=await this.client.get(t);return Gt(`${e}`,s)}}class Le extends(Xt(Jt).with(ae,Zt)){constructor(t){super("deposits",Q,t)}async source(t){const e=await this.client.get({endpoint:t});return _t.fromObject(e)}}class Me extends(Xt(Jt).with(ie,se)){constructor(t){super("files",Object,t)}async download(t){return await this._download(t,S.Any)}async upload(t){return await this._upload(t)}}class Ve extends(Xt(Jt).with(te,Zt,ae)){constructor(t,e=!1){super(e?"bridge/kyc_validations":"kyc_validations",Object,t),this.isBridge=e}async create(t="me",e=!1){const s=new pe({force:e,userId:t,isBridge:this.isBridge});return await this._create(s.toCleanObject())}}class Re extends(Xt(Jt).with(te)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class Fe extends(Xt(Jt).with(te,re,ae,Zt,ee)){constructor(t){super("savings",at,t)}async create(t,e,s,r){const i=new me(t,e,s,r);return await this._create(i.toObject())}async deactivate(t){return await this._deactivate(t)}async update(t,e,s,r,i){const a=new me(e,s,r,i);return await this._update(t,a.toObject())}}class Ye extends(Xt(Jt).with(ae,Zt)){constructor(t){super("service_providers",W,t)}}class He extends(Xt(Jt).with(te,Zt,ae)){constructor(t,e=!1){super(e?"bridge/sessions":"sessions",Object,t),this.isBridge=e}async create(t,e,s,r){const i=new fe({failureUrl:r,successUrl:s,type:e,userId:t,isBridge:this.isBridge});return await this._create(i.toCleanObject())}}class We extends(Xt(Jt).with(ie,ae)){constructor(t){super("statements",nt,t)}async pdf(t){return await this._download(t,S.Pdf)}async xml(t){return await this._download(t,S.Xml)}}class ze extends(Xt(Jt).with(te,ae,Zt)){constructor(t){super("transfers",J,t)}async destination(t){const e=await this.client.get({endpoint:t});return _t.fromObject(e)}async create({accountNumber:t,amount:e,descriptor:s,recipientName:r,idempotencyKey:i}){const a=i||this.constructor._genIdempotencyKey(t,e),n=new we(t,e,s,a,r);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:r,idempotencyKey:i,recipientName:a})=>{const n=new we(t,s,r,i||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]=Y(Date.now()).toISOString().split("T");return`${s}:${t}:${e}`}}class Xe extends(Xt(Jt).with(te,ee)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new _e(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const r=new be(e,t);return await this._update(s,r.toCleanObject())}}class Ge extends(Xt(Jt).with(te,re)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new ye(t,e),r=await this._create(s.toObject());if(!r.success)throw new h;return this.loginIdInHeaders=this.client.addHeadersToRequest({"X-Cuenca-LoginId":r.id}),r}async logOut(t="me"){return await this._deactivate(t,{}),this.loginIdInHeaders&&this.loginIdInHeaders.eject(),!0}}class Qe extends(Xt(Jt).with(ae,ee,Zt)){constructor(t){super("users",it,t)}async update({userId:t="me",...e}){const s=new Ae(e);return await this._update(t,s.toCleanObject())}}class Je extends(Xt(Jt).with(te,ee)){constructor(t){super("verifications",Object,t)}async create({platformId:t,recipient:e,type:s}){const r=new je({platformId:t,recipient:e,type:s});return await this._create(r.toObject())}async update({code:t,id:e}){const s=new xe({code:t});return await this._update(e,s.toObject())}}class Ze extends(Xt(Jt).with(te,ae,Zt)){constructor(t){super("wallet_transactions",rt,t)}async create(t,e,s){const r=new Ie(t,e,s);return await this._create(r.toObject())}async realtedWallet(t){const e=Qt(t);if(null==e)return null;const s=await this.client.get(t);return Gt(`${e}`,s)}}class ts extends(Xt(Jt).with(ae,Zt)){constructor(t){super("whatsapp_transfers",W,t)}async accountDestination(t){const e=Qt(t);if(null==e)return null;const s=await this.client.get(t);return Gt(`${e}`,s)}}t.Cuenca=class{constructor({apiKey:t,apiSecret:e,language:s="en",phase:r=B.Sandbox}={}){this.client=new wt({apiKey:t,apiSecret:e,language:s,phase:r}),this.withClient(this.client)}withClient(t){this.accounts=new ne(t),this.apiKeys=new ke(t),this.balanceEntries=new Ue(t),this.billPayments=new Te(t),this.bridgeAccounts=new Se(t),this.bridgeBankAccounts=new Ne(t),this.bridgeClabes=new Be(t),this.bridgeKycValidations=new Ve(t,!0),this.bridgeSessions=new He(t,!0),this.bridgeTransactions=new qe(t),this.cardActivations=new Pe(t),this.cards=new De(t),this.cardTransactions=new $e(t),this.cardValidations=new Ee(t),this.commissions=new Ke(t),this.deposits=new Le(t),this.files=new Me(t),this.kycValidations=new Ve(t),this.loginTokens=new Re(t),this.savings=new Fe(t),this.serviceProviders=new Ye(t),this.sessions=new He(t),this.statements=new We(t),this.transfers=new ze(t),this.userCredentials=new Xe(t),this.userLogins=new Ge(t),this.users=new Qe(t),this.verifications=new Je(t),this.walletTransactions=new Ze(t),this.whatsAppTransfers=new ts(t)}}}));
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("axios"),require("buffer")):"function"==typeof define&&define.amd?define(["exports","axios","buffer"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).cuenca={},t.axios,t.Buffer)}(this,(function(t,e,s){"use strict";function r(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var i=r(e),a=r(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 l extends Error{constructor(t){super(t),Object.setPrototypeOf(this,l.prototype)}}const p="undefined"!=typeof window&&void 0!==window.document,m="undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process),f=p,w=m;class _{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:r}=await t.post("token",{});s.eject();const i=_.getExpirationDate(r);return new _(i,r)}}class b{static Succeeded=new b("succeeded");static NotValidated=new b("not_validated");static Failed=new b("failed");static OnWaitList=new b("on_wait_list");constructor(t){this.value=t}}class y{static Created=new y("created");static Failed=new y("failed");static Pending=new y("pending");static Succeeded=new y("succeeded");constructor(t){this.value=t}}class v{static Blocked=new v("blocked");static Comunication=new v("comunication");static ContactlesAmountLimit=new v("contactles_amount_limit");static FraudDetection=new v("fraud_detection");static FraudDetectionUncertain=new v("fraud_detection_uncertain");static InsufficientFounds=new v("insufficient_founds");static InvalidPin=new v("invalid_pin");static Notification=new v("notification");static NotificationDeactivatedCard=new v("notification_deactivated_card");constructor(t){this.value=t}}class g{static Credit=new g("credit");static Debit=new g("debit");constructor(t){this.value=t}}class O{static Accendo=new O("accendo");static Cuenca=new O("cuenca");constructor(t){this.value=t}}class A{static Buy=new A("buy");static Sell=new A("sell");constructor(t){this.value=t}}class j{static Active=new j("active");static Blocked=new j("blocked");static Created=new j("created");static Deactivated=new j("deactivated");static Printing=new j("printing");constructor(t){this.value=t}}class x{static Auth=new x("auth");static Capture=new x("capture");static Chargeback=new x("chargeback");static Expiration=new x("expiration");static Refund=new x("refund");static Void=new x("void");constructor(t){this.value=t}}class I{static Mxn=new I("mxn");static Usdc=new I("usdc");static Sol=new I("sol");constructor(t){this.value=t}}class k{static Physical=new k("physical");static Virtual=new k("virtual");constructor(t){this.value=t}}class C{static CardRequest=new C("card_request");static CashDeposit=new C("cash_deposit");static OutgoingSpei=new C("outgoing_spei");constructor(t){this.value=t}}class U{static Cash=new U("cash");static Internal=new U("internal");static Spei=new U("spei");constructor(t){this.value=t}}class T{static Credit=new T("credit");static Debit=new T("debit");constructor(t){this.value=t}}class S{static Pdf=new S("application/pdf");static Xml=new S("application/xml");static Json=new S("application/json");static Any=new S("*/*");constructor(t){this.value=t}}class N{static Curp=new N("curp");static Dni=new N("dni");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 B{static Sandbox=new B("sandbox-api");static Stage=new B("stage-api");static Api=new B("api");constructor(t){this.value=t}}class q{static Cable=new q("cable");static CreditCard=new q("credit_card");static Electricity=new q("electricity");static Gas=new q("gas");static Internet=new q("internet");static LandlineTelephone=new q("landline_telephone");static MobileTelephonePostpaid=new q("mobile_telephone_postpaid");static MobileTelephonePrepaid=new q("mobile_telephone_prepaid");static SateliteTelevision=new q("satelite_television");static Water=new q("water");constructor(t){this.value=t}}class P{static General=new P("general");static Home=new P("home");static Vehicle=new P("vehicle");static Travel=new P("travel");static Clothing=new P("clothing");static Other=new P("other");static Medical=new P("medical");static Accident=new P("accident");static Education=new P("education");constructor(t){this.value=t}}class D{static AccountEntries=new D("session.account_entries");static DownloadFile=new D("session.download_file");static Registration=new D("session.registration");static ShowCard=new D("session.show_card");static UploadFile=new D("session.upload_file");constructor(t){this.value=t}}class ${static NotSet=new $("not_set");static Terminal=new $("terminal");static Manual=new $("manual");static Unknown=new $("unknown");static Contactless=new $("contactless");static FallBack=new $("fall_back");static MagneticStripe=new $("magnetic_stripe");static RecurringCharge=new $("recurring_charge");constructor(t){this.value=t}}class E{static Polygon=new E("polygon");static Solana=new E("solana");constructor(t){this.value=t}}class K{static Created=new K("created");static Failed=new K("failed");static InReview=new K("in_review");static Submitted=new K("submitted");static Succeeded=new K("succeeded");constructor(t){this.value=t}}class L{static Internal=new L("internal");static Spei=new L("spei");constructor(t){this.value=t}}class M{static Active=new M("active");static Deactivated=new M("deactivated");static Fraud=new M("fraud");static PldBlocked=new M("pld_blocked");constructor(t){this.value=t}}class V{static Created=new V("created");static NotVerified=new V("not_verified");static Rejected=new V("rejected");static ReviewNeeded=new V("review_needed");static Submitted=new V("submitted");static Succeeded=new V("succeeded");static UploadAgain=new V("upload_again");constructor(t){this.value=t}}class R{static Phone=new R("phone");static Email=new R("email");constructor(t){this.value=t}}class F{static Deposit=new F("deposit");static Withdrawal=new F("withdrawal");constructor(t){this.value=t}}const Y=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},H=(t,e)=>Object.values(t).find((t=>t.value===e));class W{constructor({createdAfter:t,createdBefore:e,limit:s,pageSize:r,relatedTransaction:i,userId:a,count:n=!1}){this.createdAfter=t,this.createdBefore=e,this._lmt=s,this.relatedTransaction=i,this.userId=a,this.count=n,this.pageSize=r}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 z extends W{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class X extends W{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class G extends W{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class Q extends G{constructor({trackingKey:t,network:e,...s}){super(s),this.trackingKey=t,this.network=e}toObject(){return Object.assign(super.toObject(),{tracking_key:this.trackingKey,network:this.network})}}class J extends G{constructor({accountNumber:t,idempotencyKey:e,trackingKey:s,network:r,...i}){super(i),this.accountNumber=t,this.idempotencyKey=e,this.trackingKey=s,this.network=r}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber,idempotency_key:this.idempotencyKey,tracking_key:this.trackingKey,network:this.network})}}class Z extends W{constructor({fundingInstrumentUri:t,count:e=!1,walletId:s="default",...r}){super(r),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 tt extends W{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class et extends W{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class st extends W{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 rt extends W{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class it extends W{constructor({emailAddress:t,hasCurpDocument:e,phoneNumber:s,status:r,...i}){super(i),this.emailAddress=t,this.hasCurpDocument=e,this.phoneNumber=s,this.status=r}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress,has_curp_document:this.hasCurpDocument,phone_number:this.phoneNumber,status:this.status})}}class at extends W{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class nt extends W{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=Y(Date.now());s.setUTCDate(1);if(Y(`${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 ct extends W{constructor({emailAddress:t,...e}){super(e),this.emailAddress=t}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress})}}class ot extends W{constructor({accountId:t,...e}){super(e),this.accountId=t}toObject(){return Object.assign(super.toObject(),{account:this.accountId})}}class dt extends W{constructor({accountId:t,...e}){super(e),this.accountId=t}toObject(){return Object.assign(super.toObject(),{account_id:this.accountId})}}class ut extends ot{constructor({status:t,type:e,...s}){super(s),this.status=t,this.type=e}toObject(){return Object.assign(super.toObject(),{status:this.status,type:this.type})}}class ht{constructor({ip:t,location:e,type:s,version:r}){this.ip=t,this.location=e,this.type=s,this.version=r}static fromObject=({ip:t,location:e,type:s,version:r})=>new ht({ip:t,location:e,type:s,version:r})}class lt{constructor({code:t,error:e,identifier:s,message:r}){this.code=t,this.error=e,this.identifier=s,this.message=r}static fromObject=({code:t,error:e,identifier:s,message:r})=>new lt({code:t,error:e,identifier:s,message:r})}class pt{constructor({data:t,errors:e,isMx:s,status:r,type:i,uriBack:a,uriFront:n}){this.data=t,this.isMx=s,this.status=H(V,r),this.type=H(N,i),this.uriBack=a,this.uriFront=n,e&&e.length>0&&(this.errors=e.map((t=>lt.fromObject(t))))}static fromObject=({data:t,errors:e,status:s,type:r,...i})=>new pt({data:t,errors:e,status:s,type:r,isMx:i.is_mx,uriBack:i.uri_back,uriFront:i.uri_front})}class mt{constructor({city:t,colonia:e,country:s,createdAt:r,extNumber:i,fullName:a,intNumber:n,postalCode:c,state:o,street:d}){this.city=t,this.colonia=e,this.country=s,this.createdAt=Y(r),this.extNumber=i,this.fullName=a,this.intNumber=n,this.postalCode=c,this.state=o,this.street=d}static fromObject=({city:t,colonia:e,country:s,state:r,street:i,...a})=>new mt({city:t,colonia:e,country:s,state:r,street:i,createdAt:a.created_at,extNumber:a.ext_number,fullName:a.full_name,intNumber:a.int_number,postalCode:a.postal_code})}var ft="0.0.13";class wt{constructor({apiKey:t,apiSecret:e,language:s="en",phase:r=B.Sandbox}={}){this.phase=r,this.basicAuth={apiKey:t,apiSecret:e},this.jwtToken=null,this._session=i.default.create({headers:{"Accept-Language":s},timeout:45e3})}get session(){return this._session}get origin(){return`https://${this.phase.value}.arteria.xyz`}get authHeader(){const{apiKey:t,apiSecret:e}=this.basicAuth;return t&&e?`Basic ${a.default.Buffer.from(`${t}:${e}`,"utf-8").toString("base64")}`:""}addHeadersToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common:r}}=s;return Object.keys(t).forEach((e=>r[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:r}}=s;return delete r[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:r,sessionId:i,useJwt:a=!1}){this.basicAuth={apiKey:t||this.basicAuth.apiKey,apiSecret:e||this.basicAuth.apiSecret},r&&(this.phase=r),a&&(this.jwtToken=await _.create(this)),s&&this.addHeadersToRequest({"X-Cuenca-LoginToken":s}),i&&this.addHeadersToRequest({"X-Cuenca-SessionId":i})}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=S.Json,method:r="GET",multipart:i=!1,params:a=null}){let o={};i||(o={"Content-Type":"application/json",Accept:`application/${s.value}`}),this.authHeader&&(o.Authorization=this.authHeader),w?o["User-Agent"]=`cuenca-js/${ft}`:f&&(o["X-User-Agent"]=`cuenca-js/${ft}`),this.jwtToken&&(this.jwtToken.isExpired&&(this.jwtToken=await _.create(this)),o["X-Cuenca-Token"]=this.jwtToken.token);const d=this.addHeadersToRequest(o),u=e;u&&!i&&Object.keys(u).forEach((t=>{u[t]instanceof Date&&(u[t]=u[t].toISOString())}));const h=this.addConfigToRequest({method:r,params:a,data:u,url:t});let l;try{l=await this._session.request({baseURL:this.origin})}catch(t){throw t.response?new c(t.response.data,t.response.status):t.request?new n(`No response received: ${t.errno}: ${t.code}`):new n(t.message)}finally{d.eject(),h.eject()}return l.data}}class _t{constructor({accountNumber:t,createdAt:e,id:s,institutionName:r,name:i,userId:a}){this.accountNumber=t,this.createdAt=Y(e),this.id=s,this.institutionName=r,this.name=i,this.userId=a}static fromObject=({id:t,name:e,...s})=>new _t({id:t,name:e,accountNumber:s.account_number,createdAt:s.created_at,institutionName:s.institution_name,userId:s.user_id})}class bt{constructor({createdAt:t,deactivatedAt:e,id:s,secret:r,userId:i,updatedAt:a}){this.createdAt=Y(t),this.deactivatedAt=Y(e),this.id=s,this.secret=r,this.userId=i,this.updatedAt=Y(a)}static fromObject=({id:t,secret:e,...s})=>new bt({id:t,secret:e,createdAt:s.created_at,deactivatedAt:s.deactivated_at,userId:s.user_id,updatedAt:s.updated_at});get isActive(){const t=Y(Date.now());return!this.deactivatedAt||this.deactivatedAt.getTime()>t.getTime()}}class yt{constructor({arpc:t,createdAt:e,cardUri:s,isValidArqc:r}){this.arpc=t,this.createdAt=Y(e),this.cardUri=s,this.isValidArqc=r}static fromObject=({arpc:t,...e})=>new yt({arpc:t,createdAt:e.created_at,cardUri:e.card_uri,isValidArqc:e.is_valid_arqc})}class vt{constructor({amount:t,createdAt:e,descriptor:s,entryType:r,fundingInstrumentUri:i,id:a,name:n,relatedTransactionUri:c,rollingBalance:o}){this.amount=t,this.createdAt=Y(e),this.descriptor=s,this.entryType=H(T,r),this.fundingInstrumentUri=i,this.id=a,this.name=n,this.relatedTransactionUri=c,this.rollingBalance=o}static fromObject=({amount:t,descriptor:e,id:s,name:r,type:i,...a})=>new vt({amount:t,descriptor:e,name:r,id:s,createdAt:a.created_at,entryType:i,fundingInstrumentUri:a.funding_instrument_uri,relatedTransactionUri:a.related_transaction_uri,rollingBalance:a.rolling_balance})}class gt{constructor({amount:t,createdAt:e,descriptor:s,status:r,userId:i}){this.amount=t,this.createdAt=Y(e),this.descriptor=s,this.status=H(K,r),this.userId=i}}class Ot extends gt{constructor({amount:t,accountNumber:e,createdAt:s,descriptor:r,id:i,providerUri:a,status:n,userId:c}){super({amount:t,createdAt:s,descriptor:r,status:n,userId:c}),this.accountNumber=e,this.id=i,this.providerUri=a}static fromObject=({amount:t,descriptor:e,id:s,status:r,...i})=>new Ot({amount:t,descriptor:e,id:s,status:r,accountNumber:i.account_number,createdAt:i.created_at,providerUri:i.provider_uri,userId:i.user_id})}class At{constructor({id:t,createdAt:e,updatedAt:s,names:r,firstSurname:i,secondSurname:a,dateOfBirth:n,countryOfBirth:c,rfc:o,curp:d,userId:u,gender:h,phoneNumber:l,emailAddress:p,clientClabe:m,govtId:f,proofOfAddress:w,status:_,termsOfService:y,address:v}){this.id=t,this.createdAt=Y(e),this.updatedAt=Y(s),this.emailAddress=p,this.clientClabe=m,this.setGovtId=f,this.names=r,this.firstSurname=i,this.secondSurname=a,this.dateOfBirth=n,this.countryOfBirth=c,this.rfc=o,this.curp=d,this.userId=u,this.gender=h,this.phoneNumber=l,this.setProofOfAddress=w,this.status=H(b,_),this.setTerms=y,this.setAddress=v}static fromObject=({status:t,address:e,...s})=>new At({address:e,status:t,id:s.id,createdAt:s.created_at,updatedAt:s.updated_at,clientClabe:s.client_clabe,names:s.names,firstSurname:s.first_surname,secondSurname:s.second_surname,dateOfBirth:s.date_of_birth,countryOfBirth:s.country_of_birth,rfc:s.rfc,curp:s.curp,userId:s.user_id,gender:s.gender,govtId:s.govt_id,emailAddress:s.email_address,phoneNumber:s.phone_number,proofOfAddress:s.proof_of_address,termsOfService:s.terms_of_service});get address(){return this._address}set setAddress(t){t&&0!==Object.keys(t).length&&(this._address=mt.fromObject(t))}get proofOfAddress(){return this._proofOfAddress}set setProofOfAddress(t){t&&0!==Object.keys(t).length&&(this._proofOfAddress=pt.fromObject(t))}get govtId(){return this._govtId}set setGovtId(t){t&&0!==Object.keys(t).length&&(this._govtId=pt.fromObject(t))}get termsOfService(){return this._termsOfService}set setTerms(t){t&&0!==Object.keys(t).length&&(this._termsOfService=ht.fromObject(t))}}class jt{constructor({clabe:t,createdAt:e,curp:s,error:r,firstName:i,id:a,names:n,rfc:c,secondSurname:o,status:d}){this.clabe=t,this.createdAt=Y(e),this.curp=s,this.error=r,this.firstName=i,this.id=a,this.names=n,this.rfc=c,this.secondSurname=o,this.status=H(y,d)}static fromObject=({clabe:t,curp:e,error:s,id:r,names:i,rfc:a,status:n,...c})=>new jt({clabe:t,curp:e,error:s,id:r,names:i,rfc:a,status:n,createdAt:c.created_at,firstName:c.first_name,secondSurname:c.second_surname})}class xt{constructor({account:t,clabe:e,currency:s,id:r,network:i,platformId:a}){this.account=t,this.clabe=e,this.currency=H(I,s),this.id=r,this.network=H(E,i),this.platformId=a}static fromObject=({clabe:t,currency:e,id:s,network:r,...i})=>new xt({clabe:t,currency:e,id:s,network:r,account:i.account_uri.split("/")[2],platformId:i.platform_id})}class It{constructor({id:t,createdAt:e,platformId:s,type:r,status:i,accountUri:a,quoteUri:n,currency:c,network:o,sourceWallet:d,destinationWallet:u,bankAccountUri:h,cuencaId:l,cuentaOrdenante:p,cuentaBeneficiario:m,nombreOrdenante:f,claveRastreo:w,rfcCurpOrdenante:_,concepto:b,referenciaNumerica:y,signature:v,trackingLink:g,fromCurrency:O,toCurrency:j,fromAmount:x,toAmount:k}){this.id=t,this.createdAt=Y(e),this.platformId=s,this.type=H(A,r),this.status=H(K,i),this.accountUri=a,this.quoteUri=n,this.currency=H(I,c),this.network=H(E,o),this.sourceWallet=d,this.destinationWallet=u,this.bankAccountUri=h,this.cuencaId=l,this.cuentaOrdenante=p,this.cuentaBeneficiario=m,this.nombreOrdenante=f,this.claveRastreo=w,this.rfcCurpOrdenante=_,this.concepto=b,this.referenciaNumerica=y,this.signature=v,this.trackingLink=g,this.fromCurrency=H(I,O),this.toCurrency=H(I,j),this.fromAmount=x,this.toAmount=k}static fromObject=({type:t,status:e,currency:s,network:r,concepto:i,signature:a,...n})=>new It({id:n.id,createdAt:n.created_at,platformId:n.platform_id,accountUri:n.account_uri,quoteUri:n.quote_uri,sourceWallet:n.source_wallet,destinationWallet:n.destination_wallet,bankAccountUri:n.bank_account_uri,cuencaId:n.cuenca_id,cuentaOrdenante:n.cuenta_ordenante,cuentaBeneficiario:n.cuenta_beneficiario,nombreOrdenante:n.nombre_ordenante,claveRastreo:n.clave_rastreo,rfcCurpOrdenante:n.rfc_curp_ordenante,referenciaNumerica:n.referencia_numerica,trackingLink:n.tracking_link,fromCurrency:n.from_currency,toCurrency:n.to_currency,fromAmount:n.from_amount,toAmount:n.to_amount,type:t,status:e,currency:s,network:r,concepto:i,signature:a})}class kt{constructor({createdAt:t,cvv2:e,expMonth:s,expYear:r,fundingType:i,id:a,issuer:n,number:c,pin:o,status:d,type:u,updatedAt:h,userId:l}){this.createdAt=Y(t),this.cvv2=e,this.expMonth=s,this.expYear=r,this.fundingType=H(g,i),this.id=a,this.issuer=H(O,n),this.number=c,this.pin=o,this.status=H(j,d),this.type=H(k,u),this.updatedAt=Y(h),this.userId=l}static fromObject=({cvv2:t,id:e,issuer:s,number:r,pin:i,status:a,type:n,...c})=>new kt({cvv2:t,id:e,issuer:s,number:r,pin:i,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 Ct{constructor({cardUri:t,createdAt:e,id:s,ipAddress:r,success:i,userId:a}){this.cardUri=t,this.createdAt=Y(e),this.id=s,this.ipAddress=r,this.success=i,this.userId=a}static fromObject=({id:t,success:e,...s})=>new Ct({id:t,success:e,cardUri:s.card_uri,createdAt:s.created_at,ipAddress:s.ip_address,userId:s.user_id})}class Ut extends gt{constructor({amount:t,cardErrorType:e,cardLastFour:s,cardType:r,cardUri:i,createdAt:a,descriptor:n,metadata:c,network:o,relatedCardTransactionsUris:d,status:u,type:h,userId:l}){super({amount:t,createdAt:a,descriptor:n,status:u,userId:l}),this.cardErrorType=H(v,e),this.cardLastFour=s,this.cardType=H(k,r),this.cardUri=i,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=H(x,h)}static fromObject=({amount:t,descriptor:e,metadata:s,network:r,status:i,type:a,...n})=>new Ut({amount:t,descriptor:e,metadata:s,network:r,status:i,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 Tt{constructor({cardStatus:t,cardType:e,cardUri:s,createdAt:r,isExpired:i,isPinAttemptsExceeded:a,isValidCvv:n,isValidCvv2:c,isValidExpDate:o,isValidIcvv:d,isValidPinBlock:u,userId:h}){this.cardStatus=H(j,t),this.cardType=H(k,e),this.cardUri=s,this.createdAt=Y(r),this.isExpired=i,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 Tt({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 St extends gt{constructor({amount:t,createdAt:e,descriptor:s,relatedTransactionUri:r,status:i,type:a,userId:n}){super({amount:t,createdAt:e,descriptor:s,status:i,userId:n}),this.relatedTransactionUri=r,this.type=H(C,a)}static fromObject=({amount:t,descriptor:e,status:s,type:r,...i})=>new St({amount:t,descriptor:e,status:s,type:r,createdAt:i.created_at,relatedTransactionUri:i.related_transaction_uri,userId:i.user_id})}class Nt extends gt{constructor({amount:t,createdAt:e,descriptor:s,id:r,network:i,status:a,sourceUri:n,trackingKey:c,userId:o}){super({amount:t,createdAt:e,descriptor:s,status:a,userId:o}),this.id=r,this.network=H(U,i),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:r,status:i,...a})=>new Nt({amount:t,descriptor:e,id:s,network:r,status:i,createdAt:a.created_at,sourceUri:a.source_uri,trackingKey:a.tracking_key,userId:a.user_id})}class Bt{constructor({extension:t,type:e,url:s,userId:r}){this.extension=t,this.type=H(N,e),this.url=s,this.userId=r}static fromObject=({extension:t,type:e,url:s,...r})=>new Bt({extension:t,type:e,url:s,userId:r.user_id})}class qt{constructor({platformId:t,attemps:e,verificationId:s,filesUri:r}){this.attemps=e,this.filesUri=r,this.platformId=t,this.verificationId=s}static fromObject=({attemps:t,...e})=>new qt({attemps:t,filesUri:e.files_uri,platformId:e.platform_id,verificationId:e.verification_id})}class Pt{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new Pt({id:t})}class Dt{constructor({balance:t,createdAt:e,deactivatedAt:s,id:r,userId:i,updatedAt:a}){this.balance=t,this.createdAt=Y(e),this.deactivatedAt=Y(s),this.id=r,this.userId=i,this.updatedAt=Y(a)}}class $t extends Dt{constructor({balance:t,category:e,createdAt:s,deactivatedAt:r,goalAmount:i,goalDate:a,id:n,name:c,userId:o,updatedAt:d}){super({balance:t,createdAt:s,deactivatedAt:r,id:n,userId:o,updatedAt:d}),this.category=H(P,e),this.goalAmount=i,this.goalDate=Y(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:r,...i})=>new $t({balance:t,category:e,id:s,name:r,createdAt:i.created_at,deactivatedAt:i.deactivated_at,goalAmount:i.goal_amount,goalDate:i.goal_date,userId:i.user_id,updatedAt:i.updated_at})}class Et{constructor({categories:t,id:e,name:s,providerKey:r}){var i;this.categories=null==(i=t)?[]:i.map((t=>H(q,t))),this.id=e,this.name=s,this.providerKey=r}static fromObject=({categories:t,id:e,name:s,...r})=>new Et({categories:t,id:e,name:s,providerKey:r.provider_key})}class Kt{constructor({createdAt:t,expiresAt:e,failureUrl:s,id:r,platformId:i,successUrl:a,type:n,userId:c}){this.createdAt=Y(t),this.expiresAt=Y(e),this.failureUrl=s,this.id=r,this.platformId=i,this.successUrl=a,this.type=H(D,n),this.userId=c}static fromObject=({id:t,type:e,...s})=>new Kt({id:t,type:e,createdAt:s.created_at,expiresAt:s.expires_at,failureUrl:s.failure_url,platformId:s.platform_id,successUrl:s.success_url,userId:s.user_id})}class Lt{constructor({createdAt:t,id:e,month:s,year:r}){this.createdAt=Y(t),this.id=e,this.month=s,this.year=r}static fromObject=({id:t,month:e,year:s,...r})=>new Lt({id:t,month:e,year:s,createdAt:r.created_at})}class Mt extends gt{constructor({accountNumber:t,amount:e,createdAt:s,descriptor:r,destinationUri:i,id:a,idempotencyKey:n,network:c,recipientName:o,status:d,trackingKey:u,updatedAt:h,userId:l}){super({amount:e,createdAt:s,descriptor:r,status:d,userId:l}),this.accountNumber=t,this.destinationUri=i,this.id=a,this.idempotencyKey=n,this.network=H(L,c),this.recipientName=o,this.trackingKey=u,this.updatedAt=Y(h)}static fromObject=({amount:t,descriptor:e,id:s,network:r,status:i,...a})=>new Mt({amount:t,descriptor:e,id:s,network:r,status:i,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 Vt{constructor({address:t,blacklistValidationStatus:e,clabe:s,countryOfBirth:r,createdAt:i,curp:a,curpDocument:n,dateOfBirth:c,emailAddress:o,firstSurname:d,gender:u,govtId:h,id:l,level:p,names:m,nationality:f,phoneNumber:w,proofOfAddress:_,proofOfLife:b,requiredLevel:y,rfc:v,secondSurname:g,stateOfBirth:O,status:A,termsOfService:j,updatedAt:x,verificationId:I}){this.setAddress=t,this.blacklistValidationStatus=H(V,e),this.clabe=s,this.countryOfBirth=r,this.createdAt=Y(i),this.curp=a,this.setCurpDoc=n,this.dateOfBirth=c,this.emailAddress=o,this.firstSurname=d,this.gender=u,this.id=l,this.level=p,this.names=m,this.nationality=f,this.phoneNumber=w,this.setGovtId=h,this.setProofOfAddress=_,this.setProofOfLife=b,this.requiredLevel=y,this.rfc=v,this.secondSurname=g,this.stateOfBirth=O,this.status=H(M,A),this.setTerms=j,this.updatedAt=Y(x),this.verificationId=I}get address(){return this._address}set setAddress(t){t&&(this._address=mt.fromObject(t))}get proofOfAddress(){return this._proofOfAddress}set setProofOfAddress(t){t&&(this._proofOfAddress=pt.fromObject(t))}get proofOfLife(){return this._proofOfLife}set setProofOfLife(t){t&&(this._proofOfLife=pt.fromObject(t))}get govtId(){return this._govtId}set setGovtId(t){t&&(this._govtId=pt.fromObject(t))}get termsOfService(){return this._termsOfService}set setTerms(t){t&&(this._termsOfService=ht.fromObject(t))}get curpDocument(){return this._curpDocument}set setCurpDoc(t){t&&(this._curpDocument=pt.fromObject(t))}static fromObject=({address:t,clabe:e,curp:s,gender:r,id:i,level:a,names:n,nationality:c,rfc:o,status:d,...u})=>new Vt({address:t,clabe:e,curp:s,gender:r,id:i,level:a,names:n,nationality:c,rfc:o,status:d,blacklistValidationStatus:u.blacklist_validation_status,countryOfBirth:u.country_of_birth,createdAt:u.created_at,curpDocument:u.curp_document,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 Rt{constructor({createdAt:t,id:e,isActive:s,updatedAt:r}){this.createdAt=Y(t),this.id=e,this.isActive=s,this.updatedAt=Y(r)}static fromObject=({id:t,...e})=>new Rt({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class Ft{constructor({id:t,lastLoginAt:e,success:s}){this.id=t,this.lastLoginAt=Y(e),this.success=s}static fromObject=({id:t,success:e,...s})=>new Ft({id:t,success:e,lastLoginAt:s.last_login_at})}class Yt{constructor({createdAt:t,id:e,platformId:s,recipient:r,type:i,updatedAt:a}){this.createdAt=Y(t),this.id=e,this.platformId=s,this.recipient=r,this.type=H(R,i),this.updatedAt=Y(a)}static fromObject=({id:t,recipient:e,type:s,...r})=>new Yt({id:t,recipient:e,type:s,createdAt:r.created_at,platformId:r.platform_id,updatedAt:r.updated_at})}class Ht extends gt{constructor({amount:t,createdAt:e,descriptor:s,id:r,status:i,transactionType:a,userId:n,walletUri:c}){super({amount:t,createdAt:e,descriptor:s,status:i,userId:n}),this.id=r,this.transactionType=H(F,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:r,...i})=>new Ht({amount:t,descriptor:e,id:s,status:r,createdAt:i.created_at,transactionType:i.transaction_type,userId:i.user_id,walletUri:i.wallet_uri})}class Wt extends gt{constructor({amount:t,claimUrl:e,createdAt:s,descriptor:r,destinationUri:i,expiresAt:a,id:n,network:c,phoneNumber:o,recipientName:d,status:u,trackingKey:h,updatedAt:l,userId:p}){super({amount:t,createdAt:s,descriptor:r,status:u,userId:p}),this.claimUrl=e,this.destinationUri=i,this.id=n,this.expiresAt=Y(a),this.network=H(L,c),this.phoneNumber=o,this.recipientName=d,this.trackingKey=h,this.updatedAt=Y(l)}static fromObject=({amount:t,descriptor:e,id:s,network:r,status:i,...a})=>new Wt({amount:t,descriptor:e,id:s,network:r,status:i,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 zt{constructor(t){this.superclass=t}with(...t){return t.reduce(((t,e)=>e(t)),this.superclass)}}const Xt=t=>new zt(t),Gt=(t,e)=>({accounts:()=>_t.fromObject(e),api_keys:()=>bt.fromObject(e),arpc:()=>yt.fromObject(e),balance_entries:()=>vt.fromObject(e),bill_payments:()=>Ot.fromObject(e),"bridge/accounts":()=>At.fromObject(e),"bridge/bank_accounts":()=>jt.fromObject(e),"bridge/clabes":()=>xt.fromObject(e),"bridge/kyc_validations":()=>qt.fromObject(e),"bridge/sessions":()=>Kt.fromObject(e),"bridge/transactions":()=>It.fromObject(e),cards:()=>kt.fromObject(e),card_activations:()=>Ct.fromObject(e),card_transactions:()=>Ut.fromObject(e),card_validations:()=>Tt.fromObject(e),commissions:()=>St.fromObject(e),deposits:()=>Nt.fromObject(e),files:()=>Bt.fromObject(e),kyc_validations:()=>qt.fromObject(e),login_tokens:()=>Pt.fromObject(e),savings:()=>$t.fromObject(e),service_providers:()=>Et.fromObject(e),sessions:()=>Kt.fromObject(e),statements:()=>Lt.fromObject(e),transfers:()=>Mt.fromObject(e),users:()=>Vt.fromObject(e),user_credentials:()=>Rt.fromObject(e),user_logins:()=>Ft.fromObject(e),verifications:()=>Yt.fromObject(e),wallet_transactions:()=>Ht.fromObject(e),whatsapp_transfers:()=>Wt.fromObject(e)}[t]()),Qt=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class Jt{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const Zt=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return Gt(this.path,e)}},te=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return Gt(this.path,e)}},ee=t=>class extends t{async _update(t,e){const s=await this.client.patch({endpoint:`/${this.path}/${t}`,data:e});return Gt(this.path,s)}},se=t=>class extends t{async _upload(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t,multipart:!0});return Gt(this.path,e)}},re=t=>class extends t{async _deactivate(t,e){const s=await this.client.delete({endpoint:`/${this.path}/${t}`,data:e});return Gt(this.path,s)}},ie=t=>class extends t{async _download(t,e){return await this.client.get({endpoint:`/${this.path}/${t}`,format:e})}},ae=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 Gt(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 Gt(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=Gt(this.path,e);yield t}e=t.next_page_uri}}};class ne extends(Xt(Jt).with(ae,Zt)){constructor(t){super("accounts",z,t)}}class ce{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class oe extends ce{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class de extends ce{constructor(t,e,s){super(),this.userId=t,this.issuer=e,this.fundingType=s}toObject(){return{user_id:this.userId,issuer:this.issuer,funding_type:this.fundingType}}}class ue extends ce{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class he extends ce{constructor(t,e,s,r){super(),this.n=t,this.eM=e,this.eY=s,this.c2=r}get number(){return this._number}set n(t){if([!!t,16===t.length,/^\d{16}/.test(t)].some((t=>!t)))throw new l("Invalid number");this._number=t.trim()}get expMonth(){return this._expMonth}set eM(t){if([!!t,t>=1,t<=12].some((t=>!t)))throw new l("Invalid expiration month");this._expMonth=t}get expYear(){return this._expYear}set eY(t){if([!!t,t>=18,t<=99].some((t=>!t)))throw new l("Invalid expiration year");this._expYear=t}get cvv2(){return this._cvv2}set c2(t){if([!!t,3===t.length,/^\d{3}/.test(t)].some((t=>!t)))throw new l("Invalid cvv2");this._cvv2=t}toObject(){return{number:this.number,exp_month:this.expMonth,exp_year:this.expYear,cvv2:this.cvv2}}}class le extends ce{constructor({cvv:t,cvv2:e,expMonth:s,expYear:r,icvv:i,number:a,pinBlock:n,pinAttemptsExceeded:c}){super(),this.c=t,this.c2=e,this.em=s,this.ey=r,this.ic=i,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 pe extends ce{constructor({userId:t,force:e,isBridge:s=!1}){super(),this.force=e,this.userId=t,this.isBridge=s}toObject(){return{force:this.force,[this.isBridge?"account_id":"user_id"]:this.userId}}}class me extends ce{constructor(t,e,s,r){super(),this.category=t,this.name=r,this.goalAmount=e,this.validDate=s}get goalDate(){return this._goalDate}set validDate(t){if(t){if(Y(t).getTime()<=Y(Date.now()).getTime())throw new l("The goal_date always need to be higher than now");this._goalDate=t}}toObject(){return{category:this.category,goal_amount:this.goalAmount,goal_date:this.goalDate,name:this.name}}}class fe extends ce{constructor({failureUrl:t,successUrl:e,type:s,userId:r,isBridge:i=!1}){super(),this.failureUrl=t,this.successUrl=e,this.type=s,this.userId=r,this.isBridge=i}toObject(){return{failure_url:this.failureUrl,success_url:this.successUrl,type:this.type,[this.isBridge?"account_id":"user_id"]:this.userId}}}class we extends ce{constructor(t,e,s,r,i){super(),this.accountNumber=t,this.amount=e,this.descriptor=s,this.idempotencyKey=r,this.recipientName=i}toObject(){return{account_number:this.accountNumber,amount:this.amount,descriptor:this.descriptor,idempotency_key:this.idempotencyKey,recipient_name:this.recipientName}}}class _e extends ce{constructor(t){super(),this.pwd=t}get password(){return this._password}set pwd(t){if([!!t,t.length>=6].some((t=>!t)))throw new l("Invalid password");this._password=t}toObject(){return{password:this.password}}}class be extends ce{constructor(t,e){super(),this.pwd=t,this.isActive=e,this.req={password:this.password,isActive:this.isActive}}get password(){return this._password}get request(){return this._request}set pwd(t){if(!t)return void(this._password=t);if([t.length>=6].some((t=>!t)))throw new l("Invalid password");this._password=t}set req(t){if(t.password&&null!=t.isActive)throw new l("Only one property can be updated at a time");this._request=t}toObject(){return{password:this.request.password,is_active:this.request.isActive}}}class ye extends ce{constructor(t,e="me"){super(),this.pwd=t,this.userId=e}get password(){return this._password}set pwd(t){if([!!t,6===t.length,/^\d{6}$/.test(t)].some((t=>!t)))throw new l("Invalid password");this._password=t}toObject(){return{password:this.password,user_id:this.userId}}}class ve extends ce{constructor({ip:t,location:e,type:s,version:r}){super(),this.ipAddress=t,this.location=e,this.type=s,this.version=r}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 ge extends ce{constructor({city:t,colonia:e,country:s,extNumber:r,fullName:i,intNumber:a,postalCode:n,state:c,street:o}={}){super(),this.city=t,this.colonia=e,this.country=s,this.extNumber=r,this.fullName=i,this.intNumber=a,this.postalCode=n,this.state=c,this.street=o}toObject(){return{city:this.city,colonia:this.colonia,country:this.country,ext_number:this.extNumber,full_name:this.fullName,int_number:this.intNumber,postal_code:this.postalCode,state:this.state,street:this.street}}}class Oe extends ce{constructor({data:t,isMx:e,status:s,type:r,uriBack:i,uriFront:a}){super(),this.data=t,this.isMx=e,this.status=s,this.type=r,this.uriBack=i,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 Ae extends ce{constructor({address:t,curpDocumentUri:e,govtId:s,profession:r,proofOfAddress:i,proofOfLife:a,requiredLevel:n,termsOfService:c,verificationId:o}){super(),this.adrs=t,this.curpDocumentUri=e,this.govstIds=s,this.profession=r,this.addressProofs=i,this.lifeProofs=a,this.requiredLevel=n,this.terms=c,this.verificationId=o}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=new ve(t).toObject())}get address(){return this._address}set adrs(t){t&&(this._address=new ge(t).toCleanObject())}get proofOfLife(){return this._proofOfLife}set lifeProofs(t){t&&(this._proofOfLife=new Oe(t).toCleanObject())}get proofOfAddress(){return this._proofOfAddress}set addressProofs(t){t&&(this._proofOfAddress=new Oe(t).toCleanObject())}get govtId(){return this._govtId}set govstIds(t){t&&(this._govtId=new Oe(t).toCleanObject())}toObject(){return{address:this.address,curp_document_uri:this.curpDocumentUri,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 je extends ce{constructor({platformId:t,recipient:e,type:s}){super(),this.platformId=t,this.type=s,this.recipients=e}get recipient(){return this._recipient}set recipients(t){switch(H(R,this.type)){case R.Email:if(!t.match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/))throw new l("Invalid email address");this._recipient=t;break;case R.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 xe extends ce{constructor({code:t}){super(),this.code=t}toObject(){return{code:this.code}}}class Ie extends ce{constructor(t,e,s){super(),this.amount=t,this.transactionType=e,this.walletUri=s}toObject(){return{amount:this.amount,transaction_type:this.transactionType,wallet_uri:this.walletUri}}}class ke extends(Xt(Jt).with(te,re,ae,Zt,ee)){constructor(t){super("api_keys",X,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 r=new oe(s,e);return await this._update(t,r.toCleanObject())}}class Ce extends(Xt(Jt).with(te)){constructor(t){super("arpc",Object,t)}async create({number:t,arqc:e,arpcMethod:s,transactionData:r,responseCode:i,transactionCounter:a,panSequence:n,uniqueNumber:c,trackDataMethod:o}){const d=new ArpcRequest({number:t,arqc:e,arpcMethod:s,transactionData:r,responseCode:i,transactionCounter:a,panSequence:n,uniqueNumber:c,trackDataMethod:o});return await this._create(d.toObject())}}class Ue extends(Xt(Jt).with(ae,Zt)){constructor(t){super("balance_entries",Z,t)}async relatedTransaction(t){const e=Qt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Gt(`${e}`,s)}async fundingInstrument(t){const e=Qt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Gt(`${e}`,s)}}class Te extends(Xt(Jt).with(ae,Zt)){constructor(t){super("bill_payments",tt,t)}async serviceProvider(t){const e=Qt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Gt(`${e}`,s)}}class Se extends(Xt(Jt).with(ae,ee,Zt)){constructor(t){super("bridge/accounts",ct,t)}async update({userId:t="me",...e}){const s=new Ae(e);return await this._update(t,s.toCleanObject())}}class Ne extends(Xt(Jt).with(ae,Zt)){constructor(t){super("bridge/bank_accounts",dt,t)}}class Be extends(Xt(Jt).with(ae)){constructor(t){super("bridge/clabes",ot,t)}}class qe extends(Xt(Jt).with(ae,Zt)){constructor(t){super("bridge/transactions",ut,t)}}class Pe extends(Xt(Jt).with(te)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:r}){const i=new he(t,e,s,r);return await this._create(i.toCleanObject())}async card(t){if(!t)return null;const e=await this.client.get({endpoint:t});return kt.fromObject(e)}}class De extends(Xt(Jt).with(te,re,ae,Zt,ee)){constructor(t){super("cards",st,t)}async create(t,e,s){const r=new de(t,e,s);return await this._create(r.toCleanObject())}async deactivate(t){return await this._deactivate(t)}async update(t,e,s){const r=new ue(e,s);return await this._update(t,r.toCleanObject())}}class $e extends(Xt(Jt).with(ae,Zt)){constructor(t){super("card_transactions",et,t)}async relatedCard(t){const e=Qt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Gt(`${e}`,s)}}class Ee extends(Xt(Jt).with(te)){constructor(t){super("card_validations",Object,t)}async create({cvv:t,cvv2:e,expMonth:s,expYear:r,icvv:i,number:a,pinBlock:n,pinAttemptsExceeded:c}){const o=new le({cvv:t,cvv2:e,expMonth:s,expYear:r,icvv:i,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 kt.fromObject(e)}}class Ke extends(Xt(Jt).with(ae,Zt)){constructor(t){super("commissions",W,t)}async relatedTransaction(t){const e=Qt(t);if(null==e)return null;const s=await this.client.get(t);return Gt(`${e}`,s)}}class Le extends(Xt(Jt).with(ae,Zt)){constructor(t){super("deposits",Q,t)}async source(t){const e=await this.client.get({endpoint:t});return _t.fromObject(e)}}class Me extends(Xt(Jt).with(ie,se)){constructor(t){super("files",Object,t)}async download(t){return await this._download(t,S.Any)}async upload(t){return await this._upload(t)}}class Ve extends(Xt(Jt).with(te,Zt,ae)){constructor(t,e=!1){super(e?"bridge/kyc_validations":"kyc_validations",Object,t),this.isBridge=e}async create(t="me",e=!1){const s=new pe({force:e,userId:t,isBridge:this.isBridge});return await this._create(s.toCleanObject())}}class Re extends(Xt(Jt).with(te)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class Fe extends(Xt(Jt).with(te,re,ae,Zt,ee)){constructor(t){super("savings",at,t)}async create(t,e,s,r){const i=new me(t,e,s,r);return await this._create(i.toObject())}async deactivate(t){return await this._deactivate(t)}async update(t,e,s,r,i){const a=new me(e,s,r,i);return await this._update(t,a.toObject())}}class Ye extends(Xt(Jt).with(ae,Zt)){constructor(t){super("service_providers",W,t)}}class He extends(Xt(Jt).with(te,Zt,ae)){constructor(t,e=!1){super(e?"bridge/sessions":"sessions",Object,t),this.isBridge=e}async create(t,e,s,r){const i=new fe({failureUrl:r,successUrl:s,type:e,userId:t,isBridge:this.isBridge});return await this._create(i.toCleanObject())}}class We extends(Xt(Jt).with(ie,ae)){constructor(t){super("statements",nt,t)}async pdf(t){return await this._download(t,S.Pdf)}async xml(t){return await this._download(t,S.Xml)}}class ze extends(Xt(Jt).with(te,ae,Zt)){constructor(t){super("transfers",J,t)}async destination(t){const e=await this.client.get({endpoint:t});return _t.fromObject(e)}async create({accountNumber:t,amount:e,descriptor:s,recipientName:r,idempotencyKey:i}){const a=i||this.constructor._genIdempotencyKey(t,e),n=new we(t,e,s,a,r);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:r,idempotencyKey:i,recipientName:a})=>{const n=new we(t,s,r,i||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]=Y(Date.now()).toISOString().split("T");return`${s}:${t}:${e}`}}class Xe extends(Xt(Jt).with(te,ee)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new _e(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const r=new be(e,t);return await this._update(s,r.toCleanObject())}}class Ge extends(Xt(Jt).with(te,re)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new ye(t,e),r=await this._create(s.toObject());if(!r.success)throw new h;return this.loginIdInHeaders=this.client.addHeadersToRequest({"X-Cuenca-LoginId":r.id}),r}async logOut(t="me"){return await this._deactivate(t,{}),this.loginIdInHeaders&&this.loginIdInHeaders.eject(),!0}}class Qe extends(Xt(Jt).with(ae,ee,Zt)){constructor(t){super("users",it,t)}async update({userId:t="me",...e}){const s=new Ae(e);return await this._update(t,s.toCleanObject())}}class Je extends(Xt(Jt).with(te,ee)){constructor(t){super("verifications",Object,t)}async create({platformId:t,recipient:e,type:s}){const r=new je({platformId:t,recipient:e,type:s});return await this._create(r.toObject())}async update({code:t,id:e}){const s=new xe({code:t});return await this._update(e,s.toObject())}}class Ze extends(Xt(Jt).with(te,ae,Zt)){constructor(t){super("wallet_transactions",rt,t)}async create(t,e,s){const r=new Ie(t,e,s);return await this._create(r.toObject())}async realtedWallet(t){const e=Qt(t);if(null==e)return null;const s=await this.client.get(t);return Gt(`${e}`,s)}}class ts extends(Xt(Jt).with(ae,Zt)){constructor(t){super("whatsapp_transfers",W,t)}async accountDestination(t){const e=Qt(t);if(null==e)return null;const s=await this.client.get(t);return Gt(`${e}`,s)}}t.Cuenca=class{constructor({apiKey:t,apiSecret:e,language:s="en",phase:r=B.Sandbox}={}){this.client=new wt({apiKey:t,apiSecret:e,language:s,phase:r}),this.withClient(this.client)}withClient(t){this.accounts=new ne(t),this.apiKeys=new ke(t),this.balanceEntries=new Ue(t),this.billPayments=new Te(t),this.bridgeAccounts=new Se(t),this.bridgeBankAccounts=new Ne(t),this.bridgeClabes=new Be(t),this.bridgeKycValidations=new Ve(t,!0),this.bridgeSessions=new He(t,!0),this.bridgeTransactions=new qe(t),this.cardActivations=new Pe(t),this.cards=new De(t),this.cardTransactions=new $e(t),this.cardValidations=new Ee(t),this.commissions=new Ke(t),this.deposits=new Le(t),this.files=new Me(t),this.kycValidations=new Ve(t),this.loginTokens=new Re(t),this.savings=new Fe(t),this.serviceProviders=new Ye(t),this.sessions=new He(t),this.statements=new We(t),this.transfers=new ze(t),this.userCredentials=new Xe(t),this.userLogins=new Ge(t),this.users=new Qe(t),this.verifications=new Je(t),this.walletTransactions=new Ze(t),this.whatsAppTransfers=new ts(t)}}}));
|