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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
 
@@ -298,26 +312,6 @@ class UserStatus {
298
312
  }
299
313
  }
300
314
 
301
- class VerificationStatus {
302
- static Created = new VerificationStatus('created');
303
-
304
- static NotVerified = new VerificationStatus('not_verified');
305
-
306
- static Rejected = new VerificationStatus('rejected');
307
-
308
- static ReviewNeeded = new VerificationStatus('review_needed');
309
-
310
- static UploadAgain = new VerificationStatus('upload_again');
311
-
312
- static Submitted = new VerificationStatus('submitted');
313
-
314
- static Succeeded = new VerificationStatus('succeeded');
315
-
316
- constructor(value) {
317
- this.value = value;
318
- }
319
- }
320
-
321
315
  class VerificationType {
322
316
  static Phone = new VerificationType('phone');
323
317
 
@@ -347,4 +341,4 @@ const dateToUTC = (date) => {
347
341
  const enumValueFromString = (enumValue, value) =>
348
342
  Object.values(enumValue).find((enumV) => enumV.value === value);
349
343
 
350
- 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 };
344
+ 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, VerificationType 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, KYCStatus 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
 
@@ -300,26 +314,6 @@ class UserStatus {
300
314
  }
301
315
  }
302
316
 
303
- class VerificationStatus {
304
- static Created = new VerificationStatus('created');
305
-
306
- static NotVerified = new VerificationStatus('not_verified');
307
-
308
- static Rejected = new VerificationStatus('rejected');
309
-
310
- static ReviewNeeded = new VerificationStatus('review_needed');
311
-
312
- static UploadAgain = new VerificationStatus('upload_again');
313
-
314
- static Submitted = new VerificationStatus('submitted');
315
-
316
- static Succeeded = new VerificationStatus('succeeded');
317
-
318
- constructor(value) {
319
- this.value = value;
320
- }
321
- }
322
-
323
317
  class VerificationType {
324
318
  static Phone = new VerificationType('phone');
325
319
 
@@ -349,6 +343,7 @@ const dateToUTC = (date) => {
349
343
  const enumValueFromString = (enumValue, value) =>
350
344
  Object.values(enumValue).find((enumV) => enumV.value === value);
351
345
 
346
+ exports.BridgeAccountStatus = BridgeAccountStatus;
352
347
  exports.CardErrorType = CardErrorType;
353
348
  exports.CardFundingType = CardFundingType;
354
349
  exports.CardIssuer = CardIssuer;
@@ -368,7 +363,6 @@ exports.TrackDataMethod = TrackDataMethod;
368
363
  exports.TransactionStatus = TransactionStatus;
369
364
  exports.TransferNetwork = TransferNetwork;
370
365
  exports.UserStatus = UserStatus;
371
- exports.VerificationStatus = VerificationStatus;
372
366
  exports.VerificationType = VerificationType;
373
367
  exports.WalletTransactionType = WalletTransactionType;
374
368
  exports.dateToUTC = dateToUTC;
@@ -1,5 +1,5 @@
1
1
  import { ValidationError } from './errors/index.mjs';
2
- import { d as dateToUTC, e as enumValueFromString, K as KYCFileType, l as KYCStatus } from './data-38bfc8ad.mjs';
2
+ import { d as dateToUTC, e as enumValueFromString, K as KYCFileType, k as KYCStatus } from './data-487ea691.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,41 +347,4 @@ class KYCFile {
334
347
  });
335
348
  }
336
349
 
337
- class Address {
338
- constructor({
339
- city,
340
- country,
341
- createdAt,
342
- extNumber,
343
- fullName,
344
- intNumber,
345
- postalCode,
346
- state,
347
- street,
348
- }) {
349
- this.city = city;
350
- this.country = country;
351
- this.createdAt = dateToUTC(createdAt);
352
- this.extNumber = extNumber;
353
- this.fullName = fullName;
354
- this.intNumber = intNumber;
355
- this.postalCode = postalCode;
356
- this.state = state;
357
- this.street = street;
358
- }
359
-
360
- static fromObject = ({ city, country, state, street, ...obj }) =>
361
- new Address({
362
- city,
363
- country,
364
- state,
365
- street,
366
- createdAt: obj.created_at,
367
- extNumber: obj.ext_number,
368
- fullName: obj.full_name,
369
- intNumber: obj.int_number,
370
- postalCode: obj.postal_code,
371
- });
372
- }
373
-
374
- 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 };
350
+ export { AccountQuery 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, ApiKeyQuery as a, BillPaymentQuery as b, BridgeAccountQuery as c, CardTransactionQuery as d, TransferQuery as e, WalletTransactionQuery as f };
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var errors_index = require('./errors/index.cjs');
4
- var data = require('./data-6451748e.cjs');
4
+ var data = require('./data-f85a5287.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,48 +349,11 @@ class KYCFile {
336
349
  });
337
350
  }
338
351
 
339
- class Address {
340
- constructor({
341
- city,
342
- country,
343
- createdAt,
344
- extNumber,
345
- fullName,
346
- intNumber,
347
- postalCode,
348
- state,
349
- street,
350
- }) {
351
- this.city = city;
352
- this.country = country;
353
- this.createdAt = data.dateToUTC(createdAt);
354
- this.extNumber = extNumber;
355
- this.fullName = fullName;
356
- this.intNumber = intNumber;
357
- this.postalCode = postalCode;
358
- this.state = state;
359
- this.street = street;
360
- }
361
-
362
- static fromObject = ({ city, country, state, street, ...obj }) =>
363
- new Address({
364
- city,
365
- country,
366
- state,
367
- street,
368
- createdAt: obj.created_at,
369
- extNumber: obj.ext_number,
370
- fullName: obj.full_name,
371
- intNumber: obj.int_number,
372
- postalCode: obj.postal_code,
373
- });
374
- }
375
-
376
352
  exports.AccountQuery = AccountQuery;
377
- exports.Address = Address;
378
353
  exports.ApiKeyQuery = ApiKeyQuery;
379
354
  exports.BalanceEntryQuery = BalanceEntryQuery;
380
355
  exports.BillPaymentQuery = BillPaymentQuery;
356
+ exports.BridgeAccountQuery = BridgeAccountQuery;
381
357
  exports.CardTransactionQuery = CardTransactionQuery;
382
358
  exports.CardsQuery = CardsQuery;
383
359
  exports.DepositQuery = DepositQuery;
@@ -386,7 +362,6 @@ exports.PageSize = PageSize;
386
362
  exports.QueryParams = QueryParams;
387
363
  exports.StatementQuery = StatementQuery;
388
364
  exports.TOSAgreements = TOSAgreements;
389
- exports.TransactionQuery = TransactionQuery;
390
365
  exports.TransferQuery = TransferQuery;
391
366
  exports.UserQuery = UserQuery;
392
367
  exports.WalletQuery = WalletQuery;
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-6451748e.cjs');
10
- var identities = require('./identities-cd77b9f2.cjs');
11
- var walletTransactionRequest = require('./walletTransactionRequest-267a5d18.cjs');
9
+ var data = require('./data-f85a5287.cjs');
10
+ var identities = require('./identities-ab85ec0b.cjs');
11
+ var walletTransactionRequest = require('./walletTransactionRequest-8a816a1f.cjs');
12
12
 
13
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
14
 
@@ -26,7 +26,7 @@ const isNode =
26
26
 
27
27
  const runtimeEnv = { isBrowser, isNode };
28
28
 
29
- const name="@cuenca-mx/cuenca-js";const version="0.0.5-dev.1";const description="Cuenca client for JS";const main="./build/index.cjs";const module$1="./build/index.mjs";const browser="./build/umd/cuenca.umd.js";const files=["build/**/*"];const exports$1={".":{"import":"./build/index.mjs",require:"./build/index.cjs"},"./errors":{"import":"./build/errors/index.mjs",require:"./build/errors/index.cjs"},"./jwt":{"import":"./build/jwt/index.mjs",require:"./build/jwt/index.cjs"},"./requests":{"import":"./build/requests/index.mjs",require:"./build/requests/index.cjs"},"./types":{"import":"./build/types/index.mjs",require:"./build/types/index.cjs"}};const packageManager="yarn@3.0.2";const type="module";const repository={type:"git",url:"https://github.com/cuenca-mx/cuenca-js.git",directory:"packages/cuenca-js"};const keywords=["cuenca"];const license="MIT";const bugs={url:"https://github.com/cuenca-mx/cuenca-js/issues"};const homepage="https://cuenca.com";const scripts={build:"rm -rf build/ && yarn rollup --config",test:"yarn node --experimental-vm-modules $(yarn bin jest)",publish:"yarn build && yarn npm publish"};const devDependencies={"@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1",jest:"^27.4.5",rollup:"^2.61.1","rollup-plugin-terser":"^7.0.2"};const dependencies={axios:"^0.24.0",buffer:"^6.0.3"};var pkg = {name:name,version:version,description:description,main:main,module:module$1,browser:browser,files:files,exports:exports$1,packageManager:packageManager,type:type,repository:repository,keywords:keywords,license:license,bugs:bugs,homepage:homepage,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies};
29
+ const name="@cuenca-mx/cuenca-js";const version="0.0.5-dev.10";const description="Cuenca client for JS";const main="./build/index.cjs";const module$1="./build/index.mjs";const browser="./build/umd/cuenca.umd.js";const files=["build/**/*"];const exports$1={".":{"import":"./build/index.mjs",require:"./build/index.cjs"},"./errors":{"import":"./build/errors/index.mjs",require:"./build/errors/index.cjs"},"./jwt":{"import":"./build/jwt/index.mjs",require:"./build/jwt/index.cjs"},"./requests":{"import":"./build/requests/index.mjs",require:"./build/requests/index.cjs"},"./types":{"import":"./build/types/index.mjs",require:"./build/types/index.cjs"}};const packageManager="yarn@3.0.2";const type="module";const repository={type:"git",url:"https://github.com/cuenca-mx/cuenca-js.git",directory:"packages/cuenca-js"};const keywords=["cuenca"];const license="MIT";const bugs={url:"https://github.com/cuenca-mx/cuenca-js/issues"};const homepage="https://cuenca.com";const scripts={build:"rm -rf build/ && yarn rollup --config",test:"yarn node --experimental-vm-modules $(yarn bin jest)",publish:"yarn build && yarn npm publish"};const devDependencies={"@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1",jest:"^27.4.5",rollup:"^2.61.1","rollup-plugin-terser":"^7.0.2"};const dependencies={axios:"^0.24.0",buffer:"^6.0.3"};var pkg = {name:name,version:version,description:description,main:main,module:module$1,browser:browser,files:files,exports:exports$1,packageManager:packageManager,type:type,repository:repository,keywords:keywords,license:license,bugs:bugs,homepage:homepage,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies};
30
30
 
