@cuenca-mx/cuenca-js 0.0.9 → 0.0.10-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -175,6 +175,8 @@ class FileFormat {
175
175
  }
176
176
 
177
177
  class KYCFileType {
178
+ static Curp = new KYCFileType('curp');
179
+
178
180
  static Ine = new KYCFileType('ine');
179
181
 
180
182
  static Passport = new KYCFileType('passport');
@@ -177,6 +177,8 @@ class FileFormat {
177
177
  }
178
178
 
179
179
  class KYCFileType {
180
+ static Curp = new KYCFileType('curp');
181
+
180
182
  static Ine = new KYCFileType('ine');
181
183
 
182
184
  static Passport = new KYCFileType('passport');
@@ -1,5 +1,5 @@
1
1
  import { ValidationError } from './errors/index.mjs';
2
- import { d as dateToUTC, e as enumValueFromString, V as VerificationStatus, K as KYCFileType } from './data-7c37f8ca.mjs';
2
+ import { d as dateToUTC, e as enumValueFromString, V as VerificationStatus, K as KYCFileType } from './data-4fef102e.mjs';
3
3
 
4
4
  class PageSize {
5
5
  constructor(size) {
@@ -233,9 +233,10 @@ class WalletTransactionQuery extends QueryParams {
233
233
  }
234
234
 
235
235
  class UserQuery extends QueryParams {
236
- constructor({ emailAddress, phoneNumber, status, ...args }) {
236
+ constructor({ emailAddress, hasCurpDocument, phoneNumber, status, ...args }) {
237
237
  super(args);
238
238
  this.emailAddress = emailAddress;
239
+ this.hasCurpDocument = hasCurpDocument;
239
240
  this.phoneNumber = phoneNumber;
240
241
  this.status = status;
241
242
  }
@@ -243,6 +244,7 @@ class UserQuery extends QueryParams {
243
244
  toObject() {
244
245
  return Object.assign(super.toObject(), {
245
246
  email_address: this.emailAddress,
247
+ has_curp_document: this.hasCurpDocument,
246
248
  phone_number: this.phoneNumber,
247
249
  status: this.status,
248
250
  });
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var errors_index = require('./errors/index.cjs');
4
- var data = require('./data-0a7efb93.cjs');
4
+ var data = require('./data-f9e31b5e.cjs');
5
5
 
6
6
  class PageSize {
7
7
  constructor(size) {
@@ -235,9 +235,10 @@ class WalletTransactionQuery extends QueryParams {
235
235
  }
236
236
 
237
237
  class UserQuery extends QueryParams {
238
- constructor({ emailAddress, phoneNumber, status, ...args }) {
238
+ constructor({ emailAddress, hasCurpDocument, phoneNumber, status, ...args }) {
239
239
  super(args);
240
240
  this.emailAddress = emailAddress;
241
+ this.hasCurpDocument = hasCurpDocument;
241
242
  this.phoneNumber = phoneNumber;
242
243
  this.status = status;
243
244
  }
@@ -245,6 +246,7 @@ class UserQuery extends QueryParams {
245
246
  toObject() {
246
247
  return Object.assign(super.toObject(), {
247
248
  email_address: this.emailAddress,
249
+ has_curp_document: this.hasCurpDocument,
248
250
  phone_number: this.phoneNumber,
249
251
  status: this.status,
250
252
  });
package/build/index.cjs CHANGED
@@ -6,9 +6,9 @@ var axios = require('axios');
6
6
  var Buffer = require('buffer');
7
7
  var errors_index = require('./errors/index.cjs');
8
8
  var jwt_index = require('./jwt/index.cjs');
9
- var data = require('./data-0a7efb93.cjs');
10
- var identities = require('./identities-864a3664.cjs');
11
- var walletTransactionRequest = require('./walletTransactionRequest-4bbea44d.cjs');
9
+ var data = require('./data-f9e31b5e.cjs');
10
+ var identities = require('./identities-be2660c3.cjs');
11
+ var walletTransactionRequest = require('./walletTransactionRequest-e4f08f88.cjs');
12
12
 
13
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
14
 
@@ -26,7 +26,7 @@ const isNode =
26
26
 
27
27
  const runtimeEnv = { isBrowser, isNode };
28
28
 
29
- const name="@cuenca-mx/cuenca-js";const version="0.0.9";const description="Cuenca client for JS";const main="./build/index.cjs";const module$1="./build/index.mjs";const browser="./build/umd/cuenca.umd.js";const files=["build/**/*"];const exports$1={".":{"import":"./build/index.mjs",require:"./build/index.cjs"},"./errors":{"import":"./build/errors/index.mjs",require:"./build/errors/index.cjs"},"./jwt":{"import":"./build/jwt/index.mjs",require:"./build/jwt/index.cjs"},"./requests":{"import":"./build/requests/index.mjs",require:"./build/requests/index.cjs"},"./types":{"import":"./build/types/index.mjs",require:"./build/types/index.cjs"}};const packageManager="yarn@3.0.2";const type="module";const repository={type:"git",url:"https://github.com/cuenca-mx/cuenca-js.git",directory:"packages/cuenca-js"};const keywords=["cuenca"];const license="MIT";const bugs={url:"https://github.com/cuenca-mx/cuenca-js/issues"};const homepage="https://cuenca.com";const scripts={build:"rm -rf build/ && yarn rollup --config",test:"yarn node --experimental-vm-modules $(yarn bin jest)",publish:"yarn build && yarn npm publish"};const devDependencies={"@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1",jest:"^27.4.5",rollup:"^2.61.1","rollup-plugin-terser":"^7.0.2"};const dependencies={axios:"^0.24.0",buffer:"^6.0.3"};var pkg = {name:name,version:version,description:description,main:main,module:module$1,browser:browser,files:files,exports:exports$1,packageManager:packageManager,type:type,repository:repository,keywords:keywords,license:license,bugs:bugs,homepage:homepage,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies};
29
+ const name="@cuenca-mx/cuenca-js";const version="0.0.10-dev.1";const description="Cuenca client for JS";const main="./build/index.cjs";const module$1="./build/index.mjs";const browser="./build/umd/cuenca.umd.js";const files=["build/**/*"];const exports$1={".":{"import":"./build/index.mjs",require:"./build/index.cjs"},"./errors":{"import":"./build/errors/index.mjs",require:"./build/errors/index.cjs"},"./jwt":{"import":"./build/jwt/index.mjs",require:"./build/jwt/index.cjs"},"./requests":{"import":"./build/requests/index.mjs",require:"./build/requests/index.cjs"},"./types":{"import":"./build/types/index.mjs",require:"./build/types/index.cjs"}};const packageManager="yarn@3.0.2";const type="module";const repository={type:"git",url:"https://github.com/cuenca-mx/cuenca-js.git",directory:"packages/cuenca-js"};const keywords=["cuenca"];const license="MIT";const bugs={url:"https://github.com/cuenca-mx/cuenca-js/issues"};const homepage="https://cuenca.com";const scripts={build:"rm -rf build/ && yarn rollup --config",test:"yarn node --experimental-vm-modules $(yarn bin jest)",publish:"yarn build && yarn npm publish"};const devDependencies={"@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1",jest:"^27.4.5",rollup:"^2.61.1","rollup-plugin-terser":"^7.0.2"};const dependencies={axios:"^0.24.0",buffer:"^6.0.3"};var pkg = {name:name,version:version,description:description,main:main,module:module$1,browser:browser,files:files,exports:exports$1,packageManager:packageManager,type:type,repository:repository,keywords:keywords,license:license,bugs:bugs,homepage:homepage,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies};
30
30
 
31
31
  class Client {
32
32
  constructor({
@@ -1058,6 +1058,7 @@ class User {
1058
1058
  countryOfBirth,
1059
1059
  createdAt,
1060
1060
  curp,
1061
+ curpDocument,
1061
1062
  dateOfBirth,
1062
1063
  emailAddress,
1063
1064
  firstSurname,
@@ -1088,6 +1089,7 @@ class User {
1088
1089
  this.countryOfBirth = countryOfBirth;
1089
1090
  this.createdAt = data.dateToUTC(createdAt);
1090
1091
  this.curp = curp;
1092
+ this.setCurpDoc = curpDocument;
1091
1093
  this.dateOfBirth = dateOfBirth;
1092
1094
  this.emailAddress = emailAddress;
1093
1095
  this.firstSurname = firstSurname;
@@ -1155,6 +1157,15 @@ class User {
1155
1157
  this._termsOfService = identities.TOSAgreements.fromObject(value);
1156
1158
  }
1157
1159
 
1160
+ get curpDocument() {
1161
+ return this._curpDocument;
1162
+ }
1163
+
1164
+ set setCurpDoc(value) {
1165
+ if (!value) return;
1166
+ this._curpDocument = identities.KYCFile.fromObject(value);
1167
+ }
1168
+
1158
1169
  static fromObject = ({
1159
1170
  address,
1160
1171
  clabe,
@@ -1182,6 +1193,7 @@ class User {
1182
1193
  blacklistValidationStatus: obj.blacklist_validation_status,
1183
1194
  countryOfBirth: obj.country_of_birth,
1184
1195
  createdAt: obj.created_at,
1196
+ curpDocument: obj.curp_document,
1185
1197
  dateOfBirth: obj.date_of_birth,
1186
1198
  emailAddress: obj.email_address,
1187
1199
  firstSurname: obj.first_surname,
package/build/index.mjs CHANGED
@@ -2,9 +2,9 @@ import axios from 'axios';
2
2
  import Buffer from 'buffer';
3
3
  import { CuencaResponseException, CuencaException, NoResultFound, MultipleResultsFound, InvalidPassword } from './errors/index.mjs';
4
4
  import { Jwt } from './jwt/index.mjs';
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
- 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, 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-694b38d5.mjs';
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-4fef102e.mjs';
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-6c9a859f.mjs';
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-1b9e7111.mjs';
8
8
 
9
9
  /* global window */
10
10
 
@@ -17,7 +17,7 @@ const isNode =
17
17
 
18
18
  const runtimeEnv = { isBrowser, isNode };
19
19
 
20
- const name="@cuenca-mx/cuenca-js";const version="0.0.9";const description="Cuenca client for JS";const main="./build/index.cjs";const module="./build/index.mjs";const browser="./build/umd/cuenca.umd.js";const files=["build/**/*"];const exports={".":{"import":"./build/index.mjs",require:"./build/index.cjs"},"./errors":{"import":"./build/errors/index.mjs",require:"./build/errors/index.cjs"},"./jwt":{"import":"./build/jwt/index.mjs",require:"./build/jwt/index.cjs"},"./requests":{"import":"./build/requests/index.mjs",require:"./build/requests/index.cjs"},"./types":{"import":"./build/types/index.mjs",require:"./build/types/index.cjs"}};const packageManager="yarn@3.0.2";const type="module";const repository={type:"git",url:"https://github.com/cuenca-mx/cuenca-js.git",directory:"packages/cuenca-js"};const keywords=["cuenca"];const license="MIT";const bugs={url:"https://github.com/cuenca-mx/cuenca-js/issues"};const homepage="https://cuenca.com";const scripts={build:"rm -rf build/ && yarn rollup --config",test:"yarn node --experimental-vm-modules $(yarn bin jest)",publish:"yarn build && yarn npm publish"};const devDependencies={"@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1",jest:"^27.4.5",rollup:"^2.61.1","rollup-plugin-terser":"^7.0.2"};const dependencies={axios:"^0.24.0",buffer:"^6.0.3"};var pkg = {name:name,version:version,description:description,main:main,module:module,browser:browser,files:files,exports:exports,packageManager:packageManager,type:type,repository:repository,keywords:keywords,license:license,bugs:bugs,homepage:homepage,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies};
20
+ const name="@cuenca-mx/cuenca-js";const version="0.0.10-dev.1";const description="Cuenca client for JS";const main="./build/index.cjs";const module="./build/index.mjs";const browser="./build/umd/cuenca.umd.js";const files=["build/**/*"];const exports={".":{"import":"./build/index.mjs",require:"./build/index.cjs"},"./errors":{"import":"./build/errors/index.mjs",require:"./build/errors/index.cjs"},"./jwt":{"import":"./build/jwt/index.mjs",require:"./build/jwt/index.cjs"},"./requests":{"import":"./build/requests/index.mjs",require:"./build/requests/index.cjs"},"./types":{"import":"./build/types/index.mjs",require:"./build/types/index.cjs"}};const packageManager="yarn@3.0.2";const type="module";const repository={type:"git",url:"https://github.com/cuenca-mx/cuenca-js.git",directory:"packages/cuenca-js"};const keywords=["cuenca"];const license="MIT";const bugs={url:"https://github.com/cuenca-mx/cuenca-js/issues"};const homepage="https://cuenca.com";const scripts={build:"rm -rf build/ && yarn rollup --config",test:"yarn node --experimental-vm-modules $(yarn bin jest)",publish:"yarn build && yarn npm publish"};const devDependencies={"@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1",jest:"^27.4.5",rollup:"^2.61.1","rollup-plugin-terser":"^7.0.2"};const dependencies={axios:"^0.24.0",buffer:"^6.0.3"};var pkg = {name:name,version:version,description:description,main:main,module:module,browser:browser,files:files,exports:exports,packageManager:packageManager,type:type,repository:repository,keywords:keywords,license:license,bugs:bugs,homepage:homepage,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies};
21
21
 
22
22
  class Client {
23
23
  constructor({
@@ -1049,6 +1049,7 @@ class User {
1049
1049
  countryOfBirth,
1050
1050
  createdAt,
1051
1051
  curp,
1052
+ curpDocument,
1052
1053
  dateOfBirth,
1053
1054
  emailAddress,
1054
1055
  firstSurname,
@@ -1079,6 +1080,7 @@ class User {
1079
1080
  this.countryOfBirth = countryOfBirth;
1080
1081
  this.createdAt = dateToUTC(createdAt);
1081
1082
  this.curp = curp;
1083
+ this.setCurpDoc = curpDocument;
1082
1084
  this.dateOfBirth = dateOfBirth;
1083
1085
  this.emailAddress = emailAddress;
1084
1086
  this.firstSurname = firstSurname;
@@ -1146,6 +1148,15 @@ class User {
1146
1148
  this._termsOfService = TOSAgreements.fromObject(value);
1147
1149
  }
1148
1150
 
1151
+ get curpDocument() {
1152
+ return this._curpDocument;
1153
+ }
1154
+
1155
+ set setCurpDoc(value) {
1156
+ if (!value) return;
1157
+ this._curpDocument = KYCFile.fromObject(value);
1158
+ }
1159
+
1149
1160
  static fromObject = ({
1150
1161
  address,
1151
1162
  clabe,
@@ -1173,6 +1184,7 @@ class User {
1173
1184
  blacklistValidationStatus: obj.blacklist_validation_status,
1174
1185
  countryOfBirth: obj.country_of_birth,
1175
1186
  createdAt: obj.created_at,
1187
+ curpDocument: obj.curp_document,
1176
1188
  dateOfBirth: obj.date_of_birth,
1177
1189
  emailAddress: obj.email_address,
1178
1190
  firstSurname: obj.first_surname,
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var walletTransactionRequest = require('../walletTransactionRequest-4bbea44d.cjs');
5
+ var walletTransactionRequest = require('../walletTransactionRequest-e4f08f88.cjs');
6
6
  require('../errors/index.cjs');
7
- require('../data-0a7efb93.cjs');
7
+ require('../data-f9e31b5e.cjs');
8
8
 
9
9
  class UploadRequest extends walletTransactionRequest.BaseRequest {
10
10
  constructor({ isBack = false, file, extension, type, userId = 'me' }) {
@@ -1,7 +1,7 @@
1
- import { B as BaseRequest } from '../walletTransactionRequest-694b38d5.mjs';
2
- export { A as ApiKeyUpdateRequest, a as ArpcRequest, 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, U as UserUpdateRequest, i as VerificationAttemptRequest, V as VerificationRequest, W as WalletTransactionRequest } from '../walletTransactionRequest-694b38d5.mjs';
1
+ import { B as BaseRequest } from '../walletTransactionRequest-1b9e7111.mjs';
2
+ export { A as ApiKeyUpdateRequest, a as ArpcRequest, 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, U as UserUpdateRequest, i as VerificationAttemptRequest, V as VerificationRequest, W as WalletTransactionRequest } from '../walletTransactionRequest-1b9e7111.mjs';
3
3
  import '../errors/index.mjs';
4
- import '../data-7c37f8ca.mjs';
4
+ import '../data-4fef102e.mjs';
5
5
 
6
6
  class UploadRequest extends BaseRequest {
7
7
  constructor({ isBack = false, file, extension, type, userId = 'me' }) {
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var data = require('../data-0a7efb93.cjs');
6
- var identities = require('../identities-864a3664.cjs');
5
+ var data = require('../data-f9e31b5e.cjs');
6
+ var identities = require('../identities-be2660c3.cjs');
7
7
  require('../errors/index.cjs');
8
8
 
9
9
 
@@ -1,3 +1,3 @@
1
- export { B as BridgeAccountStatus, a as BridgeTransactionType, h as CardErrorType, b as CardFundingType, c as CardIssuer, f as CardStatus, i as CardTransactionType, g as CardType, j as CommissionType, C as Currency, D as DepositNetwork, E as EntryType, F as FileFormat, K as KYCFileType, N as Network, P as Phase, S as SavingCategory, k as ServiceProviderCategory, l as SessionType, o as TrackDataMethod, T as TransactionStatus, m as TransferNetwork, U as UserStatus, V as VerificationStatus, n as VerificationType, W as WalletTransactionType } from '../data-7c37f8ca.mjs';
2
- export { a as AccountQuery, A as Address, b as ApiKeyQuery, B as BalanceEntryQuery, c as BillPaymentQuery, d as BridgeAccountQuery, e as BridgeTransactionQuery, f as CardTransactionQuery, C as CardsQuery, D as DepositQuery, K as KYCFile, P as PageSize, Q as QueryParams, S as StatementQuery, T as TOSAgreements, i as TransactionQuery, g as TransferQuery, U as UserQuery, W as WalletQuery, h as WalletTransactionQuery } from '../identities-6206abae.mjs';
1
+ export { B as BridgeAccountStatus, a as BridgeTransactionType, h as CardErrorType, b as CardFundingType, c as CardIssuer, f as CardStatus, i as CardTransactionType, g as CardType, j as CommissionType, C as Currency, D as DepositNetwork, E as EntryType, F as FileFormat, K as KYCFileType, N as Network, P as Phase, S as SavingCategory, k as ServiceProviderCategory, l as SessionType, o as TrackDataMethod, T as TransactionStatus, m as TransferNetwork, U as UserStatus, V as VerificationStatus, n as VerificationType, W as WalletTransactionType } from '../data-4fef102e.mjs';
2
+ export { a as AccountQuery, A as Address, b as ApiKeyQuery, B as BalanceEntryQuery, c as BillPaymentQuery, d as BridgeAccountQuery, e as BridgeTransactionQuery, f as CardTransactionQuery, C as CardsQuery, D as DepositQuery, K as KYCFile, P as PageSize, Q as QueryParams, S as StatementQuery, T as TOSAgreements, i as TransactionQuery, g as TransferQuery, U as UserQuery, W as WalletQuery, h as WalletTransactionQuery } from '../identities-6c9a859f.mjs';
3
3
  import '../errors/index.mjs';
@@ -1 +1 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("axios"),require("buffer")):"function"==typeof define&&define.amd?define(["exports","axios","buffer"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).cuenca={},t.axios,t.Buffer)}(this,(function(t,e,s){"use strict";function r(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var i=r(e),a=r(s);class n extends Error{constructor(t){super(t),Object.setPrototypeOf(this,n.prototype)}}class c extends n{constructor(t,e){super(`Cuenca Response Error: ${e}`),this.name="CuencaResponseError",this.data=t,this.status=e,Object.setPrototypeOf(this,c.prototype)}}class o extends n{constructor(){super("No results were found"),this.name="NoResultFound",Object.setPrototypeOf(this,o.prototype)}}class d extends n{constructor(){super("One result was expected but multiple were found"),this.name="MultipleResultsFound",Object.setPrototypeOf(this,d.prototype)}}class u extends n{constructor(){super("An invalid JWT token was obtained during authentication"),this.name="MalformedJwtToken",Object.setPrototypeOf(this,u.prototype)}}class h extends n{constructor(){super("Invalid password"),this.name="InvalidPassword",Object.setPrototypeOf(this,h.prototype)}}class l extends Error{constructor(t){super(t),Object.setPrototypeOf(this,l.prototype)}}const p="undefined"!=typeof window&&void 0!==window.document,m="undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process),f=p,w=m;class _{constructor(t,e){this.expiresAt=t,this.token=e}get isExpired(){const t=new Date;return(this.expiresAt.valueOf()-t.valueOf())/6e4<=5}static getExpirationDate=t=>{let e;try{const[,s]=t.split(".");e=JSON.parse(a.default.Buffer.from(`${s}==`,"base64").toString())}catch(t){throw new u}const{exp:s}=e;return new Date(new Date(1e3*s).toUTCString())};static create=async t=>{const e=t;e.jwtToken=null;const s=e.deleteRequestHeader("X-Cuenca-Token"),{token:r}=await t.post("token",{});s.eject();const i=_.getExpirationDate(r);return new _(i,r)}}class b{static Succeeded=new b("succeeded");static NotValidated=new b("not_validated");static Failed=new b("failed");static OnWaitList=new b("on_wait_list");constructor(t){this.value=t}}class y{static Blocked=new y("blocked");static Comunication=new y("comunication");static ContactlesAmountLimit=new y("contactles_amount_limit");static FraudDetection=new y("fraud_detection");static FraudDetectionUncertain=new y("fraud_detection_uncertain");static InsufficientFounds=new y("insufficient_founds");static InvalidPin=new y("invalid_pin");static Notification=new y("notification");static NotificationDeactivatedCard=new y("notification_deactivated_card");constructor(t){this.value=t}}class v{static Credit=new v("credit");static Debit=new v("debit");constructor(t){this.value=t}}class g{static Accendo=new g("accendo");static Cuenca=new g("cuenca");constructor(t){this.value=t}}class O{static Buy=new O("buy");static Sell=new O("sell");constructor(t){this.value=t}}class A{static Active=new A("active");static Blocked=new A("blocked");static Created=new A("created");static Deactivated=new A("deactivated");static Printing=new A("printing");constructor(t){this.value=t}}class j{static Auth=new j("auth");static Capture=new j("capture");static Chargeback=new j("chargeback");static Expiration=new j("expiration");static Refund=new j("refund");static Void=new j("void");constructor(t){this.value=t}}class x{static Mxn=new x("mxn");static Usdc=new x("usdc");static Sol=new x("sol");constructor(t){this.value=t}}class I{static Physical=new I("physical");static Virtual=new I("virtual");constructor(t){this.value=t}}class k{static CardRequest=new k("card_request");static CashDeposit=new k("cash_deposit");static OutgoingSpei=new k("outgoing_spei");constructor(t){this.value=t}}class U{static Cash=new U("cash");static Internal=new U("internal");static Spei=new U("spei");constructor(t){this.value=t}}class 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 B{static Cable=new B("cable");static CreditCard=new B("credit_card");static Electricity=new B("electricity");static Gas=new B("gas");static Internet=new B("internet");static LandlineTelephone=new B("landline_telephone");static MobileTelephonePostpaid=new B("mobile_telephone_postpaid");static MobileTelephonePrepaid=new B("mobile_telephone_prepaid");static SateliteTelevision=new B("satelite_television");static Water=new B("water");constructor(t){this.value=t}}class q{static General=new q("general");static Home=new q("home");static Vehicle=new q("vehicle");static Travel=new q("travel");static Clothing=new q("clothing");static Other=new q("other");static Medical=new q("medical");static Accident=new q("accident");static Education=new q("education");constructor(t){this.value=t}}class P{static AccountEntries=new P("session.account_entries");static DownloadFile=new P("session.download_file");static Registration=new P("session.registration");static ShowCard=new P("session.show_card");static UploadFile=new P("session.upload_file");constructor(t){this.value=t}}class ${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.9";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(q,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 Bt{constructor({categories:t,id:e,name:s,providerKey:r}){var i;this.categories=null==(i=t)?[]:i.map((t=>Y(B,t))),this.id=e,this.name=s,this.providerKey=r}static fromObject=({categories:t,id:e,name:s,...r})=>new Bt({categories:t,id:e,name:s,providerKey:r.provider_key})}class qt{constructor({createdAt:t,expiresAt:e,failureUrl:s,id:r,platformId:i,successUrl:a,type:n,userId:c}){this.createdAt=F(t),this.expiresAt=F(e),this.failureUrl=s,this.id=r,this.platformId=i,this.successUrl=a,this.type=Y(P,n),this.userId=c}static fromObject=({id:t,type:e,...s})=>new qt({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 Pt{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 Pt({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":()=>qt.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:()=>Bt.fromObject(e),sessions:()=>qt.fromObject(e),statements:()=>Pt.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({userId:t,force:e,isBridge:s=!1}){super(),this.force=e,this.userId=t,this.isBridge=s}toObject(){return{force:this.force,[this.isBridge?"account_id":"user_id"]:this.userId}}}class 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 Be 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 qe 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 Pe extends(Ft(Wt).with(Xt,zt,te)){constructor(t,e=!1){super(e?"bridge/kyc_validations":"kyc_validations",Object,t),this.isBridge=e}async create(t="me",e=!1){const s=new oe({force:e,userId:t,isBridge:this.isBridge});return await this._create(s.toCleanObject())}}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 Pe(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 Be(t),this.files=new qe(t),this.kycValidations=new Pe(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)}}}));
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("axios"),require("buffer")):"function"==typeof define&&define.amd?define(["exports","axios","buffer"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).cuenca={},t.axios,t.Buffer)}(this,(function(t,e,s){"use strict";function r(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var i=r(e),a=r(s);class n extends Error{constructor(t){super(t),Object.setPrototypeOf(this,n.prototype)}}class c extends n{constructor(t,e){super(`Cuenca Response Error: ${e}`),this.name="CuencaResponseError",this.data=t,this.status=e,Object.setPrototypeOf(this,c.prototype)}}class o extends n{constructor(){super("No results were found"),this.name="NoResultFound",Object.setPrototypeOf(this,o.prototype)}}class d extends n{constructor(){super("One result was expected but multiple were found"),this.name="MultipleResultsFound",Object.setPrototypeOf(this,d.prototype)}}class u extends n{constructor(){super("An invalid JWT token was obtained during authentication"),this.name="MalformedJwtToken",Object.setPrototypeOf(this,u.prototype)}}class h extends n{constructor(){super("Invalid password"),this.name="InvalidPassword",Object.setPrototypeOf(this,h.prototype)}}class l extends Error{constructor(t){super(t),Object.setPrototypeOf(this,l.prototype)}}const p="undefined"!=typeof window&&void 0!==window.document,m="undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process),f=p,w=m;class _{constructor(t,e){this.expiresAt=t,this.token=e}get isExpired(){const t=new Date;return(this.expiresAt.valueOf()-t.valueOf())/6e4<=5}static getExpirationDate=t=>{let e;try{const[,s]=t.split(".");e=JSON.parse(a.default.Buffer.from(`${s}==`,"base64").toString())}catch(t){throw new u}const{exp:s}=e;return new Date(new Date(1e3*s).toUTCString())};static create=async t=>{const e=t;e.jwtToken=null;const s=e.deleteRequestHeader("X-Cuenca-Token"),{token:r}=await t.post("token",{});s.eject();const i=_.getExpirationDate(r);return new _(i,r)}}class b{static Succeeded=new b("succeeded");static NotValidated=new b("not_validated");static Failed=new b("failed");static OnWaitList=new b("on_wait_list");constructor(t){this.value=t}}class y{static Blocked=new y("blocked");static Comunication=new y("comunication");static ContactlesAmountLimit=new y("contactles_amount_limit");static FraudDetection=new y("fraud_detection");static FraudDetectionUncertain=new y("fraud_detection_uncertain");static InsufficientFounds=new y("insufficient_founds");static InvalidPin=new y("invalid_pin");static Notification=new y("notification");static NotificationDeactivatedCard=new y("notification_deactivated_card");constructor(t){this.value=t}}class v{static Credit=new v("credit");static Debit=new v("debit");constructor(t){this.value=t}}class g{static Accendo=new g("accendo");static Cuenca=new g("cuenca");constructor(t){this.value=t}}class O{static Buy=new O("buy");static Sell=new O("sell");constructor(t){this.value=t}}class A{static Active=new A("active");static Blocked=new A("blocked");static Created=new A("created");static Deactivated=new A("deactivated");static Printing=new A("printing");constructor(t){this.value=t}}class j{static Auth=new j("auth");static Capture=new j("capture");static Chargeback=new j("chargeback");static Expiration=new j("expiration");static Refund=new j("refund");static Void=new j("void");constructor(t){this.value=t}}class x{static Mxn=new x("mxn");static Usdc=new x("usdc");static Sol=new x("sol");constructor(t){this.value=t}}class I{static Physical=new I("physical");static Virtual=new I("virtual");constructor(t){this.value=t}}class k{static CardRequest=new k("card_request");static CashDeposit=new k("cash_deposit");static OutgoingSpei=new k("outgoing_spei");constructor(t){this.value=t}}class U{static Cash=new U("cash");static Internal=new U("internal");static Spei=new U("spei");constructor(t){this.value=t}}class C{static Credit=new C("credit");static Debit=new C("debit");constructor(t){this.value=t}}class T{static Pdf=new T("application/pdf");static Xml=new T("application/xml");static Json=new T("application/json");static Any=new T("*/*");constructor(t){this.value=t}}class S{static Curp=new S("curp");static Ine=new S("ine");static Passport=new S("passport");static Residency=new S("residency");static MatriculaConsular=new S("matricula_consular");static ProofOfLiveness=new S("proof_of_liveness");static ProofOfAddress=new S("proof_of_address");constructor(t){this.value=t}}class N{static Sandbox=new N("sandbox-api");static Stage=new N("stage-api");static Api=new N("api");constructor(t){this.value=t}}class B{static Cable=new B("cable");static CreditCard=new B("credit_card");static Electricity=new B("electricity");static Gas=new B("gas");static Internet=new B("internet");static LandlineTelephone=new B("landline_telephone");static MobileTelephonePostpaid=new B("mobile_telephone_postpaid");static MobileTelephonePrepaid=new B("mobile_telephone_prepaid");static SateliteTelevision=new B("satelite_television");static Water=new B("water");constructor(t){this.value=t}}class q{static General=new q("general");static Home=new q("home");static Vehicle=new q("vehicle");static Travel=new q("travel");static Clothing=new q("clothing");static Other=new q("other");static Medical=new q("medical");static Accident=new q("accident");static Education=new q("education");constructor(t){this.value=t}}class P{static AccountEntries=new P("session.account_entries");static DownloadFile=new P("session.download_file");static Registration=new P("session.registration");static ShowCard=new P("session.show_card");static UploadFile=new P("session.upload_file");constructor(t){this.value=t}}class D{static NotSet=new D("not_set");static Terminal=new D("terminal");static Manual=new D("manual");static Unknown=new D("unknown");static Contactless=new D("contactless");static FallBack=new D("fall_back");static MagneticStripe=new D("magnetic_stripe");static RecurringCharge=new D("recurring_charge");constructor(t){this.value=t}}class ${static Polygon=new $("polygon");static Solana=new $("solana");constructor(t){this.value=t}}class E{static Created=new E("created");static Failed=new E("failed");static InReview=new E("in_review");static Submitted=new E("submitted");static Succeeded=new E("succeeded");constructor(t){this.value=t}}class K{static Internal=new K("internal");static Spei=new K("spei");constructor(t){this.value=t}}class L{static Active=new L("active");static Deactivated=new L("deactivated");static Fraud=new L("fraud");static PldBlocked=new L("pld_blocked");constructor(t){this.value=t}}class M{static Created=new M("created");static NotVerified=new M("not_verified");static Rejected=new M("rejected");static ReviewNeeded=new M("review_needed");static Submitted=new M("submitted");static Succeeded=new M("succeeded");static UploadAgain=new M("upload_again");constructor(t){this.value=t}}class V{static Phone=new V("phone");static Email=new V("email");constructor(t){this.value=t}}class R{static Deposit=new R("deposit");static Withdrawal=new R("withdrawal");constructor(t){this.value=t}}const F=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},Y=(t,e)=>Object.values(t).find((t=>t.value===e));class H{constructor({createdAfter:t,createdBefore:e,limit:s,pageSize:r,relatedTransaction:i,userId:a,count:n=!1}){this.createdAfter=t,this.createdBefore=e,this._lmt=s,this.relatedTransaction=i,this.userId=a,this.count=n,this.pageSize=r}get limit(){return this._limit}set _lmt(t){let e=null;t&&t>=0&&(e=t),this._limit=e}toObject(){return{created_after:this.createdAfter,created_before:this.createdBefore,limit:this.limit,related_transaction:this.relatedTransaction,user_id:this.userId,page_size:this.pageSize&&this.pageSize.size}}toParams(){const t={...this.toObject()};return this.count&&(t.count=1),Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}toQueryString(){return new URLSearchParams(this.toParams()).toString()}}class W extends H{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class z extends H{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class X extends H{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class G extends X{constructor({trackingKey:t,network:e,...s}){super(s),this.trackingKey=t,this.network=e}toObject(){return Object.assign(super.toObject(),{tracking_key:this.trackingKey,network:this.network})}}class Q extends X{constructor({accountNumber:t,idempotencyKey:e,trackingKey:s,network:r,...i}){super(i),this.accountNumber=t,this.idempotencyKey=e,this.trackingKey=s,this.network=r}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber,idempotency_key:this.idempotencyKey,tracking_key:this.trackingKey,network:this.network})}}class J extends H{constructor({fundingInstrumentUri:t,count:e=!1,walletId:s="default",...r}){super(r),this.fundingInstrumentUri=t,this.count=e,this.walletId=s}toObject(){return Object.assign(super.toObject(),{wallet_id:this.walletId,funding_instrument_uri:this.fundingInstrumentUri,count:this.count})}}class Z extends H{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class tt extends H{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class et extends H{constructor({cardUri:t,count:e=!1,...s}){super(s),this.cardUri=t,this.count=e}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri,count:this.count})}}class st extends H{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class rt extends H{constructor({emailAddress:t,hasCurpDocument:e,phoneNumber:s,status:r,...i}){super(i),this.emailAddress=t,this.hasCurpDocument=e,this.phoneNumber=s,this.status=r}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress,has_curp_document:this.hasCurpDocument,phone_number:this.phoneNumber,status:this.status})}}class it extends H{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class at extends H{constructor({month:t,year:e,...s}){super(s),this.d={month:t,year:e}}get month(){return this._date.month}get year(){return this._date.year}set d({month:t,year:e}){const s=F(Date.now());s.setUTCDate(1);if(F(`${e}-${t}-01`).getTime()>=s.getTime())throw new l(`${e}-${t} is not a valid year-month pair`);this._date={month:t,year:e}}toObject(){return Object.assign(super.toObject(),{month:this.month,year:this.year})}}class nt extends H{constructor({emailAddress:t,...e}){super(e),this.emailAddress=t}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress})}}class ct extends H{constructor({accountId:t,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.10-dev.1";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=T.Json,method:r="GET",multipart:i=!1,params:a=null}){let o={};i||(o={"Content-Type":"application/json",Accept:`application/${s.value}`}),this.authHeader&&(o.Authorization=this.authHeader),w?o["User-Agent"]=`cuenca-js/${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(C,r),this.fundingInstrumentUri=i,this.id=a,this.name=n,this.relatedTransactionUri=c,this.rollingBalance=o}static fromObject=({amount:t,descriptor:e,id:s,name:r,type:i,...a})=>new _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($,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 Ct{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 Ct({attemps:t,filesUri:e.files_uri,platformId:e.platform_id,verificationId:e.verification_id})}class Tt{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new Tt({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(q,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 Bt{constructor({categories:t,id:e,name:s,providerKey:r}){var i;this.categories=null==(i=t)?[]:i.map((t=>Y(B,t))),this.id=e,this.name=s,this.providerKey=r}static fromObject=({categories:t,id:e,name:s,...r})=>new Bt({categories:t,id:e,name:s,providerKey:r.provider_key})}class qt{constructor({createdAt:t,expiresAt:e,failureUrl:s,id:r,platformId:i,successUrl:a,type:n,userId:c}){this.createdAt=F(t),this.expiresAt=F(e),this.failureUrl=s,this.id=r,this.platformId=i,this.successUrl=a,this.type=Y(P,n),this.userId=c}static fromObject=({id:t,type:e,...s})=>new qt({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 Pt{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 Pt({id:t,month:e,year:s,createdAt:r.created_at})}class Dt 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 Dt({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 $t{constructor({address:t,blacklistValidationStatus:e,clabe:s,countryOfBirth:r,createdAt:i,curp:a,curpDocument:n,dateOfBirth:c,emailAddress:o,firstSurname:d,gender:u,govtId:h,id:l,level:p,names:m,nationality:f,phoneNumber:w,proofOfAddress:_,proofOfLife:b,requiredLevel:y,rfc:v,secondSurname:g,stateOfBirth:O,status:A,termsOfService:j,updatedAt:x,verificationId:I}){this.setAddress=t,this.blacklistValidationStatus=Y(M,e),this.clabe=s,this.countryOfBirth=r,this.createdAt=F(i),this.curp=a,this.setCurpDoc=n,this.dateOfBirth=c,this.emailAddress=o,this.firstSurname=d,this.gender=u,this.id=l,this.level=p,this.names=m,this.nationality=f,this.phoneNumber=w,this.setGovtId=h,this.setProofOfAddress=_,this.setProofOfLife=b,this.requiredLevel=y,this.rfc=v,this.secondSurname=g,this.stateOfBirth=O,this.status=Y(L,A),this.setTerms=j,this.updatedAt=F(x),this.verificationId=I}get address(){return this._address}set setAddress(t){t&&(this._address=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))}get curpDocument(){return this._curpDocument}set setCurpDoc(t){t&&(this._curpDocument=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 $t({address:t,clabe:e,curp:s,gender:r,id:i,level:a,names:n,nationality:c,rfc:o,status:d,blacklistValidationStatus:u.blacklist_validation_status,countryOfBirth:u.country_of_birth,createdAt:u.created_at,curpDocument:u.curp_document,dateOfBirth:u.date_of_birth,emailAddress:u.email_address,firstSurname:u.first_surname,govtId:u.govt_id,phoneNumber:u.phone_number,proofOfAddress:u.proof_of_address,proofOfLife:u.proof_of_life,requiredLevel:u.required_level,secondSurname:u.second_surname,stateOfBirth:u.state_of_birth,termsOfService:u.terms_of_service,updatedAt:u.updated_at,verificationId:u.verification_id})}class 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":()=>Ct.fromObject(e),"bridge/sessions":()=>qt.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:()=>Ct.fromObject(e),login_tokens:()=>Tt.fromObject(e),savings:()=>Nt.fromObject(e),service_providers:()=>Bt.fromObject(e),sessions:()=>qt.fromObject(e),statements:()=>Pt.fromObject(e),transfers:()=>Dt.fromObject(e),users:()=>$t.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({userId:t,force:e,isBridge:s=!1}){super(),this.force=e,this.userId=t,this.isBridge=s}toObject(){return{force:this.force,[this.isBridge?"account_id":"user_id"]:this.userId}}}class 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,curpDocumentUri:e,govtId:s,profession:r,proofOfAddress:i,proofOfLife:a,requiredLevel:n,termsOfService:c,verificationId:o}){super(),this.adrs=t,this.curpDocumentUri=e,this.govstIds=s,this.profession=r,this.addressProofs=i,this.lifeProofs=a,this.requiredLevel=n,this.terms=c,this.verificationId=o}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=new 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,curp_document_uri:this.curpDocumentUri,profession:this.profession,requiredLevel:this.requiredLevel,terms_of_service:this.termsOfService,verification_id:this.verificationId,proof_of_life:this.proofOfLife,proof_of_address:this.proofOfAddress,govt_id:this.govtId}}}class 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 Ce 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 Te 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 Be 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 qe extends(Ft(Wt).with(Zt,Qt)){constructor(t){super("files",Object,t)}async download(t){return await this._download(t,T.Any)}async upload(t){return await this._upload(t)}}class Pe extends(Ft(Wt).with(Xt,zt,te)){constructor(t,e=!1){super(e?"bridge/kyc_validations":"kyc_validations",Object,t),this.isBridge=e}async create(t="me",e=!1){const s=new oe({force:e,userId:t,isBridge:this.isBridge});return await this._create(s.toCleanObject())}}class De extends(Ft(Wt).with(Xt)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class $e 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,T.Pdf)}async xml(t){return await this._download(t,T.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 Pe(t,!0),this.bridgeSessions=new Ke(t,!0),this.bridgeTransactions=new ke(t),this.cardActivations=new Ue(t),this.cards=new Ce(t),this.cardTransactions=new Te(t),this.cardValidations=new Se(t),this.commissions=new Ne(t),this.deposits=new Be(t),this.files=new qe(t),this.kycValidations=new Pe(t),this.loginTokens=new De(t),this.savings=new $e(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)}}}));
@@ -1,5 +1,5 @@
1
1
  import { ValidationError } from './errors/index.mjs';
2
- import { d as dateToUTC, e as enumValueFromString, n as VerificationType } from './data-7c37f8ca.mjs';
2
+ import { d as dateToUTC, e as enumValueFromString, n as VerificationType } from './data-4fef102e.mjs';
3
3
 
4
4
  class BaseRequest {
5
5
  toObject() {
@@ -596,6 +596,7 @@ class KycFileRequest extends BaseRequest {
596
596
  class UserUpdateRequest extends BaseRequest {
597
597
  constructor({
598
598
  address,
599
+ curpDocumentUri,
599
600
  govtId,
600
601
  profession,
601
602
  proofOfAddress,
@@ -606,6 +607,7 @@ class UserUpdateRequest extends BaseRequest {
606
607
  }) {
607
608
  super();
608
609
  this.adrs = address;
610
+ this.curpDocumentUri = curpDocumentUri;
609
611
  this.govstIds = govtId;
610
612
  this.profession = profession;
611
613
  this.addressProofs = proofOfAddress;
@@ -663,6 +665,7 @@ class UserUpdateRequest extends BaseRequest {
663
665
  toObject() {
664
666
  return {
665
667
  address: this.address,
668
+ curp_document_uri: this.curpDocumentUri,
666
669
  profession: this.profession,
667
670
  requiredLevel: this.requiredLevel,
668
671
  terms_of_service: this.termsOfService,
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var errors_index = require('./errors/index.cjs');
4
- var data = require('./data-0a7efb93.cjs');
4
+ var data = require('./data-f9e31b5e.cjs');
5
5
 
6
6
  class BaseRequest {
7
7
  toObject() {
@@ -598,6 +598,7 @@ class KycFileRequest extends BaseRequest {
598
598
  class UserUpdateRequest extends BaseRequest {
599
599
  constructor({
600
600
  address,
601
+ curpDocumentUri,
601
602
  govtId,
602
603
  profession,
603
604
  proofOfAddress,
@@ -608,6 +609,7 @@ class UserUpdateRequest extends BaseRequest {
608
609
  }) {
609
610
  super();
610
611
  this.adrs = address;
612
+ this.curpDocumentUri = curpDocumentUri;
611
613
  this.govstIds = govtId;
612
614
  this.profession = profession;
613
615
  this.addressProofs = proofOfAddress;
@@ -665,6 +667,7 @@ class UserUpdateRequest extends BaseRequest {
665
667
  toObject() {
666
668
  return {
667
669
  address: this.address,
670
+ curp_document_uri: this.curpDocumentUri,
668
671
  profession: this.profession,
669
672
  requiredLevel: this.requiredLevel,
670
673
  terms_of_service: this.termsOfService,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuenca-mx/cuenca-js",
3
- "version": "0.0.9",
3
+ "version": "0.0.10-dev.1",
4
4
  "description": "Cuenca client for JS",
5
5
  "main": "./build/index.cjs",
6
6
  "module": "./build/index.mjs",