@cuenca-mx/cuenca-js 2.0.0-dev2 → 2.0.0-dev3
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/dts/index.d.ts +2 -1
- package/build/dts/models/index.d.ts +1 -0
- package/build/dts/models/operatorOtpChallenge.d.ts +9 -0
- package/build/dts/resources/index.d.ts +1 -0
- package/build/dts/resources/operatorOtpChallenges.d.ts +8 -0
- package/build/index.cjs +20 -1
- package/build/index.mjs +20 -1
- package/build/umd/cuenca.umd.js +1 -1
- package/package.json +1 -1
package/build/dts/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Client } from './client';
|
|
2
|
-
import { AccountResource, AlertResource, ApiKeyResource, ArpcResource, BalanceEntryResource, BillPaymentResource, BridgeAccountResource, BridgeBankAccountResource, BridgeClabeResource, BridgeTransactionResource, CardActivationResource, CardResource, CardTransactionResource, CardValidationResource, CommissionResource, DepositResource, FileResource, FraudFundsTransferResource, KYCValidationsResource, LegalPersonResource, LoginTokenResource, OperatorLoginResource, OperatorResource, PartnerResource, PaymentOrderResource, PostalCodeResource, ReportResource, SavingResource, ServiceProviderResource, SessionResource, StatementResource, TransferResource, UserCredentialResource, UserLoginResource, UserReportResource, UserResource, UsersTosAgreementsResource, VerificationResource, WalletTransactionsResource, WhatsAppTransferResource } from './resources';
|
|
2
|
+
import { AccountResource, AlertResource, ApiKeyResource, ArpcResource, BalanceEntryResource, BillPaymentResource, BridgeAccountResource, BridgeBankAccountResource, BridgeClabeResource, BridgeTransactionResource, CardActivationResource, CardResource, CardTransactionResource, CardValidationResource, CommissionResource, DepositResource, FileResource, FraudFundsTransferResource, KYCValidationsResource, LegalPersonResource, LoginTokenResource, OperatorLoginResource, OperatorOtpChallengeResource, OperatorResource, PartnerResource, PaymentOrderResource, PostalCodeResource, ReportResource, SavingResource, ServiceProviderResource, SessionResource, StatementResource, TransferResource, UserCredentialResource, UserLoginResource, UserReportResource, UserResource, UsersTosAgreementsResource, VerificationResource, WalletTransactionsResource, WhatsAppTransferResource } from './resources';
|
|
3
3
|
interface CuencaOptions {
|
|
4
4
|
apiKey?: string;
|
|
5
5
|
apiSecret?: string;
|
|
@@ -32,6 +32,7 @@ export declare class Cuenca {
|
|
|
32
32
|
legalPersons: LegalPersonResource;
|
|
33
33
|
loginTokens: LoginTokenResource;
|
|
34
34
|
operatorLogins: OperatorLoginResource;
|
|
35
|
+
operatorOtpChallenges: OperatorOtpChallengeResource;
|
|
35
36
|
operators: OperatorResource;
|
|
36
37
|
partners: PartnerResource;
|
|
37
38
|
paymentOrders: PaymentOrderResource;
|
|
@@ -21,6 +21,7 @@ export { LegalPerson } from './legalPerson';
|
|
|
21
21
|
export { LoginToken } from './loginToken';
|
|
22
22
|
export { Operator } from './operator';
|
|
23
23
|
export { OperatorLogin } from './operatorLogin';
|
|
24
|
+
export { OperatorOtpChallenge } from './operatorOtpChallenge';
|
|
24
25
|
export { PaymentOrder } from './paymentOrder';
|
|
25
26
|
export type { PaymentOrderLine } from './paymentOrder';
|
|
26
27
|
export { Partner } from './partner';
|
|
@@ -20,6 +20,7 @@ export { default as KYCValidationsResource } from './kycValidations';
|
|
|
20
20
|
export { default as LegalPersonResource } from './legalPersons';
|
|
21
21
|
export { default as LoginTokenResource } from './loginTokens';
|
|
22
22
|
export { default as OperatorLoginResource } from './operatorLogins';
|
|
23
|
+
export { default as OperatorOtpChallengeResource } from './operatorOtpChallenges';
|
|
23
24
|
export { default as OperatorResource } from './operators';
|
|
24
25
|
export { default as PartnerResource } from './partners';
|
|
25
26
|
export { default as PaymentOrderResource } from './paymentOrders';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { OperatorOtpChallenge } from '../models';
|
|
2
|
+
import { Client, Resource } from './base';
|
|
3
|
+
declare class OperatorOtpChallengeResource extends Resource<OperatorOtpChallenge> {
|
|
4
|
+
constructor(client: Client);
|
|
5
|
+
/** Request a one-shot email OTP for the current operator session. */
|
|
6
|
+
create(): Promise<OperatorOtpChallenge>;
|
|
7
|
+
}
|
|
8
|
+
export default OperatorOtpChallengeResource;
|
package/build/index.cjs
CHANGED
|
@@ -24,7 +24,7 @@ const isNode =
|
|
|
24
24
|
|
|
25
25
|
const runtimeEnv = { isBrowser, isNode };
|
|
26
26
|
|
|
27
|
-
const name="@cuenca-mx/cuenca-js";const version="2.0.0-
|
|
27
|
+
const name="@cuenca-mx/cuenca-js";const version="2.0.0-dev3";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 types="./build/dts/index.d.ts";const sideEffects=false;const files=["build/**/*","errors/**/*","jwt/**/*","requests/**/*","types/**/*"];const exports$1={".":{types:"./build/dts/index.d.ts","import":"./build/index.mjs",require:"./build/index.cjs"},"./errors":{types:"./build/dts/errors.d.ts","import":"./build/errors/index.mjs",require:"./build/errors/index.cjs"},"./jwt":{types:"./build/dts/jwt.d.ts","import":"./build/jwt/index.mjs",require:"./build/jwt/index.cjs"},"./requests":{types:"./build/dts/requests/index.d.ts","import":"./build/requests/index.mjs",require:"./build/requests/index.cjs"},"./types":{types:"./build/dts/types/index.d.ts","import":"./build/types/index.mjs",require:"./build/types/index.cjs"}};const packageManager="yarn@3.2.0";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 engines={node:">=20"};const scripts={build:"rm -rf build/ tsconfig.tsbuildinfo && yarn rollup --config && yarn tsc -p tsconfig.json && yarn tsc-alias -p tsconfig.json --outDir build/dts",test:"vitest run --coverage",publish:"yarn build && yarn npm publish",dev:"rm -rf build/ && yarn rollup --config && yarn node ../example.cjs",example:"yarn node ../example.cjs"};const devDependencies={"@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^11.1.6","@vitest/coverage-v8":"^1.6.0",rollup:"^2.61.1","rollup-plugin-terser":"^7.0.2","tsc-alias":"^1.8.10",typescript:"^4.9.5","vite-tsconfig-paths":"^4.3.2",vitest:"^1.6.0"};const dependencies={buffer:"^6.0.3"};var pkg = {name:name,version:version,description:description,main:main,module:module$1,browser:browser,types:types,sideEffects:sideEffects,files:files,exports:exports$1,packageManager:packageManager,type:type,repository:repository,keywords:keywords,license:license,bugs:bugs,homepage:homepage,engines:engines,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies};
|
|
28
28
|
|
|
29
29
|
/* global FormData */
|
|
30
30
|
|
|
@@ -575,6 +575,10 @@ const OperatorLogin = {
|
|
|
575
575
|
fromObject: (obj) => data.camelize(obj),
|
|
576
576
|
};
|
|
577
577
|
|
|
578
|
+
const OperatorOtpChallenge = {
|
|
579
|
+
fromObject: (obj) => data.camelize(obj),
|
|
580
|
+
};
|
|
581
|
+
|
|
578
582
|
const PaymentOrder = {
|
|
579
583
|
fromObject: (obj) => data.coerceDatesWithDefaults(data.camelize(obj), [
|
|
580
584
|
'createdAt',
|
|
@@ -1293,6 +1297,20 @@ class OperatorLoginResource extends Creatable(Resource) {
|
|
|
1293
1297
|
}
|
|
1294
1298
|
var OperatorLoginResource$1 = OperatorLoginResource;
|
|
1295
1299
|
|
|
1300
|
+
class OperatorOtpChallengeResource extends Resource {
|
|
1301
|
+
constructor(client) {
|
|
1302
|
+
super(client, 'operator-otp-challenges', OperatorOtpChallenge.fromObject);
|
|
1303
|
+
}
|
|
1304
|
+
/** Request a one-shot email OTP for the current operator session. */
|
|
1305
|
+
async create() {
|
|
1306
|
+
const response = await this.client.post({
|
|
1307
|
+
endpoint: `/${this.path}`,
|
|
1308
|
+
});
|
|
1309
|
+
return this.fromObject(response);
|
|
1310
|
+
}
|
|
1311
|
+
}
|
|
1312
|
+
var OperatorOtpChallengeResource$1 = OperatorOtpChallengeResource;
|
|
1313
|
+
|
|
1296
1314
|
class OperatorResource extends Creatable(Queryable(Retrievable(Updateable(Resource)))) {
|
|
1297
1315
|
constructor(client) {
|
|
1298
1316
|
super(client, 'operators', Operator.fromObject);
|
|
@@ -1671,6 +1689,7 @@ class Cuenca {
|
|
|
1671
1689
|
this.legalPersons = new LegalPersonResource$1(client);
|
|
1672
1690
|
this.loginTokens = new LoginTokenResource$1(client);
|
|
1673
1691
|
this.operatorLogins = new OperatorLoginResource$1(client);
|
|
1692
|
+
this.operatorOtpChallenges = new OperatorOtpChallengeResource$1(client);
|
|
1674
1693
|
this.operators = new OperatorResource$1(client);
|
|
1675
1694
|
this.partners = new PartnerResource$1(client);
|
|
1676
1695
|
this.paymentOrders = new PaymentOrderResource$1(client);
|
package/build/index.mjs
CHANGED
|
@@ -16,7 +16,7 @@ const isNode =
|
|
|
16
16
|
|
|
17
17
|
const runtimeEnv = { isBrowser, isNode };
|
|
18
18
|
|
|
19
|
-
const name="@cuenca-mx/cuenca-js";const version="2.0.0-
|
|
19
|
+
const name="@cuenca-mx/cuenca-js";const version="2.0.0-dev3";const description="Cuenca client for JS";const main="./build/index.cjs";const module="./build/index.mjs";const browser="./build/umd/cuenca.umd.js";const types="./build/dts/index.d.ts";const sideEffects=false;const files=["build/**/*","errors/**/*","jwt/**/*","requests/**/*","types/**/*"];const exports={".":{types:"./build/dts/index.d.ts","import":"./build/index.mjs",require:"./build/index.cjs"},"./errors":{types:"./build/dts/errors.d.ts","import":"./build/errors/index.mjs",require:"./build/errors/index.cjs"},"./jwt":{types:"./build/dts/jwt.d.ts","import":"./build/jwt/index.mjs",require:"./build/jwt/index.cjs"},"./requests":{types:"./build/dts/requests/index.d.ts","import":"./build/requests/index.mjs",require:"./build/requests/index.cjs"},"./types":{types:"./build/dts/types/index.d.ts","import":"./build/types/index.mjs",require:"./build/types/index.cjs"}};const packageManager="yarn@3.2.0";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 engines={node:">=20"};const scripts={build:"rm -rf build/ tsconfig.tsbuildinfo && yarn rollup --config && yarn tsc -p tsconfig.json && yarn tsc-alias -p tsconfig.json --outDir build/dts",test:"vitest run --coverage",publish:"yarn build && yarn npm publish",dev:"rm -rf build/ && yarn rollup --config && yarn node ../example.cjs",example:"yarn node ../example.cjs"};const devDependencies={"@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.1.1","@rollup/plugin-typescript":"^11.1.6","@vitest/coverage-v8":"^1.6.0",rollup:"^2.61.1","rollup-plugin-terser":"^7.0.2","tsc-alias":"^1.8.10",typescript:"^4.9.5","vite-tsconfig-paths":"^4.3.2",vitest:"^1.6.0"};const dependencies={buffer:"^6.0.3"};var pkg = {name:name,version:version,description:description,main:main,module:module,browser:browser,types:types,sideEffects:sideEffects,files:files,exports:exports,packageManager:packageManager,type:type,repository:repository,keywords:keywords,license:license,bugs:bugs,homepage:homepage,engines:engines,scripts:scripts,devDependencies:devDependencies,dependencies:dependencies};
|
|
20
20
|
|
|
21
21
|
/* global FormData */
|
|
22
22
|
|
|
@@ -567,6 +567,10 @@ const OperatorLogin = {
|
|
|
567
567
|
fromObject: (obj) => camelize(obj),
|
|
568
568
|
};
|
|
569
569
|
|
|
570
|
+
const OperatorOtpChallenge = {
|
|
571
|
+
fromObject: (obj) => camelize(obj),
|
|
572
|
+
};
|
|
573
|
+
|
|
570
574
|
const PaymentOrder = {
|
|
571
575
|
fromObject: (obj) => coerceDatesWithDefaults(camelize(obj), [
|
|
572
576
|
'createdAt',
|
|
@@ -1285,6 +1289,20 @@ class OperatorLoginResource extends Creatable(Resource) {
|
|
|
1285
1289
|
}
|
|
1286
1290
|
var OperatorLoginResource$1 = OperatorLoginResource;
|
|
1287
1291
|
|
|
1292
|
+
class OperatorOtpChallengeResource extends Resource {
|
|
1293
|
+
constructor(client) {
|
|
1294
|
+
super(client, 'operator-otp-challenges', OperatorOtpChallenge.fromObject);
|
|
1295
|
+
}
|
|
1296
|
+
/** Request a one-shot email OTP for the current operator session. */
|
|
1297
|
+
async create() {
|
|
1298
|
+
const response = await this.client.post({
|
|
1299
|
+
endpoint: `/${this.path}`,
|
|
1300
|
+
});
|
|
1301
|
+
return this.fromObject(response);
|
|
1302
|
+
}
|
|
1303
|
+
}
|
|
1304
|
+
var OperatorOtpChallengeResource$1 = OperatorOtpChallengeResource;
|
|
1305
|
+
|
|
1288
1306
|
class OperatorResource extends Creatable(Queryable(Retrievable(Updateable(Resource)))) {
|
|
1289
1307
|
constructor(client) {
|
|
1290
1308
|
super(client, 'operators', Operator.fromObject);
|
|
@@ -1663,6 +1681,7 @@ class Cuenca {
|
|
|
1663
1681
|
this.legalPersons = new LegalPersonResource$1(client);
|
|
1664
1682
|
this.loginTokens = new LoginTokenResource$1(client);
|
|
1665
1683
|
this.operatorLogins = new OperatorLoginResource$1(client);
|
|
1684
|
+
this.operatorOtpChallenges = new OperatorOtpChallengeResource$1(client);
|
|
1666
1685
|
this.operators = new OperatorResource$1(client);
|
|
1667
1686
|
this.partners = new PartnerResource$1(client);
|
|
1668
1687
|
this.paymentOrders = new PaymentOrderResource$1(client);
|
package/build/umd/cuenca.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("buffer")):"function"==typeof define&&define.amd?define(["exports","buffer"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).cuenca={},e.Buffer)}(this,(function(e,t){"use strict";function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=s(t);class a extends Error{constructor(e){super(e),Object.setPrototypeOf(this,a.prototype)}}class n extends a{constructor(e,t){super(`Cuenca Response Error: ${t}`),this.name="CuencaResponseError",this.data=e,this.status=t,Object.setPrototypeOf(this,n.prototype)}}class o extends a{constructor(){super("No results were found"),this.name="NoResultFound",Object.setPrototypeOf(this,o.prototype)}}class i extends a{constructor(){super("One result was expected but multiple were found"),this.name="MultipleResultsFound",Object.setPrototypeOf(this,i.prototype)}}class c extends a{constructor(){super("An invalid JWT token was obtained during authentication"),this.name="MalformedJwtToken",Object.setPrototypeOf(this,c.prototype)}}class d extends a{constructor(){super("Invalid password"),this.name="InvalidPassword",Object.setPrototypeOf(this,d.prototype)}}class u extends Error{constructor(e){super(e),Object.setPrototypeOf(this,u.prototype)}}class l extends a{constructor(e){super(e),this.name="PaginationError",Object.setPrototypeOf(this,l.prototype)}}const p="undefined"!=typeof window&&void 0!==window.document,h="undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process),m=p,f=h;class b{constructor(e,t){this.expiresAt=e,this.token=t}get isExpired(){const e=new Date;return(this.expiresAt.valueOf()-e.valueOf())/6e4<=5}static getExpirationDate=e=>{let t;try{const[,s]=e.split("."),a=s.replace(/-/g,"+").replace(/_/g,"/"),n=a.length%4==0?"":"=".repeat(4-a.length%4);t=JSON.parse(r.default.Buffer.from(`${a}${n}`,"base64").toString())}catch(e){throw new c}const{exp:s}=t;return new Date(new Date(1e3*s).toUTCString())};static create=async e=>{e.jwtToken=null;const{token:t}=await e.post({endpoint:"tokens",data:{}}),s=b.getExpirationDate(t);return new b(s,t)}}const y="application/pdf",_="application/xml",j="application/json",O="*/*",v="sandbox",w="stage",g="api",A="phone",x="email",C=e=>e.replace(/_([a-z0-9])/g,((e,t)=>t.toUpperCase())),T=e=>e.replace(/([a-zA-Z0-9])([A-Z])/g,"$1_$2").toLowerCase();function I(e,t){return Array.isArray(e)?e.map((e=>I(e,t))):e instanceof Date?e:(e=>!("object"!=typeof e||null===e||Array.isArray(e)||e instanceof Date))(e)?Object.entries(e).reduce(((e,[s,r])=>(e[t(s)]=I(r,t),e)),{}):e}function S(e){return I(e,C)}function k(e){return I(e,T)}const $=e=>{const{createdAfter:t,createdBefore:s,ids:r,limit:a,pageSize:n,relatedTransaction:o,userId:i,count:c,...d}=e,l={};if(void 0!==t&&(l.created_after=t),void 0!==s&&(l.created_before=s),void 0!==r&&(l.ids=r),"number"==typeof a){if(a<0)throw new u("limit must be >= 0");l.limit=a}const p=(e=>{if(void 0!==e){if(!(e>0&&e<=100))throw new u("pageSize must satisfy 0 < pageSize <= 100");return e}})(n);return void 0!==p&&(l.page_size=p),void 0!==o&&(l.related_transaction=o),void 0!==i&&(l.user_id=i),Object.assign(l,k(d)),c&&(l.count=1),Object.keys(l).forEach((e=>{null!==l[e]&&void 0!==l[e]||delete l[e]})),l},D=e=>{const t=new URLSearchParams;return Object.entries(e).forEach((([e,s])=>{Array.isArray(s)?t.append(e,s.join(",")):t.append(e,String(s))})),t.toString()},P=e=>(e=>{const{account_id:t,...s}=e;return void 0===t?s:{...s,account:t}})($(e)),E=e=>D(P(e)),N=e=>{if(!e)return null;const t=new Date(e);return new Date(t.getTime())},H=(e,t)=>{const s={...e};return t.forEach((e=>{void 0===s[e]&&(s[e]=null),s[e]=N(s[e])})),s},R=(e={})=>H({city:e.city,colonia:e.colonia,country:e.country,state:e.state,street:e.street,createdAt:e.created_at,extNumber:e.ext_number,fullName:e.full_name,intNumber:e.int_number,postalCode:e.postal_code},["createdAt"]),U=(e={})=>H({agent:e.agent,comments:e.comments,status:e.status,createdAt:e.created_at,updatedAt:e.updated_at},["createdAt","updatedAt"]),B=(e={})=>H({hasAudit:e.has_audit,auditProvider:e.audit_provider,auditComments:e.audit_comments,auditDate:e.audit_date},["auditDate"]),q=(e={})=>({accountUsageDescription:e.account_usage_description??null,businessDescription:e.business_description??null}),L=(e={})=>({bank:e.bank,account:e.account}),K=(e={})=>({code:e.code,error:e.error,identifier:e.identifier,message:e.message}),M=(e={})=>{const t=e.errors;return{data:e.data,status:e.status,type:e.type,isMx:e.is_mx,uriBack:e.uri_back,uriFront:e.uri_front,...t&&t.length>0?{errors:t.map(K)}:{}}},z=(e={})=>({licenseRequired:e.license_required??!1,supervisoryEntity:e.supervisory_entity??null,licenseType:e.license_type??null,licenseDate:e.license_date?N(e.license_date):null}),F=(e={})=>({names:e.names,curp:e.curp,rfc:e.rfc,firstSurname:e.first_surname,secondSurname:e.second_surname}),X=(e={})=>({...F(e),job:e.job,phoneNumber:e.phone_number,emailAddress:e.email_address,address:e.address?R(e.address):void 0}),J=(e={})=>({...F(e),percentage:e.percentage,shareCapital:e.share_capital}),Y=e=>{const t=e.shareholders;return t?t.map(J):[]},Q=e=>{const t=e.legal_representatives;return t?t.map(X):[]},V=(e={})=>({name:e.name,percentage:e.percentage,shareholders:Y(e),legalRepresentatives:Q(e)}),Z=(e={})=>({speiTransfersNum:e.spei_transfers_num,speiTransfersAmount:e.spei_transfers_amount,internalTransfersNum:e.internal_transfers_num,internalTransfersAmount:e.internal_transfers_amount}),W=(e={})=>({ip:e.ip,location:e.location,type:e.type,version:e.version}),G=(e={})=>H({isVulnerableActivity:e.is_vulnerable_activity,hasSatRegister:e.has_sat_register,isInCompliance:e.is_in_compliance,satRegisteredDate:e.sat_registered_date},["satRegisteredDate"]);var ee="2.0.0-dev2";const te=e=>{if(e instanceof Date)return e.toISOString();if(Array.isArray(e))return e.map(te);if(null!==e&&"object"==typeof e&&e.constructor===Object){const t={};return Object.keys(e).forEach((s=>{t[s]=te(e[s])})),t}return e};async function se(e,t){if("arraybuffer"===t)return e.arrayBuffer();if("blob"===t)return e.blob();const s=e.headers.get("content-type")||"";if(s.includes("application/json")){const t=await e.text();return t?JSON.parse(t):{}}return s.includes("application/pdf")||s.includes("application/octet-stream")?e.arrayBuffer():e.text()}async function re({baseURL:e,url:t,method:s="GET",headers:r={},params:a,data:n,responseType:o,timeout:i=45e3,signal:c}){const d=function(e,t,s){const r=new URL(t,e);return s&&Object.entries(s).forEach((([e,t])=>{null!=t&&r.searchParams.append(e,t)})),r.toString()}(e,t,a),u={...r};let l;null!=n&&("undefined"!=typeof FormData&&n instanceof FormData?(l=n,Object.keys(u).filter((e=>"content-type"===e.toLowerCase())).forEach((e=>delete u[e]))):l="string"==typeof n||n instanceof ArrayBuffer?n:JSON.stringify(n));const p=new AbortController,h=setTimeout((()=>p.abort()),i);let m;c&&(c.aborted?p.abort():c.addEventListener("abort",(()=>p.abort()),{once:!0}));try{m=await fetch(d,{method:s,headers:u,body:l,signal:p.signal})}catch(e){const t=new Error(e.message||"Network error");throw t.request={},t.errno=e.errno??e.cause?.errno,t.code=e.code??e.cause?.code??("AbortError"===e.name?"ETIMEDOUT":void 0),t}finally{clearTimeout(h)}if(!m.ok){let e;try{e=await se(m,o)}catch(t){e=await m.text().catch((()=>null))}const t=new Error(`HTTP ${m.status}`);throw t.response={data:e,status:m.status,headers:m.headers},t}return{data:await se(m,o),status:m.status,headers:m.headers}}class ae{constructor({apiKey:e,apiSecret:t,language:s="en",phase:r=v}={}){this.phase=r,this.basicAuth={apiKey:e,apiSecret:t},this.jwtToken=null,this._defaultHeaders={"Accept-Language":s},this._sessionHeaders={},this._timeout=45e3,this._session={request:e=>re(e)}}get session(){return this._session}get origin(){const e={[v]:"sandbox.cuenca.com",[w]:"api.stage.cuenca.com",[g]:"api.cuenca.com"}[this.phase];if(!e)throw new a(`Unsupported phase: ${this.phase}`);return`https://${e}`}get authHeader(){const{apiKey:e,apiSecret:t}=this.basicAuth;return e&&t?`Basic ${r.default.Buffer.from(`${e}:${t}`,"utf-8").toString("base64")}`:""}addHeadersToRequest(e){const t={};return Object.keys(e).forEach((s=>{t[s]=Object.prototype.hasOwnProperty.call(this._sessionHeaders,s)?this._sessionHeaders[s]:void 0,this._sessionHeaders[s]=e[s]})),{eject:()=>{Object.keys(t).forEach((e=>{void 0===t[e]?delete this._sessionHeaders[e]:this._sessionHeaders[e]=t[e]}))}}}deleteRequestHeader(e){const t=Object.prototype.hasOwnProperty.call(this._sessionHeaders,e),s=t?this._sessionHeaders[e]:void 0;return delete this._sessionHeaders[e],{eject:()=>{t&&(this._sessionHeaders[e]=s)}}}async configure({apiKey:e,apiSecret:t,loginToken:s,phase:r,sessionId:a,useJwt:n=!1}){this.basicAuth={apiKey:e||this.basicAuth.apiKey,apiSecret:t||this.basicAuth.apiSecret},r&&(this.phase=r),n&&(this.jwtToken=await b.create(this)),s&&this.addHeadersToRequest({"X-Cuenca-LoginToken":s}),a&&this.addHeadersToRequest({"X-Cuenca-SessionId":a})}async get({endpoint:e,format:t,params:s,headers:r,responseType:a}){return this.request({endpoint:e,format:t,params:s,headers:r,responseType:a})}async post({endpoint:e,data:t,multipart:s,headers:r,responseType:a}){return this.request({method:"POST",endpoint:e,data:t,multipart:s,headers:r,responseType:a})}async patch({endpoint:e,data:t,headers:s}){return this.request({method:"PATCH",endpoint:e,data:t,headers:s})}async delete({endpoint:e,data:t,headers:s}){return this.request({method:"DELETE",endpoint:e,data:t,headers:s})}async request({endpoint:e,data:t=null,format:s=j,method:r="GET",multipart:o=!1,params:i=null,headers:c=null,responseType:d,timeout:u,signal:l}){this.jwtToken&&this.jwtToken.isExpired&&(this.jwtToken=await b.create(this));const p={...this._defaultHeaders,...this._sessionHeaders};o||(p["Content-Type"]="application/json",p.Accept=s),this.authHeader&&(p.Authorization=this.authHeader),f?p["User-Agent"]=`cuenca-js/${ee}`:m&&(p["X-User-Agent"]=`cuenca-js/${ee}`),this.jwtToken&&(p["X-Cuenca-Token"]=this.jwtToken.token),c&&Object.assign(p,c);let h=t;h&&!o&&(h=te(t));try{return(await this._session.request({baseURL:this.origin,url:e,method:r,headers:p,params:i,data:h,responseType:d,timeout:u??this._timeout,signal:l})).data}catch(e){if(e.response)throw new n(e.response.data,e.response.status);if(e.request){const t=e.code??e.name??"ENETWORK",s=e.errno??"unknown";throw new a(`No response received: ${s}: ${t}`)}throw new a(e.message)}}}const ne={fromObject:e=>H(S(e),["createdAt"])},oe=e=>{const t=S(e),s=e.change_log;return H({...t,changeLog:s&&Array.isArray(s)&&s.length>0?s.map(U):void 0},["createdAt","updatedAt","transactionDate","committeeMeetingDate"])},ie=e=>H(S(e),["createdAt","deactivatedAt","updatedAt"]),ce=e=>H(S(e),["createdAt"]),de=e=>{const{type:t,...s}=e,r=S(s);return H({...r,entryType:t},["createdAt"])},ue={fromObject:e=>H(S(e),["createdAt"])},le=e=>e&&"object"==typeof e&&Object.keys(e).length>0?e:void 0,pe={fromObject:e=>{const t=S(e),s=le(e.address),r=le(e.govt_id),a=le(e.proof_of_address),n=le(e.terms_of_service);return H({...t,address:s?R(s):void 0,govtId:r?M(r):void 0,proofOfAddress:a?M(a):void 0,termsOfService:n?W(n):void 0},["createdAt","updatedAt"])}},he=e=>H(S(e),["createdAt"]),me=e=>{const{account_uri:t,...s}=e;return{...S(s),account:"string"==typeof t?t.split("/")[2]:void 0}},fe={fromObject:e=>H(S(e),["createdAt"])},be={fromObject:e=>H(S(e),["createdAt","updatedAt"])},ye=e=>H(S(e),["createdAt"]),_e={fromObject:e=>{const{error_type:t,card_last4:s,related_card_transaction:r,metadata:a,...n}=e,o=S(n);return H({...o,cardErrorType:t,cardLastFour:s,relatedCardTransactionsUris:r,metadata:a},["createdAt"])}},je=e=>H(S(e),["createdAt"]),Oe={fromObject:e=>H(S(e),["createdAt"])},ve={fromObject:e=>H(S(e),["createdAt"])},we=e=>S(e),ge=e=>S(e),Ae=e=>{const t=S(e);return H({...t,filesUri:t.filesUri||[]},["createdAt","updatedAt","deactivatedAt"])},xe=e=>{const t=S(e);return H({...t,address:e.address?R(e.address):void 0},["createdAt","updatedAt"])},Ce=e=>{const t=e.legal_representatives;return t?t.map(X):void 0},Te=e=>{const t=xe(e),s=S(e);return H({...s,...t,legalRepresentatives:Ce(e)},["createdAt","updatedAt"])},Ie=e=>({id:e.id}),Se=e=>H(S(e),["createdAt","updatedAt"]),ke=e=>S(e),$e=e=>H(S(e),["createdAt","updatedAt","expiresAt","authorizedAt","rejectedAt"]),De=e=>({...S(e),deposits:e.deposits?Z(e.deposits):void 0,withdrawal:e.withdrawal?Z(e.withdrawal):void 0}),Pe=e=>{const t=e.legal_representatives;return t?t.map(X):void 0},Ee=e=>{const t=e.transactional_profile;return t?De(t):void 0},Ne=e=>{const t=xe(e),s=S(e);return H({...s,...t,audit:e.audit?B(e.audit):void 0,businessDetails:e.business_details?q(e.business_details):void 0,externalAccount:e.external_account?L(e.external_account):void 0,license:e.license?z(e.license):void 0,shareholders:e.shareholders?e.shareholders.map(V):void 0,legalRepresentatives:Pe(e),transactionalProfile:Ee(e),vulnerableActivity:e.vulnerable_activity?G(e.vulnerable_activity):void 0},["incorporationDate"])},He=e=>H(S(e),["createdAt","updatedAt"]),Re={fromObject:e=>H(S(e),["createdAt","deactivatedAt","goalDate","updatedAt"])},Ue=e=>{const t=S(e);return{...t,categories:null==t.categories?[]:t.categories}},Be=e=>H(S(e),["createdAt","expiresAt"]),qe=e=>H(S(e),["createdAt"]),Le={fromObject:e=>H(S(e),["createdAt","updatedAt"])},Ke=e=>e?M(e):void 0,Me=e=>{const t=S(e);return H({...t,address:e.address?R(e.address):void 0,govtId:Ke(e.govt_id),proofOfAddress:Ke(e.proof_of_address),proofOfLife:Ke(e.proof_of_life),curpDocument:Ke(e.curp_document),termsOfService:e.terms_of_service?W(e.terms_of_service):void 0},["createdAt","updatedAt"])},ze=e=>H(S(e),["createdAt","updatedAt"]),Fe=e=>H(S(e),["lastLoginAt"]),Xe=e=>S(e),Je=e=>H(S(e),["createdAt","updatedAt"]),Ye=e=>H(S(e),["createdAt","updatedAt"]),Qe={fromObject:e=>H(S(e),["createdAt"])},Ve={fromObject:e=>H(S(e),["createdAt","expiresAt","updatedAt"])};class Ze{constructor(e,t,s){this.client=e,this.path=t,this.fromObject=s}toParams(e){return $(e)}toQueryString(e){return(e=>D($(e)))(e)}}function We(e){return class extends e{async retrieve(e){const t=await this.client.get({endpoint:`/${this.path}/${e}`});return this.fromObject(t)}}}function Ge(e){return class extends e{async _create(e){const t=await this.client.post({endpoint:`/${this.path}`,data:e});return this.fromObject(t)}}}function et(e){return class extends e{async _update(e,t){const s=await this.client.patch({endpoint:`/${this.path}/${e}`,data:t});return this.fromObject(s)}}}function tt(e){return class extends e{async _deactivate(e,t={}){const s=await this.client.delete({endpoint:`/${this.path}/${e}`,data:t});return this.fromObject(s)}}}function st(e){return class extends e{async _download(e,t,s){const r={endpoint:`/${this.path}/${e}`};return void 0!==t&&(r.format=t),void 0!==s&&(r.responseType=s),this.client.get(r)}}}function rt(e){return class extends e{async one(e={}){const{items:t}=await this.client.get({endpoint:`/${this.path}`,params:this.toParams({...e,limit:2})});if(!t||0===t.length)throw new o;if(t.length>1)throw new i;return this.fromObject(t[0])}async first(e={}){const{items:t}=await this.client.get({endpoint:`/${this.path}`,params:this.toParams({...e,limit:1})});return t&&0!==t.length?this.fromObject(t[0]):null}async count(e={}){const t={...this.toParams(e),count:1},{count:s}=await this.client.get({endpoint:`/${this.path}`,params:t});return s??0}async page(e,s){const r=e??{},a=s&&s.length>0?(e=>t.Buffer.from(e,"base64url").toString("utf8"))(s):null,n=a??`/${this.path}?${this.toQueryString(r)}`,o=await this.client.get({endpoint:n});return{items:(o.items??[]).map((e=>this.fromObject(e))),nextCursor:o.next_page_uri?(i=o.next_page_uri,t.Buffer.from(i,"utf8").toString("base64url")):null};var i}async*all(e={}){const t=new Set;let s,r=0;for(;;){if(r>=1e4)throw new l("Pagination exceeded 10000 pages; aborting");r+=1;const{items:a,nextCursor:n}=await this.page(e,s);if(n&&(n===s||t.has(n)))throw new l(`Repeated next_page_uri: ${n}`);for(const e of a)yield e;if(!n)return;t.add(n),s=n}}}}function at(e){if(!e)return null;const t=e.match(/^\/([^?]+)\/[^/?]+(?:\?.*)?$/);return t?t[1]:null}class nt extends(We(rt(Ze))){constructor(e){super(e,"accounts",ne.fromObject)}}var ot=nt;function it(e){const t={};return Object.keys(e).forEach((s=>{null!=e[s]&&(t[s]=e[s])})),t}const ct={toObject:(e={})=>k(e),toCleanObject:(e={})=>it(ct.toObject(e))},dt={toObject:(e={})=>k(e),toCleanObject:(e={})=>it(dt.toObject(e))},ut={toObject:e=>k(e),toCleanObject:e=>it(ut.toObject(e))};const lt={toObject:(e={})=>(function(e){if(e.number&&(16!==e.number.length||!/^\d{16}/.test(e.number)))throw new u("Invalid number");if(e.arpcMethod&&1!==e.arpcMethod.length)throw new u("Invalid method")}(e),k(e)),toCleanObject:(e={})=>it(lt.toObject(e))};const pt={toObject:e=>(function({number:e,expMonth:t,expYear:s,cvv2:r}){if(!e||16!==e.length||!/^\d{16}/.test(e))throw new u("Invalid number");if(!t||t<1||t>12)throw new u("Invalid expiration month");if(!s||s<18||s>99)throw new u("Invalid expiration year");if(!r||3!==r.length||!/^\d{3}/.test(r))throw new u("Invalid cvv2")}(e),{number:e.number.trim(),exp_month:e.expMonth,exp_year:e.expYear,cvv2:e.cvv2}),toCleanObject:e=>it(pt.toObject(e))},ht={toObject:e=>k(e),toCleanObject:e=>it(ht.toObject(e))},mt={toObject:e=>k(e),toCleanObject:e=>it(mt.toObject(e))};const ft={toObject:e=>(function(e){if(e.cvv&&3!==e.cvv.length)throw new u("Invalid cvv");if(e.cvv2&&3!==e.cvv2.length)throw new u("Invalid cvv2");if(e.expMonth&&(e.expMonth<1||e.expMonth>12))throw new u("Invalid expiration month");if(e.expYear&&(e.expYear<18||e.expYear>99))throw new u("Invalid expiration year");if(e.icvv&&3!==e.icvv.length)throw new u("Invalid icvv");const{number:t}=e;if(!t||16!==t.length||!/^\d{16}/.test(t))throw new u("Invalid number")}(e),k(e)),toCleanObject:e=>it(ft.toObject(e))},bt={toObject:e=>({extension:e.extension,file:e.file,is_back:e.isBack??!1,type:e.type,user_id:e.userId??"me"}),toCleanObject:e=>it(bt.toObject(e))},yt={toObject:e=>k(e),toCleanObject:e=>it(yt.toObject(e))},_t={toObject:e=>({force:e.force,[e.isBridge?"account_id":"user_id"]:e.userId}),toCleanObject:e=>it(_t.toObject(e))},jt=e=>it({names:e.names,first_surname:e.firstSurname,second_surname:e.secondSurname,curp:e.curp,rfc:e.rfc,job:e.job,phone_number:e.phoneNumber,email_address:e.emailAddress,address:e.address?ct.toCleanObject(e.address):void 0}),Ot={toObject:e=>({legal_name:e.legalName,rfc:e.rfc,address:ct.toCleanObject(e.address),legal_representatives:e.legalRepresentatives.map(jt)}),toCleanObject:e=>it(Ot.toObject(e))},vt={toObject:(e={})=>({legal_name:e.legalName,rfc:e.rfc,address:e.address?ct.toCleanObject(e.address):void 0,legal_representatives:e.legalRepresentatives?.map(jt)}),toCleanObject:(e={})=>it(vt.toObject(e))},wt={toObject:e=>({name:e.name,email:e.email,phone:e.phone,company_user_id:e.companyUserId,role:e.role,status:e.status}),toCleanObject:e=>it(wt.toObject(e))},gt={toObject:(e={})=>({name:e.name,phone:e.phone,role:e.role,status:e.status}),toCleanObject:(e={})=>it(gt.toObject(e))},At={toObject:e=>({email:e.email,password:e.password}),toCleanObject:e=>it(At.toObject(e))},xt={toObject:e=>k(e),toCleanObject:e=>it(xt.toObject(e))},Ct={toObject:e=>({rejection_reason:e.rejectionReason}),toCleanObject:e=>it(Ct.toObject(e))},Tt=e=>e?k(e):void 0,It=e=>{if(e)return{currency:e.currency,monthly_amount:e.monthlyAmount,recipients_num:e.recipientsNum,payers_num:e.payersNum,deposits:Tt(e.deposits),withdrawal:Tt(e.withdrawal)}},St=e=>e?k(e):void 0,kt=e=>k(e),$t=e=>({...kt(e),job:e.job,phone_number:e.phoneNumber,email_address:e.emailAddress,address:e.address?ct.toCleanObject(e.address):void 0}),Dt=e=>({name:e.name,percentage:e.percentage,shareholders:e.shareholders?.map(kt),legal_representatives:e.legalRepresentatives?.map($t)}),Pt=e=>e?k(e):void 0,Et=e=>e?k(e):void 0,Nt=e=>e?k(e):void 0,Ht={toObject:(e={})=>({address:e.address?ct.toCleanObject(e.address):void 0,audit:Nt(e.audit),business_details:St(e.businessDetails),business_name:e.businessName,clabe:e.clabe,created_at:e.createdAt,documentation_url:e.documentationUrl,email_address:e.emailAddress,external_account:e.externalAccount?{account:e.externalAccount.account,bank:e.externalAccount.bank}:void 0,folio:e.folio,id:e.id,incorporation_date:e.incorporationDate,legal_name:e.legalName,legal_representatives:e.legalRepresentatives?.map($t),level:e.level,license:Et(e.license),meta:e.meta,nationality:e.nationality,phone_number:e.phoneNumber,platform_id:e.platformId,required_level:e.requiredLevel,rfc:e.rfc,shareholders:e.shareholders?.map(Dt),status:e.status,transactional_profile:It(e.transactionalProfile),updated_at:e.updatedAt,user_id:e.userId,user_type:e.userType,vulnerable_activity:Pt(e.vulnerableActivity),web_site:e.webSite}),toCleanObject:(e={})=>it(Ht.toObject(e))},Rt={toObject:(e={})=>k(e),toCleanObject:(e={})=>it(Rt.toObject(e))};const Ut={toObject:(e={})=>(function({goalDate:e}){if(!e)return;const t=N(e),s=N(Date.now());if(t.getTime()<=s.getTime())throw new u("The goal_date always need to be higher than now")}(e),{category:e.category,goal_amount:e.goalAmount,goal_date:e.goalDate,name:e.name}),toCleanObject:(e={})=>it(Ut.toObject(e))},Bt={toObject:e=>({failure_url:e.failureUrl,success_url:e.successUrl,type:e.type,[e.isBridge?"account_id":"user_id"]:e.userId}),toCleanObject:e=>it(Bt.toObject(e))};const qt={toObject:e=>(function(e){if(!e)throw new u("missing ip address");if(!e.split(".").every((e=>Number(e)>=0&&Number(e)<=255)))throw new u("Invalid ip address")}(e.ip),{ip:e.ip,location:e.location,type:e.type,version:e.version}),toCleanObject:e=>it(qt.toObject(e))},Lt={toObject:e=>k(e),toCleanObject:e=>it(Lt.toObject(e))},Kt=["succeeded","failed"];const Mt={toObject:(e={})=>(function({status:e}){if(!e||!Kt.includes(e))throw new Error(`Invalid status: "${e}". Must be one of: ${Kt.join(", ")}`)}(e),{status:e.status}),toCleanObject:(e={})=>it(Mt.toObject(e))};function zt(e){if(!e||e.length<6)throw new u("Invalid password")}const Ft=e=>(zt(e.password),{password:e.password});const Xt={toObject:e=>(function(e){if(e.password&&zt(e.password),e.password&&null!=e.isActive)throw new u("Only one property can be updated at a time")}(e),{password:e.password,is_active:e.isActive}),toCleanObject:e=>{const t=Xt.toObject(e),s={};return Object.keys(t).forEach((e=>{"password"!==e||null!==t[e]?null!=t[e]&&(s[e]=t[e]):s[e]=null})),s}},Jt=e=>({password:e.password,user_id:e.userId??"me"}),Yt={toObject:(e={})=>k(e),toCleanObject:(e={})=>it(Yt.toObject(e))},Qt={toObject:(e={})=>k(e),toCleanObject:(e={})=>it(Qt.toObject(e))},Vt=e=>e?it(k(e)):void 0,Zt={toObject:(e={})=>({address:e.address?ct.toCleanObject(e.address):void 0,blacklist_validation_status:e.blacklistValidationStatus,country_of_birth:e.countryOfBirth,curp_document_uri:e.curpDocumentUri,email_address:e.emailAddress,fiscal_regime_code:e.fiscalRegimeCode,govt_id:Vt(e.govtId),is_dormant:e.isDormant,is_fraud:e.isFraud,is_pld_blocked:e.isPldBlocked,is_security_mode:e.isSecurityMode,phone_number:e.phoneNumber,profession:e.profession,proof_of_life:Vt(e.proofOfLife),proof_of_address:Vt(e.proofOfAddress),requiredLevel:e.requiredLevel,rfc:e.rfc,status:e.status,terms_of_service:e.termsOfService?qt.toObject(e.termsOfService):void 0,verification_id:e.verificationId,user_type:e.userType}),toCleanObject:(e={})=>it(Zt.toObject(e))};function Wt(e){var t,s;if(e.recipient)switch(e.type){case x:if(s=e.recipient,!/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(s))throw new u("Invalid email address");return e.recipient;case A:if(t=e.recipient,!/^\+?[0-9]{10,15}$/.test(t))throw new u("Invalid Phone Number");return e.recipient;default:return}}const Gt={toObject:(e={})=>({platform_id:e.platformId,recipient:Wt(e),type:e.type}),toCleanObject:(e={})=>it(Gt.toObject(e))},es={toObject:(e={})=>({code:e.code}),toCleanObject:(e={})=>it(es.toObject(e))},ts=e=>k(e);class ss extends(Ge(rt(We(et(Ze))))){constructor(e){super(e,"alerts",oe)}async create(e){return this._create(dt.toCleanObject(e))}async update(e,t){return this._update(e,dt.toCleanObject(t))}}var rs=ss;class as extends(Ge(tt(rt(We(et(Ze)))))){constructor(e){super(e,"api_keys",ie)}async create(){return this._create({})}async deactivate(e,t=0){return this._deactivate(e,{minutes:t})}async update(e,t,s="me"){return this._update(e,ut.toCleanObject({userId:s,metadata:t}))}}var ns=as;class os extends(Ge(Ze)){constructor(e){super(e,"arpc",ce)}async create(e){return this._create(lt.toObject(e))}}var is=os;const cs={bill_payments:ue.fromObject,card_transactions:_e.fromObject,commissions:Oe.fromObject,deposits:ve.fromObject,savings:Re.fromObject,transfers:Le.fromObject,wallet_transactions:Qe.fromObject,whatsapp_transfers:Ve.fromObject},ds={...cs,accounts:ne.fromObject,cards:be.fromObject,"bridge/accounts":pe.fromObject};class us extends(rt(We(Ze))){constructor(e){super(e,"balance_entries",de)}async relatedTransaction(e){const t=at(e);if(!t)return null;const s=cs[t];if(!s)return null;return s(await this.client.get({endpoint:e}))}async fundingInstrument(e){const t=at(e);if(!t)return null;const s=ds[t];if(!s)return null;return s(await this.client.get({endpoint:e}))}}var ls=us;class ps extends(rt(We(Ze))){constructor(e){super(e,"bill_payments",ue.fromObject)}async serviceProvider(e){if(!e)return null;const t=await this.client.get({endpoint:e});return Ue(t)}}var hs=ps;class ms extends(rt(We(et(Ze)))){constructor(e){super(e,"bridge/accounts",pe.fromObject)}async update({userId:e="me",...t}){return this._update(e,Zt.toCleanObject(t))}toParams(e){return P(e)}toQueryString(e){return E(e)}}var fs=ms;class bs extends(We(rt(Ze))){constructor(e){super(e,"bridge/bank_accounts",he)}}var ys=bs;class _s extends(rt(Ze)){constructor(e){super(e,"bridge/clabes",me)}toParams(e){return P(e)}toQueryString(e){return E(e)}}var js=_s;class Os extends(We(rt(Ze))){constructor(e){super(e,"bridge/transactions",fe.fromObject)}toParams(e){return P(e)}toQueryString(e){return E(e)}}var vs=Os;class ws extends(Ge(Ze)){constructor(e){super(e,"card_activations",ye)}async create(e){return this._create(pt.toCleanObject(e))}async card(e){if(!e)return null;const t=await this.client.get({endpoint:e});return be.fromObject(t)}}var gs=ws;class As extends(Ge(tt(rt(We(et(Ze)))))){constructor(e){super(e,"cards",be.fromObject)}async create(e,t,s){return this._create(ht.toCleanObject({userId:e,issuer:t,fundingType:s}))}async deactivate(e){return this._deactivate(e,{})}async update(e,t,s){return this._update(e,mt.toCleanObject({status:t,...void 0!==s?{pinBlock:s}:{}}))}}var xs=As;class Cs extends(rt(We(Ze))){constructor(e){super(e,"card_transactions",_e.fromObject)}async relatedCard(e){if(!e)return null;const t=await this.client.get({endpoint:e});return be.fromObject(t)}}var Ts=Cs;class Is extends(Ge(Ze)){constructor(e){super(e,"card_validations",je)}async create(e){return this._create(ft.toCleanObject(e))}async card(e){if(!e)return null;const t=await this.client.get({endpoint:e});return be.fromObject(t)}}var Ss=Is;const ks={bill_payments:ue.fromObject,"bridge/transactions":fe.fromObject,card_transactions:_e.fromObject,deposits:ve.fromObject,savings:Re.fromObject,transfers:Le.fromObject,wallet_transactions:Qe.fromObject,whatsapp_transfers:Ve.fromObject};class $s extends(rt(We(Ze))){constructor(e){super(e,"commissions",Oe.fromObject)}async relatedTransaction(e){const t=at(e);if(!t)return null;const s=ks[t];if(!s)return null;return s(await this.client.get({endpoint:e}))}}var Ds=$s;class Ps extends(rt(We(Ze))){constructor(e){super(e,"deposits",ve.fromObject)}async source(e){const t=await this.client.get({endpoint:e});return ne.fromObject(t)}}var Es=Ps;class Ns extends(st(function(e){return class extends e{async _upload(e){const t=await this.client.post({endpoint:`/${this.path}`,data:e,multipart:!0});return this.fromObject(t)}}}(Ze))){constructor(e){super(e,"files",we)}async download(e,{responseType:t}={}){return this._download(e,O,t)}async upload(e){return this._upload(bt.toObject(e))}}var Hs=Ns;class Rs extends(Ge(Ze)){constructor(e){super(e,"support/transfer_fraud_funds",ge)}async create(e){return this._create(yt.toObject(e))}}var Us=Rs;class Bs extends(Ge(tt(rt(We(Ze))))){constructor(e,t=!1){super(e,t?"bridge/kyc_validations":"kyc_validations",Ae),this.isBridge=t}async create(e="me",t=!1){return this._create(_t.toCleanObject({force:t,userId:e,isBridge:this.isBridge}))}async deactivate(e){return this._deactivate(e,{})}}var qs=Bs;class Ls extends(Ge(rt(We(et(Ze))))){constructor(e){super(e,"legal_persons",Te)}async create(e){return this._create(Ot.toCleanObject(e))}async update(e,t){return this._update(e,vt.toCleanObject(t))}}var Ks=Ls;class Ms extends(Ge(Ze)){constructor(e){super(e,"login_tokens",Ie)}async create(){return this._create({})}}var zs=Ms;class Fs extends(Ge(Ze)){constructor(e){super(e,"operator-login",ke),this.sessionIdInHeaders=null}async create(e,t){const s=await this._create(At.toCleanObject({email:e,password:t}));return s.sessionToken&&(this.sessionIdInHeaders=this.client.addHeadersToRequest({"X-Cuenca-SessionId":s.sessionToken})),s}clearSessionHeader(){this.sessionIdInHeaders&&(this.sessionIdInHeaders.eject(),this.sessionIdInHeaders=null)}}var Xs=Fs;class Js extends(Ge(rt(We(et(Ze))))){constructor(e){super(e,"operators",Se)}async create(e){return this._create(wt.toCleanObject(e))}async update(e,t){return this._update(e,gt.toCleanObject(t))}}var Ys=Js;class Qs extends(Ge(rt(We(et(Ze))))){constructor(e){super(e,"partners",Ne)}async create(e){return this._create(Ht.toCleanObject(e))}async update(e,t){return this._update(e,Ht.toCleanObject(t))}}var Vs=Qs;const Zs=e=>({"X-Cuenca-Operator-Id":e});class Ws extends(Ge(rt(We(Ze)))){constructor(e){super(e,"payment_orders",$e)}async create(e,{operatorId:t}){const s=await this.client.post({endpoint:`/${this.path}`,data:xt.toCleanObject(e),headers:Zs(t)});return this.fromObject(s)}async validate(e,{operatorId:t}){const s=await this.client.post({endpoint:`/${this.path}/validate`,data:xt.toCleanObject(e),headers:Zs(t)});return this.fromObject(s)}async authorize(e,{operatorId:t,otp:s}){const r=await this.client.post({endpoint:`/${this.path}/${e}/authorize`,data:{},headers:{...Zs(t),"X-Cuenca-OTP":s}});return this.fromObject(r)}async reject(e,{operatorId:t,rejectionReason:s}){const r=await this.client.post({endpoint:`/${this.path}/${e}/reject`,data:Ct.toCleanObject({rejectionReason:s}),headers:Zs(t)});return this.fromObject(r)}}var Gs=Ws;class er extends(rt(Ze)){constructor(e){super(e,"postal_codes",He)}}var tr=er;var sr=class extends Ze{constructor(e){super(e,"reports",(e=>e))}async generateXml({committeeMeetingDate:e}){return this.client.post({endpoint:`/${this.path}`,data:Rt.toCleanObject({committeeMeetingDate:e}),headers:{Accept:"text/xml"},responseType:"arraybuffer"})}};class rr extends(Ge(tt(rt(We(et(Ze)))))){constructor(e){super(e,"savings",Re.fromObject)}async create(e,t,s,r){return this._create(Ut.toObject({category:e,goalAmount:t,goalDate:s,name:r}))}async deactivate(e){return this._deactivate(e,{})}async update(e,t,s,r,a){return this._update(e,Ut.toObject({category:t,goalAmount:s,goalDate:r,name:a}))}}var ar=rr;class nr extends(We(rt(Ze))){constructor(e){super(e,"service_providers",Ue)}}var or=nr;class ir extends(Ge(rt(We(Ze)))){constructor(e,t=!1){super(e,t?"bridge/sessions":"sessions",Be),this.isBridge=t}async create(e,t,s,r){return this._create(Bt.toCleanObject({...void 0!==r?{failureUrl:r}:{},...void 0!==s?{successUrl:s}:{},type:t,userId:e,isBridge:this.isBridge}))}}var cr=ir;class dr extends(st(rt(Ze))){constructor(e){super(e,"statements",qe)}async pdf(e){return this._download(e,y)}async xml(e){return this._download(e,_)}async downloadFiles({userId:e,year:t,month:s}){(({month:e,year:t})=>{if(void 0===e&&void 0===t)return;const s=Number(e),r=Number(t);if(!Number.isInteger(s)||s<1||s>12)throw new u("month must be an integer between 1 and 12");if(!Number.isInteger(r)||r<1900||r>9999)throw new u("year must be an integer between 1900 and 9999");const a=new Date(Date.UTC(r,s-1,1)),n=new Date,o=new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),1));if(a.getTime()>=o.getTime()){const e=String(s).padStart(2,"0");throw new u(`${r}-${e} is not a valid year-month pair`)}})({year:t,month:s});const r=await this.one({userId:e,year:t,month:s}),[a,n]=await Promise.all([this.pdf(r.id),this.xml(r.id)]);return{statement:r,pdf:a,xml:n}}}var ur=dr;class lr extends(Ge(rt(We(et(Ze))))){constructor(e){super(e,"transfers",Le.fromObject)}async destination(e){const t=await this.client.get({endpoint:e});return ne.fromObject(t)}async create({accountNumber:e,amount:t,descriptor:s,recipientName:r,idempotencyKey:a}){const n=a??lr._genIdempotencyKey(e,t);return this._create(Lt.toCleanObject({accountNumber:e,amount:t,descriptor:s,idempotencyKey:n,...void 0!==r?{recipientName:r}:{}}))}async update(e,t){return this._update(e,Mt.toCleanObject(t))}async createMany(e){if(!e||!Array.isArray(e)||0===e.length)return{};const t={submitted:[],errors:[]};return await Promise.all(e.map((async e=>{const s={...e,idempotencyKey:e.idempotencyKey??lr._genIdempotencyKey(e.accountNumber,e.amount)};try{const e=await this._create(Lt.toCleanObject(s));t.submitted.push(e)}catch(e){t.errors.push({actualRequest:s,error:e})}}))),t}static _genIdempotencyKey(e,t){return`${N(Date.now()).toISOString().split("T")[0]??""}:${e}:${t}`}}var pr=lr;class hr extends(Ge(et(Ze))){constructor(e){super(e,"user_credentials",ze)}async create(e){return this._create(Ft({password:e}))}async update({isActive:e,password:t,userId:s="me"}){return this._update(s,Xt.toCleanObject({...void 0!==t?{password:t}:{},...void 0!==e?{isActive:e}:{}}))}}var mr=hr;class fr extends(Ge(tt(Ze))){constructor(e){super(e,"user_logins",Fe),this.loginIdInHeaders=null}async create(e,t){const s=await this._create(Jt({password:e,userId:t}));if(!s.success)throw new d;return this.loginIdInHeaders=this.client.addHeadersToRequest({"X-Cuenca-LoginId":s.id}),s}async logOut(e="me"){return await this._deactivate(e,{}),this.loginIdInHeaders&&this.loginIdInHeaders.eject(),!0}}var br=fr;class yr extends(tt(rt(We(et(Ze))))){constructor(e){super(e,"users",Me)}async update({userId:e="me",...t}){return this._update(e,Zt.toCleanObject(t))}async deactivate(e){return this._deactivate(e,{})}}var _r=yr;class jr extends(Ge(rt(We(et(Ze))))){constructor(e){super(e,"user_reports",Xe)}async create(e){return this._create(Yt.toCleanObject(e))}async update(e,t){return this._update(e,Qt.toCleanObject(t))}}var Or=jr;class vr extends(We(Ze)){constructor(e){super(e,"users_tos_agreements",Je)}}var wr=vr;class gr extends(Ge(et(Ze))){constructor(e){super(e,"verifications",Ye)}async create(e){return this._create(Gt.toObject(e))}async update({code:e,id:t}){return this._update(t,es.toObject({code:e}))}}var Ar=gr;const xr={savings:Re.fromObject};class Cr extends(Ge(rt(We(Ze)))){constructor(e){super(e,"wallet_transactions",Qe.fromObject)}async create(e,t,s){return this._create(ts({amount:e,transactionType:t,walletUri:s}))}async realtedWallet(e){const t=at(e);if(!t)return null;const s=xr[t];if(!s)return null;return s(await this.client.get({endpoint:e}))}}var Tr=Cr;const Ir={accounts:ne.fromObject,"bridge/accounts":pe.fromObject};class Sr extends(rt(We(Ze))){constructor(e){super(e,"whatsapp_transfers",Ve.fromObject)}async accountDestination(e){const t=at(e);if(!t)return null;const s=Ir[t];if(!s)return null;return s(await this.client.get({endpoint:e}))}}var kr=Sr;e.Cuenca=class{constructor({apiKey:e,apiSecret:t,language:s="en",phase:r=v}={}){this.client=new ae({apiKey:e,apiSecret:t,language:s,phase:r}),this.withClient(this.client)}withClient(e){this.accounts=new ot(e),this.alerts=new rs(e),this.apiKeys=new ns(e),this.arpc=new is(e),this.balanceEntries=new ls(e),this.billPayments=new hs(e),this.bridgeAccounts=new fs(e),this.bridgeBankAccounts=new ys(e),this.bridgeClabes=new js(e),this.bridgeKycValidations=new qs(e,!0),this.bridgeSessions=new cr(e,!0),this.bridgeTransactions=new vs(e),this.cardActivations=new gs(e),this.cards=new xs(e),this.cardTransactions=new Ts(e),this.cardValidations=new Ss(e),this.commissions=new Ds(e),this.deposits=new Es(e),this.files=new Hs(e),this.fraudFundsTransfers=new Us(e),this.kycValidations=new qs(e),this.legalPersons=new Ks(e),this.loginTokens=new zs(e),this.operatorLogins=new Xs(e),this.operators=new Ys(e),this.partners=new Vs(e),this.paymentOrders=new Gs(e),this.postalCodes=new tr(e),this.reports=new sr(e),this.savings=new ar(e),this.serviceProviders=new or(e),this.sessions=new cr(e),this.statements=new ur(e),this.transfers=new pr(e),this.userCredentials=new mr(e),this.userLogins=new br(e),this.users=new _r(e),this.userReports=new Or(e),this.usersTosAgreements=new wr(e),this.verifications=new Ar(e),this.walletTransactions=new Tr(e),this.whatsAppTransfers=new kr(e)}}}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("buffer")):"function"==typeof define&&define.amd?define(["exports","buffer"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).cuenca={},e.Buffer)}(this,(function(e,t){"use strict";function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=s(t);class a extends Error{constructor(e){super(e),Object.setPrototypeOf(this,a.prototype)}}class n extends a{constructor(e,t){super(`Cuenca Response Error: ${t}`),this.name="CuencaResponseError",this.data=e,this.status=t,Object.setPrototypeOf(this,n.prototype)}}class o extends a{constructor(){super("No results were found"),this.name="NoResultFound",Object.setPrototypeOf(this,o.prototype)}}class i extends a{constructor(){super("One result was expected but multiple were found"),this.name="MultipleResultsFound",Object.setPrototypeOf(this,i.prototype)}}class c extends a{constructor(){super("An invalid JWT token was obtained during authentication"),this.name="MalformedJwtToken",Object.setPrototypeOf(this,c.prototype)}}class d extends a{constructor(){super("Invalid password"),this.name="InvalidPassword",Object.setPrototypeOf(this,d.prototype)}}class u extends Error{constructor(e){super(e),Object.setPrototypeOf(this,u.prototype)}}class l extends a{constructor(e){super(e),this.name="PaginationError",Object.setPrototypeOf(this,l.prototype)}}const p="undefined"!=typeof window&&void 0!==window.document,h="undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process),m=p,f=h;class b{constructor(e,t){this.expiresAt=e,this.token=t}get isExpired(){const e=new Date;return(this.expiresAt.valueOf()-e.valueOf())/6e4<=5}static getExpirationDate=e=>{let t;try{const[,s]=e.split("."),a=s.replace(/-/g,"+").replace(/_/g,"/"),n=a.length%4==0?"":"=".repeat(4-a.length%4);t=JSON.parse(r.default.Buffer.from(`${a}${n}`,"base64").toString())}catch(e){throw new c}const{exp:s}=t;return new Date(new Date(1e3*s).toUTCString())};static create=async e=>{e.jwtToken=null;const{token:t}=await e.post({endpoint:"tokens",data:{}}),s=b.getExpirationDate(t);return new b(s,t)}}const y="application/pdf",_="application/xml",j="application/json",O="*/*",v="sandbox",w="stage",g="api",A="phone",x="email",C=e=>e.replace(/_([a-z0-9])/g,((e,t)=>t.toUpperCase())),T=e=>e.replace(/([a-zA-Z0-9])([A-Z])/g,"$1_$2").toLowerCase();function I(e,t){return Array.isArray(e)?e.map((e=>I(e,t))):e instanceof Date?e:(e=>!("object"!=typeof e||null===e||Array.isArray(e)||e instanceof Date))(e)?Object.entries(e).reduce(((e,[s,r])=>(e[t(s)]=I(r,t),e)),{}):e}function S(e){return I(e,C)}function k(e){return I(e,T)}const $=e=>{const{createdAfter:t,createdBefore:s,ids:r,limit:a,pageSize:n,relatedTransaction:o,userId:i,count:c,...d}=e,l={};if(void 0!==t&&(l.created_after=t),void 0!==s&&(l.created_before=s),void 0!==r&&(l.ids=r),"number"==typeof a){if(a<0)throw new u("limit must be >= 0");l.limit=a}const p=(e=>{if(void 0!==e){if(!(e>0&&e<=100))throw new u("pageSize must satisfy 0 < pageSize <= 100");return e}})(n);return void 0!==p&&(l.page_size=p),void 0!==o&&(l.related_transaction=o),void 0!==i&&(l.user_id=i),Object.assign(l,k(d)),c&&(l.count=1),Object.keys(l).forEach((e=>{null!==l[e]&&void 0!==l[e]||delete l[e]})),l},D=e=>{const t=new URLSearchParams;return Object.entries(e).forEach((([e,s])=>{Array.isArray(s)?t.append(e,s.join(",")):t.append(e,String(s))})),t.toString()},P=e=>(e=>{const{account_id:t,...s}=e;return void 0===t?s:{...s,account:t}})($(e)),E=e=>D(P(e)),N=e=>{if(!e)return null;const t=new Date(e);return new Date(t.getTime())},H=(e,t)=>{const s={...e};return t.forEach((e=>{void 0===s[e]&&(s[e]=null),s[e]=N(s[e])})),s},R=(e={})=>H({city:e.city,colonia:e.colonia,country:e.country,state:e.state,street:e.street,createdAt:e.created_at,extNumber:e.ext_number,fullName:e.full_name,intNumber:e.int_number,postalCode:e.postal_code},["createdAt"]),U=(e={})=>H({agent:e.agent,comments:e.comments,status:e.status,createdAt:e.created_at,updatedAt:e.updated_at},["createdAt","updatedAt"]),B=(e={})=>H({hasAudit:e.has_audit,auditProvider:e.audit_provider,auditComments:e.audit_comments,auditDate:e.audit_date},["auditDate"]),q=(e={})=>({accountUsageDescription:e.account_usage_description??null,businessDescription:e.business_description??null}),L=(e={})=>({bank:e.bank,account:e.account}),K=(e={})=>({code:e.code,error:e.error,identifier:e.identifier,message:e.message}),M=(e={})=>{const t=e.errors;return{data:e.data,status:e.status,type:e.type,isMx:e.is_mx,uriBack:e.uri_back,uriFront:e.uri_front,...t&&t.length>0?{errors:t.map(K)}:{}}},z=(e={})=>({licenseRequired:e.license_required??!1,supervisoryEntity:e.supervisory_entity??null,licenseType:e.license_type??null,licenseDate:e.license_date?N(e.license_date):null}),F=(e={})=>({names:e.names,curp:e.curp,rfc:e.rfc,firstSurname:e.first_surname,secondSurname:e.second_surname}),X=(e={})=>({...F(e),job:e.job,phoneNumber:e.phone_number,emailAddress:e.email_address,address:e.address?R(e.address):void 0}),J=(e={})=>({...F(e),percentage:e.percentage,shareCapital:e.share_capital}),Y=e=>{const t=e.shareholders;return t?t.map(J):[]},Q=e=>{const t=e.legal_representatives;return t?t.map(X):[]},V=(e={})=>({name:e.name,percentage:e.percentage,shareholders:Y(e),legalRepresentatives:Q(e)}),Z=(e={})=>({speiTransfersNum:e.spei_transfers_num,speiTransfersAmount:e.spei_transfers_amount,internalTransfersNum:e.internal_transfers_num,internalTransfersAmount:e.internal_transfers_amount}),W=(e={})=>({ip:e.ip,location:e.location,type:e.type,version:e.version}),G=(e={})=>H({isVulnerableActivity:e.is_vulnerable_activity,hasSatRegister:e.has_sat_register,isInCompliance:e.is_in_compliance,satRegisteredDate:e.sat_registered_date},["satRegisteredDate"]);var ee="2.0.0-dev3";const te=e=>{if(e instanceof Date)return e.toISOString();if(Array.isArray(e))return e.map(te);if(null!==e&&"object"==typeof e&&e.constructor===Object){const t={};return Object.keys(e).forEach((s=>{t[s]=te(e[s])})),t}return e};async function se(e,t){if("arraybuffer"===t)return e.arrayBuffer();if("blob"===t)return e.blob();const s=e.headers.get("content-type")||"";if(s.includes("application/json")){const t=await e.text();return t?JSON.parse(t):{}}return s.includes("application/pdf")||s.includes("application/octet-stream")?e.arrayBuffer():e.text()}async function re({baseURL:e,url:t,method:s="GET",headers:r={},params:a,data:n,responseType:o,timeout:i=45e3,signal:c}){const d=function(e,t,s){const r=new URL(t,e);return s&&Object.entries(s).forEach((([e,t])=>{null!=t&&r.searchParams.append(e,t)})),r.toString()}(e,t,a),u={...r};let l;null!=n&&("undefined"!=typeof FormData&&n instanceof FormData?(l=n,Object.keys(u).filter((e=>"content-type"===e.toLowerCase())).forEach((e=>delete u[e]))):l="string"==typeof n||n instanceof ArrayBuffer?n:JSON.stringify(n));const p=new AbortController,h=setTimeout((()=>p.abort()),i);let m;c&&(c.aborted?p.abort():c.addEventListener("abort",(()=>p.abort()),{once:!0}));try{m=await fetch(d,{method:s,headers:u,body:l,signal:p.signal})}catch(e){const t=new Error(e.message||"Network error");throw t.request={},t.errno=e.errno??e.cause?.errno,t.code=e.code??e.cause?.code??("AbortError"===e.name?"ETIMEDOUT":void 0),t}finally{clearTimeout(h)}if(!m.ok){let e;try{e=await se(m,o)}catch(t){e=await m.text().catch((()=>null))}const t=new Error(`HTTP ${m.status}`);throw t.response={data:e,status:m.status,headers:m.headers},t}return{data:await se(m,o),status:m.status,headers:m.headers}}class ae{constructor({apiKey:e,apiSecret:t,language:s="en",phase:r=v}={}){this.phase=r,this.basicAuth={apiKey:e,apiSecret:t},this.jwtToken=null,this._defaultHeaders={"Accept-Language":s},this._sessionHeaders={},this._timeout=45e3,this._session={request:e=>re(e)}}get session(){return this._session}get origin(){const e={[v]:"sandbox.cuenca.com",[w]:"api.stage.cuenca.com",[g]:"api.cuenca.com"}[this.phase];if(!e)throw new a(`Unsupported phase: ${this.phase}`);return`https://${e}`}get authHeader(){const{apiKey:e,apiSecret:t}=this.basicAuth;return e&&t?`Basic ${r.default.Buffer.from(`${e}:${t}`,"utf-8").toString("base64")}`:""}addHeadersToRequest(e){const t={};return Object.keys(e).forEach((s=>{t[s]=Object.prototype.hasOwnProperty.call(this._sessionHeaders,s)?this._sessionHeaders[s]:void 0,this._sessionHeaders[s]=e[s]})),{eject:()=>{Object.keys(t).forEach((e=>{void 0===t[e]?delete this._sessionHeaders[e]:this._sessionHeaders[e]=t[e]}))}}}deleteRequestHeader(e){const t=Object.prototype.hasOwnProperty.call(this._sessionHeaders,e),s=t?this._sessionHeaders[e]:void 0;return delete this._sessionHeaders[e],{eject:()=>{t&&(this._sessionHeaders[e]=s)}}}async configure({apiKey:e,apiSecret:t,loginToken:s,phase:r,sessionId:a,useJwt:n=!1}){this.basicAuth={apiKey:e||this.basicAuth.apiKey,apiSecret:t||this.basicAuth.apiSecret},r&&(this.phase=r),n&&(this.jwtToken=await b.create(this)),s&&this.addHeadersToRequest({"X-Cuenca-LoginToken":s}),a&&this.addHeadersToRequest({"X-Cuenca-SessionId":a})}async get({endpoint:e,format:t,params:s,headers:r,responseType:a}){return this.request({endpoint:e,format:t,params:s,headers:r,responseType:a})}async post({endpoint:e,data:t,multipart:s,headers:r,responseType:a}){return this.request({method:"POST",endpoint:e,data:t,multipart:s,headers:r,responseType:a})}async patch({endpoint:e,data:t,headers:s}){return this.request({method:"PATCH",endpoint:e,data:t,headers:s})}async delete({endpoint:e,data:t,headers:s}){return this.request({method:"DELETE",endpoint:e,data:t,headers:s})}async request({endpoint:e,data:t=null,format:s=j,method:r="GET",multipart:o=!1,params:i=null,headers:c=null,responseType:d,timeout:u,signal:l}){this.jwtToken&&this.jwtToken.isExpired&&(this.jwtToken=await b.create(this));const p={...this._defaultHeaders,...this._sessionHeaders};o||(p["Content-Type"]="application/json",p.Accept=s),this.authHeader&&(p.Authorization=this.authHeader),f?p["User-Agent"]=`cuenca-js/${ee}`:m&&(p["X-User-Agent"]=`cuenca-js/${ee}`),this.jwtToken&&(p["X-Cuenca-Token"]=this.jwtToken.token),c&&Object.assign(p,c);let h=t;h&&!o&&(h=te(t));try{return(await this._session.request({baseURL:this.origin,url:e,method:r,headers:p,params:i,data:h,responseType:d,timeout:u??this._timeout,signal:l})).data}catch(e){if(e.response)throw new n(e.response.data,e.response.status);if(e.request){const t=e.code??e.name??"ENETWORK",s=e.errno??"unknown";throw new a(`No response received: ${s}: ${t}`)}throw new a(e.message)}}}const ne={fromObject:e=>H(S(e),["createdAt"])},oe=e=>{const t=S(e),s=e.change_log;return H({...t,changeLog:s&&Array.isArray(s)&&s.length>0?s.map(U):void 0},["createdAt","updatedAt","transactionDate","committeeMeetingDate"])},ie=e=>H(S(e),["createdAt","deactivatedAt","updatedAt"]),ce=e=>H(S(e),["createdAt"]),de=e=>{const{type:t,...s}=e,r=S(s);return H({...r,entryType:t},["createdAt"])},ue={fromObject:e=>H(S(e),["createdAt"])},le=e=>e&&"object"==typeof e&&Object.keys(e).length>0?e:void 0,pe={fromObject:e=>{const t=S(e),s=le(e.address),r=le(e.govt_id),a=le(e.proof_of_address),n=le(e.terms_of_service);return H({...t,address:s?R(s):void 0,govtId:r?M(r):void 0,proofOfAddress:a?M(a):void 0,termsOfService:n?W(n):void 0},["createdAt","updatedAt"])}},he=e=>H(S(e),["createdAt"]),me=e=>{const{account_uri:t,...s}=e;return{...S(s),account:"string"==typeof t?t.split("/")[2]:void 0}},fe={fromObject:e=>H(S(e),["createdAt"])},be={fromObject:e=>H(S(e),["createdAt","updatedAt"])},ye=e=>H(S(e),["createdAt"]),_e={fromObject:e=>{const{error_type:t,card_last4:s,related_card_transaction:r,metadata:a,...n}=e,o=S(n);return H({...o,cardErrorType:t,cardLastFour:s,relatedCardTransactionsUris:r,metadata:a},["createdAt"])}},je=e=>H(S(e),["createdAt"]),Oe={fromObject:e=>H(S(e),["createdAt"])},ve={fromObject:e=>H(S(e),["createdAt"])},we=e=>S(e),ge=e=>S(e),Ae=e=>{const t=S(e);return H({...t,filesUri:t.filesUri||[]},["createdAt","updatedAt","deactivatedAt"])},xe=e=>{const t=S(e);return H({...t,address:e.address?R(e.address):void 0},["createdAt","updatedAt"])},Ce=e=>{const t=e.legal_representatives;return t?t.map(X):void 0},Te=e=>{const t=xe(e),s=S(e);return H({...s,...t,legalRepresentatives:Ce(e)},["createdAt","updatedAt"])},Ie=e=>({id:e.id}),Se=e=>H(S(e),["createdAt","updatedAt"]),ke=e=>S(e),$e=e=>S(e),De=e=>H(S(e),["createdAt","updatedAt","expiresAt","authorizedAt","rejectedAt"]),Pe=e=>({...S(e),deposits:e.deposits?Z(e.deposits):void 0,withdrawal:e.withdrawal?Z(e.withdrawal):void 0}),Ee=e=>{const t=e.legal_representatives;return t?t.map(X):void 0},Ne=e=>{const t=e.transactional_profile;return t?Pe(t):void 0},He=e=>{const t=xe(e),s=S(e);return H({...s,...t,audit:e.audit?B(e.audit):void 0,businessDetails:e.business_details?q(e.business_details):void 0,externalAccount:e.external_account?L(e.external_account):void 0,license:e.license?z(e.license):void 0,shareholders:e.shareholders?e.shareholders.map(V):void 0,legalRepresentatives:Ee(e),transactionalProfile:Ne(e),vulnerableActivity:e.vulnerable_activity?G(e.vulnerable_activity):void 0},["incorporationDate"])},Re=e=>H(S(e),["createdAt","updatedAt"]),Ue={fromObject:e=>H(S(e),["createdAt","deactivatedAt","goalDate","updatedAt"])},Be=e=>{const t=S(e);return{...t,categories:null==t.categories?[]:t.categories}},qe=e=>H(S(e),["createdAt","expiresAt"]),Le=e=>H(S(e),["createdAt"]),Ke={fromObject:e=>H(S(e),["createdAt","updatedAt"])},Me=e=>e?M(e):void 0,ze=e=>{const t=S(e);return H({...t,address:e.address?R(e.address):void 0,govtId:Me(e.govt_id),proofOfAddress:Me(e.proof_of_address),proofOfLife:Me(e.proof_of_life),curpDocument:Me(e.curp_document),termsOfService:e.terms_of_service?W(e.terms_of_service):void 0},["createdAt","updatedAt"])},Fe=e=>H(S(e),["createdAt","updatedAt"]),Xe=e=>H(S(e),["lastLoginAt"]),Je=e=>S(e),Ye=e=>H(S(e),["createdAt","updatedAt"]),Qe=e=>H(S(e),["createdAt","updatedAt"]),Ve={fromObject:e=>H(S(e),["createdAt"])},Ze={fromObject:e=>H(S(e),["createdAt","expiresAt","updatedAt"])};class We{constructor(e,t,s){this.client=e,this.path=t,this.fromObject=s}toParams(e){return $(e)}toQueryString(e){return(e=>D($(e)))(e)}}function Ge(e){return class extends e{async retrieve(e){const t=await this.client.get({endpoint:`/${this.path}/${e}`});return this.fromObject(t)}}}function et(e){return class extends e{async _create(e){const t=await this.client.post({endpoint:`/${this.path}`,data:e});return this.fromObject(t)}}}function tt(e){return class extends e{async _update(e,t){const s=await this.client.patch({endpoint:`/${this.path}/${e}`,data:t});return this.fromObject(s)}}}function st(e){return class extends e{async _deactivate(e,t={}){const s=await this.client.delete({endpoint:`/${this.path}/${e}`,data:t});return this.fromObject(s)}}}function rt(e){return class extends e{async _download(e,t,s){const r={endpoint:`/${this.path}/${e}`};return void 0!==t&&(r.format=t),void 0!==s&&(r.responseType=s),this.client.get(r)}}}function at(e){return class extends e{async one(e={}){const{items:t}=await this.client.get({endpoint:`/${this.path}`,params:this.toParams({...e,limit:2})});if(!t||0===t.length)throw new o;if(t.length>1)throw new i;return this.fromObject(t[0])}async first(e={}){const{items:t}=await this.client.get({endpoint:`/${this.path}`,params:this.toParams({...e,limit:1})});return t&&0!==t.length?this.fromObject(t[0]):null}async count(e={}){const t={...this.toParams(e),count:1},{count:s}=await this.client.get({endpoint:`/${this.path}`,params:t});return s??0}async page(e,s){const r=e??{},a=s&&s.length>0?(e=>t.Buffer.from(e,"base64url").toString("utf8"))(s):null,n=a??`/${this.path}?${this.toQueryString(r)}`,o=await this.client.get({endpoint:n});return{items:(o.items??[]).map((e=>this.fromObject(e))),nextCursor:o.next_page_uri?(i=o.next_page_uri,t.Buffer.from(i,"utf8").toString("base64url")):null};var i}async*all(e={}){const t=new Set;let s,r=0;for(;;){if(r>=1e4)throw new l("Pagination exceeded 10000 pages; aborting");r+=1;const{items:a,nextCursor:n}=await this.page(e,s);if(n&&(n===s||t.has(n)))throw new l(`Repeated next_page_uri: ${n}`);for(const e of a)yield e;if(!n)return;t.add(n),s=n}}}}function nt(e){if(!e)return null;const t=e.match(/^\/([^?]+)\/[^/?]+(?:\?.*)?$/);return t?t[1]:null}class ot extends(Ge(at(We))){constructor(e){super(e,"accounts",ne.fromObject)}}var it=ot;function ct(e){const t={};return Object.keys(e).forEach((s=>{null!=e[s]&&(t[s]=e[s])})),t}const dt={toObject:(e={})=>k(e),toCleanObject:(e={})=>ct(dt.toObject(e))},ut={toObject:(e={})=>k(e),toCleanObject:(e={})=>ct(ut.toObject(e))},lt={toObject:e=>k(e),toCleanObject:e=>ct(lt.toObject(e))};const pt={toObject:(e={})=>(function(e){if(e.number&&(16!==e.number.length||!/^\d{16}/.test(e.number)))throw new u("Invalid number");if(e.arpcMethod&&1!==e.arpcMethod.length)throw new u("Invalid method")}(e),k(e)),toCleanObject:(e={})=>ct(pt.toObject(e))};const ht={toObject:e=>(function({number:e,expMonth:t,expYear:s,cvv2:r}){if(!e||16!==e.length||!/^\d{16}/.test(e))throw new u("Invalid number");if(!t||t<1||t>12)throw new u("Invalid expiration month");if(!s||s<18||s>99)throw new u("Invalid expiration year");if(!r||3!==r.length||!/^\d{3}/.test(r))throw new u("Invalid cvv2")}(e),{number:e.number.trim(),exp_month:e.expMonth,exp_year:e.expYear,cvv2:e.cvv2}),toCleanObject:e=>ct(ht.toObject(e))},mt={toObject:e=>k(e),toCleanObject:e=>ct(mt.toObject(e))},ft={toObject:e=>k(e),toCleanObject:e=>ct(ft.toObject(e))};const bt={toObject:e=>(function(e){if(e.cvv&&3!==e.cvv.length)throw new u("Invalid cvv");if(e.cvv2&&3!==e.cvv2.length)throw new u("Invalid cvv2");if(e.expMonth&&(e.expMonth<1||e.expMonth>12))throw new u("Invalid expiration month");if(e.expYear&&(e.expYear<18||e.expYear>99))throw new u("Invalid expiration year");if(e.icvv&&3!==e.icvv.length)throw new u("Invalid icvv");const{number:t}=e;if(!t||16!==t.length||!/^\d{16}/.test(t))throw new u("Invalid number")}(e),k(e)),toCleanObject:e=>ct(bt.toObject(e))},yt={toObject:e=>({extension:e.extension,file:e.file,is_back:e.isBack??!1,type:e.type,user_id:e.userId??"me"}),toCleanObject:e=>ct(yt.toObject(e))},_t={toObject:e=>k(e),toCleanObject:e=>ct(_t.toObject(e))},jt={toObject:e=>({force:e.force,[e.isBridge?"account_id":"user_id"]:e.userId}),toCleanObject:e=>ct(jt.toObject(e))},Ot=e=>ct({names:e.names,first_surname:e.firstSurname,second_surname:e.secondSurname,curp:e.curp,rfc:e.rfc,job:e.job,phone_number:e.phoneNumber,email_address:e.emailAddress,address:e.address?dt.toCleanObject(e.address):void 0}),vt={toObject:e=>({legal_name:e.legalName,rfc:e.rfc,address:dt.toCleanObject(e.address),legal_representatives:e.legalRepresentatives.map(Ot)}),toCleanObject:e=>ct(vt.toObject(e))},wt={toObject:(e={})=>({legal_name:e.legalName,rfc:e.rfc,address:e.address?dt.toCleanObject(e.address):void 0,legal_representatives:e.legalRepresentatives?.map(Ot)}),toCleanObject:(e={})=>ct(wt.toObject(e))},gt={toObject:e=>({name:e.name,email:e.email,phone:e.phone,company_user_id:e.companyUserId,role:e.role,status:e.status}),toCleanObject:e=>ct(gt.toObject(e))},At={toObject:(e={})=>({name:e.name,phone:e.phone,role:e.role,status:e.status}),toCleanObject:(e={})=>ct(At.toObject(e))},xt={toObject:e=>({email:e.email,password:e.password}),toCleanObject:e=>ct(xt.toObject(e))},Ct={toObject:e=>k(e),toCleanObject:e=>ct(Ct.toObject(e))},Tt={toObject:e=>({rejection_reason:e.rejectionReason}),toCleanObject:e=>ct(Tt.toObject(e))},It=e=>e?k(e):void 0,St=e=>{if(e)return{currency:e.currency,monthly_amount:e.monthlyAmount,recipients_num:e.recipientsNum,payers_num:e.payersNum,deposits:It(e.deposits),withdrawal:It(e.withdrawal)}},kt=e=>e?k(e):void 0,$t=e=>k(e),Dt=e=>({...$t(e),job:e.job,phone_number:e.phoneNumber,email_address:e.emailAddress,address:e.address?dt.toCleanObject(e.address):void 0}),Pt=e=>({name:e.name,percentage:e.percentage,shareholders:e.shareholders?.map($t),legal_representatives:e.legalRepresentatives?.map(Dt)}),Et=e=>e?k(e):void 0,Nt=e=>e?k(e):void 0,Ht=e=>e?k(e):void 0,Rt={toObject:(e={})=>({address:e.address?dt.toCleanObject(e.address):void 0,audit:Ht(e.audit),business_details:kt(e.businessDetails),business_name:e.businessName,clabe:e.clabe,created_at:e.createdAt,documentation_url:e.documentationUrl,email_address:e.emailAddress,external_account:e.externalAccount?{account:e.externalAccount.account,bank:e.externalAccount.bank}:void 0,folio:e.folio,id:e.id,incorporation_date:e.incorporationDate,legal_name:e.legalName,legal_representatives:e.legalRepresentatives?.map(Dt),level:e.level,license:Nt(e.license),meta:e.meta,nationality:e.nationality,phone_number:e.phoneNumber,platform_id:e.platformId,required_level:e.requiredLevel,rfc:e.rfc,shareholders:e.shareholders?.map(Pt),status:e.status,transactional_profile:St(e.transactionalProfile),updated_at:e.updatedAt,user_id:e.userId,user_type:e.userType,vulnerable_activity:Et(e.vulnerableActivity),web_site:e.webSite}),toCleanObject:(e={})=>ct(Rt.toObject(e))},Ut={toObject:(e={})=>k(e),toCleanObject:(e={})=>ct(Ut.toObject(e))};const Bt={toObject:(e={})=>(function({goalDate:e}){if(!e)return;const t=N(e),s=N(Date.now());if(t.getTime()<=s.getTime())throw new u("The goal_date always need to be higher than now")}(e),{category:e.category,goal_amount:e.goalAmount,goal_date:e.goalDate,name:e.name}),toCleanObject:(e={})=>ct(Bt.toObject(e))},qt={toObject:e=>({failure_url:e.failureUrl,success_url:e.successUrl,type:e.type,[e.isBridge?"account_id":"user_id"]:e.userId}),toCleanObject:e=>ct(qt.toObject(e))};const Lt={toObject:e=>(function(e){if(!e)throw new u("missing ip address");if(!e.split(".").every((e=>Number(e)>=0&&Number(e)<=255)))throw new u("Invalid ip address")}(e.ip),{ip:e.ip,location:e.location,type:e.type,version:e.version}),toCleanObject:e=>ct(Lt.toObject(e))},Kt={toObject:e=>k(e),toCleanObject:e=>ct(Kt.toObject(e))},Mt=["succeeded","failed"];const zt={toObject:(e={})=>(function({status:e}){if(!e||!Mt.includes(e))throw new Error(`Invalid status: "${e}". Must be one of: ${Mt.join(", ")}`)}(e),{status:e.status}),toCleanObject:(e={})=>ct(zt.toObject(e))};function Ft(e){if(!e||e.length<6)throw new u("Invalid password")}const Xt=e=>(Ft(e.password),{password:e.password});const Jt={toObject:e=>(function(e){if(e.password&&Ft(e.password),e.password&&null!=e.isActive)throw new u("Only one property can be updated at a time")}(e),{password:e.password,is_active:e.isActive}),toCleanObject:e=>{const t=Jt.toObject(e),s={};return Object.keys(t).forEach((e=>{"password"!==e||null!==t[e]?null!=t[e]&&(s[e]=t[e]):s[e]=null})),s}},Yt=e=>({password:e.password,user_id:e.userId??"me"}),Qt={toObject:(e={})=>k(e),toCleanObject:(e={})=>ct(Qt.toObject(e))},Vt={toObject:(e={})=>k(e),toCleanObject:(e={})=>ct(Vt.toObject(e))},Zt=e=>e?ct(k(e)):void 0,Wt={toObject:(e={})=>({address:e.address?dt.toCleanObject(e.address):void 0,blacklist_validation_status:e.blacklistValidationStatus,country_of_birth:e.countryOfBirth,curp_document_uri:e.curpDocumentUri,email_address:e.emailAddress,fiscal_regime_code:e.fiscalRegimeCode,govt_id:Zt(e.govtId),is_dormant:e.isDormant,is_fraud:e.isFraud,is_pld_blocked:e.isPldBlocked,is_security_mode:e.isSecurityMode,phone_number:e.phoneNumber,profession:e.profession,proof_of_life:Zt(e.proofOfLife),proof_of_address:Zt(e.proofOfAddress),requiredLevel:e.requiredLevel,rfc:e.rfc,status:e.status,terms_of_service:e.termsOfService?Lt.toObject(e.termsOfService):void 0,verification_id:e.verificationId,user_type:e.userType}),toCleanObject:(e={})=>ct(Wt.toObject(e))};function Gt(e){var t,s;if(e.recipient)switch(e.type){case x:if(s=e.recipient,!/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(s))throw new u("Invalid email address");return e.recipient;case A:if(t=e.recipient,!/^\+?[0-9]{10,15}$/.test(t))throw new u("Invalid Phone Number");return e.recipient;default:return}}const es={toObject:(e={})=>({platform_id:e.platformId,recipient:Gt(e),type:e.type}),toCleanObject:(e={})=>ct(es.toObject(e))},ts={toObject:(e={})=>({code:e.code}),toCleanObject:(e={})=>ct(ts.toObject(e))},ss=e=>k(e);class rs extends(et(at(Ge(tt(We))))){constructor(e){super(e,"alerts",oe)}async create(e){return this._create(ut.toCleanObject(e))}async update(e,t){return this._update(e,ut.toCleanObject(t))}}var as=rs;class ns extends(et(st(at(Ge(tt(We)))))){constructor(e){super(e,"api_keys",ie)}async create(){return this._create({})}async deactivate(e,t=0){return this._deactivate(e,{minutes:t})}async update(e,t,s="me"){return this._update(e,lt.toCleanObject({userId:s,metadata:t}))}}var os=ns;class is extends(et(We)){constructor(e){super(e,"arpc",ce)}async create(e){return this._create(pt.toObject(e))}}var cs=is;const ds={bill_payments:ue.fromObject,card_transactions:_e.fromObject,commissions:Oe.fromObject,deposits:ve.fromObject,savings:Ue.fromObject,transfers:Ke.fromObject,wallet_transactions:Ve.fromObject,whatsapp_transfers:Ze.fromObject},us={...ds,accounts:ne.fromObject,cards:be.fromObject,"bridge/accounts":pe.fromObject};class ls extends(at(Ge(We))){constructor(e){super(e,"balance_entries",de)}async relatedTransaction(e){const t=nt(e);if(!t)return null;const s=ds[t];if(!s)return null;return s(await this.client.get({endpoint:e}))}async fundingInstrument(e){const t=nt(e);if(!t)return null;const s=us[t];if(!s)return null;return s(await this.client.get({endpoint:e}))}}var ps=ls;class hs extends(at(Ge(We))){constructor(e){super(e,"bill_payments",ue.fromObject)}async serviceProvider(e){if(!e)return null;const t=await this.client.get({endpoint:e});return Be(t)}}var ms=hs;class fs extends(at(Ge(tt(We)))){constructor(e){super(e,"bridge/accounts",pe.fromObject)}async update({userId:e="me",...t}){return this._update(e,Wt.toCleanObject(t))}toParams(e){return P(e)}toQueryString(e){return E(e)}}var bs=fs;class ys extends(Ge(at(We))){constructor(e){super(e,"bridge/bank_accounts",he)}}var _s=ys;class js extends(at(We)){constructor(e){super(e,"bridge/clabes",me)}toParams(e){return P(e)}toQueryString(e){return E(e)}}var Os=js;class vs extends(Ge(at(We))){constructor(e){super(e,"bridge/transactions",fe.fromObject)}toParams(e){return P(e)}toQueryString(e){return E(e)}}var ws=vs;class gs extends(et(We)){constructor(e){super(e,"card_activations",ye)}async create(e){return this._create(ht.toCleanObject(e))}async card(e){if(!e)return null;const t=await this.client.get({endpoint:e});return be.fromObject(t)}}var As=gs;class xs extends(et(st(at(Ge(tt(We)))))){constructor(e){super(e,"cards",be.fromObject)}async create(e,t,s){return this._create(mt.toCleanObject({userId:e,issuer:t,fundingType:s}))}async deactivate(e){return this._deactivate(e,{})}async update(e,t,s){return this._update(e,ft.toCleanObject({status:t,...void 0!==s?{pinBlock:s}:{}}))}}var Cs=xs;class Ts extends(at(Ge(We))){constructor(e){super(e,"card_transactions",_e.fromObject)}async relatedCard(e){if(!e)return null;const t=await this.client.get({endpoint:e});return be.fromObject(t)}}var Is=Ts;class Ss extends(et(We)){constructor(e){super(e,"card_validations",je)}async create(e){return this._create(bt.toCleanObject(e))}async card(e){if(!e)return null;const t=await this.client.get({endpoint:e});return be.fromObject(t)}}var ks=Ss;const $s={bill_payments:ue.fromObject,"bridge/transactions":fe.fromObject,card_transactions:_e.fromObject,deposits:ve.fromObject,savings:Ue.fromObject,transfers:Ke.fromObject,wallet_transactions:Ve.fromObject,whatsapp_transfers:Ze.fromObject};class Ds extends(at(Ge(We))){constructor(e){super(e,"commissions",Oe.fromObject)}async relatedTransaction(e){const t=nt(e);if(!t)return null;const s=$s[t];if(!s)return null;return s(await this.client.get({endpoint:e}))}}var Ps=Ds;class Es extends(at(Ge(We))){constructor(e){super(e,"deposits",ve.fromObject)}async source(e){const t=await this.client.get({endpoint:e});return ne.fromObject(t)}}var Ns=Es;class Hs extends(rt(function(e){return class extends e{async _upload(e){const t=await this.client.post({endpoint:`/${this.path}`,data:e,multipart:!0});return this.fromObject(t)}}}(We))){constructor(e){super(e,"files",we)}async download(e,{responseType:t}={}){return this._download(e,O,t)}async upload(e){return this._upload(yt.toObject(e))}}var Rs=Hs;class Us extends(et(We)){constructor(e){super(e,"support/transfer_fraud_funds",ge)}async create(e){return this._create(_t.toObject(e))}}var Bs=Us;class qs extends(et(st(at(Ge(We))))){constructor(e,t=!1){super(e,t?"bridge/kyc_validations":"kyc_validations",Ae),this.isBridge=t}async create(e="me",t=!1){return this._create(jt.toCleanObject({force:t,userId:e,isBridge:this.isBridge}))}async deactivate(e){return this._deactivate(e,{})}}var Ls=qs;class Ks extends(et(at(Ge(tt(We))))){constructor(e){super(e,"legal_persons",Te)}async create(e){return this._create(vt.toCleanObject(e))}async update(e,t){return this._update(e,wt.toCleanObject(t))}}var Ms=Ks;class zs extends(et(We)){constructor(e){super(e,"login_tokens",Ie)}async create(){return this._create({})}}var Fs=zs;class Xs extends(et(We)){constructor(e){super(e,"operator-login",ke),this.sessionIdInHeaders=null}async create(e,t){const s=await this._create(xt.toCleanObject({email:e,password:t}));return s.sessionToken&&(this.sessionIdInHeaders=this.client.addHeadersToRequest({"X-Cuenca-SessionId":s.sessionToken})),s}clearSessionHeader(){this.sessionIdInHeaders&&(this.sessionIdInHeaders.eject(),this.sessionIdInHeaders=null)}}var Js=Xs;var Ys=class extends We{constructor(e){super(e,"operator-otp-challenges",$e)}async create(){const e=await this.client.post({endpoint:`/${this.path}`});return this.fromObject(e)}};class Qs extends(et(at(Ge(tt(We))))){constructor(e){super(e,"operators",Se)}async create(e){return this._create(gt.toCleanObject(e))}async update(e,t){return this._update(e,At.toCleanObject(t))}}var Vs=Qs;class Zs extends(et(at(Ge(tt(We))))){constructor(e){super(e,"partners",He)}async create(e){return this._create(Rt.toCleanObject(e))}async update(e,t){return this._update(e,Rt.toCleanObject(t))}}var Ws=Zs;const Gs=e=>({"X-Cuenca-Operator-Id":e});class er extends(et(at(Ge(We)))){constructor(e){super(e,"payment_orders",De)}async create(e,{operatorId:t}){const s=await this.client.post({endpoint:`/${this.path}`,data:Ct.toCleanObject(e),headers:Gs(t)});return this.fromObject(s)}async validate(e,{operatorId:t}){const s=await this.client.post({endpoint:`/${this.path}/validate`,data:Ct.toCleanObject(e),headers:Gs(t)});return this.fromObject(s)}async authorize(e,{operatorId:t,otp:s}){const r=await this.client.post({endpoint:`/${this.path}/${e}/authorize`,data:{},headers:{...Gs(t),"X-Cuenca-OTP":s}});return this.fromObject(r)}async reject(e,{operatorId:t,rejectionReason:s}){const r=await this.client.post({endpoint:`/${this.path}/${e}/reject`,data:Tt.toCleanObject({rejectionReason:s}),headers:Gs(t)});return this.fromObject(r)}}var tr=er;class sr extends(at(We)){constructor(e){super(e,"postal_codes",Re)}}var rr=sr;var ar=class extends We{constructor(e){super(e,"reports",(e=>e))}async generateXml({committeeMeetingDate:e}){return this.client.post({endpoint:`/${this.path}`,data:Ut.toCleanObject({committeeMeetingDate:e}),headers:{Accept:"text/xml"},responseType:"arraybuffer"})}};class nr extends(et(st(at(Ge(tt(We)))))){constructor(e){super(e,"savings",Ue.fromObject)}async create(e,t,s,r){return this._create(Bt.toObject({category:e,goalAmount:t,goalDate:s,name:r}))}async deactivate(e){return this._deactivate(e,{})}async update(e,t,s,r,a){return this._update(e,Bt.toObject({category:t,goalAmount:s,goalDate:r,name:a}))}}var or=nr;class ir extends(Ge(at(We))){constructor(e){super(e,"service_providers",Be)}}var cr=ir;class dr extends(et(at(Ge(We)))){constructor(e,t=!1){super(e,t?"bridge/sessions":"sessions",qe),this.isBridge=t}async create(e,t,s,r){return this._create(qt.toCleanObject({...void 0!==r?{failureUrl:r}:{},...void 0!==s?{successUrl:s}:{},type:t,userId:e,isBridge:this.isBridge}))}}var ur=dr;class lr extends(rt(at(We))){constructor(e){super(e,"statements",Le)}async pdf(e){return this._download(e,y)}async xml(e){return this._download(e,_)}async downloadFiles({userId:e,year:t,month:s}){(({month:e,year:t})=>{if(void 0===e&&void 0===t)return;const s=Number(e),r=Number(t);if(!Number.isInteger(s)||s<1||s>12)throw new u("month must be an integer between 1 and 12");if(!Number.isInteger(r)||r<1900||r>9999)throw new u("year must be an integer between 1900 and 9999");const a=new Date(Date.UTC(r,s-1,1)),n=new Date,o=new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),1));if(a.getTime()>=o.getTime()){const e=String(s).padStart(2,"0");throw new u(`${r}-${e} is not a valid year-month pair`)}})({year:t,month:s});const r=await this.one({userId:e,year:t,month:s}),[a,n]=await Promise.all([this.pdf(r.id),this.xml(r.id)]);return{statement:r,pdf:a,xml:n}}}var pr=lr;class hr extends(et(at(Ge(tt(We))))){constructor(e){super(e,"transfers",Ke.fromObject)}async destination(e){const t=await this.client.get({endpoint:e});return ne.fromObject(t)}async create({accountNumber:e,amount:t,descriptor:s,recipientName:r,idempotencyKey:a}){const n=a??hr._genIdempotencyKey(e,t);return this._create(Kt.toCleanObject({accountNumber:e,amount:t,descriptor:s,idempotencyKey:n,...void 0!==r?{recipientName:r}:{}}))}async update(e,t){return this._update(e,zt.toCleanObject(t))}async createMany(e){if(!e||!Array.isArray(e)||0===e.length)return{};const t={submitted:[],errors:[]};return await Promise.all(e.map((async e=>{const s={...e,idempotencyKey:e.idempotencyKey??hr._genIdempotencyKey(e.accountNumber,e.amount)};try{const e=await this._create(Kt.toCleanObject(s));t.submitted.push(e)}catch(e){t.errors.push({actualRequest:s,error:e})}}))),t}static _genIdempotencyKey(e,t){return`${N(Date.now()).toISOString().split("T")[0]??""}:${e}:${t}`}}var mr=hr;class fr extends(et(tt(We))){constructor(e){super(e,"user_credentials",Fe)}async create(e){return this._create(Xt({password:e}))}async update({isActive:e,password:t,userId:s="me"}){return this._update(s,Jt.toCleanObject({...void 0!==t?{password:t}:{},...void 0!==e?{isActive:e}:{}}))}}var br=fr;class yr extends(et(st(We))){constructor(e){super(e,"user_logins",Xe),this.loginIdInHeaders=null}async create(e,t){const s=await this._create(Yt({password:e,userId:t}));if(!s.success)throw new d;return this.loginIdInHeaders=this.client.addHeadersToRequest({"X-Cuenca-LoginId":s.id}),s}async logOut(e="me"){return await this._deactivate(e,{}),this.loginIdInHeaders&&this.loginIdInHeaders.eject(),!0}}var _r=yr;class jr extends(st(at(Ge(tt(We))))){constructor(e){super(e,"users",ze)}async update({userId:e="me",...t}){return this._update(e,Wt.toCleanObject(t))}async deactivate(e){return this._deactivate(e,{})}}var Or=jr;class vr extends(et(at(Ge(tt(We))))){constructor(e){super(e,"user_reports",Je)}async create(e){return this._create(Qt.toCleanObject(e))}async update(e,t){return this._update(e,Vt.toCleanObject(t))}}var wr=vr;class gr extends(Ge(We)){constructor(e){super(e,"users_tos_agreements",Ye)}}var Ar=gr;class xr extends(et(tt(We))){constructor(e){super(e,"verifications",Qe)}async create(e){return this._create(es.toObject(e))}async update({code:e,id:t}){return this._update(t,ts.toObject({code:e}))}}var Cr=xr;const Tr={savings:Ue.fromObject};class Ir extends(et(at(Ge(We)))){constructor(e){super(e,"wallet_transactions",Ve.fromObject)}async create(e,t,s){return this._create(ss({amount:e,transactionType:t,walletUri:s}))}async realtedWallet(e){const t=nt(e);if(!t)return null;const s=Tr[t];if(!s)return null;return s(await this.client.get({endpoint:e}))}}var Sr=Ir;const kr={accounts:ne.fromObject,"bridge/accounts":pe.fromObject};class $r extends(at(Ge(We))){constructor(e){super(e,"whatsapp_transfers",Ze.fromObject)}async accountDestination(e){const t=nt(e);if(!t)return null;const s=kr[t];if(!s)return null;return s(await this.client.get({endpoint:e}))}}var Dr=$r;e.Cuenca=class{constructor({apiKey:e,apiSecret:t,language:s="en",phase:r=v}={}){this.client=new ae({apiKey:e,apiSecret:t,language:s,phase:r}),this.withClient(this.client)}withClient(e){this.accounts=new it(e),this.alerts=new as(e),this.apiKeys=new os(e),this.arpc=new cs(e),this.balanceEntries=new ps(e),this.billPayments=new ms(e),this.bridgeAccounts=new bs(e),this.bridgeBankAccounts=new _s(e),this.bridgeClabes=new Os(e),this.bridgeKycValidations=new Ls(e,!0),this.bridgeSessions=new ur(e,!0),this.bridgeTransactions=new ws(e),this.cardActivations=new As(e),this.cards=new Cs(e),this.cardTransactions=new Is(e),this.cardValidations=new ks(e),this.commissions=new Ps(e),this.deposits=new Ns(e),this.files=new Rs(e),this.fraudFundsTransfers=new Bs(e),this.kycValidations=new Ls(e),this.legalPersons=new Ms(e),this.loginTokens=new Fs(e),this.operatorLogins=new Js(e),this.operatorOtpChallenges=new Ys(e),this.operators=new Vs(e),this.partners=new Ws(e),this.paymentOrders=new tr(e),this.postalCodes=new rr(e),this.reports=new ar(e),this.savings=new or(e),this.serviceProviders=new cr(e),this.sessions=new ur(e),this.statements=new pr(e),this.transfers=new mr(e),this.userCredentials=new br(e),this.userLogins=new _r(e),this.users=new Or(e),this.userReports=new wr(e),this.usersTosAgreements=new Ar(e),this.verifications=new Cr(e),this.walletTransactions=new Sr(e),this.whatsAppTransfers=new Dr(e)}}}));
|