31
31
  class Client {
32
32
  constructor({
@@ -368,6 +368,64 @@ class BillPayment extends Transaction {
368
368
  });
369
369
  }
370
370
 
371
+ class BridgeAccount {
372
+ constructor({
373
+ id,
374
+ names,
375
+ firstSurname,
376
+ secondSurname,
377
+ dateOfBirth,
378
+ countryOfBirth,
379
+ rfc,
380
+ curp,
381
+ userId,
382
+ gender,
383
+ phoneNumber,
384
+ emailAddress,
385
+ govtId,
386
+ proofOfAddress,
387
+ proofOfLife,
388
+ status,
389
+ }) {
390
+ this.id = id;
391
+ this.emailAddress = emailAddress;
392
+ this.govtId = govtId;
393
+ this.names = names;
394
+ this.firstSurname = firstSurname;
395
+ this.secondSurname = secondSurname;
396
+ this.dateOfBirth = dateOfBirth;
397
+ this.countryOfBirth = countryOfBirth;
398
+ this.rfc = rfc;
399
+ this.curp = curp;
400
+ this.userId = userId;
401
+ this.gender = gender;
402
+ this.phoneNumber = phoneNumber;
403
+ this.addressProofs = proofOfAddress;
404
+ this.lifeProofs = proofOfLife;
405
+ this.status = data.enumValueFromString(data.BridgeAccountStatus, status);
406
+ }
407
+
408
+ static fromObject = ({ status, ...obj }) =>
409
+ new BridgeAccount({
410
+ id: obj.id,
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
+
371
429
  class Card {
372
430
  constructor({
373
431
  createdAt,
@@ -783,63 +841,29 @@ class Transfer extends Transaction {
783
841
 
784
842
  class User {
785
843
  constructor({
786
- address,
787
- blacklistValidationStatus,
788
- clabe,
789
- createdAt,
790
- curp,
791
844
  emailAddress,
792
- firstSurname,
793
845
  govtId,
794
- id,
795
846
  level,
796
- names,
797
847
  phoneNumber,
798
848
  proofOfAddress,
799
849
  proofOfLife,
800
850
  requiredLevel,
801
- rfc,
802
- secondSurname,
803
851
  status,
804
852
  termsOfService,
805
- updatedAt,
806
853
  verificationId,
807
854
  }) {
808
- this.add = address;
809
- this.blacklistValidationStatus = data.enumValueFromString(
810
- data.VerificationStatus,
811
- blacklistValidationStatus,
812
- );
813
- this.clabe = clabe;
814
- this.createdAt = data.dateToUTC(createdAt);
815
- this.curp = curp;
816
855
  this.emailAddress = emailAddress;
817
- this.firstSurname = firstSurname;
818
856
  this.govstIds = govtId;
819
- this.id = id;
820
857
  this.level = level;
821
- this.names = names;
822
858
  this.phoneNumber = phoneNumber;
823
859
  this.addressProofs = proofOfAddress;
824
860
  this.lifeProofs = proofOfLife;
825
861
  this.requiredLevel = requiredLevel;
826
- this.rfc = rfc;
827
- this.secondSurname = secondSurname;
828
862
  this.status = data.enumValueFromString(data.UserStatus, status);
829
863
  this.terms = termsOfService;
830
- this.updatedAt = data.dateToUTC(updatedAt);
831
864
  this.verificationId = verificationId;
832
865
  }
833
866
 
834
- get address() {
835
- return this._address;
836
- }
837
-
838
- set add(value) {
839
- if (!value) return;
840
- this._address = identities.Address.fromObject(value);
841
- }
842
-
843
867
  get proofOfAddress() {
844
868
  return this._proofOfAddress;
845
869
  }
@@ -876,38 +900,17 @@ class User {
876
900
  this._termsOfService = identities.TOSAgreements.fromObject(value);
877
901
  }
878
902
 
879
- static fromObject = ({
880
- address,
881
- clabe,
882
- curp,
883
- id,
884
- level,
885
- names,
886
- rfc,
887
- status,
888
- ...obj
889
- }) =>
903
+ static fromObject = ({ level, status, ...obj }) =>
890
904
  new User({
891
- address,
892
- clabe,
893
- curp,
894
- id,
895
905
  level,
896
- names,
897
- rfc,
898
906
  status,
899
- blacklistValidationStatus: obj.blacklist_validation_status,
900
- createdAt: obj.created_at,
901
- emailAddress: obj.email_address,
902
- firstSurname: obj.first_surname,
903
907
  govtId: obj.govt_id,
908
+ emailAddress: obj.email_address,
904
909
  phoneNumber: obj.phone_number,
905
910
  proofOfAddress: obj.proof_of_address,
906
911
  proofOfLife: obj.proof_of_life,
907
912
  requiredLevel: obj.required_level,
908
- secondSurname: obj.second_surname,
909
913
  termsOfService: obj.terms_of_service,
910
- updatedAt: obj.updated_at,
911
914
  verificationId: obj.verification_id,
912
915
  });
913
916
  }
@@ -1077,6 +1080,7 @@ const getModelFromPath = (path, obj) => {
1077
1080
  arpc: () => Arpc.fromObject(obj),
1078
1081
  balance_entries: () => BalanceEntry.fromObject(obj),
1079
1082
  bill_payments: () => BillPayment.fromObject(obj),
1083
+ 'bridge/accounts': () => BridgeAccount.fromObject(obj),
1080
1084
  cards: () => Card.fromObject(obj),
1081
1085
  card_activations: () => CardActivation.fromObject(obj),
1082
1086
  card_transactions: () => CardTransaction.fromObject(obj),
@@ -1333,6 +1337,12 @@ class BillPaymentResource extends mix(Resource).with(Queryable, Retrievable) {
1333
1337
  }
1334
1338
  }
1335
1339
 
1340
+ class BridegAccountResource extends mix(Resource).with(Queryable, Retrievable) {
1341
+ constructor(client) {
1342
+ super('bridge/accounts', identities.BridgeAccountQuery, client);
1343
+ }
1344
+ }
1345
+
1336
1346
  class CardActivationResource extends mix(Resource).with(Creatable) {
1337
1347
  constructor(client) {
1338
1348
  super('card_activations', Object, client);
@@ -1746,6 +1756,7 @@ class Cuenca {
1746
1756
  this.apiKeys = new ApiKeyResource(client);
1747
1757
  this.balanceEntries = new BalanceEntryResource(client);
1748
1758
  this.billPayments = new BillPaymentResource(client);
1759
+ this.bridgeAccounts = new BridegAccountResource(client);
1749
1760
  this.cardActivations = new CardActivationResource(client);
1750
1761
  this.cards = new CardResource(client);
1751
1762
  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, S as SavingCategory, i as ServiceProviderCategory, j as TransferNetwork, V as VerificationStatus, U as UserStatus, k as VerificationType, W as WalletTransactionType } from './data-38bfc8ad.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-c0047807.mjs';
7
- import { A as ApiKeyUpdateRequest, a as ArpcRequest, C as CardActivationRequest, b as CardRequest, c as CardUpdateRequest, d as CardValidationRequest, S as SavingRequest, T as TransferRequest, U as UserCredentialRequest, e as UserCredentialUpdateRequest, f as UserLoginRequest, g as UserUpdateRequest, V as VerificationRequest, h as VerificationAttemptRequest, W as WalletTransactionRequest } from './walletTransactionRequest-2e5deaee.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, S as SavingCategory, i as ServiceProviderCategory, j as TransferNetwork, U as UserStatus, V as VerificationType, W as WalletTransactionType } from './data-487ea691.mjs';
6
+ import { K as KYCFile, T as TOSAgreements, A as AccountQuery, a as ApiKeyQuery, B as BalanceEntryQuery, b as BillPaymentQuery, c as BridgeAccountQuery, 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-32031e5d.mjs';
7
+ import { A as ApiKeyUpdateRequest, a as ArpcRequest, C as CardActivationRequest, b as CardRequest, c as CardUpdateRequest, d as CardValidationRequest, S as SavingRequest, T as TransferRequest, U as UserCredentialRequest, e as UserCredentialUpdateRequest, f as UserLoginRequest, g as UserUpdateRequest, V as VerificationRequest, h as VerificationAttemptRequest, W as WalletTransactionRequest } from './walletTransactionRequest-bdcb7e35.mjs';
8
8
 
9
9
  /* global window */
10
10
 
@@ -17,7 +17,7 @@ const isNode =
17
17
 
18
18
  const runtimeEnv = { isBrowser, isNode };
19
19
 
20
- const name="@cuenca-mx/cuenca-js";const version="0.0.5-dev.1";const description="Cuenca client for JS";const main="./build/index.cjs";const module="./build/index.mjs";const browser="./build/umd/cuenca.umd.js";const files=["build/**/*"];const exports={".":{"import":"./build/index.mjs",require:"./build/index.cjs"},"./errors":{"import":"./build/errors/index.mjs",require:"./build/errors/index.cjs"},"./jwt":{"import":"./build/jwt/index.mjs",require:"./build/jwt/index.cjs"},"./requests":{"import":"./build/requests/index.mjs",require:"./build/requests/index.cjs"},"./types":{"import":"./build/types/index.mjs",require:"./build/types/index.cjs"}};const packageManager="yarn@3.0.2";const type="module";const repository={type:"git",url:"https://github.com/cuenca-mx/cuenca-js.git",directory:"packages/cuenca-js"};const keywords=["cuenca"];const license="MIT";const bugs={url:"https://github.com/cuenca-mx/cuenca-js/issues"};const homepage="https://cuenca.com";const scripts={build:"rm -rf build/ && yarn rollup --config",test:"yarn node --experimental-vm-modules $(yarn bin jest)",publish:"yarn build && yarn npm publish"};const devDependencies={"@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1",jest:"^27.4.5",rollup:"^2.61.1","rollup-plugin-terser":"^7.0.2"};const dependencies={axios:"^0.24.0",buffer:"^6.0.3"};var pkg = {name:name,version:version,description:description,main:main,module:module,browser:browser,files:files,exports:exports,packageManager:packageManager,type:type,repository:repository,keywords:keywords,license:license,bugs:bugs,homepage:homepage,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies};
20
+ const name="@cuenca-mx/cuenca-js";const version="0.0.5-dev.10";const description="Cuenca client for JS";const main="./build/index.cjs";const module="./build/index.mjs";const browser="./build/umd/cuenca.umd.js";const files=["build/**/*"];const exports={".":{"import":"./build/index.mjs",require:"./build/index.cjs"},"./errors":{"import":"./build/errors/index.mjs",require:"./build/errors/index.cjs"},"./jwt":{"import":"./build/jwt/index.mjs",require:"./build/jwt/index.cjs"},"./requests":{"import":"./build/requests/index.mjs",require:"./build/requests/index.cjs"},"./types":{"import":"./build/types/index.mjs",require:"./build/types/index.cjs"}};const packageManager="yarn@3.0.2";const type="module";const repository={type:"git",url:"https://github.com/cuenca-mx/cuenca-js.git",directory:"packages/cuenca-js"};const keywords=["cuenca"];const license="MIT";const bugs={url:"https://github.com/cuenca-mx/cuenca-js/issues"};const homepage="https://cuenca.com";const scripts={build:"rm -rf build/ && yarn rollup --config",test:"yarn node --experimental-vm-modules $(yarn bin jest)",publish:"yarn build && yarn npm publish"};const devDependencies={"@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1",jest:"^27.4.5",rollup:"^2.61.1","rollup-plugin-terser":"^7.0.2"};const dependencies={axios:"^0.24.0",buffer:"^6.0.3"};var pkg = {name:name,version:version,description:description,main:main,module:module,browser:browser,files:files,exports:exports,packageManager:packageManager,type:type,repository:repository,keywords:keywords,license:license,bugs:bugs,homepage:homepage,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies};
21
21
 
22
22
  class Client {
23
23
  constructor({
@@ -359,6 +359,64 @@ class BillPayment extends Transaction {
359
359
  });
360
360
  }
361
361
 
362
+ class BridgeAccount {
363
+ constructor({
364
+ id,
365
+ names,
366
+ firstSurname,
367
+ secondSurname,
368
+ dateOfBirth,
369
+ countryOfBirth,
370
+ rfc,
371
+ curp,
372
+ userId,
373
+ gender,
374
+ phoneNumber,
375
+ emailAddress,
376
+ govtId,
377
+ proofOfAddress,
378
+ proofOfLife,
379
+ status,
380
+ }) {
381
+ this.id = id;
382
+ this.emailAddress = emailAddress;
383
+ this.govtId = govtId;
384
+ this.names = names;
385
+ this.firstSurname = firstSurname;
386
+ this.secondSurname = secondSurname;
387
+ this.dateOfBirth = dateOfBirth;
388
+ this.countryOfBirth = countryOfBirth;
389
+ this.rfc = rfc;
390
+ this.curp = curp;
391
+ this.userId = userId;
392
+ this.gender = gender;
393
+ this.phoneNumber = phoneNumber;
394
+ this.addressProofs = proofOfAddress;
395
+ this.lifeProofs = proofOfLife;
396
+ this.status = enumValueFromString(BridgeAccountStatus, status);
397
+ }
398
+
399
+ static fromObject = ({ status, ...obj }) =>
400
+ new BridgeAccount({
401
+ id: obj.id,
402
+ names: obj.names,
403
+ firstSurname: obj.first_surname,
404
+ secondSurname: obj.second_surname,
405
+ dateOfBirth: obj.date_of_birth,
406
+ countryOfBirth: obj.country_of_birth,
407
+ rfc: obj.rfc,
408
+ curp: obj.curp,
409
+ userId: obj.user_id,
410
+ gender: obj.gender,
411
+ govtId: obj.govt_id,
412
+ emailAddress: obj.email_address,
413
+ phoneNumber: obj.phone_number,
414
+ proofOfAddress: obj.proof_of_address,
415
+ proofOfLife: obj.proof_of_life,
416
+ status,
417
+ });
418
+ }
419
+
362
420
  class Card {
363
421
  constructor({
364
422
  createdAt,
@@ -774,63 +832,29 @@ class Transfer extends Transaction {
774
832
 
775
833
  class User {
776
834
  constructor({
777
- address,
778
- blacklistValidationStatus,
779
- clabe,
780
- createdAt,
781
- curp,
782
835
  emailAddress,
783
- firstSurname,
784
836
  govtId,
785
- id,
786
837
  level,
787
- names,
788
838
  phoneNumber,
789
839
  proofOfAddress,
790
840
  proofOfLife,
791
841
  requiredLevel,
792
- rfc,
793
- secondSurname,
794
842
  status,
795
843
  termsOfService,
796
- updatedAt,
797
844
  verificationId,
798
845
  }) {
799
- this.add = address;
800
- this.blacklistValidationStatus = enumValueFromString(
801
- VerificationStatus,
802
- blacklistValidationStatus,
803
- );
804
- this.clabe = clabe;
805
- this.createdAt = dateToUTC(createdAt);
806
- this.curp = curp;
807
846
  this.emailAddress = emailAddress;
808
- this.firstSurname = firstSurname;
809
847
  this.govstIds = govtId;
810
- this.id = id;
811
848
  this.level = level;
812
- this.names = names;
813
849
  this.phoneNumber = phoneNumber;
814
850
  this.addressProofs = proofOfAddress;
815
851
  this.lifeProofs = proofOfLife;
816
852
  this.requiredLevel = requiredLevel;
817
- this.rfc = rfc;
818
- this.secondSurname = secondSurname;
819
853
  this.status = enumValueFromString(UserStatus, status);
820
854
  this.terms = termsOfService;
821
- this.updatedAt = dateToUTC(updatedAt);
822
855
  this.verificationId = verificationId;
823
856
  }
824
857
 
825
- get address() {
826
- return this._address;
827
- }
828
-
829
- set add(value) {
830
- if (!value) return;
831
- this._address = Address.fromObject(value);
832
- }
833
-
834
858
  get proofOfAddress() {
835
859
  return this._proofOfAddress;
836
860
  }
@@ -867,38 +891,17 @@ class User {
867
891
  this._termsOfService = TOSAgreements.fromObject(value);
868
892
  }
869
893
 
870
- static fromObject = ({
871
- address,
872
- clabe,
873
- curp,
874
- id,
875
- level,
876
- names,
877
- rfc,
878
- status,
879
- ...obj
880
- }) =>
894
+ static fromObject = ({ level, status, ...obj }) =>
881
895
  new User({
882
- address,
883
- clabe,
884
- curp,
885
- id,
886
896
  level,
887
- names,
888
- rfc,
889
897
  status,
890
- blacklistValidationStatus: obj.blacklist_validation_status,
891
- createdAt: obj.created_at,
892
- emailAddress: obj.email_address,
893
- firstSurname: obj.first_surname,
894
898
  govtId: obj.govt_id,
899
+ emailAddress: obj.email_address,
895
900
  phoneNumber: obj.phone_number,
896
901
  proofOfAddress: obj.proof_of_address,
897
902
  proofOfLife: obj.proof_of_life,
898
903
  requiredLevel: obj.required_level,
899
- secondSurname: obj.second_surname,
900
904
  termsOfService: obj.terms_of_service,
901
- updatedAt: obj.updated_at,
902
905
  verificationId: obj.verification_id,
903
906
  });
904
907
  }
@@ -1068,6 +1071,7 @@ const getModelFromPath = (path, obj) => {
1068
1071
  arpc: () => Arpc.fromObject(obj),
1069
1072
  balance_entries: () => BalanceEntry.fromObject(obj),
1070
1073
  bill_payments: () => BillPayment.fromObject(obj),
1074
+ 'bridge/accounts': () => BridgeAccount.fromObject(obj),
1071
1075
  cards: () => Card.fromObject(obj),
1072
1076
  card_activations: () => CardActivation.fromObject(obj),
1073
1077
  card_transactions: () => CardTransaction.fromObject(obj),
@@ -1324,6 +1328,12 @@ class BillPaymentResource extends mix(Resource).with(Queryable, Retrievable) {
1324
1328
  }
1325
1329
  }
1326
1330
 
1331
+ class BridegAccountResource extends mix(Resource).with(Queryable, Retrievable) {
1332
+ constructor(client) {
1333
+ super('bridge/accounts', BridgeAccountQuery, client);
1334
+ }
1335
+ }
1336
+
1327
1337
  class CardActivationResource extends mix(Resource).with(Creatable) {
1328
1338
  constructor(client) {
1329
1339
  super('card_activations', Object, client);
@@ -1737,6 +1747,7 @@ class Cuenca {
1737
1747
  this.apiKeys = new ApiKeyResource(client);
1738
1748
  this.balanceEntries = new BalanceEntryResource(client);
1739
1749
  this.billPayments = new BillPaymentResource(client);
1750
+ this.bridgeAccounts = new BridegAccountResource(client);
1740
1751
  this.cardActivations = new CardActivationResource(client);
1741
1752
  this.cards = new CardResource(client);
1742
1753
  this.cardTransactions = new CardTransactionResource(client);
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var walletTransactionRequest = require('../walletTransactionRequest-267a5d18.cjs');
5
+ var walletTransactionRequest = require('../walletTransactionRequest-8a816a1f.cjs');
6
6
  require('../errors/index.cjs');
7
- require('../data-6451748e.cjs');
7
+ require('../data-f85a5287.cjs');
8
8
 
9
9
 
10
10
 
@@ -1,3 +1,3 @@
1
- export { A as ApiKeyUpdateRequest, a as ArpcRequest, C as CardActivationRequest, b as CardRequest, c as CardUpdateRequest, d as CardValidationRequest, S as SavingRequest, T as TransferRequest, U as UserCredentialRequest, e as UserCredentialUpdateRequest, f as UserLoginRequest, g as UserUpdateRequest, h as VerificationAttemptRequest, V as VerificationRequest, W as WalletTransactionRequest } from '../walletTransactionRequest-2e5deaee.mjs';
1
+ export { A as ApiKeyUpdateRequest, a as ArpcRequest, C as CardActivationRequest, b as CardRequest, c as CardUpdateRequest, d as CardValidationRequest, S as SavingRequest, T as TransferRequest, U as UserCredentialRequest, e as UserCredentialUpdateRequest, f as UserLoginRequest, g as UserUpdateRequest, h as VerificationAttemptRequest, V as VerificationRequest, W as WalletTransactionRequest } from '../walletTransactionRequest-bdcb7e35.mjs';
2
2
  import '../errors/index.mjs';
3
- import '../data-38bfc8ad.mjs';
3
+ import '../data-487ea691.mjs';
@@ -2,12 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var data = require('../data-6451748e.cjs');
6
- var identities = require('../identities-cd77b9f2.cjs');
5
+ var data = require('../data-f85a5287.cjs');
6
+ var identities = require('../identities-ab85ec0b.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;
@@ -27,14 +28,13 @@ exports.TrackDataMethod = data.TrackDataMethod;
27
28
  exports.TransactionStatus = data.TransactionStatus;
28
29
  exports.TransferNetwork = data.TransferNetwork;
29
30
  exports.UserStatus = data.UserStatus;
30
- exports.VerificationStatus = data.VerificationStatus;
31
31
  exports.VerificationType = data.VerificationType;
32
32
  exports.WalletTransactionType = data.WalletTransactionType;
33
33
  exports.AccountQuery = identities.AccountQuery;
34
- exports.Address = identities.Address;
35
34
  exports.ApiKeyQuery = identities.ApiKeyQuery;
36
35
  exports.BalanceEntryQuery = identities.BalanceEntryQuery;
37
36
  exports.BillPaymentQuery = identities.BillPaymentQuery;
37
+ exports.BridgeAccountQuery = identities.BridgeAccountQuery;
38
38
  exports.CardTransactionQuery = identities.CardTransactionQuery;
39
39
  exports.CardsQuery = identities.CardsQuery;
40
40
  exports.DepositQuery = identities.DepositQuery;
@@ -43,7 +43,6 @@ exports.PageSize = identities.PageSize;
43
43
  exports.QueryParams = identities.QueryParams;
44
44
  exports.StatementQuery = identities.StatementQuery;
45
45
  exports.TOSAgreements = identities.TOSAgreements;
46
- exports.TransactionQuery = identities.TransactionQuery;
47
46
  exports.TransferQuery = identities.TransferQuery;
48
47
  exports.UserQuery = identities.UserQuery;
49
48
  exports.WalletQuery = identities.WalletQuery;
@@ -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-38bfc8ad.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-c0047807.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, k as KYCStatus, P as Phase, S as SavingCategory, i as ServiceProviderCategory, l as TrackDataMethod, T as TransactionStatus, j as TransferNetwork, U as UserStatus, V as VerificationType, W as WalletTransactionType } from '../data-487ea691.mjs';
2
+ export { A as AccountQuery, a as ApiKeyQuery, B as BalanceEntryQuery, b as BillPaymentQuery, c as BridgeAccountQuery, d as CardTransactionQuery, C as CardsQuery, D as DepositQuery, K as KYCFile, P as PageSize, Q as QueryParams, S as StatementQuery, T as TOSAgreements, e as TransferQuery, U as UserQuery, W as WalletQuery, f as WalletTransactionQuery } from '../identities-32031e5d.mjs';
3
3
  import '../errors/index.mjs';
@@ -1 +1 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("axios"),require("buffer")):"function"==typeof define&&define.amd?define(["exports","axios","buffer"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).cuenca={},t.axios,t.Buffer)}(this,(function(t,e,s){"use strict";function i(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var r=i(e),a=i(s);class n extends Error{constructor(t){super(t),Object.setPrototypeOf(this,n.prototype)}}class c extends n{constructor(t,e){super(`Cuenca Response Error: ${e}`),this.name="CuencaResponseError",this.data=t,this.status=e,Object.setPrototypeOf(this,c.prototype)}}class o extends n{constructor(){super("No results were found"),this.name="NoResultFound",Object.setPrototypeOf(this,o.prototype)}}class d extends n{constructor(){super("One result was expected but multiple were found"),this.name="MultipleResultsFound",Object.setPrototypeOf(this,d.prototype)}}class u extends n{constructor(){super("An invalid JWT token was obtained during authentication"),this.name="MalformedJwtToken",Object.setPrototypeOf(this,u.prototype)}}class h extends n{constructor(){super("Invalid password"),this.name="InvalidPassword",Object.setPrototypeOf(this,h.prototype)}}class p extends Error{constructor(t){super(t),Object.setPrototypeOf(this,p.prototype)}}const l="undefined"!=typeof window&&void 0!==window.document,m="undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process),w=l,_=m;class f{constructor(t,e){this.expiresAt=t,this.token=e}get isExpired(){const t=new Date;return(this.expiresAt.valueOf()-t.valueOf())/6e4<=5}static getExpirationDate=t=>{let e;try{const[,s]=t.split(".");e=JSON.parse(a.default.Buffer.from(`${s}==`,"base64").toString())}catch(t){throw new u}const{exp:s}=e;return new Date(new Date(1e3*s).toUTCString())};static create=async t=>{const e=t;e.jwtToken=null;const s=e.deleteRequestHeader("X-Cuenca-Token"),{token:i}=await t.post("token",{});s.eject();const r=f.getExpirationDate(i);return new f(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 b{static Credit=new b("credit");static Debit=new b("debit");constructor(t){this.value=t}}class y{static Accendo=new y("accendo");static Cuenca=new y("cuenca");constructor(t){this.value=t}}class g{static Active=new g("active");static Blocked=new g("blocked");static Created=new g("created");static Deactivated=new g("deactivated");static Printing=new g("printing");constructor(t){this.value=t}}class O{static Auth=new O("auth");static Capture=new O("capture");static Chargeback=new O("chargeback");static Expiration=new O("expiration");static Refund=new O("refund");static Void=new O("void");constructor(t){this.value=t}}class A{static Physical=new A("physical");static Virtual=new A("virtual");constructor(t){this.value=t}}class j{static CardRequest=new j("card_request");static CashDeposit=new j("cash_deposit");static OutgoingSpei=new j("outgoing_spei");constructor(t){this.value=t}}class x{static Cash=new x("cash");static Internal=new x("internal");static Spei=new x("spei");constructor(t){this.value=t}}class I{static Credit=new I("credit");static Debit=new I("debit");constructor(t){this.value=t}}class k{static Pdf=new k("pdf");static Xml=new k("xml");static Json=new k("json");constructor(t){this.value=t}}class T{static Ine=new T("ine");static Passport=new T("passport");static Residency=new T("residency");static MatriculaConsular=new T("matricula_consular");static ProofOfLiveness=new T("proof_of_liveness");static ProofOfAddress=new T("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 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 C{static General=new C("general");static Home=new C("home");static Vehicle=new C("vehicle");static Travel=new C("travel");static Clothing=new C("clothing");static Other=new C("other");static Medical=new C("medical");static Accident=new C("accident");static Education=new C("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 q{static Created=new q("created");static Failed=new q("failed");static InReview=new q("in_review");static Submitted=new q("submitted");static Succeeded=new q("succeeded");constructor(t){this.value=t}}class ${static Internal=new $("internal");static Spei=new $("spei");constructor(t){this.value=t}}class E{static Active=new E("active");static Deactivated=new E("deactivated");static Fraud=new E("fraud");static PldBlocked=new E("pld_blocked");constructor(t){this.value=t}}class K{static Created=new K("created");static NotVerified=new K("not_verified");static Rejected=new K("rejected");static ReviewNeeded=new K("review_needed");static UploadAgain=new K("upload_again");static Submitted=new K("submitted");static Succeeded=new K("succeeded");constructor(t){this.value=t}}class D{static Phone=new D("phone");static Email=new D("email");constructor(t){this.value=t}}class 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())},B=(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 R extends V{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class Y extends V{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class H extends V{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class F extends H{constructor({trackingKey:t,network:e,...s}){super(s),this.trackingKey=t,this.network=e}toObject(){return Object.assign(super.toObject(),{tracking_key:this.trackingKey,network:this.network})}}class z extends H{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 X 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 Q extends V{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class J extends V{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class W 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 G extends V{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class Z 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 tt extends V{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class et 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 p(`${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 st{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 st({ip:t,location:e,type:s,version:i})}class it{constructor({data:t,isMx:e,status:s,type:i,uriBack:r,uriFront:a}){this.data=t,this.isMx=e,this.status=B(N,s),this.type=B(T,i),this.uriBack=r,this.uriFront=a}static fromObject=({data:t,status:e,type:s,...i})=>new it({data:t,status:e,type:s,isMx:i.is_mx,uriBack:i.uri_back,uriFront:i.uri_front})}class rt{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 rt({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 at="0.0.5-dev.1";class nt{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=r.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 ${a.default.Buffer.from(`${t}:${e}`,"utf-8").toString("base64")}`:""}addHeadersToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common: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 f.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}){return this.request({method:"POST",endpoint:t,data:e})}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=k.Json,method:i="GET",params:r=null}){const a={"Content-Type":"application/json",Accept:`application/${s.value}`};this.authHeader&&(a.Authorization=this.authHeader),_?a["User-Agent"]=`cuenca-js/${at}`:w&&(a["X-User-Agent"]=`cuenca-js/${at}`),this.jwtToken&&(this.jwtToken.isExpired&&(this.jwtToken=await f.create(this)),a["X-Cuenca-Token"]=this.jwtToken.token);const o=this.addHeadersToRequest(a),d=e;d&&Object.keys(d).forEach((t=>{d[t]instanceof Date&&(d[t]=d[t].toISOString())}));const u=this.addConfigToRequest({method:i,params:r,data:d,url:t});let h;try{h=await this._session.request({baseURL:this.origin})}catch(t){throw t.response?new c(t.response.data,t.response.status):t.request?new n(`No response received: ${t.errno}: ${t.code}`):new n(t.message)}finally{o.eject(),u.eject()}return h.data}}class ct{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 ct({id:t,name:e,accountNumber:s.account_number,createdAt:s.created_at,institutionName:s.institution_name,userId:s.user_id})}class ot{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 ot({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 dt{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 dt({arpc:t,createdAt:e.created_at,cardUri:e.card_uri,isValidArqc:e.is_valid_arqc})}class ut{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=B(I,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 ut({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 ht{constructor({amount:t,createdAt:e,descriptor:s,status:i,userId:r}){this.amount=t,this.createdAt=L(e),this.descriptor=s,this.status=B(q,i),this.userId=r}}class pt extends ht{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 pt({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 lt{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=B(b,r),this.id=a,this.issuer=B(y,n),this.number=c,this.pin=o,this.status=B(g,d),this.type=B(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 lt({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 mt{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 mt({id:t,success:e,cardUri:s.card_uri,createdAt:s.created_at,ipAddress:s.ip_address,userId:s.user_id})}class wt extends ht{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=B(v,e),this.cardLastFour=s,this.cardType=B(A,i),this.cardUri=r,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=B(O,h)}static fromObject=({amount:t,descriptor:e,metadata:s,network:i,status:r,type:a,...n})=>new wt({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 _t{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=B(g,t),this.cardType=B(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 _t({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===g.Active}}class ft extends ht{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=B(j,a)}static fromObject=({amount:t,descriptor:e,status:s,type:i,...r})=>new ft({amount:t,descriptor:e,status:s,type:i,createdAt:r.created_at,relatedTransactionUri:r.related_transaction_uri,userId:r.user_id})}class vt extends ht{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=B(x,r),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new vt({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 bt{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new bt({id:t})}class yt extends class{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)}}{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=B(C,e),this.goalAmount=r,this.goalDate=L(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:i,...r})=>new yt({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 gt{constructor({categories:t,id:e,name:s,providerKey:i}){var r;this.categories=null==(r=t)?[]:r.map((t=>B(U,t))),this.id=e,this.name=s,this.providerKey=i}static fromObject=({categories:t,id:e,name:s,...i})=>new gt({categories:t,id:e,name:s,providerKey:i.provider_key})}class Ot{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 Ot({id:t,month:e,year:s,createdAt:i.created_at})}class At extends ht{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=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 At({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 jt{constructor({address:t,blacklistValidationStatus:e,clabe:s,createdAt:i,curp:r,emailAddress:a,firstSurname:n,govtId:c,id:o,level:d,names:u,phoneNumber:h,proofOfAddress:p,proofOfLife:l,requiredLevel:m,rfc:w,secondSurname:_,status:f,termsOfService:v,updatedAt:b,verificationId:y}){this.add=t,this.blacklistValidationStatus=B(K,e),this.clabe=s,this.createdAt=L(i),this.curp=r,this.emailAddress=a,this.firstSurname=n,this.govstIds=c,this.id=o,this.level=d,this.names=u,this.phoneNumber=h,this.addressProofs=p,this.lifeProofs=l,this.requiredLevel=m,this.rfc=w,this.secondSurname=_,this.status=B(E,f),this.terms=v,this.updatedAt=L(b),this.verificationId=y}get address(){return this._address}set add(t){t&&(this._address=rt.fromObject(t))}get proofOfAddress(){return this._proofOfAddress}set addressProofs(t){t&&(this._proofOfAddress=it.fromObject(t))}get proofOfLife(){return this._proofOfLife}set lifeProofs(t){t&&(this._proofOfLife=it.fromObject(t))}get govtId(){return this._govtId}set govstIds(t){t&&(this._govtId=it.fromObject(t))}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=st.fromObject(t))}static fromObject=({address:t,clabe:e,curp:s,id:i,level:r,names:a,rfc:n,status:c,...o})=>new jt({address:t,clabe:e,curp:s,id:i,level:r,names:a,rfc:n,status:c,blacklistValidationStatus:o.blacklist_validation_status,createdAt:o.created_at,emailAddress:o.email_address,firstSurname:o.first_surname,govtId:o.govt_id,phoneNumber:o.phone_number,proofOfAddress:o.proof_of_address,proofOfLife:o.proof_of_life,requiredLevel:o.required_level,secondSurname:o.second_surname,termsOfService:o.terms_of_service,updatedAt:o.updated_at,verificationId:o.verification_id})}class xt{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 xt({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class It{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 It({id:t,success:e,lastLoginAt:s.last_login_at})}class kt{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=B(D,r),this.updatedAt=L(a)}static fromObject=({id:t,recipient:e,type:s,...i})=>new kt({id:t,recipient:e,type:s,createdAt:i.created_at,platformId:i.platform_id,updatedAt:i.updated_at})}class Tt extends ht{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=B(M,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:i,...r})=>new Tt({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 Nt extends ht{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=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 Nt({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 St{constructor(t){this.superclass=t}with(...t){return t.reduce(((t,e)=>e(t)),this.superclass)}}const Ut=t=>new St(t),Ct=(t,e)=>({accounts:()=>ct.fromObject(e),api_keys:()=>ot.fromObject(e),arpc:()=>dt.fromObject(e),balance_entries:()=>ut.fromObject(e),bill_payments:()=>pt.fromObject(e),cards:()=>lt.fromObject(e),card_activations:()=>mt.fromObject(e),card_transactions:()=>wt.fromObject(e),card_validations:()=>_t.fromObject(e),commissions:()=>ft.fromObject(e),deposits:()=>vt.fromObject(e),login_tokens:()=>bt.fromObject(e),savings:()=>yt.fromObject(e),service_providers:()=>gt.fromObject(e),statements:()=>Ot.fromObject(e),transfers:()=>At.fromObject(e),users:()=>jt.fromObject(e),user_credentials:()=>xt.fromObject(e),user_logins:()=>It.fromObject(e),verifications:()=>kt.fromObject(e),wallet_transactions:()=>Tt.fromObject(e),whatsapp_transfers:()=>Nt.fromObject(e)}[t]()),Pt=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class qt{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const $t=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return Ct(this.path,e)}},Et=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return Ct(this.path,e)}},Kt=t=>class extends t{async _update(t,e){const s=await this.client.patch({endpoint:`/${this.path}/${t}`,data:e});return Ct(this.path,s)}},Dt=t=>class extends t{async _deactivate(t,e){const s=await this.client.delete({endpoint:`/${this.path}/${t}`,data:e});return Ct(this.path,s)}},Mt=t=>class extends t{async _download(t,e){return await this.client.get({endpoint:`/${this.path}/${t}`,format:e})}},Lt=t=>class extends t{async one(t=new this.QueryParams({})){const{items:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});if(!e||!e.length)throw new o;if(e.length>1)throw new d;const[s]=e;return Ct(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 Ct(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=Ct(this.path,e);yield t}e=t.next_page_uri}}};class Bt extends(Ut(qt).with(Lt,$t)){constructor(t){super("accounts",R,t)}}class Vt{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class Rt extends Vt{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class Yt extends Vt{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 Ht extends Vt{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class Ft extends Vt{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 p("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 p("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 p("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 p("Invalid cvv2");this._cvv2=t}toObject(){return{number:this.number,exp_month:this.expMonth,exp_year:this.expYear,cvv2:this.cvv2}}}class zt extends Vt{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 p("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 p("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 p("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 p("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 p("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 p("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 Xt extends Vt{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 p("The goal_date always need to be higher than now");this._goalDate=t}}toObject(){return{category:this.category,goal_amount:this.goalAmount,goal_date:this.goalDate,name:this.name}}}class Qt extends Vt{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 Jt extends Vt{constructor(t){super(),this.pwd=t}get password(){return this._password}set pwd(t){if([!!t,t.length>=6].some((t=>!t)))throw new p("Invalid password");this._password=t}toObject(){return{password:this.password}}}class Wt extends Vt{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 p("Invalid password");this._password=t}set req(t){if(t.password&&null!=t.isActive)throw new p("Only one property can be updated at a time");this._request=t}toObject(){return{password:this.request.password,is_active:this.request.isActive}}}class Gt extends Vt{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 p("Invalid password");this._password=t}toObject(){return{password:this.password,user_id:this.userId}}}class Zt extends Vt{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 p("missing ip address");if(!t.split(".").every((t=>t>=0&&t<=255)))throw new p("Invalid ip address");this._ip=t}toObject(){return{ip:this.ip,location:this.location,type:this.type,version:this.version}}}class te extends Vt{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 ee extends Vt{constructor({address:t,profession:e,requiredLevel:s,termsOfService:i,verificationId:r}){super(),this.adrs=t,this.profession=e,this.requiredLevel=s,this.terms=i,this.verificationId=r}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=new Zt(t).toObject())}get address(){return this._address}set adrs(t){t&&(this._address=new te(t).toCleanObject())}toObject(){return{address:this.address,profession:this.profession,requiredLevel:this.requiredLevel,terms_of_service:this.termsOfService,verification_id:this.verificationId}}}class se extends Vt{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(B(D,this.type)){case D.Email:if(!t.match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/))throw new p("Invalid email address");this._recipient=t;break;case D.Phone:if(!t.match(/^\+?[0-9]{10,15}$/))throw new p("Invalid Phone Number");this._recipient=t}}toObject(){return{platform_id:this.platformId,recipient:this.recipient,type:this.type}}}class ie extends Vt{constructor({code:t}){super(),this.code=t}toObject(){return{code:this.code}}}class re extends Vt{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 ae extends(Ut(qt).with(Et,Dt,Lt,$t,Kt)){constructor(t){super("api_keys",Y,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 Rt(s,e);return await this._update(t,i.toCleanObject())}}Ut(qt).with(Et);class ne extends(Ut(qt).with(Lt,$t)){constructor(t){super("balance_entries",X,t)}async relatedTransaction(t){const e=Pt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ct(`${e}`,s)}async fundingInstrument(t){const e=Pt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ct(`${e}`,s)}}class ce extends(Ut(qt).with(Lt,$t)){constructor(t){super("bill_payments",Q,t)}async serviceProvider(t){const e=Pt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ct(`${e}`,s)}}class oe extends(Ut(qt).with(Et)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:i}){const r=new Ft(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 lt.fromObject(e)}}class de extends(Ut(qt).with(Et,Dt,Lt,$t,Kt)){constructor(t){super("cards",W,t)}async create(t,e,s){const i=new Yt(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 Ht(e,s);return await this._update(t,i.toCleanObject())}}class ue extends(Ut(qt).with(Lt,$t)){constructor(t){super("card_transactions",J,t)}async relatedCard(t){const e=Pt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ct(`${e}`,s)}}class he extends(Ut(qt).with(Et)){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 lt.fromObject(e)}}class pe extends(Ut(qt).with(Lt,$t)){constructor(t){super("commissions",V,t)}async relatedTransaction(t){const e=Pt(t);if(null==e)return null;const s=await this.client.get(t);return Ct(`${e}`,s)}}class le extends(Ut(qt).with(Lt,$t)){constructor(t){super("deposits",F,t)}async source(t){const e=await this.client.get({endpoint:t});return ct.fromObject(e)}}class me extends(Ut(qt).with(Et)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class we extends(Ut(qt).with(Et,Dt,Lt,$t,Kt)){constructor(t){super("savings",tt,t)}async create(t,e,s,i){const r=new Xt(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 Xt(e,s,i,r);return await this._update(t,a.toObject())}}class _e extends(Ut(qt).with(Lt,$t)){constructor(t){super("service_providers",V,t)}}class fe extends(Ut(qt).with(Mt,Lt)){constructor(t){super("statements",et,t)}async pdf(t){return await this._download(t,k.Pdf)}async xml(t){return await this._download(t,k.Xml)}}class ve extends(Ut(qt).with(Et,Lt,$t)){constructor(t){super("transfers",z,t)}async destination(t){const e=await this.client.get({endpoint:t});return ct.fromObject(e)}async create({accountNumber:t,amount:e,descriptor:s,recipientName:i,idempotencyKey:r}){const a=r||this.constructor._genIdempotencyKey(t,e),n=new Qt(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 Qt(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 be extends(Ut(qt).with(Et,Kt)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new Jt(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const i=new Wt(e,t);return await this._update(s,i.toCleanObject())}}class ye extends(Ut(qt).with(Et,Dt)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new Gt(t,e),i=await this._create(s.toObject());if(!i.success)throw new h;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 ge extends(Ut(qt).with(Lt,Kt,$t)){constructor(t){super("users",Z,t)}async update({userId:t="me",...e}){const s=new ee(e);return await this._update(t,s.toCleanObject())}}class Oe extends(Ut(qt).with(Et,Kt)){constructor(t){super("verifications",Object,t)}async create({platformId:t,recipient:e,type:s}){const i=new se({platformId:t,recipient:e,type:s});return await this._create(i.toObject())}async update({code:t,id:e}){const s=new ie({code:t});return await this._update(e,s.toObject())}}class Ae extends(Ut(qt).with(Et,Lt,$t)){constructor(t){super("wallet_transactions",G,t)}async create(t,e,s){const i=new re(t,e,s);return await this._create(i.toObject())}async realtedWallet(t){const e=Pt(t);if(null==e)return null;const s=await this.client.get(t);return Ct(`${e}`,s)}}class je extends(Ut(qt).with(Lt,$t)){constructor(t){super("whatsapp_transfers",V,t)}async accountDestination(t){const e=Pt(t);if(null==e)return null;const s=await this.client.get(t);return Ct(`${e}`,s)}}t.Cuenca=class{constructor({apiKey:t,apiSecret:e,language:s="en",phase:i=S.Sandbox}={}){this.client=new nt({apiKey:t,apiSecret:e,language:s,phase:i}),this.withClient(this.client)}withClient(t){this.accounts=new Bt(t),this.apiKeys=new ae(t),this.balanceEntries=new ne(t),this.billPayments=new ce(t),this.cardActivations=new oe(t),this.cards=new de(t),this.cardTransactions=new ue(t),this.cardValidations=new he(t),this.commissions=new pe(t),this.deposits=new le(t),this.loginTokens=new me(t),this.savings=new we(t),this.serviceProviders=new _e(t),this.statements=new fe(t),this.transfers=new ve(t),this.userCredentials=new be(t),this.userLogins=new ye(t),this.users=new ge(t),this.verifications=new Oe(t),this.walletTransactions=new Ae(t),this.whatsAppTransfers=new je(t)}}}));
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("axios"),require("buffer")):"function"==typeof define&&define.amd?define(["exports","axios","buffer"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).cuenca={},t.axios,t.Buffer)}(this,(function(t,e,s){"use strict";function i(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var r=i(e),a=i(s);class n extends Error{constructor(t){super(t),Object.setPrototypeOf(this,n.prototype)}}class c extends n{constructor(t,e){super(`Cuenca Response Error: ${e}`),this.name="CuencaResponseError",this.data=t,this.status=e,Object.setPrototypeOf(this,c.prototype)}}class o extends n{constructor(){super("No results were found"),this.name="NoResultFound",Object.setPrototypeOf(this,o.prototype)}}class d extends n{constructor(){super("One result was expected but multiple were found"),this.name="MultipleResultsFound",Object.setPrototypeOf(this,d.prototype)}}class u extends n{constructor(){super("An invalid JWT token was obtained during authentication"),this.name="MalformedJwtToken",Object.setPrototypeOf(this,u.prototype)}}class h extends n{constructor(){super("Invalid password"),this.name="InvalidPassword",Object.setPrototypeOf(this,h.prototype)}}class p extends Error{constructor(t){super(t),Object.setPrototypeOf(this,p.prototype)}}const l="undefined"!=typeof window&&void 0!==window.document,m="undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process),w=l,_=m;class f{constructor(t,e){this.expiresAt=t,this.token=e}get isExpired(){const t=new Date;return(this.expiresAt.valueOf()-t.valueOf())/6e4<=5}static getExpirationDate=t=>{let e;try{const[,s]=t.split(".");e=JSON.parse(a.default.Buffer.from(`${s}==`,"base64").toString())}catch(t){throw new u}const{exp:s}=e;return new Date(new Date(1e3*s).toUTCString())};static create=async t=>{const e=t;e.jwtToken=null;const s=e.deleteRequestHeader("X-Cuenca-Token"),{token:i}=await t.post("token",{});s.eject();const r=f.getExpirationDate(i);return new f(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 b{static Blocked=new b("blocked");static Comunication=new b("comunication");static ContactlesAmountLimit=new b("contactles_amount_limit");static FraudDetection=new b("fraud_detection");static FraudDetectionUncertain=new b("fraud_detection_uncertain");static InsufficientFounds=new b("insufficient_founds");static InvalidPin=new b("invalid_pin");static Notification=new b("notification");static NotificationDeactivatedCard=new b("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 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 j{static Physical=new j("physical");static Virtual=new j("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("pdf");static Xml=new T("xml");static Json=new T("json");constructor(t){this.value=t}}class U{static Ine=new U("ine");static Passport=new U("passport");static Residency=new U("residency");static MatriculaConsular=new U("matricula_consular");static ProofOfLiveness=new U("proof_of_liveness");static ProofOfAddress=new U("proof_of_address");constructor(t){this.value=t}}class N{static UploadAgain=new N("upload_again");static ReviewNeeded=new N("review_needed");static Submitted=new N("submitted");static Succeeded=new N("succeeded");constructor(t){this.value=t}}class S{static Sandbox=new S("sandbox");static Stage=new S("stage");static Api=new S("api");constructor(t){this.value=t}}class C{static Cable=new C("cable");static CreditCard=new C("credit_card");static Electricity=new C("electricity");static Gas=new C("gas");static Internet=new C("internet");static LandlineTelephone=new C("landline_telephone");static MobileTelephonePostpaid=new C("mobile_telephone_postpaid");static MobileTelephonePrepaid=new C("mobile_telephone_prepaid");static SateliteTelevision=new C("satelite_television");static Water=new C("water");constructor(t){this.value=t}}class P{static General=new P("general");static Home=new P("home");static Vehicle=new P("vehicle");static Travel=new P("travel");static Clothing=new P("clothing");static Other=new P("other");static Medical=new P("medical");static Accident=new P("accident");static Education=new P("education");constructor(t){this.value=t}}class q{static NotSet=new q("not_set");static Terminal=new q("terminal");static Manual=new q("manual");static Unknown=new q("unknown");static Contactless=new q("contactless");static FallBack=new q("fall_back");static MagneticStripe=new q("magnetic_stripe");static RecurringCharge=new q("recurring_charge");constructor(t){this.value=t}}class ${static Created=new $("created");static Failed=new $("failed");static InReview=new $("in_review");static Submitted=new $("submitted");static Succeeded=new $("succeeded");constructor(t){this.value=t}}class E{static Internal=new E("internal");static Spei=new E("spei");constructor(t){this.value=t}}class K{static Active=new K("active");static Deactivated=new K("deactivated");static Fraud=new K("fraud");static PldBlocked=new K("pld_blocked");constructor(t){this.value=t}}class D{static Phone=new D("phone");static Email=new D("email");constructor(t){this.value=t}}class B{static Deposit=new B("deposit");static Withdrawal=new B("withdrawal");constructor(t){this.value=t}}const L=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},M=(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 R extends V{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class Y extends V{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class H extends V{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class F extends H{constructor({trackingKey:t,network:e,...s}){super(s),this.trackingKey=t,this.network=e}toObject(){return Object.assign(super.toObject(),{tracking_key:this.trackingKey,network:this.network})}}class z extends H{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 X 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 Q extends V{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class J extends V{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class W 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 G extends V{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class Z 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 tt extends V{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class et 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 p(`${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 st extends V{constructor({emailAddress:t,...e}){super(e),this.emailAddress=t}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress})}}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({data:t,isMx:e,status:s,type:i,uriBack:r,uriFront:a}){this.data=t,this.isMx=e,this.status=M(N,s),this.type=M(U,i),this.uriBack=r,this.uriFront=a}static fromObject=({data:t,status:e,type:s,...i})=>new rt({data:t,status:e,type:s,isMx:i.is_mx,uriBack:i.uri_back,uriFront:i.uri_front})}var at="0.0.5-dev.10";class nt{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=r.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 ${a.default.Buffer.from(`${t}:${e}`,"utf-8").toString("base64")}`:""}addHeadersToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common: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 f.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}){return this.request({method:"POST",endpoint:t,data:e})}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",params:r=null}){const a={"Content-Type":"application/json",Accept:`application/${s.value}`};this.authHeader&&(a.Authorization=this.authHeader),_?a["User-Agent"]=`cuenca-js/${at}`:w&&(a["X-User-Agent"]=`cuenca-js/${at}`),this.jwtToken&&(this.jwtToken.isExpired&&(this.jwtToken=await f.create(this)),a["X-Cuenca-Token"]=this.jwtToken.token);const o=this.addHeadersToRequest(a),d=e;d&&Object.keys(d).forEach((t=>{d[t]instanceof Date&&(d[t]=d[t].toISOString())}));const u=this.addConfigToRequest({method:i,params:r,data:d,url:t});let h;try{h=await this._session.request({baseURL:this.origin})}catch(t){throw t.response?new c(t.response.data,t.response.status):t.request?new n(`No response received: ${t.errno}: ${t.code}`):new n(t.message)}finally{o.eject(),u.eject()}return h.data}}class ct{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 ct({id:t,name:e,accountNumber:s.account_number,createdAt:s.created_at,institutionName:s.institution_name,userId:s.user_id})}class ot{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 ot({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 dt{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 dt({arpc:t,createdAt:e.created_at,cardUri:e.card_uri,isValidArqc:e.is_valid_arqc})}class ut{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=M(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 ut({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 ht{constructor({amount:t,createdAt:e,descriptor:s,status:i,userId:r}){this.amount=t,this.createdAt=L(e),this.descriptor=s,this.status=M($,i),this.userId=r}}class pt extends ht{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 pt({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 lt{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,govtId:p,proofOfAddress:l,proofOfLife:m,status:w}){this.id=t,this.emailAddress=h,this.govtId=p,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=l,this.lifeProofs=m,this.status=M(v,w)}static fromObject=({status:t,...e})=>new lt({id:e.id,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 mt{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=M(y,r),this.id=a,this.issuer=M(g,n),this.number=c,this.pin=o,this.status=M(O,d),this.type=M(j,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 mt({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 wt{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 wt({id:t,success:e,cardUri:s.card_uri,createdAt:s.created_at,ipAddress:s.ip_address,userId:s.user_id})}class _t extends ht{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=M(b,e),this.cardLastFour=s,this.cardType=M(j,i),this.cardUri=r,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=M(A,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 ft{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=M(O,t),this.cardType=M(j,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 ft({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 ht{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=M(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 bt extends ht{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=M(I,r),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new bt({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 yt{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new yt({id:t})}class gt extends class{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)}}{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=M(P,e),this.goalAmount=r,this.goalDate=L(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:i,...r})=>new gt({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 Ot{constructor({categories:t,id:e,name:s,providerKey:i}){var r;this.categories=null==(r=t)?[]:r.map((t=>M(C,t))),this.id=e,this.name=s,this.providerKey=i}static fromObject=({categories:t,id:e,name:s,...i})=>new Ot({categories:t,id:e,name:s,providerKey:i.provider_key})}class At{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 At({id:t,month:e,year:s,createdAt:i.created_at})}class jt extends ht{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=M(E,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 jt({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 xt{constructor({emailAddress:t,govtId:e,level:s,phoneNumber:i,proofOfAddress:r,proofOfLife:a,requiredLevel:n,status:c,termsOfService:o,verificationId:d}){this.emailAddress=t,this.govstIds=e,this.level=s,this.phoneNumber=i,this.addressProofs=r,this.lifeProofs=a,this.requiredLevel=n,this.status=M(K,c),this.terms=o,this.verificationId=d}get proofOfAddress(){return this._proofOfAddress}set addressProofs(t){t&&(this._proofOfAddress=rt.fromObject(t))}get proofOfLife(){return this._proofOfLife}set lifeProofs(t){t&&(this._proofOfLife=rt.fromObject(t))}get govtId(){return this._govtId}set govstIds(t){t&&(this._govtId=rt.fromObject(t))}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=it.fromObject(t))}static fromObject=({level:t,status:e,...s})=>new xt({level:t,status:e,govtId:s.govt_id,emailAddress:s.email_address,phoneNumber:s.phone_number,proofOfAddress:s.proof_of_address,proofOfLife:s.proof_of_life,requiredLevel:s.required_level,termsOfService:s.terms_of_service,verificationId:s.verification_id})}class It{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 It({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class kt{constructor({id:t,lastLoginAt:e,success:s}){this.id=t,this.lastLoginAt=L(e),this.success=s}static fromObject=({id:t,success:e,...s})=>new kt({id:t,success:e,lastLoginAt:s.last_login_at})}class Tt{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=M(D,r),this.updatedAt=L(a)}static fromObject=({id:t,recipient:e,type:s,...i})=>new Tt({id:t,recipient:e,type:s,createdAt:i.created_at,platformId:i.platform_id,updatedAt:i.updated_at})}class Ut extends ht{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=M(B,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:i,...r})=>new Ut({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 Nt extends ht{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=M(E,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 Nt({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 St{constructor(t){this.superclass=t}with(...t){return t.reduce(((t,e)=>e(t)),this.superclass)}}const Ct=t=>new St(t),Pt=(t,e)=>({accounts:()=>ct.fromObject(e),api_keys:()=>ot.fromObject(e),arpc:()=>dt.fromObject(e),balance_entries:()=>ut.fromObject(e),bill_payments:()=>pt.fromObject(e),"bridge/accounts":()=>lt.fromObject(e),cards:()=>mt.fromObject(e),card_activations:()=>wt.fromObject(e),card_transactions:()=>_t.fromObject(e),card_validations:()=>ft.fromObject(e),commissions:()=>vt.fromObject(e),deposits:()=>bt.fromObject(e),login_tokens:()=>yt.fromObject(e),savings:()=>gt.fromObject(e),service_providers:()=>Ot.fromObject(e),statements:()=>At.fromObject(e),transfers:()=>jt.fromObject(e),users:()=>xt.fromObject(e),user_credentials:()=>It.fromObject(e),user_logins:()=>kt.fromObject(e),verifications:()=>Tt.fromObject(e),wallet_transactions:()=>Ut.fromObject(e),whatsapp_transfers:()=>Nt.fromObject(e)}[t]()),qt=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class $t{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const Et=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return Pt(this.path,e)}},Kt=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return Pt(this.path,e)}},Dt=t=>class extends t{async _update(t,e){const s=await this.client.patch({endpoint:`/${this.path}/${t}`,data:e});return Pt(this.path,s)}},Bt=t=>class extends t{async _deactivate(t,e){const s=await this.client.delete({endpoint:`/${this.path}/${t}`,data:e});return Pt(this.path,s)}},Lt=t=>class extends t{async _download(t,e){return await this.client.get({endpoint:`/${this.path}/${t}`,format:e})}},Mt=t=>class extends t{async one(t=new this.QueryParams({})){const{items:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});if(!e||!e.length)throw new o;if(e.length>1)throw new d;const[s]=e;return Pt(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 Pt(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=Pt(this.path,e);yield t}e=t.next_page_uri}}};class Vt extends(Ct($t).with(Mt,Et)){constructor(t){super("accounts",R,t)}}class Rt{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class Yt extends Rt{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class Ht extends Rt{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 Ft extends Rt{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class zt extends Rt{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 p("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 p("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 p("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 p("Invalid cvv2");this._cvv2=t}toObject(){return{number:this.number,exp_month:this.expMonth,exp_year:this.expYear,cvv2:this.cvv2}}}class Xt extends Rt{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 p("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 p("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 p("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 p("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 p("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 p("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 Qt extends Rt{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 p("The goal_date always need to be higher than now");this._goalDate=t}}toObject(){return{category:this.category,goal_amount:this.goalAmount,goal_date:this.goalDate,name:this.name}}}class Jt extends Rt{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 Wt extends Rt{constructor(t){super(),this.pwd=t}get password(){return this._password}set pwd(t){if([!!t,t.length>=6].some((t=>!t)))throw new p("Invalid password");this._password=t}toObject(){return{password:this.password}}}class Gt extends Rt{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 p("Invalid password");this._password=t}set req(t){if(t.password&&null!=t.isActive)throw new p("Only one property can be updated at a time");this._request=t}toObject(){return{password:this.request.password,is_active:this.request.isActive}}}class Zt extends Rt{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 p("Invalid password");this._password=t}toObject(){return{password:this.password,user_id:this.userId}}}class te extends Rt{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 p("missing ip address");if(!t.split(".").every((t=>t>=0&&t<=255)))throw new p("Invalid ip address");this._ip=t}toObject(){return{ip:this.ip,location:this.location,type:this.type,version:this.version}}}class ee extends Rt{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 se extends Rt{constructor({address:t,profession:e,requiredLevel:s,termsOfService:i,verificationId:r}){super(),this.adrs=t,this.profession=e,this.requiredLevel=s,this.terms=i,this.verificationId=r}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=new te(t).toObject())}get address(){return this._address}set adrs(t){t&&(this._address=new ee(t).toCleanObject())}toObject(){return{address:this.address,profession:this.profession,requiredLevel:this.requiredLevel,terms_of_service:this.termsOfService,verification_id:this.verificationId}}}class ie extends Rt{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(M(D,this.type)){case D.Email:if(!t.match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/))throw new p("Invalid email address");this._recipient=t;break;case D.Phone:if(!t.match(/^\+?[0-9]{10,15}$/))throw new p("Invalid Phone Number");this._recipient=t}}toObject(){return{platform_id:this.platformId,recipient:this.recipient,type:this.type}}}class re extends Rt{constructor({code:t}){super(),this.code=t}toObject(){return{code:this.code}}}class ae extends Rt{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 ne extends(Ct($t).with(Kt,Bt,Mt,Et,Dt)){constructor(t){super("api_keys",Y,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 Yt(s,e);return await this._update(t,i.toCleanObject())}}Ct($t).with(Kt);class ce extends(Ct($t).with(Mt,Et)){constructor(t){super("balance_entries",X,t)}async relatedTransaction(t){const e=qt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Pt(`${e}`,s)}async fundingInstrument(t){const e=qt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Pt(`${e}`,s)}}class oe extends(Ct($t).with(Mt,Et)){constructor(t){super("bill_payments",Q,t)}async serviceProvider(t){const e=qt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Pt(`${e}`,s)}}class de extends(Ct($t).with(Mt,Et)){constructor(t){super("bridge/accounts",st,t)}}class ue extends(Ct($t).with(Kt)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:i}){const r=new zt(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 mt.fromObject(e)}}class he extends(Ct($t).with(Kt,Bt,Mt,Et,Dt)){constructor(t){super("cards",W,t)}async create(t,e,s){const i=new Ht(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 Ft(e,s);return await this._update(t,i.toCleanObject())}}class pe extends(Ct($t).with(Mt,Et)){constructor(t){super("card_transactions",J,t)}async relatedCard(t){const e=qt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Pt(`${e}`,s)}}class le extends(Ct($t).with(Kt)){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 Xt({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 mt.fromObject(e)}}class me extends(Ct($t).with(Mt,Et)){constructor(t){super("commissions",V,t)}async relatedTransaction(t){const e=qt(t);if(null==e)return null;const s=await this.client.get(t);return Pt(`${e}`,s)}}class we extends(Ct($t).with(Mt,Et)){constructor(t){super("deposits",F,t)}async source(t){const e=await this.client.get({endpoint:t});return ct.fromObject(e)}}class _e extends(Ct($t).with(Kt)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class fe extends(Ct($t).with(Kt,Bt,Mt,Et,Dt)){constructor(t){super("savings",tt,t)}async create(t,e,s,i){const r=new Qt(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 Qt(e,s,i,r);return await this._update(t,a.toObject())}}class ve extends(Ct($t).with(Mt,Et)){constructor(t){super("service_providers",V,t)}}class be extends(Ct($t).with(Lt,Mt)){constructor(t){super("statements",et,t)}async pdf(t){return await this._download(t,T.Pdf)}async xml(t){return await this._download(t,T.Xml)}}class ye extends(Ct($t).with(Kt,Mt,Et)){constructor(t){super("transfers",z,t)}async destination(t){const e=await this.client.get({endpoint:t});return ct.fromObject(e)}async create({accountNumber:t,amount:e,descriptor:s,recipientName:i,idempotencyKey:r}){const a=r||this.constructor._genIdempotencyKey(t,e),n=new Jt(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 Jt(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 ge extends(Ct($t).with(Kt,Dt)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new Wt(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const i=new Gt(e,t);return await this._update(s,i.toCleanObject())}}class Oe extends(Ct($t).with(Kt,Bt)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new Zt(t,e),i=await this._create(s.toObject());if(!i.success)throw new h;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 Ae extends(Ct($t).with(Mt,Dt,Et)){constructor(t){super("users",Z,t)}async update({userId:t="me",...e}){const s=new se(e);return await this._update(t,s.toCleanObject())}}class je extends(Ct($t).with(Kt,Dt)){constructor(t){super("verifications",Object,t)}async create({platformId:t,recipient:e,type:s}){const i=new ie({platformId:t,recipient:e,type:s});return await this._create(i.toObject())}async update({code:t,id:e}){const s=new re({code:t});return await this._update(e,s.toObject())}}class xe extends(Ct($t).with(Kt,Mt,Et)){constructor(t){super("wallet_transactions",G,t)}async create(t,e,s){const i=new ae(t,e,s);return await this._create(i.toObject())}async realtedWallet(t){const e=qt(t);if(null==e)return null;const s=await this.client.get(t);return Pt(`${e}`,s)}}class Ie extends(Ct($t).with(Mt,Et)){constructor(t){super("whatsapp_transfers",V,t)}async accountDestination(t){const e=qt(t);if(null==e)return null;const s=await this.client.get(t);return Pt(`${e}`,s)}}t.Cuenca=class{constructor({apiKey:t,apiSecret:e,language:s="en",phase:i=S.Sandbox}={}){this.client=new nt({apiKey:t,apiSecret:e,language:s,phase:i}),this.withClient(this.client)}withClient(t){this.accounts=new Vt(t),this.apiKeys=new ne(t),this.balanceEntries=new ce(t),this.billPayments=new oe(t),this.bridgeAccounts=new de(t),this.cardActivations=new ue(t),this.cards=new he(t),this.cardTransactions=new pe(t),this.cardValidations=new le(t),this.commissions=new me(t),this.deposits=new we(t),this.loginTokens=new _e(t),this.savings=new fe(t),this.serviceProviders=new ve(t),this.statements=new be(t),this.transfers=new ye(t),this.userCredentials=new ge(t),this.userLogins=new Oe(t),this.users=new Ae(t),this.verifications=new je(t),this.walletTransactions=new xe(t),this.whatsAppTransfers=new Ie(t)}}}));
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var errors_index = require('./errors/index.cjs');
4
- var data = require('./data-6451748e.cjs');
4
+ var data = require('./data-f85a5287.cjs');
5
5
 
6
6
  class BaseRequest {
7
7
  toObject() {
@@ -1,5 +1,5 @@
1
1
  import { ValidationError } from './errors/index.mjs';
2
- import { d as dateToUTC, e as enumValueFromString, k as VerificationType } from './data-38bfc8ad.mjs';
2
+ import { d as dateToUTC, e as enumValueFromString, V as VerificationType } from './data-487ea691.mjs';
3
3
 
4
4
  class BaseRequest {
5
5
  toObject() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cuenca-mx/cuenca-js",
3
- "version": "0.0.5-dev.1",
3
+ "version": "0.0.5-dev.10",
4
4
  "description": "Cuenca client for JS",
5
5
  "main": "./build/index.cjs",
6
6
  "module": "./build/index.mjs",