@cuenca-mx/cuenca-js 0.0.8-dev.8 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/index.cjs CHANGED
@@ -8,8 +8,7 @@ var errors_index = require('./errors/index.cjs');
8
8
  var jwt_index = require('./jwt/index.cjs');
9
9
  var data = require('./data-0a7efb93.cjs');
10
10
  var identities = require('./identities-864a3664.cjs');
11
- var walletTransactionRequest = require('./walletTransactionRequest-8a458457.cjs');
12
- require('form-data');
11
+ var walletTransactionRequest = require('./walletTransactionRequest-064ae0be.cjs');
13
12
 
14
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
14
 
@@ -27,7 +26,7 @@ const isNode =
27
26
 
28
27
  const runtimeEnv = { isBrowser, isNode };
29
28
 
30
- const name="@cuenca-mx/cuenca-js";const version="0.0.8-dev.8";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-commonjs":"^23.0.2","@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};
29
+ const name="@cuenca-mx/cuenca-js";const version="0.0.8";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};
31
30
 
32
31
  class Client {
33
32
  constructor({
@@ -154,10 +153,9 @@ class Client {
154
153
  multipart = false,
155
154
  params = null,
156
155
  }) {
157
- let headers;
158
- if (multipart) {
159
- headers = data$1.getHeaders();
160
- } else {
156
+ let headers = {};
157
+
158
+ if (!multipart) {
161
159
  headers = {
162
160
  'Content-Type': 'application/json',
163
161
  Accept: `application/${format.value}`,
@@ -396,7 +394,6 @@ class BridgeAccount {
396
394
  status,
397
395
  termsOfService,
398
396
  address,
399
- trackingLink,
400
397
  }) {
401
398
  this.id = id;
402
399
  this.createdAt = data.dateToUTC(createdAt);
@@ -418,7 +415,6 @@ class BridgeAccount {
418
415
  this.status = data.enumValueFromString(data.BridgeAccountStatus, status);
419
416
  this.setTerms = termsOfService;
420
417
  this.setAddress = address;
421
- this.trackingLink = trackingLink;
422
418
  }
423
419
 
424
420
  static fromObject = ({ status, address, ...obj }) =>
@@ -443,7 +439,6 @@ class BridgeAccount {
443
439
  phoneNumber: obj.phone_number,
444
440
  proofOfAddress: obj.proof_of_address,
445
441
  termsOfService: obj.terms_of_service,
446
- trackingLink: obj.tracking_link,
447
442
  });
448
443
 
449
444
  get address() {
@@ -1806,9 +1801,8 @@ class FileResource extends mix(Resource).with(Downlodable, Uploadable) {
1806
1801
  return byteString;
1807
1802
  }
1808
1803
 
1809
- async upload({ ...req }) {
1810
- const request = new walletTransactionRequest.UploadRequest(req);
1811
- const fileUpload = await this._upload(request.toFormData());
1804
+ async upload(request) {
1805
+ const fileUpload = await this._upload(request);
1812
1806
  return fileUpload;
1813
1807
  }
1814
1808
  }
package/build/index.mjs CHANGED
@@ -4,8 +4,7 @@ import { CuencaResponseException, CuencaException, NoResultFound, MultipleResult
4
4
  import { Jwt } from './jwt/index.mjs';
5
5
  import { P as Phase, F as FileFormat, d as dateToUTC, e as enumValueFromString, E as EntryType, T as TransactionStatus, B as BridgeAccountStatus, a as BridgeTransactionType, C as Currency, N as Network, b as CardFundingType, c as CardIssuer, f as CardStatus, g as CardType, h as CardErrorType, i as CardTransactionType, j as CommissionType, D as DepositNetwork, K as KYCFileType, S as SavingCategory, k as ServiceProviderCategory, l as SessionType, m as TransferNetwork, V as VerificationStatus, U as UserStatus, n as VerificationType, W as WalletTransactionType } from './data-7c37f8ca.mjs';
6
6
  import { A as Address, K as KYCFile, T as TOSAgreements, a as AccountQuery, b as ApiKeyQuery, B as BalanceEntryQuery, c as BillPaymentQuery, d as BridgeAccountQuery, e as BridgeTransactionQuery, C as CardsQuery, f as CardTransactionQuery, Q as QueryParams, D as DepositQuery, W as WalletQuery, S as StatementQuery, g as TransferQuery, U as UserQuery, h as WalletTransactionQuery } from './identities-6206abae.mjs';
7
- import { A as ApiKeyUpdateRequest, a as ArpcRequest, U as UserUpdateRequest, C as CardActivationRequest, b as CardRequest, c as CardUpdateRequest, d as CardValidationRequest, e as UploadRequest, K as KYCValidationsRequest, S as SavingRequest, f as SessionRequest, T as TransferRequest, g as UserCredentialRequest, h as UserCredentialUpdateRequest, i as UserLoginRequest, V as VerificationRequest, j as VerificationAttemptRequest, W as WalletTransactionRequest } from './walletTransactionRequest-2d2c4df8.mjs';
8
- import 'form-data';
7
+ import { A as ApiKeyUpdateRequest, a as ArpcRequest, U as UserUpdateRequest, C as CardActivationRequest, b as CardRequest, c as CardUpdateRequest, d as CardValidationRequest, K as KYCValidationsRequest, S as SavingRequest, e as SessionRequest, T as TransferRequest, f as UserCredentialRequest, g as UserCredentialUpdateRequest, h as UserLoginRequest, V as VerificationRequest, i as VerificationAttemptRequest, W as WalletTransactionRequest } from './walletTransactionRequest-56ca4f41.mjs';
9
8
 
10
9
  /* global window */
11
10
 
@@ -18,7 +17,7 @@ const isNode =
18
17
 
19
18
  const runtimeEnv = { isBrowser, isNode };
20
19
 
21
- const name="@cuenca-mx/cuenca-js";const version="0.0.8-dev.8";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-commonjs":"^23.0.2","@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};
20
+ const name="@cuenca-mx/cuenca-js";const version="0.0.8";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};
22
21
 
23
22
  class Client {
24
23
  constructor({
@@ -145,10 +144,9 @@ class Client {
145
144
  multipart = false,
146
145
  params = null,
147
146
  }) {
148
- let headers;
149
- if (multipart) {
150
- headers = data.getHeaders();
151
- } else {
147
+ let headers = {};
148
+
149
+ if (!multipart) {
152
150
  headers = {
153
151
  'Content-Type': 'application/json',
154
152
  Accept: `application/${format.value}`,
@@ -387,7 +385,6 @@ class BridgeAccount {
387
385
  status,
388
386
  termsOfService,
389
387
  address,
390
- trackingLink,
391
388
  }) {
392
389
  this.id = id;
393
390
  this.createdAt = dateToUTC(createdAt);
@@ -409,7 +406,6 @@ class BridgeAccount {
409
406
  this.status = enumValueFromString(BridgeAccountStatus, status);
410
407
  this.setTerms = termsOfService;
411
408
  this.setAddress = address;
412
- this.trackingLink = trackingLink;
413
409
  }
414
410
 
415
411
  static fromObject = ({ status, address, ...obj }) =>
@@ -434,7 +430,6 @@ class BridgeAccount {
434
430
  phoneNumber: obj.phone_number,
435
431
  proofOfAddress: obj.proof_of_address,
436
432
  termsOfService: obj.terms_of_service,
437
- trackingLink: obj.tracking_link,
438
433
  });
439
434
 
440
435
  get address() {
@@ -1797,9 +1792,8 @@ class FileResource extends mix(Resource).with(Downlodable, Uploadable) {
1797
1792
  return byteString;
1798
1793
  }
1799
1794
 
1800
- async upload({ ...req }) {
1801
- const request = new UploadRequest(req);
1802
- const fileUpload = await this._upload(request.toFormData());
1795
+ async upload(request) {
1796
+ const fileUpload = await this._upload(request);
1803
1797
  return fileUpload;
1804
1798
  }
1805
1799
  }
@@ -2,12 +2,30 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var walletTransactionRequest = require('../walletTransactionRequest-8a458457.cjs');
5
+ var walletTransactionRequest = require('../walletTransactionRequest-064ae0be.cjs');
6
6
  require('../errors/index.cjs');
7
7
  require('../data-0a7efb93.cjs');
8
- require('form-data');
9
8
 
9
+ class UploadRequest extends walletTransactionRequest.BaseRequest {
10
+ constructor({ isBack = false, file, extension, type, userId = 'me' }) {
11
+ super();
12
+ this.extension = extension;
13
+ this.file = file;
14
+ this.isBack = isBack;
15
+ this.type = type;
16
+ this.userId = userId;
17
+ }
10
18
 
19
+ toObject() {
20
+ return {
21
+ extension: this.extension,
22
+ file: this.file,
23
+ is_back: this.isBack,
24
+ type: this.type,
25
+ user_id: this.userId,
26
+ };
27
+ }
28
+ }
11
29
 
12
30
  exports.ApiKeyUpdateRequest = walletTransactionRequest.ApiKeyUpdateRequest;
13
31
  exports.ArpcRequest = walletTransactionRequest.ArpcRequest;
@@ -15,7 +33,6 @@ exports.CardActivationRequest = walletTransactionRequest.CardActivationRequest;
15
33
  exports.CardRequest = walletTransactionRequest.CardRequest;
16
34
  exports.CardUpdateRequest = walletTransactionRequest.CardUpdateRequest;
17
35
  exports.CardValidationRequest = walletTransactionRequest.CardValidationRequest;
18
- exports.FileUploadRequest = walletTransactionRequest.UploadRequest;
19
36
  exports.KYCValidationsRequeest = walletTransactionRequest.KYCValidationsRequest;
20
37
  exports.SavingRequest = walletTransactionRequest.SavingRequest;
21
38
  exports.SessionRequest = walletTransactionRequest.SessionRequest;
@@ -27,3 +44,4 @@ exports.UserUpdateRequest = walletTransactionRequest.UserUpdateRequest;
27
44
  exports.VerificationAttemptRequest = walletTransactionRequest.VerificationAttemptRequest;
28
45
  exports.VerificationRequest = walletTransactionRequest.VerificationRequest;
29
46
  exports.WalletTransactionRequest = walletTransactionRequest.WalletTransactionRequest;
47
+ exports.FileUploadRequest = UploadRequest;
@@ -1,4 +1,27 @@
1
- export { A as ApiKeyUpdateRequest, a as ArpcRequest, C as CardActivationRequest, b as CardRequest, c as CardUpdateRequest, d as CardValidationRequest, e as FileUploadRequest, K as KYCValidationsRequeest, S as SavingRequest, f as SessionRequest, T as TransferRequest, g as UserCredentialRequest, h as UserCredentialUpdateRequest, i as UserLoginRequest, U as UserUpdateRequest, j as VerificationAttemptRequest, V as VerificationRequest, W as WalletTransactionRequest } from '../walletTransactionRequest-2d2c4df8.mjs';
1
+ import { B as BaseRequest } from '../walletTransactionRequest-56ca4f41.mjs';
2
+ export { A as ApiKeyUpdateRequest, a as ArpcRequest, C as CardActivationRequest, b as CardRequest, c as CardUpdateRequest, d as CardValidationRequest, K as KYCValidationsRequeest, S as SavingRequest, e as SessionRequest, T as TransferRequest, f as UserCredentialRequest, g as UserCredentialUpdateRequest, h as UserLoginRequest, U as UserUpdateRequest, i as VerificationAttemptRequest, V as VerificationRequest, W as WalletTransactionRequest } from '../walletTransactionRequest-56ca4f41.mjs';
2
3
  import '../errors/index.mjs';
3
4
  import '../data-7c37f8ca.mjs';
4
- import 'form-data';
5
+
6
+ class UploadRequest extends BaseRequest {
7
+ constructor({ isBack = false, file, extension, type, userId = 'me' }) {
8
+ super();
9
+ this.extension = extension;
10
+ this.file = file;
11
+ this.isBack = isBack;
12
+ this.type = type;
13
+ this.userId = userId;
14
+ }
15
+
16
+ toObject() {
17
+ return {
18
+ extension: this.extension,
19
+ file: this.file,
20
+ is_back: this.isBack,
21
+ type: this.type,
22
+ user_id: this.userId,
23
+ };
24
+ }
25
+ }
26
+
27
+ export { UploadRequest as FileUploadRequest };
@@ -1 +1 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("axios"),require("buffer"),require("form-data")):"function"==typeof define&&define.amd?define(["exports","axios","buffer","form-data"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).cuenca={},t.axios,t.Buffer,t.FormData)}(this,(function(t,e,s,r){"use strict";function i(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var a=i(e),n=i(s),c=i(r);class o extends Error{constructor(t){super(t),Object.setPrototypeOf(this,o.prototype)}}class d extends o{constructor(t,e){super(`Cuenca Response Error: ${e}`),this.name="CuencaResponseError",this.data=t,this.status=e,Object.setPrototypeOf(this,d.prototype)}}class u extends o{constructor(){super("No results were found"),this.name="NoResultFound",Object.setPrototypeOf(this,u.prototype)}}class h extends o{constructor(){super("One result was expected but multiple were found"),this.name="MultipleResultsFound",Object.setPrototypeOf(this,h.prototype)}}class l extends o{constructor(){super("An invalid JWT token was obtained during authentication"),this.name="MalformedJwtToken",Object.setPrototypeOf(this,l.prototype)}}class p extends o{constructor(){super("Invalid password"),this.name="InvalidPassword",Object.setPrototypeOf(this,p.prototype)}}class m extends Error{constructor(t){super(t),Object.setPrototypeOf(this,m.prototype)}}const f="undefined"!=typeof window&&void 0!==window.document,w="undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process),_=f,b=w;class y{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 l}const{exp:s}=e;return new Date(new Date(1e3*s).toUTCString())};static create=async t=>{const e=t;e.jwtToken=null;const s=e.deleteRequestHeader("X-Cuenca-Token"),{token:r}=await t.post("token",{});s.eject();const i=y.getExpirationDate(r);return new y(i,r)}}class v{static Succeeded=new v("succeeded");static NotValidated=new v("not_validated");static Failed=new v("failed");static OnWaitList=new v("on_wait_list");constructor(t){this.value=t}}class g{static Blocked=new g("blocked");static Comunication=new g("comunication");static ContactlesAmountLimit=new g("contactles_amount_limit");static FraudDetection=new g("fraud_detection");static FraudDetectionUncertain=new g("fraud_detection_uncertain");static InsufficientFounds=new g("insufficient_founds");static InvalidPin=new g("invalid_pin");static Notification=new g("notification");static NotificationDeactivatedCard=new g("notification_deactivated_card");constructor(t){this.value=t}}class O{static Credit=new O("credit");static Debit=new O("debit");constructor(t){this.value=t}}class A{static Accendo=new A("accendo");static Cuenca=new A("cuenca");constructor(t){this.value=t}}class j{static Buy=new j("buy");static Sell=new j("sell");constructor(t){this.value=t}}class x{static Active=new x("active");static Blocked=new x("blocked");static Created=new x("created");static Deactivated=new x("deactivated");static Printing=new x("printing");constructor(t){this.value=t}}class I{static Auth=new I("auth");static Capture=new I("capture");static Chargeback=new I("chargeback");static Expiration=new I("expiration");static Refund=new I("refund");static Void=new I("void");constructor(t){this.value=t}}class k{static Mxn=new k("mxn");static Usdc=new k("usdc");static Sol=new k("sol");constructor(t){this.value=t}}class U{static Physical=new U("physical");static Virtual=new U("virtual");constructor(t){this.value=t}}class T{static CardRequest=new T("card_request");static CashDeposit=new T("cash_deposit");static OutgoingSpei=new T("outgoing_spei");constructor(t){this.value=t}}class C{static Cash=new C("cash");static Internal=new C("internal");static Spei=new C("spei");constructor(t){this.value=t}}class S{static Credit=new S("credit");static Debit=new S("debit");constructor(t){this.value=t}}class N{static Pdf=new N("application/pdf");static Xml=new N("application/xml");static Json=new N("application/json");static Any=new N("*/*");constructor(t){this.value=t}}class q{static Ine=new q("ine");static Passport=new q("passport");static Residency=new q("residency");static MatriculaConsular=new q("matricula_consular");static ProofOfLiveness=new q("proof_of_liveness");static ProofOfAddress=new q("proof_of_address");constructor(t){this.value=t}}class B{static Sandbox=new B("sandbox-api");static Stage=new B("stage-api");static Api=new B("api");constructor(t){this.value=t}}class P{static Cable=new P("cable");static CreditCard=new P("credit_card");static Electricity=new P("electricity");static Gas=new P("gas");static Internet=new P("internet");static LandlineTelephone=new P("landline_telephone");static MobileTelephonePostpaid=new P("mobile_telephone_postpaid");static MobileTelephonePrepaid=new P("mobile_telephone_prepaid");static SateliteTelevision=new P("satelite_television");static Water=new P("water");constructor(t){this.value=t}}class D{static General=new D("general");static Home=new D("home");static Vehicle=new D("vehicle");static Travel=new D("travel");static Clothing=new D("clothing");static Other=new D("other");static Medical=new D("medical");static Accident=new D("accident");static Education=new D("education");constructor(t){this.value=t}}class ${static AccountEntries=new $("session.account_entries");static DownloadFile=new $("session.download_file");static Registration=new $("session.registration");static ShowCard=new $("session.show_card");static UploadFile=new $("session.upload_file");constructor(t){this.value=t}}class L{static NotSet=new L("not_set");static Terminal=new L("terminal");static Manual=new L("manual");static Unknown=new L("unknown");static Contactless=new L("contactless");static FallBack=new L("fall_back");static MagneticStripe=new L("magnetic_stripe");static RecurringCharge=new L("recurring_charge");constructor(t){this.value=t}}class E{static Polygon=new E("polygon");static Solana=new E("solana");constructor(t){this.value=t}}class K{static Created=new K("created");static Failed=new K("failed");static InReview=new K("in_review");static Submitted=new K("submitted");static Succeeded=new K("succeeded");constructor(t){this.value=t}}class M{static Internal=new M("internal");static Spei=new M("spei");constructor(t){this.value=t}}class V{static Active=new V("active");static Deactivated=new V("deactivated");static Fraud=new V("fraud");static PldBlocked=new V("pld_blocked");constructor(t){this.value=t}}class R{static Created=new R("created");static NotVerified=new R("not_verified");static Rejected=new R("rejected");static ReviewNeeded=new R("review_needed");static Submitted=new R("submitted");static Succeeded=new R("succeeded");static UploadAgain=new R("upload_again");constructor(t){this.value=t}}class F{static Phone=new F("phone");static Email=new F("email");constructor(t){this.value=t}}class H{static Deposit=new H("deposit");static Withdrawal=new H("withdrawal");constructor(t){this.value=t}}const Y=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},W=(t,e)=>Object.values(t).find((t=>t.value===e));class z{constructor({createdAfter:t,createdBefore:e,limit:s,pageSize:r,relatedTransaction:i,userId:a,count:n=!1}){this.createdAfter=t,this.createdBefore=e,this._lmt=s,this.relatedTransaction=i,this.userId=a,this.count=n,this.pageSize=r}get limit(){return this._limit}set _lmt(t){let e=null;t&&t>=0&&(e=t),this._limit=e}toObject(){return{created_after:this.createdAfter,created_before:this.createdBefore,limit:this.limit,related_transaction:this.relatedTransaction,user_id:this.userId,page_size:this.pageSize&&this.pageSize.size}}toParams(){const t={...this.toObject()};return this.count&&(t.count=1),Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}toQueryString(){return new URLSearchParams(this.toParams()).toString()}}class X extends z{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class G extends z{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class Q extends z{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class J extends Q{constructor({trackingKey:t,network:e,...s}){super(s),this.trackingKey=t,this.network=e}toObject(){return Object.assign(super.toObject(),{tracking_key:this.trackingKey,network:this.network})}}class Z extends Q{constructor({accountNumber:t,idempotencyKey:e,trackingKey:s,network:r,...i}){super(i),this.accountNumber=t,this.idempotencyKey=e,this.trackingKey=s,this.network=r}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber,idempotency_key:this.idempotencyKey,tracking_key:this.trackingKey,network:this.network})}}class tt extends z{constructor({fundingInstrumentUri:t,count:e=!1,walletId:s="default",...r}){super(r),this.fundingInstrumentUri=t,this.count=e,this.walletId=s}toObject(){return Object.assign(super.toObject(),{wallet_id:this.walletId,funding_instrument_uri:this.fundingInstrumentUri,count:this.count})}}class et extends z{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class st extends z{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class rt extends z{constructor({cardUri:t,count:e=!1,...s}){super(s),this.cardUri=t,this.count=e}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri,count:this.count})}}class it extends z{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class at extends z{constructor({emailAddress:t,phoneNumber:e,status:s,...r}){super(r),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 nt extends z{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class ct extends z{constructor({month:t,year:e,...s}){super(s),this.d={month:t,year:e}}get month(){return this._date.month}get year(){return this._date.year}set d({month:t,year:e}){const s=Y(Date.now());s.setUTCDate(1);if(Y(`${e}-${t}-01`).getTime()>=s.getTime())throw new m(`${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 ot extends z{constructor({emailAddress:t,...e}){super(e),this.emailAddress=t}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress})}}class dt extends z{constructor({accountId:t,status:e,type:s,...r}){super(r),this.accountId=t,this.status=e,this.type=s}toObject(){return Object.assign(super.toObject(),{account:this.accountId,status:this.status,type:this.type})}}class ut{constructor({ip:t,location:e,type:s,version:r}){this.ip=t,this.location=e,this.type=s,this.version=r}static fromObject=({ip:t,location:e,type:s,version:r})=>new ut({ip:t,location:e,type:s,version:r})}class ht{constructor({code:t,error:e,identifier:s,message:r}){this.code=t,this.error=e,this.identifier=s,this.message=r}static fromObject=({code:t,error:e,identifier:s,message:r})=>new ht({code:t,error:e,identifier:s,message:r})}class lt{constructor({data:t,errors:e,isMx:s,status:r,type:i,uriBack:a,uriFront:n}){this.data=t,this.isMx=s,this.status=W(R,r),this.type=W(q,i),this.uriBack=a,this.uriFront=n,e&&e.length>0&&(this.errors=e.map((t=>ht.fromObject(t))))}static fromObject=({data:t,errors:e,status:s,type:r,...i})=>new lt({data:t,errors:e,status:s,type:r,isMx:i.is_mx,uriBack:i.uri_back,uriFront:i.uri_front})}class pt{constructor({city:t,country:e,createdAt:s,extNumber:r,fullName:i,intNumber:a,postalCode:n,state:c,street:o}){this.city=t,this.country=e,this.createdAt=Y(s),this.extNumber=r,this.fullName=i,this.intNumber=a,this.postalCode=n,this.state=c,this.street=o}static fromObject=({city:t,country:e,state:s,street:r,...i})=>new pt({city:t,country:e,state:s,street:r,createdAt:i.created_at,extNumber:i.ext_number,fullName:i.full_name,intNumber:i.int_number,postalCode:i.postal_code})}var mt="0.0.8-dev.8";class ft{constructor({apiKey:t,apiSecret:e,language:s="en",phase:r=B.Sandbox}={}){this.phase=r,this.basicAuth={apiKey:t,apiSecret:e},this.jwtToken=null,this._session=a.default.create({headers:{"Accept-Language":s},timeout:45e3})}get session(){return this._session}get origin(){return`https://${this.phase.value}.arteria.xyz`}get authHeader(){const{apiKey:t,apiSecret:e}=this.basicAuth;return t&&e?`Basic ${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:r}}=s;return Object.keys(t).forEach((e=>r[e]=t[e])),s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}deleteRequestHeader(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common:r}}=s;return delete r[t],s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}addConfigToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e;return Object.keys(t).forEach((e=>s[e]=t[e])),s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}async configure({apiKey:t,apiSecret:e,loginToken:s,phase:r,sessionId:i,useJwt:a=!1}){this.basicAuth={apiKey:t||this.basicAuth.apiKey,apiSecret:e||this.basicAuth.apiSecret},r&&(this.phase=r),a&&(this.jwtToken=await y.create(this)),s&&this.addHeadersToRequest({"X-Cuenca-LoginToken":s}),i&&this.addHeadersToRequest({"X-Cuenca-SessionId":i})}async get({endpoint:t,format:e,params:s}){return this.request({endpoint:t,format:e,params:s})}async post({endpoint:t,data:e,multipart:s}){return this.request({method:"POST",endpoint:t,data:e,multipart:s})}async patch({endpoint:t,data:e}){return this.request({method:"PATCH",endpoint:t,data:e})}async delete({endpoint:t,data:e}){return this.request({method:"DELETE",endpoint:t,data:e})}async request({endpoint:t,data:e=null,format:s=N.Json,method:r="GET",multipart:i=!1,params:a=null}){let n;n=i?e.getHeaders():{"Content-Type":"application/json",Accept:`application/${s.value}`},this.authHeader&&(n.Authorization=this.authHeader),b?n["User-Agent"]=`cuenca-js/${mt}`:_&&(n["X-User-Agent"]=`cuenca-js/${mt}`),this.jwtToken&&(this.jwtToken.isExpired&&(this.jwtToken=await y.create(this)),n["X-Cuenca-Token"]=this.jwtToken.token);const c=this.addHeadersToRequest(n),u=e;u&&!i&&Object.keys(u).forEach((t=>{u[t]instanceof Date&&(u[t]=u[t].toISOString())}));const h=this.addConfigToRequest({method:r,params:a,data:u,url:t});let l;try{l=await this._session.request({baseURL:this.origin})}catch(t){throw t.response?new d(t.response.data,t.response.status):t.request?new o(`No response received: ${t.errno}: ${t.code}`):new o(t.message)}finally{c.eject(),h.eject()}return l.data}}class wt{constructor({accountNumber:t,createdAt:e,id:s,institutionName:r,name:i,userId:a}){this.accountNumber=t,this.createdAt=Y(e),this.id=s,this.institutionName=r,this.name=i,this.userId=a}static fromObject=({id:t,name:e,...s})=>new wt({id:t,name:e,accountNumber:s.account_number,createdAt:s.created_at,institutionName:s.institution_name,userId:s.user_id})}class _t{constructor({createdAt:t,deactivatedAt:e,id:s,secret:r,userId:i,updatedAt:a}){this.createdAt=Y(t),this.deactivatedAt=Y(e),this.id=s,this.secret=r,this.userId=i,this.updatedAt=Y(a)}static fromObject=({id:t,secret:e,...s})=>new _t({id:t,secret:e,createdAt:s.created_at,deactivatedAt:s.deactivated_at,userId:s.user_id,updatedAt:s.updated_at});get isActive(){const t=Y(Date.now());return!this.deactivatedAt||this.deactivatedAt.getTime()>t.getTime()}}class bt{constructor({arpc:t,createdAt:e,cardUri:s,isValidArqc:r}){this.arpc=t,this.createdAt=Y(e),this.cardUri=s,this.isValidArqc=r}static fromObject=({arpc:t,...e})=>new bt({arpc:t,createdAt:e.created_at,cardUri:e.card_uri,isValidArqc:e.is_valid_arqc})}class yt{constructor({amount:t,createdAt:e,descriptor:s,entryType:r,fundingInstrumentUri:i,id:a,name:n,relatedTransactionUri:c,rollingBalance:o}){this.amount=t,this.createdAt=Y(e),this.descriptor=s,this.entryType=W(S,r),this.fundingInstrumentUri=i,this.id=a,this.name=n,this.relatedTransactionUri=c,this.rollingBalance=o}static fromObject=({amount:t,descriptor:e,id:s,name:r,type:i,...a})=>new yt({amount:t,descriptor:e,name:r,id:s,createdAt:a.created_at,entryType:i,fundingInstrumentUri:a.funding_instrument_uri,relatedTransactionUri:a.related_transaction_uri,rollingBalance:a.rolling_balance})}class vt{constructor({amount:t,createdAt:e,descriptor:s,status:r,userId:i}){this.amount=t,this.createdAt=Y(e),this.descriptor=s,this.status=W(K,r),this.userId=i}}class gt extends vt{constructor({amount:t,accountNumber:e,createdAt:s,descriptor:r,id:i,providerUri:a,status:n,userId:c}){super({amount:t,createdAt:s,descriptor:r,status:n,userId:c}),this.accountNumber=e,this.id=i,this.providerUri=a}static fromObject=({amount:t,descriptor:e,id:s,status:r,...i})=>new gt({amount:t,descriptor:e,id:s,status:r,accountNumber:i.account_number,createdAt:i.created_at,providerUri:i.provider_uri,userId:i.user_id})}class Ot{constructor({id:t,createdAt:e,updatedAt:s,names:r,firstSurname:i,secondSurname:a,dateOfBirth:n,countryOfBirth:c,rfc:o,curp:d,userId:u,gender:h,phoneNumber:l,emailAddress:p,clientClabe:m,govtId:f,proofOfAddress:w,status:_,termsOfService:b,address:y,trackingLink:g}){this.id=t,this.createdAt=Y(e),this.updatedAt=Y(s),this.emailAddress=p,this.clientClabe=m,this.setGovtId=f,this.names=r,this.firstSurname=i,this.secondSurname=a,this.dateOfBirth=n,this.countryOfBirth=c,this.rfc=o,this.curp=d,this.userId=u,this.gender=h,this.phoneNumber=l,this.setProofOfAddress=w,this.status=W(v,_),this.setTerms=b,this.setAddress=y,this.trackingLink=g}static fromObject=({status:t,address:e,...s})=>new Ot({address:e,status:t,id:s.id,createdAt:s.created_at,updatedAt:s.updated_at,clientClabe:s.client_clabe,names:s.names,firstSurname:s.first_surname,secondSurname:s.second_surname,dateOfBirth:s.date_of_birth,countryOfBirth:s.country_of_birth,rfc:s.rfc,curp:s.curp,userId:s.user_id,gender:s.gender,govtId:s.govt_id,emailAddress:s.email_address,phoneNumber:s.phone_number,proofOfAddress:s.proof_of_address,termsOfService:s.terms_of_service,trackingLink:s.tracking_link});get address(){return this._address}set setAddress(t){t&&0!==Object.keys(t).length&&(this._address=pt.fromObject(t))}get proofOfAddress(){return this._proofOfAddress}set setProofOfAddress(t){t&&0!==Object.keys(t).length&&(this._proofOfAddress=lt.fromObject(t))}get govtId(){return this._govtId}set setGovtId(t){t&&0!==Object.keys(t).length&&(this._govtId=lt.fromObject(t))}get termsOfService(){return this._termsOfService}set setTerms(t){t&&0!==Object.keys(t).length&&(this._termsOfService=ut.fromObject(t))}}class At{constructor({id:t,createdAt:e,platformId:s,type:r,status:i,accountUri:a,quoteUri:n,currency:c,network:o,sourceWallet:d,destinationWallet:u,bankAccountUri:h,cuencaId:l,cuentaOrdenante:p,cuentaBeneficiario:m,nombreOrdenante:f,claveRastreo:w,rfcCurpOrdenante:_,concepto:b,referenciaNumerica:y,signature:v,trackingLink:g,fromCurrency:O,toCurrency:A,fromAmount:x,toAmount:I}){this.id=t,this.createdAt=Y(e),this.platformId=s,this.type=W(j,r),this.status=W(K,i),this.accountUri=a,this.quoteUri=n,this.currency=W(k,c),this.network=W(E,o),this.sourceWallet=d,this.destinationWallet=u,this.bankAccountUri=h,this.cuencaId=l,this.cuentaOrdenante=p,this.cuentaBeneficiario=m,this.nombreOrdenante=f,this.claveRastreo=w,this.rfcCurpOrdenante=_,this.concepto=b,this.referenciaNumerica=y,this.signature=v,this.trackingLink=g,this.fromCurrency=W(k,O),this.toCurrency=W(k,A),this.fromAmount=x,this.toAmount=I}static fromObject=({type:t,status:e,currency:s,network:r,concepto:i,signature:a,...n})=>new At({id:n.id,createdAt:n.created_at,platformId:n.platform_id,accountUri:n.account_uri,quoteUri:n.quote_uri,sourceWallet:n.source_wallet,destinationWallet:n.destination_wallet,bankAccountUri:n.bank_account_uri,cuencaId:n.cuenca_id,cuentaOrdenante:n.cuenta_ordenante,cuentaBeneficiario:n.cuenta_beneficiario,nombreOrdenante:n.nombre_ordenante,claveRastreo:n.clave_rastreo,rfcCurpOrdenante:n.rfc_curp_ordenante,referenciaNumerica:n.referencia_numerica,trackingLink:n.tracking_link,fromCurrency:n.from_currency,toCurrency:n.to_currency,fromAmount:n.from_amount,toAmount:n.to_amount,type:t,status:e,currency:s,network:r,concepto:i,signature:a})}class jt{constructor({createdAt:t,cvv2:e,expMonth:s,expYear:r,fundingType:i,id:a,issuer:n,number:c,pin:o,status:d,type:u,updatedAt:h,userId:l}){this.createdAt=Y(t),this.cvv2=e,this.expMonth=s,this.expYear=r,this.fundingType=W(O,i),this.id=a,this.issuer=W(A,n),this.number=c,this.pin=o,this.status=W(x,d),this.type=W(U,u),this.updatedAt=Y(h),this.userId=l}static fromObject=({cvv2:t,id:e,issuer:s,number:r,pin:i,status:a,type:n,...c})=>new jt({cvv2:t,id:e,issuer:s,number:r,pin:i,status:a,type:n,createdAt:c.created_at,expMonth:c.exp_month,expYear:c.exp_year,fundingType:c.funding_type,updatedAt:c.updated_at,userId:c.user_id})}class xt{constructor({cardUri:t,createdAt:e,id:s,ipAddress:r,success:i,userId:a}){this.cardUri=t,this.createdAt=Y(e),this.id=s,this.ipAddress=r,this.success=i,this.userId=a}static fromObject=({id:t,success:e,...s})=>new xt({id:t,success:e,cardUri:s.card_uri,createdAt:s.created_at,ipAddress:s.ip_address,userId:s.user_id})}class It extends vt{constructor({amount:t,cardErrorType:e,cardLastFour:s,cardType:r,cardUri:i,createdAt:a,descriptor:n,metadata:c,network:o,relatedCardTransactionsUris:d,status:u,type:h,userId:l}){super({amount:t,createdAt:a,descriptor:n,status:u,userId:l}),this.cardErrorType=W(g,e),this.cardLastFour=s,this.cardType=W(U,r),this.cardUri=i,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=W(I,h)}static fromObject=({amount:t,descriptor:e,metadata:s,network:r,status:i,type:a,...n})=>new It({amount:t,descriptor:e,metadata:s,network:r,status:i,type:a,cardErrorType:n.error_type,cardLastFour:n.card_last4,cardType:n.card_type,cardUri:n.card_uri,createdAt:n.created_at,relatedCardTransactionsUris:n.related_card_transaction,userId:n.user_id})}class kt{constructor({cardStatus:t,cardType:e,cardUri:s,createdAt:r,isExpired:i,isPinAttemptsExceeded:a,isValidCvv:n,isValidCvv2:c,isValidExpDate:o,isValidIcvv:d,isValidPinBlock:u,userId:h}){this.cardStatus=W(x,t),this.cardType=W(U,e),this.cardUri=s,this.createdAt=Y(r),this.isExpired=i,this.isPinAttemptsExceeded=a,this.isValidCvv=n,this.isValidCvv2=c,this.isValidExpDate=o,this.isValidIcvv=d,this.isValidPinBlock=u,this.userId=h}static fromObject=({...t})=>new kt({cardStatus:t.card_status,cardType:t.card_type,cardUri:t.card_uri,createdAt:t.created_at,isExpired:t.is_expired,isPinAttemptsExceeded:t.is_pin_attempts_exceeded,isValidCvv:t.is_valid_cvv,isValidCvv2:t.is_valid_cvv2,isValidExpDate:t.is_valid_exp_date,isValidIcvv:t.is_valid_icvv,isValidPinBlock:t.is_valid_pin_block,userId:t.user_id});get isActive(){return this.cardStatus===x.Active}}class Ut extends vt{constructor({amount:t,createdAt:e,descriptor:s,relatedTransactionUri:r,status:i,type:a,userId:n}){super({amount:t,createdAt:e,descriptor:s,status:i,userId:n}),this.relatedTransactionUri=r,this.type=W(T,a)}static fromObject=({amount:t,descriptor:e,status:s,type:r,...i})=>new Ut({amount:t,descriptor:e,status:s,type:r,createdAt:i.created_at,relatedTransactionUri:i.related_transaction_uri,userId:i.user_id})}class Tt extends vt{constructor({amount:t,createdAt:e,descriptor:s,id:r,network:i,status:a,sourceUri:n,trackingKey:c,userId:o}){super({amount:t,createdAt:e,descriptor:s,status:a,userId:o}),this.id=r,this.network=W(C,i),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:r,status:i,...a})=>new Tt({amount:t,descriptor:e,id:s,network:r,status:i,createdAt:a.created_at,sourceUri:a.source_uri,trackingKey:a.tracking_key,userId:a.user_id})}class Ct{constructor({extension:t,type:e,url:s,userId:r}){this.extension=t,this.type=W(q,e),this.url=s,this.userId=r}static fromObject=({extension:t,type:e,url:s,...r})=>new Ct({extension:t,type:e,url:s,userId:r.user_id})}class St{constructor({platformId:t,attemps:e,verificationId:s,filesUri:r}){this.attemps=e,this.filesUri=r,this.platformId=t,this.verificationId=s}static fromObject=({attemps:t,...e})=>new St({attemps:t,filesUri:e.files_uri,platformId:e.platform_id,verificationId:e.verification_id})}class Nt{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new Nt({id:t})}class qt{constructor({balance:t,createdAt:e,deactivatedAt:s,id:r,userId:i,updatedAt:a}){this.balance=t,this.createdAt=Y(e),this.deactivatedAt=Y(s),this.id=r,this.userId=i,this.updatedAt=Y(a)}}class Bt extends qt{constructor({balance:t,category:e,createdAt:s,deactivatedAt:r,goalAmount:i,goalDate:a,id:n,name:c,userId:o,updatedAt:d}){super({balance:t,createdAt:s,deactivatedAt:r,id:n,userId:o,updatedAt:d}),this.category=W(D,e),this.goalAmount=i,this.goalDate=Y(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:r,...i})=>new Bt({balance:t,category:e,id:s,name:r,createdAt:i.created_at,deactivatedAt:i.deactivated_at,goalAmount:i.goal_amount,goalDate:i.goal_date,userId:i.user_id,updatedAt:i.updated_at})}class Pt{constructor({categories:t,id:e,name:s,providerKey:r}){var i;this.categories=null==(i=t)?[]:i.map((t=>W(P,t))),this.id=e,this.name=s,this.providerKey=r}static fromObject=({categories:t,id:e,name:s,...r})=>new Pt({categories:t,id:e,name:s,providerKey:r.provider_key})}class Dt{constructor({createdAt:t,expiresAt:e,failureUrl:s,id:r,platformId:i,successUrl:a,type:n,userId:c}){this.createdAt=Y(t),this.expiresAt=Y(e),this.failureUrl=s,this.id=r,this.platformId=i,this.successUrl=a,this.type=W($,n),this.userId=c}static fromObject=({id:t,type:e,...s})=>new Dt({id:t,type:e,createdAt:s.created_at,expiresAt:s.expires_at,failureUrl:s.failure_url,platformId:s.platform_id,successUrl:s.success_url,userId:s.user_id})}class $t{constructor({createdAt:t,id:e,month:s,year:r}){this.createdAt=Y(t),this.id=e,this.month=s,this.year=r}static fromObject=({id:t,month:e,year:s,...r})=>new $t({id:t,month:e,year:s,createdAt:r.created_at})}class Lt extends vt{constructor({accountNumber:t,amount:e,createdAt:s,descriptor:r,destinationUri:i,id:a,idempotencyKey:n,network:c,recipientName:o,status:d,trackingKey:u,updatedAt:h,userId:l}){super({amount:e,createdAt:s,descriptor:r,status:d,userId:l}),this.accountNumber=t,this.destinationUri=i,this.id=a,this.idempotencyKey=n,this.network=W(M,c),this.recipientName=o,this.trackingKey=u,this.updatedAt=Y(h)}static fromObject=({amount:t,descriptor:e,id:s,network:r,status:i,...a})=>new Lt({amount:t,descriptor:e,id:s,network:r,status:i,accountNumber:a.account_number,createdAt:a.created_at,destinationUri:a.destination_uri,idempotencyKey:a.idempotency_key,recipientName:a.recipient_name,trackingKey:a.tracking_key,updatedAt:a.updated_at,userId:a.user_id})}class Et{constructor({address:t,blacklistValidationStatus:e,clabe:s,countryOfBirth:r,createdAt:i,curp:a,dateOfBirth:n,emailAddress:c,firstSurname:o,gender:d,govtId:u,id:h,level:l,names:p,nationality:m,phoneNumber:f,proofOfAddress:w,proofOfLife:_,requiredLevel:b,rfc:y,secondSurname:v,stateOfBirth:g,status:O,termsOfService:A,updatedAt:j,verificationId:x}){this.setAddress=t,this.blacklistValidationStatus=W(R,e),this.clabe=s,this.countryOfBirth=r,this.createdAt=Y(i),this.curp=a,this.dateOfBirth=n,this.emailAddress=c,this.firstSurname=o,this.gender=d,this.id=h,this.level=l,this.names=p,this.nationality=m,this.phoneNumber=f,this.setGovtId=u,this.setProofOfAddress=w,this.setProofOfLife=_,this.requiredLevel=b,this.rfc=y,this.secondSurname=v,this.stateOfBirth=g,this.status=W(V,O),this.setTerms=A,this.updatedAt=Y(j),this.verificationId=x}get address(){return this._address}set setAddress(t){t&&(this._address=pt.fromObject(t))}get proofOfAddress(){return this._proofOfAddress}set setProofOfAddress(t){t&&(this._proofOfAddress=lt.fromObject(t))}get proofOfLife(){return this._proofOfLife}set setProofOfLife(t){t&&(this._proofOfLife=lt.fromObject(t))}get govtId(){return this._govtId}set setGovtId(t){t&&(this._govtId=lt.fromObject(t))}get termsOfService(){return this._termsOfService}set setTerms(t){t&&(this._termsOfService=ut.fromObject(t))}static fromObject=({address:t,clabe:e,curp:s,gender:r,id:i,level:a,names:n,nationality:c,rfc:o,status:d,...u})=>new Et({address:t,clabe:e,curp:s,gender:r,id:i,level:a,names:n,nationality:c,rfc:o,status:d,blacklistValidationStatus:u.blacklist_validation_status,countryOfBirth:u.country_of_birth,createdAt:u.created_at,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 Kt{constructor({createdAt:t,id:e,isActive:s,updatedAt:r}){this.createdAt=Y(t),this.id=e,this.isActive=s,this.updatedAt=Y(r)}static fromObject=({id:t,...e})=>new Kt({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class Mt{constructor({id:t,lastLoginAt:e,success:s}){this.id=t,this.lastLoginAt=Y(e),this.success=s}static fromObject=({id:t,success:e,...s})=>new Mt({id:t,success:e,lastLoginAt:s.last_login_at})}class Vt{constructor({createdAt:t,id:e,platformId:s,recipient:r,type:i,updatedAt:a}){this.createdAt=Y(t),this.id=e,this.platformId=s,this.recipient=r,this.type=W(F,i),this.updatedAt=Y(a)}static fromObject=({id:t,recipient:e,type:s,...r})=>new Vt({id:t,recipient:e,type:s,createdAt:r.created_at,platformId:r.platform_id,updatedAt:r.updated_at})}class Rt extends vt{constructor({amount:t,createdAt:e,descriptor:s,id:r,status:i,transactionType:a,userId:n,walletUri:c}){super({amount:t,createdAt:e,descriptor:s,status:i,userId:n}),this.id=r,this.transactionType=W(H,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:r,...i})=>new Rt({amount:t,descriptor:e,id:s,status:r,createdAt:i.created_at,transactionType:i.transaction_type,userId:i.user_id,walletUri:i.wallet_uri})}class Ft extends vt{constructor({amount:t,claimUrl:e,createdAt:s,descriptor:r,destinationUri:i,expiresAt:a,id:n,network:c,phoneNumber:o,recipientName:d,status:u,trackingKey:h,updatedAt:l,userId:p}){super({amount:t,createdAt:s,descriptor:r,status:u,userId:p}),this.claimUrl=e,this.destinationUri=i,this.id=n,this.expiresAt=Y(a),this.network=W(M,c),this.phoneNumber=o,this.recipientName=d,this.trackingKey=h,this.updatedAt=Y(l)}static fromObject=({amount:t,descriptor:e,id:s,network:r,status:i,...a})=>new Ft({amount:t,descriptor:e,id:s,network:r,status:i,createdAt:a.created_at,claimUrl:a.claim_url,destinationUri:a.destination_uri,expiresAt:a.expires_at,phoneNumber:a.phone_number,recipientName:a.recipient_name,trackingKey:a.tracking_key,updatedAt:a.updated_at,userId:a.user_id})}class Ht{constructor(t){this.superclass=t}with(...t){return t.reduce(((t,e)=>e(t)),this.superclass)}}const Yt=t=>new Ht(t),Wt=(t,e)=>({accounts:()=>wt.fromObject(e),api_keys:()=>_t.fromObject(e),arpc:()=>bt.fromObject(e),balance_entries:()=>yt.fromObject(e),bill_payments:()=>gt.fromObject(e),"bridge/accounts":()=>Ot.fromObject(e),"bridge/kyc_validations":()=>St.fromObject(e),"bridge/sessions":()=>Dt.fromObject(e),"bridge/transactions":()=>At.fromObject(e),cards:()=>jt.fromObject(e),card_activations:()=>xt.fromObject(e),card_transactions:()=>It.fromObject(e),card_validations:()=>kt.fromObject(e),commissions:()=>Ut.fromObject(e),deposits:()=>Tt.fromObject(e),files:()=>Ct.fromObject(e),kyc_validations:()=>St.fromObject(e),login_tokens:()=>Nt.fromObject(e),savings:()=>Bt.fromObject(e),service_providers:()=>Pt.fromObject(e),sessions:()=>Dt.fromObject(e),statements:()=>$t.fromObject(e),transfers:()=>Lt.fromObject(e),users:()=>Et.fromObject(e),user_credentials:()=>Kt.fromObject(e),user_logins:()=>Mt.fromObject(e),verifications:()=>Vt.fromObject(e),wallet_transactions:()=>Rt.fromObject(e),whatsapp_transfers:()=>Ft.fromObject(e)}[t]()),zt=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class Xt{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const Gt=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return Wt(this.path,e)}},Qt=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return Wt(this.path,e)}},Jt=t=>class extends t{async _update(t,e){const s=await this.client.patch({endpoint:`/${this.path}/${t}`,data:e});return Wt(this.path,s)}},Zt=t=>class extends t{async _upload(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t,multipart:!0});return Wt(this.path,e)}},te=t=>class extends t{async _deactivate(t,e){const s=await this.client.delete({endpoint:`/${this.path}/${t}`,data:e});return Wt(this.path,s)}},ee=t=>class extends t{async _download(t,e){return await this.client.get({endpoint:`/${this.path}/${t}`,format:e})}},se=t=>class extends t{async one(t=new this.QueryParams({})){const{items:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});if(!e||!e.length)throw new u;if(e.length>1)throw new h;const[s]=e;return Wt(this.path,s)}async first(t=new this.QueryParams({})){const{items:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});if(!e||!e[0])return null;const[s]=e;return Wt(this.path,s)}async count(t=new this.QueryParams({})){t.count=!0;const{count:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});return e||0}async*all(t=new this.QueryParams({})){let e=`/${this.path}?${t.toQueryString()}`;for(;e;){const t=await this.client.get({endpoint:e});if(t.items)for(const e of t.items){const t=Wt(this.path,e);yield t}e=t.next_page_uri}}};class re extends(Yt(Xt).with(se,Gt)){constructor(t){super("accounts",X,t)}}class ie{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class ae extends ie{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class ne extends ie{constructor(t,e,s){super(),this.userId=t,this.issuer=e,this.fundingType=s}toObject(){return{user_id:this.userId,issuer:this.issuer,funding_type:this.fundingType}}}class ce extends ie{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class oe extends ie{constructor(t,e,s,r){super(),this.n=t,this.eM=e,this.eY=s,this.c2=r}get number(){return this._number}set n(t){if([!!t,16===t.length,/^\d{16}/.test(t)].some((t=>!t)))throw new m("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 m("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 m("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 m("Invalid cvv2");this._cvv2=t}toObject(){return{number:this.number,exp_month:this.expMonth,exp_year:this.expYear,cvv2:this.cvv2}}}class de extends ie{constructor({cvv:t,cvv2:e,expMonth:s,expYear:r,icvv:i,number:a,pinBlock:n,pinAttemptsExceeded:c}){super(),this.c=t,this.c2=e,this.em=s,this.ey=r,this.ic=i,this.n=a,this.pinBloc=n,this.pinAttemptsExceeded=c}get cvv(){return this._cvv}set c(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new m("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 m("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 m("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 m("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 m("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 m("Invalid number");this._number=t}toObject(){return{cvv:this.cvv,cvv2:this.cvv2,exp_month:this.expMonth,exp_year:this.expYear,icvv:this.icvv,number:this.number,pin_block:this.pinBloc,pin_attempts_exceeded:this.pinAttemptsExceeded}}}class ue extends ie{constructor(t){super(),this.userId=t}toObject(){return{user_id:this.userId}}}class he extends ie{constructor(t,e,s,r){super(),this.category=t,this.name=r,this.goalAmount=e,this.validDate=s}get goalDate(){return this._goalDate}set validDate(t){if(t){if(Y(t).getTime()<=Y(Date.now()).getTime())throw new m("The goal_date always need to be higher than now");this._goalDate=t}}toObject(){return{category:this.category,goal_amount:this.goalAmount,goal_date:this.goalDate,name:this.name}}}class le extends ie{constructor({failureUrl:t,successUrl:e,type:s,userId:r,isBridge:i=!1}){super(),this.failureUrl=t,this.successUrl=e,this.type=s,this.userId=r,this.isBridge=i}toObject(){return{failure_url:this.failureUrl,success_url:this.successUrl,type:this.type,[this.isBridge?"account_id":"user_id"]:this.userId}}}class pe extends ie{constructor({isBack:t=!1,file:e,extension:s,type:r,userId:i="me"}){super(),this.extension=s,this.file=e,this.isBack=t,this.type=r,this.userId=i}toObject(){return{extension:this.extension,file:this.file,is_back:this.isBack,type:this.type,user_id:this.userId}}toFormData(){const t=new c.default;return t.append("extension",this.extension),t.append("file",this.file),t.append("type",this.type),t.append("user_id",this.userId),t}}class me extends ie{constructor(t,e,s,r,i){super(),this.accountNumber=t,this.amount=e,this.descriptor=s,this.idempotencyKey=r,this.recipientName=i}toObject(){return{account_number:this.accountNumber,amount:this.amount,descriptor:this.descriptor,idempotency_key:this.idempotencyKey,recipient_name:this.recipientName}}}class fe extends ie{constructor(t){super(),this.pwd=t}get password(){return this._password}set pwd(t){if([!!t,t.length>=6].some((t=>!t)))throw new m("Invalid password");this._password=t}toObject(){return{password:this.password}}}class we extends ie{constructor(t,e){super(),this.pwd=t,this.isActive=e,this.req={password:this.password,isActive:this.isActive}}get password(){return this._password}get request(){return this._request}set pwd(t){if(!t)return void(this._password=t);if([t.length>=6].some((t=>!t)))throw new m("Invalid password");this._password=t}set req(t){if(t.password&&null!=t.isActive)throw new m("Only one property can be updated at a time");this._request=t}toObject(){return{password:this.request.password,is_active:this.request.isActive}}}class _e extends ie{constructor(t,e="me"){super(),this.pwd=t,this.userId=e}get password(){return this._password}set pwd(t){if([!!t,6===t.length,/^\d{6}$/.test(t)].some((t=>!t)))throw new m("Invalid password");this._password=t}toObject(){return{password:this.password,user_id:this.userId}}}class be extends ie{constructor({ip:t,location:e,type:s,version:r}){super(),this.ipAddress=t,this.location=e,this.type=s,this.version=r}get ip(){return this._ip}set ipAddress(t){if(!t)throw new m("missing ip address");if(!t.split(".").every((t=>t>=0&&t<=255)))throw new m("Invalid ip address");this._ip=t}toObject(){return{ip:this.ip,location:this.location,type:this.type,version:this.version}}}class ye extends ie{constructor({city:t,country:e,extNumber:s,intNumber:r,postalCode:i,state:a,street:n}={}){super(),this.city=t,this.country=e,this.extNumber=s,this.intNumber=r,this.postalCode=i,this.state=a,this.street=n}toObject(){return{city:this.city,country:this.country,ext_number:this.extNumber,int_number:this.intNumber,postal_code:this.postalCode,state:this.state,street:this.street}}}class ve extends ie{constructor({data:t,isMx:e,status:s,type:r,uriBack:i,uriFront:a}){super(),this.data=t,this.isMx=e,this.status=s,this.type=r,this.uriBack=i,this.uriFront=a}toObject(){return{data:this.data,is_mx:this.isMx,status:this.status,type:this.type,uri_back:this.uriBack,uri_front:this.uriFront}}}class ge extends ie{constructor({address:t,govtId:e,profession:s,proofOfAddress:r,proofOfLife:i,requiredLevel:a,termsOfService:n,verificationId:c}){super(),this.adrs=t,this.govstIds=e,this.profession=s,this.addressProofs=r,this.lifeProofs=i,this.requiredLevel=a,this.terms=n,this.verificationId=c}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=new be(t).toObject())}get address(){return this._address}set adrs(t){t&&(this._address=new ye(t).toCleanObject())}get proofOfLife(){return this._proofOfLife}set lifeProofs(t){t&&(this._proofOfLife=new ve(t).toCleanObject())}get proofOfAddress(){return this._proofOfAddress}set addressProofs(t){t&&(this._proofOfAddress=new ve(t).toCleanObject())}get govtId(){return this._govtId}set govstIds(t){t&&(this._govtId=new ve(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 Oe extends ie{constructor({platformId:t,recipient:e,type:s}){super(),this.platformId=t,this.type=s,this.recipients=e}get recipient(){return this._recipient}set recipients(t){switch(W(F,this.type)){case F.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 m("Invalid email address");this._recipient=t;break;case F.Phone:if(!t.match(/^\+?[0-9]{10,15}$/))throw new m("Invalid Phone Number");this._recipient=t}}toObject(){return{platform_id:this.platformId,recipient:this.recipient,type:this.type}}}class Ae extends ie{constructor({code:t}){super(),this.code=t}toObject(){return{code:this.code}}}class je extends ie{constructor(t,e,s){super(),this.amount=t,this.transactionType=e,this.walletUri=s}toObject(){return{amount:this.amount,transaction_type:this.transactionType,wallet_uri:this.walletUri}}}class xe extends(Yt(Xt).with(Qt,te,se,Gt,Jt)){constructor(t){super("api_keys",G,t)}async create(){return await this._create()}async deactivate(t,e=0){return await this._deactivate(t,{minutes:e})}async update(t,e,s){const r=new ae(s,e);return await this._update(t,r.toCleanObject())}}class Ie extends(Yt(Xt).with(Qt)){constructor(t){super("arpc",Object,t)}async create({number:t,arqc:e,arpcMethod:s,transactionData:r,responseCode:i,transactionCounter:a,panSequence:n,uniqueNumber:c,trackDataMethod:o}){const d=new ArpcRequest({number:t,arqc:e,arpcMethod:s,transactionData:r,responseCode:i,transactionCounter:a,panSequence:n,uniqueNumber:c,trackDataMethod:o});return await this._create(d.toObject())}}class ke extends(Yt(Xt).with(se,Gt)){constructor(t){super("balance_entries",tt,t)}async relatedTransaction(t){const e=zt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Wt(`${e}`,s)}async fundingInstrument(t){const e=zt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Wt(`${e}`,s)}}class Ue extends(Yt(Xt).with(se,Gt)){constructor(t){super("bill_payments",et,t)}async serviceProvider(t){const e=zt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Wt(`${e}`,s)}}class Te extends(Yt(Xt).with(se,Jt,Gt)){constructor(t){super("bridge/accounts",ot,t)}async update({userId:t="me",...e}){const s=new ge(e);return await this._update(t,s.toCleanObject())}}class Ce extends(Yt(Xt).with(se,Gt)){constructor(t){super("bridge/transactions",dt,t)}}class Se extends(Yt(Xt).with(Qt)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:r}){const i=new oe(t,e,s,r);return await this._create(i.toCleanObject())}async card(t){if(!t)return null;const e=await this.client.get({endpoint:t});return jt.fromObject(e)}}class Ne extends(Yt(Xt).with(Qt,te,se,Gt,Jt)){constructor(t){super("cards",rt,t)}async create(t,e,s){const r=new ne(t,e,s);return await this._create(r.toCleanObject())}async deactivate(t){return await this._deactivate(t)}async update(t,e,s){const r=new ce(e,s);return await this._update(t,r.toCleanObject())}}class qe extends(Yt(Xt).with(se,Gt)){constructor(t){super("card_transactions",st,t)}async relatedCard(t){const e=zt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Wt(`${e}`,s)}}class Be extends(Yt(Xt).with(Qt)){constructor(t){super("card_validations",Object,t)}async create({cvv:t,cvv2:e,expMonth:s,expYear:r,icvv:i,number:a,pinBlock:n,pinAttemptsExceeded:c}){const o=new de({cvv:t,cvv2:e,expMonth:s,expYear:r,icvv:i,number:a,pinBlock:n,pinAttemptsExceeded:c});return await this._create(o.toCleanObject())}async card(t){if(!t)return null;const e=await this.client.get({endpoint:t});return jt.fromObject(e)}}class Pe extends(Yt(Xt).with(se,Gt)){constructor(t){super("commissions",z,t)}async relatedTransaction(t){const e=zt(t);if(null==e)return null;const s=await this.client.get(t);return Wt(`${e}`,s)}}class De extends(Yt(Xt).with(se,Gt)){constructor(t){super("deposits",J,t)}async source(t){const e=await this.client.get({endpoint:t});return wt.fromObject(e)}}class $e extends(Yt(Xt).with(ee,Zt)){constructor(t){super("files",Object,t)}async download(t){return await this._download(t,N.Any)}async upload({...t}){const e=new pe(t);return await this._upload(e.toFormData())}}class Le extends(Yt(Xt).with(Qt,Gt,se)){constructor(t,e=!1){super(e?"bridge/kyc_validations":"kyc_validations",Object,t)}async create(t="me"){const e=new ue(t);return await this._create(e.toObject())}}class Ee extends(Yt(Xt).with(Qt)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class Ke extends(Yt(Xt).with(Qt,te,se,Gt,Jt)){constructor(t){super("savings",nt,t)}async create(t,e,s,r){const i=new he(t,e,s,r);return await this._create(i.toObject())}async deactivate(t){return await this._deactivate(t)}async update(t,e,s,r,i){const a=new he(e,s,r,i);return await this._update(t,a.toObject())}}class Me extends(Yt(Xt).with(se,Gt)){constructor(t){super("service_providers",z,t)}}class Ve extends(Yt(Xt).with(Qt,Gt,se)){constructor(t,e=!1){super(e?"bridge/sessions":"sessions",Object,t),this.isBridge=e}async create(t,e,s,r){const i=new le({failureUrl:r,successUrl:s,type:e,userId:t,isBridge:this.isBridge});return await this._create(i.toCleanObject())}}class Re extends(Yt(Xt).with(ee,se)){constructor(t){super("statements",ct,t)}async pdf(t){return await this._download(t,N.Pdf)}async xml(t){return await this._download(t,N.Xml)}}class Fe extends(Yt(Xt).with(Qt,se,Gt)){constructor(t){super("transfers",Z,t)}async destination(t){const e=await this.client.get({endpoint:t});return wt.fromObject(e)}async create({accountNumber:t,amount:e,descriptor:s,recipientName:r,idempotencyKey:i}){const a=i||this.constructor._genIdempotencyKey(t,e),n=new me(t,e,s,a,r);return await this._create(n.toCleanObject())}async createMany(t){if(!t||!Array.isArray(t)||!t.length)return{};const e={submitted:[],errors:[]};return await Promise.all(t.map((async({accountNumber:t,amount:s,descriptor:r,idempotencyKey:i,recipientName:a})=>{const n=new me(t,s,r,i||this.constructor._genIdempotencyKey(t,s),a);let c;try{c=await this._create(n.toCleanObject())}catch(t){return void e.errors.push({actualRequest:n,error:t})}e.submitted.push(c)}))),e}static _genIdempotencyKey(t,e){const[s]=Y(Date.now()).toISOString().split("T");return`${s}:${t}:${e}`}}class He extends(Yt(Xt).with(Qt,Jt)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new fe(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const r=new we(e,t);return await this._update(s,r.toCleanObject())}}class Ye extends(Yt(Xt).with(Qt,te)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new _e(t,e),r=await this._create(s.toObject());if(!r.success)throw new p;return this.loginIdInHeaders=this.client.addHeadersToRequest({"X-Cuenca-LoginId":r.id}),r}async logOut(t="me"){return await this._deactivate(t,{}),this.loginIdInHeaders&&this.loginIdInHeaders.eject(),!0}}class We extends(Yt(Xt).with(se,Jt,Gt)){constructor(t){super("users",at,t)}async update({userId:t="me",...e}){const s=new ge(e);return await this._update(t,s.toCleanObject())}}class ze extends(Yt(Xt).with(Qt,Jt)){constructor(t){super("verifications",Object,t)}async create({platformId:t,recipient:e,type:s}){const r=new Oe({platformId:t,recipient:e,type:s});return await this._create(r.toObject())}async update({code:t,id:e}){const s=new Ae({code:t});return await this._update(e,s.toObject())}}class Xe extends(Yt(Xt).with(Qt,se,Gt)){constructor(t){super("wallet_transactions",it,t)}async create(t,e,s){const r=new je(t,e,s);return await this._create(r.toObject())}async realtedWallet(t){const e=zt(t);if(null==e)return null;const s=await this.client.get(t);return Wt(`${e}`,s)}}class Ge extends(Yt(Xt).with(se,Gt)){constructor(t){super("whatsapp_transfers",z,t)}async accountDestination(t){const e=zt(t);if(null==e)return null;const s=await this.client.get(t);return Wt(`${e}`,s)}}t.Cuenca=class{constructor({apiKey:t,apiSecret:e,language:s="en",phase:r=B.Sandbox}={}){this.client=new ft({apiKey:t,apiSecret:e,language:s,phase:r}),this.withClient(this.client)}withClient(t){this.accounts=new re(t),this.apiKeys=new xe(t),this.balanceEntries=new ke(t),this.billPayments=new Ue(t),this.bridgeAccounts=new Te(t),this.bridgeKycValidations=new Le(t,!0),this.bridgeSessions=new Ve(t,!0),this.bridgeTransactions=new Ce(t),this.cardActivations=new Se(t),this.cards=new Ne(t),this.cardTransactions=new qe(t),this.cardValidations=new Be(t),this.commissions=new Pe(t),this.deposits=new De(t),this.files=new $e(t),this.kycValidations=new Le(t),this.loginTokens=new Ee(t),this.savings=new Ke(t),this.serviceProviders=new Me(t),this.sessions=new Ve(t),this.statements=new Re(t),this.transfers=new Fe(t),this.userCredentials=new He(t),this.userLogins=new Ye(t),this.users=new We(t),this.verifications=new ze(t),this.walletTransactions=new Xe(t),this.whatsAppTransfers=new Ge(t)}}}));
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("axios"),require("buffer")):"function"==typeof define&&define.amd?define(["exports","axios","buffer"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).cuenca={},t.axios,t.Buffer)}(this,(function(t,e,s){"use strict";function r(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var i=r(e),a=r(s);class n extends Error{constructor(t){super(t),Object.setPrototypeOf(this,n.prototype)}}class c extends n{constructor(t,e){super(`Cuenca Response Error: ${e}`),this.name="CuencaResponseError",this.data=t,this.status=e,Object.setPrototypeOf(this,c.prototype)}}class o extends n{constructor(){super("No results were found"),this.name="NoResultFound",Object.setPrototypeOf(this,o.prototype)}}class d extends n{constructor(){super("One result was expected but multiple were found"),this.name="MultipleResultsFound",Object.setPrototypeOf(this,d.prototype)}}class u extends n{constructor(){super("An invalid JWT token was obtained during authentication"),this.name="MalformedJwtToken",Object.setPrototypeOf(this,u.prototype)}}class h extends n{constructor(){super("Invalid password"),this.name="InvalidPassword",Object.setPrototypeOf(this,h.prototype)}}class l extends Error{constructor(t){super(t),Object.setPrototypeOf(this,l.prototype)}}const p="undefined"!=typeof window&&void 0!==window.document,m="undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process),f=p,w=m;class _{constructor(t,e){this.expiresAt=t,this.token=e}get isExpired(){const t=new Date;return(this.expiresAt.valueOf()-t.valueOf())/6e4<=5}static getExpirationDate=t=>{let e;try{const[,s]=t.split(".");e=JSON.parse(a.default.Buffer.from(`${s}==`,"base64").toString())}catch(t){throw new u}const{exp:s}=e;return new Date(new Date(1e3*s).toUTCString())};static create=async t=>{const e=t;e.jwtToken=null;const s=e.deleteRequestHeader("X-Cuenca-Token"),{token:r}=await t.post("token",{});s.eject();const i=_.getExpirationDate(r);return new _(i,r)}}class b{static Succeeded=new b("succeeded");static NotValidated=new b("not_validated");static Failed=new b("failed");static OnWaitList=new b("on_wait_list");constructor(t){this.value=t}}class y{static Blocked=new y("blocked");static Comunication=new y("comunication");static ContactlesAmountLimit=new y("contactles_amount_limit");static FraudDetection=new y("fraud_detection");static FraudDetectionUncertain=new y("fraud_detection_uncertain");static InsufficientFounds=new y("insufficient_founds");static InvalidPin=new y("invalid_pin");static Notification=new y("notification");static NotificationDeactivatedCard=new y("notification_deactivated_card");constructor(t){this.value=t}}class v{static Credit=new v("credit");static Debit=new v("debit");constructor(t){this.value=t}}class g{static Accendo=new g("accendo");static Cuenca=new g("cuenca");constructor(t){this.value=t}}class O{static Buy=new O("buy");static Sell=new O("sell");constructor(t){this.value=t}}class A{static Active=new A("active");static Blocked=new A("blocked");static Created=new A("created");static Deactivated=new A("deactivated");static Printing=new A("printing");constructor(t){this.value=t}}class j{static Auth=new j("auth");static Capture=new j("capture");static Chargeback=new j("chargeback");static Expiration=new j("expiration");static Refund=new j("refund");static Void=new j("void");constructor(t){this.value=t}}class x{static Mxn=new x("mxn");static Usdc=new x("usdc");static Sol=new x("sol");constructor(t){this.value=t}}class I{static Physical=new I("physical");static Virtual=new I("virtual");constructor(t){this.value=t}}class k{static CardRequest=new k("card_request");static CashDeposit=new k("cash_deposit");static OutgoingSpei=new k("outgoing_spei");constructor(t){this.value=t}}class U{static Cash=new U("cash");static Internal=new U("internal");static Spei=new U("spei");constructor(t){this.value=t}}class T{static Credit=new T("credit");static Debit=new T("debit");constructor(t){this.value=t}}class C{static Pdf=new C("application/pdf");static Xml=new C("application/xml");static Json=new C("application/json");static Any=new C("*/*");constructor(t){this.value=t}}class S{static Ine=new S("ine");static Passport=new S("passport");static Residency=new S("residency");static MatriculaConsular=new S("matricula_consular");static ProofOfLiveness=new S("proof_of_liveness");static ProofOfAddress=new S("proof_of_address");constructor(t){this.value=t}}class N{static Sandbox=new N("sandbox-api");static Stage=new N("stage-api");static Api=new N("api");constructor(t){this.value=t}}class q{static Cable=new q("cable");static CreditCard=new q("credit_card");static Electricity=new q("electricity");static Gas=new q("gas");static Internet=new q("internet");static LandlineTelephone=new q("landline_telephone");static MobileTelephonePostpaid=new q("mobile_telephone_postpaid");static MobileTelephonePrepaid=new q("mobile_telephone_prepaid");static SateliteTelevision=new q("satelite_television");static Water=new q("water");constructor(t){this.value=t}}class P{static General=new P("general");static Home=new P("home");static Vehicle=new P("vehicle");static Travel=new P("travel");static Clothing=new P("clothing");static Other=new P("other");static Medical=new P("medical");static Accident=new P("accident");static Education=new P("education");constructor(t){this.value=t}}class B{static AccountEntries=new B("session.account_entries");static DownloadFile=new B("session.download_file");static Registration=new B("session.registration");static ShowCard=new B("session.show_card");static UploadFile=new B("session.upload_file");constructor(t){this.value=t}}class ${static NotSet=new $("not_set");static Terminal=new $("terminal");static Manual=new $("manual");static Unknown=new $("unknown");static Contactless=new $("contactless");static FallBack=new $("fall_back");static MagneticStripe=new $("magnetic_stripe");static RecurringCharge=new $("recurring_charge");constructor(t){this.value=t}}class D{static Polygon=new D("polygon");static Solana=new D("solana");constructor(t){this.value=t}}class E{static Created=new E("created");static Failed=new E("failed");static InReview=new E("in_review");static Submitted=new E("submitted");static Succeeded=new E("succeeded");constructor(t){this.value=t}}class K{static Internal=new K("internal");static Spei=new K("spei");constructor(t){this.value=t}}class L{static Active=new L("active");static Deactivated=new L("deactivated");static Fraud=new L("fraud");static PldBlocked=new L("pld_blocked");constructor(t){this.value=t}}class M{static Created=new M("created");static NotVerified=new M("not_verified");static Rejected=new M("rejected");static ReviewNeeded=new M("review_needed");static Submitted=new M("submitted");static Succeeded=new M("succeeded");static UploadAgain=new M("upload_again");constructor(t){this.value=t}}class V{static Phone=new V("phone");static Email=new V("email");constructor(t){this.value=t}}class R{static Deposit=new R("deposit");static Withdrawal=new R("withdrawal");constructor(t){this.value=t}}const F=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},Y=(t,e)=>Object.values(t).find((t=>t.value===e));class H{constructor({createdAfter:t,createdBefore:e,limit:s,pageSize:r,relatedTransaction:i,userId:a,count:n=!1}){this.createdAfter=t,this.createdBefore=e,this._lmt=s,this.relatedTransaction=i,this.userId=a,this.count=n,this.pageSize=r}get limit(){return this._limit}set _lmt(t){let e=null;t&&t>=0&&(e=t),this._limit=e}toObject(){return{created_after:this.createdAfter,created_before:this.createdBefore,limit:this.limit,related_transaction:this.relatedTransaction,user_id:this.userId,page_size:this.pageSize&&this.pageSize.size}}toParams(){const t={...this.toObject()};return this.count&&(t.count=1),Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}toQueryString(){return new URLSearchParams(this.toParams()).toString()}}class W extends H{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class z extends H{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class X extends H{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class G extends X{constructor({trackingKey:t,network:e,...s}){super(s),this.trackingKey=t,this.network=e}toObject(){return Object.assign(super.toObject(),{tracking_key:this.trackingKey,network:this.network})}}class Q extends X{constructor({accountNumber:t,idempotencyKey:e,trackingKey:s,network:r,...i}){super(i),this.accountNumber=t,this.idempotencyKey=e,this.trackingKey=s,this.network=r}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber,idempotency_key:this.idempotencyKey,tracking_key:this.trackingKey,network:this.network})}}class J extends H{constructor({fundingInstrumentUri:t,count:e=!1,walletId:s="default",...r}){super(r),this.fundingInstrumentUri=t,this.count=e,this.walletId=s}toObject(){return Object.assign(super.toObject(),{wallet_id:this.walletId,funding_instrument_uri:this.fundingInstrumentUri,count:this.count})}}class Z extends H{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class tt extends H{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class et extends H{constructor({cardUri:t,count:e=!1,...s}){super(s),this.cardUri=t,this.count=e}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri,count:this.count})}}class st extends H{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class rt extends H{constructor({emailAddress:t,phoneNumber:e,status:s,...r}){super(r),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 it extends H{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class at extends H{constructor({month:t,year:e,...s}){super(s),this.d={month:t,year:e}}get month(){return this._date.month}get year(){return this._date.year}set d({month:t,year:e}){const s=F(Date.now());s.setUTCDate(1);if(F(`${e}-${t}-01`).getTime()>=s.getTime())throw new l(`${e}-${t} is not a valid year-month pair`);this._date={month:t,year:e}}toObject(){return Object.assign(super.toObject(),{month:this.month,year:this.year})}}class nt extends H{constructor({emailAddress:t,...e}){super(e),this.emailAddress=t}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress})}}class ct extends H{constructor({accountId:t,status:e,type:s,...r}){super(r),this.accountId=t,this.status=e,this.type=s}toObject(){return Object.assign(super.toObject(),{account:this.accountId,status:this.status,type:this.type})}}class ot{constructor({ip:t,location:e,type:s,version:r}){this.ip=t,this.location=e,this.type=s,this.version=r}static fromObject=({ip:t,location:e,type:s,version:r})=>new ot({ip:t,location:e,type:s,version:r})}class dt{constructor({code:t,error:e,identifier:s,message:r}){this.code=t,this.error=e,this.identifier=s,this.message=r}static fromObject=({code:t,error:e,identifier:s,message:r})=>new dt({code:t,error:e,identifier:s,message:r})}class ut{constructor({data:t,errors:e,isMx:s,status:r,type:i,uriBack:a,uriFront:n}){this.data=t,this.isMx=s,this.status=Y(M,r),this.type=Y(S,i),this.uriBack=a,this.uriFront=n,e&&e.length>0&&(this.errors=e.map((t=>dt.fromObject(t))))}static fromObject=({data:t,errors:e,status:s,type:r,...i})=>new ut({data:t,errors:e,status:s,type:r,isMx:i.is_mx,uriBack:i.uri_back,uriFront:i.uri_front})}class ht{constructor({city:t,country:e,createdAt:s,extNumber:r,fullName:i,intNumber:a,postalCode:n,state:c,street:o}){this.city=t,this.country=e,this.createdAt=F(s),this.extNumber=r,this.fullName=i,this.intNumber=a,this.postalCode=n,this.state=c,this.street=o}static fromObject=({city:t,country:e,state:s,street:r,...i})=>new ht({city:t,country:e,state:s,street:r,createdAt:i.created_at,extNumber:i.ext_number,fullName:i.full_name,intNumber:i.int_number,postalCode:i.postal_code})}var lt="0.0.8";class pt{constructor({apiKey:t,apiSecret:e,language:s="en",phase:r=N.Sandbox}={}){this.phase=r,this.basicAuth={apiKey:t,apiSecret:e},this.jwtToken=null,this._session=i.default.create({headers:{"Accept-Language":s},timeout:45e3})}get session(){return this._session}get origin(){return`https://${this.phase.value}.arteria.xyz`}get authHeader(){const{apiKey:t,apiSecret:e}=this.basicAuth;return t&&e?`Basic ${a.default.Buffer.from(`${t}:${e}`,"utf-8").toString("base64")}`:""}addHeadersToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common:r}}=s;return Object.keys(t).forEach((e=>r[e]=t[e])),s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}deleteRequestHeader(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common:r}}=s;return delete r[t],s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}addConfigToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e;return Object.keys(t).forEach((e=>s[e]=t[e])),s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}async configure({apiKey:t,apiSecret:e,loginToken:s,phase:r,sessionId:i,useJwt:a=!1}){this.basicAuth={apiKey:t||this.basicAuth.apiKey,apiSecret:e||this.basicAuth.apiSecret},r&&(this.phase=r),a&&(this.jwtToken=await _.create(this)),s&&this.addHeadersToRequest({"X-Cuenca-LoginToken":s}),i&&this.addHeadersToRequest({"X-Cuenca-SessionId":i})}async get({endpoint:t,format:e,params:s}){return this.request({endpoint:t,format:e,params:s})}async post({endpoint:t,data:e,multipart:s}){return this.request({method:"POST",endpoint:t,data:e,multipart:s})}async patch({endpoint:t,data:e}){return this.request({method:"PATCH",endpoint:t,data:e})}async delete({endpoint:t,data:e}){return this.request({method:"DELETE",endpoint:t,data:e})}async request({endpoint:t,data:e=null,format:s=C.Json,method:r="GET",multipart:i=!1,params:a=null}){let o={};i||(o={"Content-Type":"application/json",Accept:`application/${s.value}`}),this.authHeader&&(o.Authorization=this.authHeader),w?o["User-Agent"]=`cuenca-js/${lt}`:f&&(o["X-User-Agent"]=`cuenca-js/${lt}`),this.jwtToken&&(this.jwtToken.isExpired&&(this.jwtToken=await _.create(this)),o["X-Cuenca-Token"]=this.jwtToken.token);const d=this.addHeadersToRequest(o),u=e;u&&!i&&Object.keys(u).forEach((t=>{u[t]instanceof Date&&(u[t]=u[t].toISOString())}));const h=this.addConfigToRequest({method:r,params:a,data:u,url:t});let l;try{l=await this._session.request({baseURL:this.origin})}catch(t){throw t.response?new c(t.response.data,t.response.status):t.request?new n(`No response received: ${t.errno}: ${t.code}`):new n(t.message)}finally{d.eject(),h.eject()}return l.data}}class mt{constructor({accountNumber:t,createdAt:e,id:s,institutionName:r,name:i,userId:a}){this.accountNumber=t,this.createdAt=F(e),this.id=s,this.institutionName=r,this.name=i,this.userId=a}static fromObject=({id:t,name:e,...s})=>new mt({id:t,name:e,accountNumber:s.account_number,createdAt:s.created_at,institutionName:s.institution_name,userId:s.user_id})}class ft{constructor({createdAt:t,deactivatedAt:e,id:s,secret:r,userId:i,updatedAt:a}){this.createdAt=F(t),this.deactivatedAt=F(e),this.id=s,this.secret=r,this.userId=i,this.updatedAt=F(a)}static fromObject=({id:t,secret:e,...s})=>new ft({id:t,secret:e,createdAt:s.created_at,deactivatedAt:s.deactivated_at,userId:s.user_id,updatedAt:s.updated_at});get isActive(){const t=F(Date.now());return!this.deactivatedAt||this.deactivatedAt.getTime()>t.getTime()}}class wt{constructor({arpc:t,createdAt:e,cardUri:s,isValidArqc:r}){this.arpc=t,this.createdAt=F(e),this.cardUri=s,this.isValidArqc=r}static fromObject=({arpc:t,...e})=>new wt({arpc:t,createdAt:e.created_at,cardUri:e.card_uri,isValidArqc:e.is_valid_arqc})}class _t{constructor({amount:t,createdAt:e,descriptor:s,entryType:r,fundingInstrumentUri:i,id:a,name:n,relatedTransactionUri:c,rollingBalance:o}){this.amount=t,this.createdAt=F(e),this.descriptor=s,this.entryType=Y(T,r),this.fundingInstrumentUri=i,this.id=a,this.name=n,this.relatedTransactionUri=c,this.rollingBalance=o}static fromObject=({amount:t,descriptor:e,id:s,name:r,type:i,...a})=>new _t({amount:t,descriptor:e,name:r,id:s,createdAt:a.created_at,entryType:i,fundingInstrumentUri:a.funding_instrument_uri,relatedTransactionUri:a.related_transaction_uri,rollingBalance:a.rolling_balance})}class bt{constructor({amount:t,createdAt:e,descriptor:s,status:r,userId:i}){this.amount=t,this.createdAt=F(e),this.descriptor=s,this.status=Y(E,r),this.userId=i}}class yt extends bt{constructor({amount:t,accountNumber:e,createdAt:s,descriptor:r,id:i,providerUri:a,status:n,userId:c}){super({amount:t,createdAt:s,descriptor:r,status:n,userId:c}),this.accountNumber=e,this.id=i,this.providerUri=a}static fromObject=({amount:t,descriptor:e,id:s,status:r,...i})=>new yt({amount:t,descriptor:e,id:s,status:r,accountNumber:i.account_number,createdAt:i.created_at,providerUri:i.provider_uri,userId:i.user_id})}class vt{constructor({id:t,createdAt:e,updatedAt:s,names:r,firstSurname:i,secondSurname:a,dateOfBirth:n,countryOfBirth:c,rfc:o,curp:d,userId:u,gender:h,phoneNumber:l,emailAddress:p,clientClabe:m,govtId:f,proofOfAddress:w,status:_,termsOfService:y,address:v}){this.id=t,this.createdAt=F(e),this.updatedAt=F(s),this.emailAddress=p,this.clientClabe=m,this.setGovtId=f,this.names=r,this.firstSurname=i,this.secondSurname=a,this.dateOfBirth=n,this.countryOfBirth=c,this.rfc=o,this.curp=d,this.userId=u,this.gender=h,this.phoneNumber=l,this.setProofOfAddress=w,this.status=Y(b,_),this.setTerms=y,this.setAddress=v}static fromObject=({status:t,address:e,...s})=>new vt({address:e,status:t,id:s.id,createdAt:s.created_at,updatedAt:s.updated_at,clientClabe:s.client_clabe,names:s.names,firstSurname:s.first_surname,secondSurname:s.second_surname,dateOfBirth:s.date_of_birth,countryOfBirth:s.country_of_birth,rfc:s.rfc,curp:s.curp,userId:s.user_id,gender:s.gender,govtId:s.govt_id,emailAddress:s.email_address,phoneNumber:s.phone_number,proofOfAddress:s.proof_of_address,termsOfService:s.terms_of_service});get address(){return this._address}set setAddress(t){t&&0!==Object.keys(t).length&&(this._address=ht.fromObject(t))}get proofOfAddress(){return this._proofOfAddress}set setProofOfAddress(t){t&&0!==Object.keys(t).length&&(this._proofOfAddress=ut.fromObject(t))}get govtId(){return this._govtId}set setGovtId(t){t&&0!==Object.keys(t).length&&(this._govtId=ut.fromObject(t))}get termsOfService(){return this._termsOfService}set setTerms(t){t&&0!==Object.keys(t).length&&(this._termsOfService=ot.fromObject(t))}}class gt{constructor({id:t,createdAt:e,platformId:s,type:r,status:i,accountUri:a,quoteUri:n,currency:c,network:o,sourceWallet:d,destinationWallet:u,bankAccountUri:h,cuencaId:l,cuentaOrdenante:p,cuentaBeneficiario:m,nombreOrdenante:f,claveRastreo:w,rfcCurpOrdenante:_,concepto:b,referenciaNumerica:y,signature:v,trackingLink:g,fromCurrency:A,toCurrency:j,fromAmount:I,toAmount:k}){this.id=t,this.createdAt=F(e),this.platformId=s,this.type=Y(O,r),this.status=Y(E,i),this.accountUri=a,this.quoteUri=n,this.currency=Y(x,c),this.network=Y(D,o),this.sourceWallet=d,this.destinationWallet=u,this.bankAccountUri=h,this.cuencaId=l,this.cuentaOrdenante=p,this.cuentaBeneficiario=m,this.nombreOrdenante=f,this.claveRastreo=w,this.rfcCurpOrdenante=_,this.concepto=b,this.referenciaNumerica=y,this.signature=v,this.trackingLink=g,this.fromCurrency=Y(x,A),this.toCurrency=Y(x,j),this.fromAmount=I,this.toAmount=k}static fromObject=({type:t,status:e,currency:s,network:r,concepto:i,signature:a,...n})=>new gt({id:n.id,createdAt:n.created_at,platformId:n.platform_id,accountUri:n.account_uri,quoteUri:n.quote_uri,sourceWallet:n.source_wallet,destinationWallet:n.destination_wallet,bankAccountUri:n.bank_account_uri,cuencaId:n.cuenca_id,cuentaOrdenante:n.cuenta_ordenante,cuentaBeneficiario:n.cuenta_beneficiario,nombreOrdenante:n.nombre_ordenante,claveRastreo:n.clave_rastreo,rfcCurpOrdenante:n.rfc_curp_ordenante,referenciaNumerica:n.referencia_numerica,trackingLink:n.tracking_link,fromCurrency:n.from_currency,toCurrency:n.to_currency,fromAmount:n.from_amount,toAmount:n.to_amount,type:t,status:e,currency:s,network:r,concepto:i,signature:a})}class Ot{constructor({createdAt:t,cvv2:e,expMonth:s,expYear:r,fundingType:i,id:a,issuer:n,number:c,pin:o,status:d,type:u,updatedAt:h,userId:l}){this.createdAt=F(t),this.cvv2=e,this.expMonth=s,this.expYear=r,this.fundingType=Y(v,i),this.id=a,this.issuer=Y(g,n),this.number=c,this.pin=o,this.status=Y(A,d),this.type=Y(I,u),this.updatedAt=F(h),this.userId=l}static fromObject=({cvv2:t,id:e,issuer:s,number:r,pin:i,status:a,type:n,...c})=>new Ot({cvv2:t,id:e,issuer:s,number:r,pin:i,status:a,type:n,createdAt:c.created_at,expMonth:c.exp_month,expYear:c.exp_year,fundingType:c.funding_type,updatedAt:c.updated_at,userId:c.user_id})}class At{constructor({cardUri:t,createdAt:e,id:s,ipAddress:r,success:i,userId:a}){this.cardUri=t,this.createdAt=F(e),this.id=s,this.ipAddress=r,this.success=i,this.userId=a}static fromObject=({id:t,success:e,...s})=>new At({id:t,success:e,cardUri:s.card_uri,createdAt:s.created_at,ipAddress:s.ip_address,userId:s.user_id})}class jt extends bt{constructor({amount:t,cardErrorType:e,cardLastFour:s,cardType:r,cardUri:i,createdAt:a,descriptor:n,metadata:c,network:o,relatedCardTransactionsUris:d,status:u,type:h,userId:l}){super({amount:t,createdAt:a,descriptor:n,status:u,userId:l}),this.cardErrorType=Y(y,e),this.cardLastFour=s,this.cardType=Y(I,r),this.cardUri=i,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=Y(j,h)}static fromObject=({amount:t,descriptor:e,metadata:s,network:r,status:i,type:a,...n})=>new jt({amount:t,descriptor:e,metadata:s,network:r,status:i,type:a,cardErrorType:n.error_type,cardLastFour:n.card_last4,cardType:n.card_type,cardUri:n.card_uri,createdAt:n.created_at,relatedCardTransactionsUris:n.related_card_transaction,userId:n.user_id})}class xt{constructor({cardStatus:t,cardType:e,cardUri:s,createdAt:r,isExpired:i,isPinAttemptsExceeded:a,isValidCvv:n,isValidCvv2:c,isValidExpDate:o,isValidIcvv:d,isValidPinBlock:u,userId:h}){this.cardStatus=Y(A,t),this.cardType=Y(I,e),this.cardUri=s,this.createdAt=F(r),this.isExpired=i,this.isPinAttemptsExceeded=a,this.isValidCvv=n,this.isValidCvv2=c,this.isValidExpDate=o,this.isValidIcvv=d,this.isValidPinBlock=u,this.userId=h}static fromObject=({...t})=>new xt({cardStatus:t.card_status,cardType:t.card_type,cardUri:t.card_uri,createdAt:t.created_at,isExpired:t.is_expired,isPinAttemptsExceeded:t.is_pin_attempts_exceeded,isValidCvv:t.is_valid_cvv,isValidCvv2:t.is_valid_cvv2,isValidExpDate:t.is_valid_exp_date,isValidIcvv:t.is_valid_icvv,isValidPinBlock:t.is_valid_pin_block,userId:t.user_id});get isActive(){return this.cardStatus===A.Active}}class It extends bt{constructor({amount:t,createdAt:e,descriptor:s,relatedTransactionUri:r,status:i,type:a,userId:n}){super({amount:t,createdAt:e,descriptor:s,status:i,userId:n}),this.relatedTransactionUri=r,this.type=Y(k,a)}static fromObject=({amount:t,descriptor:e,status:s,type:r,...i})=>new It({amount:t,descriptor:e,status:s,type:r,createdAt:i.created_at,relatedTransactionUri:i.related_transaction_uri,userId:i.user_id})}class kt extends bt{constructor({amount:t,createdAt:e,descriptor:s,id:r,network:i,status:a,sourceUri:n,trackingKey:c,userId:o}){super({amount:t,createdAt:e,descriptor:s,status:a,userId:o}),this.id=r,this.network=Y(U,i),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:r,status:i,...a})=>new kt({amount:t,descriptor:e,id:s,network:r,status:i,createdAt:a.created_at,sourceUri:a.source_uri,trackingKey:a.tracking_key,userId:a.user_id})}class Ut{constructor({extension:t,type:e,url:s,userId:r}){this.extension=t,this.type=Y(S,e),this.url=s,this.userId=r}static fromObject=({extension:t,type:e,url:s,...r})=>new Ut({extension:t,type:e,url:s,userId:r.user_id})}class Tt{constructor({platformId:t,attemps:e,verificationId:s,filesUri:r}){this.attemps=e,this.filesUri=r,this.platformId=t,this.verificationId=s}static fromObject=({attemps:t,...e})=>new Tt({attemps:t,filesUri:e.files_uri,platformId:e.platform_id,verificationId:e.verification_id})}class Ct{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new Ct({id:t})}class St{constructor({balance:t,createdAt:e,deactivatedAt:s,id:r,userId:i,updatedAt:a}){this.balance=t,this.createdAt=F(e),this.deactivatedAt=F(s),this.id=r,this.userId=i,this.updatedAt=F(a)}}class Nt extends St{constructor({balance:t,category:e,createdAt:s,deactivatedAt:r,goalAmount:i,goalDate:a,id:n,name:c,userId:o,updatedAt:d}){super({balance:t,createdAt:s,deactivatedAt:r,id:n,userId:o,updatedAt:d}),this.category=Y(P,e),this.goalAmount=i,this.goalDate=F(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:r,...i})=>new Nt({balance:t,category:e,id:s,name:r,createdAt:i.created_at,deactivatedAt:i.deactivated_at,goalAmount:i.goal_amount,goalDate:i.goal_date,userId:i.user_id,updatedAt:i.updated_at})}class qt{constructor({categories:t,id:e,name:s,providerKey:r}){var i;this.categories=null==(i=t)?[]:i.map((t=>Y(q,t))),this.id=e,this.name=s,this.providerKey=r}static fromObject=({categories:t,id:e,name:s,...r})=>new qt({categories:t,id:e,name:s,providerKey:r.provider_key})}class Pt{constructor({createdAt:t,expiresAt:e,failureUrl:s,id:r,platformId:i,successUrl:a,type:n,userId:c}){this.createdAt=F(t),this.expiresAt=F(e),this.failureUrl=s,this.id=r,this.platformId=i,this.successUrl=a,this.type=Y(B,n),this.userId=c}static fromObject=({id:t,type:e,...s})=>new Pt({id:t,type:e,createdAt:s.created_at,expiresAt:s.expires_at,failureUrl:s.failure_url,platformId:s.platform_id,successUrl:s.success_url,userId:s.user_id})}class Bt{constructor({createdAt:t,id:e,month:s,year:r}){this.createdAt=F(t),this.id=e,this.month=s,this.year=r}static fromObject=({id:t,month:e,year:s,...r})=>new Bt({id:t,month:e,year:s,createdAt:r.created_at})}class $t extends bt{constructor({accountNumber:t,amount:e,createdAt:s,descriptor:r,destinationUri:i,id:a,idempotencyKey:n,network:c,recipientName:o,status:d,trackingKey:u,updatedAt:h,userId:l}){super({amount:e,createdAt:s,descriptor:r,status:d,userId:l}),this.accountNumber=t,this.destinationUri=i,this.id=a,this.idempotencyKey=n,this.network=Y(K,c),this.recipientName=o,this.trackingKey=u,this.updatedAt=F(h)}static fromObject=({amount:t,descriptor:e,id:s,network:r,status:i,...a})=>new $t({amount:t,descriptor:e,id:s,network:r,status:i,accountNumber:a.account_number,createdAt:a.created_at,destinationUri:a.destination_uri,idempotencyKey:a.idempotency_key,recipientName:a.recipient_name,trackingKey:a.tracking_key,updatedAt:a.updated_at,userId:a.user_id})}class Dt{constructor({address:t,blacklistValidationStatus:e,clabe:s,countryOfBirth:r,createdAt:i,curp:a,dateOfBirth:n,emailAddress:c,firstSurname:o,gender:d,govtId:u,id:h,level:l,names:p,nationality:m,phoneNumber:f,proofOfAddress:w,proofOfLife:_,requiredLevel:b,rfc:y,secondSurname:v,stateOfBirth:g,status:O,termsOfService:A,updatedAt:j,verificationId:x}){this.setAddress=t,this.blacklistValidationStatus=Y(M,e),this.clabe=s,this.countryOfBirth=r,this.createdAt=F(i),this.curp=a,this.dateOfBirth=n,this.emailAddress=c,this.firstSurname=o,this.gender=d,this.id=h,this.level=l,this.names=p,this.nationality=m,this.phoneNumber=f,this.setGovtId=u,this.setProofOfAddress=w,this.setProofOfLife=_,this.requiredLevel=b,this.rfc=y,this.secondSurname=v,this.stateOfBirth=g,this.status=Y(L,O),this.setTerms=A,this.updatedAt=F(j),this.verificationId=x}get address(){return this._address}set setAddress(t){t&&(this._address=ht.fromObject(t))}get proofOfAddress(){return this._proofOfAddress}set setProofOfAddress(t){t&&(this._proofOfAddress=ut.fromObject(t))}get proofOfLife(){return this._proofOfLife}set setProofOfLife(t){t&&(this._proofOfLife=ut.fromObject(t))}get govtId(){return this._govtId}set setGovtId(t){t&&(this._govtId=ut.fromObject(t))}get termsOfService(){return this._termsOfService}set setTerms(t){t&&(this._termsOfService=ot.fromObject(t))}static fromObject=({address:t,clabe:e,curp:s,gender:r,id:i,level:a,names:n,nationality:c,rfc:o,status:d,...u})=>new Dt({address:t,clabe:e,curp:s,gender:r,id:i,level:a,names:n,nationality:c,rfc:o,status:d,blacklistValidationStatus:u.blacklist_validation_status,countryOfBirth:u.country_of_birth,createdAt:u.created_at,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 Et{constructor({createdAt:t,id:e,isActive:s,updatedAt:r}){this.createdAt=F(t),this.id=e,this.isActive=s,this.updatedAt=F(r)}static fromObject=({id:t,...e})=>new Et({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class Kt{constructor({id:t,lastLoginAt:e,success:s}){this.id=t,this.lastLoginAt=F(e),this.success=s}static fromObject=({id:t,success:e,...s})=>new Kt({id:t,success:e,lastLoginAt:s.last_login_at})}class Lt{constructor({createdAt:t,id:e,platformId:s,recipient:r,type:i,updatedAt:a}){this.createdAt=F(t),this.id=e,this.platformId=s,this.recipient=r,this.type=Y(V,i),this.updatedAt=F(a)}static fromObject=({id:t,recipient:e,type:s,...r})=>new Lt({id:t,recipient:e,type:s,createdAt:r.created_at,platformId:r.platform_id,updatedAt:r.updated_at})}class Mt extends bt{constructor({amount:t,createdAt:e,descriptor:s,id:r,status:i,transactionType:a,userId:n,walletUri:c}){super({amount:t,createdAt:e,descriptor:s,status:i,userId:n}),this.id=r,this.transactionType=Y(R,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:r,...i})=>new Mt({amount:t,descriptor:e,id:s,status:r,createdAt:i.created_at,transactionType:i.transaction_type,userId:i.user_id,walletUri:i.wallet_uri})}class Vt extends bt{constructor({amount:t,claimUrl:e,createdAt:s,descriptor:r,destinationUri:i,expiresAt:a,id:n,network:c,phoneNumber:o,recipientName:d,status:u,trackingKey:h,updatedAt:l,userId:p}){super({amount:t,createdAt:s,descriptor:r,status:u,userId:p}),this.claimUrl=e,this.destinationUri=i,this.id=n,this.expiresAt=F(a),this.network=Y(K,c),this.phoneNumber=o,this.recipientName=d,this.trackingKey=h,this.updatedAt=F(l)}static fromObject=({amount:t,descriptor:e,id:s,network:r,status:i,...a})=>new Vt({amount:t,descriptor:e,id:s,network:r,status:i,createdAt:a.created_at,claimUrl:a.claim_url,destinationUri:a.destination_uri,expiresAt:a.expires_at,phoneNumber:a.phone_number,recipientName:a.recipient_name,trackingKey:a.tracking_key,updatedAt:a.updated_at,userId:a.user_id})}class Rt{constructor(t){this.superclass=t}with(...t){return t.reduce(((t,e)=>e(t)),this.superclass)}}const Ft=t=>new Rt(t),Yt=(t,e)=>({accounts:()=>mt.fromObject(e),api_keys:()=>ft.fromObject(e),arpc:()=>wt.fromObject(e),balance_entries:()=>_t.fromObject(e),bill_payments:()=>yt.fromObject(e),"bridge/accounts":()=>vt.fromObject(e),"bridge/kyc_validations":()=>Tt.fromObject(e),"bridge/sessions":()=>Pt.fromObject(e),"bridge/transactions":()=>gt.fromObject(e),cards:()=>Ot.fromObject(e),card_activations:()=>At.fromObject(e),card_transactions:()=>jt.fromObject(e),card_validations:()=>xt.fromObject(e),commissions:()=>It.fromObject(e),deposits:()=>kt.fromObject(e),files:()=>Ut.fromObject(e),kyc_validations:()=>Tt.fromObject(e),login_tokens:()=>Ct.fromObject(e),savings:()=>Nt.fromObject(e),service_providers:()=>qt.fromObject(e),sessions:()=>Pt.fromObject(e),statements:()=>Bt.fromObject(e),transfers:()=>$t.fromObject(e),users:()=>Dt.fromObject(e),user_credentials:()=>Et.fromObject(e),user_logins:()=>Kt.fromObject(e),verifications:()=>Lt.fromObject(e),wallet_transactions:()=>Mt.fromObject(e),whatsapp_transfers:()=>Vt.fromObject(e)}[t]()),Ht=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class Wt{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const zt=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return Yt(this.path,e)}},Xt=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return Yt(this.path,e)}},Gt=t=>class extends t{async _update(t,e){const s=await this.client.patch({endpoint:`/${this.path}/${t}`,data:e});return Yt(this.path,s)}},Qt=t=>class extends t{async _upload(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t,multipart:!0});return Yt(this.path,e)}},Jt=t=>class extends t{async _deactivate(t,e){const s=await this.client.delete({endpoint:`/${this.path}/${t}`,data:e});return Yt(this.path,s)}},Zt=t=>class extends t{async _download(t,e){return await this.client.get({endpoint:`/${this.path}/${t}`,format:e})}},te=t=>class extends t{async one(t=new this.QueryParams({})){const{items:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});if(!e||!e.length)throw new o;if(e.length>1)throw new d;const[s]=e;return Yt(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 Yt(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=Yt(this.path,e);yield t}e=t.next_page_uri}}};class ee extends(Ft(Wt).with(te,zt)){constructor(t){super("accounts",W,t)}}class se{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class re extends se{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class ie extends se{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 ae extends se{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class ne extends se{constructor(t,e,s,r){super(),this.n=t,this.eM=e,this.eY=s,this.c2=r}get number(){return this._number}set n(t){if([!!t,16===t.length,/^\d{16}/.test(t)].some((t=>!t)))throw new l("Invalid number");this._number=t.trim()}get expMonth(){return this._expMonth}set eM(t){if([!!t,t>=1,t<=12].some((t=>!t)))throw new l("Invalid expiration month");this._expMonth=t}get expYear(){return this._expYear}set eY(t){if([!!t,t>=18,t<=99].some((t=>!t)))throw new l("Invalid expiration year");this._expYear=t}get cvv2(){return this._cvv2}set c2(t){if([!!t,3===t.length,/^\d{3}/.test(t)].some((t=>!t)))throw new l("Invalid cvv2");this._cvv2=t}toObject(){return{number:this.number,exp_month:this.expMonth,exp_year:this.expYear,cvv2:this.cvv2}}}class ce extends se{constructor({cvv:t,cvv2:e,expMonth:s,expYear:r,icvv:i,number:a,pinBlock:n,pinAttemptsExceeded:c}){super(),this.c=t,this.c2=e,this.em=s,this.ey=r,this.ic=i,this.n=a,this.pinBloc=n,this.pinAttemptsExceeded=c}get cvv(){return this._cvv}set c(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new l("Invalid cvv");this._cvv=t}get cvv2(){return this._cvv2}set c2(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new l("Invalid cvv2");this._cvv2=t}get expMonth(){return this._expMonth}set em(t){if(!t)return;if([t>=1,t<=12].some((t=>!t)))throw new l("Invalid expiration month");this._expMonth=t}get expYear(){return this._expYear}set ey(t){if(!t)return;if([t>=18,t<=99].some((t=>!t)))throw new l("Invalid expiration year");this._expYear=t}get icvv(){return this._icvv}set ic(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new l("Invalid icvv");this._icvv=t}get number(){return this._number}set n(t){if([!!t,16===t.length,/^\d{16}/.test(t)].some((t=>!t)))throw new l("Invalid number");this._number=t}toObject(){return{cvv:this.cvv,cvv2:this.cvv2,exp_month:this.expMonth,exp_year:this.expYear,icvv:this.icvv,number:this.number,pin_block:this.pinBloc,pin_attempts_exceeded:this.pinAttemptsExceeded}}}class oe extends se{constructor(t){super(),this.userId=t}toObject(){return{user_id:this.userId}}}class de extends se{constructor(t,e,s,r){super(),this.category=t,this.name=r,this.goalAmount=e,this.validDate=s}get goalDate(){return this._goalDate}set validDate(t){if(t){if(F(t).getTime()<=F(Date.now()).getTime())throw new l("The goal_date always need to be higher than now");this._goalDate=t}}toObject(){return{category:this.category,goal_amount:this.goalAmount,goal_date:this.goalDate,name:this.name}}}class ue extends se{constructor({failureUrl:t,successUrl:e,type:s,userId:r,isBridge:i=!1}){super(),this.failureUrl=t,this.successUrl=e,this.type=s,this.userId=r,this.isBridge=i}toObject(){return{failure_url:this.failureUrl,success_url:this.successUrl,type:this.type,[this.isBridge?"account_id":"user_id"]:this.userId}}}class he extends se{constructor(t,e,s,r,i){super(),this.accountNumber=t,this.amount=e,this.descriptor=s,this.idempotencyKey=r,this.recipientName=i}toObject(){return{account_number:this.accountNumber,amount:this.amount,descriptor:this.descriptor,idempotency_key:this.idempotencyKey,recipient_name:this.recipientName}}}class le extends se{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 pe extends se{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 me extends se{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 fe extends se{constructor({ip:t,location:e,type:s,version:r}){super(),this.ipAddress=t,this.location=e,this.type=s,this.version=r}get ip(){return this._ip}set ipAddress(t){if(!t)throw new l("missing ip address");if(!t.split(".").every((t=>t>=0&&t<=255)))throw new l("Invalid ip address");this._ip=t}toObject(){return{ip:this.ip,location:this.location,type:this.type,version:this.version}}}class we extends se{constructor({city:t,country:e,extNumber:s,intNumber:r,postalCode:i,state:a,street:n}={}){super(),this.city=t,this.country=e,this.extNumber=s,this.intNumber=r,this.postalCode=i,this.state=a,this.street=n}toObject(){return{city:this.city,country:this.country,ext_number:this.extNumber,int_number:this.intNumber,postal_code:this.postalCode,state:this.state,street:this.street}}}class _e extends se{constructor({data:t,isMx:e,status:s,type:r,uriBack:i,uriFront:a}){super(),this.data=t,this.isMx=e,this.status=s,this.type=r,this.uriBack=i,this.uriFront=a}toObject(){return{data:this.data,is_mx:this.isMx,status:this.status,type:this.type,uri_back:this.uriBack,uri_front:this.uriFront}}}class be extends se{constructor({address:t,govtId:e,profession:s,proofOfAddress:r,proofOfLife:i,requiredLevel:a,termsOfService:n,verificationId:c}){super(),this.adrs=t,this.govstIds=e,this.profession=s,this.addressProofs=r,this.lifeProofs=i,this.requiredLevel=a,this.terms=n,this.verificationId=c}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=new fe(t).toObject())}get address(){return this._address}set adrs(t){t&&(this._address=new we(t).toCleanObject())}get proofOfLife(){return this._proofOfLife}set lifeProofs(t){t&&(this._proofOfLife=new _e(t).toCleanObject())}get proofOfAddress(){return this._proofOfAddress}set addressProofs(t){t&&(this._proofOfAddress=new _e(t).toCleanObject())}get govtId(){return this._govtId}set govstIds(t){t&&(this._govtId=new _e(t).toCleanObject())}toObject(){return{address:this.address,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 ye extends se{constructor({platformId:t,recipient:e,type:s}){super(),this.platformId=t,this.type=s,this.recipients=e}get recipient(){return this._recipient}set recipients(t){switch(Y(V,this.type)){case V.Email:if(!t.match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/))throw new l("Invalid email address");this._recipient=t;break;case V.Phone:if(!t.match(/^\+?[0-9]{10,15}$/))throw new l("Invalid Phone Number");this._recipient=t}}toObject(){return{platform_id:this.platformId,recipient:this.recipient,type:this.type}}}class ve extends se{constructor({code:t}){super(),this.code=t}toObject(){return{code:this.code}}}class ge extends se{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 Oe extends(Ft(Wt).with(Xt,Jt,te,zt,Gt)){constructor(t){super("api_keys",z,t)}async create(){return await this._create()}async deactivate(t,e=0){return await this._deactivate(t,{minutes:e})}async update(t,e,s){const r=new re(s,e);return await this._update(t,r.toCleanObject())}}class Ae extends(Ft(Wt).with(Xt)){constructor(t){super("arpc",Object,t)}async create({number:t,arqc:e,arpcMethod:s,transactionData:r,responseCode:i,transactionCounter:a,panSequence:n,uniqueNumber:c,trackDataMethod:o}){const d=new ArpcRequest({number:t,arqc:e,arpcMethod:s,transactionData:r,responseCode:i,transactionCounter:a,panSequence:n,uniqueNumber:c,trackDataMethod:o});return await this._create(d.toObject())}}class je extends(Ft(Wt).with(te,zt)){constructor(t){super("balance_entries",J,t)}async relatedTransaction(t){const e=Ht(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Yt(`${e}`,s)}async fundingInstrument(t){const e=Ht(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Yt(`${e}`,s)}}class xe extends(Ft(Wt).with(te,zt)){constructor(t){super("bill_payments",Z,t)}async serviceProvider(t){const e=Ht(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Yt(`${e}`,s)}}class Ie extends(Ft(Wt).with(te,Gt,zt)){constructor(t){super("bridge/accounts",nt,t)}async update({userId:t="me",...e}){const s=new be(e);return await this._update(t,s.toCleanObject())}}class ke extends(Ft(Wt).with(te,zt)){constructor(t){super("bridge/transactions",ct,t)}}class Ue extends(Ft(Wt).with(Xt)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:r}){const i=new ne(t,e,s,r);return await this._create(i.toCleanObject())}async card(t){if(!t)return null;const e=await this.client.get({endpoint:t});return Ot.fromObject(e)}}class Te extends(Ft(Wt).with(Xt,Jt,te,zt,Gt)){constructor(t){super("cards",et,t)}async create(t,e,s){const r=new ie(t,e,s);return await this._create(r.toCleanObject())}async deactivate(t){return await this._deactivate(t)}async update(t,e,s){const r=new ae(e,s);return await this._update(t,r.toCleanObject())}}class Ce extends(Ft(Wt).with(te,zt)){constructor(t){super("card_transactions",tt,t)}async relatedCard(t){const e=Ht(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Yt(`${e}`,s)}}class Se extends(Ft(Wt).with(Xt)){constructor(t){super("card_validations",Object,t)}async create({cvv:t,cvv2:e,expMonth:s,expYear:r,icvv:i,number:a,pinBlock:n,pinAttemptsExceeded:c}){const o=new ce({cvv:t,cvv2:e,expMonth:s,expYear:r,icvv:i,number:a,pinBlock:n,pinAttemptsExceeded:c});return await this._create(o.toCleanObject())}async card(t){if(!t)return null;const e=await this.client.get({endpoint:t});return Ot.fromObject(e)}}class Ne extends(Ft(Wt).with(te,zt)){constructor(t){super("commissions",H,t)}async relatedTransaction(t){const e=Ht(t);if(null==e)return null;const s=await this.client.get(t);return Yt(`${e}`,s)}}class qe extends(Ft(Wt).with(te,zt)){constructor(t){super("deposits",G,t)}async source(t){const e=await this.client.get({endpoint:t});return mt.fromObject(e)}}class Pe extends(Ft(Wt).with(Zt,Qt)){constructor(t){super("files",Object,t)}async download(t){return await this._download(t,C.Any)}async upload(t){return await this._upload(t)}}class Be extends(Ft(Wt).with(Xt,zt,te)){constructor(t,e=!1){super(e?"bridge/kyc_validations":"kyc_validations",Object,t)}async create(t="me"){const e=new oe(t);return await this._create(e.toObject())}}class $e extends(Ft(Wt).with(Xt)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class De extends(Ft(Wt).with(Xt,Jt,te,zt,Gt)){constructor(t){super("savings",it,t)}async create(t,e,s,r){const i=new de(t,e,s,r);return await this._create(i.toObject())}async deactivate(t){return await this._deactivate(t)}async update(t,e,s,r,i){const a=new de(e,s,r,i);return await this._update(t,a.toObject())}}class Ee extends(Ft(Wt).with(te,zt)){constructor(t){super("service_providers",H,t)}}class Ke extends(Ft(Wt).with(Xt,zt,te)){constructor(t,e=!1){super(e?"bridge/sessions":"sessions",Object,t),this.isBridge=e}async create(t,e,s,r){const i=new ue({failureUrl:r,successUrl:s,type:e,userId:t,isBridge:this.isBridge});return await this._create(i.toCleanObject())}}class Le extends(Ft(Wt).with(Zt,te)){constructor(t){super("statements",at,t)}async pdf(t){return await this._download(t,C.Pdf)}async xml(t){return await this._download(t,C.Xml)}}class Me extends(Ft(Wt).with(Xt,te,zt)){constructor(t){super("transfers",Q,t)}async destination(t){const e=await this.client.get({endpoint:t});return mt.fromObject(e)}async create({accountNumber:t,amount:e,descriptor:s,recipientName:r,idempotencyKey:i}){const a=i||this.constructor._genIdempotencyKey(t,e),n=new he(t,e,s,a,r);return await this._create(n.toCleanObject())}async createMany(t){if(!t||!Array.isArray(t)||!t.length)return{};const e={submitted:[],errors:[]};return await Promise.all(t.map((async({accountNumber:t,amount:s,descriptor:r,idempotencyKey:i,recipientName:a})=>{const n=new he(t,s,r,i||this.constructor._genIdempotencyKey(t,s),a);let c;try{c=await this._create(n.toCleanObject())}catch(t){return void e.errors.push({actualRequest:n,error:t})}e.submitted.push(c)}))),e}static _genIdempotencyKey(t,e){const[s]=F(Date.now()).toISOString().split("T");return`${s}:${t}:${e}`}}class Ve extends(Ft(Wt).with(Xt,Gt)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new le(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const r=new pe(e,t);return await this._update(s,r.toCleanObject())}}class Re extends(Ft(Wt).with(Xt,Jt)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new me(t,e),r=await this._create(s.toObject());if(!r.success)throw new h;return this.loginIdInHeaders=this.client.addHeadersToRequest({"X-Cuenca-LoginId":r.id}),r}async logOut(t="me"){return await this._deactivate(t,{}),this.loginIdInHeaders&&this.loginIdInHeaders.eject(),!0}}class Fe extends(Ft(Wt).with(te,Gt,zt)){constructor(t){super("users",rt,t)}async update({userId:t="me",...e}){const s=new be(e);return await this._update(t,s.toCleanObject())}}class Ye extends(Ft(Wt).with(Xt,Gt)){constructor(t){super("verifications",Object,t)}async create({platformId:t,recipient:e,type:s}){const r=new ye({platformId:t,recipient:e,type:s});return await this._create(r.toObject())}async update({code:t,id:e}){const s=new ve({code:t});return await this._update(e,s.toObject())}}class He extends(Ft(Wt).with(Xt,te,zt)){constructor(t){super("wallet_transactions",st,t)}async create(t,e,s){const r=new ge(t,e,s);return await this._create(r.toObject())}async realtedWallet(t){const e=Ht(t);if(null==e)return null;const s=await this.client.get(t);return Yt(`${e}`,s)}}class We extends(Ft(Wt).with(te,zt)){constructor(t){super("whatsapp_transfers",H,t)}async accountDestination(t){const e=Ht(t);if(null==e)return null;const s=await this.client.get(t);return Yt(`${e}`,s)}}t.Cuenca=class{constructor({apiKey:t,apiSecret:e,language:s="en",phase:r=N.Sandbox}={}){this.client=new pt({apiKey:t,apiSecret:e,language:s,phase:r}),this.withClient(this.client)}withClient(t){this.accounts=new ee(t),this.apiKeys=new Oe(t),this.balanceEntries=new je(t),this.billPayments=new xe(t),this.bridgeAccounts=new Ie(t),this.bridgeKycValidations=new Be(t,!0),this.bridgeSessions=new Ke(t,!0),this.bridgeTransactions=new ke(t),this.cardActivations=new Ue(t),this.cards=new Te(t),this.cardTransactions=new Ce(t),this.cardValidations=new Se(t),this.commissions=new Ne(t),this.deposits=new qe(t),this.files=new Pe(t),this.kycValidations=new Be(t),this.loginTokens=new $e(t),this.savings=new De(t),this.serviceProviders=new Ee(t),this.sessions=new Ke(t),this.statements=new Le(t),this.transfers=new Me(t),this.userCredentials=new Ve(t),this.userLogins=new Re(t),this.users=new Fe(t),this.verifications=new Ye(t),this.walletTransactions=new He(t),this.whatsAppTransfers=new We(t)}}}));
@@ -2,11 +2,6 @@
2
2
 
3
3
  var errors_index = require('./errors/index.cjs');
4
4
  var data = require('./data-0a7efb93.cjs');
5
- var FormData = require('form-data');
6
-
7
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
-
9
- var FormData__default = /*#__PURE__*/_interopDefaultLegacy(FormData);
10
5
 
11
6
  class BaseRequest {
12
7
  toObject() {
@@ -380,36 +375,6 @@ class SessionRequest extends BaseRequest {
380
375
  }
381
376
  }
382
377
 
383
- class UploadRequest extends BaseRequest {
384
- constructor({ isBack = false, file, extension, type, userId = 'me' }) {
385
- super();
386
- this.extension = extension;
387
- this.file = file;
388
- this.isBack = isBack;
389
- this.type = type;
390
- this.userId = userId;
391
- }
392
-
393
- toObject() {
394
- return {
395
- extension: this.extension,
396
- file: this.file,
397
- is_back: this.isBack,
398
- type: this.type,
399
- user_id: this.userId,
400
- };
401
- }
402
-
403
- toFormData() {
404
- const form = new FormData__default["default"]();
405
- form.append('extension', this.extension);
406
- form.append('file', this.file);
407
- form.append('type', this.type);
408
- form.append('user_id', this.userId);
409
- return form;
410
- }
411
- }
412
-
413
378
  class TransferRequest extends BaseRequest {
414
379
  constructor(
415
380
  accountNumber,
@@ -790,6 +755,7 @@ class WalletTransactionRequest extends BaseRequest {
790
755
 
791
756
  exports.ApiKeyUpdateRequest = ApiKeyUpdateRequest;
792
757
  exports.ArpcRequest = ArpcRequest;
758
+ exports.BaseRequest = BaseRequest;
793
759
  exports.CardActivationRequest = CardActivationRequest;
794
760
  exports.CardRequest = CardRequest;
795
761
  exports.CardUpdateRequest = CardUpdateRequest;
@@ -798,7 +764,6 @@ exports.KYCValidationsRequest = KYCValidationsRequest;
798
764
  exports.SavingRequest = SavingRequest;
799
765
  exports.SessionRequest = SessionRequest;
800
766
  exports.TransferRequest = TransferRequest;
801
- exports.UploadRequest = UploadRequest;
802
767
  exports.UserCredentialRequest = UserCredentialRequest;
803
768
  exports.UserCredentialUpdateRequest = UserCredentialUpdateRequest;
804
769
  exports.UserLoginRequest = UserLoginRequest;
@@ -1,6 +1,5 @@
1
1
  import { ValidationError } from './errors/index.mjs';
2
2
  import { d as dateToUTC, e as enumValueFromString, n as VerificationType } from './data-7c37f8ca.mjs';
3
- import FormData from 'form-data';
4
3
 
5
4
  class BaseRequest {
6
5
  toObject() {
@@ -374,36 +373,6 @@ class SessionRequest extends BaseRequest {
374
373
  }
375
374
  }
376
375
 
377
- class UploadRequest extends BaseRequest {
378
- constructor({ isBack = false, file, extension, type, userId = 'me' }) {
379
- super();
380
- this.extension = extension;
381
- this.file = file;
382
- this.isBack = isBack;
383
- this.type = type;
384
- this.userId = userId;
385
- }
386
-
387
- toObject() {
388
- return {
389
- extension: this.extension,
390
- file: this.file,
391
- is_back: this.isBack,
392
- type: this.type,
393
- user_id: this.userId,
394
- };
395
- }
396
-
397
- toFormData() {
398
- const form = new FormData();
399
- form.append('extension', this.extension);
400
- form.append('file', this.file);
401
- form.append('type', this.type);
402
- form.append('user_id', this.userId);
403
- return form;
404
- }
405
- }
406
-
407
376
  class TransferRequest extends BaseRequest {
408
377
  constructor(
409
378
  accountNumber,
@@ -782,4 +751,4 @@ class WalletTransactionRequest extends BaseRequest {
782
751
  }
783
752
  }
784
753
 
785
- export { ApiKeyUpdateRequest as A, CardActivationRequest as C, KYCValidationsRequest as K, SavingRequest as S, TransferRequest as T, UserUpdateRequest as U, VerificationRequest as V, WalletTransactionRequest as W, ArpcRequest as a, CardRequest as b, CardUpdateRequest as c, CardValidationRequest as d, UploadRequest as e, SessionRequest as f, UserCredentialRequest as g, UserCredentialUpdateRequest as h, UserLoginRequest as i, VerificationAttemptRequest as j };
754
+ export { ApiKeyUpdateRequest as A, BaseRequest as B, CardActivationRequest as C, KYCValidationsRequest as K, SavingRequest as S, TransferRequest as T, UserUpdateRequest as U, VerificationRequest as V, WalletTransactionRequest as W, ArpcRequest as a, CardRequest as b, CardUpdateRequest as c, CardValidationRequest as d, SessionRequest as e, UserCredentialRequest as f, UserCredentialUpdateRequest as g, UserLoginRequest as h, VerificationAttemptRequest as i };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuenca-mx/cuenca-js",
3
- "version": "0.0.8-dev.8",
3
+ "version": "0.0.8",
4
4
  "description": "Cuenca client for JS",
5
5
  "main": "./build/index.cjs",
6
6
  "module": "./build/index.mjs",
@@ -51,7 +51,6 @@
51
51
  "publish": "yarn build && yarn npm publish"
52
52
  },
53
53
  "devDependencies": {
54
- "@rollup/plugin-commonjs": "^23.0.2",
55
54
  "@rollup/plugin-json": "^4.1.0",
56
55
  "@rollup/plugin-node-resolve": "^13.1.1",
57
56
  "jest": "^27.4.5",
@@ -60,7 +59,6 @@
60
59
  },
61
60
  "dependencies": {
62
61
  "axios": "^0.24.0",
63
- "buffer": "^6.0.3",
64
- "form-data": "^4.0.0"
62
+ "buffer": "^6.0.3"
65
63
  }
66
64
  }