@cuenca-mx/cuenca-js 0.0.8-dev.1 → 0.0.8-dev.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/index.cjs CHANGED
@@ -8,14 +8,64 @@ var errors_index = require('./errors/index.cjs');
8
8
  var jwt_index = require('./jwt/index.cjs');
9
9
  var data = require('./data-e5d6baf4.cjs');
10
10
  var identities = require('./identities-e9f31da0.cjs');
11
- var walletTransactionRequest = require('./walletTransactionRequest-3fa9e821.cjs');
12
- require('module');
11
+ var walletTransactionRequest = require('./walletTransactionRequest-05320efe.cjs');
13
12
 
14
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
14
 
16
15
  var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
17
16
  var Buffer__default = /*#__PURE__*/_interopDefaultLegacy(Buffer);
18
17
 
18
+ var __importDefault = (undefined && undefined.__importDefault) || function (mod) {
19
+ return (mod && mod.__esModule) ? mod : { "default": mod };
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ const stream_1 = require("stream");
23
+ const form_data_1 = __importDefault(require("form-data"));
24
+ function isObject(data) {
25
+ const type = typeof data;
26
+ return type === 'function' || (type === 'object' && !!data);
27
+ }
28
+ function isFile(value) {
29
+ // TODO check if other ways of telling if it's a file should be supported
30
+ return value && value instanceof stream_1.Readable;
31
+ }
32
+ function hasFileEntry(data) {
33
+ return Object.values(data).some(isFile);
34
+ }
35
+ /**
36
+ * Decorate axios instance with this function,
37
+ * so that "data" is checked on every call,
38
+ * and where there is a file, it will use FormData to send it.
39
+ */
40
+ function axiosFormData(config) {
41
+ // return if
42
+ // - no body
43
+ // - body isn't an object
44
+ // - body has no file type values
45
+ if (!config.data || !isObject(config.data) || !hasFileEntry(config.data)) {
46
+ return config;
47
+ }
48
+ // build form data from original data
49
+ const formData = new form_data_1.default();
50
+ Object.entries(config.data).forEach(([key, value]) => {
51
+ formData.append(key, value);
52
+ });
53
+ // amend original config
54
+ return {
55
+ ...config,
56
+ headers: {
57
+ ...config.headers,
58
+ ...formData.getHeaders(),
59
+ },
60
+ data: formData,
61
+ };
62
+ }
63
+ exports.default = axiosFormData;
64
+
65
+ var axiosFormData$1 = /*#__PURE__*/Object.freeze({
66
+ __proto__: null
67
+ });
68
+
19
69
  /* global window */
20
70
 
21
71
  const isBrowser =
@@ -27,7 +77,7 @@ const isNode =
27
77
 
28
78
  const runtimeEnv = { isBrowser, isNode };
29
79
 
30
- const name="@cuenca-mx/cuenca-js";const version="0.0.8-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","form-data":"^4.0.0"};var pkg = {name:name,version:version,description:description,main:main,module:module$1,browser:browser,files:files,exports:exports$1,packageManager:packageManager,type:type,repository:repository,keywords:keywords,license:license,bugs:bugs,homepage:homepage,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies};
80
+ const name="@cuenca-mx/cuenca-js";const version="0.0.8-dev.10";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","axios-form-data":"^1.1.1",buffer:"^6.0.3","form-data":"^4.0.0",fs:"^0.0.1-security"};var pkg = {name:name,version:version,description:description,main:main,module:module$1,browser:browser,files:files,exports:exports$1,packageManager:packageManager,type:type,repository:repository,keywords:keywords,license:license,bugs:bugs,homepage:homepage,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies};
31
81
 
