@cuenca-mx/cuenca-js 0.0.5-dev.9 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,17 @@
1
+ class BridgeAccountStatus {
2
+ static Succeeded = new BridgeAccountStatus('succeeded');
3
+
4
+ static NotValidated = new BridgeAccountStatus('not_validated');
5
+
6
+ static Failed = new BridgeAccountStatus('failed');
7
+
8
+ static OnWaitList = new BridgeAccountStatus('on_wait_list');
9
+
10
+ constructor(value) {
11
+ this.value = value;
12
+ }
13
+ }
14
+
1
15
  class CardErrorType {
2
16
  static Blocked = new CardErrorType('blocked');
3
17
 
@@ -156,20 +170,6 @@ class KYCFileType {
156
170
  }
157
171
  }
158
172
 
159
- class KYCStatus {
160
- static UploadAgain = new KYCStatus('upload_again');
161
-
162
- static ReviewNeeded = new KYCStatus('review_needed');
163
-
164
- static Submitted = new KYCStatus('submitted');
165
-
166
- static Succeeded = new KYCStatus('succeeded');
167
-
168
- constructor(value) {
169
- this.value = value;
170
- }
171
- }
172
-
173
173
  class Phase {
174
174
  static Sandbox = new Phase('sandbox');
175
175
 
@@ -309,12 +309,12 @@ class VerificationStatus {
309
309
 
310
310
  static ReviewNeeded = new VerificationStatus('review_needed');
311
311
 
312
- static UploadAgain = new VerificationStatus('upload_again');
313
-
314
312
  static Submitted = new VerificationStatus('submitted');
315
313
 
316
314
  static Succeeded = new VerificationStatus('succeeded');
317
315
 
316
+ static UploadAgain = new VerificationStatus('upload_again');
317
+
318
318
  constructor(value) {
319
319
  this.value = value;
320
320
  }
@@ -349,4 +349,4 @@ const dateToUTC = (date) => {
349
349
  const enumValueFromString = (enumValue, value) =>
350
350
  Object.values(enumValue).find((enumV) => enumV.value === value);
351
351
 
352
- export { CardFundingType as C, DepositNetwork as D, EntryType as E, FileFormat as F, KYCFileType as K, Phase as P, SavingCategory as S, TransactionStatus as T, UserStatus as U, VerificationStatus as V, WalletTransactionType as W, CardIssuer as a, CardStatus as b, CardType as c, dateToUTC as d, enumValueFromString as e, CardErrorType as f, CardTransactionType as g, CommissionType as h, ServiceProviderCategory as i, TransferNetwork as j, VerificationType as k, KYCStatus as l, TrackDataMethod as m };
352
+ export { BridgeAccountStatus as B, CardFundingType as C, DepositNetwork as D, EntryType as E, FileFormat as F, KYCFileType as K, Phase as P, SavingCategory as S, TransactionStatus as T, UserStatus as U, VerificationStatus as V, WalletTransactionType as W, CardIssuer as a, CardStatus as b, CardType as c, dateToUTC as d, enumValueFromString as e, CardErrorType as f, CardTransactionType as g, CommissionType as h, ServiceProviderCategory as i, TransferNetwork as j, VerificationType as k, TrackDataMethod as l };
@@ -1,5 +1,19 @@
1
1
  'use strict';
2
2
 
3
+ class BridgeAccountStatus {
4
+ static Succeeded = new BridgeAccountStatus('succeeded');
5
+
6
+ static NotValidated = new BridgeAccountStatus('not_validated');
7
+
8
+ static Failed = new BridgeAccountStatus('failed');
9
+
10
+ static OnWaitList = new BridgeAccountStatus('on_wait_list');
11
+
12
+ constructor(value) {
13
+ this.value = value;
14
+ }
15
+ }
16
+
3
17
  class CardErrorType {
4
18
  static Blocked = new CardErrorType('blocked');
5
19
 
@@ -158,20 +172,6 @@ class KYCFileType {
158
172
  }
159
173
  }
160
174
 
161
- class KYCStatus {
162
- static UploadAgain = new KYCStatus('upload_again');
163
-
164
- static ReviewNeeded = new KYCStatus('review_needed');
165
-
166
- static Submitted = new KYCStatus('submitted');
167
-
168
- static Succeeded = new KYCStatus('succeeded');
169
-
170
- constructor(value) {
171
- this.value = value;
172
- }
173
- }
174
-
175
175
  class Phase {
176
176
  static Sandbox = new Phase('sandbox');
177
177
 
@@ -311,12 +311,12 @@ class VerificationStatus {
311
311
 
312
312
  static ReviewNeeded = new VerificationStatus('review_needed');
313
313
 
314
- static UploadAgain = new VerificationStatus('upload_again');
315
-
316
314
  static Submitted = new VerificationStatus('submitted');
317
315
 
318
316
  static Succeeded = new VerificationStatus('succeeded');
319
317
 
318
+ static UploadAgain = new VerificationStatus('upload_again');
319
+
320
320
  constructor(value) {
321
321
  this.value = value;
322
322
  }
@@ -351,6 +351,7 @@ const dateToUTC = (date) => {
351
351
  const enumValueFromString = (enumValue, value) =>
352
352
  Object.values(enumValue).find((enumV) => enumV.value === value);
353
353
 
354
+ exports.BridgeAccountStatus = BridgeAccountStatus;
354
355
  exports.CardErrorType = CardErrorType;
355
356
  exports.CardFundingType = CardFundingType;
356
357
  exports.CardIssuer = CardIssuer;
@@ -362,7 +363,6 @@ exports.DepositNetwork = DepositNetwork;
362
363
  exports.EntryType = EntryType;
363
364
  exports.FileFormat = FileFormat;
364
365
  exports.KYCFileType = KYCFileType;
365
- exports.KYCStatus = KYCStatus;
366
366
  exports.Phase = Phase;
367
367
  exports.SavingCategory = SavingCategory;
368
368
  exports.ServiceProviderCategory = ServiceProviderCategory;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var errors_index = require('./errors/index.cjs');
4
- var data = require('./data-d25afb50.cjs');
4
+ var data = require('./data-d6c1558d.cjs');
5
5
 
6
6
  class PageSize {
7
7
  constructor(size) {
@@ -298,6 +298,19 @@ class StatementQuery extends QueryParams {
298
298
  }
299
299
  }
300
300
 
301
+ class BridgeAccountQuery extends QueryParams {
302
+ constructor({ emailAddress, ...args }) {
303
+ super(args);
304
+ this.emailAddress = emailAddress;
305
+ }
306
+
307
+ toObject() {
308
+ return Object.assign(super.toObject(), {
309
+ email_address: this.emailAddress,
310
+ });
311
+ }
312
+ }
313
+
301
314
  class TOSAgreements {
302
315
  constructor({ ip, location, type, version }) {
303
316
  this.ip = ip;
@@ -336,7 +349,7 @@ class KYCFile {
336
349
  constructor({ data: data$1, errors, isMx, status, type, uriBack, uriFront }) {
337
350
  this.data = data$1;
338
351
  this.isMx = isMx;
339
- this.status = data.enumValueFromString(data.KYCStatus, status);
352
+ this.status = data.enumValueFromString(data.VerificationStatus, status);
340
353
  this.type = data.enumValueFromString(data.KYCFileType, type);
341
354
  this.uriBack = uriBack;
342
355
  this.uriFront = uriFront;
@@ -400,6 +413,7 @@ exports.Address = Address;
400
413
  exports.ApiKeyQuery = ApiKeyQuery;
401
414
  exports.BalanceEntryQuery = BalanceEntryQuery;
402
415
  exports.BillPaymentQuery = BillPaymentQuery;
416
+ exports.BridgeAccountQuery = BridgeAccountQuery;
403
417
  exports.CardTransactionQuery = CardTransactionQuery;
404
418
  exports.CardsQuery = CardsQuery;
405
419
  exports.DepositQuery = DepositQuery;
@@ -1,5 +1,5 @@
1
1
  import { ValidationError } from './errors/index.mjs';
2
- import { d as dateToUTC, e as enumValueFromString, l as KYCStatus, K as KYCFileType } from './data-86ddd935.mjs';
2
+ import { d as dateToUTC, e as enumValueFromString, V as VerificationStatus, K as KYCFileType } from './data-59d28abe.mjs';
3
3
 
4
4
  class PageSize {
5
5
  constructor(size) {
@@ -296,6 +296,19 @@ class StatementQuery extends QueryParams {
296
296
  }
297
297
  }
298
298
 
299
+ class BridgeAccountQuery extends QueryParams {
300
+ constructor({ emailAddress, ...args }) {
301
+ super(args);
302
+ this.emailAddress = emailAddress;
303
+ }
304
+
305
+ toObject() {
306
+ return Object.assign(super.toObject(), {
307
+ email_address: this.emailAddress,
308
+ });
309
+ }
310
+ }
311
+
299
312
  class TOSAgreements {
300
313
  constructor({ ip, location, type, version }) {
301
314
  this.ip = ip;
@@ -334,7 +347,7 @@ class KYCFile {
334
347
  constructor({ data, errors, isMx, status, type, uriBack, uriFront }) {
335
348
  this.data = data;
336
349
  this.isMx = isMx;
337
- this.status = enumValueFromString(KYCStatus, status);
350
+ this.status = enumValueFromString(VerificationStatus, status);
338
351
  this.type = enumValueFromString(KYCFileType, type);
339
352
  this.uriBack = uriBack;
340
353
  this.uriFront = uriFront;
@@ -393,4 +406,4 @@ class Address {
393
406
  });
394
407
  }
395
408
 
396
- export { Address as A, BalanceEntryQuery as B, CardsQuery as C, DepositQuery as D, KYCFile as K, PageSize as P, QueryParams as Q, StatementQuery as S, TOSAgreements as T, UserQuery as U, WalletQuery as W, AccountQuery as a, ApiKeyQuery as b, BillPaymentQuery as c, CardTransactionQuery as d, TransferQuery as e, WalletTransactionQuery as f, TransactionQuery as g };
409
+ export { Address as A, BalanceEntryQuery as B, CardsQuery as C, DepositQuery as D, KYCFile as K, PageSize as P, QueryParams as Q, StatementQuery as S, TOSAgreements as T, UserQuery as U, WalletQuery as W, AccountQuery as a, ApiKeyQuery as b, BillPaymentQuery as c, BridgeAccountQuery as d, CardTransactionQuery as e, TransferQuery as f, WalletTransactionQuery as g, TransactionQuery as h };
package/build/index.cjs CHANGED
@@ -6,9 +6,9 @@ var axios = require('axios');
6
6
  var Buffer = require('buffer');
7
7
  var errors_index = require('./errors/index.cjs');
8
8
  var jwt_index = require('./jwt/index.cjs');
9
- var data = require('./data-d25afb50.cjs');
10
- var identities = require('./identities-b472f1c7.cjs');
11
- var walletTransactionRequest = require('./walletTransactionRequest-b7d18604.cjs');
9
+ var data = require('./data-d6c1558d.cjs');
10
+ var identities = require('./identities-7d3418fb.cjs');
11
+ var walletTransactionRequest = require('./walletTransactionRequest-d2155aa4.cjs');
12
12
  require('module');
13
13
 
14
14
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -27,7 +27,7 @@ const isNode =
27
27
 
28
28
  const runtimeEnv = { isBrowser, isNode };
29
29
 
30
- const name="@cuenca-mx/cuenca-js";const version="0.0.5-dev.9";const description="Cuenca client for JS";const main="./build/index.cjs";const module$1="./build/index.mjs";const browser="./build/umd/cuenca.umd.js";const files=["build/**/*"];const exports$1={".":{"import":"./build/index.mjs",require:"./build/index.cjs"},"./errors":{"import":"./build/errors/index.mjs",require:"./build/errors/index.cjs"},"./jwt":{"import":"./build/jwt/index.mjs",require:"./build/jwt/index.cjs"},"./requests":{"import":"./build/requests/index.mjs",require:"./build/requests/index.cjs"},"./types":{"import":"./build/types/index.mjs",require:"./build/types/index.cjs"}};const packageManager="yarn@3.0.2";const type="module";const repository={type:"git",url:"https://github.com/cuenca-mx/cuenca-js.git",directory:"packages/cuenca-js"};const keywords=["cuenca"];const license="MIT";const bugs={url:"https://github.com/cuenca-mx/cuenca-js/issues"};const homepage="https://cuenca.com";const scripts={build:"rm -rf build/ && yarn rollup --config",test:"yarn node --experimental-vm-modules $(yarn bin jest)",publish:"yarn build && yarn npm publish"};const devDependencies={"@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1",jest:"^27.4.5",rollup:"^2.61.1","rollup-plugin-terser":"^7.0.2"};const dependencies={axios:"^0.24.0",buffer:"^6.0.3","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};
30
+ const name="@cuenca-mx/cuenca-js";const version="0.0.5";const description="Cuenca client for JS";const main="./build/index.cjs";const module$1="./build/index.mjs";const browser="./build/umd/cuenca.umd.js";const files=["build/**/*"];const exports$1={".":{"import":"./build/index.mjs",require:"./build/index.cjs"},"./errors":{"import":"./build/errors/index.mjs",require:"./build/errors/index.cjs"},"./jwt":{"import":"./build/jwt/index.mjs",require:"./build/jwt/index.cjs"},"./requests":{"import":"./build/requests/index.mjs",require:"./build/requests/index.cjs"},"./types":{"import":"./build/types/index.mjs",require:"./build/types/index.cjs"}};const packageManager="yarn@3.0.2";const type="module";const repository={type:"git",url:"https://github.com/cuenca-mx/cuenca-js.git",directory:"packages/cuenca-js"};const keywords=["cuenca"];const license="MIT";const bugs={url:"https://github.com/cuenca-mx/cuenca-js/issues"};const homepage="https://cuenca.com";const scripts={build:"rm -rf build/ && yarn rollup --config",test:"yarn node --experimental-vm-modules $(yarn bin jest)",publish:"yarn build && yarn npm publish"};const devDependencies={"@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1",jest:"^27.4.5",rollup:"^2.61.1","rollup-plugin-terser":"^7.0.2"};const dependencies={axios:"^0.24.0",buffer:"^6.0.3","form-data":"^4.0.0"};var pkg = {name:name,version:version,description:description,main:main,module:module$1,browser:browser,files:files,exports:exports$1,packageManager:packageManager,type:type,repository:repository,keywords:keywords,license:license,bugs:bugs,homepage:homepage,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies};
31
31
 
32
32
  class Client {
33
33
  constructor({
@@ -374,6 +374,67 @@ class BillPayment extends Transaction {
374
374
  });
375
375
  }
376
376
 
377
+ class BridgeAccount {
378
+ constructor({
379
+ id,
380
+ names,
381
+ firstSurname,
382
+ secondSurname,
383
+ dateOfBirth,
384
+ countryOfBirth,
385
+ rfc,
386
+ curp,
387
+ userId,
388
+ gender,
389
+ phoneNumber,
390
+ emailAddress,
391
+ clientClabe,
392
+ govtId,
393
+ proofOfAddress,
394
+ proofOfLife,
395
+ status,
396
+ }) {
397
+ this.id = id;
398
+ this.emailAddress = emailAddress;
399
+ this.clientClabe = clientClabe;
400
+ this.govtId = govtId;
401
+ this.names = names;
402
+ this.firstSurname = firstSurname;
403
+ this.secondSurname = secondSurname;
404
+ this.dateOfBirth = dateOfBirth;
405
+ this.countryOfBirth = countryOfBirth;
406
+ this.rfc = rfc;
407
+ this.curp = curp;
408
+ this.userId = userId;
409
+ this.gender = gender;
410
+ this.phoneNumber = phoneNumber;
411
+ this.addressProofs = proofOfAddress;
412
+ this.lifeProofs = proofOfLife;
413
+ this.status = data.enumValueFromString(data.BridgeAccountStatus, status);
414
+ }
415
+
416
+ static fromObject = ({ status, ...obj }) =>
417
+ new BridgeAccount({
418
+ id: obj.id,
419
+ clientClabe: obj.client_clabe,
420
+ names: obj.names,
421
+ firstSurname: obj.first_surname,
422
+ secondSurname: obj.second_surname,
423
+ dateOfBirth: obj.date_of_birth,
424
+ countryOfBirth: obj.country_of_birth,
425
+ rfc: obj.rfc,
426
+ curp: obj.curp,
427
+ userId: obj.user_id,
428
+ gender: obj.gender,
429
+ govtId: obj.govt_id,
430
+ emailAddress: obj.email_address,
431
+ phoneNumber: obj.phone_number,
432
+ proofOfAddress: obj.proof_of_address,
433
+ proofOfLife: obj.proof_of_life,
434
+ status,
435
+ });
436
+ }
437
+
377
438
  class Card {
378
439
  constructor({
379
440
  createdAt,
@@ -1129,6 +1190,7 @@ const getModelFromPath = (path, obj) => {
1129
1190
  arpc: () => Arpc.fromObject(obj),
1130
1191
  balance_entries: () => BalanceEntry.fromObject(obj),
1131
1192
  bill_payments: () => BillPayment.fromObject(obj),
1193
+ 'bridge/accounts': () => BridgeAccount.fromObject(obj),
1132
1194
  cards: () => Card.fromObject(obj),
1133
1195
  card_activations: () => CardActivation.fromObject(obj),
1134
1196
  card_transactions: () => CardTransaction.fromObject(obj),
@@ -1404,6 +1466,12 @@ class BillPaymentResource extends mix(Resource).with(Queryable, Retrievable) {
1404
1466
  }
1405
1467
  }
1406
1468
 
1469
+ class BridegAccountResource extends mix(Resource).with(Queryable, Retrievable) {
1470
+ constructor(client) {
1471
+ super('bridge/accounts', identities.BridgeAccountQuery, client);
1472
+ }
1473
+ }
1474
+
1407
1475
  class CardActivationResource extends mix(Resource).with(Creatable) {
1408
1476
  constructor(client) {
1409
1477
  super('card_activations', Object, client);
@@ -1850,6 +1918,7 @@ class Cuenca {
1850
1918
  this.apiKeys = new ApiKeyResource(client);
1851
1919
  this.balanceEntries = new BalanceEntryResource(client);
1852
1920
  this.billPayments = new BillPaymentResource(client);
1921
+ this.bridgeAccounts = new BridegAccountResource(client);
1853
1922
  this.cardActivations = new CardActivationResource(client);
1854
1923
  this.cards = new CardResource(client);
1855
1924
  this.cardTransactions = new CardTransactionResource(client);
package/build/index.mjs CHANGED
@@ -2,9 +2,9 @@ import axios from 'axios';
2
2
  import Buffer from 'buffer';
3
3
  import { CuencaResponseException, CuencaException, NoResultFound, MultipleResultsFound, InvalidPassword } from './errors/index.mjs';
4
4
  import { Jwt } from './jwt/index.mjs';
5
- import { P as Phase, F as FileFormat, d as dateToUTC, e as enumValueFromString, E as EntryType, T as TransactionStatus, C as CardFundingType, a as CardIssuer, b as CardStatus, c as CardType, f as CardErrorType, g as CardTransactionType, h as CommissionType, D as DepositNetwork, K as KYCFileType, S as SavingCategory, i as ServiceProviderCategory, j as TransferNetwork, V as VerificationStatus, U as UserStatus, k as VerificationType, W as WalletTransactionType } from './data-86ddd935.mjs';
6
- import { A as Address, K as KYCFile, T as TOSAgreements, a as AccountQuery, b as ApiKeyQuery, B as BalanceEntryQuery, c as BillPaymentQuery, C as CardsQuery, d as CardTransactionQuery, Q as QueryParams, D as DepositQuery, W as WalletQuery, S as StatementQuery, e as TransferQuery, U as UserQuery, f as WalletTransactionQuery } from './identities-f01f7ffa.mjs';
7
- import { A as ApiKeyUpdateRequest, a as ArpcRequest, C as CardActivationRequest, b as CardRequest, c as CardUpdateRequest, d as CardValidationRequest, U as UploadRequest, K as KYCValidationsRequest, S as SavingRequest, T as TransferRequest, e as UserCredentialRequest, f as UserCredentialUpdateRequest, g as UserLoginRequest, h as UserUpdateRequest, V as VerificationRequest, i as VerificationAttemptRequest, W as WalletTransactionRequest } from './walletTransactionRequest-26f9cbd8.mjs';
5
+ import { P as Phase, F as FileFormat, d as dateToUTC, e as enumValueFromString, E as EntryType, T as TransactionStatus, B as BridgeAccountStatus, C as CardFundingType, a as CardIssuer, b as CardStatus, c as CardType, f as CardErrorType, g as CardTransactionType, h as CommissionType, D as DepositNetwork, K as KYCFileType, S as SavingCategory, i as ServiceProviderCategory, j as TransferNetwork, V as VerificationStatus, U as UserStatus, k as VerificationType, W as WalletTransactionType } from './data-59d28abe.mjs';
6
+ import { A as Address, K as KYCFile, T as TOSAgreements, a as AccountQuery, b as ApiKeyQuery, B as BalanceEntryQuery, c as BillPaymentQuery, d as BridgeAccountQuery, C as CardsQuery, e as CardTransactionQuery, Q as QueryParams, D as DepositQuery, W as WalletQuery, S as StatementQuery, f as TransferQuery, U as UserQuery, g as WalletTransactionQuery } from './identities-fed398c2.mjs';
7
+ import { A as ApiKeyUpdateRequest, a as ArpcRequest, C as CardActivationRequest, b as CardRequest, c as CardUpdateRequest, d as CardValidationRequest, U as UploadRequest, K as KYCValidationsRequest, S as SavingRequest, T as TransferRequest, e as UserCredentialRequest, f as UserCredentialUpdateRequest, g as UserLoginRequest, h as UserUpdateRequest, V as VerificationRequest, i as VerificationAttemptRequest, W as WalletTransactionRequest } from './walletTransactionRequest-826690e7.mjs';
8
8
  import 'module';
9
9
 
10
10
  /* global window */
@@ -18,7 +18,7 @@ const isNode =
18
18
 
19
19
  const runtimeEnv = { isBrowser, isNode };
20
20
 
21
- const name="@cuenca-mx/cuenca-js";const version="0.0.5-dev.9";const description="Cuenca client for JS";const main="./build/index.cjs";const module="./build/index.mjs";const browser="./build/umd/cuenca.umd.js";const files=["build/**/*"];const exports={".":{"import":"./build/index.mjs",require:"./build/index.cjs"},"./errors":{"import":"./build/errors/index.mjs",require:"./build/errors/index.cjs"},"./jwt":{"import":"./build/jwt/index.mjs",require:"./build/jwt/index.cjs"},"./requests":{"import":"./build/requests/index.mjs",require:"./build/requests/index.cjs"},"./types":{"import":"./build/types/index.mjs",require:"./build/types/index.cjs"}};const packageManager="yarn@3.0.2";const type="module";const repository={type:"git",url:"https://github.com/cuenca-mx/cuenca-js.git",directory:"packages/cuenca-js"};const keywords=["cuenca"];const license="MIT";const bugs={url:"https://github.com/cuenca-mx/cuenca-js/issues"};const homepage="https://cuenca.com";const scripts={build:"rm -rf build/ && yarn rollup --config",test:"yarn node --experimental-vm-modules $(yarn bin jest)",publish:"yarn build && yarn npm publish"};const devDependencies={"@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1",jest:"^27.4.5",rollup:"^2.61.1","rollup-plugin-terser":"^7.0.2"};const dependencies={axios:"^0.24.0",buffer:"^6.0.3","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};
21
+ const name="@cuenca-mx/cuenca-js";const version="0.0.5";const description="Cuenca client for JS";const main="./build/index.cjs";const module="./build/index.mjs";const browser="./build/umd/cuenca.umd.js";const files=["build/**/*"];const exports={".":{"import":"./build/index.mjs",require:"./build/index.cjs"},"./errors":{"import":"./build/errors/index.mjs",require:"./build/errors/index.cjs"},"./jwt":{"import":"./build/jwt/index.mjs",require:"./build/jwt/index.cjs"},"./requests":{"import":"./build/requests/index.mjs",require:"./build/requests/index.cjs"},"./types":{"import":"./build/types/index.mjs",require:"./build/types/index.cjs"}};const packageManager="yarn@3.0.2";const type="module";const repository={type:"git",url:"https://github.com/cuenca-mx/cuenca-js.git",directory:"packages/cuenca-js"};const keywords=["cuenca"];const license="MIT";const bugs={url:"https://github.com/cuenca-mx/cuenca-js/issues"};const homepage="https://cuenca.com";const scripts={build:"rm -rf build/ && yarn rollup --config",test:"yarn node --experimental-vm-modules $(yarn bin jest)",publish:"yarn build && yarn npm publish"};const devDependencies={"@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1",jest:"^27.4.5",rollup:"^2.61.1","rollup-plugin-terser":"^7.0.2"};const dependencies={axios:"^0.24.0",buffer:"^6.0.3","form-data":"^4.0.0"};var pkg = {name:name,version:version,description:description,main:main,module:module,browser:browser,files:files,exports:exports,packageManager:packageManager,type:type,repository:repository,keywords:keywords,license:license,bugs:bugs,homepage:homepage,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies};
22
22
 
23
23
  class Client {
24
24
  constructor({
@@ -365,6 +365,67 @@ class BillPayment extends Transaction {
365
365
  });
366
366
  }
367
367
 
368
+ class BridgeAccount {
369
+ constructor({
370
+ id,
371
+ names,
372
+ firstSurname,
373
+ secondSurname,
374
+ dateOfBirth,
375
+ countryOfBirth,
376
+ rfc,
377
+ curp,
378
+ userId,
379
+ gender,
380
+ phoneNumber,
381
+ emailAddress,
382
+ clientClabe,
383
+ govtId,
384
+ proofOfAddress,
385
+ proofOfLife,
386
+ status,
387
+ }) {
388
+ this.id = id;
389
+ this.emailAddress = emailAddress;
390
+ this.clientClabe = clientClabe;
391
+ this.govtId = govtId;
392
+ this.names = names;
393
+ this.firstSurname = firstSurname;
394
+ this.secondSurname = secondSurname;
395
+ this.dateOfBirth = dateOfBirth;
396
+ this.countryOfBirth = countryOfBirth;
397
+ this.rfc = rfc;
398
+ this.curp = curp;
399
+ this.userId = userId;
400
+ this.gender = gender;
401
+ this.phoneNumber = phoneNumber;
402
+ this.addressProofs = proofOfAddress;
403
+ this.lifeProofs = proofOfLife;
404
+ this.status = enumValueFromString(BridgeAccountStatus, status);
405
+ }
406
+
407
+ static fromObject = ({ status, ...obj }) =>
408
+ new BridgeAccount({
409
+ id: obj.id,
410
+ clientClabe: obj.client_clabe,
411
+ names: obj.names,
412
+ firstSurname: obj.first_surname,
413
+ secondSurname: obj.second_surname,
414
+ dateOfBirth: obj.date_of_birth,
415
+ countryOfBirth: obj.country_of_birth,
416
+ rfc: obj.rfc,
417
+ curp: obj.curp,
418
+ userId: obj.user_id,
419
+ gender: obj.gender,
420
+ govtId: obj.govt_id,
421
+ emailAddress: obj.email_address,
422
+ phoneNumber: obj.phone_number,
423
+ proofOfAddress: obj.proof_of_address,
424
+ proofOfLife: obj.proof_of_life,
425
+ status,
426
+ });
427
+ }
428
+
368
429
  class Card {
369
430
  constructor({
370
431
  createdAt,
@@ -1120,6 +1181,7 @@ const getModelFromPath = (path, obj) => {
1120
1181
  arpc: () => Arpc.fromObject(obj),
1121
1182
  balance_entries: () => BalanceEntry.fromObject(obj),
1122
1183
  bill_payments: () => BillPayment.fromObject(obj),
1184
+ 'bridge/accounts': () => BridgeAccount.fromObject(obj),
1123
1185
  cards: () => Card.fromObject(obj),
1124
1186
  card_activations: () => CardActivation.fromObject(obj),
1125
1187
  card_transactions: () => CardTransaction.fromObject(obj),
@@ -1395,6 +1457,12 @@ class BillPaymentResource extends mix(Resource).with(Queryable, Retrievable) {
1395
1457
  }
1396
1458
  }
1397
1459
 
1460
+ class BridegAccountResource extends mix(Resource).with(Queryable, Retrievable) {
1461
+ constructor(client) {
1462
+ super('bridge/accounts', BridgeAccountQuery, client);
1463
+ }
1464
+ }
1465
+
1398
1466
  class CardActivationResource extends mix(Resource).with(Creatable) {
1399
1467
  constructor(client) {
1400
1468
  super('card_activations', Object, client);
@@ -1841,6 +1909,7 @@ class Cuenca {
1841
1909
  this.apiKeys = new ApiKeyResource(client);
1842
1910
  this.balanceEntries = new BalanceEntryResource(client);
1843
1911
  this.billPayments = new BillPaymentResource(client);
1912
+ this.bridgeAccounts = new BridegAccountResource(client);
1844
1913
  this.cardActivations = new CardActivationResource(client);
1845
1914
  this.cards = new CardResource(client);
1846
1915
  this.cardTransactions = new CardTransactionResource(client);
@@ -2,10 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var walletTransactionRequest = require('../walletTransactionRequest-b7d18604.cjs');
5
+ var walletTransactionRequest = require('../walletTransactionRequest-d2155aa4.cjs');
6
6
  require('../errors/index.cjs');
7
- require('../data-d25afb50.cjs');
8
- require('buffer');
7
+ require('../data-d6c1558d.cjs');
9
8
  require('module');
10
9
 
11
10
 
@@ -1,5 +1,4 @@
1
- export { A as ApiKeyUpdateRequest, a as ArpcRequest, C as CardActivationRequest, b as CardRequest, c as CardUpdateRequest, d as CardValidationRequest, U as FileUploadRequest, K as KYCValidationsRequeest, S as SavingRequest, T as TransferRequest, e as UserCredentialRequest, f as UserCredentialUpdateRequest, g as UserLoginRequest, h as UserUpdateRequest, i as VerificationAttemptRequest, V as VerificationRequest, W as WalletTransactionRequest } from '../walletTransactionRequest-26f9cbd8.mjs';
1
+ export { A as ApiKeyUpdateRequest, a as ArpcRequest, C as CardActivationRequest, b as CardRequest, c as CardUpdateRequest, d as CardValidationRequest, U as FileUploadRequest, K as KYCValidationsRequeest, S as SavingRequest, T as TransferRequest, e as UserCredentialRequest, f as UserCredentialUpdateRequest, g as UserLoginRequest, h as UserUpdateRequest, i as VerificationAttemptRequest, V as VerificationRequest, W as WalletTransactionRequest } from '../walletTransactionRequest-826690e7.mjs';
2
2
  import '../errors/index.mjs';
3
- import '../data-86ddd935.mjs';
4
- import 'buffer';
3
+ import '../data-59d28abe.mjs';
5
4
  import 'module';
@@ -2,12 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var data = require('../data-d25afb50.cjs');
6
- var identities = require('../identities-b472f1c7.cjs');
5
+ var data = require('../data-d6c1558d.cjs');
6
+ var identities = require('../identities-7d3418fb.cjs');
7
7
  require('../errors/index.cjs');
8
8
 
9
9
 
10
10
 
11
+ exports.BridgeAccountStatus = data.BridgeAccountStatus;
11
12
  exports.CardErrorType = data.CardErrorType;
12
13
  exports.CardFundingType = data.CardFundingType;
13
14
  exports.CardIssuer = data.CardIssuer;
@@ -19,7 +20,6 @@ exports.DepositNetwork = data.DepositNetwork;
19
20
  exports.EntryType = data.EntryType;
20
21
  exports.FileFormat = data.FileFormat;
21
22
  exports.KYCFileType = data.KYCFileType;
22
- exports.KYCStatus = data.KYCStatus;
23
23
  exports.Phase = data.Phase;
24
24
  exports.SavingCategory = data.SavingCategory;
25
25
  exports.ServiceProviderCategory = data.ServiceProviderCategory;
@@ -35,6 +35,7 @@ exports.Address = identities.Address;
35
35
  exports.ApiKeyQuery = identities.ApiKeyQuery;
36
36
  exports.BalanceEntryQuery = identities.BalanceEntryQuery;
37
37
  exports.BillPaymentQuery = identities.BillPaymentQuery;
38
+ exports.BridgeAccountQuery = identities.BridgeAccountQuery;
38
39
  exports.CardTransactionQuery = identities.CardTransactionQuery;
39
40
  exports.CardsQuery = identities.CardsQuery;
40
41
  exports.DepositQuery = identities.DepositQuery;
@@ -1,3 +1,3 @@
1
- export { f as CardErrorType, C as CardFundingType, a as CardIssuer, b as CardStatus, g as CardTransactionType, c as CardType, h as CommissionType, D as DepositNetwork, E as EntryType, F as FileFormat, K as KYCFileType, l as KYCStatus, P as Phase, S as SavingCategory, i as ServiceProviderCategory, m as TrackDataMethod, T as TransactionStatus, j as TransferNetwork, U as UserStatus, V as VerificationStatus, k as VerificationType, W as WalletTransactionType } from '../data-86ddd935.mjs';
2
- export { a as AccountQuery, A as Address, b as ApiKeyQuery, B as BalanceEntryQuery, c as BillPaymentQuery, d as CardTransactionQuery, C as CardsQuery, D as DepositQuery, K as KYCFile, P as PageSize, Q as QueryParams, S as StatementQuery, T as TOSAgreements, g as TransactionQuery, e as TransferQuery, U as UserQuery, W as WalletQuery, f as WalletTransactionQuery } from '../identities-f01f7ffa.mjs';
1
+ export { B as BridgeAccountStatus, f as CardErrorType, C as CardFundingType, a as CardIssuer, b as CardStatus, g as CardTransactionType, c as CardType, h as CommissionType, D as DepositNetwork, E as EntryType, F as FileFormat, K as KYCFileType, P as Phase, S as SavingCategory, i as ServiceProviderCategory, l as TrackDataMethod, T as TransactionStatus, j as TransferNetwork, U as UserStatus, V as VerificationStatus, k as VerificationType, W as WalletTransactionType } from '../data-59d28abe.mjs';
2
+ export { a as AccountQuery, A as Address, b as ApiKeyQuery, B as BalanceEntryQuery, c as BillPaymentQuery, d as BridgeAccountQuery, e as CardTransactionQuery, C as CardsQuery, D as DepositQuery, K as KYCFile, P as PageSize, Q as QueryParams, S as StatementQuery, T as TOSAgreements, h as TransactionQuery, f as TransferQuery, U as UserQuery, W as WalletQuery, g as WalletTransactionQuery } from '../identities-fed398c2.mjs';
3
3
  import '../errors/index.mjs';
@@ -1 +1 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("axios"),require("buffer"),require("module")):"function"==typeof define&&define.amd?define(["exports","axios","buffer","module"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).cuenca={},t.axios,t.Buffer,t.module$1)}(this,(function(t,e,s,i){"use strict";function r(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var a=r(e),n=r(s);class c extends Error{constructor(t){super(t),Object.setPrototypeOf(this,c.prototype)}}class o extends c{constructor(t,e){super(`Cuenca Response Error: ${e}`),this.name="CuencaResponseError",this.data=t,this.status=e,Object.setPrototypeOf(this,o.prototype)}}class d extends c{constructor(){super("No results were found"),this.name="NoResultFound",Object.setPrototypeOf(this,d.prototype)}}class u extends c{constructor(){super("One result was expected but multiple were found"),this.name="MultipleResultsFound",Object.setPrototypeOf(this,u.prototype)}}class h extends c{constructor(){super("An invalid JWT token was obtained during authentication"),this.name="MalformedJwtToken",Object.setPrototypeOf(this,h.prototype)}}class p extends c{constructor(){super("Invalid password"),this.name="InvalidPassword",Object.setPrototypeOf(this,p.prototype)}}class l extends Error{constructor(t){super(t),Object.setPrototypeOf(this,l.prototype)}}const m="undefined"!=typeof window&&void 0!==window.document,w="undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process),f=m,_=w;class b{constructor(t,e){this.expiresAt=t,this.token=e}get isExpired(){const t=new Date;return(this.expiresAt.valueOf()-t.valueOf())/6e4<=5}static getExpirationDate=t=>{let e;try{const[,s]=t.split(".");e=JSON.parse(n.default.Buffer.from(`${s}==`,"base64").toString())}catch(t){throw new h}const{exp:s}=e;return new Date(new Date(1e3*s).toUTCString())};static create=async t=>{const e=t;e.jwtToken=null;const s=e.deleteRequestHeader("X-Cuenca-Token"),{token:i}=await t.post("token",{});s.eject();const r=b.getExpirationDate(i);return new b(r,i)}}class v{static Blocked=new v("blocked");static Comunication=new v("comunication");static ContactlesAmountLimit=new v("contactles_amount_limit");static FraudDetection=new v("fraud_detection");static FraudDetectionUncertain=new v("fraud_detection_uncertain");static InsufficientFounds=new v("insufficient_founds");static InvalidPin=new v("invalid_pin");static Notification=new v("notification");static NotificationDeactivatedCard=new v("notification_deactivated_card");constructor(t){this.value=t}}class y{static Credit=new y("credit");static Debit=new y("debit");constructor(t){this.value=t}}class g{static Accendo=new g("accendo");static Cuenca=new g("cuenca");constructor(t){this.value=t}}class O{static Active=new O("active");static Blocked=new O("blocked");static Created=new O("created");static Deactivated=new O("deactivated");static Printing=new O("printing");constructor(t){this.value=t}}class j{static Auth=new j("auth");static Capture=new j("capture");static Chargeback=new j("chargeback");static Expiration=new j("expiration");static Refund=new j("refund");static Void=new j("void");constructor(t){this.value=t}}class A{static Physical=new A("physical");static Virtual=new A("virtual");constructor(t){this.value=t}}class x{static CardRequest=new x("card_request");static CashDeposit=new x("cash_deposit");static OutgoingSpei=new x("outgoing_spei");constructor(t){this.value=t}}class I{static Cash=new I("cash");static Internal=new I("internal");static Spei=new I("spei");constructor(t){this.value=t}}class k{static Credit=new k("credit");static Debit=new k("debit");constructor(t){this.value=t}}class T{static Pdf=new T("application/pdf");static Xml=new T("application/xml");static Json=new T("application/json");static Any=new T("*/*");constructor(t){this.value=t}}class C{static Ine=new C("ine");static Passport=new C("passport");static Residency=new C("residency");static MatriculaConsular=new C("matricula_consular");static ProofOfLiveness=new C("proof_of_liveness");static ProofOfAddress=new C("proof_of_address");constructor(t){this.value=t}}class N{static UploadAgain=new N("upload_again");static ReviewNeeded=new N("review_needed");static Submitted=new N("submitted");static Succeeded=new N("succeeded");constructor(t){this.value=t}}class U{static Sandbox=new U("sandbox");static Stage=new U("stage");static Api=new U("api");constructor(t){this.value=t}}class S{static Cable=new S("cable");static CreditCard=new S("credit_card");static Electricity=new S("electricity");static Gas=new S("gas");static Internet=new S("internet");static LandlineTelephone=new S("landline_telephone");static MobileTelephonePostpaid=new S("mobile_telephone_postpaid");static MobileTelephonePrepaid=new S("mobile_telephone_prepaid");static SateliteTelevision=new S("satelite_television");static Water=new S("water");constructor(t){this.value=t}}class q{static General=new q("general");static Home=new q("home");static Vehicle=new q("vehicle");static Travel=new q("travel");static Clothing=new q("clothing");static Other=new q("other");static Medical=new q("medical");static Accident=new q("accident");static Education=new q("education");constructor(t){this.value=t}}class P{static NotSet=new P("not_set");static Terminal=new P("terminal");static Manual=new P("manual");static Unknown=new P("unknown");static Contactless=new P("contactless");static FallBack=new P("fall_back");static MagneticStripe=new P("magnetic_stripe");static RecurringCharge=new P("recurring_charge");constructor(t){this.value=t}}class ${static Created=new $("created");static Failed=new $("failed");static InReview=new $("in_review");static Submitted=new $("submitted");static Succeeded=new $("succeeded");constructor(t){this.value=t}}class B{static Internal=new B("internal");static Spei=new B("spei");constructor(t){this.value=t}}class D{static Active=new D("active");static Deactivated=new D("deactivated");static Fraud=new D("fraud");static PldBlocked=new D("pld_blocked");constructor(t){this.value=t}}class E{static Created=new E("created");static NotVerified=new E("not_verified");static Rejected=new E("rejected");static ReviewNeeded=new E("review_needed");static UploadAgain=new E("upload_again");static Submitted=new E("submitted");static Succeeded=new E("succeeded");constructor(t){this.value=t}}class K{static Phone=new K("phone");static Email=new K("email");constructor(t){this.value=t}}class M{static Deposit=new M("deposit");static Withdrawal=new M("withdrawal");constructor(t){this.value=t}}const L=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},R=(t,e)=>Object.values(t).find((t=>t.value===e));class V{constructor({createdAfter:t,createdBefore:e,limit:s,pageSize:i,relatedTransaction:r,userId:a,count:n=!1}){this.createdAfter=t,this.createdBefore=e,this._lmt=s,this.relatedTransaction=r,this.userId=a,this.count=n,this.pageSize=i}get limit(){return this._limit}set _lmt(t){let e=null;t&&t>=0&&(e=t),this._limit=e}toObject(){return{created_after:this.createdAfter,created_before:this.createdBefore,limit:this.limit,related_transaction:this.relatedTransaction,user_id:this.userId,page_size:this.pageSize&&this.pageSize.size}}toParams(){const t={...this.toObject()};return this.count&&(t.count=1),Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}toQueryString(){return new URLSearchParams(this.toParams()).toString()}}class F extends V{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class H extends V{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class Y extends V{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class z extends Y{constructor({trackingKey:t,network:e,...s}){super(s),this.trackingKey=t,this.network=e}toObject(){return Object.assign(super.toObject(),{tracking_key:this.trackingKey,network:this.network})}}class X extends Y{constructor({accountNumber:t,idempotencyKey:e,trackingKey:s,network:i,...r}){super(r),this.accountNumber=t,this.idempotencyKey=e,this.trackingKey=s,this.network=i}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber,idempotency_key:this.idempotencyKey,tracking_key:this.trackingKey,network:this.network})}}class Q extends V{constructor({fundingInstrumentUri:t,count:e=!1,walletId:s="default",...i}){super(i),this.fundingInstrumentUri=t,this.count=e,this.walletId=s}toObject(){return Object.assign(super.toObject(),{wallet_id:this.walletId,funding_instrument_uri:this.fundingInstrumentUri,count:this.count})}}class J extends V{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class W extends V{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class G extends V{constructor({cardUri:t,count:e=!1,...s}){super(s),this.cardUri=t,this.count=e}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri,count:this.count})}}class Z extends V{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class tt extends V{constructor({emailAddress:t,phoneNumber:e,status:s,...i}){super(i),this.emailAddress=t,this.phoneNumber=e,this.status=s}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress,phone_number:this.phoneNumber,status:this.status})}}class et extends V{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class st extends V{constructor({month:t,year:e,...s}){super(s),this.d={month:t,year:e}}get month(){return this._date.month}get year(){return this._date.year}set d({month:t,year:e}){const s=L(Date.now());s.setUTCDate(1);if(L(`${e}-${t}-01`).getTime()>=s.getTime())throw new l(`${e}-${t} is not a valid year-month pair`);this._date={month:t,year:e}}toObject(){return Object.assign(super.toObject(),{month:this.month,year:this.year})}}class it{constructor({ip:t,location:e,type:s,version:i}){this.ip=t,this.location=e,this.type=s,this.version=i}static fromObject=({ip:t,location:e,type:s,version:i})=>new it({ip:t,location:e,type:s,version:i})}class rt{constructor({code:t,error:e,identifier:s,message:i}){this.code=t,this.error=e,this.identifier=s,this.message=i}static fromObject=({code:t,error:e,identifier:s,message:i})=>new rt({code:t,error:e,identifier:s,message:i})}class at{constructor({data:t,errors:e,isMx:s,status:i,type:r,uriBack:a,uriFront:n}){this.data=t,this.isMx=s,this.status=R(N,i),this.type=R(C,r),this.uriBack=a,this.uriFront=n,e&&e.length>0&&(this.errors=e.map((t=>rt.fromObject(t))))}static fromObject=({data:t,errors:e,status:s,type:i,...r})=>new at({data:t,errors:e,status:s,type:i,isMx:r.is_mx,uriBack:r.uri_back,uriFront:r.uri_front})}class nt{constructor({city:t,country:e,createdAt:s,extNumber:i,fullName:r,intNumber:a,postalCode:n,state:c,street:o}){this.city=t,this.country=e,this.createdAt=L(s),this.extNumber=i,this.fullName=r,this.intNumber=a,this.postalCode=n,this.state=c,this.street=o}static fromObject=({city:t,country:e,state:s,street:i,...r})=>new nt({city:t,country:e,state:s,street:i,createdAt:r.created_at,extNumber:r.ext_number,fullName:r.full_name,intNumber:r.int_number,postalCode:r.postal_code})}var ct="0.0.5-dev.9";class ot{constructor({apiKey:t,apiSecret:e,language:s="en",phase:i=U.Sandbox}={}){this.phase=i,this.basicAuth={apiKey:t,apiSecret:e},this.jwtToken=null,this._session=a.default.create({headers:{"Accept-Language":s},timeout:45e3})}get session(){return this._session}get origin(){return`https://${this.phase.value}.cuenca.com`}get authHeader(){const{apiKey:t,apiSecret:e}=this.basicAuth;return t&&e?`Basic ${n.default.Buffer.from(`${t}:${e}`,"utf-8").toString("base64")}`:""}addHeadersToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common:i}}=s;return Object.keys(t).forEach((e=>i[e]=t[e])),s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}deleteRequestHeader(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common:i}}=s;return delete i[t],s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}addConfigToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e;return Object.keys(t).forEach((e=>s[e]=t[e])),s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}async configure({apiKey:t,apiSecret:e,loginToken:s,phase:i,sessionId:r,useJwt:a=!1}){this.basicAuth={apiKey:t||this.basicAuth.apiKey,apiSecret:e||this.basicAuth.apiSecret},i&&(this.phase=i),a&&(this.jwtToken=await b.create(this)),s&&this.addHeadersToRequest({"X-Cuenca-LoginToken":s}),r&&this.addHeadersToRequest({"X-Cuenca-SessionId":r})}async get({endpoint:t,format:e,params:s}){return this.request({endpoint:t,format:e,params:s})}async post({endpoint:t,data:e,multipart:s}){return this.request({method:"POST",endpoint:t,data:e,multipart:s})}async patch({endpoint:t,data:e}){return this.request({method:"PATCH",endpoint:t,data:e})}async delete({endpoint:t,data:e}){return this.request({method:"DELETE",endpoint:t,data:e})}async request({endpoint:t,data:e=null,format:s=T.Json,method:i="GET",multipart:r=!1,params:a=null}){let n;n=r?e.getHeaders():{"Content-Type":"application/json",Accept:`application/${s.value}`},this.authHeader&&(n.Authorization=this.authHeader),_?n["User-Agent"]=`cuenca-js/${ct}`:f&&(n["X-User-Agent"]=`cuenca-js/${ct}`),this.jwtToken&&(this.jwtToken.isExpired&&(this.jwtToken=await b.create(this)),n["X-Cuenca-Token"]=this.jwtToken.token);const d=this.addHeadersToRequest(n),u=e;u&&!r&&Object.keys(u).forEach((t=>{u[t]instanceof Date&&(u[t]=u[t].toISOString())}));const h=this.addConfigToRequest({method:i,params:a,data:u,url:t});let p;try{p=await this._session.request({baseURL:this.origin})}catch(t){throw t.response?new o(t.response.data,t.response.status):t.request?new c(`No response received: ${t.errno}: ${t.code}`):new c(t.message)}finally{d.eject(),h.eject()}return p.data}}class dt{constructor({accountNumber:t,createdAt:e,id:s,institutionName:i,name:r,userId:a}){this.accountNumber=t,this.createdAt=L(e),this.id=s,this.institutionName=i,this.name=r,this.userId=a}static fromObject=({id:t,name:e,...s})=>new dt({id:t,name:e,accountNumber:s.account_number,createdAt:s.created_at,institutionName:s.institution_name,userId:s.user_id})}class ut{constructor({createdAt:t,deactivatedAt:e,id:s,secret:i,userId:r,updatedAt:a}){this.createdAt=L(t),this.deactivatedAt=L(e),this.id=s,this.secret=i,this.userId=r,this.updatedAt=L(a)}static fromObject=({id:t,secret:e,...s})=>new ut({id:t,secret:e,createdAt:s.created_at,deactivatedAt:s.deactivated_at,userId:s.user_id,updatedAt:s.updated_at});get isActive(){const t=L(Date.now());return!this.deactivatedAt||this.deactivatedAt.getTime()>t.getTime()}}class ht{constructor({arpc:t,createdAt:e,cardUri:s,isValidArqc:i}){this.arpc=t,this.createdAt=L(e),this.cardUri=s,this.isValidArqc=i}static fromObject=({arpc:t,...e})=>new ht({arpc:t,createdAt:e.created_at,cardUri:e.card_uri,isValidArqc:e.is_valid_arqc})}class pt{constructor({amount:t,createdAt:e,descriptor:s,entryType:i,fundingInstrumentUri:r,id:a,name:n,relatedTransactionUri:c,rollingBalance:o}){this.amount=t,this.createdAt=L(e),this.descriptor=s,this.entryType=R(k,i),this.fundingInstrumentUri=r,this.id=a,this.name=n,this.relatedTransactionUri=c,this.rollingBalance=o}static fromObject=({amount:t,descriptor:e,id:s,name:i,type:r,...a})=>new pt({amount:t,descriptor:e,name:i,id:s,createdAt:a.created_at,entryType:r,fundingInstrumentUri:a.funding_instrument_uri,relatedTransactionUri:a.related_transaction_uri,rollingBalance:a.rolling_balance})}class lt{constructor({amount:t,createdAt:e,descriptor:s,status:i,userId:r}){this.amount=t,this.createdAt=L(e),this.descriptor=s,this.status=R($,i),this.userId=r}}class mt extends lt{constructor({amount:t,accountNumber:e,createdAt:s,descriptor:i,id:r,providerUri:a,status:n,userId:c}){super({amount:t,createdAt:s,descriptor:i,status:n,userId:c}),this.accountNumber=e,this.id=r,this.providerUri=a}static fromObject=({amount:t,descriptor:e,id:s,status:i,...r})=>new mt({amount:t,descriptor:e,id:s,status:i,accountNumber:r.account_number,createdAt:r.created_at,providerUri:r.provider_uri,userId:r.user_id})}class wt{constructor({createdAt:t,cvv2:e,expMonth:s,expYear:i,fundingType:r,id:a,issuer:n,number:c,pin:o,status:d,type:u,updatedAt:h,userId:p}){this.createdAt=L(t),this.cvv2=e,this.expMonth=s,this.expYear=i,this.fundingType=R(y,r),this.id=a,this.issuer=R(g,n),this.number=c,this.pin=o,this.status=R(O,d),this.type=R(A,u),this.updatedAt=L(h),this.userId=p}static fromObject=({cvv2:t,id:e,issuer:s,number:i,pin:r,status:a,type:n,...c})=>new wt({cvv2:t,id:e,issuer:s,number:i,pin:r,status:a,type:n,createdAt:c.created_at,expMonth:c.exp_month,expYear:c.exp_year,fundingType:c.funding_type,updatedAt:c.updated_at,userId:c.user_id})}class ft{constructor({cardUri:t,createdAt:e,id:s,ipAddress:i,success:r,userId:a}){this.cardUri=t,this.createdAt=L(e),this.id=s,this.ipAddress=i,this.success=r,this.userId=a}static fromObject=({id:t,success:e,...s})=>new ft({id:t,success:e,cardUri:s.card_uri,createdAt:s.created_at,ipAddress:s.ip_address,userId:s.user_id})}class _t extends lt{constructor({amount:t,cardErrorType:e,cardLastFour:s,cardType:i,cardUri:r,createdAt:a,descriptor:n,metadata:c,network:o,relatedCardTransactionsUris:d,status:u,type:h,userId:p}){super({amount:t,createdAt:a,descriptor:n,status:u,userId:p}),this.cardErrorType=R(v,e),this.cardLastFour=s,this.cardType=R(A,i),this.cardUri=r,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=R(j,h)}static fromObject=({amount:t,descriptor:e,metadata:s,network:i,status:r,type:a,...n})=>new _t({amount:t,descriptor:e,metadata:s,network:i,status:r,type:a,cardErrorType:n.error_type,cardLastFour:n.card_last4,cardType:n.card_type,cardUri:n.card_uri,createdAt:n.created_at,relatedCardTransactionsUris:n.related_card_transaction,userId:n.user_id})}class bt{constructor({cardStatus:t,cardType:e,cardUri:s,createdAt:i,isExpired:r,isPinAttemptsExceeded:a,isValidCvv:n,isValidCvv2:c,isValidExpDate:o,isValidIcvv:d,isValidPinBlock:u,userId:h}){this.cardStatus=R(O,t),this.cardType=R(A,e),this.cardUri=s,this.createdAt=L(i),this.isExpired=r,this.isPinAttemptsExceeded=a,this.isValidCvv=n,this.isValidCvv2=c,this.isValidExpDate=o,this.isValidIcvv=d,this.isValidPinBlock=u,this.userId=h}static fromObject=({...t})=>new bt({cardStatus:t.card_status,cardType:t.card_type,cardUri:t.card_uri,createdAt:t.created_at,isExpired:t.is_expired,isPinAttemptsExceeded:t.is_pin_attempts_exceeded,isValidCvv:t.is_valid_cvv,isValidCvv2:t.is_valid_cvv2,isValidExpDate:t.is_valid_exp_date,isValidIcvv:t.is_valid_icvv,isValidPinBlock:t.is_valid_pin_block,userId:t.user_id});get isActive(){return this.cardStatus===O.Active}}class vt extends lt{constructor({amount:t,createdAt:e,descriptor:s,relatedTransactionUri:i,status:r,type:a,userId:n}){super({amount:t,createdAt:e,descriptor:s,status:r,userId:n}),this.relatedTransactionUri=i,this.type=R(x,a)}static fromObject=({amount:t,descriptor:e,status:s,type:i,...r})=>new vt({amount:t,descriptor:e,status:s,type:i,createdAt:r.created_at,relatedTransactionUri:r.related_transaction_uri,userId:r.user_id})}class yt extends lt{constructor({amount:t,createdAt:e,descriptor:s,id:i,network:r,status:a,sourceUri:n,trackingKey:c,userId:o}){super({amount:t,createdAt:e,descriptor:s,status:a,userId:o}),this.id=i,this.network=R(I,r),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new yt({amount:t,descriptor:e,id:s,network:i,status:r,createdAt:a.created_at,sourceUri:a.source_uri,trackingKey:a.tracking_key,userId:a.user_id})}class gt{constructor({extension:t,type:e,url:s,userId:i}){this.extension=t,this.type=R(C,e),this.url=s,this.userId=i}static fromObject=({extension:t,type:e,url:s,...i})=>new gt({extension:t,type:e,url:s,userId:i.user_id})}class Ot{constructor({platformId:t,attemps:e,verificationId:s,filesUri:i}){this.attemps=e,this.filesUri=i,this.platformId=t,this.verificationId=s}static fromObject=({attemps:t,...e})=>new Ot({attemps:t,filesUri:e.files_uri,platformId:e.platform_id,verificationId:e.verification_id})}class jt{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new jt({id:t})}class At{constructor({balance:t,createdAt:e,deactivatedAt:s,id:i,userId:r,updatedAt:a}){this.balance=t,this.createdAt=L(e),this.deactivatedAt=L(s),this.id=i,this.userId=r,this.updatedAt=L(a)}}class xt extends At{constructor({balance:t,category:e,createdAt:s,deactivatedAt:i,goalAmount:r,goalDate:a,id:n,name:c,userId:o,updatedAt:d}){super({balance:t,createdAt:s,deactivatedAt:i,id:n,userId:o,updatedAt:d}),this.category=R(q,e),this.goalAmount=r,this.goalDate=L(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:i,...r})=>new xt({balance:t,category:e,id:s,name:i,createdAt:r.created_at,deactivatedAt:r.deactivated_at,goalAmount:r.goal_amount,goalDate:r.goal_date,userId:r.user_id,updatedAt:r.updated_at})}class It{constructor({categories:t,id:e,name:s,providerKey:i}){var r;this.categories=null==(r=t)?[]:r.map((t=>R(S,t))),this.id=e,this.name=s,this.providerKey=i}static fromObject=({categories:t,id:e,name:s,...i})=>new It({categories:t,id:e,name:s,providerKey:i.provider_key})}class kt{constructor({createdAt:t,id:e,month:s,year:i}){this.createdAt=L(t),this.id=e,this.month=s,this.year=i}static fromObject=({id:t,month:e,year:s,...i})=>new kt({id:t,month:e,year:s,createdAt:i.created_at})}class Tt extends lt{constructor({accountNumber:t,amount:e,createdAt:s,descriptor:i,destinationUri:r,id:a,idempotencyKey:n,network:c,recipientName:o,status:d,trackingKey:u,updatedAt:h,userId:p}){super({amount:e,createdAt:s,descriptor:i,status:d,userId:p}),this.accountNumber=t,this.destinationUri=r,this.id=a,this.idempotencyKey=n,this.network=R(B,c),this.recipientName=o,this.trackingKey=u,this.updatedAt=L(h)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new Tt({amount:t,descriptor:e,id:s,network:i,status:r,accountNumber:a.account_number,createdAt:a.created_at,destinationUri:a.destination_uri,idempotencyKey:a.idempotency_key,recipientName:a.recipient_name,trackingKey:a.tracking_key,updatedAt:a.updated_at,userId:a.user_id})}class Ct{constructor({address:t,blacklistValidationStatus:e,clabe:s,countryOfBirth:i,createdAt:r,curp:a,dateOfBirth:n,emailAddress:c,firstSurname:o,gender:d,govtId:u,id:h,level:p,names:l,nationality:m,phoneNumber:w,proofOfAddress:f,proofOfLife:_,requiredLevel:b,rfc:v,secondSurname:y,stateOfBirth:g,status:O,termsOfService:j,updatedAt:A,verificationId:x}){this.add=t,this.blacklistValidationStatus=R(E,e),this.clabe=s,this.countryOfBirth=i,this.createdAt=L(r),this.curp=a,this.dateOfBirth=n,this.emailAddress=c,this.firstSurname=o,this.gender=d,this.govstIds=u,this.id=h,this.level=p,this.names=l,this.nationality=m,this.phoneNumber=w,this.addressProofs=f,this.lifeProofs=_,this.requiredLevel=b,this.rfc=v,this.secondSurname=y,this.stateOfBirth=g,this.status=R(D,O),this.terms=j,this.updatedAt=L(A),this.verificationId=x}get address(){return this._address}set add(t){t&&(this._address=nt.fromObject(t))}get proofOfAddress(){return this._proofOfAddress}set addressProofs(t){t&&(this._proofOfAddress=at.fromObject(t))}get proofOfLife(){return this._proofOfLife}set lifeProofs(t){t&&(this._proofOfLife=at.fromObject(t))}get govtId(){return this._govtId}set govstIds(t){t&&(this._govtId=at.fromObject(t))}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=it.fromObject(t))}static fromObject=({address:t,clabe:e,curp:s,gender:i,id:r,level:a,names:n,nationality:c,rfc:o,status:d,...u})=>new Ct({address:t,clabe:e,curp:s,gender:i,id:r,level:a,names:n,nationality:c,rfc:o,status:d,blacklistValidationStatus:u.blacklist_validation_status,countryOfBirth:u.country_of_birth,createdAt:u.created_at,dateOfBirth:u.date_of_birth,emailAddress:u.email_address,firstSurname:u.first_surname,govtId:u.govt_id,phoneNumber:u.phone_number,proofOfAddress:u.proof_of_address,proofOfLife:u.proof_of_life,requiredLevel:u.required_level,secondSurname:u.second_surname,stateOfBirth:u.state_of_birth,termsOfService:u.terms_of_service,updatedAt:u.updated_at,verificationId:u.verification_id})}class Nt{constructor({createdAt:t,id:e,isActive:s,updatedAt:i}){this.createdAt=L(t),this.id=e,this.isActive=s,this.updatedAt=L(i)}static fromObject=({id:t,...e})=>new Nt({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class Ut{constructor({id:t,lastLoginAt:e,success:s}){this.id=t,this.lastLoginAt=L(e),this.success=s}static fromObject=({id:t,success:e,...s})=>new Ut({id:t,success:e,lastLoginAt:s.last_login_at})}class St{constructor({createdAt:t,id:e,platformId:s,recipient:i,type:r,updatedAt:a}){this.createdAt=L(t),this.id=e,this.platformId=s,this.recipient=i,this.type=R(K,r),this.updatedAt=L(a)}static fromObject=({id:t,recipient:e,type:s,...i})=>new St({id:t,recipient:e,type:s,createdAt:i.created_at,platformId:i.platform_id,updatedAt:i.updated_at})}class qt extends lt{constructor({amount:t,createdAt:e,descriptor:s,id:i,status:r,transactionType:a,userId:n,walletUri:c}){super({amount:t,createdAt:e,descriptor:s,status:r,userId:n}),this.id=i,this.transactionType=R(M,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:i,...r})=>new qt({amount:t,descriptor:e,id:s,status:i,createdAt:r.created_at,transactionType:r.transaction_type,userId:r.user_id,walletUri:r.wallet_uri})}class Pt extends lt{constructor({amount:t,claimUrl:e,createdAt:s,descriptor:i,destinationUri:r,expiresAt:a,id:n,network:c,phoneNumber:o,recipientName:d,status:u,trackingKey:h,updatedAt:p,userId:l}){super({amount:t,createdAt:s,descriptor:i,status:u,userId:l}),this.claimUrl=e,this.destinationUri=r,this.id=n,this.expiresAt=L(a),this.network=R(B,c),this.phoneNumber=o,this.recipientName=d,this.trackingKey=h,this.updatedAt=L(p)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new Pt({amount:t,descriptor:e,id:s,network:i,status:r,createdAt:a.created_at,claimUrl:a.claim_url,destinationUri:a.destination_uri,expiresAt:a.expires_at,phoneNumber:a.phone_number,recipientName:a.recipient_name,trackingKey:a.tracking_key,updatedAt:a.updated_at,userId:a.user_id})}class $t{constructor(t){this.superclass=t}with(...t){return t.reduce(((t,e)=>e(t)),this.superclass)}}const Bt=t=>new $t(t),Dt=(t,e)=>({accounts:()=>dt.fromObject(e),api_keys:()=>ut.fromObject(e),arpc:()=>ht.fromObject(e),balance_entries:()=>pt.fromObject(e),bill_payments:()=>mt.fromObject(e),cards:()=>wt.fromObject(e),card_activations:()=>ft.fromObject(e),card_transactions:()=>_t.fromObject(e),card_validations:()=>bt.fromObject(e),commissions:()=>vt.fromObject(e),deposits:()=>yt.fromObject(e),files:()=>gt.fromObject(e),kyc_validations:()=>Ot.fromObject(e),login_tokens:()=>jt.fromObject(e),savings:()=>xt.fromObject(e),service_providers:()=>It.fromObject(e),statements:()=>kt.fromObject(e),transfers:()=>Tt.fromObject(e),users:()=>Ct.fromObject(e),user_credentials:()=>Nt.fromObject(e),user_logins:()=>Ut.fromObject(e),verifications:()=>St.fromObject(e),wallet_transactions:()=>qt.fromObject(e),whatsapp_transfers:()=>Pt.fromObject(e)}[t]()),Et=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class Kt{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const Mt=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return Dt(this.path,e)}},Lt=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return Dt(this.path,e)}},Rt=t=>class extends t{async _update(t,e){const s=await this.client.patch({endpoint:`/${this.path}/${t}`,data:e});return Dt(this.path,s)}},Vt=t=>class extends t{async _upload(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t,multipart:!0});return Dt(this.path,e)}},Ft=t=>class extends t{async _deactivate(t,e){const s=await this.client.delete({endpoint:`/${this.path}/${t}`,data:e});return Dt(this.path,s)}},Ht=t=>class extends t{async _download(t,e){const s=this.client.addConfigToRequest({responseType:"stream"}),i=await this.client.get({endpoint:`/${this.path}/${t}`,format:e});return s.eject(),i}},Yt=t=>class extends t{async one(t=new this.QueryParams({})){const{items:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});if(!e||!e.length)throw new d;if(e.length>1)throw new u;const[s]=e;return Dt(this.path,s)}async first(t=new this.QueryParams({})){const{items:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});if(!e||!e[0])return null;const[s]=e;return Dt(this.path,s)}async count(t=new this.QueryParams({})){t.count=!0;const{count:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});return e||0}async*all(t=new this.QueryParams({})){let e=`/${this.path}?${t.toQueryString()}`;for(;e;){const t=await this.client.get({endpoint:e});if(t.items)for(const e of t.items){const t=Dt(this.path,e);yield t}e=t.next_page_uri}}};class zt extends(Bt(Kt).with(Yt,Mt)){constructor(t){super("accounts",F,t)}}class Xt{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class Qt extends Xt{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class Jt extends Xt{constructor(t,e,s){super(),this.userId=t,this.issuer=e,this.fundingType=s}toObject(){return{user_id:this.userId,issuer:this.issuer,funding_type:this.fundingType}}}class Wt extends Xt{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class Gt extends Xt{constructor(t,e,s,i){super(),this.n=t,this.eM=e,this.eY=s,this.c2=i}get number(){return this._number}set n(t){if([!!t,16===t.length,/^\d{16}/.test(t)].some((t=>!t)))throw new l("Invalid number");this._number=t.trim()}get expMonth(){return this._expMonth}set eM(t){if([!!t,t>=1,t<=12].some((t=>!t)))throw new l("Invalid expiration month");this._expMonth=t}get expYear(){return this._expYear}set eY(t){if([!!t,t>=18,t<=99].some((t=>!t)))throw new l("Invalid expiration year");this._expYear=t}get cvv2(){return this._cvv2}set c2(t){if([!!t,3===t.length,/^\d{3}/.test(t)].some((t=>!t)))throw new l("Invalid cvv2");this._cvv2=t}toObject(){return{number:this.number,exp_month:this.expMonth,exp_year:this.expYear,cvv2:this.cvv2}}}class Zt extends Xt{constructor({cvv:t,cvv2:e,expMonth:s,expYear:i,icvv:r,number:a,pinBlock:n,pinAttemptsExceeded:c}){super(),this.c=t,this.c2=e,this.em=s,this.ey=i,this.ic=r,this.n=a,this.pinBloc=n,this.pinAttemptsExceeded=c}get cvv(){return this._cvv}set c(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new l("Invalid cvv");this._cvv=t}get cvv2(){return this._cvv2}set c2(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new l("Invalid cvv2");this._cvv2=t}get expMonth(){return this._expMonth}set em(t){if(!t)return;if([t>=1,t<=12].some((t=>!t)))throw new l("Invalid expiration month");this._expMonth=t}get expYear(){return this._expYear}set ey(t){if(!t)return;if([t>=18,t<=99].some((t=>!t)))throw new l("Invalid expiration year");this._expYear=t}get icvv(){return this._icvv}set ic(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new l("Invalid icvv");this._icvv=t}get number(){return this._number}set n(t){if([!!t,16===t.length,/^\d{16}/.test(t)].some((t=>!t)))throw new l("Invalid number");this._number=t}toObject(){return{cvv:this.cvv,cvv2:this.cvv2,exp_month:this.expMonth,exp_year:this.expYear,icvv:this.icvv,number:this.number,pin_block:this.pinBloc,pin_attempts_exceeded:this.pinAttemptsExceeded}}}class te extends Xt{constructor(t){super(),this.userId=t}toObject(){return{user_id:this.userId}}}class ee extends Xt{constructor(t,e,s,i){super(),this.category=t,this.name=i,this.goalAmount=e,this.validDate=s}get goalDate(){return this._goalDate}set validDate(t){if(t){if(L(t).getTime()<=L(Date.now()).getTime())throw new l("The goal_date always need to be higher than now");this._goalDate=t}}toObject(){return{category:this.category,goal_amount:this.goalAmount,goal_date:this.goalDate,name:this.name}}}const se=i.createRequire("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("cuenca.umd.js",document.baseURI).href)("form-data");class ie extends Xt{constructor({isBack:t=!1,file:e,extension:s,type:i,userId:r="me"}){super(),this.extension=s,this.file=e,this.isBack=t,this.type=i,this.userId=r}toObject(){return{extension:this.extension,file:this.file,is_back:this.isBack,type:this.type,user_id:this.userId}}toFormData(){const t=n.default.Buffer.from(this.file,"utf-8").toString("base64");console.log(t);const e=new se;return e.append("extension",this.extension),e.append("file",t),e.append("type",this.type),e.append("user_id",this.userId),e}}class re extends Xt{constructor(t,e,s,i,r){super(),this.accountNumber=t,this.amount=e,this.descriptor=s,this.idempotencyKey=i,this.recipientName=r}toObject(){return{account_number:this.accountNumber,amount:this.amount,descriptor:this.descriptor,idempotency_key:this.idempotencyKey,recipient_name:this.recipientName}}}class ae extends Xt{constructor(t){super(),this.pwd=t}get password(){return this._password}set pwd(t){if([!!t,t.length>=6].some((t=>!t)))throw new l("Invalid password");this._password=t}toObject(){return{password:this.password}}}class ne extends Xt{constructor(t,e){super(),this.pwd=t,this.isActive=e,this.req={password:this.password,isActive:this.isActive}}get password(){return this._password}get request(){return this._request}set pwd(t){if(!t)return void(this._password=t);if([t.length>=6].some((t=>!t)))throw new l("Invalid password");this._password=t}set req(t){if(t.password&&null!=t.isActive)throw new l("Only one property can be updated at a time");this._request=t}toObject(){return{password:this.request.password,is_active:this.request.isActive}}}class ce extends Xt{constructor(t,e="me"){super(),this.pwd=t,this.userId=e}get password(){return this._password}set pwd(t){if([!!t,6===t.length,/^\d{6}$/.test(t)].some((t=>!t)))throw new l("Invalid password");this._password=t}toObject(){return{password:this.password,user_id:this.userId}}}class oe extends Xt{constructor({ip:t,location:e,type:s,version:i}){super(),this.ipAddress=t,this.location=e,this.type=s,this.version=i}get ip(){return this._ip}set ipAddress(t){if(!t)throw new l("missing ip address");if(!t.split(".").every((t=>t>=0&&t<=255)))throw new l("Invalid ip address");this._ip=t}toObject(){return{ip:this.ip,location:this.location,type:this.type,version:this.version}}}class de extends Xt{constructor({city:t,country:e,extNumber:s,intNumber:i,postalCode:r,state:a,street:n}={}){super(),this.city=t,this.country=e,this.extNumber=s,this.intNumber=i,this.postalCode=r,this.state=a,this.street=n}toObject(){return{city:this.city,country:this.country,ext_number:this.extNumber,int_number:this.intNumber,postal_code:this.postalCode,state:this.state,street:this.street}}}class ue extends Xt{constructor({data:t,isMx:e,status:s,type:i,uriBack:r,uriFront:a}){super(),this.data=t,this.isMx=e,this.status=s,this.type=i,this.uriBack=r,this.uriFront=a}toObject(){return{data:this.data,is_mx:this.isMx,status:this.status,type:this.type,uri_back:this.uriBack,uri_front:this.uriFront}}}class he extends Xt{constructor({address:t,govtId:e,profession:s,proofOfAddress:i,proofOfLife:r,requiredLevel:a,termsOfService:n,verificationId:c}){super(),this.adrs=t,this.govstIds=e,this.profession=s,this.addressProofs=i,this.lifeProofs=r,this.requiredLevel=a,this.terms=n,this.verificationId=c}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=new oe(t).toObject())}get address(){return this._address}set adrs(t){t&&(this._address=new de(t).toCleanObject())}get proofOfLife(){return this._proofOfLife}set lifeProofs(t){t&&(this._proofOfLife=new ue(t).toCleanObject())}get proofOfAddress(){return this._proofOfAddress}set addressProofs(t){t&&(this._proofOfAddress=new ue(t).toCleanObject())}get govtId(){return this._govtId}set govstIds(t){t&&(this._govtId=new ue(t).toCleanObject())}toObject(){return{address:this.address,profession:this.profession,requiredLevel:this.requiredLevel,terms_of_service:this.termsOfService,verification_id:this.verificationId,proof_of_life:this.proofOfLife,proof_of_address:this.proofOfAddress,govt_id:this.govtId}}}class pe extends Xt{constructor({platformId:t,recipient:e,type:s}){super(),this.platformId=t,this.type=s,this.recipients=e}get recipient(){return this._recipient}set recipients(t){switch(R(K,this.type)){case K.Email:if(!t.match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/))throw new l("Invalid email address");this._recipient=t;break;case K.Phone:if(!t.match(/^\+?[0-9]{10,15}$/))throw new l("Invalid Phone Number");this._recipient=t}}toObject(){return{platform_id:this.platformId,recipient:this.recipient,type:this.type}}}class le extends Xt{constructor({code:t}){super(),this.code=t}toObject(){return{code:this.code}}}class me extends Xt{constructor(t,e,s){super(),this.amount=t,this.transactionType=e,this.walletUri=s}toObject(){return{amount:this.amount,transaction_type:this.transactionType,wallet_uri:this.walletUri}}}class we extends(Bt(Kt).with(Lt,Ft,Yt,Mt,Rt)){constructor(t){super("api_keys",H,t)}async create(){return await this._create()}async deactivate(t,e=0){return await this._deactivate(t,{minutes:e})}async update(t,e,s){const i=new Qt(s,e);return await this._update(t,i.toCleanObject())}}class fe extends(Bt(Kt).with(Lt)){constructor(t){super("arpc",Object,t)}async create({number:t,arqc:e,arpcMethod:s,transactionData:i,responseCode:r,transactionCounter:a,panSequence:n,uniqueNumber:c,trackDataMethod:o}){const d=new ArpcRequest({number:t,arqc:e,arpcMethod:s,transactionData:i,responseCode:r,transactionCounter:a,panSequence:n,uniqueNumber:c,trackDataMethod:o});return await this._create(d.toObject())}}class _e extends(Bt(Kt).with(Yt,Mt)){constructor(t){super("balance_entries",Q,t)}async relatedTransaction(t){const e=Et(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Dt(`${e}`,s)}async fundingInstrument(t){const e=Et(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Dt(`${e}`,s)}}class be extends(Bt(Kt).with(Yt,Mt)){constructor(t){super("bill_payments",J,t)}async serviceProvider(t){const e=Et(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Dt(`${e}`,s)}}class ve extends(Bt(Kt).with(Lt)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:i}){const r=new Gt(t,e,s,i);return await this._create(r.toCleanObject())}async card(t){if(!t)return null;const e=await this.client.get({endpoint:t});return wt.fromObject(e)}}class ye extends(Bt(Kt).with(Lt,Ft,Yt,Mt,Rt)){constructor(t){super("cards",G,t)}async create(t,e,s){const i=new Jt(t,e,s);return await this._create(i.toCleanObject())}async deactivate(t){return await this._deactivate(t)}async update(t,e,s){const i=new Wt(e,s);return await this._update(t,i.toCleanObject())}}class ge extends(Bt(Kt).with(Yt,Mt)){constructor(t){super("card_transactions",W,t)}async relatedCard(t){const e=Et(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Dt(`${e}`,s)}}class Oe extends(Bt(Kt).with(Lt)){constructor(t){super("card_validations",Object,t)}async create({cvv:t,cvv2:e,expMonth:s,expYear:i,icvv:r,number:a,pinBlock:n,pinAttemptsExceeded:c}){const o=new Zt({cvv:t,cvv2:e,expMonth:s,expYear:i,icvv:r,number:a,pinBlock:n,pinAttemptsExceeded:c});return await this._create(o.toCleanObject())}async card(t){if(!t)return null;const e=await this.client.get({endpoint:t});return wt.fromObject(e)}}class je extends(Bt(Kt).with(Yt,Mt)){constructor(t){super("commissions",V,t)}async relatedTransaction(t){const e=Et(t);if(null==e)return null;const s=await this.client.get(t);return Dt(`${e}`,s)}}class Ae extends(Bt(Kt).with(Yt,Mt)){constructor(t){super("deposits",z,t)}async source(t){const e=await this.client.get({endpoint:t});return dt.fromObject(e)}}class xe extends(Bt(Kt).with(Ht,Vt)){constructor(t){super("files",Object,t)}async download(t){return await this._download(t,T.Any)}async upload({...t}){const e=new ie(t);return await this._upload(e.toFormData())}}class Ie extends(Bt(Kt).with(Lt,Mt,Yt)){constructor(t){super("kyc_validations",Object,t)}async create(t="me"){const e=new te(t);return await this._create(e.toObject())}}class ke extends(Bt(Kt).with(Lt)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class Te extends(Bt(Kt).with(Lt,Ft,Yt,Mt,Rt)){constructor(t){super("savings",et,t)}async create(t,e,s,i){const r=new ee(t,e,s,i);return await this._create(r.toObject())}async deactivate(t){return await this._deactivate(t)}async update(t,e,s,i,r){const a=new ee(e,s,i,r);return await this._update(t,a.toObject())}}class Ce extends(Bt(Kt).with(Yt,Mt)){constructor(t){super("service_providers",V,t)}}class Ne extends(Bt(Kt).with(Ht,Yt)){constructor(t){super("statements",st,t)}async pdf(t){return await this._download(t,T.Pdf)}async xml(t){return await this._download(t,T.Xml)}}class Ue extends(Bt(Kt).with(Lt,Yt,Mt)){constructor(t){super("transfers",X,t)}async destination(t){const e=await this.client.get({endpoint:t});return dt.fromObject(e)}async create({accountNumber:t,amount:e,descriptor:s,recipientName:i,idempotencyKey:r}){const a=r||this.constructor._genIdempotencyKey(t,e),n=new re(t,e,s,a,i);return await this._create(n.toCleanObject())}async createMany(t){if(!t||!Array.isArray(t)||!t.length)return{};const e={submitted:[],errors:[]};return await Promise.all(t.map((async({accountNumber:t,amount:s,descriptor:i,idempotencyKey:r,recipientName:a})=>{const n=new re(t,s,i,r||this.constructor._genIdempotencyKey(t,s),a);let c;try{c=await this._create(n.toCleanObject())}catch(t){return void e.errors.push({actualRequest:n,error:t})}e.submitted.push(c)}))),e}static _genIdempotencyKey(t,e){const[s]=L(Date.now()).toISOString().split("T");return`${s}:${t}:${e}`}}class Se extends(Bt(Kt).with(Lt,Rt)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new ae(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const i=new ne(e,t);return await this._update(s,i.toCleanObject())}}class qe extends(Bt(Kt).with(Lt,Ft)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new ce(t,e),i=await this._create(s.toObject());if(!i.success)throw new p;return this.loginIdInHeaders=this.client.addHeadersToRequest({"X-Cuenca-LoginId":i.id}),i}async logOut(t="me"){return await this._deactivate(t,{}),this.loginIdInHeaders&&this.loginIdInHeaders.eject(),!0}}class Pe extends(Bt(Kt).with(Yt,Rt,Mt)){constructor(t){super("users",tt,t)}async update({userId:t="me",...e}){const s=new he(e);return await this._update(t,s.toCleanObject())}}class $e extends(Bt(Kt).with(Lt,Rt)){constructor(t){super("verifications",Object,t)}async create({platformId:t,recipient:e,type:s}){const i=new pe({platformId:t,recipient:e,type:s});return await this._create(i.toObject())}async update({code:t,id:e}){const s=new le({code:t});return await this._update(e,s.toObject())}}class Be extends(Bt(Kt).with(Lt,Yt,Mt)){constructor(t){super("wallet_transactions",Z,t)}async create(t,e,s){const i=new me(t,e,s);return await this._create(i.toObject())}async realtedWallet(t){const e=Et(t);if(null==e)return null;const s=await this.client.get(t);return Dt(`${e}`,s)}}class De extends(Bt(Kt).with(Yt,Mt)){constructor(t){super("whatsapp_transfers",V,t)}async accountDestination(t){const e=Et(t);if(null==e)return null;const s=await this.client.get(t);return Dt(`${e}`,s)}}t.Cuenca=class{constructor({apiKey:t,apiSecret:e,language:s="en",phase:i=U.Sandbox}={}){this.client=new ot({apiKey:t,apiSecret:e,language:s,phase:i}),this.withClient(this.client)}withClient(t){this.accounts=new zt(t),this.apiKeys=new we(t),this.balanceEntries=new _e(t),this.billPayments=new be(t),this.cardActivations=new ve(t),this.cards=new ye(t),this.cardTransactions=new ge(t),this.cardValidations=new Oe(t),this.commissions=new je(t),this.deposits=new Ae(t),this.files=new xe(t),this.kycValidations=new Ie(t),this.loginTokens=new ke(t),this.savings=new Te(t),this.serviceProviders=new Ce(t),this.statements=new Ne(t),this.transfers=new Ue(t),this.userCredentials=new Se(t),this.userLogins=new qe(t),this.users=new Pe(t),this.verifications=new $e(t),this.walletTransactions=new Be(t),this.whatsAppTransfers=new De(t)}}}));
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("axios"),require("buffer"),require("module")):"function"==typeof define&&define.amd?define(["exports","axios","buffer","module"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).cuenca={},t.axios,t.Buffer,t.module$1)}(this,(function(t,e,s,i){"use strict";function r(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var a=r(e),n=r(s);class c extends Error{constructor(t){super(t),Object.setPrototypeOf(this,c.prototype)}}class o extends c{constructor(t,e){super(`Cuenca Response Error: ${e}`),this.name="CuencaResponseError",this.data=t,this.status=e,Object.setPrototypeOf(this,o.prototype)}}class d extends c{constructor(){super("No results were found"),this.name="NoResultFound",Object.setPrototypeOf(this,d.prototype)}}class u extends c{constructor(){super("One result was expected but multiple were found"),this.name="MultipleResultsFound",Object.setPrototypeOf(this,u.prototype)}}class h extends c{constructor(){super("An invalid JWT token was obtained during authentication"),this.name="MalformedJwtToken",Object.setPrototypeOf(this,h.prototype)}}class p extends c{constructor(){super("Invalid password"),this.name="InvalidPassword",Object.setPrototypeOf(this,p.prototype)}}class l extends Error{constructor(t){super(t),Object.setPrototypeOf(this,l.prototype)}}const m="undefined"!=typeof window&&void 0!==window.document,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:i}=await t.post("token",{});s.eject();const r=b.getExpirationDate(i);return new b(r,i)}}class v{static Succeeded=new v("succeeded");static NotValidated=new v("not_validated");static Failed=new v("failed");static OnWaitList=new v("on_wait_list");constructor(t){this.value=t}}class y{static Blocked=new y("blocked");static Comunication=new y("comunication");static ContactlesAmountLimit=new y("contactles_amount_limit");static FraudDetection=new y("fraud_detection");static FraudDetectionUncertain=new y("fraud_detection_uncertain");static InsufficientFounds=new y("insufficient_founds");static InvalidPin=new y("invalid_pin");static Notification=new y("notification");static NotificationDeactivatedCard=new y("notification_deactivated_card");constructor(t){this.value=t}}class 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 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 A{static Auth=new A("auth");static Capture=new A("capture");static Chargeback=new A("chargeback");static Expiration=new A("expiration");static Refund=new A("refund");static Void=new A("void");constructor(t){this.value=t}}class x{static Physical=new x("physical");static Virtual=new x("virtual");constructor(t){this.value=t}}class I{static CardRequest=new I("card_request");static CashDeposit=new I("cash_deposit");static OutgoingSpei=new I("outgoing_spei");constructor(t){this.value=t}}class k{static Cash=new k("cash");static Internal=new k("internal");static Spei=new k("spei");constructor(t){this.value=t}}class T{static Credit=new T("credit");static Debit=new T("debit");constructor(t){this.value=t}}class C{static Pdf=new C("application/pdf");static Xml=new C("application/xml");static Json=new C("application/json");static Any=new C("*/*");constructor(t){this.value=t}}class 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 S{static Sandbox=new S("sandbox");static Stage=new S("stage");static Api=new S("api");constructor(t){this.value=t}}class U{static Cable=new U("cable");static CreditCard=new U("credit_card");static Electricity=new U("electricity");static Gas=new U("gas");static Internet=new U("internet");static LandlineTelephone=new U("landline_telephone");static MobileTelephonePostpaid=new U("mobile_telephone_postpaid");static MobileTelephonePrepaid=new U("mobile_telephone_prepaid");static SateliteTelevision=new U("satelite_television");static Water=new U("water");constructor(t){this.value=t}}class q{static General=new q("general");static Home=new q("home");static Vehicle=new q("vehicle");static Travel=new q("travel");static Clothing=new q("clothing");static Other=new q("other");static Medical=new q("medical");static Accident=new q("accident");static Education=new q("education");constructor(t){this.value=t}}class P{static NotSet=new P("not_set");static Terminal=new P("terminal");static Manual=new P("manual");static Unknown=new P("unknown");static Contactless=new P("contactless");static FallBack=new P("fall_back");static MagneticStripe=new P("magnetic_stripe");static RecurringCharge=new P("recurring_charge");constructor(t){this.value=t}}class B{static Created=new B("created");static Failed=new B("failed");static InReview=new B("in_review");static Submitted=new B("submitted");static Succeeded=new B("succeeded");constructor(t){this.value=t}}class ${static Internal=new $("internal");static Spei=new $("spei");constructor(t){this.value=t}}class D{static Active=new D("active");static Deactivated=new D("deactivated");static Fraud=new D("fraud");static PldBlocked=new D("pld_blocked");constructor(t){this.value=t}}class E{static Created=new E("created");static NotVerified=new E("not_verified");static Rejected=new E("rejected");static ReviewNeeded=new E("review_needed");static Submitted=new E("submitted");static Succeeded=new E("succeeded");static UploadAgain=new E("upload_again");constructor(t){this.value=t}}class K{static Phone=new K("phone");static Email=new K("email");constructor(t){this.value=t}}class L{static Deposit=new L("deposit");static Withdrawal=new L("withdrawal");constructor(t){this.value=t}}const M=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},R=(t,e)=>Object.values(t).find((t=>t.value===e));class V{constructor({createdAfter:t,createdBefore:e,limit:s,pageSize:i,relatedTransaction:r,userId:a,count:n=!1}){this.createdAfter=t,this.createdBefore=e,this._lmt=s,this.relatedTransaction=r,this.userId=a,this.count=n,this.pageSize=i}get limit(){return this._limit}set _lmt(t){let e=null;t&&t>=0&&(e=t),this._limit=e}toObject(){return{created_after:this.createdAfter,created_before:this.createdBefore,limit:this.limit,related_transaction:this.relatedTransaction,user_id:this.userId,page_size:this.pageSize&&this.pageSize.size}}toParams(){const t={...this.toObject()};return this.count&&(t.count=1),Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}toQueryString(){return new URLSearchParams(this.toParams()).toString()}}class F extends V{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class H extends V{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class Y extends V{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class z extends Y{constructor({trackingKey:t,network:e,...s}){super(s),this.trackingKey=t,this.network=e}toObject(){return Object.assign(super.toObject(),{tracking_key:this.trackingKey,network:this.network})}}class X extends Y{constructor({accountNumber:t,idempotencyKey:e,trackingKey:s,network:i,...r}){super(r),this.accountNumber=t,this.idempotencyKey=e,this.trackingKey=s,this.network=i}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber,idempotency_key:this.idempotencyKey,tracking_key:this.trackingKey,network:this.network})}}class Q extends V{constructor({fundingInstrumentUri:t,count:e=!1,walletId:s="default",...i}){super(i),this.fundingInstrumentUri=t,this.count=e,this.walletId=s}toObject(){return Object.assign(super.toObject(),{wallet_id:this.walletId,funding_instrument_uri:this.fundingInstrumentUri,count:this.count})}}class J extends V{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class W extends V{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class G extends V{constructor({cardUri:t,count:e=!1,...s}){super(s),this.cardUri=t,this.count=e}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri,count:this.count})}}class Z extends V{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class tt extends V{constructor({emailAddress:t,phoneNumber:e,status:s,...i}){super(i),this.emailAddress=t,this.phoneNumber=e,this.status=s}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress,phone_number:this.phoneNumber,status:this.status})}}class et extends V{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class st extends V{constructor({month:t,year:e,...s}){super(s),this.d={month:t,year:e}}get month(){return this._date.month}get year(){return this._date.year}set d({month:t,year:e}){const s=M(Date.now());s.setUTCDate(1);if(M(`${e}-${t}-01`).getTime()>=s.getTime())throw new l(`${e}-${t} is not a valid year-month pair`);this._date={month:t,year:e}}toObject(){return Object.assign(super.toObject(),{month:this.month,year:this.year})}}class it extends V{constructor({emailAddress:t,...e}){super(e),this.emailAddress=t}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress})}}class rt{constructor({ip:t,location:e,type:s,version:i}){this.ip=t,this.location=e,this.type=s,this.version=i}static fromObject=({ip:t,location:e,type:s,version:i})=>new rt({ip:t,location:e,type:s,version:i})}class at{constructor({code:t,error:e,identifier:s,message:i}){this.code=t,this.error=e,this.identifier=s,this.message=i}static fromObject=({code:t,error:e,identifier:s,message:i})=>new at({code:t,error:e,identifier:s,message:i})}class nt{constructor({data:t,errors:e,isMx:s,status:i,type:r,uriBack:a,uriFront:n}){this.data=t,this.isMx=s,this.status=R(E,i),this.type=R(N,r),this.uriBack=a,this.uriFront=n,e&&e.length>0&&(this.errors=e.map((t=>at.fromObject(t))))}static fromObject=({data:t,errors:e,status:s,type:i,...r})=>new nt({data:t,errors:e,status:s,type:i,isMx:r.is_mx,uriBack:r.uri_back,uriFront:r.uri_front})}class ct{constructor({city:t,country:e,createdAt:s,extNumber:i,fullName:r,intNumber:a,postalCode:n,state:c,street:o}){this.city=t,this.country=e,this.createdAt=M(s),this.extNumber=i,this.fullName=r,this.intNumber=a,this.postalCode=n,this.state=c,this.street=o}static fromObject=({city:t,country:e,state:s,street:i,...r})=>new ct({city:t,country:e,state:s,street:i,createdAt:r.created_at,extNumber:r.ext_number,fullName:r.full_name,intNumber:r.int_number,postalCode:r.postal_code})}var ot="0.0.5";class dt{constructor({apiKey:t,apiSecret:e,language:s="en",phase:i=S.Sandbox}={}){this.phase=i,this.basicAuth={apiKey:t,apiSecret:e},this.jwtToken=null,this._session=a.default.create({headers:{"Accept-Language":s},timeout:45e3})}get session(){return this._session}get origin(){return`https://${this.phase.value}.cuenca.com`}get authHeader(){const{apiKey:t,apiSecret:e}=this.basicAuth;return t&&e?`Basic ${n.default.Buffer.from(`${t}:${e}`,"utf-8").toString("base64")}`:""}addHeadersToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common:i}}=s;return Object.keys(t).forEach((e=>i[e]=t[e])),s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}deleteRequestHeader(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common:i}}=s;return delete i[t],s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}addConfigToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e;return Object.keys(t).forEach((e=>s[e]=t[e])),s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}async configure({apiKey:t,apiSecret:e,loginToken:s,phase:i,sessionId:r,useJwt:a=!1}){this.basicAuth={apiKey:t||this.basicAuth.apiKey,apiSecret:e||this.basicAuth.apiSecret},i&&(this.phase=i),a&&(this.jwtToken=await b.create(this)),s&&this.addHeadersToRequest({"X-Cuenca-LoginToken":s}),r&&this.addHeadersToRequest({"X-Cuenca-SessionId":r})}async get({endpoint:t,format:e,params:s}){return this.request({endpoint:t,format:e,params:s})}async post({endpoint:t,data:e,multipart:s}){return this.request({method:"POST",endpoint:t,data:e,multipart:s})}async patch({endpoint:t,data:e}){return this.request({method:"PATCH",endpoint:t,data:e})}async delete({endpoint:t,data:e}){return this.request({method:"DELETE",endpoint:t,data:e})}async request({endpoint:t,data:e=null,format:s=C.Json,method:i="GET",multipart:r=!1,params:a=null}){let n;n=r?e.getHeaders():{"Content-Type":"application/json",Accept:`application/${s.value}`},this.authHeader&&(n.Authorization=this.authHeader),_?n["User-Agent"]=`cuenca-js/${ot}`:w&&(n["X-User-Agent"]=`cuenca-js/${ot}`),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&&!r&&Object.keys(u).forEach((t=>{u[t]instanceof Date&&(u[t]=u[t].toISOString())}));const h=this.addConfigToRequest({method:i,params:a,data:u,url:t});let p;try{p=await this._session.request({baseURL:this.origin})}catch(t){throw t.response?new o(t.response.data,t.response.status):t.request?new c(`No response received: ${t.errno}: ${t.code}`):new c(t.message)}finally{d.eject(),h.eject()}return p.data}}class ut{constructor({accountNumber:t,createdAt:e,id:s,institutionName:i,name:r,userId:a}){this.accountNumber=t,this.createdAt=M(e),this.id=s,this.institutionName=i,this.name=r,this.userId=a}static fromObject=({id:t,name:e,...s})=>new ut({id:t,name:e,accountNumber:s.account_number,createdAt:s.created_at,institutionName:s.institution_name,userId:s.user_id})}class ht{constructor({createdAt:t,deactivatedAt:e,id:s,secret:i,userId:r,updatedAt:a}){this.createdAt=M(t),this.deactivatedAt=M(e),this.id=s,this.secret=i,this.userId=r,this.updatedAt=M(a)}static fromObject=({id:t,secret:e,...s})=>new ht({id:t,secret:e,createdAt:s.created_at,deactivatedAt:s.deactivated_at,userId:s.user_id,updatedAt:s.updated_at});get isActive(){const t=M(Date.now());return!this.deactivatedAt||this.deactivatedAt.getTime()>t.getTime()}}class pt{constructor({arpc:t,createdAt:e,cardUri:s,isValidArqc:i}){this.arpc=t,this.createdAt=M(e),this.cardUri=s,this.isValidArqc=i}static fromObject=({arpc:t,...e})=>new pt({arpc:t,createdAt:e.created_at,cardUri:e.card_uri,isValidArqc:e.is_valid_arqc})}class lt{constructor({amount:t,createdAt:e,descriptor:s,entryType:i,fundingInstrumentUri:r,id:a,name:n,relatedTransactionUri:c,rollingBalance:o}){this.amount=t,this.createdAt=M(e),this.descriptor=s,this.entryType=R(T,i),this.fundingInstrumentUri=r,this.id=a,this.name=n,this.relatedTransactionUri=c,this.rollingBalance=o}static fromObject=({amount:t,descriptor:e,id:s,name:i,type:r,...a})=>new lt({amount:t,descriptor:e,name:i,id:s,createdAt:a.created_at,entryType:r,fundingInstrumentUri:a.funding_instrument_uri,relatedTransactionUri:a.related_transaction_uri,rollingBalance:a.rolling_balance})}class mt{constructor({amount:t,createdAt:e,descriptor:s,status:i,userId:r}){this.amount=t,this.createdAt=M(e),this.descriptor=s,this.status=R(B,i),this.userId=r}}class ft extends mt{constructor({amount:t,accountNumber:e,createdAt:s,descriptor:i,id:r,providerUri:a,status:n,userId:c}){super({amount:t,createdAt:s,descriptor:i,status:n,userId:c}),this.accountNumber=e,this.id=r,this.providerUri=a}static fromObject=({amount:t,descriptor:e,id:s,status:i,...r})=>new ft({amount:t,descriptor:e,id:s,status:i,accountNumber:r.account_number,createdAt:r.created_at,providerUri:r.provider_uri,userId:r.user_id})}class wt{constructor({id:t,names:e,firstSurname:s,secondSurname:i,dateOfBirth:r,countryOfBirth:a,rfc:n,curp:c,userId:o,gender:d,phoneNumber:u,emailAddress:h,clientClabe:p,govtId:l,proofOfAddress:m,proofOfLife:f,status:w}){this.id=t,this.emailAddress=h,this.clientClabe=p,this.govtId=l,this.names=e,this.firstSurname=s,this.secondSurname=i,this.dateOfBirth=r,this.countryOfBirth=a,this.rfc=n,this.curp=c,this.userId=o,this.gender=d,this.phoneNumber=u,this.addressProofs=m,this.lifeProofs=f,this.status=R(v,w)}static fromObject=({status:t,...e})=>new wt({id:e.id,clientClabe:e.client_clabe,names:e.names,firstSurname:e.first_surname,secondSurname:e.second_surname,dateOfBirth:e.date_of_birth,countryOfBirth:e.country_of_birth,rfc:e.rfc,curp:e.curp,userId:e.user_id,gender:e.gender,govtId:e.govt_id,emailAddress:e.email_address,phoneNumber:e.phone_number,proofOfAddress:e.proof_of_address,proofOfLife:e.proof_of_life,status:t})}class _t{constructor({createdAt:t,cvv2:e,expMonth:s,expYear:i,fundingType:r,id:a,issuer:n,number:c,pin:o,status:d,type:u,updatedAt:h,userId:p}){this.createdAt=M(t),this.cvv2=e,this.expMonth=s,this.expYear=i,this.fundingType=R(g,r),this.id=a,this.issuer=R(O,n),this.number=c,this.pin=o,this.status=R(j,d),this.type=R(x,u),this.updatedAt=M(h),this.userId=p}static fromObject=({cvv2:t,id:e,issuer:s,number:i,pin:r,status:a,type:n,...c})=>new _t({cvv2:t,id:e,issuer:s,number:i,pin:r,status:a,type:n,createdAt:c.created_at,expMonth:c.exp_month,expYear:c.exp_year,fundingType:c.funding_type,updatedAt:c.updated_at,userId:c.user_id})}class bt{constructor({cardUri:t,createdAt:e,id:s,ipAddress:i,success:r,userId:a}){this.cardUri=t,this.createdAt=M(e),this.id=s,this.ipAddress=i,this.success=r,this.userId=a}static fromObject=({id:t,success:e,...s})=>new bt({id:t,success:e,cardUri:s.card_uri,createdAt:s.created_at,ipAddress:s.ip_address,userId:s.user_id})}class vt extends mt{constructor({amount:t,cardErrorType:e,cardLastFour:s,cardType:i,cardUri:r,createdAt:a,descriptor:n,metadata:c,network:o,relatedCardTransactionsUris:d,status:u,type:h,userId:p}){super({amount:t,createdAt:a,descriptor:n,status:u,userId:p}),this.cardErrorType=R(y,e),this.cardLastFour=s,this.cardType=R(x,i),this.cardUri=r,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=R(A,h)}static fromObject=({amount:t,descriptor:e,metadata:s,network:i,status:r,type:a,...n})=>new vt({amount:t,descriptor:e,metadata:s,network:i,status:r,type:a,cardErrorType:n.error_type,cardLastFour:n.card_last4,cardType:n.card_type,cardUri:n.card_uri,createdAt:n.created_at,relatedCardTransactionsUris:n.related_card_transaction,userId:n.user_id})}class yt{constructor({cardStatus:t,cardType:e,cardUri:s,createdAt:i,isExpired:r,isPinAttemptsExceeded:a,isValidCvv:n,isValidCvv2:c,isValidExpDate:o,isValidIcvv:d,isValidPinBlock:u,userId:h}){this.cardStatus=R(j,t),this.cardType=R(x,e),this.cardUri=s,this.createdAt=M(i),this.isExpired=r,this.isPinAttemptsExceeded=a,this.isValidCvv=n,this.isValidCvv2=c,this.isValidExpDate=o,this.isValidIcvv=d,this.isValidPinBlock=u,this.userId=h}static fromObject=({...t})=>new yt({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 gt extends mt{constructor({amount:t,createdAt:e,descriptor:s,relatedTransactionUri:i,status:r,type:a,userId:n}){super({amount:t,createdAt:e,descriptor:s,status:r,userId:n}),this.relatedTransactionUri=i,this.type=R(I,a)}static fromObject=({amount:t,descriptor:e,status:s,type:i,...r})=>new gt({amount:t,descriptor:e,status:s,type:i,createdAt:r.created_at,relatedTransactionUri:r.related_transaction_uri,userId:r.user_id})}class Ot extends mt{constructor({amount:t,createdAt:e,descriptor:s,id:i,network:r,status:a,sourceUri:n,trackingKey:c,userId:o}){super({amount:t,createdAt:e,descriptor:s,status:a,userId:o}),this.id=i,this.network=R(k,r),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new Ot({amount:t,descriptor:e,id:s,network:i,status:r,createdAt:a.created_at,sourceUri:a.source_uri,trackingKey:a.tracking_key,userId:a.user_id})}class jt{constructor({extension:t,type:e,url:s,userId:i}){this.extension=t,this.type=R(N,e),this.url=s,this.userId=i}static fromObject=({extension:t,type:e,url:s,...i})=>new jt({extension:t,type:e,url:s,userId:i.user_id})}class At{constructor({platformId:t,attemps:e,verificationId:s,filesUri:i}){this.attemps=e,this.filesUri=i,this.platformId=t,this.verificationId=s}static fromObject=({attemps:t,...e})=>new At({attemps:t,filesUri:e.files_uri,platformId:e.platform_id,verificationId:e.verification_id})}class xt{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new xt({id:t})}class It{constructor({balance:t,createdAt:e,deactivatedAt:s,id:i,userId:r,updatedAt:a}){this.balance=t,this.createdAt=M(e),this.deactivatedAt=M(s),this.id=i,this.userId=r,this.updatedAt=M(a)}}class kt extends It{constructor({balance:t,category:e,createdAt:s,deactivatedAt:i,goalAmount:r,goalDate:a,id:n,name:c,userId:o,updatedAt:d}){super({balance:t,createdAt:s,deactivatedAt:i,id:n,userId:o,updatedAt:d}),this.category=R(q,e),this.goalAmount=r,this.goalDate=M(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:i,...r})=>new kt({balance:t,category:e,id:s,name:i,createdAt:r.created_at,deactivatedAt:r.deactivated_at,goalAmount:r.goal_amount,goalDate:r.goal_date,userId:r.user_id,updatedAt:r.updated_at})}class Tt{constructor({categories:t,id:e,name:s,providerKey:i}){var r;this.categories=null==(r=t)?[]:r.map((t=>R(U,t))),this.id=e,this.name=s,this.providerKey=i}static fromObject=({categories:t,id:e,name:s,...i})=>new Tt({categories:t,id:e,name:s,providerKey:i.provider_key})}class Ct{constructor({createdAt:t,id:e,month:s,year:i}){this.createdAt=M(t),this.id=e,this.month=s,this.year=i}static fromObject=({id:t,month:e,year:s,...i})=>new Ct({id:t,month:e,year:s,createdAt:i.created_at})}class Nt extends mt{constructor({accountNumber:t,amount:e,createdAt:s,descriptor:i,destinationUri:r,id:a,idempotencyKey:n,network:c,recipientName:o,status:d,trackingKey:u,updatedAt:h,userId:p}){super({amount:e,createdAt:s,descriptor:i,status:d,userId:p}),this.accountNumber=t,this.destinationUri=r,this.id=a,this.idempotencyKey=n,this.network=R($,c),this.recipientName=o,this.trackingKey=u,this.updatedAt=M(h)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new Nt({amount:t,descriptor:e,id:s,network:i,status:r,accountNumber:a.account_number,createdAt:a.created_at,destinationUri:a.destination_uri,idempotencyKey:a.idempotency_key,recipientName:a.recipient_name,trackingKey:a.tracking_key,updatedAt:a.updated_at,userId:a.user_id})}class St{constructor({address:t,blacklistValidationStatus:e,clabe:s,countryOfBirth:i,createdAt:r,curp:a,dateOfBirth:n,emailAddress:c,firstSurname:o,gender:d,govtId:u,id:h,level:p,names:l,nationality:m,phoneNumber:f,proofOfAddress:w,proofOfLife:_,requiredLevel:b,rfc:v,secondSurname:y,stateOfBirth:g,status:O,termsOfService:j,updatedAt:A,verificationId:x}){this.add=t,this.blacklistValidationStatus=R(E,e),this.clabe=s,this.countryOfBirth=i,this.createdAt=M(r),this.curp=a,this.dateOfBirth=n,this.emailAddress=c,this.firstSurname=o,this.gender=d,this.govstIds=u,this.id=h,this.level=p,this.names=l,this.nationality=m,this.phoneNumber=f,this.addressProofs=w,this.lifeProofs=_,this.requiredLevel=b,this.rfc=v,this.secondSurname=y,this.stateOfBirth=g,this.status=R(D,O),this.terms=j,this.updatedAt=M(A),this.verificationId=x}get address(){return this._address}set add(t){t&&(this._address=ct.fromObject(t))}get proofOfAddress(){return this._proofOfAddress}set addressProofs(t){t&&(this._proofOfAddress=nt.fromObject(t))}get proofOfLife(){return this._proofOfLife}set lifeProofs(t){t&&(this._proofOfLife=nt.fromObject(t))}get govtId(){return this._govtId}set govstIds(t){t&&(this._govtId=nt.fromObject(t))}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=rt.fromObject(t))}static fromObject=({address:t,clabe:e,curp:s,gender:i,id:r,level:a,names:n,nationality:c,rfc:o,status:d,...u})=>new St({address:t,clabe:e,curp:s,gender:i,id:r,level:a,names:n,nationality:c,rfc:o,status:d,blacklistValidationStatus:u.blacklist_validation_status,countryOfBirth:u.country_of_birth,createdAt:u.created_at,dateOfBirth:u.date_of_birth,emailAddress:u.email_address,firstSurname:u.first_surname,govtId:u.govt_id,phoneNumber:u.phone_number,proofOfAddress:u.proof_of_address,proofOfLife:u.proof_of_life,requiredLevel:u.required_level,secondSurname:u.second_surname,stateOfBirth:u.state_of_birth,termsOfService:u.terms_of_service,updatedAt:u.updated_at,verificationId:u.verification_id})}class Ut{constructor({createdAt:t,id:e,isActive:s,updatedAt:i}){this.createdAt=M(t),this.id=e,this.isActive=s,this.updatedAt=M(i)}static fromObject=({id:t,...e})=>new Ut({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class qt{constructor({id:t,lastLoginAt:e,success:s}){this.id=t,this.lastLoginAt=M(e),this.success=s}static fromObject=({id:t,success:e,...s})=>new qt({id:t,success:e,lastLoginAt:s.last_login_at})}class Pt{constructor({createdAt:t,id:e,platformId:s,recipient:i,type:r,updatedAt:a}){this.createdAt=M(t),this.id=e,this.platformId=s,this.recipient=i,this.type=R(K,r),this.updatedAt=M(a)}static fromObject=({id:t,recipient:e,type:s,...i})=>new Pt({id:t,recipient:e,type:s,createdAt:i.created_at,platformId:i.platform_id,updatedAt:i.updated_at})}class Bt extends mt{constructor({amount:t,createdAt:e,descriptor:s,id:i,status:r,transactionType:a,userId:n,walletUri:c}){super({amount:t,createdAt:e,descriptor:s,status:r,userId:n}),this.id=i,this.transactionType=R(L,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:i,...r})=>new Bt({amount:t,descriptor:e,id:s,status:i,createdAt:r.created_at,transactionType:r.transaction_type,userId:r.user_id,walletUri:r.wallet_uri})}class $t extends mt{constructor({amount:t,claimUrl:e,createdAt:s,descriptor:i,destinationUri:r,expiresAt:a,id:n,network:c,phoneNumber:o,recipientName:d,status:u,trackingKey:h,updatedAt:p,userId:l}){super({amount:t,createdAt:s,descriptor:i,status:u,userId:l}),this.claimUrl=e,this.destinationUri=r,this.id=n,this.expiresAt=M(a),this.network=R($,c),this.phoneNumber=o,this.recipientName=d,this.trackingKey=h,this.updatedAt=M(p)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new $t({amount:t,descriptor:e,id:s,network:i,status:r,createdAt:a.created_at,claimUrl:a.claim_url,destinationUri:a.destination_uri,expiresAt:a.expires_at,phoneNumber:a.phone_number,recipientName:a.recipient_name,trackingKey:a.tracking_key,updatedAt:a.updated_at,userId:a.user_id})}class Dt{constructor(t){this.superclass=t}with(...t){return t.reduce(((t,e)=>e(t)),this.superclass)}}const Et=t=>new Dt(t),Kt=(t,e)=>({accounts:()=>ut.fromObject(e),api_keys:()=>ht.fromObject(e),arpc:()=>pt.fromObject(e),balance_entries:()=>lt.fromObject(e),bill_payments:()=>ft.fromObject(e),"bridge/accounts":()=>wt.fromObject(e),cards:()=>_t.fromObject(e),card_activations:()=>bt.fromObject(e),card_transactions:()=>vt.fromObject(e),card_validations:()=>yt.fromObject(e),commissions:()=>gt.fromObject(e),deposits:()=>Ot.fromObject(e),files:()=>jt.fromObject(e),kyc_validations:()=>At.fromObject(e),login_tokens:()=>xt.fromObject(e),savings:()=>kt.fromObject(e),service_providers:()=>Tt.fromObject(e),statements:()=>Ct.fromObject(e),transfers:()=>Nt.fromObject(e),users:()=>St.fromObject(e),user_credentials:()=>Ut.fromObject(e),user_logins:()=>qt.fromObject(e),verifications:()=>Pt.fromObject(e),wallet_transactions:()=>Bt.fromObject(e),whatsapp_transfers:()=>$t.fromObject(e)}[t]()),Lt=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class Mt{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const Rt=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return Kt(this.path,e)}},Vt=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return Kt(this.path,e)}},Ft=t=>class extends t{async _update(t,e){const s=await this.client.patch({endpoint:`/${this.path}/${t}`,data:e});return Kt(this.path,s)}},Ht=t=>class extends t{async _upload(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t,multipart:!0});return Kt(this.path,e)}},Yt=t=>class extends t{async _deactivate(t,e){const s=await this.client.delete({endpoint:`/${this.path}/${t}`,data:e});return Kt(this.path,s)}},zt=t=>class extends t{async _download(t,e){const s=this.client.addConfigToRequest({responseType:"stream"}),i=await this.client.get({endpoint:`/${this.path}/${t}`,format:e});return s.eject(),i}},Xt=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 Kt(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 Kt(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=Kt(this.path,e);yield t}e=t.next_page_uri}}};class Qt extends(Et(Mt).with(Xt,Rt)){constructor(t){super("accounts",F,t)}}class Jt{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class Wt extends Jt{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class Gt extends Jt{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 Zt extends Jt{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class te extends Jt{constructor(t,e,s,i){super(),this.n=t,this.eM=e,this.eY=s,this.c2=i}get number(){return this._number}set n(t){if([!!t,16===t.length,/^\d{16}/.test(t)].some((t=>!t)))throw new l("Invalid number");this._number=t.trim()}get expMonth(){return this._expMonth}set eM(t){if([!!t,t>=1,t<=12].some((t=>!t)))throw new l("Invalid expiration month");this._expMonth=t}get expYear(){return this._expYear}set eY(t){if([!!t,t>=18,t<=99].some((t=>!t)))throw new l("Invalid expiration year");this._expYear=t}get cvv2(){return this._cvv2}set c2(t){if([!!t,3===t.length,/^\d{3}/.test(t)].some((t=>!t)))throw new l("Invalid cvv2");this._cvv2=t}toObject(){return{number:this.number,exp_month:this.expMonth,exp_year:this.expYear,cvv2:this.cvv2}}}class ee extends Jt{constructor({cvv:t,cvv2:e,expMonth:s,expYear:i,icvv:r,number:a,pinBlock:n,pinAttemptsExceeded:c}){super(),this.c=t,this.c2=e,this.em=s,this.ey=i,this.ic=r,this.n=a,this.pinBloc=n,this.pinAttemptsExceeded=c}get cvv(){return this._cvv}set c(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new l("Invalid cvv");this._cvv=t}get cvv2(){return this._cvv2}set c2(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new l("Invalid cvv2");this._cvv2=t}get expMonth(){return this._expMonth}set em(t){if(!t)return;if([t>=1,t<=12].some((t=>!t)))throw new l("Invalid expiration month");this._expMonth=t}get expYear(){return this._expYear}set ey(t){if(!t)return;if([t>=18,t<=99].some((t=>!t)))throw new l("Invalid expiration year");this._expYear=t}get icvv(){return this._icvv}set ic(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new l("Invalid icvv");this._icvv=t}get number(){return this._number}set n(t){if([!!t,16===t.length,/^\d{16}/.test(t)].some((t=>!t)))throw new l("Invalid number");this._number=t}toObject(){return{cvv:this.cvv,cvv2:this.cvv2,exp_month:this.expMonth,exp_year:this.expYear,icvv:this.icvv,number:this.number,pin_block:this.pinBloc,pin_attempts_exceeded:this.pinAttemptsExceeded}}}class se extends Jt{constructor(t){super(),this.userId=t}toObject(){return{user_id:this.userId}}}class ie extends Jt{constructor(t,e,s,i){super(),this.category=t,this.name=i,this.goalAmount=e,this.validDate=s}get goalDate(){return this._goalDate}set validDate(t){if(t){if(M(t).getTime()<=M(Date.now()).getTime())throw new l("The goal_date always need to be higher than now");this._goalDate=t}}toObject(){return{category:this.category,goal_amount:this.goalAmount,goal_date:this.goalDate,name:this.name}}}const re=i.createRequire("undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("cuenca.umd.js",document.baseURI).href)("form-data");class ae extends Jt{constructor({isBack:t=!1,file:e,extension:s,type:i,userId:r="me"}){super(),this.extension=s,this.file=e,this.isBack=t,this.type=i,this.userId=r}toObject(){return{extension:this.extension,file:this.file,is_back:this.isBack,type:this.type,user_id:this.userId}}toFormData(){const t=new re;return t.append("extension",this.extension),t.append("file",this.file),t.append("type",this.type),t.append("user_id",this.userId),t}}class ne extends Jt{constructor(t,e,s,i,r){super(),this.accountNumber=t,this.amount=e,this.descriptor=s,this.idempotencyKey=i,this.recipientName=r}toObject(){return{account_number:this.accountNumber,amount:this.amount,descriptor:this.descriptor,idempotency_key:this.idempotencyKey,recipient_name:this.recipientName}}}class ce extends Jt{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 oe extends Jt{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 de extends Jt{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 ue extends Jt{constructor({ip:t,location:e,type:s,version:i}){super(),this.ipAddress=t,this.location=e,this.type=s,this.version=i}get ip(){return this._ip}set ipAddress(t){if(!t)throw new l("missing ip address");if(!t.split(".").every((t=>t>=0&&t<=255)))throw new l("Invalid ip address");this._ip=t}toObject(){return{ip:this.ip,location:this.location,type:this.type,version:this.version}}}class he extends Jt{constructor({city:t,country:e,extNumber:s,intNumber:i,postalCode:r,state:a,street:n}={}){super(),this.city=t,this.country=e,this.extNumber=s,this.intNumber=i,this.postalCode=r,this.state=a,this.street=n}toObject(){return{city:this.city,country:this.country,ext_number:this.extNumber,int_number:this.intNumber,postal_code:this.postalCode,state:this.state,street:this.street}}}class pe extends Jt{constructor({data:t,isMx:e,status:s,type:i,uriBack:r,uriFront:a}){super(),this.data=t,this.isMx=e,this.status=s,this.type=i,this.uriBack=r,this.uriFront=a}toObject(){return{data:this.data,is_mx:this.isMx,status:this.status,type:this.type,uri_back:this.uriBack,uri_front:this.uriFront}}}class le extends Jt{constructor({address:t,govtId:e,profession:s,proofOfAddress:i,proofOfLife:r,requiredLevel:a,termsOfService:n,verificationId:c}){super(),this.adrs=t,this.govstIds=e,this.profession=s,this.addressProofs=i,this.lifeProofs=r,this.requiredLevel=a,this.terms=n,this.verificationId=c}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=new ue(t).toObject())}get address(){return this._address}set adrs(t){t&&(this._address=new he(t).toCleanObject())}get proofOfLife(){return this._proofOfLife}set lifeProofs(t){t&&(this._proofOfLife=new pe(t).toCleanObject())}get proofOfAddress(){return this._proofOfAddress}set addressProofs(t){t&&(this._proofOfAddress=new pe(t).toCleanObject())}get govtId(){return this._govtId}set govstIds(t){t&&(this._govtId=new pe(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 me extends Jt{constructor({platformId:t,recipient:e,type:s}){super(),this.platformId=t,this.type=s,this.recipients=e}get recipient(){return this._recipient}set recipients(t){switch(R(K,this.type)){case K.Email:if(!t.match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/))throw new l("Invalid email address");this._recipient=t;break;case K.Phone:if(!t.match(/^\+?[0-9]{10,15}$/))throw new l("Invalid Phone Number");this._recipient=t}}toObject(){return{platform_id:this.platformId,recipient:this.recipient,type:this.type}}}class fe extends Jt{constructor({code:t}){super(),this.code=t}toObject(){return{code:this.code}}}class we extends Jt{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 _e extends(Et(Mt).with(Vt,Yt,Xt,Rt,Ft)){constructor(t){super("api_keys",H,t)}async create(){return await this._create()}async deactivate(t,e=0){return await this._deactivate(t,{minutes:e})}async update(t,e,s){const i=new Wt(s,e);return await this._update(t,i.toCleanObject())}}class be extends(Et(Mt).with(Vt)){constructor(t){super("arpc",Object,t)}async create({number:t,arqc:e,arpcMethod:s,transactionData:i,responseCode:r,transactionCounter:a,panSequence:n,uniqueNumber:c,trackDataMethod:o}){const d=new ArpcRequest({number:t,arqc:e,arpcMethod:s,transactionData:i,responseCode:r,transactionCounter:a,panSequence:n,uniqueNumber:c,trackDataMethod:o});return await this._create(d.toObject())}}class ve extends(Et(Mt).with(Xt,Rt)){constructor(t){super("balance_entries",Q,t)}async relatedTransaction(t){const e=Lt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Kt(`${e}`,s)}async fundingInstrument(t){const e=Lt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Kt(`${e}`,s)}}class ye extends(Et(Mt).with(Xt,Rt)){constructor(t){super("bill_payments",J,t)}async serviceProvider(t){const e=Lt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Kt(`${e}`,s)}}class ge extends(Et(Mt).with(Xt,Rt)){constructor(t){super("bridge/accounts",it,t)}}class Oe extends(Et(Mt).with(Vt)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:i}){const r=new te(t,e,s,i);return await this._create(r.toCleanObject())}async card(t){if(!t)return null;const e=await this.client.get({endpoint:t});return _t.fromObject(e)}}class je extends(Et(Mt).with(Vt,Yt,Xt,Rt,Ft)){constructor(t){super("cards",G,t)}async create(t,e,s){const i=new Gt(t,e,s);return await this._create(i.toCleanObject())}async deactivate(t){return await this._deactivate(t)}async update(t,e,s){const i=new Zt(e,s);return await this._update(t,i.toCleanObject())}}class Ae extends(Et(Mt).with(Xt,Rt)){constructor(t){super("card_transactions",W,t)}async relatedCard(t){const e=Lt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Kt(`${e}`,s)}}class xe extends(Et(Mt).with(Vt)){constructor(t){super("card_validations",Object,t)}async create({cvv:t,cvv2:e,expMonth:s,expYear:i,icvv:r,number:a,pinBlock:n,pinAttemptsExceeded:c}){const o=new ee({cvv:t,cvv2:e,expMonth:s,expYear:i,icvv:r,number:a,pinBlock:n,pinAttemptsExceeded:c});return await this._create(o.toCleanObject())}async card(t){if(!t)return null;const e=await this.client.get({endpoint:t});return _t.fromObject(e)}}class Ie extends(Et(Mt).with(Xt,Rt)){constructor(t){super("commissions",V,t)}async relatedTransaction(t){const e=Lt(t);if(null==e)return null;const s=await this.client.get(t);return Kt(`${e}`,s)}}class ke extends(Et(Mt).with(Xt,Rt)){constructor(t){super("deposits",z,t)}async source(t){const e=await this.client.get({endpoint:t});return ut.fromObject(e)}}class Te extends(Et(Mt).with(zt,Ht)){constructor(t){super("files",Object,t)}async download(t){return await this._download(t,C.Any)}async upload({...t}){const e=new ae(t);return await this._upload(e.toFormData())}}class Ce extends(Et(Mt).with(Vt,Rt,Xt)){constructor(t){super("kyc_validations",Object,t)}async create(t="me"){const e=new se(t);return await this._create(e.toObject())}}class Ne extends(Et(Mt).with(Vt)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class Se extends(Et(Mt).with(Vt,Yt,Xt,Rt,Ft)){constructor(t){super("savings",et,t)}async create(t,e,s,i){const r=new ie(t,e,s,i);return await this._create(r.toObject())}async deactivate(t){return await this._deactivate(t)}async update(t,e,s,i,r){const a=new ie(e,s,i,r);return await this._update(t,a.toObject())}}class Ue extends(Et(Mt).with(Xt,Rt)){constructor(t){super("service_providers",V,t)}}class qe extends(Et(Mt).with(zt,Xt)){constructor(t){super("statements",st,t)}async pdf(t){return await this._download(t,C.Pdf)}async xml(t){return await this._download(t,C.Xml)}}class Pe extends(Et(Mt).with(Vt,Xt,Rt)){constructor(t){super("transfers",X,t)}async destination(t){const e=await this.client.get({endpoint:t});return ut.fromObject(e)}async create({accountNumber:t,amount:e,descriptor:s,recipientName:i,idempotencyKey:r}){const a=r||this.constructor._genIdempotencyKey(t,e),n=new ne(t,e,s,a,i);return await this._create(n.toCleanObject())}async createMany(t){if(!t||!Array.isArray(t)||!t.length)return{};const e={submitted:[],errors:[]};return await Promise.all(t.map((async({accountNumber:t,amount:s,descriptor:i,idempotencyKey:r,recipientName:a})=>{const n=new ne(t,s,i,r||this.constructor._genIdempotencyKey(t,s),a);let c;try{c=await this._create(n.toCleanObject())}catch(t){return void e.errors.push({actualRequest:n,error:t})}e.submitted.push(c)}))),e}static _genIdempotencyKey(t,e){const[s]=M(Date.now()).toISOString().split("T");return`${s}:${t}:${e}`}}class Be extends(Et(Mt).with(Vt,Ft)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new ce(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const i=new oe(e,t);return await this._update(s,i.toCleanObject())}}class $e extends(Et(Mt).with(Vt,Yt)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new de(t,e),i=await this._create(s.toObject());if(!i.success)throw new p;return this.loginIdInHeaders=this.client.addHeadersToRequest({"X-Cuenca-LoginId":i.id}),i}async logOut(t="me"){return await this._deactivate(t,{}),this.loginIdInHeaders&&this.loginIdInHeaders.eject(),!0}}class De extends(Et(Mt).with(Xt,Ft,Rt)){constructor(t){super("users",tt,t)}async update({userId:t="me",...e}){const s=new le(e);return await this._update(t,s.toCleanObject())}}class Ee extends(Et(Mt).with(Vt,Ft)){constructor(t){super("verifications",Object,t)}async create({platformId:t,recipient:e,type:s}){const i=new me({platformId:t,recipient:e,type:s});return await this._create(i.toObject())}async update({code:t,id:e}){const s=new fe({code:t});return await this._update(e,s.toObject())}}class Ke extends(Et(Mt).with(Vt,Xt,Rt)){constructor(t){super("wallet_transactions",Z,t)}async create(t,e,s){const i=new we(t,e,s);return await this._create(i.toObject())}async realtedWallet(t){const e=Lt(t);if(null==e)return null;const s=await this.client.get(t);return Kt(`${e}`,s)}}class Le extends(Et(Mt).with(Xt,Rt)){constructor(t){super("whatsapp_transfers",V,t)}async accountDestination(t){const e=Lt(t);if(null==e)return null;const s=await this.client.get(t);return Kt(`${e}`,s)}}t.Cuenca=class{constructor({apiKey:t,apiSecret:e,language:s="en",phase:i=S.Sandbox}={}){this.client=new dt({apiKey:t,apiSecret:e,language:s,phase:i}),this.withClient(this.client)}withClient(t){this.accounts=new Qt(t),this.apiKeys=new _e(t),this.balanceEntries=new ve(t),this.billPayments=new ye(t),this.bridgeAccounts=new ge(t),this.cardActivations=new Oe(t),this.cards=new je(t),this.cardTransactions=new Ae(t),this.cardValidations=new xe(t),this.commissions=new Ie(t),this.deposits=new ke(t),this.files=new Te(t),this.kycValidations=new Ce(t),this.loginTokens=new Ne(t),this.savings=new Se(t),this.serviceProviders=new Ue(t),this.statements=new qe(t),this.transfers=new Pe(t),this.userCredentials=new Be(t),this.userLogins=new $e(t),this.users=new De(t),this.verifications=new Ee(t),this.walletTransactions=new Ke(t),this.whatsAppTransfers=new Le(t)}}}));
@@ -1,6 +1,5 @@
1
1
  import { ValidationError } from './errors/index.mjs';
2
- import { d as dateToUTC, e as enumValueFromString, k as VerificationType } from './data-86ddd935.mjs';
3
- import Buffer from 'buffer';
2
+ import { d as dateToUTC, e as enumValueFromString, k as VerificationType } from './data-59d28abe.mjs';
4
3
  import { createRequire } from 'module';
5
4
 
6
5
  class BaseRequest {
@@ -379,13 +378,9 @@ class UploadRequest extends BaseRequest {
379
378
  }
380
379
 
381
380
  toFormData() {
382
- const fileBase64 = Buffer.Buffer.from(this.file, 'utf-8').toString(
383
- 'base64',
384
- );
385
- console.log(fileBase64);
386
381
  const form = new FormData();
387
382
  form.append('extension', this.extension);
388
- form.append('file', fileBase64);
383
+ form.append('file', this.file);
389
384
  form.append('type', this.type);
390
385
  form.append('user_id', this.userId);
391
386
  return form;
@@ -1,14 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  var errors_index = require('./errors/index.cjs');
4
- var data = require('./data-d25afb50.cjs');
5
- var Buffer = require('buffer');
4
+ var data = require('./data-d6c1558d.cjs');
6
5
  var module$1 = require('module');
7
6
 
8
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
-
10
- var Buffer__default = /*#__PURE__*/_interopDefaultLegacy(Buffer);
11
-
12
7
  class BaseRequest {
13
8
  toObject() {
14
9
  return {};
@@ -361,7 +356,7 @@ class SavingRequest extends BaseRequest {
361
356
  }
362
357
  }
363
358
 
364
- const requires = module$1.createRequire((typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('walletTransactionRequest-b7d18604.cjs', document.baseURI).href)));
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-d2155aa4.cjs', document.baseURI).href)));
365
360
  const FormData = requires('form-data');
366
361
 
367
362
  class UploadRequest extends BaseRequest {
@@ -385,13 +380,9 @@ class UploadRequest extends BaseRequest {
385
380
  }
386
381
 
387
382
  toFormData() {
388
- const fileBase64 = Buffer__default["default"].Buffer.from(this.file, 'utf-8').toString(
389
- 'base64',
390
- );
391
- console.log(fileBase64);
392
383
  const form = new FormData();
393
384
  form.append('extension', this.extension);
394
- form.append('file', fileBase64);
385
+ form.append('file', this.file);
395
386
  form.append('type', this.type);
396
387
  form.append('user_id', this.userId);
397
388
  return form;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuenca-mx/cuenca-js",
3
- "version": "0.0.5-dev.9",
3
+ "version": "0.0.5",
4
4
  "description": "Cuenca client for JS",
5
5
  "main": "./build/index.cjs",
6
6
  "module": "./build/index.mjs",