@cuenca-mx/cuenca-js 0.0.5-dev.6 → 0.0.5-dev.7

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