32
82
  class Client {
33
83
  constructor({
@@ -104,6 +154,14 @@ class Client {
104
154
  };
105
155
  }
106
156
 
157
+ addConfigFormDataFile() {
158
+ const interceptorId = this._session.interceptors.request.use(axiosFormData$1);
159
+ return {
160
+ interceptorId,
161
+ eject: () => this._session.interceptors.request.eject(interceptorId),
162
+ };
163
+ }
164
+
107
165
  async configure({
108
166
  apiKey,
109
167
  apiSecret,
@@ -155,8 +213,10 @@ class Client {
155
213
  params = null,
156
214
  }) {
157
215
  let headers;
216
+ let multipartConfig;
217
+
158
218
  if (multipart) {
159
- headers = data$1.getHeaders();
219
+ multipartConfig = this.addConfigFormDataFile();
160
220
  } else {
161
221
  headers = {
162
222
  'Content-Type': 'application/json',
@@ -185,7 +245,7 @@ class Client {
185
245
  const headersInterceptor = this.addHeadersToRequest(headers);
186
246
 
187
247
  const modifiedData = data$1;
188
- if (modifiedData && !multipart) {
248
+ if (modifiedData) {
189
249
  Object.keys(modifiedData).forEach((k) => {
190
250
  if (modifiedData[k] instanceof Date) {
191
251
  modifiedData[k] = modifiedData[k].toISOString();
@@ -219,6 +279,7 @@ class Client {
219
279
  } finally {
220
280
  headersInterceptor.eject();
221
281
  configInterceptor.eject();
282
+ if (multipart) multipartConfig.eject();
222
283
  }
223
284
 
224
285
  return response.data;
@@ -451,7 +512,7 @@ class BridgeAccount {
451
512
  }
452
513
 
453
514
  set setAddress(value) {
454
- if (!value) return;
515
+ if (!value || Object.keys(value).length === 0) return;
455
516
  this._address = identities.Address.fromObject(value);
456
517
  }
457
518
 
@@ -460,7 +521,7 @@ class BridgeAccount {
460
521
  }
461
522
 
462
523
  set setProofOfAddress(value) {
463
- if (!value) return;
524
+ if (!value || Object.keys(value).length === 0) return;
464
525
  this._proofOfAddress = identities.KYCFile.fromObject(value);
465
526
  }
466
527
 
@@ -469,7 +530,7 @@ class BridgeAccount {
469
530
  }
470
531
 
471
532
  set setGovtId(value) {
472
- if (!value) return;
533
+ if (!value || Object.keys(value).length === 0) return;
473
534
  this._govtId = identities.KYCFile.fromObject(value);
474
535
  }
475
536
 
@@ -478,7 +539,7 @@ class BridgeAccount {
478
539
  }
479
540
 
480
541
  set setTerms(value) {
481
- if (!value) return;
542
+ if (!value || Object.keys(value).length === 0) return;
482
543
  this._termsOfService = identities.TOSAgreements.fromObject(value);
483
544
  }
484
545
  }
@@ -1776,7 +1837,7 @@ class FileResource extends mix(Resource).with(Downlodable, Uploadable) {
1776
1837
 
1777
1838
  async upload({ ...req }) {
1778
1839
  const request = new walletTransactionRequest.UploadRequest(req);
1779
- const fileUpload = await this._upload(request.toFormData());
1840
+ const fileUpload = await this._upload(request.toObject());
1780
1841
  return fileUpload;
1781
1842
  }
1782
1843
  }
package/build/index.mjs CHANGED
@@ -4,8 +4,58 @@ import { CuencaResponseException, CuencaException, NoResultFound, MultipleResult
4
4
  import { Jwt } from './jwt/index.mjs';
5
5
  import { P as Phase, F as FileFormat, d as dateToUTC, e as enumValueFromString, E as EntryType, T as TransactionStatus, B as BridgeAccountStatus, a as BridgeTransactionType, C as Currency, N as Network, b as CardFundingType, c as CardIssuer, f as CardStatus, g as CardType, h as CardErrorType, i as CardTransactionType, j as CommissionType, D as DepositNetwork, K as KYCFileType, S as SavingCategory, k as ServiceProviderCategory, l as TransferNetwork, V as VerificationStatus, U as UserStatus, m as VerificationType, W as WalletTransactionType } from './data-8710a060.mjs';
6
6
  import { A as Address, K as KYCFile, T as TOSAgreements, a as AccountQuery, b as ApiKeyQuery, B as BalanceEntryQuery, c as BillPaymentQuery, d as BridgeAccountQuery, e as BridgeTransactionQuery, C as CardsQuery, f as CardTransactionQuery, Q as QueryParams, D as DepositQuery, W as WalletQuery, S as StatementQuery, g as TransferQuery, U as UserQuery, h as WalletTransactionQuery } from './identities-e1b62b7e.mjs';
7
- import { A as ApiKeyUpdateRequest, a as ArpcRequest, U as UserUpdateRequest, C as CardActivationRequest, b as CardRequest, c as CardUpdateRequest, d as CardValidationRequest, e as UploadRequest, K as KYCValidationsRequest, S as SavingRequest, T as TransferRequest, f as UserCredentialRequest, g as UserCredentialUpdateRequest, h as UserLoginRequest, V as VerificationRequest, i as VerificationAttemptRequest, W as WalletTransactionRequest } from './walletTransactionRequest-9c8e4681.mjs';
8
- import 'module';
7
+ import { A as ApiKeyUpdateRequest, a as ArpcRequest, U as UserUpdateRequest, C as CardActivationRequest, b as CardRequest, c as CardUpdateRequest, d as CardValidationRequest, e as UploadRequest, K as KYCValidationsRequest, S as SavingRequest, T as TransferRequest, f as UserCredentialRequest, g as UserCredentialUpdateRequest, h as UserLoginRequest, V as VerificationRequest, i as VerificationAttemptRequest, W as WalletTransactionRequest } from './walletTransactionRequest-d2d7c24b.mjs';
8
+
9
+ var __importDefault = (undefined && undefined.__importDefault) || function (mod) {
10
+ return (mod && mod.__esModule) ? mod : { "default": mod };
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ const stream_1 = require("stream");
14
+ const form_data_1 = __importDefault(require("form-data"));
15
+ function isObject(data) {
16
+ const type = typeof data;
17
+ return type === 'function' || (type === 'object' && !!data);
18
+ }
19
+ function isFile(value) {
20
+ // TODO check if other ways of telling if it's a file should be supported
21
+ return value && value instanceof stream_1.Readable;
22
+ }
23
+ function hasFileEntry(data) {
24
+ return Object.values(data).some(isFile);
25
+ }
26
+ /**
27
+ * Decorate axios instance with this function,
28
+ * so that "data" is checked on every call,
29
+ * and where there is a file, it will use FormData to send it.
30
+ */
31
+ function axiosFormData(config) {
32
+ // return if
33
+ // - no body
34
+ // - body isn't an object
35
+ // - body has no file type values
36
+ if (!config.data || !isObject(config.data) || !hasFileEntry(config.data)) {
37
+ return config;
38
+ }
39
+ // build form data from original data
40
+ const formData = new form_data_1.default();
41
+ Object.entries(config.data).forEach(([key, value]) => {
42
+ formData.append(key, value);
43
+ });
44
+ // amend original config
45
+ return {
46
+ ...config,
47
+ headers: {
48
+ ...config.headers,
49
+ ...formData.getHeaders(),
50
+ },
51
+ data: formData,
52
+ };
53
+ }
54
+ exports.default = axiosFormData;
55
+
56
+ var axiosFormData$1 = /*#__PURE__*/Object.freeze({
57
+ __proto__: null
58
+ });
9
59
 
10
60
  /* global window */
11
61
 
@@ -18,7 +68,7 @@ const isNode =
18
68
 
19
69
  const runtimeEnv = { isBrowser, isNode };
20
70
 
21
- const name="@cuenca-mx/cuenca-js";const version="0.0.8-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","form-data":"^4.0.0"};var pkg = {name:name,version:version,description:description,main:main,module:module,browser:browser,files:files,exports:exports,packageManager:packageManager,type:type,repository:repository,keywords:keywords,license:license,bugs:bugs,homepage:homepage,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies};
71
+ const name="@cuenca-mx/cuenca-js";const version="0.0.8-dev.10";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$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","axios-form-data":"^1.1.1",buffer:"^6.0.3","form-data":"^4.0.0",fs:"^0.0.1-security"};var pkg = {name:name,version:version,description:description,main:main,module:module,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};
22
72
 
23
73
  class Client {
24
74
  constructor({
@@ -95,6 +145,14 @@ class Client {
95
145
  };
96
146
  }
97
147
 
148
+ addConfigFormDataFile() {
149
+ const interceptorId = this._session.interceptors.request.use(axiosFormData$1);
150
+ return {
151
+ interceptorId,
152
+ eject: () => this._session.interceptors.request.eject(interceptorId),
153
+ };
154
+ }
155
+
98
156
  async configure({
99
157
  apiKey,
100
158
  apiSecret,
@@ -146,8 +204,10 @@ class Client {
146
204
  params = null,
147
205
  }) {
148
206
  let headers;
207
+ let multipartConfig;
208
+
149
209
  if (multipart) {
150
- headers = data.getHeaders();
210
+ multipartConfig = this.addConfigFormDataFile();
151
211
  } else {
152
212
  headers = {
153
213
  'Content-Type': 'application/json',
@@ -176,7 +236,7 @@ class Client {
176
236
  const headersInterceptor = this.addHeadersToRequest(headers);
177
237
 
178
238
  const modifiedData = data;
179
- if (modifiedData && !multipart) {
239
+ if (modifiedData) {
180
240
  Object.keys(modifiedData).forEach((k) => {
181
241
  if (modifiedData[k] instanceof Date) {
182
242
  modifiedData[k] = modifiedData[k].toISOString();
@@ -210,6 +270,7 @@ class Client {
210
270
  } finally {
211
271
  headersInterceptor.eject();
212
272
  configInterceptor.eject();
273
+ if (multipart) multipartConfig.eject();
213
274
  }
214
275
 
215
276
  return response.data;
@@ -442,7 +503,7 @@ class BridgeAccount {
442
503
  }
443
504
 
444
505
  set setAddress(value) {
445
- if (!value) return;
506
+ if (!value || Object.keys(value).length === 0) return;
446
507
  this._address = Address.fromObject(value);
447
508
  }
448
509
 
@@ -451,7 +512,7 @@ class BridgeAccount {
451
512
  }
452
513
 
453
514
  set setProofOfAddress(value) {
454
- if (!value) return;
515
+ if (!value || Object.keys(value).length === 0) return;
455
516
  this._proofOfAddress = KYCFile.fromObject(value);
456
517
  }
457
518
 
@@ -460,7 +521,7 @@ class BridgeAccount {
460
521
  }
461
522
 
462
523
  set setGovtId(value) {
463
- if (!value) return;
524
+ if (!value || Object.keys(value).length === 0) return;
464
525
  this._govtId = KYCFile.fromObject(value);
465
526
  }
466
527
 
@@ -469,7 +530,7 @@ class BridgeAccount {
469
530
  }
470
531
 
471
532
  set setTerms(value) {
472
- if (!value) return;
533
+ if (!value || Object.keys(value).length === 0) return;
473
534
  this._termsOfService = TOSAgreements.fromObject(value);
474
535
  }
475
536
  }
@@ -1767,7 +1828,7 @@ class FileResource extends mix(Resource).with(Downlodable, Uploadable) {
1767
1828
 
1768
1829
  async upload({ ...req }) {
1769
1830
  const request = new UploadRequest(req);
1770
- const fileUpload = await this._upload(request.toFormData());
1831
+ const fileUpload = await this._upload(request.toObject());
1771
1832
  return fileUpload;
1772
1833
  }
1773
1834
  }
@@ -2,10 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var walletTransactionRequest = require('../walletTransactionRequest-3fa9e821.cjs');
5
+ var walletTransactionRequest = require('../walletTransactionRequest-05320efe.cjs');
6
6
  require('../errors/index.cjs');
7
7
  require('../data-e5d6baf4.cjs');
8
- require('module');
9
8
 
10
9
 
11
10
 
@@ -1,4 +1,3 @@
1
- export { A as ApiKeyUpdateRequest, a as ArpcRequest, C as CardActivationRequest, b as CardRequest, c as CardUpdateRequest, d as CardValidationRequest, e as FileUploadRequest, K as KYCValidationsRequeest, S as SavingRequest, 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-9c8e4681.mjs';
1
+ export { A as ApiKeyUpdateRequest, a as ArpcRequest, C as CardActivationRequest, b as CardRequest, c as CardUpdateRequest, d as CardValidationRequest, e as FileUploadRequest, K as KYCValidationsRequeest, S as SavingRequest, 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-d2d7c24b.mjs';
2
2
  import '../errors/index.mjs';
3
3
  import '../data-8710a060.mjs';
4
- import 'module';
@@ -1 +1 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("axios"),require("buffer"),require("module")):"function"==typeof define&&define.amd?define(["exports","axios","buffer","module"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).cuenca={},t.axios,t.Buffer,t.module$1)}(this,(function(t,e,s,r){"use strict";function i(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var a=i(e),n=i(s);class c extends Error{constructor(t){super(t),Object.setPrototypeOf(this,c.prototype)}}class o extends c{constructor(t,e){super(`Cuenca Response Error: ${e}`),this.name="CuencaResponseError",this.data=t,this.status=e,Object.setPrototypeOf(this,o.prototype)}}class d extends c{constructor(){super("No results were found"),this.name="NoResultFound",Object.setPrototypeOf(this,d.prototype)}}class u extends c{constructor(){super("One result was expected but multiple were found"),this.name="MultipleResultsFound",Object.setPrototypeOf(this,u.prototype)}}class h extends c{constructor(){super("An invalid JWT token was obtained during authentication"),this.name="MalformedJwtToken",Object.setPrototypeOf(this,h.prototype)}}class p extends c{constructor(){super("Invalid password"),this.name="InvalidPassword",Object.setPrototypeOf(this,p.prototype)}}class l extends Error{constructor(t){super(t),Object.setPrototypeOf(this,l.prototype)}}const m="undefined"!=typeof window&&void 0!==window.document,f="undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process),w=m,_=f;class b{constructor(t,e){this.expiresAt=t,this.token=e}get isExpired(){const t=new Date;return(this.expiresAt.valueOf()-t.valueOf())/6e4<=5}static getExpirationDate=t=>{let e;try{const[,s]=t.split(".");e=JSON.parse(n.default.Buffer.from(`${s}==`,"base64").toString())}catch(t){throw new h}const{exp:s}=e;return new Date(new Date(1e3*s).toUTCString())};static create=async t=>{const e=t;e.jwtToken=null;const s=e.deleteRequestHeader("X-Cuenca-Token"),{token:r}=await t.post("token",{});s.eject();const i=b.getExpirationDate(r);return new b(i,r)}}class y{static Succeeded=new y("succeeded");static NotValidated=new y("not_validated");static Failed=new y("failed");static OnWaitList=new y("on_wait_list");constructor(t){this.value=t}}class v{static Blocked=new v("blocked");static Comunication=new v("comunication");static ContactlesAmountLimit=new v("contactles_amount_limit");static FraudDetection=new v("fraud_detection");static FraudDetectionUncertain=new v("fraud_detection_uncertain");static InsufficientFounds=new v("insufficient_founds");static InvalidPin=new v("invalid_pin");static Notification=new v("notification");static NotificationDeactivatedCard=new v("notification_deactivated_card");constructor(t){this.value=t}}class g{static Credit=new g("credit");static Debit=new g("debit");constructor(t){this.value=t}}class O{static Accendo=new O("accendo");static Cuenca=new O("cuenca");constructor(t){this.value=t}}class A{static Buy=new A("buy");static Sell=new A("sell");constructor(t){this.value=t}}class j{static Active=new j("active");static Blocked=new j("blocked");static Created=new j("created");static Deactivated=new j("deactivated");static Printing=new j("printing");constructor(t){this.value=t}}class x{static Auth=new x("auth");static Capture=new x("capture");static Chargeback=new x("chargeback");static Expiration=new x("expiration");static Refund=new x("refund");static Void=new x("void");constructor(t){this.value=t}}class I{static Mxn=new I("mxn");static Usdc=new I("usdc");static Sol=new I("sol");constructor(t){this.value=t}}class k{static Physical=new k("physical");static Virtual=new k("virtual");constructor(t){this.value=t}}class T{static CardRequest=new T("card_request");static CashDeposit=new T("cash_deposit");static OutgoingSpei=new T("outgoing_spei");constructor(t){this.value=t}}class C{static Cash=new C("cash");static Internal=new C("internal");static Spei=new C("spei");constructor(t){this.value=t}}class S{static Credit=new S("credit");static Debit=new S("debit");constructor(t){this.value=t}}class U{static Pdf=new U("application/pdf");static Xml=new U("application/xml");static Json=new U("application/json");static Any=new U("*/*");constructor(t){this.value=t}}class N{static Ine=new N("ine");static Passport=new N("passport");static Residency=new N("residency");static MatriculaConsular=new N("matricula_consular");static ProofOfLiveness=new N("proof_of_liveness");static ProofOfAddress=new N("proof_of_address");constructor(t){this.value=t}}class q{static Sandbox=new q("sandbox-api");static Stage=new q("stage-api");static Api=new q("api");constructor(t){this.value=t}}class P{static Cable=new P("cable");static CreditCard=new P("credit_card");static Electricity=new P("electricity");static Gas=new P("gas");static Internet=new P("internet");static LandlineTelephone=new P("landline_telephone");static MobileTelephonePostpaid=new P("mobile_telephone_postpaid");static MobileTelephonePrepaid=new P("mobile_telephone_prepaid");static SateliteTelevision=new P("satelite_television");static Water=new P("water");constructor(t){this.value=t}}class B{static General=new B("general");static Home=new B("home");static Vehicle=new B("vehicle");static Travel=new B("travel");static Clothing=new B("clothing");static Other=new B("other");static Medical=new B("medical");static Accident=new B("accident");static Education=new B("education");constructor(t){this.value=t}}class L{static NotSet=new L("not_set");static Terminal=new L("terminal");static Manual=new L("manual");static Unknown=new L("unknown");static Contactless=new L("contactless");static FallBack=new L("fall_back");static MagneticStripe=new L("magnetic_stripe");static RecurringCharge=new L("recurring_charge");constructor(t){this.value=t}}class ${static Polygon=new $("polygon");static Solana=new $("solana");constructor(t){this.value=t}}class D{static Created=new D("created");static Failed=new D("failed");static InReview=new D("in_review");static Submitted=new D("submitted");static Succeeded=new D("succeeded");constructor(t){this.value=t}}class K{static Internal=new K("internal");static Spei=new K("spei");constructor(t){this.value=t}}class E{static Active=new E("active");static Deactivated=new E("deactivated");static Fraud=new E("fraud");static PldBlocked=new E("pld_blocked");constructor(t){this.value=t}}class 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 R{static Phone=new R("phone");static Email=new R("email");constructor(t){this.value=t}}class V{static Deposit=new V("deposit");static Withdrawal=new V("withdrawal");constructor(t){this.value=t}}const F=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},H=(t,e)=>Object.values(t).find((t=>t.value===e));class Y{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 Y{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class z extends Y{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class X extends Y{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 Y{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 Y{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class tt extends Y{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class et extends Y{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 Y{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class rt extends Y{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 Y{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class at extends Y{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 Y{constructor({emailAddress:t,...e}){super(e),this.emailAddress=t}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress})}}class ct extends Y{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=H(M,r),this.type=H(N,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 pt="0.0.8-dev.1";class lt{constructor({apiKey:t,apiSecret:e,language:s="en",phase:r=q.Sandbox}={}){this.phase=r,this.basicAuth={apiKey:t,apiSecret:e},this.jwtToken=null,this._session=a.default.create({headers:{"Accept-Language":s},timeout:45e3})}get session(){return this._session}get origin(){return`https://${this.phase.value}.arteria.xyz`}get authHeader(){const{apiKey:t,apiSecret:e}=this.basicAuth;return t&&e?`Basic ${n.default.Buffer.from(`${t}:${e}`,"utf-8").toString("base64")}`:""}addHeadersToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common:r}}=s;return Object.keys(t).forEach((e=>r[e]=t[e])),s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}deleteRequestHeader(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common:r}}=s;return delete r[t],s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}addConfigToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e;return Object.keys(t).forEach((e=>s[e]=t[e])),s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}async configure({apiKey:t,apiSecret:e,loginToken:s,phase:r,sessionId:i,useJwt:a=!1}){this.basicAuth={apiKey:t||this.basicAuth.apiKey,apiSecret:e||this.basicAuth.apiSecret},r&&(this.phase=r),a&&(this.jwtToken=await b.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=U.Json,method:r="GET",multipart:i=!1,params:a=null}){let n;n=i?e.getHeaders():{"Content-Type":"application/json",Accept:`application/${s.value}`},this.authHeader&&(n.Authorization=this.authHeader),_?n["User-Agent"]=`cuenca-js/${pt}`:w&&(n["X-User-Agent"]=`cuenca-js/${pt}`),this.jwtToken&&(this.jwtToken.isExpired&&(this.jwtToken=await b.create(this)),n["X-Cuenca-Token"]=this.jwtToken.token);const d=this.addHeadersToRequest(n),u=e;u&&!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 p;try{p=await this._session.request({baseURL:this.origin})}catch(t){throw t.response?new o(t.response.data,t.response.status):t.request?new c(`No response received: ${t.errno}: ${t.code}`):new c(t.message)}finally{d.eject(),h.eject()}return p.data}}class 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=H(S,r),this.fundingInstrumentUri=i,this.id=a,this.name=n,this.relatedTransactionUri=c,this.rollingBalance=o}static fromObject=({amount:t,descriptor:e,id:s,name:r,type:i,...a})=>new _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=H(D,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:p,emailAddress:l,clientClabe:m,govtId:f,proofOfAddress:w,status:_,termsOfService:b,address:v,trackingLink:g}){this.id=t,this.createdAt=F(e),this.updatedAt=F(s),this.emailAddress=l,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=p,this.setProofOfAddress=w,this.status=H(y,_),this.setTerms=b,this.setAddress=v,this.trackingLink=g}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,trackingLink:s.tracking_link});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 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))}}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:p,cuentaOrdenante:l,cuentaBeneficiario:m,nombreOrdenante:f,claveRastreo:w,rfcCurpOrdenante:_,concepto:b,referenciaNumerica:y,signature:v,trackingLink:g,fromCurrency:O,toCurrency:j,fromAmount:x,toAmount:k}){this.id=t,this.createdAt=F(e),this.platformId=s,this.type=H(A,r),this.status=H(D,i),this.accountUri=a,this.quoteUri=n,this.currency=H(I,c),this.network=H($,o),this.sourceWallet=d,this.destinationWallet=u,this.bankAccountUri=h,this.cuencaId=p,this.cuentaOrdenante=l,this.cuentaBeneficiario=m,this.nombreOrdenante=f,this.claveRastreo=w,this.rfcCurpOrdenante=_,this.concepto=b,this.referenciaNumerica=y,this.signature=v,this.trackingLink=g,this.fromCurrency=H(I,O),this.toCurrency=H(I,j),this.fromAmount=x,this.toAmount=k}static fromObject=({type:t,status:e,currency:s,network:r,concepto:i,signature:a,...n})=>new 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:p}){this.createdAt=F(t),this.cvv2=e,this.expMonth=s,this.expYear=r,this.fundingType=H(g,i),this.id=a,this.issuer=H(O,n),this.number=c,this.pin=o,this.status=H(j,d),this.type=H(k,u),this.updatedAt=F(h),this.userId=p}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:p}){super({amount:t,createdAt:a,descriptor:n,status:u,userId:p}),this.cardErrorType=H(v,e),this.cardLastFour=s,this.cardType=H(k,r),this.cardUri=i,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=H(x,h)}static fromObject=({amount:t,descriptor:e,metadata:s,network:r,status:i,type:a,...n})=>new 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=H(j,t),this.cardType=H(k,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===j.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=H(T,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=H(C,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 Tt{constructor({extension:t,type:e,url:s,userId:r}){this.extension=t,this.type=H(N,e),this.url=s,this.userId=r}static fromObject=({extension:t,type:e,url:s,...r})=>new Tt({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 St{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new St({id:t})}class Ut{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 Ut{constructor({balance:t,category:e,createdAt:s,deactivatedAt:r,goalAmount:i,goalDate:a,id:n,name:c,userId:o,updatedAt:d}){super({balance:t,createdAt:s,deactivatedAt:r,id:n,userId:o,updatedAt:d}),this.category=H(B,e),this.goalAmount=i,this.goalDate=F(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:r,...i})=>new Nt({balance:t,category:e,id:s,name:r,createdAt:i.created_at,deactivatedAt:i.deactivated_at,goalAmount:i.goal_amount,goalDate:i.goal_date,userId:i.user_id,updatedAt:i.updated_at})}class qt{constructor({categories:t,id:e,name:s,providerKey:r}){var i;this.categories=null==(i=t)?[]:i.map((t=>H(P,t))),this.id=e,this.name=s,this.providerKey=r}static fromObject=({categories:t,id:e,name:s,...r})=>new qt({categories:t,id:e,name:s,providerKey:r.provider_key})}class Pt{constructor({createdAt:t,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 Bt 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:p}){super({amount:e,createdAt:s,descriptor:r,status:d,userId:p}),this.accountNumber=t,this.destinationUri=i,this.id=a,this.idempotencyKey=n,this.network=H(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 Bt({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 Lt{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:p,names:l,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=H(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=p,this.names=l,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=H(E,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 Lt({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 $t{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 $t({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class Dt{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 Dt({id:t,success:e,lastLoginAt:s.last_login_at})}class Kt{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=H(R,i),this.updatedAt=F(a)}static fromObject=({id:t,recipient:e,type:s,...r})=>new Kt({id:t,recipient:e,type:s,createdAt:r.created_at,platformId:r.platform_id,updatedAt:r.updated_at})}class Et 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=H(V,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:r,...i})=>new Et({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 Mt 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:p,userId:l}){super({amount:t,createdAt:s,descriptor:r,status:u,userId:l}),this.claimUrl=e,this.destinationUri=i,this.id=n,this.expiresAt=F(a),this.network=H(K,c),this.phoneNumber=o,this.recipientName=d,this.trackingKey=h,this.updatedAt=F(p)}static fromObject=({amount:t,descriptor:e,id:s,network:r,status:i,...a})=>new Mt({amount:t,descriptor:e,id:s,network:r,status:i,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 Vt=t=>new Rt(t),Ft=(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/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:()=>Tt.fromObject(e),kyc_validations:()=>Ct.fromObject(e),login_tokens:()=>St.fromObject(e),savings:()=>Nt.fromObject(e),service_providers:()=>qt.fromObject(e),statements:()=>Pt.fromObject(e),transfers:()=>Bt.fromObject(e),users:()=>Lt.fromObject(e),user_credentials:()=>$t.fromObject(e),user_logins:()=>Dt.fromObject(e),verifications:()=>Kt.fromObject(e),wallet_transactions:()=>Et.fromObject(e),whatsapp_transfers:()=>Mt.fromObject(e)}[t]()),Ht=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class Yt{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const Wt=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return Ft(this.path,e)}},zt=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return Ft(this.path,e)}},Xt=t=>class extends t{async _update(t,e){const s=await this.client.patch({endpoint:`/${this.path}/${t}`,data:e});return Ft(this.path,s)}},Gt=t=>class extends t{async _upload(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t,multipart:!0});return Ft(this.path,e)}},Qt=t=>class extends t{async _deactivate(t,e){const s=await this.client.delete({endpoint:`/${this.path}/${t}`,data:e});return Ft(this.path,s)}},Jt=t=>class extends t{async _download(t,e){const s=this.client.addConfigToRequest({responseType:"stream"}),r=await this.client.get({endpoint:`/${this.path}/${t}`,format:e});return s.eject(),r}},Zt=t=>class extends t{async one(t=new this.QueryParams({})){const{items:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});if(!e||!e.length)throw new d;if(e.length>1)throw new u;const[s]=e;return Ft(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 Ft(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=Ft(this.path,e);yield t}e=t.next_page_uri}}};class te extends(Vt(Yt).with(Zt,Wt)){constructor(t){super("accounts",W,t)}}class ee{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class se extends ee{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class re extends ee{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 ie extends ee{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class ae extends ee{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 ne extends ee{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 ce extends ee{constructor(t){super(),this.userId=t}toObject(){return{user_id:this.userId}}}class oe extends ee{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}}}const de=r.createRequire("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("cuenca.umd.js",document.baseURI).href)("form-data");class ue extends ee{constructor({isBack:t=!1,file:e,extension:s,type:r,userId:i="me"}){super(),this.extension=s,this.file=e,this.isBack=t,this.type=r,this.userId=i}toObject(){return{extension:this.extension,file:this.file,is_back:this.isBack,type:this.type,user_id:this.userId}}toFormData(){const t=new de;return t.append("extension",this.extension),t.append("file",this.file),t.append("type",this.type),t.append("user_id",this.userId),t}}class he extends ee{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 pe extends ee{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 le extends ee{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 ee{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 ee{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 ee{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 ee{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 ee{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 ee{constructor({platformId:t,recipient:e,type:s}){super(),this.platformId=t,this.type=s,this.recipients=e}get recipient(){return this._recipient}set recipients(t){switch(H(R,this.type)){case R.Email:if(!t.match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/))throw new l("Invalid email address");this._recipient=t;break;case R.Phone:if(!t.match(/^\+?[0-9]{10,15}$/))throw new l("Invalid Phone Number");this._recipient=t}}toObject(){return{platform_id:this.platformId,recipient:this.recipient,type:this.type}}}class ve extends ee{constructor({code:t}){super(),this.code=t}toObject(){return{code:this.code}}}class ge extends ee{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(Vt(Yt).with(zt,Qt,Zt,Wt,Xt)){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 se(s,e);return await this._update(t,r.toCleanObject())}}class Ae extends(Vt(Yt).with(zt)){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(Vt(Yt).with(Zt,Wt)){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 Ft(`${e}`,s)}async fundingInstrument(t){const e=Ht(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ft(`${e}`,s)}}class xe extends(Vt(Yt).with(Zt,Wt)){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 Ft(`${e}`,s)}}class Ie extends(Vt(Yt).with(Zt,Xt,Wt)){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(Vt(Yt).with(Zt,Wt)){constructor(t){super("bridge/transactions",ct,t)}}class Te extends(Vt(Yt).with(zt)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:r}){const i=new ae(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(Vt(Yt).with(zt,Qt,Zt,Wt,Xt)){constructor(t){super("cards",et,t)}async create(t,e,s){const r=new re(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 ie(e,s);return await this._update(t,r.toCleanObject())}}class Se extends(Vt(Yt).with(Zt,Wt)){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 Ft(`${e}`,s)}}class Ue extends(Vt(Yt).with(zt)){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 ne({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(Vt(Yt).with(Zt,Wt)){constructor(t){super("commissions",Y,t)}async relatedTransaction(t){const e=Ht(t);if(null==e)return null;const s=await this.client.get(t);return Ft(`${e}`,s)}}class qe extends(Vt(Yt).with(Zt,Wt)){constructor(t){super("deposits",G,t)}async source(t){const e=await this.client.get({endpoint:t});return mt.fromObject(e)}}class Pe extends(Vt(Yt).with(Jt,Gt)){constructor(t){super("files",Object,t)}async download(t){return await this._download(t,U.Any)}async upload({...t}){const e=new ue(t);return await this._upload(e.toFormData())}}class Be extends(Vt(Yt).with(zt,Wt,Zt)){constructor(t,e=!1){super(e?"bridge/kyc_validations":"kyc_validations",Object,t)}async create(t="me"){const e=new ce(t);return await this._create(e.toObject())}}class Le extends(Vt(Yt).with(zt)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class $e extends(Vt(Yt).with(zt,Qt,Zt,Wt,Xt)){constructor(t){super("savings",it,t)}async create(t,e,s,r){const i=new oe(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 oe(e,s,r,i);return await this._update(t,a.toObject())}}class De extends(Vt(Yt).with(Zt,Wt)){constructor(t){super("service_providers",Y,t)}}class Ke extends(Vt(Yt).with(Jt,Zt)){constructor(t){super("statements",at,t)}async pdf(t){return await this._download(t,U.Pdf)}async xml(t){return await this._download(t,U.Xml)}}class Ee extends(Vt(Yt).with(zt,Zt,Wt)){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 Me extends(Vt(Yt).with(zt,Xt)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new pe(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const r=new le(e,t);return await this._update(s,r.toCleanObject())}}class Re extends(Vt(Yt).with(zt,Qt)){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 p;return this.loginIdInHeaders=this.client.addHeadersToRequest({"X-Cuenca-LoginId":r.id}),r}async logOut(t="me"){return await this._deactivate(t,{}),this.loginIdInHeaders&&this.loginIdInHeaders.eject(),!0}}class Ve extends(Vt(Yt).with(Zt,Xt,Wt)){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 Fe extends(Vt(Yt).with(zt,Xt)){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(Vt(Yt).with(zt,Zt,Wt)){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 Ft(`${e}`,s)}}class Ye extends(Vt(Yt).with(Zt,Wt)){constructor(t){super("whatsapp_transfers",Y,t)}async accountDestination(t){const e=Ht(t);if(null==e)return null;const s=await this.client.get(t);return Ft(`${e}`,s)}}t.Cuenca=class{constructor({apiKey:t,apiSecret:e,language:s="en",phase:r=q.Sandbox}={}){this.client=new lt({apiKey:t,apiSecret:e,language:s,phase:r}),this.withClient(this.client)}withClient(t){this.accounts=new te(t),this.apiKeys=new Oe(t),this.balanceEntries=new je(t),this.billPayments=new xe(t),this.bridgeAccounts=new Ie(t),this.bridgeTransactions=new ke(t),this.cardActivations=new Te(t),this.cards=new Ce(t),this.cardTransactions=new Se(t),this.cardValidations=new Ue(t),this.commissions=new Ne(t),this.deposits=new qe(t),this.files=new Pe(t),this.kycValidations=new Be(t),this.bridgeKycValidations=new Be(t,!0),this.loginTokens=new Le(t),this.savings=new $e(t),this.serviceProviders=new De(t),this.statements=new Ke(t),this.transfers=new Ee(t),this.userCredentials=new Me(t),this.userLogins=new Re(t),this.users=new Ve(t),this.verifications=new Fe(t),this.walletTransactions=new He(t),this.whatsAppTransfers=new Ye(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),n=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(t,"__esModule",{value:!0});const c=require("stream"),o=n(require("form-data"));function d(t){return t&&t instanceof c.Readable}t.default=function(t){if(!t.data||!function(t){const e=typeof t;return"function"===e||"object"===e&&!!t}(t.data)||(e=t.data,!Object.values(e).some(d)))return t;var e;const s=new o.default;return Object.entries(t.data).forEach((([t,e])=>{s.append(t,e)})),{...t,headers:{...t.headers,...s.getHeaders()},data:s}};var u=Object.freeze({__proto__:null});class h extends Error{constructor(t){super(t),Object.setPrototypeOf(this,h.prototype)}}class l extends h{constructor(t,e){super(`Cuenca Response Error: ${e}`),this.name="CuencaResponseError",this.data=t,this.status=e,Object.setPrototypeOf(this,l.prototype)}}class p extends h{constructor(){super("No results were found"),this.name="NoResultFound",Object.setPrototypeOf(this,p.prototype)}}class m extends h{constructor(){super("One result was expected but multiple were found"),this.name="MultipleResultsFound",Object.setPrototypeOf(this,m.prototype)}}class f extends h{constructor(){super("An invalid JWT token was obtained during authentication"),this.name="MalformedJwtToken",Object.setPrototypeOf(this,f.prototype)}}class w extends h{constructor(){super("Invalid password"),this.name="InvalidPassword",Object.setPrototypeOf(this,w.prototype)}}class _ extends Error{constructor(t){super(t),Object.setPrototypeOf(this,_.prototype)}}const b="undefined"!=typeof window&&void 0!==window.document,y="undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process),v=b,g=y;class O{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 f}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=O.getExpirationDate(r);return new O(i,r)}}class A{static Succeeded=new A("succeeded");static NotValidated=new A("not_validated");static Failed=new A("failed");static OnWaitList=new A("on_wait_list");constructor(t){this.value=t}}class j{static Blocked=new j("blocked");static Comunication=new j("comunication");static ContactlesAmountLimit=new j("contactles_amount_limit");static FraudDetection=new j("fraud_detection");static FraudDetectionUncertain=new j("fraud_detection_uncertain");static InsufficientFounds=new j("insufficient_founds");static InvalidPin=new j("invalid_pin");static Notification=new j("notification");static NotificationDeactivatedCard=new j("notification_deactivated_card");constructor(t){this.value=t}}class x{static Credit=new x("credit");static Debit=new x("debit");constructor(t){this.value=t}}class I{static Accendo=new I("accendo");static Cuenca=new I("cuenca");constructor(t){this.value=t}}class k{static Buy=new k("buy");static Sell=new k("sell");constructor(t){this.value=t}}class T{static Active=new T("active");static Blocked=new T("blocked");static Created=new T("created");static Deactivated=new T("deactivated");static Printing=new T("printing");constructor(t){this.value=t}}class C{static Auth=new C("auth");static Capture=new C("capture");static Chargeback=new C("chargeback");static Expiration=new C("expiration");static Refund=new C("refund");static Void=new C("void");constructor(t){this.value=t}}class S{static Mxn=new S("mxn");static Usdc=new S("usdc");static Sol=new S("sol");constructor(t){this.value=t}}class N{static Physical=new N("physical");static Virtual=new N("virtual");constructor(t){this.value=t}}class U{static CardRequest=new U("card_request");static CashDeposit=new U("cash_deposit");static OutgoingSpei=new U("outgoing_spei");constructor(t){this.value=t}}class q{static Cash=new q("cash");static Internal=new q("internal");static Spei=new q("spei");constructor(t){this.value=t}}class P{static Credit=new P("credit");static Debit=new P("debit");constructor(t){this.value=t}}class B{static Pdf=new B("application/pdf");static Xml=new B("application/xml");static Json=new B("application/json");static Any=new B("*/*");constructor(t){this.value=t}}class ${static Ine=new $("ine");static Passport=new $("passport");static Residency=new $("residency");static MatriculaConsular=new $("matricula_consular");static ProofOfLiveness=new $("proof_of_liveness");static ProofOfAddress=new $("proof_of_address");constructor(t){this.value=t}}class D{static Sandbox=new D("sandbox-api");static Stage=new D("stage-api");static Api=new D("api");constructor(t){this.value=t}}class L{static Cable=new L("cable");static CreditCard=new L("credit_card");static Electricity=new L("electricity");static Gas=new L("gas");static Internet=new L("internet");static LandlineTelephone=new L("landline_telephone");static MobileTelephonePostpaid=new L("mobile_telephone_postpaid");static MobileTelephonePrepaid=new L("mobile_telephone_prepaid");static SateliteTelevision=new L("satelite_television");static Water=new L("water");constructor(t){this.value=t}}class E{static General=new E("general");static Home=new E("home");static Vehicle=new E("vehicle");static Travel=new E("travel");static Clothing=new E("clothing");static Other=new E("other");static Medical=new E("medical");static Accident=new E("accident");static Education=new E("education");constructor(t){this.value=t}}class K{static NotSet=new K("not_set");static Terminal=new K("terminal");static Manual=new K("manual");static Unknown=new K("unknown");static Contactless=new K("contactless");static FallBack=new K("fall_back");static MagneticStripe=new K("magnetic_stripe");static RecurringCharge=new K("recurring_charge");constructor(t){this.value=t}}class M{static Polygon=new M("polygon");static Solana=new M("solana");constructor(t){this.value=t}}class R{static Created=new R("created");static Failed=new R("failed");static InReview=new R("in_review");static Submitted=new R("submitted");static Succeeded=new R("succeeded");constructor(t){this.value=t}}class V{static Internal=new V("internal");static Spei=new V("spei");constructor(t){this.value=t}}class F{static Active=new F("active");static Deactivated=new F("deactivated");static Fraud=new F("fraud");static PldBlocked=new F("pld_blocked");constructor(t){this.value=t}}class H{static Created=new H("created");static NotVerified=new H("not_verified");static Rejected=new H("rejected");static ReviewNeeded=new H("review_needed");static Submitted=new H("submitted");static Succeeded=new H("succeeded");static UploadAgain=new H("upload_again");constructor(t){this.value=t}}class Y{static Phone=new Y("phone");static Email=new Y("email");constructor(t){this.value=t}}class z{static Deposit=new z("deposit");static Withdrawal=new z("withdrawal");constructor(t){this.value=t}}const W=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},X=(t,e)=>Object.values(t).find((t=>t.value===e));class G{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 Q extends G{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class J extends G{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class Z extends G{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class tt extends Z{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 et extends Z{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 st extends G{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 rt extends G{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class it extends G{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class at extends G{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 nt extends G{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class ct extends G{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 ot extends G{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class dt extends G{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=W(Date.now());s.setUTCDate(1);if(W(`${e}-${t}-01`).getTime()>=s.getTime())throw new _(`${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 ut extends G{constructor({emailAddress:t,...e}){super(e),this.emailAddress=t}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress})}}class ht extends G{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 lt{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 lt({ip:t,location:e,type:s,version:r})}class pt{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 pt({code:t,error:e,identifier:s,message:r})}class mt{constructor({data:t,errors:e,isMx:s,status:r,type:i,uriBack:a,uriFront:n}){this.data=t,this.isMx=s,this.status=X(H,r),this.type=X($,i),this.uriBack=a,this.uriFront=n,e&&e.length>0&&(this.errors=e.map((t=>pt.fromObject(t))))}static fromObject=({data:t,errors:e,status:s,type:r,...i})=>new mt({data:t,errors:e,status:s,type:r,isMx:i.is_mx,uriBack:i.uri_back,uriFront:i.uri_front})}class ft{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=W(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 ft({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 wt="0.0.8-dev.10";class _t{constructor({apiKey:t,apiSecret:e,language:s="en",phase:r=D.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)}}addConfigFormDataFile(){const t=this._session.interceptors.request.use(u);return{interceptorId:t,eject:()=>this._session.interceptors.request.eject(t)}}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 O.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=B.Json,method:r="GET",multipart:i=!1,params:a=null}){let n,c;i?c=this.addConfigFormDataFile():n={"Content-Type":"application/json",Accept:`application/${s.value}`},this.authHeader&&(n.Authorization=this.authHeader),g?n["User-Agent"]=`cuenca-js/${wt}`:v&&(n["X-User-Agent"]=`cuenca-js/${wt}`),this.jwtToken&&(this.jwtToken.isExpired&&(this.jwtToken=await O.create(this)),n["X-Cuenca-Token"]=this.jwtToken.token);const o=this.addHeadersToRequest(n),d=e;d&&Object.keys(d).forEach((t=>{d[t]instanceof Date&&(d[t]=d[t].toISOString())}));const u=this.addConfigToRequest({method:r,params:a,data:d,url:t});let p;try{p=await this._session.request({baseURL:this.origin})}catch(t){throw t.response?new l(t.response.data,t.response.status):t.request?new h(`No response received: ${t.errno}: ${t.code}`):new h(t.message)}finally{o.eject(),u.eject(),i&&c.eject()}return p.data}}class bt{constructor({accountNumber:t,createdAt:e,id:s,institutionName:r,name:i,userId:a}){this.accountNumber=t,this.createdAt=W(e),this.id=s,this.institutionName=r,this.name=i,this.userId=a}static fromObject=({id:t,name:e,...s})=>new bt({id:t,name:e,accountNumber:s.account_number,createdAt:s.created_at,institutionName:s.institution_name,userId:s.user_id})}class yt{constructor({createdAt:t,deactivatedAt:e,id:s,secret:r,userId:i,updatedAt:a}){this.createdAt=W(t),this.deactivatedAt=W(e),this.id=s,this.secret=r,this.userId=i,this.updatedAt=W(a)}static fromObject=({id:t,secret:e,...s})=>new yt({id:t,secret:e,createdAt:s.created_at,deactivatedAt:s.deactivated_at,userId:s.user_id,updatedAt:s.updated_at});get isActive(){const t=W(Date.now());return!this.deactivatedAt||this.deactivatedAt.getTime()>t.getTime()}}class vt{constructor({arpc:t,createdAt:e,cardUri:s,isValidArqc:r}){this.arpc=t,this.createdAt=W(e),this.cardUri=s,this.isValidArqc=r}static fromObject=({arpc:t,...e})=>new vt({arpc:t,createdAt:e.created_at,cardUri:e.card_uri,isValidArqc:e.is_valid_arqc})}class gt{constructor({amount:t,createdAt:e,descriptor:s,entryType:r,fundingInstrumentUri:i,id:a,name:n,relatedTransactionUri:c,rollingBalance:o}){this.amount=t,this.createdAt=W(e),this.descriptor=s,this.entryType=X(P,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 gt({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 Ot{constructor({amount:t,createdAt:e,descriptor:s,status:r,userId:i}){this.amount=t,this.createdAt=W(e),this.descriptor=s,this.status=X(R,r),this.userId=i}}class At extends Ot{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 At({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 jt{constructor({id:t,createdAt:e,updatedAt:s,names:r,firstSurname:i,secondSurname:a,dateOfBirth:n,countryOfBirth:c,rfc:o,curp:d,userId:u,gender:h,phoneNumber:l,emailAddress:p,clientClabe:m,govtId:f,proofOfAddress:w,status:_,termsOfService:b,address:y,trackingLink:v}){this.id=t,this.createdAt=W(e),this.updatedAt=W(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=X(A,_),this.setTerms=b,this.setAddress=y,this.trackingLink=v}static fromObject=({status:t,address:e,...s})=>new jt({address:e,status:t,id:s.id,createdAt:s.created_at,updatedAt:s.updated_at,clientClabe:s.client_clabe,names:s.names,firstSurname:s.first_surname,secondSurname:s.second_surname,dateOfBirth:s.date_of_birth,countryOfBirth:s.country_of_birth,rfc:s.rfc,curp:s.curp,userId:s.user_id,gender:s.gender,govtId:s.govt_id,emailAddress:s.email_address,phoneNumber:s.phone_number,proofOfAddress:s.proof_of_address,termsOfService:s.terms_of_service,trackingLink:s.tracking_link});get address(){return this._address}set setAddress(t){t&&0!==Object.keys(t).length&&(this._address=ft.fromObject(t))}get proofOfAddress(){return this._proofOfAddress}set setProofOfAddress(t){t&&0!==Object.keys(t).length&&(this._proofOfAddress=mt.fromObject(t))}get govtId(){return this._govtId}set setGovtId(t){t&&0!==Object.keys(t).length&&(this._govtId=mt.fromObject(t))}get termsOfService(){return this._termsOfService}set setTerms(t){t&&0!==Object.keys(t).length&&(this._termsOfService=lt.fromObject(t))}}class xt{constructor({id:t,createdAt:e,platformId:s,type:r,status:i,accountUri:a,quoteUri:n,currency:c,network:o,sourceWallet:d,destinationWallet:u,bankAccountUri:h,cuencaId:l,cuentaOrdenante:p,cuentaBeneficiario:m,nombreOrdenante:f,claveRastreo:w,rfcCurpOrdenante:_,concepto:b,referenciaNumerica:y,signature:v,trackingLink:g,fromCurrency:O,toCurrency:A,fromAmount:j,toAmount:x}){this.id=t,this.createdAt=W(e),this.platformId=s,this.type=X(k,r),this.status=X(R,i),this.accountUri=a,this.quoteUri=n,this.currency=X(S,c),this.network=X(M,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=X(S,O),this.toCurrency=X(S,A),this.fromAmount=j,this.toAmount=x}static fromObject=({type:t,status:e,currency:s,network:r,concepto:i,signature:a,...n})=>new xt({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 It{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=W(t),this.cvv2=e,this.expMonth=s,this.expYear=r,this.fundingType=X(x,i),this.id=a,this.issuer=X(I,n),this.number=c,this.pin=o,this.status=X(T,d),this.type=X(N,u),this.updatedAt=W(h),this.userId=l}static fromObject=({cvv2:t,id:e,issuer:s,number:r,pin:i,status:a,type:n,...c})=>new It({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 kt{constructor({cardUri:t,createdAt:e,id:s,ipAddress:r,success:i,userId:a}){this.cardUri=t,this.createdAt=W(e),this.id=s,this.ipAddress=r,this.success=i,this.userId=a}static fromObject=({id:t,success:e,...s})=>new kt({id:t,success:e,cardUri:s.card_uri,createdAt:s.created_at,ipAddress:s.ip_address,userId:s.user_id})}class Tt extends Ot{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=X(j,e),this.cardLastFour=s,this.cardType=X(N,r),this.cardUri=i,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=X(C,h)}static fromObject=({amount:t,descriptor:e,metadata:s,network:r,status:i,type:a,...n})=>new Tt({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 Ct{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=X(T,t),this.cardType=X(N,e),this.cardUri=s,this.createdAt=W(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 Ct({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===T.Active}}class St extends Ot{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=X(U,a)}static fromObject=({amount:t,descriptor:e,status:s,type:r,...i})=>new St({amount:t,descriptor:e,status:s,type:r,createdAt:i.created_at,relatedTransactionUri:i.related_transaction_uri,userId:i.user_id})}class Nt extends Ot{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=X(q,i),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:r,status:i,...a})=>new Nt({amount:t,descriptor:e,id:s,network:r,status:i,createdAt:a.created_at,sourceUri:a.source_uri,trackingKey:a.tracking_key,userId:a.user_id})}class Ut{constructor({extension:t,type:e,url:s,userId:r}){this.extension=t,this.type=X($,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 qt{constructor({platformId:t,attemps:e,verificationId:s,filesUri:r}){this.attemps=e,this.filesUri=r,this.platformId=t,this.verificationId=s}static fromObject=({attemps:t,...e})=>new qt({attemps:t,filesUri:e.files_uri,platformId:e.platform_id,verificationId:e.verification_id})}class Pt{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new Pt({id:t})}class Bt{constructor({balance:t,createdAt:e,deactivatedAt:s,id:r,userId:i,updatedAt:a}){this.balance=t,this.createdAt=W(e),this.deactivatedAt=W(s),this.id=r,this.userId=i,this.updatedAt=W(a)}}class $t extends Bt{constructor({balance:t,category:e,createdAt:s,deactivatedAt:r,goalAmount:i,goalDate:a,id:n,name:c,userId:o,updatedAt:d}){super({balance:t,createdAt:s,deactivatedAt:r,id:n,userId:o,updatedAt:d}),this.category=X(E,e),this.goalAmount=i,this.goalDate=W(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:r,...i})=>new $t({balance:t,category:e,id:s,name:r,createdAt:i.created_at,deactivatedAt:i.deactivated_at,goalAmount:i.goal_amount,goalDate:i.goal_date,userId:i.user_id,updatedAt:i.updated_at})}class Dt{constructor({categories:t,id:e,name:s,providerKey:r}){var i;this.categories=null==(i=t)?[]:i.map((t=>X(L,t))),this.id=e,this.name=s,this.providerKey=r}static fromObject=({categories:t,id:e,name:s,...r})=>new Dt({categories:t,id:e,name:s,providerKey:r.provider_key})}class Lt{constructor({createdAt:t,id:e,month:s,year:r}){this.createdAt=W(t),this.id=e,this.month=s,this.year=r}static fromObject=({id:t,month:e,year:s,...r})=>new Lt({id:t,month:e,year:s,createdAt:r.created_at})}class Et extends Ot{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=X(V,c),this.recipientName=o,this.trackingKey=u,this.updatedAt=W(h)}static fromObject=({amount:t,descriptor:e,id:s,network:r,status:i,...a})=>new Et({amount:t,descriptor:e,id:s,network:r,status:i,accountNumber:a.account_number,createdAt:a.created_at,destinationUri:a.destination_uri,idempotencyKey:a.idempotency_key,recipientName:a.recipient_name,trackingKey:a.tracking_key,updatedAt:a.updated_at,userId:a.user_id})}class Kt{constructor({address:t,blacklistValidationStatus:e,clabe:s,countryOfBirth:r,createdAt:i,curp:a,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=X(H,e),this.clabe=s,this.countryOfBirth=r,this.createdAt=W(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=X(F,O),this.setTerms=A,this.updatedAt=W(j),this.verificationId=x}get address(){return this._address}set setAddress(t){t&&(this._address=ft.fromObject(t))}get proofOfAddress(){return this._proofOfAddress}set setProofOfAddress(t){t&&(this._proofOfAddress=mt.fromObject(t))}get proofOfLife(){return this._proofOfLife}set setProofOfLife(t){t&&(this._proofOfLife=mt.fromObject(t))}get govtId(){return this._govtId}set setGovtId(t){t&&(this._govtId=mt.fromObject(t))}get termsOfService(){return this._termsOfService}set setTerms(t){t&&(this._termsOfService=lt.fromObject(t))}static fromObject=({address:t,clabe:e,curp:s,gender:r,id:i,level:a,names:n,nationality:c,rfc:o,status:d,...u})=>new Kt({address:t,clabe:e,curp:s,gender:r,id:i,level:a,names:n,nationality:c,rfc:o,status:d,blacklistValidationStatus:u.blacklist_validation_status,countryOfBirth:u.country_of_birth,createdAt:u.created_at,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 Mt{constructor({createdAt:t,id:e,isActive:s,updatedAt:r}){this.createdAt=W(t),this.id=e,this.isActive=s,this.updatedAt=W(r)}static fromObject=({id:t,...e})=>new Mt({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class Rt{constructor({id:t,lastLoginAt:e,success:s}){this.id=t,this.lastLoginAt=W(e),this.success=s}static fromObject=({id:t,success:e,...s})=>new Rt({id:t,success:e,lastLoginAt:s.last_login_at})}class Vt{constructor({createdAt:t,id:e,platformId:s,recipient:r,type:i,updatedAt:a}){this.createdAt=W(t),this.id=e,this.platformId=s,this.recipient=r,this.type=X(Y,i),this.updatedAt=W(a)}static fromObject=({id:t,recipient:e,type:s,...r})=>new Vt({id:t,recipient:e,type:s,createdAt:r.created_at,platformId:r.platform_id,updatedAt:r.updated_at})}class Ft extends Ot{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=X(z,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:r,...i})=>new Ft({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 Ht extends Ot{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=W(a),this.network=X(V,c),this.phoneNumber=o,this.recipientName=d,this.trackingKey=h,this.updatedAt=W(l)}static fromObject=({amount:t,descriptor:e,id:s,network:r,status:i,...a})=>new Ht({amount:t,descriptor:e,id:s,network:r,status:i,createdAt:a.created_at,claimUrl:a.claim_url,destinationUri:a.destination_uri,expiresAt:a.expires_at,phoneNumber:a.phone_number,recipientName:a.recipient_name,trackingKey:a.tracking_key,updatedAt:a.updated_at,userId:a.user_id})}class Yt{constructor(t){this.superclass=t}with(...t){return t.reduce(((t,e)=>e(t)),this.superclass)}}const zt=t=>new Yt(t),Wt=(t,e)=>({accounts:()=>bt.fromObject(e),api_keys:()=>yt.fromObject(e),arpc:()=>vt.fromObject(e),balance_entries:()=>gt.fromObject(e),bill_payments:()=>At.fromObject(e),"bridge/accounts":()=>jt.fromObject(e),"bridge/kyc_validations":()=>qt.fromObject(e),"bridge/transactions":()=>xt.fromObject(e),cards:()=>It.fromObject(e),card_activations:()=>kt.fromObject(e),card_transactions:()=>Tt.fromObject(e),card_validations:()=>Ct.fromObject(e),commissions:()=>St.fromObject(e),deposits:()=>Nt.fromObject(e),files:()=>Ut.fromObject(e),kyc_validations:()=>qt.fromObject(e),login_tokens:()=>Pt.fromObject(e),savings:()=>$t.fromObject(e),service_providers:()=>Dt.fromObject(e),statements:()=>Lt.fromObject(e),transfers:()=>Et.fromObject(e),users:()=>Kt.fromObject(e),user_credentials:()=>Mt.fromObject(e),user_logins:()=>Rt.fromObject(e),verifications:()=>Vt.fromObject(e),wallet_transactions:()=>Ft.fromObject(e),whatsapp_transfers:()=>Ht.fromObject(e)}[t]()),Xt=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class Gt{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const Qt=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return Wt(this.path,e)}},Jt=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return Wt(this.path,e)}},Zt=t=>class extends t{async _update(t,e){const s=await this.client.patch({endpoint:`/${this.path}/${t}`,data:e});return Wt(this.path,s)}},te=t=>class extends t{async _upload(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t,multipart:!0});return Wt(this.path,e)}},ee=t=>class extends t{async _deactivate(t,e){const s=await this.client.delete({endpoint:`/${this.path}/${t}`,data:e});return Wt(this.path,s)}},se=t=>class extends t{async _download(t,e){const s=this.client.addConfigToRequest({responseType:"stream"}),r=await this.client.get({endpoint:`/${this.path}/${t}`,format:e});return s.eject(),r}},re=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 p;if(e.length>1)throw new m;const[s]=e;return Wt(this.path,s)}async first(t=new this.QueryParams({})){const{items:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});if(!e||!e[0])return null;const[s]=e;return Wt(this.path,s)}async count(t=new this.QueryParams({})){t.count=!0;const{count:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});return e||0}async*all(t=new this.QueryParams({})){let e=`/${this.path}?${t.toQueryString()}`;for(;e;){const t=await this.client.get({endpoint:e});if(t.items)for(const e of t.items){const t=Wt(this.path,e);yield t}e=t.next_page_uri}}};class ie extends(zt(Gt).with(re,Qt)){constructor(t){super("accounts",Q,t)}}class ae{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class ne extends ae{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class ce extends ae{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 oe extends ae{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class de extends ae{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 _("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 _("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 _("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 _("Invalid cvv2");this._cvv2=t}toObject(){return{number:this.number,exp_month:this.expMonth,exp_year:this.expYear,cvv2:this.cvv2}}}class ue extends ae{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 _("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 _("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 _("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 _("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 _("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 _("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 he extends ae{constructor(t){super(),this.userId=t}toObject(){return{user_id:this.userId}}}class le extends ae{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(W(t).getTime()<=W(Date.now()).getTime())throw new _("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 pe extends ae{constructor({isBack:t=!1,file:e,extension:s,type:r,userId:i="me"}){super(),this.extension=s,this.file=e,this.isBack=t,this.type=r,this.userId=i}toObject(){return{extension:this.extension,file:this.file,is_back:this.isBack,type:this.type,user_id:this.userId}}}class me extends ae{constructor(t,e,s,r,i){super(),this.accountNumber=t,this.amount=e,this.descriptor=s,this.idempotencyKey=r,this.recipientName=i}toObject(){return{account_number:this.accountNumber,amount:this.amount,descriptor:this.descriptor,idempotency_key:this.idempotencyKey,recipient_name:this.recipientName}}}class fe extends ae{constructor(t){super(),this.pwd=t}get password(){return this._password}set pwd(t){if([!!t,t.length>=6].some((t=>!t)))throw new _("Invalid password");this._password=t}toObject(){return{password:this.password}}}class we extends ae{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 _("Invalid password");this._password=t}set req(t){if(t.password&&null!=t.isActive)throw new _("Only one property can be updated at a time");this._request=t}toObject(){return{password:this.request.password,is_active:this.request.isActive}}}class _e extends ae{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 _("Invalid password");this._password=t}toObject(){return{password:this.password,user_id:this.userId}}}class be extends ae{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 _("missing ip address");if(!t.split(".").every((t=>t>=0&&t<=255)))throw new _("Invalid ip address");this._ip=t}toObject(){return{ip:this.ip,location:this.location,type:this.type,version:this.version}}}class ye extends ae{constructor({city:t,country:e,extNumber:s,intNumber:r,postalCode:i,state:a,street:n}={}){super(),this.city=t,this.country=e,this.extNumber=s,this.intNumber=r,this.postalCode=i,this.state=a,this.street=n}toObject(){return{city:this.city,country:this.country,ext_number:this.extNumber,int_number:this.intNumber,postal_code:this.postalCode,state:this.state,street:this.street}}}class ve extends ae{constructor({data:t,isMx:e,status:s,type:r,uriBack:i,uriFront:a}){super(),this.data=t,this.isMx=e,this.status=s,this.type=r,this.uriBack=i,this.uriFront=a}toObject(){return{data:this.data,is_mx:this.isMx,status:this.status,type:this.type,uri_back:this.uriBack,uri_front:this.uriFront}}}class ge extends ae{constructor({address:t,govtId:e,profession:s,proofOfAddress:r,proofOfLife:i,requiredLevel:a,termsOfService:n,verificationId:c}){super(),this.adrs=t,this.govstIds=e,this.profession=s,this.addressProofs=r,this.lifeProofs=i,this.requiredLevel=a,this.terms=n,this.verificationId=c}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=new be(t).toObject())}get address(){return this._address}set adrs(t){t&&(this._address=new ye(t).toCleanObject())}get proofOfLife(){return this._proofOfLife}set lifeProofs(t){t&&(this._proofOfLife=new ve(t).toCleanObject())}get proofOfAddress(){return this._proofOfAddress}set addressProofs(t){t&&(this._proofOfAddress=new ve(t).toCleanObject())}get govtId(){return this._govtId}set govstIds(t){t&&(this._govtId=new ve(t).toCleanObject())}toObject(){return{address:this.address,profession:this.profession,requiredLevel:this.requiredLevel,terms_of_service:this.termsOfService,verification_id:this.verificationId,proof_of_life:this.proofOfLife,proof_of_address:this.proofOfAddress,govt_id:this.govtId}}}class Oe extends ae{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(X(Y,this.type)){case Y.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 _("Invalid email address");this._recipient=t;break;case Y.Phone:if(!t.match(/^\+?[0-9]{10,15}$/))throw new _("Invalid Phone Number");this._recipient=t}}toObject(){return{platform_id:this.platformId,recipient:this.recipient,type:this.type}}}class Ae extends ae{constructor({code:t}){super(),this.code=t}toObject(){return{code:this.code}}}class je extends ae{constructor(t,e,s){super(),this.amount=t,this.transactionType=e,this.walletUri=s}toObject(){return{amount:this.amount,transaction_type:this.transactionType,wallet_uri:this.walletUri}}}class xe extends(zt(Gt).with(Jt,ee,re,Qt,Zt)){constructor(t){super("api_keys",J,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 ne(s,e);return await this._update(t,r.toCleanObject())}}class Ie extends(zt(Gt).with(Jt)){constructor(t){super("arpc",Object,t)}async create({number:t,arqc:e,arpcMethod:s,transactionData:r,responseCode:i,transactionCounter:a,panSequence:n,uniqueNumber:c,trackDataMethod:o}){const d=new ArpcRequest({number:t,arqc:e,arpcMethod:s,transactionData:r,responseCode:i,transactionCounter:a,panSequence:n,uniqueNumber:c,trackDataMethod:o});return await this._create(d.toObject())}}class ke extends(zt(Gt).with(re,Qt)){constructor(t){super("balance_entries",st,t)}async relatedTransaction(t){const e=Xt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Wt(`${e}`,s)}async fundingInstrument(t){const e=Xt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Wt(`${e}`,s)}}class Te extends(zt(Gt).with(re,Qt)){constructor(t){super("bill_payments",rt,t)}async serviceProvider(t){const e=Xt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Wt(`${e}`,s)}}class Ce extends(zt(Gt).with(re,Zt,Qt)){constructor(t){super("bridge/accounts",ut,t)}async update({userId:t="me",...e}){const s=new ge(e);return await this._update(t,s.toCleanObject())}}class Se extends(zt(Gt).with(re,Qt)){constructor(t){super("bridge/transactions",ht,t)}}class Ne extends(zt(Gt).with(Jt)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:r}){const i=new de(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 It.fromObject(e)}}class Ue extends(zt(Gt).with(Jt,ee,re,Qt,Zt)){constructor(t){super("cards",at,t)}async create(t,e,s){const r=new ce(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 oe(e,s);return await this._update(t,r.toCleanObject())}}class qe extends(zt(Gt).with(re,Qt)){constructor(t){super("card_transactions",it,t)}async relatedCard(t){const e=Xt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Wt(`${e}`,s)}}class Pe extends(zt(Gt).with(Jt)){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 ue({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 It.fromObject(e)}}class Be extends(zt(Gt).with(re,Qt)){constructor(t){super("commissions",G,t)}async relatedTransaction(t){const e=Xt(t);if(null==e)return null;const s=await this.client.get(t);return Wt(`${e}`,s)}}class $e extends(zt(Gt).with(re,Qt)){constructor(t){super("deposits",tt,t)}async source(t){const e=await this.client.get({endpoint:t});return bt.fromObject(e)}}class De extends(zt(Gt).with(se,te)){constructor(t){super("files",Object,t)}async download(t){return await this._download(t,B.Any)}async upload({...t}){const e=new pe(t);return await this._upload(e.toObject())}}class Le extends(zt(Gt).with(Jt,Qt,re)){constructor(t,e=!1){super(e?"bridge/kyc_validations":"kyc_validations",Object,t)}async create(t="me"){const e=new he(t);return await this._create(e.toObject())}}class Ee extends(zt(Gt).with(Jt)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class Ke extends(zt(Gt).with(Jt,ee,re,Qt,Zt)){constructor(t){super("savings",ot,t)}async create(t,e,s,r){const i=new le(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 le(e,s,r,i);return await this._update(t,a.toObject())}}class Me extends(zt(Gt).with(re,Qt)){constructor(t){super("service_providers",G,t)}}class Re extends(zt(Gt).with(se,re)){constructor(t){super("statements",dt,t)}async pdf(t){return await this._download(t,B.Pdf)}async xml(t){return await this._download(t,B.Xml)}}class Ve extends(zt(Gt).with(Jt,re,Qt)){constructor(t){super("transfers",et,t)}async destination(t){const e=await this.client.get({endpoint:t});return bt.fromObject(e)}async create({accountNumber:t,amount:e,descriptor:s,recipientName:r,idempotencyKey:i}){const a=i||this.constructor._genIdempotencyKey(t,e),n=new me(t,e,s,a,r);return await this._create(n.toCleanObject())}async createMany(t){if(!t||!Array.isArray(t)||!t.length)return{};const e={submitted:[],errors:[]};return await Promise.all(t.map((async({accountNumber:t,amount:s,descriptor:r,idempotencyKey:i,recipientName:a})=>{const n=new me(t,s,r,i||this.constructor._genIdempotencyKey(t,s),a);let c;try{c=await this._create(n.toCleanObject())}catch(t){return void e.errors.push({actualRequest:n,error:t})}e.submitted.push(c)}))),e}static _genIdempotencyKey(t,e){const[s]=W(Date.now()).toISOString().split("T");return`${s}:${t}:${e}`}}class Fe extends(zt(Gt).with(Jt,Zt)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new fe(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const r=new we(e,t);return await this._update(s,r.toCleanObject())}}class He extends(zt(Gt).with(Jt,ee)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new _e(t,e),r=await this._create(s.toObject());if(!r.success)throw new w;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 Ye extends(zt(Gt).with(re,Zt,Qt)){constructor(t){super("users",ct,t)}async update({userId:t="me",...e}){const s=new ge(e);return await this._update(t,s.toCleanObject())}}class ze extends(zt(Gt).with(Jt,Zt)){constructor(t){super("verifications",Object,t)}async create({platformId:t,recipient:e,type:s}){const r=new Oe({platformId:t,recipient:e,type:s});return await this._create(r.toObject())}async update({code:t,id:e}){const s=new Ae({code:t});return await this._update(e,s.toObject())}}class We extends(zt(Gt).with(Jt,re,Qt)){constructor(t){super("wallet_transactions",nt,t)}async create(t,e,s){const r=new je(t,e,s);return await this._create(r.toObject())}async realtedWallet(t){const e=Xt(t);if(null==e)return null;const s=await this.client.get(t);return Wt(`${e}`,s)}}class Xe extends(zt(Gt).with(re,Qt)){constructor(t){super("whatsapp_transfers",G,t)}async accountDestination(t){const e=Xt(t);if(null==e)return null;const s=await this.client.get(t);return Wt(`${e}`,s)}}t.Cuenca=class{constructor({apiKey:t,apiSecret:e,language:s="en",phase:r=D.Sandbox}={}){this.client=new _t({apiKey:t,apiSecret:e,language:s,phase:r}),this.withClient(this.client)}withClient(t){this.accounts=new ie(t),this.apiKeys=new xe(t),this.balanceEntries=new ke(t),this.billPayments=new Te(t),this.bridgeAccounts=new Ce(t),this.bridgeTransactions=new Se(t),this.cardActivations=new Ne(t),this.cards=new Ue(t),this.cardTransactions=new qe(t),this.cardValidations=new Pe(t),this.commissions=new Be(t),this.deposits=new $e(t),this.files=new De(t),this.kycValidations=new Le(t),this.bridgeKycValidations=new Le(t,!0),this.loginTokens=new Ee(t),this.savings=new Ke(t),this.serviceProviders=new Me(t),this.statements=new Re(t),this.transfers=new Ve(t),this.userCredentials=new Fe(t),this.userLogins=new He(t),this.users=new Ye(t),this.verifications=new ze(t),this.walletTransactions=new We(t),this.whatsAppTransfers=new Xe(t)}}}));
@@ -2,7 +2,6 @@
2
2
 
3
3
  var errors_index = require('./errors/index.cjs');
4
4
  var data = require('./data-e5d6baf4.cjs');
5
- var module$1 = require('module');
6
5
 
7
6
  class BaseRequest {
8
7
  toObject() {
@@ -356,8 +355,7 @@ class SavingRequest extends BaseRequest {
356
355
  }
357
356
  }
358
357
 
359
- const requires = module$1.createRequire((typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('walletTransactionRequest-3fa9e821.cjs', document.baseURI).href)));
360
- const FormData = requires('form-data');
358
+ // import * as fs from 'fs';
361
359
 
362
360
  class UploadRequest extends BaseRequest {
363
361
  constructor({ isBack = false, file, extension, type, userId = 'me' }) {
@@ -378,15 +376,6 @@ class UploadRequest extends BaseRequest {
378
376
  user_id: this.userId,
379
377
  };
380
378
  }
381
-
382
- toFormData() {
383
- const form = new FormData();
384
- form.append('extension', this.extension);
385
- form.append('file', this.file);
386
- form.append('type', this.type);
387
- form.append('user_id', this.userId);
388
- return form;
389
- }
390
379
  }
391
380
 
392
381
  class TransferRequest extends BaseRequest {
@@ -1,6 +1,5 @@
1
1
  import { ValidationError } from './errors/index.mjs';
2
2
  import { d as dateToUTC, e as enumValueFromString, m as VerificationType } from './data-8710a060.mjs';
3
- import { createRequire } from 'module';
4
3
 
5
4
  class BaseRequest {
6
5
  toObject() {
@@ -354,8 +353,7 @@ class SavingRequest extends BaseRequest {
354
353
  }
355
354
  }
356
355
 
357
- const requires = createRequire(import.meta.url);
358
- const FormData = requires('form-data');
356
+ // import * as fs from 'fs';
359
357
 
360
358
  class UploadRequest extends BaseRequest {
361
359
  constructor({ isBack = false, file, extension, type, userId = 'me' }) {
@@ -376,15 +374,6 @@ class UploadRequest extends BaseRequest {
376
374
  user_id: this.userId,
377
375
  };
378
376
  }
379
-
380
- toFormData() {
381
- const form = new FormData();
382
- form.append('extension', this.extension);
383
- form.append('file', this.file);
384
- form.append('type', this.type);
385
- form.append('user_id', this.userId);
386
- return form;
387
- }
388
377
  }
389
378
 
390
379
  class TransferRequest extends BaseRequest {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuenca-mx/cuenca-js",
3
- "version": "0.0.8-dev.1",
3
+ "version": "0.0.8-dev.10",
4
4
  "description": "Cuenca client for JS",
5
5
  "main": "./build/index.cjs",
6
6
  "module": "./build/index.mjs",
@@ -59,7 +59,9 @@
59
59
  },
60
60
  "dependencies": {
61
61
  "axios": "^0.24.0",
62
+ "axios-form-data": "^1.1.1",
62
63
  "buffer": "^6.0.3",
63
- "form-data": "^4.0.0"
64
+ "form-data": "^4.0.0",
65
+ "fs": "^0.0.1-security"
64
66
  }
65
67
  }