@cuenca-mx/cuenca-js 0.0.4 → 0.0.5-dev.2

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.
@@ -298,6 +298,26 @@ class UserStatus {
298
298
  }
299
299
  }
300
300
 
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
+
301
321
  class VerificationType {
302
322
  static Phone = new VerificationType('phone');
303
323
 
@@ -327,4 +347,4 @@ const dateToUTC = (date) => {
327
347
  const enumValueFromString = (enumValue, value) =>
328
348
  Object.values(enumValue).find((enumV) => enumV.value === value);
329
349
 
330
- 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, 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 };
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 };
@@ -300,6 +300,26 @@ class UserStatus {
300
300
  }
301
301
  }
302
302
 
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
+
303
323
  class VerificationType {
304
324
  static Phone = new VerificationType('phone');
305
325
 
@@ -348,6 +368,7 @@ exports.TrackDataMethod = TrackDataMethod;
348
368
  exports.TransactionStatus = TransactionStatus;
349
369
  exports.TransferNetwork = TransferNetwork;
350
370
  exports.UserStatus = UserStatus;
371
+ exports.VerificationStatus = VerificationStatus;
351
372
  exports.VerificationType = VerificationType;
352
373
  exports.WalletTransactionType = WalletTransactionType;
353
374
  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, k as KYCStatus } from './data-69952249.mjs';
2
+ import { d as dateToUTC, e as enumValueFromString, K as KYCFileType, l as KYCStatus } from './data-38bfc8ad.mjs';
3
3
 
4
4
  class PageSize {
5
5
  constructor(size) {
@@ -334,4 +334,41 @@ class KYCFile {
334
334
  });
335
335
  }
336
336
 
337
- 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, CardTransactionQuery as c, TransferQuery as d, WalletTransactionQuery as e };
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 };
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var errors_index = require('./errors/index.cjs');
4
- var data = require('./data-efb53250.cjs');
4
+ var data = require('./data-6451748e.cjs');
5
5
 
6
6
  class PageSize {
7
7
  constructor(size) {
@@ -336,7 +336,45 @@ class KYCFile {
336
336
  });
337
337
  }
338
338
 
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
+
339
376
  exports.AccountQuery = AccountQuery;
377
+ exports.Address = Address;
340
378
  exports.ApiKeyQuery = ApiKeyQuery;
341
379
  exports.BalanceEntryQuery = BalanceEntryQuery;
342
380
  exports.BillPaymentQuery = BillPaymentQuery;
@@ -348,6 +386,7 @@ exports.PageSize = PageSize;
348
386
  exports.QueryParams = QueryParams;
349
387
  exports.StatementQuery = StatementQuery;
350
388
  exports.TOSAgreements = TOSAgreements;
389
+ exports.TransactionQuery = TransactionQuery;
351
390
  exports.TransferQuery = TransferQuery;
352
391
  exports.UserQuery = UserQuery;
353
392
  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-efb53250.cjs');
