@cuenca-mx/cuenca-js 0.0.1-dev.32 → 0.0.1-dev.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/{identities-31dcced0.cjs → identities-3d77cc91.cjs} +62 -4
- package/build/{identities-f6558f98.mjs → identities-f06b09d1.mjs} +61 -6
- package/build/index.cjs +38 -2
- package/build/index.mjs +38 -2
- package/build/types/index.cjs +4 -1
- package/build/types/index.mjs +1 -1
- package/build/umd/cuenca.umd.js +1 -1
- package/package.json +1 -1
|
@@ -141,6 +141,38 @@ class FileFormat {
|
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
143
|
|
|
144
|
+
class KYCFileType {
|
|
145
|
+
static Ine = new KYCFileType('ine');
|
|
146
|
+
|
|
147
|
+
static Passport = new KYCFileType('passport');
|
|
148
|
+
|
|
149
|
+
static Residency = new KYCFileType('residency');
|
|
150
|
+
|
|
151
|
+
static MatriculaConsular = new KYCFileType('matricula_consular');
|
|
152
|
+
|
|
153
|
+
static ProofOfLiveness = new KYCFileType('proof_of_liveness');
|
|
154
|
+
|
|
155
|
+
static ProofOfAddress = new KYCFileType('proof_of_address');
|
|
156
|
+
|
|
157
|
+
constructor(value) {
|
|
158
|
+
this.value = value;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
class KYCStatus {
|
|
163
|
+
static UploadAgain = new KYCStatus('upload_again');
|
|
164
|
+
|
|
165
|
+
static ReviewNeeded = new KYCStatus('review_needed');
|
|
166
|
+
|
|
167
|
+
static Submitted = new KYCStatus('submitted');
|
|
168
|
+
|
|
169
|
+
static Succeeded = new KYCStatus('succeeded');
|
|
170
|
+
|
|
171
|
+
constructor(value) {
|
|
172
|
+
this.value = value;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
144
176
|
class Phase {
|
|
145
177
|
static Sandbox = new Phase('sandbox');
|
|
146
178
|
|
|
@@ -262,9 +294,9 @@ class UserStatus {
|
|
|
262
294
|
|
|
263
295
|
static Deactivated = new UserStatus('deactivated');
|
|
264
296
|
|
|
265
|
-
static
|
|
297
|
+
static Fraud = new UserStatus('fraud');
|
|
266
298
|
|
|
267
|
-
static
|
|
299
|
+
static PldBlocked = new UserStatus('pld_blocked');
|
|
268
300
|
|
|
269
301
|
constructor(value) {
|
|
270
302
|
this.value = value;
|
|
@@ -577,20 +609,43 @@ class StatementQuery extends QueryParams {
|
|
|
577
609
|
}
|
|
578
610
|
|
|
579
611
|
class TOSAgreements {
|
|
580
|
-
constructor({ ip, location, version }) {
|
|
612
|
+
constructor({ ip, location, type, version }) {
|
|
581
613
|
this.ip = ip;
|
|
582
614
|
this.location = location;
|
|
615
|
+
this.type = type;
|
|
583
616
|
this.version = version;
|
|
584
617
|
}
|
|
585
618
|
|
|
586
|
-
static fromObject = ({ ip, location, version }) =>
|
|
619
|
+
static fromObject = ({ ip, location, type, version }) =>
|
|
587
620
|
new TOSAgreements({
|
|
588
621
|
ip,
|
|
589
622
|
location,
|
|
623
|
+
type,
|
|
590
624
|
version,
|
|
591
625
|
});
|
|
592
626
|
}
|
|
593
627
|
|
|
628
|
+
class KYCFile {
|
|
629
|
+
constructor({ data: data$1, isMx, status, type, uriBack, uriFront }) {
|
|
630
|
+
this.data = data$1;
|
|
631
|
+
this.isMx = isMx;
|
|
632
|
+
this.status = data.enumValueFromString(KYCStatus, status);
|
|
633
|
+
this.type = data.enumValueFromString(KYCFileType, type);
|
|
634
|
+
this.uriBack = uriBack;
|
|
635
|
+
this.uriFront = uriFront;
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
static fromObject = ({ data, status, type, ...obj }) =>
|
|
639
|
+
new KYCFile({
|
|
640
|
+
data,
|
|
641
|
+
status,
|
|
642
|
+
type,
|
|
643
|
+
isMx: obj.is_mx,
|
|
644
|
+
uriBack: obj.uri_back,
|
|
645
|
+
uriFront: obj.uri_front,
|
|
646
|
+
});
|
|
647
|
+
}
|
|
648
|
+
|
|
594
649
|
exports.AccountQuery = AccountQuery;
|
|
595
650
|
exports.ApiKeyQuery = ApiKeyQuery;
|
|
596
651
|
exports.BalanceEntryQuery = BalanceEntryQuery;
|
|
@@ -608,6 +663,9 @@ exports.DepositNetwork = DepositNetwork;
|
|
|
608
663
|
exports.DepositQuery = DepositQuery;
|
|
609
664
|
exports.EntryType = EntryType;
|
|
610
665
|
exports.FileFormat = FileFormat;
|
|
666
|
+
exports.KYCFile = KYCFile;
|
|
667
|
+
exports.KYCFileType = KYCFileType;
|
|
668
|
+
exports.KYCStatus = KYCStatus;
|
|
611
669
|
exports.PageSize = PageSize;
|
|
612
670
|
exports.Phase = Phase;
|
|
613
671
|
exports.QueryParams = QueryParams;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ValidationError } from './errors/index.mjs';
|
|
2
|
-
import { d as dateToUTC } from './data-d5bcb7c8.mjs';
|
|
2
|
+
import { d as dateToUTC, e as enumValueFromString } from './data-d5bcb7c8.mjs';
|
|
3
3
|
|
|
4
4
|
class CardErrorType {
|
|
5
5
|
static Blocked = new CardErrorType('blocked');
|
|
@@ -139,6 +139,38 @@ class FileFormat {
|
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
+
class KYCFileType {
|
|
143
|
+
static Ine = new KYCFileType('ine');
|
|
144
|
+
|
|
145
|
+
static Passport = new KYCFileType('passport');
|
|
146
|
+
|
|
147
|
+
static Residency = new KYCFileType('residency');
|
|
148
|
+
|
|
149
|
+
static MatriculaConsular = new KYCFileType('matricula_consular');
|
|
150
|
+
|
|
151
|
+
static ProofOfLiveness = new KYCFileType('proof_of_liveness');
|
|
152
|
+
|
|
153
|
+
static ProofOfAddress = new KYCFileType('proof_of_address');
|
|
154
|
+
|
|
155
|
+
constructor(value) {
|
|
156
|
+
this.value = value;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
class KYCStatus {
|
|
161
|
+
static UploadAgain = new KYCStatus('upload_again');
|
|
162
|
+
|
|
163
|
+
static ReviewNeeded = new KYCStatus('review_needed');
|
|
164
|
+
|
|
165
|
+
static Submitted = new KYCStatus('submitted');
|
|
166
|
+
|
|
167
|
+
static Succeeded = new KYCStatus('succeeded');
|
|
168
|
+
|
|
169
|
+
constructor(value) {
|
|
170
|
+
this.value = value;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
142
174
|
class Phase {
|
|
143
175
|
static Sandbox = new Phase('sandbox');
|
|
144
176
|
|
|
@@ -260,9 +292,9 @@ class UserStatus {
|
|
|
260
292
|
|
|
261
293
|
static Deactivated = new UserStatus('deactivated');
|
|
262
294
|
|
|
263
|
-
static
|
|
295
|
+
static Fraud = new UserStatus('fraud');
|
|
264
296
|
|
|
265
|
-
static
|
|
297
|
+
static PldBlocked = new UserStatus('pld_blocked');
|
|
266
298
|
|
|
267
299
|
constructor(value) {
|
|
268
300
|
this.value = value;
|
|
@@ -575,18 +607,41 @@ class StatementQuery extends QueryParams {
|
|
|
575
607
|
}
|
|
576
608
|
|
|
577
609
|
class TOSAgreements {
|
|
578
|
-
constructor({ ip, location, version }) {
|
|
610
|
+
constructor({ ip, location, type, version }) {
|
|
579
611
|
this.ip = ip;
|
|
580
612
|
this.location = location;
|
|
613
|
+
this.type = type;
|
|
581
614
|
this.version = version;
|
|
582
615
|
}
|
|
583
616
|
|
|
584
|
-
static fromObject = ({ ip, location, version }) =>
|
|
617
|
+
static fromObject = ({ ip, location, type, version }) =>
|
|
585
618
|
new TOSAgreements({
|
|
586
619
|
ip,
|
|
587
620
|
location,
|
|
621
|
+
type,
|
|
588
622
|
version,
|
|
589
623
|
});
|
|
590
624
|
}
|
|
591
625
|
|
|
592
|
-
|
|
626
|
+
class KYCFile {
|
|
627
|
+
constructor({ data, isMx, status, type, uriBack, uriFront }) {
|
|
628
|
+
this.data = data;
|
|
629
|
+
this.isMx = isMx;
|
|
630
|
+
this.status = enumValueFromString(KYCStatus, status);
|
|
631
|
+
this.type = enumValueFromString(KYCFileType, type);
|
|
632
|
+
this.uriBack = uriBack;
|
|
633
|
+
this.uriFront = uriFront;
|
|
634
|
+
}
|
|
635
|
+
|
|
636
|
+
static fromObject = ({ data, status, type, ...obj }) =>
|
|
637
|
+
new KYCFile({
|
|
638
|
+
data,
|
|
639
|
+
status,
|
|
640
|
+
type,
|
|
641
|
+
isMx: obj.is_mx,
|
|
642
|
+
uriBack: obj.uri_back,
|
|
643
|
+
uriFront: obj.uri_front,
|
|
644
|
+
});
|
|
645
|
+
}
|
|
646
|
+
|
|
647
|
+
export { AccountQuery as A, BalanceEntryQuery as B, CardFundingType as C, DepositNetwork as D, EntryType as E, FileFormat as F, KYCFile as K, Phase as P, QueryParams as Q, SavingCategory as S, TransactionStatus as T, UserStatus as U, WalletTransactionType as W, CardIssuer as a, CardStatus as b, CardType as c, CardErrorType as d, CardTransactionType as e, CommissionType as f, ServiceProviderCategory as g, TransferNetwork as h, TOSAgreements as i, ApiKeyQuery as j, BillPaymentQuery as k, CardsQuery as l, CardTransactionQuery as m, DepositQuery as n, WalletQuery as o, StatementQuery as p, TransferQuery as q, UserQuery as r, WalletTransactionQuery as s, KYCFileType as t, KYCStatus as u, TrackDataMethod as v, PageSize as w };
|
package/build/index.cjs
CHANGED
|
@@ -6,7 +6,7 @@ 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 identities = require('./identities-
|
|
9
|
+
var identities = require('./identities-3d77cc91.cjs');
|
|
10
10
|
var data = require('./data-9edbb2a0.cjs');
|
|
11
11
|
var walletTransactionRequest = require('./walletTransactionRequest-572c455b.cjs');
|
|
12
12
|
|
|
@@ -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.1-dev.
|
|
29
|
+
const name="@cuenca-mx/cuenca-js";const version="0.0.1-dev.35";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({ apiKey, apiSecret, phase = identities.Phase.Sandbox } = {}) {
|
|
@@ -773,20 +773,53 @@ class Transfer extends Transaction {
|
|
|
773
773
|
class User {
|
|
774
774
|
constructor({
|
|
775
775
|
emailAddress,
|
|
776
|
+
govtId,
|
|
776
777
|
level,
|
|
777
778
|
phoneNumber,
|
|
779
|
+
proofOfAddress,
|
|
780
|
+
proofOfLife,
|
|
778
781
|
status,
|
|
779
782
|
termsOfService,
|
|
780
783
|
verificationId,
|
|
781
784
|
}) {
|
|
782
785
|
this.emailAddress = emailAddress;
|
|
786
|
+
this.govstIds = govtId;
|
|
783
787
|
this.level = level;
|
|
784
788
|
this.phoneNumber = phoneNumber;
|
|
789
|
+
this.addressProofs = proofOfAddress;
|
|
790
|
+
this.lifeProofs = proofOfLife;
|
|
785
791
|
this.status = data.enumValueFromString(identities.UserStatus, status);
|
|
786
792
|
this.terms = termsOfService;
|
|
787
793
|
this.verificationId = verificationId;
|
|
788
794
|
}
|
|
789
795
|
|
|
796
|
+
get proofOfAddress() {
|
|
797
|
+
return this._proofOfAddress;
|
|
798
|
+
}
|
|
799
|
+
|
|
800
|
+
set addressProofs(value) {
|
|
801
|
+
if (!value) return;
|
|
802
|
+
this._proofOfAddress = identities.KYCFile.fromObject(value);
|
|
803
|
+
}
|
|
804
|
+
|
|
805
|
+
get proofOfLife() {
|
|
806
|
+
return this._proofOfLife;
|
|
807
|
+
}
|
|
808
|
+
|
|
809
|
+
set lifeProofs(value) {
|
|
810
|
+
if (!value) return;
|
|
811
|
+
this._proofOfLife = identities.KYCFile.fromObject(value);
|
|
812
|
+
}
|
|
813
|
+
|
|
814
|
+
get govtId() {
|
|
815
|
+
return this._govtId;
|
|
816
|
+
}
|
|
817
|
+
|
|
818
|
+
set govstIds(value) {
|
|
819
|
+
if (!value) return;
|
|
820
|
+
this._govtId = identities.KYCFile.fromObject(value);
|
|
821
|
+
}
|
|
822
|
+
|
|
790
823
|
get termsOfService() {
|
|
791
824
|
return this._termsOfService;
|
|
792
825
|
}
|
|
@@ -800,8 +833,11 @@ class User {
|
|
|
800
833
|
new User({
|
|
801
834
|
level,
|
|
802
835
|
status,
|
|
836
|
+
govtId: obj.govt_id,
|
|
803
837
|
emailAddress: obj.email_address,
|
|
804
838
|
phoneNumber: obj.phone_number,
|
|
839
|
+
proofOfAddress: obj.proof_of_address,
|
|
840
|
+
proofOfLife: obj.proof_of_life,
|
|
805
841
|
termsOfService: obj.terms_of_service,
|
|
806
842
|
verificationId: obj.verification_id,
|
|
807
843
|
});
|
package/build/index.mjs
CHANGED
|
@@ -2,7 +2,7 @@ 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, E as EntryType, T as TransactionStatus, C as
|
|
5
|
+
import { P as Phase, F as FileFormat, E as EntryType, T as TransactionStatus, C as CardFundingType, a as CardIssuer, b as CardStatus, c as CardType, d as CardErrorType, e as CardTransactionType, f as CommissionType, D as DepositNetwork, S as SavingCategory, g as ServiceProviderCategory, h as TransferNetwork, U as UserStatus, K as KYCFile, i as TOSAgreements, W as WalletTransactionType, A as AccountQuery, j as ApiKeyQuery, B as BalanceEntryQuery, k as BillPaymentQuery, l as CardsQuery, m as CardTransactionQuery, Q as QueryParams, n as DepositQuery, o as WalletQuery, p as StatementQuery, q as TransferQuery, r as UserQuery, s as WalletTransactionQuery } from './identities-f06b09d1.mjs';
|
|
6
6
|
import { d as dateToUTC, e as enumValueFromString } from './data-d5bcb7c8.mjs';
|
|
7
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, W as WalletTransactionRequest } from './walletTransactionRequest-4e6b348f.mjs';
|
|
8
8
|
|
|
@@ -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.1-dev.
|
|
20
|
+
const name="@cuenca-mx/cuenca-js";const version="0.0.1-dev.35";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({ apiKey, apiSecret, phase = Phase.Sandbox } = {}) {
|
|
@@ -764,20 +764,53 @@ class Transfer extends Transaction {
|
|
|
764
764
|
class User {
|
|
765
765
|
constructor({
|
|
766
766
|
emailAddress,
|
|
767
|
+
govtId,
|
|
767
768
|
level,
|
|
768
769
|
phoneNumber,
|
|
770
|
+
proofOfAddress,
|
|
771
|
+
proofOfLife,
|
|
769
772
|
status,
|
|
770
773
|
termsOfService,
|
|
771
774
|
verificationId,
|
|
772
775
|
}) {
|
|
773
776
|
this.emailAddress = emailAddress;
|
|
777
|
+
this.govstIds = govtId;
|
|
774
778
|
this.level = level;
|
|
775
779
|
this.phoneNumber = phoneNumber;
|
|
780
|
+
this.addressProofs = proofOfAddress;
|
|
781
|
+
this.lifeProofs = proofOfLife;
|
|
776
782
|
this.status = enumValueFromString(UserStatus, status);
|
|
777
783
|
this.terms = termsOfService;
|
|
778
784
|
this.verificationId = verificationId;
|
|
779
785
|
}
|
|
780
786
|
|
|
787
|
+
get proofOfAddress() {
|
|
788
|
+
return this._proofOfAddress;
|
|
789
|
+
}
|
|
790
|
+
|
|
791
|
+
set addressProofs(value) {
|
|
792
|
+
if (!value) return;
|
|
793
|
+
this._proofOfAddress = KYCFile.fromObject(value);
|
|
794
|
+
}
|
|
795
|
+
|
|
796
|
+
get proofOfLife() {
|
|
797
|
+
return this._proofOfLife;
|
|
798
|
+
}
|
|
799
|
+
|
|
800
|
+
set lifeProofs(value) {
|
|
801
|
+
if (!value) return;
|
|
802
|
+
this._proofOfLife = KYCFile.fromObject(value);
|
|
803
|
+
}
|
|
804
|
+
|
|
805
|
+
get govtId() {
|
|
806
|
+
return this._govtId;
|
|
807
|
+
}
|
|
808
|
+
|
|
809
|
+
set govstIds(value) {
|
|
810
|
+
if (!value) return;
|
|
811
|
+
this._govtId = KYCFile.fromObject(value);
|
|
812
|
+
}
|
|
813
|
+
|
|
781
814
|
get termsOfService() {
|
|
782
815
|
return this._termsOfService;
|
|
783
816
|
}
|
|
@@ -791,8 +824,11 @@ class User {
|
|
|
791
824
|
new User({
|
|
792
825
|
level,
|
|
793
826
|
status,
|
|
827
|
+
govtId: obj.govt_id,
|
|
794
828
|
emailAddress: obj.email_address,
|
|
795
829
|
phoneNumber: obj.phone_number,
|
|
830
|
+
proofOfAddress: obj.proof_of_address,
|
|
831
|
+
proofOfLife: obj.proof_of_life,
|
|
796
832
|
termsOfService: obj.terms_of_service,
|
|
797
833
|
verificationId: obj.verification_id,
|
|
798
834
|
});
|
package/build/types/index.cjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var identities = require('../identities-
|
|
5
|
+
var identities = require('../identities-3d77cc91.cjs');
|
|
6
6
|
require('../errors/index.cjs');
|
|
7
7
|
require('../data-9edbb2a0.cjs');
|
|
8
8
|
|
|
@@ -25,6 +25,9 @@ exports.DepositNetwork = identities.DepositNetwork;
|
|
|
25
25
|
exports.DepositQuery = identities.DepositQuery;
|
|
26
26
|
exports.EntryType = identities.EntryType;
|
|
27
27
|
exports.FileFormat = identities.FileFormat;
|
|
28
|
+
exports.KYCFile = identities.KYCFile;
|
|
29
|
+
exports.KYCFileType = identities.KYCFileType;
|
|
30
|
+
exports.KYCStatus = identities.KYCStatus;
|
|
28
31
|
exports.PageSize = identities.PageSize;
|
|
29
32
|
exports.Phase = identities.Phase;
|
|
30
33
|
exports.QueryParams = identities.QueryParams;
|
package/build/types/index.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { A as AccountQuery, j as ApiKeyQuery, B as BalanceEntryQuery, k as BillPaymentQuery, d as CardErrorType,
|
|
1
|
+
export { A as AccountQuery, j as ApiKeyQuery, B as BalanceEntryQuery, k as BillPaymentQuery, d as CardErrorType, C as CardFundingType, a as CardIssuer, b as CardStatus, m as CardTransactionQuery, e as CardTransactionType, c as CardType, l as CardsQuery, f as CommissionType, D as DepositNetwork, n as DepositQuery, E as EntryType, F as FileFormat, K as KYCFile, t as KYCFileType, u as KYCStatus, w as PageSize, P as Phase, Q as QueryParams, S as SavingCategory, g as ServiceProviderCategory, p as StatementQuery, i as TOSAgreements, v as TrackDataMethod, T as TransactionStatus, h as TransferNetwork, q as TransferQuery, r as UserQuery, U as UserStatus, o as WalletQuery, s as WalletTransactionQuery, W as WalletTransactionType } from '../identities-f06b09d1.mjs';
|
|
2
2
|
import '../errors/index.mjs';
|
|
3
3
|
import '../data-d5bcb7c8.mjs';
|
package/build/umd/cuenca.umd.js
CHANGED
|
@@ -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 b{static Blocked=new b("blocked");static Comunication=new b("comunication");static ContactlesAmountLimit=new b("contactles_amount_limit");static FraudDetection=new b("fraud_detection");static FraudDetectionUncertain=new b("fraud_detection_uncertain");static InsufficientFounds=new b("insufficient_founds");static InvalidPin=new b("invalid_pin");static Notification=new b("notification");static NotificationDeactivatedCard=new b("notification_deactivated_card");constructor(t){this.value=t}}class y{static Credit=new y("credit");static Debit=new y("debit");constructor(t){this.value=t}}class f{static Accendo=new f("accendo");static Cuenca=new f("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 Sandbox=new T("sandbox");static Stage=new T("stage");static Api=new T("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 S{static NotSet=new S("not_set");static Terminal=new S("terminal");static Manual=new S("manual");static Unknown=new S("unknown");static Contactless=new S("contactless");static FallBack=new S("fall_back");static MagneticStripe=new S("magnetic_stripe");static RecurringCharge=new S("recurring_charge");constructor(t){this.value=t}}class N{static Created=new N("created");static Failed=new N("failed");static InReview=new N("in_review");static Submitted=new N("submitted");static Succeeded=new N("succeeded");constructor(t){this.value=t}}class ${static Internal=new $("internal");static Spei=new $("spei");constructor(t){this.value=t}}class K{static Active=new K("active");static Deactivated=new K("deactivated");static fraud=new K("fraud");static pld_blocked=new K("pld_blocked");constructor(t){this.value=t}}class q{static Deposit=new q("deposit");static Withdrawal=new q("withdrawal");constructor(t){this.value=t}}const E=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},P=(t,e)=>Object.values(t).find((t=>t.value===e));class D{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 M extends D{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class B extends D{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class V extends D{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class R extends V{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 Y extends V{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 H extends D{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 L extends D{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class F extends D{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class X extends D{constructor({cardUri:t,count:e=!1,...s}){super(s),this.cardUri=t,this.count=e}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri,count:this.count})}}class z extends D{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class Q extends D{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 J extends D{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class W extends D{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=E(Date.now());s.setUTCDate(1);if(E(`${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 G{constructor({ip:t,location:e,version:s}){this.ip=t,this.location=e,this.version=s}static fromObject=({ip:t,location:e,version:s})=>new G({ip:t,location:e,version:s})}var Z="0.0.1-dev.32";class tt{constructor({apiKey:t,apiSecret:e,phase:s=T.Sandbox}={}){this.phase=s,this.basicAuth={apiKey:t,apiSecret:e},this.jwtToken=null,this._session=r.default.create()}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={Authorization:this.authHeader,"Content-Type":"application/json",Accept:`application/${s.value}`};_?a["User-Agent"]=`cuenca-js/${Z}`:w&&(a["X-User-Agent"]=`cuenca-js/${Z}`),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 et{constructor({accountNumber:t,createdAt:e,id:s,institutionName:i,name:r,userId:a}){this.accountNumber=t,this.createdAt=E(e),this.id=s,this.institutionName=i,this.name=r,this.userId=a}static fromObject=({id:t,name:e,...s})=>new et({id:t,name:e,accountNumber:s.account_number,createdAt:s.created_at,institutionName:s.institution_name,userId:s.user_id})}class st{constructor({createdAt:t,deactivatedAt:e,id:s,secret:i,userId:r,updatedAt:a}){this.createdAt=E(t),this.deactivatedAt=E(e),this.id=s,this.secret=i,this.userId=r,this.updatedAt=E(a)}static fromObject=({id:t,secret:e,...s})=>new st({id:t,secret:e,createdAt:s.created_at,deactivatedAt:s.deactivated_at,userId:s.user_id,updatedAt:s.updated_at});get isActive(){const t=E(Date.now());return!this.deactivatedAt||this.deactivatedAt.getTime()>t.getTime()}}class it{constructor({arpc:t,createdAt:e,cardUri:s,isValidArqc:i}){this.arpc=t,this.createdAt=E(e),this.cardUri=s,this.isValidArqc=i}static fromObject=({arpc:t,...e})=>new it({arpc:t,createdAt:e.created_at,cardUri:e.card_uri,isValidArqc:e.is_valid_arqc})}class rt{constructor({amount:t,createdAt:e,descriptor:s,entryType:i,fundingInstrumentUri:r,id:a,name:n,relatedTransactionUri:c,rollingBalance:o}){this.amount=t,this.createdAt=E(e),this.descriptor=s,this.entryType=P(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 rt({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 at{constructor({amount:t,createdAt:e,descriptor:s,status:i,userId:r}){this.amount=t,this.createdAt=E(e),this.descriptor=s,this.status=P(N,i),this.userId=r}}class nt extends at{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 nt({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 ct{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=E(t),this.cvv2=e,this.expMonth=s,this.expYear=i,this.fundingType=P(y,r),this.id=a,this.issuer=P(f,n),this.number=c,this.pin=o,this.status=P(g,d),this.type=P(j,u),this.updatedAt=E(h),this.userId=p}static fromObject=({cvv2:t,id:e,issuer:s,number:i,pin:r,status:a,type:n,...c})=>new ct({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 ot{constructor({cardUri:t,createdAt:e,id:s,ipAddress:i,success:r,userId:a}){this.cardUri=t,this.createdAt=E(e),this.id=s,this.ipAddress=i,this.success=r,this.userId=a}static fromObject=({id:t,success:e,...s})=>new ot({id:t,success:e,cardUri:s.card_uri,createdAt:s.created_at,ipAddress:s.ip_address,userId:s.user_id})}class dt extends at{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=P(b,e),this.cardLastFour=s,this.cardType=P(j,i),this.cardUri=r,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=P(O,h)}static fromObject=({amount:t,descriptor:e,metadata:s,network:i,status:r,type:a,...n})=>new dt({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 ut{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=P(g,t),this.cardType=P(j,e),this.cardUri=s,this.createdAt=E(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 ut({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 ht extends at{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=P(A,a)}static fromObject=({amount:t,descriptor:e,status:s,type:i,...r})=>new ht({amount:t,descriptor:e,status:s,type:i,createdAt:r.created_at,relatedTransactionUri:r.related_transaction_uri,userId:r.user_id})}class pt extends at{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=P(x,r),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new pt({amount:t,descriptor:e,id:s,network:i,status:r,createdAt:a.created_at,sourceUri:a.source_uri,trackingKey:a.tracking_key,userId:a.user_id})}class lt{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new lt({id:t})}class mt extends class{constructor({balance:t,createdAt:e,deactivatedAt:s,id:i,userId:r,updatedAt:a}){this.balance=t,this.createdAt=E(e),this.deactivatedAt=E(s),this.id=i,this.userId=r,this.updatedAt=E(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=P(C,e),this.goalAmount=r,this.goalDate=E(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:i,...r})=>new mt({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 wt{constructor({categories:t,id:e,name:s,providerKey:i}){var r;this.categories=null==(r=t)?[]:r.map((t=>P(U,t))),this.id=e,this.name=s,this.providerKey=i}static fromObject=({categories:t,id:e,name:s,...i})=>new wt({categories:t,id:e,name:s,providerKey:i.provider_key})}class _t{constructor({createdAt:t,id:e,month:s,year:i}){this.createdAt=E(t),this.id=e,this.month=s,this.year=i}static fromObject=({id:t,month:e,year:s,...i})=>new _t({id:t,month:e,year:s,createdAt:i.created_at})}class vt extends at{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=P($,c),this.recipientName=o,this.trackingKey=u,this.updatedAt=E(h)}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,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 bt{constructor({emailAddress:t,level:e,phoneNumber:s,status:i,termsOfService:r,verificationId:a}){this.emailAddress=t,this.level=e,this.phoneNumber=s,this.status=P(K,i),this.terms=r,this.verificationId=a}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=G.fromObject(t))}static fromObject=({level:t,status:e,...s})=>new bt({level:t,status:e,emailAddress:s.email_address,phoneNumber:s.phone_number,termsOfService:s.terms_of_service,verificationId:s.verification_id})}class yt{constructor({createdAt:t,id:e,isActive:s,updatedAt:i}){this.createdAt=E(t),this.id=e,this.isActive=s,this.updatedAt=E(i)}static fromObject=({id:t,...e})=>new yt({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class ft{constructor({id:t,lastLoginAt:e,success:s}){this.id=t,this.lastLoginAt=E(e),this.success=s}static fromObject=({id:t,success:e,...s})=>new ft({id:t,success:e,lastLoginAt:s.last_login_at})}class gt extends at{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=P(q,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:i,...r})=>new gt({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 Ot extends at{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=E(a),this.network=P($,c),this.phoneNumber=o,this.recipientName=d,this.trackingKey=h,this.updatedAt=E(p)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new Ot({amount:t,descriptor:e,id:s,network:i,status:r,createdAt:a.created_at,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 jt{constructor(t){this.superclass=t}with(...t){return t.reduce(((t,e)=>e(t)),this.superclass)}}const At=t=>new jt(t),xt=(t,e)=>({accounts:()=>et.fromObject(e),api_keys:()=>st.fromObject(e),arpc:()=>it.fromObject(e),balance_entries:()=>rt.fromObject(e),bill_payments:()=>nt.fromObject(e),cards:()=>ct.fromObject(e),card_activations:()=>ot.fromObject(e),card_transactions:()=>dt.fromObject(e),card_validations:()=>ut.fromObject(e),commissions:()=>ht.fromObject(e),deposits:()=>pt.fromObject(e),login_tokens:()=>lt.fromObject(e),savings:()=>mt.fromObject(e),service_providers:()=>wt.fromObject(e),statements:()=>_t.fromObject(e),transfers:()=>vt.fromObject(e),users:()=>bt.fromObject(e),user_credentials:()=>yt.fromObject(e),user_logins:()=>ft.fromObject(e),wallet_transactions:()=>gt.fromObject(e),whatsapp_transfers:()=>Ot.fromObject(e)}[t]()),It=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class kt{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const Tt=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return xt(this.path,e)}},Ut=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return xt(this.path,e)}},Ct=t=>class extends t{async _update(t,e){const s=await this.client.patch({endpoint:`/${this.path}/${t}`,data:e});return xt(this.path,s)}},St=t=>class extends t{async _deactivate(t,e){const s=await this.client.delete({endpoint:`/${this.path}/${t}`,data:e});return xt(this.path,s)}},Nt=t=>class extends t{async _download(t,e){return await this.client.get({endpoint:`/${this.path}/${t}`,format:e})}},$t=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 xt(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 xt(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=xt(this.path,e);yield t}e=t.next_page_uri}}};class Kt extends(At(kt).with($t,Tt)){constructor(t){super("accounts",M,t)}}class qt{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class Et extends qt{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class Pt extends qt{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 Dt extends qt{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class Mt extends qt{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 Bt extends qt{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 Vt extends qt{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(E(t).getTime()<=E(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 Rt extends qt{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 Yt extends qt{constructor(t){super(),this.pwd=t}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}}}class Ht extends qt{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([6===t.length,/^\d{6}$/.test(t)].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 Lt extends qt{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 Ft extends qt{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 Xt extends qt{constructor({termsOfService:t,verificationId:e}){super(),this.terms=t,this.verificationId=e}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=new Ft(t).toObject())}toObject(){return{terms_of_service:this.termsOfService,verification_id:this.verificationId}}}class zt extends qt{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 Qt extends(At(kt).with(Ut,St,$t,Tt,Ct)){constructor(t){super("api_keys",B,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 Et(s,e);return await this._update(t,i.toCleanObject())}}At(kt).with(Ut);class Jt extends(At(kt).with($t,Tt)){constructor(t){super("balance_entries",H,t)}async relatedTransaction(t){const e=It(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return xt(`${e}`,s)}async fundingInstrument(t){const e=It(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return xt(`${e}`,s)}}class Wt extends(At(kt).with($t,Tt)){constructor(t){super("bill_payments",L,t)}async serviceProvider(t){const e=It(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return xt(`${e}`,s)}}class Gt extends(At(kt).with(Ut)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:i}){const r=new Mt(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 ct.fromObject(e)}}class Zt extends(At(kt).with(Ut,St,$t,Tt,Ct)){constructor(t){super("cards",X,t)}async create(t,e,s){const i=new Pt(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 Dt(e,s);return await this._update(t,i.toCleanObject())}}class te extends(At(kt).with($t,Tt)){constructor(t){super("card_transactions",F,t)}async relatedCard(t){const e=It(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return xt(`${e}`,s)}}class ee extends(At(kt).with(Ut)){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 Bt({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 ct.fromObject(e)}}class se extends(At(kt).with($t,Tt)){constructor(t){super("commissions",D,t)}async relatedTransaction(t){const e=It(t);if(null==e)return null;const s=await this.client.get(t);return xt(`${e}`,s)}}class ie extends(At(kt).with($t,Tt)){constructor(t){super("deposits",R,t)}async source(t){const e=await this.client.get({endpoint:t});return et.fromObject(e)}}class re extends(At(kt).with(Ut)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class ae extends(At(kt).with(Ut,St,$t,Tt,Ct)){constructor(t){super("savings",J,t)}async create(t,e,s,i){const r=new Vt(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 Vt(e,s,i,r);return await this._update(t,a.toObject())}}class ne extends(At(kt).with($t,Tt)){constructor(t){super("service_providers",D,t)}}class ce extends(At(kt).with(Nt,$t)){constructor(t){super("statements",W,t)}async pdf(t){return await this._download(t,k.Pdf)}async xml(t){return await this._download(t,k.Xml)}}class oe extends(At(kt).with(Ut,$t,Tt)){constructor(t){super("transfers",Y,t)}async destination(t){const e=await this.client.get({endpoint:t});return et.fromObject(e)}async create({accountNumber:t,amount:e,descriptor:s,recipientName:i,idempotencyKey:r}){const a=r||this.constructor._genIdempotencyKey(t,e),n=new Rt(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 Rt(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]=E(Date.now()).toISOString().split("T");return`${s}:${t}:${e}`}}class de extends(At(kt).with(Ut,Ct)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new Yt(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const i=new Ht(e,t);return await this._update(s,i.toCleanObject())}}class ue extends(At(kt).with(Ut,St)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new Lt(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 he extends(At(kt).with($t,Ct,Tt)){constructor(t){super("users",Q,t)}async update({termsOfService:t,verificationId:e,userId:s="me"}){const i=new Xt({termsOfService:t,verificationId:e});return await this._update(s,i.toCleanObject())}}class pe extends(At(kt).with(Ut,$t,Tt)){constructor(t){super("wallet_transactions",z,t)}async create(t,e,s){const i=new zt(t,e,s);return await this._create(i.toObject())}async realtedWallet(t){const e=It(t);if(null==e)return null;const s=await this.client.get(t);return xt(`${e}`,s)}}class le extends(At(kt).with($t,Tt)){constructor(t){super("whatsapp_transfers",D,t)}async accountDestination(t){const e=It(t);if(null==e)return null;const s=await this.client.get(t);return xt(`${e}`,s)}}t.Cuenca=class{constructor(t,e,s=T.Sandbox){this.client=new tt({apiKey:t,apiSecret:e,phase:s}),this.withClient(this.client)}withClient(t){this.accounts=new Kt(t),this.apiKeys=new Qt(t),this.balanceEntries=new Jt(t),this.billPayments=new Wt(t),this.cardActivations=new Gt(t),this.cards=new Zt(t),this.cardTransactions=new te(t),this.cardValidations=new ee(t),this.commissions=new se(t),this.deposits=new ie(t),this.loginTokens=new re(t),this.savings=new ae(t),this.serviceProviders=new ne(t),this.statements=new ce(t),this.transfers=new oe(t),this.userCredentials=new de(t),this.userLogins=new ue(t),this.users=new he(t),this.walletTransactions=new pe(t),this.whatsAppTransfers=new le(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 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 S{static Cable=new S("cable");static CreditCard=new S("credit_card");static Electricity=new S("electricity");static Gas=new S("gas");static Internet=new S("internet");static LandlineTelephone=new S("landline_telephone");static MobileTelephonePostpaid=new S("mobile_telephone_postpaid");static MobileTelephonePrepaid=new S("mobile_telephone_prepaid");static SateliteTelevision=new S("satelite_television");static Water=new S("water");constructor(t){this.value=t}}class N{static General=new N("general");static Home=new N("home");static Vehicle=new N("vehicle");static Travel=new N("travel");static Clothing=new N("clothing");static Other=new N("other");static Medical=new N("medical");static Accident=new N("accident");static Education=new N("education");constructor(t){this.value=t}}class P{static NotSet=new P("not_set");static Terminal=new P("terminal");static Manual=new P("manual");static Unknown=new P("unknown");static Contactless=new P("contactless");static FallBack=new P("fall_back");static MagneticStripe=new P("magnetic_stripe");static RecurringCharge=new P("recurring_charge");constructor(t){this.value=t}}class ${static Created=new $("created");static Failed=new $("failed");static InReview=new $("in_review");static Submitted=new $("submitted");static Succeeded=new $("succeeded");constructor(t){this.value=t}}class K{static Internal=new K("internal");static Spei=new K("spei");constructor(t){this.value=t}}class q{static Active=new q("active");static Deactivated=new q("deactivated");static Fraud=new q("fraud");static PldBlocked=new q("pld_blocked");constructor(t){this.value=t}}class E{static Deposit=new E("deposit");static Withdrawal=new E("withdrawal");constructor(t){this.value=t}}const D=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},M=(t,e)=>Object.values(t).find((t=>t.value===e));class 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 L extends B{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class Y extends L{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 H extends L{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 F 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 z extends B{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class Q 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 J extends B{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class W 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 G extends B{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class Z 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=D(Date.now());s.setUTCDate(1);if(D(`${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 tt{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 tt({ip:t,location:e,type:s,version:i})}class et{constructor({data:t,isMx:e,status:s,type:i,uriBack:r,uriFront:a}){this.data=t,this.isMx=e,this.status=M(U,s),this.type=M(T,i),this.uriBack=r,this.uriFront=a}static fromObject=({data:t,status:e,type:s,...i})=>new et({data:t,status:e,type:s,isMx:i.is_mx,uriBack:i.uri_back,uriFront:i.uri_front})}var st="0.0.1-dev.35";class it{constructor({apiKey:t,apiSecret:e,phase:s=C.Sandbox}={}){this.phase=s,this.basicAuth={apiKey:t,apiSecret:e},this.jwtToken=null,this._session=r.default.create()}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={Authorization:this.authHeader,"Content-Type":"application/json",Accept:`application/${s.value}`};_?a["User-Agent"]=`cuenca-js/${st}`:w&&(a["X-User-Agent"]=`cuenca-js/${st}`),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 rt{constructor({accountNumber:t,createdAt:e,id:s,institutionName:i,name:r,userId:a}){this.accountNumber=t,this.createdAt=D(e),this.id=s,this.institutionName=i,this.name=r,this.userId=a}static fromObject=({id:t,name:e,...s})=>new rt({id:t,name:e,accountNumber:s.account_number,createdAt:s.created_at,institutionName:s.institution_name,userId:s.user_id})}class at{constructor({createdAt:t,deactivatedAt:e,id:s,secret:i,userId:r,updatedAt:a}){this.createdAt=D(t),this.deactivatedAt=D(e),this.id=s,this.secret=i,this.userId=r,this.updatedAt=D(a)}static fromObject=({id:t,secret:e,...s})=>new at({id:t,secret:e,createdAt:s.created_at,deactivatedAt:s.deactivated_at,userId:s.user_id,updatedAt:s.updated_at});get isActive(){const t=D(Date.now());return!this.deactivatedAt||this.deactivatedAt.getTime()>t.getTime()}}class nt{constructor({arpc:t,createdAt:e,cardUri:s,isValidArqc:i}){this.arpc=t,this.createdAt=D(e),this.cardUri=s,this.isValidArqc=i}static fromObject=({arpc:t,...e})=>new nt({arpc:t,createdAt:e.created_at,cardUri:e.card_uri,isValidArqc:e.is_valid_arqc})}class ct{constructor({amount:t,createdAt:e,descriptor:s,entryType:i,fundingInstrumentUri:r,id:a,name:n,relatedTransactionUri:c,rollingBalance:o}){this.amount=t,this.createdAt=D(e),this.descriptor=s,this.entryType=M(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 ct({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 ot{constructor({amount:t,createdAt:e,descriptor:s,status:i,userId:r}){this.amount=t,this.createdAt=D(e),this.descriptor=s,this.status=M($,i),this.userId=r}}class dt extends ot{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 dt({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 ut{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=D(t),this.cvv2=e,this.expMonth=s,this.expYear=i,this.fundingType=M(b,r),this.id=a,this.issuer=M(y,n),this.number=c,this.pin=o,this.status=M(g,d),this.type=M(j,u),this.updatedAt=D(h),this.userId=p}static fromObject=({cvv2:t,id:e,issuer:s,number:i,pin:r,status:a,type:n,...c})=>new ut({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 ht{constructor({cardUri:t,createdAt:e,id:s,ipAddress:i,success:r,userId:a}){this.cardUri=t,this.createdAt=D(e),this.id=s,this.ipAddress=i,this.success=r,this.userId=a}static fromObject=({id:t,success:e,...s})=>new ht({id:t,success:e,cardUri:s.card_uri,createdAt:s.created_at,ipAddress:s.ip_address,userId:s.user_id})}class pt extends ot{constructor({amount:t,cardErrorType:e,cardLastFour:s,cardType:i,cardUri:r,createdAt:a,descriptor:n,metadata:c,network:o,relatedCardTransactionsUris:d,status:u,type:h,userId:p}){super({amount:t,createdAt:a,descriptor:n,status:u,userId:p}),this.cardErrorType=M(f,e),this.cardLastFour=s,this.cardType=M(j,i),this.cardUri=r,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=M(O,h)}static fromObject=({amount:t,descriptor:e,metadata:s,network:i,status:r,type:a,...n})=>new pt({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 lt{constructor({cardStatus:t,cardType:e,cardUri:s,createdAt:i,isExpired:r,isPinAttemptsExceeded:a,isValidCvv:n,isValidCvv2:c,isValidExpDate:o,isValidIcvv:d,isValidPinBlock:u,userId:h}){this.cardStatus=M(g,t),this.cardType=M(j,e),this.cardUri=s,this.createdAt=D(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 lt({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 mt extends ot{constructor({amount:t,createdAt:e,descriptor:s,relatedTransactionUri:i,status:r,type:a,userId:n}){super({amount:t,createdAt:e,descriptor:s,status:r,userId:n}),this.relatedTransactionUri=i,this.type=M(A,a)}static fromObject=({amount:t,descriptor:e,status:s,type:i,...r})=>new mt({amount:t,descriptor:e,status:s,type:i,createdAt:r.created_at,relatedTransactionUri:r.related_transaction_uri,userId:r.user_id})}class wt extends ot{constructor({amount:t,createdAt:e,descriptor:s,id:i,network:r,status:a,sourceUri:n,trackingKey:c,userId:o}){super({amount:t,createdAt:e,descriptor:s,status:a,userId:o}),this.id=i,this.network=M(x,r),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new wt({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 _t{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new _t({id:t})}class vt extends class{constructor({balance:t,createdAt:e,deactivatedAt:s,id:i,userId:r,updatedAt:a}){this.balance=t,this.createdAt=D(e),this.deactivatedAt=D(s),this.id=i,this.userId=r,this.updatedAt=D(a)}}{constructor({balance:t,category:e,createdAt:s,deactivatedAt:i,goalAmount:r,goalDate:a,id:n,name:c,userId:o,updatedAt:d}){super({balance:t,createdAt:s,deactivatedAt:i,id:n,userId:o,updatedAt:d}),this.category=M(N,e),this.goalAmount=r,this.goalDate=D(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:i,...r})=>new vt({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 ft{constructor({categories:t,id:e,name:s,providerKey:i}){var r;this.categories=null==(r=t)?[]:r.map((t=>M(S,t))),this.id=e,this.name=s,this.providerKey=i}static fromObject=({categories:t,id:e,name:s,...i})=>new ft({categories:t,id:e,name:s,providerKey:i.provider_key})}class bt{constructor({createdAt:t,id:e,month:s,year:i}){this.createdAt=D(t),this.id=e,this.month=s,this.year=i}static fromObject=({id:t,month:e,year:s,...i})=>new bt({id:t,month:e,year:s,createdAt:i.created_at})}class yt extends ot{constructor({accountNumber:t,amount:e,createdAt:s,descriptor:i,destinationUri:r,id:a,idempotencyKey:n,network:c,recipientName:o,status:d,trackingKey:u,updatedAt:h,userId:p}){super({amount:e,createdAt:s,descriptor:i,status:d,userId:p}),this.accountNumber=t,this.destinationUri=r,this.id=a,this.idempotencyKey=n,this.network=M(K,c),this.recipientName=o,this.trackingKey=u,this.updatedAt=D(h)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new yt({amount:t,descriptor:e,id:s,network:i,status:r,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 gt{constructor({emailAddress:t,govtId:e,level:s,phoneNumber:i,proofOfAddress:r,proofOfLife:a,status:n,termsOfService:c,verificationId:o}){this.emailAddress=t,this.govstIds=e,this.level=s,this.phoneNumber=i,this.addressProofs=r,this.lifeProofs=a,this.status=M(q,n),this.terms=c,this.verificationId=o}get proofOfAddress(){return this._proofOfAddress}set addressProofs(t){t&&(this._proofOfAddress=et.fromObject(t))}get proofOfLife(){return this._proofOfLife}set lifeProofs(t){t&&(this._proofOfLife=et.fromObject(t))}get govtId(){return this._govtId}set govstIds(t){t&&(this._govtId=et.fromObject(t))}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=tt.fromObject(t))}static fromObject=({level:t,status:e,...s})=>new gt({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,termsOfService:s.terms_of_service,verificationId:s.verification_id})}class Ot{constructor({createdAt:t,id:e,isActive:s,updatedAt:i}){this.createdAt=D(t),this.id=e,this.isActive=s,this.updatedAt=D(i)}static fromObject=({id:t,...e})=>new Ot({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class jt{constructor({id:t,lastLoginAt:e,success:s}){this.id=t,this.lastLoginAt=D(e),this.success=s}static fromObject=({id:t,success:e,...s})=>new jt({id:t,success:e,lastLoginAt:s.last_login_at})}class At extends ot{constructor({amount:t,createdAt:e,descriptor:s,id:i,status:r,transactionType:a,userId:n,walletUri:c}){super({amount:t,createdAt:e,descriptor:s,status:r,userId:n}),this.id=i,this.transactionType=M(E,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:i,...r})=>new At({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 xt extends ot{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=D(a),this.network=M(K,c),this.phoneNumber=o,this.recipientName=d,this.trackingKey=h,this.updatedAt=D(p)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new xt({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 It{constructor(t){this.superclass=t}with(...t){return t.reduce(((t,e)=>e(t)),this.superclass)}}const kt=t=>new It(t),Tt=(t,e)=>({accounts:()=>rt.fromObject(e),api_keys:()=>at.fromObject(e),arpc:()=>nt.fromObject(e),balance_entries:()=>ct.fromObject(e),bill_payments:()=>dt.fromObject(e),cards:()=>ut.fromObject(e),card_activations:()=>ht.fromObject(e),card_transactions:()=>pt.fromObject(e),card_validations:()=>lt.fromObject(e),commissions:()=>mt.fromObject(e),deposits:()=>wt.fromObject(e),login_tokens:()=>_t.fromObject(e),savings:()=>vt.fromObject(e),service_providers:()=>ft.fromObject(e),statements:()=>bt.fromObject(e),transfers:()=>yt.fromObject(e),users:()=>gt.fromObject(e),user_credentials:()=>Ot.fromObject(e),user_logins:()=>jt.fromObject(e),wallet_transactions:()=>At.fromObject(e),whatsapp_transfers:()=>xt.fromObject(e)}[t]()),Ut=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class Ct{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const St=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return Tt(this.path,e)}},Nt=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return Tt(this.path,e)}},Pt=t=>class extends t{async _update(t,e){const s=await this.client.patch({endpoint:`/${this.path}/${t}`,data:e});return Tt(this.path,s)}},$t=t=>class extends t{async _deactivate(t,e){const s=await this.client.delete({endpoint:`/${this.path}/${t}`,data:e});return Tt(this.path,s)}},Kt=t=>class extends t{async _download(t,e){return await this.client.get({endpoint:`/${this.path}/${t}`,format:e})}},qt=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 Tt(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 Tt(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=Tt(this.path,e);yield t}e=t.next_page_uri}}};class Et extends(kt(Ct).with(qt,St)){constructor(t){super("accounts",R,t)}}class Dt{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class Mt extends Dt{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class Bt extends Dt{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 Rt extends Dt{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class Vt extends Dt{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 Lt extends Dt{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 Yt extends Dt{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(D(t).getTime()<=D(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 Ht extends Dt{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 Ft extends Dt{constructor(t){super(),this.pwd=t}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}}}class Xt extends Dt{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([6===t.length,/^\d{6}$/.test(t)].some((t=>!t)))throw new p("Invalid password");this._password=t}set req(t){if(t.password&&null!=t.isActive)throw new p("Only one property can be updated at a time");this._request=t}toObject(){return{password:this.request.password,is_active:this.request.isActive}}}class zt extends Dt{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 Qt extends Dt{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 Jt extends Dt{constructor({termsOfService:t,verificationId:e}){super(),this.terms=t,this.verificationId=e}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=new Qt(t).toObject())}toObject(){return{terms_of_service:this.termsOfService,verification_id:this.verificationId}}}class Wt extends Dt{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 Gt extends(kt(Ct).with(Nt,$t,qt,St,Pt)){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 Mt(s,e);return await this._update(t,i.toCleanObject())}}kt(Ct).with(Nt);class Zt extends(kt(Ct).with(qt,St)){constructor(t){super("balance_entries",F,t)}async relatedTransaction(t){const e=Ut(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Tt(`${e}`,s)}async fundingInstrument(t){const e=Ut(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Tt(`${e}`,s)}}class te extends(kt(Ct).with(qt,St)){constructor(t){super("bill_payments",X,t)}async serviceProvider(t){const e=Ut(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Tt(`${e}`,s)}}class ee extends(kt(Ct).with(Nt)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:i}){const r=new Vt(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 ut.fromObject(e)}}class se extends(kt(Ct).with(Nt,$t,qt,St,Pt)){constructor(t){super("cards",Q,t)}async create(t,e,s){const i=new Bt(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 Rt(e,s);return await this._update(t,i.toCleanObject())}}class ie extends(kt(Ct).with(qt,St)){constructor(t){super("card_transactions",z,t)}async relatedCard(t){const e=Ut(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Tt(`${e}`,s)}}class re extends(kt(Ct).with(Nt)){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 Lt({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 ut.fromObject(e)}}class ae extends(kt(Ct).with(qt,St)){constructor(t){super("commissions",B,t)}async relatedTransaction(t){const e=Ut(t);if(null==e)return null;const s=await this.client.get(t);return Tt(`${e}`,s)}}class ne extends(kt(Ct).with(qt,St)){constructor(t){super("deposits",Y,t)}async source(t){const e=await this.client.get({endpoint:t});return rt.fromObject(e)}}class ce extends(kt(Ct).with(Nt)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class oe extends(kt(Ct).with(Nt,$t,qt,St,Pt)){constructor(t){super("savings",G,t)}async create(t,e,s,i){const r=new Yt(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 Yt(e,s,i,r);return await this._update(t,a.toObject())}}class de extends(kt(Ct).with(qt,St)){constructor(t){super("service_providers",B,t)}}class ue extends(kt(Ct).with(Kt,qt)){constructor(t){super("statements",Z,t)}async pdf(t){return await this._download(t,k.Pdf)}async xml(t){return await this._download(t,k.Xml)}}class he extends(kt(Ct).with(Nt,qt,St)){constructor(t){super("transfers",H,t)}async destination(t){const e=await this.client.get({endpoint:t});return rt.fromObject(e)}async create({accountNumber:t,amount:e,descriptor:s,recipientName:i,idempotencyKey:r}){const a=r||this.constructor._genIdempotencyKey(t,e),n=new Ht(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 Ht(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]=D(Date.now()).toISOString().split("T");return`${s}:${t}:${e}`}}class pe extends(kt(Ct).with(Nt,Pt)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new Ft(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const i=new Xt(e,t);return await this._update(s,i.toCleanObject())}}class le extends(kt(Ct).with(Nt,$t)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new zt(t,e),i=await this._create(s.toObject());if(!i.success)throw new h;return this.loginIdInHeaders=this.client.addHeadersToRequest({"X-Cuenca-LoginId":i.id}),i}async logOut(t="me"){return await this._deactivate(t,{}),this.loginIdInHeaders&&this.loginIdInHeaders.eject(),!0}}class me extends(kt(Ct).with(qt,Pt,St)){constructor(t){super("users",W,t)}async update({termsOfService:t,verificationId:e,userId:s="me"}){const i=new Jt({termsOfService:t,verificationId:e});return await this._update(s,i.toCleanObject())}}class we extends(kt(Ct).with(Nt,qt,St)){constructor(t){super("wallet_transactions",J,t)}async create(t,e,s){const i=new Wt(t,e,s);return await this._create(i.toObject())}async realtedWallet(t){const e=Ut(t);if(null==e)return null;const s=await this.client.get(t);return Tt(`${e}`,s)}}class _e extends(kt(Ct).with(qt,St)){constructor(t){super("whatsapp_transfers",B,t)}async accountDestination(t){const e=Ut(t);if(null==e)return null;const s=await this.client.get(t);return Tt(`${e}`,s)}}t.Cuenca=class{constructor(t,e,s=C.Sandbox){this.client=new it({apiKey:t,apiSecret:e,phase:s}),this.withClient(this.client)}withClient(t){this.accounts=new Et(t),this.apiKeys=new Gt(t),this.balanceEntries=new Zt(t),this.billPayments=new te(t),this.cardActivations=new ee(t),this.cards=new se(t),this.cardTransactions=new ie(t),this.cardValidations=new re(t),this.commissions=new ae(t),this.deposits=new ne(t),this.loginTokens=new ce(t),this.savings=new oe(t),this.serviceProviders=new de(t),this.statements=new ue(t),this.transfers=new he(t),this.userCredentials=new pe(t),this.userLogins=new le(t),this.users=new me(t),this.walletTransactions=new we(t),this.whatsAppTransfers=new _e(t)}}}));
|