@cuenca-mx/cuenca-js 0.0.11-dev.0 → 0.0.11-dev.1

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 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.11-dev.0";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};
29
+ const name="@cuenca-mx/cuenca-js";const version="0.0.11-dev.1";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({
@@ -488,13 +488,13 @@ class BridgeClabe {
488
488
  this.platformId = platformId;
489
489
  }
490
490
 
491
- static fromObject = ({ account, clabe, currency, id, network, ...obj }) =>
491
+ static fromObject = ({ clabe, currency, id, network, ...obj }) =>
492
492
  new BridgeClabe({
493
- account,
494
493
  clabe,
495
494
  currency,
496
495
  id,
497
496
  network,
497
+ account: obj.account_uri.split('/')[2],
498
498
  platformId: obj.platform_id,
499
499
  });
500
500
  }
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.11-dev.0";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};
20
+ const name="@cuenca-mx/cuenca-js";const version="0.0.11-dev.1";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({
@@ -479,13 +479,13 @@ class BridgeClabe {
479
479
  this.platformId = platformId;
480
480
  }
481
481
 
482
- static fromObject = ({ account, clabe, currency, id, network, ...obj }) =>
482
+ static fromObject = ({ clabe, currency, id, network, ...obj }) =>
483
483
  new BridgeClabe({
484
- account,
485
484
  clabe,
486
485
  currency,
487
486
  id,
488
487
  network,
488
+ account: obj.account_uri.split('/')[2],
489
489
  platformId: obj.platform_id,
490
490
  });
491
491
  }
@@ -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 Blocked=new y("blocked");static Comunication=new y("comunication");static ContactlesAmountLimit=new y("contactles_amount_limit");static FraudDetection=new y("fraud_detection");static FraudDetectionUncertain=new y("fraud_detection_uncertain");static InsufficientFounds=new y("insufficient_founds");static InvalidPin=new y("invalid_pin");static Notification=new y("notification");static NotificationDeactivatedCard=new y("notification_deactivated_card");constructor(t){this.value=t}}class v{static Credit=new v("credit");static Debit=new v("debit");constructor(t){this.value=t}}class g{static Accendo=new g("accendo");static Cuenca=new g("cuenca");constructor(t){this.value=t}}class O{static Buy=new O("buy");static Sell=new O("sell");constructor(t){this.value=t}}class A{static Active=new A("active");static Blocked=new A("blocked");static Created=new A("created");static Deactivated=new A("deactivated");static Printing=new A("printing");constructor(t){this.value=t}}class j{static Auth=new j("auth");static Capture=new j("capture");static Chargeback=new j("chargeback");static Expiration=new j("expiration");static Refund=new j("refund");static Void=new j("void");constructor(t){this.value=t}}class x{static Mxn=new x("mxn");static Usdc=new x("usdc");static Sol=new x("sol");constructor(t){this.value=t}}class I{static Physical=new I("physical");static Virtual=new I("virtual");constructor(t){this.value=t}}class k{static CardRequest=new k("card_request");static CashDeposit=new k("cash_deposit");static OutgoingSpei=new k("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 C{static Credit=new C("credit");static Debit=new C("debit");constructor(t){this.value=t}}class T{static Pdf=new T("application/pdf");static Xml=new T("application/xml");static Json=new T("application/json");static Any=new T("*/*");constructor(t){this.value=t}}class S{static Curp=new S("curp");static Ine=new S("ine");static Passport=new S("passport");static Residency=new S("residency");static MatriculaConsular=new S("matricula_consular");static ProofOfLiveness=new S("proof_of_liveness");static ProofOfAddress=new S("proof_of_address");constructor(t){this.value=t}}class N{static Sandbox=new N("sandbox-api");static Stage=new N("stage-api");static Api=new N("api");constructor(t){this.value=t}}class B{static Cable=new B("cable");static CreditCard=new B("credit_card");static Electricity=new B("electricity");static Gas=new B("gas");static Internet=new B("internet");static LandlineTelephone=new B("landline_telephone");static MobileTelephonePostpaid=new B("mobile_telephone_postpaid");static MobileTelephonePrepaid=new B("mobile_telephone_prepaid");static SateliteTelevision=new B("satelite_television");static Water=new B("water");constructor(t){this.value=t}}class q{static General=new q("general");static Home=new q("home");static Vehicle=new q("vehicle");static Travel=new q("travel");static Clothing=new q("clothing");static Other=new q("other");static Medical=new q("medical");static Accident=new q("accident");static Education=new q("education");constructor(t){this.value=t}}class P{static AccountEntries=new P("session.account_entries");static DownloadFile=new P("session.download_file");static Registration=new P("session.registration");static ShowCard=new P("session.show_card");static UploadFile=new P("session.upload_file");constructor(t){this.value=t}}class D{static NotSet=new D("not_set");static Terminal=new D("terminal");static Manual=new D("manual");static Unknown=new D("unknown");static Contactless=new D("contactless");static FallBack=new D("fall_back");static MagneticStripe=new D("magnetic_stripe");static RecurringCharge=new D("recurring_charge");constructor(t){this.value=t}}class ${static Polygon=new $("polygon");static Solana=new $("solana");constructor(t){this.value=t}}class E{static Created=new E("created");static Failed=new E("failed");static InReview=new E("in_review");static Submitted=new E("submitted");static Succeeded=new E("succeeded");constructor(t){this.value=t}}class K{static Internal=new K("internal");static Spei=new K("spei");constructor(t){this.value=t}}class L{static Active=new L("active");static Deactivated=new L("deactivated");static Fraud=new L("fraud");static PldBlocked=new L("pld_blocked");constructor(t){this.value=t}}class M{static Created=new M("created");static NotVerified=new M("not_verified");static Rejected=new M("rejected");static ReviewNeeded=new M("review_needed");static Submitted=new M("submitted");static Succeeded=new M("succeeded");static UploadAgain=new M("upload_again");constructor(t){this.value=t}}class V{static Phone=new V("phone");static Email=new V("email");constructor(t){this.value=t}}class R{static Deposit=new R("deposit");static Withdrawal=new R("withdrawal");constructor(t){this.value=t}}const F=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},Y=(t,e)=>Object.values(t).find((t=>t.value===e));class H{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 W extends H{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class z extends H{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class X extends H{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class G extends X{constructor({trackingKey:t,network:e,...s}){super(s),this.trackingKey=t,this.network=e}toObject(){return Object.assign(super.toObject(),{tracking_key:this.trackingKey,network:this.network})}}class Q extends X{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 J extends H{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 Z extends H{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class tt extends H{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class et extends H{constructor({cardUri:t,count:e=!1,...s}){super(s),this.cardUri=t,this.count=e}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri,count:this.count})}}class st extends H{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class rt extends H{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 it extends H{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class at extends H{constructor({month:t,year:e,...s}){super(s),this.d={month:t,year:e}}get month(){return this._date.month}get year(){return this._date.year}set d({month:t,year:e}){const s=F(Date.now());s.setUTCDate(1);if(F(`${e}-${t}-01`).getTime()>=s.getTime())throw new 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 nt extends H{constructor({emailAddress:t,...e}){super(e),this.emailAddress=t}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress})}}class ct extends H{constructor({accountId:t,...e}){super(e),this.accountId=t}toObject(){return Object.assign(super.toObject(),{account:this.accountId})}}class ot extends ct{constructor({status:t,type:e,...s}){super(s),this.status=t,this.type=e}toObject(){return Object.assign(super.toObject(),{status:this.status,type:this.type})}}class dt{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 dt({ip:t,location:e,type:s,version:r})}class ut{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 ut({code:t,error:e,identifier:s,message:r})}class ht{constructor({data:t,errors:e,isMx:s,status:r,type:i,uriBack:a,uriFront:n}){this.data=t,this.isMx=s,this.status=Y(M,r),this.type=Y(S,i),this.uriBack=a,this.uriFront=n,e&&e.length>0&&(this.errors=e.map((t=>ut.fromObject(t))))}static fromObject=({data:t,errors:e,status:s,type:r,...i})=>new ht({data:t,errors:e,status:s,type:r,isMx:i.is_mx,uriBack:i.uri_back,uriFront:i.uri_front})}class lt{constructor({city:t,country:e,createdAt:s,extNumber:r,fullName:i,intNumber:a,postalCode:n,state:c,street:o}){this.city=t,this.country=e,this.createdAt=F(s),this.extNumber=r,this.fullName=i,this.intNumber=a,this.postalCode=n,this.state=c,this.street=o}static fromObject=({city:t,country:e,state:s,street:r,...i})=>new lt({city:t,country:e,state:s,street:r,createdAt:i.created_at,extNumber:i.ext_number,fullName:i.full_name,intNumber:i.int_number,postalCode:i.postal_code})}var pt="0.0.11-dev.0";class mt{constructor({apiKey:t,apiSecret:e,language:s="en",phase:r=N.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=T.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/${pt}`:f&&(o["X-User-Agent"]=`cuenca-js/${pt}`),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 ft{constructor({accountNumber:t,createdAt:e,id:s,institutionName:r,name:i,userId:a}){this.accountNumber=t,this.createdAt=F(e),this.id=s,this.institutionName=r,this.name=i,this.userId=a}static fromObject=({id:t,name:e,...s})=>new ft({id:t,name:e,accountNumber:s.account_number,createdAt:s.created_at,institutionName:s.institution_name,userId:s.user_id})}class wt{constructor({createdAt:t,deactivatedAt:e,id:s,secret:r,userId:i,updatedAt:a}){this.createdAt=F(t),this.deactivatedAt=F(e),this.id=s,this.secret=r,this.userId=i,this.updatedAt=F(a)}static fromObject=({id:t,secret:e,...s})=>new wt({id:t,secret:e,createdAt:s.created_at,deactivatedAt:s.deactivated_at,userId:s.user_id,updatedAt:s.updated_at});get isActive(){const t=F(Date.now());return!this.deactivatedAt||this.deactivatedAt.getTime()>t.getTime()}}class _t{constructor({arpc:t,createdAt:e,cardUri:s,isValidArqc:r}){this.arpc=t,this.createdAt=F(e),this.cardUri=s,this.isValidArqc=r}static fromObject=({arpc:t,...e})=>new _t({arpc:t,createdAt:e.created_at,cardUri:e.card_uri,isValidArqc:e.is_valid_arqc})}class bt{constructor({amount:t,createdAt:e,descriptor:s,entryType:r,fundingInstrumentUri:i,id:a,name:n,relatedTransactionUri:c,rollingBalance:o}){this.amount=t,this.createdAt=F(e),this.descriptor=s,this.entryType=Y(C,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 bt({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 yt{constructor({amount:t,createdAt:e,descriptor:s,status:r,userId:i}){this.amount=t,this.createdAt=F(e),this.descriptor=s,this.status=Y(E,r),this.userId=i}}class vt extends yt{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 vt({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 gt{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=F(e),this.updatedAt=F(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=Y(b,_),this.setTerms=y,this.setAddress=v}static fromObject=({status:t,address:e,...s})=>new gt({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=lt.fromObject(t))}get proofOfAddress(){return this._proofOfAddress}set setProofOfAddress(t){t&&0!==Object.keys(t).length&&(this._proofOfAddress=ht.fromObject(t))}get govtId(){return this._govtId}set setGovtId(t){t&&0!==Object.keys(t).length&&(this._govtId=ht.fromObject(t))}get termsOfService(){return this._termsOfService}set setTerms(t){t&&0!==Object.keys(t).length&&(this._termsOfService=dt.fromObject(t))}}class Ot{constructor({account:t,clabe:e,currency:s,id:r,network:i,platformId:a}){this.account=t,this.clabe=e,this.currency=Y(x,s),this.id=r,this.network=Y($,i),this.platformId=a}static fromObject=({account:t,clabe:e,currency:s,id:r,network:i,...a})=>new Ot({account:t,clabe:e,currency:s,id:r,network:i,platformId:a.platform_id})}class At{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:A,toCurrency:j,fromAmount:I,toAmount:k}){this.id=t,this.createdAt=F(e),this.platformId=s,this.type=Y(O,r),this.status=Y(E,i),this.accountUri=a,this.quoteUri=n,this.currency=Y(x,c),this.network=Y($,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=Y(x,A),this.toCurrency=Y(x,j),this.fromAmount=I,this.toAmount=k}static fromObject=({type:t,status:e,currency:s,network:r,concepto:i,signature:a,...n})=>new At({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 jt{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=F(t),this.cvv2=e,this.expMonth=s,this.expYear=r,this.fundingType=Y(v,i),this.id=a,this.issuer=Y(g,n),this.number=c,this.pin=o,this.status=Y(A,d),this.type=Y(I,u),this.updatedAt=F(h),this.userId=l}static fromObject=({cvv2:t,id:e,issuer:s,number:r,pin:i,status:a,type:n,...c})=>new jt({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 xt{constructor({cardUri:t,createdAt:e,id:s,ipAddress:r,success:i,userId:a}){this.cardUri=t,this.createdAt=F(e),this.id=s,this.ipAddress=r,this.success=i,this.userId=a}static fromObject=({id:t,success:e,...s})=>new xt({id:t,success:e,cardUri:s.card_uri,createdAt:s.created_at,ipAddress:s.ip_address,userId:s.user_id})}class It extends yt{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=Y(y,e),this.cardLastFour=s,this.cardType=Y(I,r),this.cardUri=i,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=Y(j,h)}static fromObject=({amount:t,descriptor:e,metadata:s,network:r,status:i,type:a,...n})=>new It({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 kt{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=Y(A,t),this.cardType=Y(I,e),this.cardUri=s,this.createdAt=F(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 kt({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===A.Active}}class Ut extends yt{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=Y(k,a)}static fromObject=({amount:t,descriptor:e,status:s,type:r,...i})=>new Ut({amount:t,descriptor:e,status:s,type:r,createdAt:i.created_at,relatedTransactionUri:i.related_transaction_uri,userId:i.user_id})}class Ct extends yt{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=Y(U,i),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:r,status:i,...a})=>new Ct({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 Tt{constructor({extension:t,type:e,url:s,userId:r}){this.extension=t,this.type=Y(S,e),this.url=s,this.userId=r}static fromObject=({extension:t,type:e,url:s,...r})=>new Tt({extension:t,type:e,url:s,userId:r.user_id})}class St{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 St({attemps:t,filesUri:e.files_uri,platformId:e.platform_id,verificationId:e.verification_id})}class Nt{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new Nt({id:t})}class Bt{constructor({balance:t,createdAt:e,deactivatedAt:s,id:r,userId:i,updatedAt:a}){this.balance=t,this.createdAt=F(e),this.deactivatedAt=F(s),this.id=r,this.userId=i,this.updatedAt=F(a)}}class qt extends Bt{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=Y(q,e),this.goalAmount=i,this.goalDate=F(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:r,...i})=>new qt({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 Pt{constructor({categories:t,id:e,name:s,providerKey:r}){var i;this.categories=null==(i=t)?[]:i.map((t=>Y(B,t))),this.id=e,this.name=s,this.providerKey=r}static fromObject=({categories:t,id:e,name:s,...r})=>new Pt({categories:t,id:e,name:s,providerKey:r.provider_key})}class Dt{constructor({createdAt:t,expiresAt:e,failureUrl:s,id:r,platformId:i,successUrl:a,type:n,userId:c}){this.createdAt=F(t),this.expiresAt=F(e),this.failureUrl=s,this.id=r,this.platformId=i,this.successUrl=a,this.type=Y(P,n),this.userId=c}static fromObject=({id:t,type:e,...s})=>new Dt({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 $t{constructor({createdAt:t,id:e,month:s,year:r}){this.createdAt=F(t),this.id=e,this.month=s,this.year=r}static fromObject=({id:t,month:e,year:s,...r})=>new $t({id:t,month:e,year:s,createdAt:r.created_at})}class Et extends yt{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=Y(K,c),this.recipientName=o,this.trackingKey=u,this.updatedAt=F(h)}static fromObject=({amount:t,descriptor:e,id:s,network:r,status:i,...a})=>new Et({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 Kt{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=Y(M,e),this.clabe=s,this.countryOfBirth=r,this.createdAt=F(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=Y(L,A),this.setTerms=j,this.updatedAt=F(x),this.verificationId=I}get address(){return this._address}set setAddress(t){t&&(this._address=lt.fromObject(t))}get proofOfAddress(){return this._proofOfAddress}set setProofOfAddress(t){t&&(this._proofOfAddress=ht.fromObject(t))}get proofOfLife(){return this._proofOfLife}set setProofOfLife(t){t&&(this._proofOfLife=ht.fromObject(t))}get govtId(){return this._govtId}set setGovtId(t){t&&(this._govtId=ht.fromObject(t))}get termsOfService(){return this._termsOfService}set setTerms(t){t&&(this._termsOfService=dt.fromObject(t))}get curpDocument(){return this._curpDocument}set setCurpDoc(t){t&&(this._curpDocument=ht.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 Kt({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 Lt{constructor({createdAt:t,id:e,isActive:s,updatedAt:r}){this.createdAt=F(t),this.id=e,this.isActive=s,this.updatedAt=F(r)}static fromObject=({id:t,...e})=>new Lt({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class Mt{constructor({id:t,lastLoginAt:e,success:s}){this.id=t,this.lastLoginAt=F(e),this.success=s}static fromObject=({id:t,success:e,...s})=>new Mt({id:t,success:e,lastLoginAt:s.last_login_at})}class Vt{constructor({createdAt:t,id:e,platformId:s,recipient:r,type:i,updatedAt:a}){this.createdAt=F(t),this.id=e,this.platformId=s,this.recipient=r,this.type=Y(V,i),this.updatedAt=F(a)}static fromObject=({id:t,recipient:e,type:s,...r})=>new Vt({id:t,recipient:e,type:s,createdAt:r.created_at,platformId:r.platform_id,updatedAt:r.updated_at})}class Rt extends yt{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=Y(R,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:r,...i})=>new Rt({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 Ft extends yt{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=F(a),this.network=Y(K,c),this.phoneNumber=o,this.recipientName=d,this.trackingKey=h,this.updatedAt=F(l)}static fromObject=({amount:t,descriptor:e,id:s,network:r,status:i,...a})=>new Ft({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 Yt{constructor(t){this.superclass=t}with(...t){return t.reduce(((t,e)=>e(t)),this.superclass)}}const Ht=t=>new Yt(t),Wt=(t,e)=>({accounts:()=>ft.fromObject(e),api_keys:()=>wt.fromObject(e),arpc:()=>_t.fromObject(e),balance_entries:()=>bt.fromObject(e),bill_payments:()=>vt.fromObject(e),"bridge/accounts":()=>gt.fromObject(e),"bridge/clabes":()=>Ot.fromObject(e),"bridge/kyc_validations":()=>St.fromObject(e),"bridge/sessions":()=>Dt.fromObject(e),"bridge/transactions":()=>At.fromObject(e),cards:()=>jt.fromObject(e),card_activations:()=>xt.fromObject(e),card_transactions:()=>It.fromObject(e),card_validations:()=>kt.fromObject(e),commissions:()=>Ut.fromObject(e),deposits:()=>Ct.fromObject(e),files:()=>Tt.fromObject(e),kyc_validations:()=>St.fromObject(e),login_tokens:()=>Nt.fromObject(e),savings:()=>qt.fromObject(e),service_providers:()=>Pt.fromObject(e),sessions:()=>Dt.fromObject(e),statements:()=>$t.fromObject(e),transfers:()=>Et.fromObject(e),users:()=>Kt.fromObject(e),user_credentials:()=>Lt.fromObject(e),user_logins:()=>Mt.fromObject(e),verifications:()=>Vt.fromObject(e),wallet_transactions:()=>Rt.fromObject(e),whatsapp_transfers:()=>Ft.fromObject(e)}[t]()),zt=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class Xt{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const Gt=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return Wt(this.path,e)}},Qt=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return Wt(this.path,e)}},Jt=t=>class extends t{async _update(t,e){const s=await this.client.patch({endpoint:`/${this.path}/${t}`,data:e});return Wt(this.path,s)}},Zt=t=>class extends t{async _upload(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t,multipart:!0});return Wt(this.path,e)}},te=t=>class extends t{async _deactivate(t,e){const s=await this.client.delete({endpoint:`/${this.path}/${t}`,data:e});return Wt(this.path,s)}},ee=t=>class extends t{async _download(t,e){return await this.client.get({endpoint:`/${this.path}/${t}`,format:e})}},se=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 Wt(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 Wt(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=Wt(this.path,e);yield t}e=t.next_page_uri}}};class re extends(Ht(Xt).with(se,Gt)){constructor(t){super("accounts",W,t)}}class ie{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class ae extends ie{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class ne extends ie{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 ce extends ie{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class oe extends ie{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 de extends ie{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 ue extends ie{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 he extends ie{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(F(t).getTime()<=F(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 le extends ie{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 pe extends ie{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 me extends ie{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 fe extends ie{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 we extends ie{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 _e extends ie{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 be extends ie{constructor({city:t,country:e,extNumber:s,intNumber:r,postalCode:i,state:a,street:n}={}){super(),this.city=t,this.country=e,this.extNumber=s,this.intNumber=r,this.postalCode=i,this.state=a,this.street=n}toObject(){return{city:this.city,country:this.country,ext_number:this.extNumber,int_number:this.intNumber,postal_code:this.postalCode,state:this.state,street:this.street}}}class ye extends ie{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 ve extends ie{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 _e(t).toObject())}get address(){return this._address}set adrs(t){t&&(this._address=new be(t).toCleanObject())}get proofOfLife(){return this._proofOfLife}set lifeProofs(t){t&&(this._proofOfLife=new ye(t).toCleanObject())}get proofOfAddress(){return this._proofOfAddress}set addressProofs(t){t&&(this._proofOfAddress=new ye(t).toCleanObject())}get govtId(){return this._govtId}set govstIds(t){t&&(this._govtId=new ye(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 ge extends ie{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(Y(V,this.type)){case V.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 V.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 Oe extends ie{constructor({code:t}){super(),this.code=t}toObject(){return{code:this.code}}}class Ae extends ie{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 je extends(Ht(Xt).with(Qt,te,se,Gt,Jt)){constructor(t){super("api_keys",z,t)}async create(){return await this._create()}async deactivate(t,e=0){return await this._deactivate(t,{minutes:e})}async update(t,e,s){const r=new ae(s,e);return await this._update(t,r.toCleanObject())}}class xe extends(Ht(Xt).with(Qt)){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 Ie extends(Ht(Xt).with(se,Gt)){constructor(t){super("balance_entries",J,t)}async relatedTransaction(t){const e=zt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Wt(`${e}`,s)}async fundingInstrument(t){const e=zt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Wt(`${e}`,s)}}class ke extends(Ht(Xt).with(se,Gt)){constructor(t){super("bill_payments",Z,t)}async serviceProvider(t){const e=zt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Wt(`${e}`,s)}}class Ue extends(Ht(Xt).with(se,Jt,Gt)){constructor(t){super("bridge/accounts",nt,t)}async update({userId:t="me",...e}){const s=new ve(e);return await this._update(t,s.toCleanObject())}}class Ce extends(Ht(Xt).with(se)){constructor(t){super("bridge/clabes",ct,t)}}class Te extends(Ht(Xt).with(se,Gt)){constructor(t){super("bridge/transactions",ot,t)}}class Se extends(Ht(Xt).with(Qt)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:r}){const i=new oe(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 jt.fromObject(e)}}class Ne extends(Ht(Xt).with(Qt,te,se,Gt,Jt)){constructor(t){super("cards",et,t)}async create(t,e,s){const r=new ne(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 ce(e,s);return await this._update(t,r.toCleanObject())}}class Be extends(Ht(Xt).with(se,Gt)){constructor(t){super("card_transactions",tt,t)}async relatedCard(t){const e=zt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Wt(`${e}`,s)}}class qe extends(Ht(Xt).with(Qt)){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 de({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 jt.fromObject(e)}}class Pe extends(Ht(Xt).with(se,Gt)){constructor(t){super("commissions",H,t)}async relatedTransaction(t){const e=zt(t);if(null==e)return null;const s=await this.client.get(t);return Wt(`${e}`,s)}}class De extends(Ht(Xt).with(se,Gt)){constructor(t){super("deposits",G,t)}async source(t){const e=await this.client.get({endpoint:t});return ft.fromObject(e)}}class $e extends(Ht(Xt).with(ee,Zt)){constructor(t){super("files",Object,t)}async download(t){return await this._download(t,T.Any)}async upload(t){return await this._upload(t)}}class Ee extends(Ht(Xt).with(Qt,Gt,se)){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 ue({force:e,userId:t,isBridge:this.isBridge});return await this._create(s.toCleanObject())}}class Ke extends(Ht(Xt).with(Qt)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class Le extends(Ht(Xt).with(Qt,te,se,Gt,Jt)){constructor(t){super("savings",it,t)}async create(t,e,s,r){const i=new he(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 he(e,s,r,i);return await this._update(t,a.toObject())}}class Me extends(Ht(Xt).with(se,Gt)){constructor(t){super("service_providers",H,t)}}class Ve extends(Ht(Xt).with(Qt,Gt,se)){constructor(t,e=!1){super(e?"bridge/sessions":"sessions",Object,t),this.isBridge=e}async create(t,e,s,r){const i=new le({failureUrl:r,successUrl:s,type:e,userId:t,isBridge:this.isBridge});return await this._create(i.toCleanObject())}}class Re extends(Ht(Xt).with(ee,se)){constructor(t){super("statements",at,t)}async pdf(t){return await this._download(t,T.Pdf)}async xml(t){return await this._download(t,T.Xml)}}class Fe extends(Ht(Xt).with(Qt,se,Gt)){constructor(t){super("transfers",Q,t)}async destination(t){const e=await this.client.get({endpoint:t});return ft.fromObject(e)}async create({accountNumber:t,amount:e,descriptor:s,recipientName:r,idempotencyKey:i}){const a=i||this.constructor._genIdempotencyKey(t,e),n=new pe(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 pe(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]=F(Date.now()).toISOString().split("T");return`${s}:${t}:${e}`}}class Ye extends(Ht(Xt).with(Qt,Jt)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new me(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const r=new fe(e,t);return await this._update(s,r.toCleanObject())}}class He extends(Ht(Xt).with(Qt,te)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new we(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 We extends(Ht(Xt).with(se,Jt,Gt)){constructor(t){super("users",rt,t)}async update({userId:t="me",...e}){const s=new ve(e);return await this._update(t,s.toCleanObject())}}class ze extends(Ht(Xt).with(Qt,Jt)){constructor(t){super("verifications",Object,t)}async create({platformId:t,recipient:e,type:s}){const r=new ge({platformId:t,recipient:e,type:s});return await this._create(r.toObject())}async update({code:t,id:e}){const s=new Oe({code:t});return await this._update(e,s.toObject())}}class Xe extends(Ht(Xt).with(Qt,se,Gt)){constructor(t){super("wallet_transactions",st,t)}async create(t,e,s){const r=new Ae(t,e,s);return await this._create(r.toObject())}async realtedWallet(t){const e=zt(t);if(null==e)return null;const s=await this.client.get(t);return Wt(`${e}`,s)}}class Ge extends(Ht(Xt).with(se,Gt)){constructor(t){super("whatsapp_transfers",H,t)}async accountDestination(t){const e=zt(t);if(null==e)return null;const s=await this.client.get(t);return Wt(`${e}`,s)}}t.Cuenca=class{constructor({apiKey:t,apiSecret:e,language:s="en",phase:r=N.Sandbox}={}){this.client=new mt({apiKey:t,apiSecret:e,language:s,phase:r}),this.withClient(this.client)}withClient(t){this.accounts=new re(t),this.apiKeys=new je(t),this.balanceEntries=new Ie(t),this.billPayments=new ke(t),this.bridgeAccounts=new Ue(t),this.bridgeClabes=new Ce(t),this.bridgeKycValidations=new Ee(t,!0),this.bridgeSessions=new Ve(t,!0),this.bridgeTransactions=new Te(t),this.cardActivations=new Se(t),this.cards=new Ne(t),this.cardTransactions=new Be(t),this.cardValidations=new qe(t),this.commissions=new Pe(t),this.deposits=new De(t),this.files=new $e(t),this.kycValidations=new Ee(t),this.loginTokens=new Ke(t),this.savings=new Le(t),this.serviceProviders=new Me(t),this.sessions=new Ve(t),this.statements=new Re(t),this.transfers=new Fe(t),this.userCredentials=new Ye(t),this.userLogins=new He(t),this.users=new We(t),this.verifications=new ze(t),this.walletTransactions=new Xe(t),this.whatsAppTransfers=new Ge(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 Blocked=new y("blocked");static Comunication=new y("comunication");static ContactlesAmountLimit=new y("contactles_amount_limit");static FraudDetection=new y("fraud_detection");static FraudDetectionUncertain=new y("fraud_detection_uncertain");static InsufficientFounds=new y("insufficient_founds");static InvalidPin=new y("invalid_pin");static Notification=new y("notification");static NotificationDeactivatedCard=new y("notification_deactivated_card");constructor(t){this.value=t}}class v{static Credit=new v("credit");static Debit=new v("debit");constructor(t){this.value=t}}class g{static Accendo=new g("accendo");static Cuenca=new g("cuenca");constructor(t){this.value=t}}class O{static Buy=new O("buy");static Sell=new O("sell");constructor(t){this.value=t}}class A{static Active=new A("active");static Blocked=new A("blocked");static Created=new A("created");static Deactivated=new A("deactivated");static Printing=new A("printing");constructor(t){this.value=t}}class j{static Auth=new j("auth");static Capture=new j("capture");static Chargeback=new j("chargeback");static Expiration=new j("expiration");static Refund=new j("refund");static Void=new j("void");constructor(t){this.value=t}}class x{static Mxn=new x("mxn");static Usdc=new x("usdc");static Sol=new x("sol");constructor(t){this.value=t}}class I{static Physical=new I("physical");static Virtual=new I("virtual");constructor(t){this.value=t}}class k{static CardRequest=new k("card_request");static CashDeposit=new k("cash_deposit");static OutgoingSpei=new k("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 C{static Credit=new C("credit");static Debit=new C("debit");constructor(t){this.value=t}}class T{static Pdf=new T("application/pdf");static Xml=new T("application/xml");static Json=new T("application/json");static Any=new T("*/*");constructor(t){this.value=t}}class S{static Curp=new S("curp");static Ine=new S("ine");static Passport=new S("passport");static Residency=new S("residency");static MatriculaConsular=new S("matricula_consular");static ProofOfLiveness=new S("proof_of_liveness");static ProofOfAddress=new S("proof_of_address");constructor(t){this.value=t}}class N{static Sandbox=new N("sandbox-api");static Stage=new N("stage-api");static Api=new N("api");constructor(t){this.value=t}}class B{static Cable=new B("cable");static CreditCard=new B("credit_card");static Electricity=new B("electricity");static Gas=new B("gas");static Internet=new B("internet");static LandlineTelephone=new B("landline_telephone");static MobileTelephonePostpaid=new B("mobile_telephone_postpaid");static MobileTelephonePrepaid=new B("mobile_telephone_prepaid");static SateliteTelevision=new B("satelite_television");static Water=new B("water");constructor(t){this.value=t}}class q{static General=new q("general");static Home=new q("home");static Vehicle=new q("vehicle");static Travel=new q("travel");static Clothing=new q("clothing");static Other=new q("other");static Medical=new q("medical");static Accident=new q("accident");static Education=new q("education");constructor(t){this.value=t}}class P{static AccountEntries=new P("session.account_entries");static DownloadFile=new P("session.download_file");static Registration=new P("session.registration");static ShowCard=new P("session.show_card");static UploadFile=new P("session.upload_file");constructor(t){this.value=t}}class D{static NotSet=new D("not_set");static Terminal=new D("terminal");static Manual=new D("manual");static Unknown=new D("unknown");static Contactless=new D("contactless");static FallBack=new D("fall_back");static MagneticStripe=new D("magnetic_stripe");static RecurringCharge=new D("recurring_charge");constructor(t){this.value=t}}class ${static Polygon=new $("polygon");static Solana=new $("solana");constructor(t){this.value=t}}class E{static Created=new E("created");static Failed=new E("failed");static InReview=new E("in_review");static Submitted=new E("submitted");static Succeeded=new E("succeeded");constructor(t){this.value=t}}class K{static Internal=new K("internal");static Spei=new K("spei");constructor(t){this.value=t}}class L{static Active=new L("active");static Deactivated=new L("deactivated");static Fraud=new L("fraud");static PldBlocked=new L("pld_blocked");constructor(t){this.value=t}}class M{static Created=new M("created");static NotVerified=new M("not_verified");static Rejected=new M("rejected");static ReviewNeeded=new M("review_needed");static Submitted=new M("submitted");static Succeeded=new M("succeeded");static UploadAgain=new M("upload_again");constructor(t){this.value=t}}class V{static Phone=new V("phone");static Email=new V("email");constructor(t){this.value=t}}class R{static Deposit=new R("deposit");static Withdrawal=new R("withdrawal");constructor(t){this.value=t}}const F=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},Y=(t,e)=>Object.values(t).find((t=>t.value===e));class H{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 W extends H{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class z extends H{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class X extends H{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class G extends X{constructor({trackingKey:t,network:e,...s}){super(s),this.trackingKey=t,this.network=e}toObject(){return Object.assign(super.toObject(),{tracking_key:this.trackingKey,network:this.network})}}class Q extends X{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 J extends H{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 Z extends H{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class tt extends H{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class et extends H{constructor({cardUri:t,count:e=!1,...s}){super(s),this.cardUri=t,this.count=e}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri,count:this.count})}}class st extends H{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class rt extends H{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 it extends H{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class at extends H{constructor({month:t,year:e,...s}){super(s),this.d={month:t,year:e}}get month(){return this._date.month}get year(){return this._date.year}set d({month:t,year:e}){const s=F(Date.now());s.setUTCDate(1);if(F(`${e}-${t}-01`).getTime()>=s.getTime())throw new 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 nt extends H{constructor({emailAddress:t,...e}){super(e),this.emailAddress=t}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress})}}class ct extends H{constructor({accountId:t,...e}){super(e),this.accountId=t}toObject(){return Object.assign(super.toObject(),{account:this.accountId})}}class ot extends ct{constructor({status:t,type:e,...s}){super(s),this.status=t,this.type=e}toObject(){return Object.assign(super.toObject(),{status:this.status,type:this.type})}}class dt{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 dt({ip:t,location:e,type:s,version:r})}class ut{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 ut({code:t,error:e,identifier:s,message:r})}class ht{constructor({data:t,errors:e,isMx:s,status:r,type:i,uriBack:a,uriFront:n}){this.data=t,this.isMx=s,this.status=Y(M,r),this.type=Y(S,i),this.uriBack=a,this.uriFront=n,e&&e.length>0&&(this.errors=e.map((t=>ut.fromObject(t))))}static fromObject=({data:t,errors:e,status:s,type:r,...i})=>new ht({data:t,errors:e,status:s,type:r,isMx:i.is_mx,uriBack:i.uri_back,uriFront:i.uri_front})}class lt{constructor({city:t,country:e,createdAt:s,extNumber:r,fullName:i,intNumber:a,postalCode:n,state:c,street:o}){this.city=t,this.country=e,this.createdAt=F(s),this.extNumber=r,this.fullName=i,this.intNumber=a,this.postalCode=n,this.state=c,this.street=o}static fromObject=({city:t,country:e,state:s,street:r,...i})=>new lt({city:t,country:e,state:s,street:r,createdAt:i.created_at,extNumber:i.ext_number,fullName:i.full_name,intNumber:i.int_number,postalCode:i.postal_code})}var pt="0.0.11-dev.1";class mt{constructor({apiKey:t,apiSecret:e,language:s="en",phase:r=N.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=T.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/${pt}`:f&&(o["X-User-Agent"]=`cuenca-js/${pt}`),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 ft{constructor({accountNumber:t,createdAt:e,id:s,institutionName:r,name:i,userId:a}){this.accountNumber=t,this.createdAt=F(e),this.id=s,this.institutionName=r,this.name=i,this.userId=a}static fromObject=({id:t,name:e,...s})=>new ft({id:t,name:e,accountNumber:s.account_number,createdAt:s.created_at,institutionName:s.institution_name,userId:s.user_id})}class wt{constructor({createdAt:t,deactivatedAt:e,id:s,secret:r,userId:i,updatedAt:a}){this.createdAt=F(t),this.deactivatedAt=F(e),this.id=s,this.secret=r,this.userId=i,this.updatedAt=F(a)}static fromObject=({id:t,secret:e,...s})=>new wt({id:t,secret:e,createdAt:s.created_at,deactivatedAt:s.deactivated_at,userId:s.user_id,updatedAt:s.updated_at});get isActive(){const t=F(Date.now());return!this.deactivatedAt||this.deactivatedAt.getTime()>t.getTime()}}class _t{constructor({arpc:t,createdAt:e,cardUri:s,isValidArqc:r}){this.arpc=t,this.createdAt=F(e),this.cardUri=s,this.isValidArqc=r}static fromObject=({arpc:t,...e})=>new _t({arpc:t,createdAt:e.created_at,cardUri:e.card_uri,isValidArqc:e.is_valid_arqc})}class bt{constructor({amount:t,createdAt:e,descriptor:s,entryType:r,fundingInstrumentUri:i,id:a,name:n,relatedTransactionUri:c,rollingBalance:o}){this.amount=t,this.createdAt=F(e),this.descriptor=s,this.entryType=Y(C,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 bt({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 yt{constructor({amount:t,createdAt:e,descriptor:s,status:r,userId:i}){this.amount=t,this.createdAt=F(e),this.descriptor=s,this.status=Y(E,r),this.userId=i}}class vt extends yt{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 vt({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 gt{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=F(e),this.updatedAt=F(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=Y(b,_),this.setTerms=y,this.setAddress=v}static fromObject=({status:t,address:e,...s})=>new gt({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=lt.fromObject(t))}get proofOfAddress(){return this._proofOfAddress}set setProofOfAddress(t){t&&0!==Object.keys(t).length&&(this._proofOfAddress=ht.fromObject(t))}get govtId(){return this._govtId}set setGovtId(t){t&&0!==Object.keys(t).length&&(this._govtId=ht.fromObject(t))}get termsOfService(){return this._termsOfService}set setTerms(t){t&&0!==Object.keys(t).length&&(this._termsOfService=dt.fromObject(t))}}class Ot{constructor({account:t,clabe:e,currency:s,id:r,network:i,platformId:a}){this.account=t,this.clabe=e,this.currency=Y(x,s),this.id=r,this.network=Y($,i),this.platformId=a}static fromObject=({clabe:t,currency:e,id:s,network:r,...i})=>new Ot({clabe:t,currency:e,id:s,network:r,account:i.account_uri.split("/")[2],platformId:i.platform_id})}class At{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:A,toCurrency:j,fromAmount:I,toAmount:k}){this.id=t,this.createdAt=F(e),this.platformId=s,this.type=Y(O,r),this.status=Y(E,i),this.accountUri=a,this.quoteUri=n,this.currency=Y(x,c),this.network=Y($,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=Y(x,A),this.toCurrency=Y(x,j),this.fromAmount=I,this.toAmount=k}static fromObject=({type:t,status:e,currency:s,network:r,concepto:i,signature:a,...n})=>new At({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 jt{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=F(t),this.cvv2=e,this.expMonth=s,this.expYear=r,this.fundingType=Y(v,i),this.id=a,this.issuer=Y(g,n),this.number=c,this.pin=o,this.status=Y(A,d),this.type=Y(I,u),this.updatedAt=F(h),this.userId=l}static fromObject=({cvv2:t,id:e,issuer:s,number:r,pin:i,status:a,type:n,...c})=>new jt({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 xt{constructor({cardUri:t,createdAt:e,id:s,ipAddress:r,success:i,userId:a}){this.cardUri=t,this.createdAt=F(e),this.id=s,this.ipAddress=r,this.success=i,this.userId=a}static fromObject=({id:t,success:e,...s})=>new xt({id:t,success:e,cardUri:s.card_uri,createdAt:s.created_at,ipAddress:s.ip_address,userId:s.user_id})}class It extends yt{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=Y(y,e),this.cardLastFour=s,this.cardType=Y(I,r),this.cardUri=i,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=Y(j,h)}static fromObject=({amount:t,descriptor:e,metadata:s,network:r,status:i,type:a,...n})=>new It({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 kt{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=Y(A,t),this.cardType=Y(I,e),this.cardUri=s,this.createdAt=F(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 kt({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===A.Active}}class Ut extends yt{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=Y(k,a)}static fromObject=({amount:t,descriptor:e,status:s,type:r,...i})=>new Ut({amount:t,descriptor:e,status:s,type:r,createdAt:i.created_at,relatedTransactionUri:i.related_transaction_uri,userId:i.user_id})}class Ct extends yt{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=Y(U,i),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:r,status:i,...a})=>new Ct({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 Tt{constructor({extension:t,type:e,url:s,userId:r}){this.extension=t,this.type=Y(S,e),this.url=s,this.userId=r}static fromObject=({extension:t,type:e,url:s,...r})=>new Tt({extension:t,type:e,url:s,userId:r.user_id})}class St{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 St({attemps:t,filesUri:e.files_uri,platformId:e.platform_id,verificationId:e.verification_id})}class Nt{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new Nt({id:t})}class Bt{constructor({balance:t,createdAt:e,deactivatedAt:s,id:r,userId:i,updatedAt:a}){this.balance=t,this.createdAt=F(e),this.deactivatedAt=F(s),this.id=r,this.userId=i,this.updatedAt=F(a)}}class qt extends Bt{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=Y(q,e),this.goalAmount=i,this.goalDate=F(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:r,...i})=>new qt({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 Pt{constructor({categories:t,id:e,name:s,providerKey:r}){var i;this.categories=null==(i=t)?[]:i.map((t=>Y(B,t))),this.id=e,this.name=s,this.providerKey=r}static fromObject=({categories:t,id:e,name:s,...r})=>new Pt({categories:t,id:e,name:s,providerKey:r.provider_key})}class Dt{constructor({createdAt:t,expiresAt:e,failureUrl:s,id:r,platformId:i,successUrl:a,type:n,userId:c}){this.createdAt=F(t),this.expiresAt=F(e),this.failureUrl=s,this.id=r,this.platformId=i,this.successUrl=a,this.type=Y(P,n),this.userId=c}static fromObject=({id:t,type:e,...s})=>new Dt({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 $t{constructor({createdAt:t,id:e,month:s,year:r}){this.createdAt=F(t),this.id=e,this.month=s,this.year=r}static fromObject=({id:t,month:e,year:s,...r})=>new $t({id:t,month:e,year:s,createdAt:r.created_at})}class Et extends yt{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=Y(K,c),this.recipientName=o,this.trackingKey=u,this.updatedAt=F(h)}static fromObject=({amount:t,descriptor:e,id:s,network:r,status:i,...a})=>new Et({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 Kt{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=Y(M,e),this.clabe=s,this.countryOfBirth=r,this.createdAt=F(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=Y(L,A),this.setTerms=j,this.updatedAt=F(x),this.verificationId=I}get address(){return this._address}set setAddress(t){t&&(this._address=lt.fromObject(t))}get proofOfAddress(){return this._proofOfAddress}set setProofOfAddress(t){t&&(this._proofOfAddress=ht.fromObject(t))}get proofOfLife(){return this._proofOfLife}set setProofOfLife(t){t&&(this._proofOfLife=ht.fromObject(t))}get govtId(){return this._govtId}set setGovtId(t){t&&(this._govtId=ht.fromObject(t))}get termsOfService(){return this._termsOfService}set setTerms(t){t&&(this._termsOfService=dt.fromObject(t))}get curpDocument(){return this._curpDocument}set setCurpDoc(t){t&&(this._curpDocument=ht.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 Kt({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 Lt{constructor({createdAt:t,id:e,isActive:s,updatedAt:r}){this.createdAt=F(t),this.id=e,this.isActive=s,this.updatedAt=F(r)}static fromObject=({id:t,...e})=>new Lt({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class Mt{constructor({id:t,lastLoginAt:e,success:s}){this.id=t,this.lastLoginAt=F(e),this.success=s}static fromObject=({id:t,success:e,...s})=>new Mt({id:t,success:e,lastLoginAt:s.last_login_at})}class Vt{constructor({createdAt:t,id:e,platformId:s,recipient:r,type:i,updatedAt:a}){this.createdAt=F(t),this.id=e,this.platformId=s,this.recipient=r,this.type=Y(V,i),this.updatedAt=F(a)}static fromObject=({id:t,recipient:e,type:s,...r})=>new Vt({id:t,recipient:e,type:s,createdAt:r.created_at,platformId:r.platform_id,updatedAt:r.updated_at})}class Rt extends yt{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=Y(R,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:r,...i})=>new Rt({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 Ft extends yt{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=F(a),this.network=Y(K,c),this.phoneNumber=o,this.recipientName=d,this.trackingKey=h,this.updatedAt=F(l)}static fromObject=({amount:t,descriptor:e,id:s,network:r,status:i,...a})=>new Ft({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 Yt{constructor(t){this.superclass=t}with(...t){return t.reduce(((t,e)=>e(t)),this.superclass)}}const Ht=t=>new Yt(t),Wt=(t,e)=>({accounts:()=>ft.fromObject(e),api_keys:()=>wt.fromObject(e),arpc:()=>_t.fromObject(e),balance_entries:()=>bt.fromObject(e),bill_payments:()=>vt.fromObject(e),"bridge/accounts":()=>gt.fromObject(e),"bridge/clabes":()=>Ot.fromObject(e),"bridge/kyc_validations":()=>St.fromObject(e),"bridge/sessions":()=>Dt.fromObject(e),"bridge/transactions":()=>At.fromObject(e),cards:()=>jt.fromObject(e),card_activations:()=>xt.fromObject(e),card_transactions:()=>It.fromObject(e),card_validations:()=>kt.fromObject(e),commissions:()=>Ut.fromObject(e),deposits:()=>Ct.fromObject(e),files:()=>Tt.fromObject(e),kyc_validations:()=>St.fromObject(e),login_tokens:()=>Nt.fromObject(e),savings:()=>qt.fromObject(e),service_providers:()=>Pt.fromObject(e),sessions:()=>Dt.fromObject(e),statements:()=>$t.fromObject(e),transfers:()=>Et.fromObject(e),users:()=>Kt.fromObject(e),user_credentials:()=>Lt.fromObject(e),user_logins:()=>Mt.fromObject(e),verifications:()=>Vt.fromObject(e),wallet_transactions:()=>Rt.fromObject(e),whatsapp_transfers:()=>Ft.fromObject(e)}[t]()),zt=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class Xt{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const Gt=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return Wt(this.path,e)}},Qt=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return Wt(this.path,e)}},Jt=t=>class extends t{async _update(t,e){const s=await this.client.patch({endpoint:`/${this.path}/${t}`,data:e});return Wt(this.path,s)}},Zt=t=>class extends t{async _upload(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t,multipart:!0});return Wt(this.path,e)}},te=t=>class extends t{async _deactivate(t,e){const s=await this.client.delete({endpoint:`/${this.path}/${t}`,data:e});return Wt(this.path,s)}},ee=t=>class extends t{async _download(t,e){return await this.client.get({endpoint:`/${this.path}/${t}`,format:e})}},se=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 Wt(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 Wt(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=Wt(this.path,e);yield t}e=t.next_page_uri}}};class re extends(Ht(Xt).with(se,Gt)){constructor(t){super("accounts",W,t)}}class ie{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class ae extends ie{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class ne extends ie{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 ce extends ie{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class oe extends ie{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 de extends ie{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 ue extends ie{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 he extends ie{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(F(t).getTime()<=F(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 le extends ie{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 pe extends ie{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 me extends ie{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 fe extends ie{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 we extends ie{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 _e extends ie{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 be extends ie{constructor({city:t,country:e,extNumber:s,intNumber:r,postalCode:i,state:a,street:n}={}){super(),this.city=t,this.country=e,this.extNumber=s,this.intNumber=r,this.postalCode=i,this.state=a,this.street=n}toObject(){return{city:this.city,country:this.country,ext_number:this.extNumber,int_number:this.intNumber,postal_code:this.postalCode,state:this.state,street:this.street}}}class ye extends ie{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 ve extends ie{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 _e(t).toObject())}get address(){return this._address}set adrs(t){t&&(this._address=new be(t).toCleanObject())}get proofOfLife(){return this._proofOfLife}set lifeProofs(t){t&&(this._proofOfLife=new ye(t).toCleanObject())}get proofOfAddress(){return this._proofOfAddress}set addressProofs(t){t&&(this._proofOfAddress=new ye(t).toCleanObject())}get govtId(){return this._govtId}set govstIds(t){t&&(this._govtId=new ye(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 ge extends ie{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(Y(V,this.type)){case V.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 V.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 Oe extends ie{constructor({code:t}){super(),this.code=t}toObject(){return{code:this.code}}}class Ae extends ie{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 je extends(Ht(Xt).with(Qt,te,se,Gt,Jt)){constructor(t){super("api_keys",z,t)}async create(){return await this._create()}async deactivate(t,e=0){return await this._deactivate(t,{minutes:e})}async update(t,e,s){const r=new ae(s,e);return await this._update(t,r.toCleanObject())}}class xe extends(Ht(Xt).with(Qt)){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 Ie extends(Ht(Xt).with(se,Gt)){constructor(t){super("balance_entries",J,t)}async relatedTransaction(t){const e=zt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Wt(`${e}`,s)}async fundingInstrument(t){const e=zt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Wt(`${e}`,s)}}class ke extends(Ht(Xt).with(se,Gt)){constructor(t){super("bill_payments",Z,t)}async serviceProvider(t){const e=zt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Wt(`${e}`,s)}}class Ue extends(Ht(Xt).with(se,Jt,Gt)){constructor(t){super("bridge/accounts",nt,t)}async update({userId:t="me",...e}){const s=new ve(e);return await this._update(t,s.toCleanObject())}}class Ce extends(Ht(Xt).with(se)){constructor(t){super("bridge/clabes",ct,t)}}class Te extends(Ht(Xt).with(se,Gt)){constructor(t){super("bridge/transactions",ot,t)}}class Se extends(Ht(Xt).with(Qt)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:r}){const i=new oe(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 jt.fromObject(e)}}class Ne extends(Ht(Xt).with(Qt,te,se,Gt,Jt)){constructor(t){super("cards",et,t)}async create(t,e,s){const r=new ne(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 ce(e,s);return await this._update(t,r.toCleanObject())}}class Be extends(Ht(Xt).with(se,Gt)){constructor(t){super("card_transactions",tt,t)}async relatedCard(t){const e=zt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Wt(`${e}`,s)}}class qe extends(Ht(Xt).with(Qt)){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 de({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 jt.fromObject(e)}}class Pe extends(Ht(Xt).with(se,Gt)){constructor(t){super("commissions",H,t)}async relatedTransaction(t){const e=zt(t);if(null==e)return null;const s=await this.client.get(t);return Wt(`${e}`,s)}}class De extends(Ht(Xt).with(se,Gt)){constructor(t){super("deposits",G,t)}async source(t){const e=await this.client.get({endpoint:t});return ft.fromObject(e)}}class $e extends(Ht(Xt).with(ee,Zt)){constructor(t){super("files",Object,t)}async download(t){return await this._download(t,T.Any)}async upload(t){return await this._upload(t)}}class Ee extends(Ht(Xt).with(Qt,Gt,se)){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 ue({force:e,userId:t,isBridge:this.isBridge});return await this._create(s.toCleanObject())}}class Ke extends(Ht(Xt).with(Qt)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class Le extends(Ht(Xt).with(Qt,te,se,Gt,Jt)){constructor(t){super("savings",it,t)}async create(t,e,s,r){const i=new he(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 he(e,s,r,i);return await this._update(t,a.toObject())}}class Me extends(Ht(Xt).with(se,Gt)){constructor(t){super("service_providers",H,t)}}class Ve extends(Ht(Xt).with(Qt,Gt,se)){constructor(t,e=!1){super(e?"bridge/sessions":"sessions",Object,t),this.isBridge=e}async create(t,e,s,r){const i=new le({failureUrl:r,successUrl:s,type:e,userId:t,isBridge:this.isBridge});return await this._create(i.toCleanObject())}}class Re extends(Ht(Xt).with(ee,se)){constructor(t){super("statements",at,t)}async pdf(t){return await this._download(t,T.Pdf)}async xml(t){return await this._download(t,T.Xml)}}class Fe extends(Ht(Xt).with(Qt,se,Gt)){constructor(t){super("transfers",Q,t)}async destination(t){const e=await this.client.get({endpoint:t});return ft.fromObject(e)}async create({accountNumber:t,amount:e,descriptor:s,recipientName:r,idempotencyKey:i}){const a=i||this.constructor._genIdempotencyKey(t,e),n=new pe(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 pe(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]=F(Date.now()).toISOString().split("T");return`${s}:${t}:${e}`}}class Ye extends(Ht(Xt).with(Qt,Jt)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new me(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const r=new fe(e,t);return await this._update(s,r.toCleanObject())}}class He extends(Ht(Xt).with(Qt,te)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new we(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 We extends(Ht(Xt).with(se,Jt,Gt)){constructor(t){super("users",rt,t)}async update({userId:t="me",...e}){const s=new ve(e);return await this._update(t,s.toCleanObject())}}class ze extends(Ht(Xt).with(Qt,Jt)){constructor(t){super("verifications",Object,t)}async create({platformId:t,recipient:e,type:s}){const r=new ge({platformId:t,recipient:e,type:s});return await this._create(r.toObject())}async update({code:t,id:e}){const s=new Oe({code:t});return await this._update(e,s.toObject())}}class Xe extends(Ht(Xt).with(Qt,se,Gt)){constructor(t){super("wallet_transactions",st,t)}async create(t,e,s){const r=new Ae(t,e,s);return await this._create(r.toObject())}async realtedWallet(t){const e=zt(t);if(null==e)return null;const s=await this.client.get(t);return Wt(`${e}`,s)}}class Ge extends(Ht(Xt).with(se,Gt)){constructor(t){super("whatsapp_transfers",H,t)}async accountDestination(t){const e=zt(t);if(null==e)return null;const s=await this.client.get(t);return Wt(`${e}`,s)}}t.Cuenca=class{constructor({apiKey:t,apiSecret:e,language:s="en",phase:r=N.Sandbox}={}){this.client=new mt({apiKey:t,apiSecret:e,language:s,phase:r}),this.withClient(this.client)}withClient(t){this.accounts=new re(t),this.apiKeys=new je(t),this.balanceEntries=new Ie(t),this.billPayments=new ke(t),this.bridgeAccounts=new Ue(t),this.bridgeClabes=new Ce(t),this.bridgeKycValidations=new Ee(t,!0),this.bridgeSessions=new Ve(t,!0),this.bridgeTransactions=new Te(t),this.cardActivations=new Se(t),this.cards=new Ne(t),this.cardTransactions=new Be(t),this.cardValidations=new qe(t),this.commissions=new Pe(t),this.deposits=new De(t),this.files=new $e(t),this.kycValidations=new Ee(t),this.loginTokens=new Ke(t),this.savings=new Le(t),this.serviceProviders=new Me(t),this.sessions=new Ve(t),this.statements=new Re(t),this.transfers=new Fe(t),this.userCredentials=new Ye(t),this.userLogins=new He(t),this.users=new We(t),this.verifications=new ze(t),this.walletTransactions=new Xe(t),this.whatsAppTransfers=new Ge(t)}}}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuenca-mx/cuenca-js",
3
- "version": "0.0.11-dev.0",
3
+ "version": "0.0.11-dev.1",
4
4
  "description": "Cuenca client for JS",
5
5
  "main": "./build/index.cjs",
6
6
  "module": "./build/index.mjs",