10
- var identities = require('./identities-93faf1ed.cjs');
11
- var walletTransactionRequest = require('./walletTransactionRequest-029d9769.cjs');
9
+ var data = require('./data-6451748e.cjs');
10
+ var identities = require('./identities-cd77b9f2.cjs');
11
+ var walletTransactionRequest = require('./walletTransactionRequest-267a5d18.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.4";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.2";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({
@@ -783,29 +783,73 @@ class Transfer extends Transaction {
783
783
 
784
784
  class User {
785
785
  constructor({
786
+ address,
787
+ blacklistValidationStatus,
788
+ clabe,
789
+ countryOfBirth,
790
+ createdAt,
791
+ curp,
786
792
  emailAddress,
793
+ dateOfBirth,
794
+ firstSurname,
795
+ gender,
787
796
  govtId,
797
+ id,
788
798
  level,
799
+ names,
800
+ nationality,
789
801
  phoneNumber,
790
802
  proofOfAddress,
791
803
  proofOfLife,
792
804
  requiredLevel,
805
+ rfc,
806
+ secondSurname,
807
+ stateOfBirth,
793
808
  status,
794
809
  termsOfService,
810
+ updatedAt,
795
811
  verificationId,
796
812
  }) {
813
+ this.add = address;
814
+ this.blacklistValidationStatus = data.enumValueFromString(
815
+ data.VerificationStatus,
816
+ blacklistValidationStatus,
817
+ );
818
+ this.clabe = clabe;
819
+ this.countryOfBirth = countryOfBirth;
820
+ this.createdAt = data.dateToUTC(createdAt);
821
+ this.curp = curp;
797
822
  this.emailAddress = emailAddress;
823
+ this.dateOfBirth = dateOfBirth;
824
+ this.firstSurname = firstSurname;
825
+ this.gender = gender;
798
826
  this.govstIds = govtId;
827
+ this.id = id;
799
828
  this.level = level;
829
+ this.names = names;
830
+ this.nationality = nationality;
800
831
  this.phoneNumber = phoneNumber;
801
832
  this.addressProofs = proofOfAddress;
802
833
  this.lifeProofs = proofOfLife;
803
834
  this.requiredLevel = requiredLevel;
835
+ this.rfc = rfc;
836
+ this.secondSurname = secondSurname;
837
+ this.stateOfBirth = stateOfBirth;
804
838
  this.status = data.enumValueFromString(data.UserStatus, status);
805
839
  this.terms = termsOfService;
840
+ this.updatedAt = data.dateToUTC(updatedAt);
806
841
  this.verificationId = verificationId;
807
842
  }
808
843
 
844
+ get address() {
845
+ return this._address;
846
+ }
847
+
848
+ set add(value) {
849
+ if (!value) return;
850
+ this._address = identities.Address.fromObject(value);
851
+ }
852
+
809
853
  get proofOfAddress() {
810
854
  return this._proofOfAddress;
811
855
  }
@@ -842,17 +886,45 @@ class User {
842
886
  this._termsOfService = identities.TOSAgreements.fromObject(value);
843
887
  }
844
888
 
845
- static fromObject = ({ level, status, ...obj }) =>
889
+ static fromObject = ({
890
+ address,
891
+ clabe,
892
+ curp,
893
+ gender,
894
+ id,
895
+ level,
896
+ names,
897
+ nationality,
898
+ rfc,
899
+ status,
900
+ ...obj
901
+ }) =>
846
902
  new User({
903
+ address,
904
+ clabe,
905
+ curp,
906
+ gender,
907
+ id,
847
908
  level,
909
+ names,
910
+ nationality,
911
+ rfc,
848
912
  status,
849
- govtId: obj.govt_id,
913
+ blacklistValidationStatus: obj.blacklist_validation_status,
914
+ countryOfBirth: obj.country_of_birth,
915
+ createdAt: obj.created_at,
916
+ dateOfBirth: obj.date_of_birth,
850
917
  emailAddress: obj.email_address,
918
+ firstSurname: obj.first_surname,
919
+ govtId: obj.govt_id,
851
920
  phoneNumber: obj.phone_number,
852
921
  proofOfAddress: obj.proof_of_address,
853
922
  proofOfLife: obj.proof_of_life,
854
923
  requiredLevel: obj.required_level,
924
+ secondSurname: obj.second_surname,
925
+ stateOfBirth: obj.state_of_birth,
855
926
  termsOfService: obj.terms_of_service,
927
+ updatedAt: obj.updated_at,
856
928
  verificationId: obj.verification_id,
857
929
  });
858
930
  }
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, U as UserStatus, V as VerificationType, W as WalletTransactionType } from './data-69952249.mjs';
6
- import { K as KYCFile, T as TOSAgreements, A as AccountQuery, a as ApiKeyQuery, B as BalanceEntryQuery, b as BillPaymentQuery, C as CardsQuery, c as CardTransactionQuery, Q as QueryParams, D as DepositQuery, W as WalletQuery, S as StatementQuery, d as TransferQuery, U as UserQuery, e as WalletTransactionQuery } from './identities-5e48f342.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-80c4c0ca.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';
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.4";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.2";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({
@@ -774,29 +774,73 @@ class Transfer extends Transaction {
774
774
 
775
775
  class User {
776
776
  constructor({
777
+ address,
778
+ blacklistValidationStatus,
779
+ clabe,
780
+ countryOfBirth,
781
+ createdAt,
782
+ curp,
777
783
  emailAddress,
784
+ dateOfBirth,
785
+ firstSurname,
786
+ gender,
778
787
  govtId,
788
+ id,
779
789
  level,
790
+ names,
791
+ nationality,
780
792
  phoneNumber,
781
793
  proofOfAddress,
782
794
  proofOfLife,
783
795
  requiredLevel,
796
+ rfc,
797
+ secondSurname,
798
+ stateOfBirth,
784
799
  status,
785
800
  termsOfService,
801
+ updatedAt,
786
802
  verificationId,
787
803
  }) {
804
+ this.add = address;
805
+ this.blacklistValidationStatus = enumValueFromString(
806
+ VerificationStatus,
807
+ blacklistValidationStatus,
808
+ );
809
+ this.clabe = clabe;
810
+ this.countryOfBirth = countryOfBirth;
811
+ this.createdAt = dateToUTC(createdAt);
812
+ this.curp = curp;
788
813
  this.emailAddress = emailAddress;
814
+ this.dateOfBirth = dateOfBirth;
815
+ this.firstSurname = firstSurname;
816
+ this.gender = gender;
789
817
  this.govstIds = govtId;
818
+ this.id = id;
790
819
  this.level = level;
820
+ this.names = names;
821
+ this.nationality = nationality;
791
822
  this.phoneNumber = phoneNumber;
792
823
  this.addressProofs = proofOfAddress;
793
824
  this.lifeProofs = proofOfLife;
794
825
  this.requiredLevel = requiredLevel;
826
+ this.rfc = rfc;
827
+ this.secondSurname = secondSurname;
828
+ this.stateOfBirth = stateOfBirth;
795
829
  this.status = enumValueFromString(UserStatus, status);
796
830
  this.terms = termsOfService;
831
+ this.updatedAt = dateToUTC(updatedAt);
797
832
  this.verificationId = verificationId;
798
833
  }
799
834
 
835
+ get address() {
836
+ return this._address;
837
+ }
838
+
839
+ set add(value) {
840
+ if (!value) return;
841
+ this._address = Address.fromObject(value);
842
+ }
843
+
800
844
  get proofOfAddress() {
801
845
  return this._proofOfAddress;
802
846
  }
@@ -833,17 +877,45 @@ class User {
833
877
  this._termsOfService = TOSAgreements.fromObject(value);
834
878
  }
835
879
 
836
- static fromObject = ({ level, status, ...obj }) =>
880
+ static fromObject = ({
881
+ address,
882
+ clabe,
883
+ curp,
884
+ gender,
885
+ id,
886
+ level,
887
+ names,
888
+ nationality,
889
+ rfc,
890
+ status,
891
+ ...obj
892
+ }) =>
837
893
  new User({
894
+ address,
895
+ clabe,
896
+ curp,
897
+ gender,
898
+ id,
838
899
  level,
900
+ names,
901
+ nationality,
902
+ rfc,
839
903
  status,
840
- govtId: obj.govt_id,
904
+ blacklistValidationStatus: obj.blacklist_validation_status,
905
+ countryOfBirth: obj.country_of_birth,
906
+ createdAt: obj.created_at,
907
+ dateOfBirth: obj.date_of_birth,
841
908
  emailAddress: obj.email_address,
909
+ firstSurname: obj.first_surname,
910
+ govtId: obj.govt_id,
842
911
  phoneNumber: obj.phone_number,
843
912
  proofOfAddress: obj.proof_of_address,
844
913
  proofOfLife: obj.proof_of_life,
845
914
  requiredLevel: obj.required_level,
915
+ secondSurname: obj.second_surname,
916
+ stateOfBirth: obj.state_of_birth,
846
917
  termsOfService: obj.terms_of_service,
918
+ updatedAt: obj.updated_at,
847
919
  verificationId: obj.verification_id,
848
920
  });
849
921
  }
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var walletTransactionRequest = require('../walletTransactionRequest-029d9769.cjs');
5
+ var walletTransactionRequest = require('../walletTransactionRequest-267a5d18.cjs');
6
6
  require('../errors/index.cjs');
7
- require('../data-efb53250.cjs');
7
+ require('../data-6451748e.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-80c4c0ca.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-2e5deaee.mjs';
2
2
  import '../errors/index.mjs';
3
- import '../data-69952249.mjs';
3
+ import '../data-38bfc8ad.mjs';
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var data = require('../data-efb53250.cjs');
6
- var identities = require('../identities-93faf1ed.cjs');
5
+ var data = require('../data-6451748e.cjs');
6
+ var identities = require('../identities-cd77b9f2.cjs');
7
7
  require('../errors/index.cjs');
8
8
 
9
9
 
@@ -27,9 +27,11 @@ exports.TrackDataMethod = data.TrackDataMethod;
27
27
  exports.TransactionStatus = data.TransactionStatus;
28
28
  exports.TransferNetwork = data.TransferNetwork;
29
29
  exports.UserStatus = data.UserStatus;
30
+ exports.VerificationStatus = data.VerificationStatus;
30
31
  exports.VerificationType = data.VerificationType;
31
32
  exports.WalletTransactionType = data.WalletTransactionType;
32
33
  exports.AccountQuery = identities.AccountQuery;
34
+ exports.Address = identities.Address;
33
35
  exports.ApiKeyQuery = identities.ApiKeyQuery;
34
36
  exports.BalanceEntryQuery = identities.BalanceEntryQuery;
35
37
  exports.BillPaymentQuery = identities.BillPaymentQuery;
@@ -41,6 +43,7 @@ exports.PageSize = identities.PageSize;
41
43
  exports.QueryParams = identities.QueryParams;
42
44
  exports.StatementQuery = identities.StatementQuery;
43
45
  exports.TOSAgreements = identities.TOSAgreements;
46
+ exports.TransactionQuery = identities.TransactionQuery;
44
47
  exports.TransferQuery = identities.TransferQuery;
45
48
  exports.UserQuery = identities.UserQuery;
46
49
  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, 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-69952249.mjs';
2
- export { A as AccountQuery, a as ApiKeyQuery, B as BalanceEntryQuery, b as BillPaymentQuery, c as CardTransactionQuery, C as CardsQuery, D as DepositQuery, K as KYCFile, P as PageSize, Q as QueryParams, S as StatementQuery, T as TOSAgreements, d as TransferQuery, U as UserQuery, W as WalletQuery, e as WalletTransactionQuery } from '../identities-5e48f342.mjs';
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';
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 v{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=v.getExpirationDate(i);return new v(r,i)}}class f{static Blocked=new f("blocked");static Comunication=new f("comunication");static ContactlesAmountLimit=new f("contactles_amount_limit");static FraudDetection=new f("fraud_detection");static FraudDetectionUncertain=new f("fraud_detection_uncertain");static InsufficientFounds=new f("insufficient_founds");static InvalidPin=new f("invalid_pin");static Notification=new f("notification");static NotificationDeactivatedCard=new f("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 j{static Physical=new j("physical");static Virtual=new j("virtual");constructor(t){this.value=t}}class A{static CardRequest=new A("card_request");static CashDeposit=new A("cash_deposit");static OutgoingSpei=new A("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 U{static UploadAgain=new U("upload_again");static ReviewNeeded=new U("review_needed");static Submitted=new U("submitted");static Succeeded=new U("succeeded");constructor(t){this.value=t}}class C{static Sandbox=new C("sandbox");static Stage=new C("stage");static Api=new C("api");constructor(t){this.value=t}}class N{static Cable=new N("cable");static CreditCard=new N("credit_card");static Electricity=new N("electricity");static Gas=new N("gas");static Internet=new N("internet");static LandlineTelephone=new N("landline_telephone");static MobileTelephonePostpaid=new N("mobile_telephone_postpaid");static MobileTelephonePrepaid=new N("mobile_telephone_prepaid");static SateliteTelevision=new N("satelite_television");static Water=new N("water");constructor(t){this.value=t}}class S{static General=new S("general");static Home=new S("home");static Vehicle=new S("vehicle");static Travel=new S("travel");static Clothing=new S("clothing");static Other=new S("other");static Medical=new S("medical");static Accident=new S("accident");static Education=new S("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 Phone=new K("phone");static Email=new K("email");constructor(t){this.value=t}}class D{static Deposit=new D("deposit");static Withdrawal=new D("withdrawal");constructor(t){this.value=t}}const M=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},L=(t,e)=>Object.values(t).find((t=>t.value===e));class B{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 B{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class V extends B{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class Y extends B{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class H extends Y{constructor({trackingKey:t,network:e,...s}){super(s),this.trackingKey=t,this.network=e}toObject(){return Object.assign(super.toObject(),{tracking_key:this.trackingKey,network:this.network})}}class F extends Y{constructor({accountNumber:t,idempotencyKey:e,trackingKey:s,network:i,...r}){super(r),this.accountNumber=t,this.idempotencyKey=e,this.trackingKey=s,this.network=i}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber,idempotency_key:this.idempotencyKey,tracking_key:this.trackingKey,network:this.network})}}class z extends B{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 X extends B{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class Q extends B{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class J extends B{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 W extends B{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class G extends B{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 Z extends B{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class tt extends B{constructor({month:t,year:e,...s}){super(s),this.d={month:t,year:e}}get month(){return this._date.month}get year(){return this._date.year}set d({month:t,year:e}){const s=M(Date.now());s.setUTCDate(1);if(M(`${e}-${t}-01`).getTime()>=s.getTime())throw new 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 et{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 et({ip:t,location:e,type:s,version:i})}class st{constructor({data:t,isMx:e,status:s,type:i,uriBack:r,uriFront:a}){this.data=t,this.isMx=e,this.status=L(U,s),this.type=L(T,i),this.uriBack=r,this.uriFront=a}static fromObject=({data:t,status:e,type:s,...i})=>new st({data:t,status:e,type:s,isMx:i.is_mx,uriBack:i.uri_back,uriFront:i.uri_front})}var it="0.0.4";class rt{constructor({apiKey:t,apiSecret:e,language:s="en",phase:i=C.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 v.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/${it}`:w&&(a["X-User-Agent"]=`cuenca-js/${it}`),this.jwtToken&&(this.jwtToken.isExpired&&(this.jwtToken=await v.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 at{constructor({accountNumber:t,createdAt:e,id:s,institutionName:i,name:r,userId:a}){this.accountNumber=t,this.createdAt=M(e),this.id=s,this.institutionName=i,this.name=r,this.userId=a}static fromObject=({id:t,name:e,...s})=>new at({id:t,name:e,accountNumber:s.account_number,createdAt:s.created_at,institutionName:s.institution_name,userId:s.user_id})}class nt{constructor({createdAt:t,deactivatedAt:e,id:s,secret:i,userId:r,updatedAt:a}){this.createdAt=M(t),this.deactivatedAt=M(e),this.id=s,this.secret=i,this.userId=r,this.updatedAt=M(a)}static fromObject=({id:t,secret:e,...s})=>new nt({id:t,secret:e,createdAt:s.created_at,deactivatedAt:s.deactivated_at,userId:s.user_id,updatedAt:s.updated_at});get isActive(){const t=M(Date.now());return!this.deactivatedAt||this.deactivatedAt.getTime()>t.getTime()}}class ct{constructor({arpc:t,createdAt:e,cardUri:s,isValidArqc:i}){this.arpc=t,this.createdAt=M(e),this.cardUri=s,this.isValidArqc=i}static fromObject=({arpc:t,...e})=>new ct({arpc:t,createdAt:e.created_at,cardUri:e.card_uri,isValidArqc:e.is_valid_arqc})}class ot{constructor({amount:t,createdAt:e,descriptor:s,entryType:i,fundingInstrumentUri:r,id:a,name:n,relatedTransactionUri:c,rollingBalance:o}){this.amount=t,this.createdAt=M(e),this.descriptor=s,this.entryType=L(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 ot({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 dt{constructor({amount:t,createdAt:e,descriptor:s,status:i,userId:r}){this.amount=t,this.createdAt=M(e),this.descriptor=s,this.status=L(q,i),this.userId=r}}class ut extends dt{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 ut({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 ht{constructor({createdAt:t,cvv2:e,expMonth:s,expYear:i,fundingType:r,id:a,issuer:n,number:c,pin:o,status:d,type:u,updatedAt:h,userId:p}){this.createdAt=M(t),this.cvv2=e,this.expMonth=s,this.expYear=i,this.fundingType=L(b,r),this.id=a,this.issuer=L(y,n),this.number=c,this.pin=o,this.status=L(g,d),this.type=L(j,u),this.updatedAt=M(h),this.userId=p}static fromObject=({cvv2:t,id:e,issuer:s,number:i,pin:r,status:a,type:n,...c})=>new ht({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 pt{constructor({cardUri:t,createdAt:e,id:s,ipAddress:i,success:r,userId:a}){this.cardUri=t,this.createdAt=M(e),this.id=s,this.ipAddress=i,this.success=r,this.userId=a}static fromObject=({id:t,success:e,...s})=>new pt({id:t,success:e,cardUri:s.card_uri,createdAt:s.created_at,ipAddress:s.ip_address,userId:s.user_id})}class lt extends dt{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=L(f,e),this.cardLastFour=s,this.cardType=L(j,i),this.cardUri=r,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=L(O,h)}static fromObject=({amount:t,descriptor:e,metadata:s,network:i,status:r,type:a,...n})=>new lt({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 mt{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=L(g,t),this.cardType=L(j,e),this.cardUri=s,this.createdAt=M(i),this.isExpired=r,this.isPinAttemptsExceeded=a,this.isValidCvv=n,this.isValidCvv2=c,this.isValidExpDate=o,this.isValidIcvv=d,this.isValidPinBlock=u,this.userId=h}static fromObject=({...t})=>new mt({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 wt extends dt{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=L(A,a)}static fromObject=({amount:t,descriptor:e,status:s,type:i,...r})=>new wt({amount:t,descriptor:e,status:s,type:i,createdAt:r.created_at,relatedTransactionUri:r.related_transaction_uri,userId:r.user_id})}class _t extends dt{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=L(x,r),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new _t({amount:t,descriptor:e,id:s,network:i,status:r,createdAt:a.created_at,sourceUri:a.source_uri,trackingKey:a.tracking_key,userId:a.user_id})}class vt{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new vt({id:t})}class ft extends class{constructor({balance:t,createdAt:e,deactivatedAt:s,id:i,userId:r,updatedAt:a}){this.balance=t,this.createdAt=M(e),this.deactivatedAt=M(s),this.id=i,this.userId=r,this.updatedAt=M(a)}}{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=L(S,e),this.goalAmount=r,this.goalDate=M(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:i,...r})=>new ft({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 bt{constructor({categories:t,id:e,name:s,providerKey:i}){var r;this.categories=null==(r=t)?[]:r.map((t=>L(N,t))),this.id=e,this.name=s,this.providerKey=i}static fromObject=({categories:t,id:e,name:s,...i})=>new bt({categories:t,id:e,name:s,providerKey:i.provider_key})}class yt{constructor({createdAt:t,id:e,month:s,year:i}){this.createdAt=M(t),this.id=e,this.month=s,this.year=i}static fromObject=({id:t,month:e,year:s,...i})=>new yt({id:t,month:e,year:s,createdAt:i.created_at})}class gt extends dt{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=L($,c),this.recipientName=o,this.trackingKey=u,this.updatedAt=M(h)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new gt({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 Ot{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=L(E,c),this.terms=o,this.verificationId=d}get proofOfAddress(){return this._proofOfAddress}set addressProofs(t){t&&(this._proofOfAddress=st.fromObject(t))}get proofOfLife(){return this._proofOfLife}set lifeProofs(t){t&&(this._proofOfLife=st.fromObject(t))}get govtId(){return this._govtId}set govstIds(t){t&&(this._govtId=st.fromObject(t))}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=et.fromObject(t))}static fromObject=({level:t,status:e,...s})=>new Ot({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 jt{constructor({createdAt:t,id:e,isActive:s,updatedAt:i}){this.createdAt=M(t),this.id=e,this.isActive=s,this.updatedAt=M(i)}static fromObject=({id:t,...e})=>new jt({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class At{constructor({id:t,lastLoginAt:e,success:s}){this.id=t,this.lastLoginAt=M(e),this.success=s}static fromObject=({id:t,success:e,...s})=>new At({id:t,success:e,lastLoginAt:s.last_login_at})}class xt{constructor({createdAt:t,id:e,platformId:s,recipient:i,type:r,updatedAt:a}){this.createdAt=M(t),this.id=e,this.platformId=s,this.recipient=i,this.type=L(K,r),this.updatedAt=M(a)}static fromObject=({id:t,recipient:e,type:s,...i})=>new xt({id:t,recipient:e,type:s,createdAt:i.created_at,platformId:i.platform_id,updatedAt:i.updated_at})}class It extends dt{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=L(D,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:i,...r})=>new It({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 kt extends dt{constructor({amount:t,claimUrl:e,createdAt:s,descriptor:i,destinationUri:r,expiresAt:a,id:n,network:c,phoneNumber:o,recipientName:d,status:u,trackingKey:h,updatedAt:p,userId:l}){super({amount:t,createdAt:s,descriptor:i,status:u,userId:l}),this.claimUrl=e,this.destinationUri=r,this.id=n,this.expiresAt=M(a),this.network=L($,c),this.phoneNumber=o,this.recipientName=d,this.trackingKey=h,this.updatedAt=M(p)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new kt({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 Tt{constructor(t){this.superclass=t}with(...t){return t.reduce(((t,e)=>e(t)),this.superclass)}}const Ut=t=>new Tt(t),Ct=(t,e)=>({accounts:()=>at.fromObject(e),api_keys:()=>nt.fromObject(e),arpc:()=>ct.fromObject(e),balance_entries:()=>ot.fromObject(e),bill_payments:()=>ut.fromObject(e),cards:()=>ht.fromObject(e),card_activations:()=>pt.fromObject(e),card_transactions:()=>lt.fromObject(e),card_validations:()=>mt.fromObject(e),commissions:()=>wt.fromObject(e),deposits:()=>_t.fromObject(e),login_tokens:()=>vt.fromObject(e),savings:()=>ft.fromObject(e),service_providers:()=>bt.fromObject(e),statements:()=>yt.fromObject(e),transfers:()=>gt.fromObject(e),users:()=>Ot.fromObject(e),user_credentials:()=>jt.fromObject(e),user_logins:()=>At.fromObject(e),verifications:()=>xt.fromObject(e),wallet_transactions:()=>It.fromObject(e),whatsapp_transfers:()=>kt.fromObject(e)}[t]()),Nt=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class St{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const Pt=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return Ct(this.path,e)}},qt=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return Ct(this.path,e)}},$t=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)}},Et=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)}},Kt=t=>class extends t{async _download(t,e){return await this.client.get({endpoint:`/${this.path}/${t}`,format:e})}},Dt=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 Mt extends(Ut(St).with(Dt,Pt)){constructor(t){super("accounts",R,t)}}class Lt{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class Bt extends Lt{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class Rt extends Lt{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 Vt extends Lt{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class Yt extends Lt{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 Ht extends Lt{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 Ft extends Lt{constructor(t,e,s,i){super(),this.category=t,this.name=i,this.goalAmount=e,this.validDate=s}get goalDate(){return this._goalDate}set validDate(t){if(t){if(M(t).getTime()<=M(Date.now()).getTime())throw new 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 zt extends Lt{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 Xt extends Lt{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 Qt extends Lt{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 Jt extends Lt{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 Wt extends Lt{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 Gt extends Lt{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 Zt extends Lt{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 Wt(t).toObject())}get address(){return this._address}set adrs(t){t&&(this._address=new Gt(t).toCleanObject())}toObject(){return{address:this.address,profession:this.profession,requiredLevel:this.requiredLevel,terms_of_service:this.termsOfService,verification_id:this.verificationId}}}class te extends Lt{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(L(K,this.type)){case K.Email:if(!t.match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/))throw new p("Invalid email address");this._recipient=t;break;case K.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 ee extends Lt{constructor({code:t}){super(),this.code=t}toObject(){return{code:this.code}}}class se extends Lt{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 ie extends(Ut(St).with(qt,Et,Dt,Pt,$t)){constructor(t){super("api_keys",V,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 Bt(s,e);return await this._update(t,i.toCleanObject())}}Ut(St).with(qt);class re extends(Ut(St).with(Dt,Pt)){constructor(t){super("balance_entries",z,t)}async relatedTransaction(t){const e=Nt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ct(`${e}`,s)}async fundingInstrument(t){const e=Nt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ct(`${e}`,s)}}class ae extends(Ut(St).with(Dt,Pt)){constructor(t){super("bill_payments",X,t)}async serviceProvider(t){const e=Nt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ct(`${e}`,s)}}class ne extends(Ut(St).with(qt)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:i}){const r=new Yt(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 ht.fromObject(e)}}class ce extends(Ut(St).with(qt,Et,Dt,Pt,$t)){constructor(t){super("cards",J,t)}async create(t,e,s){const i=new Rt(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 Vt(e,s);return await this._update(t,i.toCleanObject())}}class oe extends(Ut(St).with(Dt,Pt)){constructor(t){super("card_transactions",Q,t)}async relatedCard(t){const e=Nt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ct(`${e}`,s)}}class de extends(Ut(St).with(qt)){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 Ht({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 ht.fromObject(e)}}class ue extends(Ut(St).with(Dt,Pt)){constructor(t){super("commissions",B,t)}async relatedTransaction(t){const e=Nt(t);if(null==e)return null;const s=await this.client.get(t);return Ct(`${e}`,s)}}class he extends(Ut(St).with(Dt,Pt)){constructor(t){super("deposits",H,t)}async source(t){const e=await this.client.get({endpoint:t});return at.fromObject(e)}}class pe extends(Ut(St).with(qt)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class le extends(Ut(St).with(qt,Et,Dt,Pt,$t)){constructor(t){super("savings",Z,t)}async create(t,e,s,i){const r=new Ft(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 Ft(e,s,i,r);return await this._update(t,a.toObject())}}class me extends(Ut(St).with(Dt,Pt)){constructor(t){super("service_providers",B,t)}}class we extends(Ut(St).with(Kt,Dt)){constructor(t){super("statements",tt,t)}async pdf(t){return await this._download(t,k.Pdf)}async xml(t){return await this._download(t,k.Xml)}}class _e extends(Ut(St).with(qt,Dt,Pt)){constructor(t){super("transfers",F,t)}async destination(t){const e=await this.client.get({endpoint:t});return at.fromObject(e)}async create({accountNumber:t,amount:e,descriptor:s,recipientName:i,idempotencyKey:r}){const a=r||this.constructor._genIdempotencyKey(t,e),n=new zt(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 zt(t,s,i,r||this.constructor._genIdempotencyKey(t,s),a);let c;try{c=await this._create(n.toCleanObject())}catch(t){return void e.errors.push({actualRequest:n,error:t})}e.submitted.push(c)}))),e}static _genIdempotencyKey(t,e){const[s]=M(Date.now()).toISOString().split("T");return`${s}:${t}:${e}`}}class ve extends(Ut(St).with(qt,$t)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new Xt(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const i=new Qt(e,t);return await this._update(s,i.toCleanObject())}}class fe extends(Ut(St).with(qt,Et)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new Jt(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 be extends(Ut(St).with(Dt,$t,Pt)){constructor(t){super("users",G,t)}async update({userId:t="me",...e}){const s=new Zt(e);return await this._update(t,s.toCleanObject())}}class ye extends(Ut(St).with(qt,$t)){constructor(t){super("verifications",Object,t)}async create({platformId:t,recipient:e,type:s}){const i=new te({platformId:t,recipient:e,type:s});return await this._create(i.toObject())}async update({code:t,id:e}){const s=new ee({code:t});return await this._update(e,s.toObject())}}class ge extends(Ut(St).with(qt,Dt,Pt)){constructor(t){super("wallet_transactions",W,t)}async create(t,e,s){const i=new se(t,e,s);return await this._create(i.toObject())}async realtedWallet(t){const e=Nt(t);if(null==e)return null;const s=await this.client.get(t);return Ct(`${e}`,s)}}class Oe extends(Ut(St).with(Dt,Pt)){constructor(t){super("whatsapp_transfers",B,t)}async accountDestination(t){const e=Nt(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=C.Sandbox}={}){this.client=new rt({apiKey:t,apiSecret:e,language:s,phase:i}),this.withClient(this.client)}withClient(t){this.accounts=new Mt(t),this.apiKeys=new ie(t),this.balanceEntries=new re(t),this.billPayments=new ae(t),this.cardActivations=new ne(t),this.cards=new ce(t),this.cardTransactions=new oe(t),this.cardValidations=new de(t),this.commissions=new ue(t),this.deposits=new he(t),this.loginTokens=new pe(t),this.savings=new le(t),this.serviceProviders=new me(t),this.statements=new we(t),this.transfers=new _e(t),this.userCredentials=new ve(t),this.userLogins=new fe(t),this.users=new be(t),this.verifications=new ye(t),this.walletTransactions=new ge(t),this.whatsAppTransfers=new Oe(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 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 B{static Phone=new B("phone");static Email=new B("email");constructor(t){this.value=t}}class D{static Deposit=new D("deposit");static Withdrawal=new D("withdrawal");constructor(t){this.value=t}}const M=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},L=(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=M(Date.now());s.setUTCDate(1);if(M(`${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=L(N,s),this.type=L(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=M(s),this.extNumber=i,this.fullName=r,this.intNumber=a,this.postalCode=n,this.state=c,this.street=o}static fromObject=({city:t,country:e,state:s,street:i,...r})=>new 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.2";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=M(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=M(t),this.deactivatedAt=M(e),this.id=s,this.secret=i,this.userId=r,this.updatedAt=M(a)}static fromObject=({id:t,secret:e,...s})=>new 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=M(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=M(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=M(e),this.descriptor=s,this.entryType=L(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=M(e),this.descriptor=s,this.status=L(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=M(t),this.cvv2=e,this.expMonth=s,this.expYear=i,this.fundingType=L(b,r),this.id=a,this.issuer=L(y,n),this.number=c,this.pin=o,this.status=L(g,d),this.type=L(A,u),this.updatedAt=M(h),this.userId=p}static fromObject=({cvv2:t,id:e,issuer:s,number:i,pin:r,status:a,type:n,...c})=>new 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=M(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=L(v,e),this.cardLastFour=s,this.cardType=L(A,i),this.cardUri=r,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=L(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=L(g,t),this.cardType=L(A,e),this.cardUri=s,this.createdAt=M(i),this.isExpired=r,this.isPinAttemptsExceeded=a,this.isValidCvv=n,this.isValidCvv2=c,this.isValidExpDate=o,this.isValidIcvv=d,this.isValidPinBlock=u,this.userId=h}static fromObject=({...t})=>new _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=L(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=L(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=M(e),this.deactivatedAt=M(s),this.id=i,this.userId=r,this.updatedAt=M(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=L(C,e),this.goalAmount=r,this.goalDate=M(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=>L(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=M(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=L($,c),this.recipientName=o,this.trackingKey=u,this.updatedAt=M(h)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new 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,countryOfBirth:i,createdAt:r,curp:a,emailAddress:n,dateOfBirth:c,firstSurname:o,gender:d,govtId:u,id:h,level:p,names:l,nationality:m,phoneNumber:w,proofOfAddress:_,proofOfLife:f,requiredLevel:v,rfc:b,secondSurname:y,stateOfBirth:g,status:O,termsOfService:A,updatedAt:j,verificationId:x}){this.add=t,this.blacklistValidationStatus=L(K,e),this.clabe=s,this.countryOfBirth=i,this.createdAt=M(r),this.curp=a,this.emailAddress=n,this.dateOfBirth=c,this.firstSurname=o,this.gender=d,this.govstIds=u,this.id=h,this.level=p,this.names=l,this.nationality=m,this.phoneNumber=w,this.addressProofs=_,this.lifeProofs=f,this.requiredLevel=v,this.rfc=b,this.secondSurname=y,this.stateOfBirth=g,this.status=L(E,O),this.terms=A,this.updatedAt=M(j),this.verificationId=x}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,gender:i,id:r,level:a,names:n,nationality:c,rfc:o,status:d,...u})=>new jt({address:t,clabe:e,curp:s,gender:i,id:r,level:a,names:n,nationality:c,rfc:o,status:d,blacklistValidationStatus:u.blacklist_validation_status,countryOfBirth:u.country_of_birth,createdAt:u.created_at,dateOfBirth:u.date_of_birth,emailAddress:u.email_address,firstSurname:u.first_surname,govtId:u.govt_id,phoneNumber:u.phone_number,proofOfAddress:u.proof_of_address,proofOfLife:u.proof_of_life,requiredLevel:u.required_level,secondSurname:u.second_surname,stateOfBirth:u.state_of_birth,termsOfService:u.terms_of_service,updatedAt:u.updated_at,verificationId:u.verification_id})}class xt{constructor({createdAt:t,id:e,isActive:s,updatedAt:i}){this.createdAt=M(t),this.id=e,this.isActive=s,this.updatedAt=M(i)}static fromObject=({id:t,...e})=>new 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=M(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=M(t),this.id=e,this.platformId=s,this.recipient=i,this.type=L(B,r),this.updatedAt=M(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=L(D,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=M(a),this.network=L($,c),this.phoneNumber=o,this.recipientName=d,this.trackingKey=h,this.updatedAt=M(p)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new 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)}},Bt=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)}},Dt=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 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 Lt extends(Ut(qt).with(Mt,$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(M(t).getTime()<=M(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(L(B,this.type)){case B.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 B.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,Bt,Mt,$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(Mt,$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(Mt,$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,Bt,Mt,$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(Mt,$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(Mt,$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(Mt,$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,Bt,Mt,$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(Mt,$t)){constructor(t){super("service_providers",V,t)}}class fe extends(Ut(qt).with(Dt,Mt)){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,Mt,$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]=M(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,Bt)){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(Mt,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,Mt,$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(Mt,$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 Lt(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,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var errors_index = require('./errors/index.cjs');
4
- var data = require('./data-efb53250.cjs');
4
+ var data = require('./data-6451748e.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, V as VerificationType } from './data-69952249.mjs';
2
+ import { d as dateToUTC, e as enumValueFromString, k as VerificationType } from './data-38bfc8ad.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.4",
3
+ "version": "0.0.5-dev.2",
4
4
  "description": "Cuenca client for JS",
5
5
  "main": "./build/index.cjs",
6
6
  "module": "./build/index.mjs",