@maxkabechani/mtn-momo-sdk 0.2.1 → 1.0.0
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/MIGRATION.md +79 -0
- package/README.md +68 -5
- package/lib/cjs/auth.d.ts +3 -3
- package/lib/cjs/auth.d.ts.map +1 -1
- package/lib/cjs/auth.js +31 -11
- package/lib/cjs/auth.js.map +1 -1
- package/lib/cjs/cli.js +5 -2
- package/lib/cjs/cli.js.map +1 -1
- package/lib/cjs/client.d.ts +6 -6
- package/lib/cjs/client.d.ts.map +1 -1
- package/lib/cjs/client.js +16 -44
- package/lib/cjs/client.js.map +1 -1
- package/lib/cjs/collections.d.ts +7 -6
- package/lib/cjs/collections.d.ts.map +1 -1
- package/lib/cjs/collections.js +45 -25
- package/lib/cjs/collections.js.map +1 -1
- package/lib/cjs/common.d.ts +13 -4
- package/lib/cjs/common.d.ts.map +1 -1
- package/lib/cjs/common.js.map +1 -1
- package/lib/cjs/disbursements.d.ts +8 -11
- package/lib/cjs/disbursements.d.ts.map +1 -1
- package/lib/cjs/disbursements.js +46 -31
- package/lib/cjs/disbursements.js.map +1 -1
- package/lib/cjs/errors.d.ts +16 -7
- package/lib/cjs/errors.d.ts.map +1 -1
- package/lib/cjs/errors.js +33 -23
- package/lib/cjs/errors.js.map +1 -1
- package/lib/cjs/httpClient.d.ts +90 -0
- package/lib/cjs/httpClient.d.ts.map +1 -0
- package/lib/cjs/httpClient.js +388 -0
- package/lib/cjs/httpClient.js.map +1 -0
- package/lib/cjs/index.d.ts +12 -11
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +30 -28
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/remittance.d.ts +6 -6
- package/lib/cjs/remittance.d.ts.map +1 -1
- package/lib/cjs/remittance.js +58 -41
- package/lib/cjs/remittance.js.map +1 -1
- package/lib/cjs/security.d.ts +32 -0
- package/lib/cjs/security.d.ts.map +1 -0
- package/lib/cjs/security.js +253 -0
- package/lib/cjs/security.js.map +1 -0
- package/lib/cjs/users.d.ts +5 -3
- package/lib/cjs/users.d.ts.map +1 -1
- package/lib/cjs/users.js +17 -6
- package/lib/cjs/users.js.map +1 -1
- package/lib/cjs/validate.d.ts +7 -7
- package/lib/cjs/validate.d.ts.map +1 -1
- package/lib/cjs/validate.js +67 -84
- package/lib/cjs/validate.js.map +1 -1
- package/lib/esm/auth.d.ts +3 -3
- package/lib/esm/auth.d.ts.map +1 -1
- package/lib/esm/auth.js +28 -8
- package/lib/esm/auth.js.map +1 -1
- package/lib/esm/cli.js +5 -2
- package/lib/esm/cli.js.map +1 -1
- package/lib/esm/client.d.ts +6 -6
- package/lib/esm/client.d.ts.map +1 -1
- package/lib/esm/client.js +16 -11
- package/lib/esm/client.js.map +1 -1
- package/lib/esm/collections.d.ts +7 -6
- package/lib/esm/collections.d.ts.map +1 -1
- package/lib/esm/collections.js +38 -18
- package/lib/esm/collections.js.map +1 -1
- package/lib/esm/common.d.ts +13 -4
- package/lib/esm/common.d.ts.map +1 -1
- package/lib/esm/common.js.map +1 -1
- package/lib/esm/disbursements.d.ts +8 -11
- package/lib/esm/disbursements.d.ts.map +1 -1
- package/lib/esm/disbursements.js +34 -19
- package/lib/esm/disbursements.js.map +1 -1
- package/lib/esm/errors.d.ts +16 -7
- package/lib/esm/errors.d.ts.map +1 -1
- package/lib/esm/errors.js +16 -6
- package/lib/esm/errors.js.map +1 -1
- package/lib/esm/httpClient.d.ts +90 -0
- package/lib/esm/httpClient.d.ts.map +1 -0
- package/lib/esm/httpClient.js +378 -0
- package/lib/esm/httpClient.js.map +1 -0
- package/lib/esm/index.d.ts +12 -11
- package/lib/esm/index.d.ts.map +1 -1
- package/lib/esm/index.js +12 -11
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/remittance.d.ts +6 -6
- package/lib/esm/remittance.d.ts.map +1 -1
- package/lib/esm/remittance.js +52 -35
- package/lib/esm/remittance.js.map +1 -1
- package/lib/esm/security.d.ts +32 -0
- package/lib/esm/security.d.ts.map +1 -0
- package/lib/esm/security.js +234 -0
- package/lib/esm/security.js.map +1 -0
- package/lib/esm/users.d.ts +5 -3
- package/lib/esm/users.d.ts.map +1 -1
- package/lib/esm/users.js +17 -6
- package/lib/esm/users.js.map +1 -1
- package/lib/esm/validate.d.ts +7 -7
- package/lib/esm/validate.d.ts.map +1 -1
- package/lib/esm/validate.js +66 -84
- package/lib/esm/validate.js.map +1 -1
- package/package.json +23 -7
package/lib/esm/disbursements.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { getTransactionError } from "./errors";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { createBasicAuthToken } from "./auth.js";
|
|
2
|
+
import { getTransactionError } from "./errors.js";
|
|
3
|
+
import { validateDepositRequest, validateRefundRequest, validateTransfer, } from "./validate.js";
|
|
4
|
+
import { FailureReason, PartyIdType, TransactionStatus, } from "./common.js";
|
|
5
|
+
import { pathCurrency, pathPartyId, pathPartyType, pathUuid, resolveReferenceId, validateAccessToken, } from "./security.js";
|
|
6
6
|
export default class Disbursements {
|
|
7
7
|
constructor(client, config) {
|
|
8
8
|
this.client = client;
|
|
@@ -15,8 +15,12 @@ export default class Disbursements {
|
|
|
15
15
|
*
|
|
16
16
|
* @param paymentRequest
|
|
17
17
|
*/
|
|
18
|
-
transfer({ callbackUrl, referenceId
|
|
19
|
-
return validateTransfer({
|
|
18
|
+
transfer({ callbackUrl, referenceId: suppliedReferenceId, ...payoutRequest }) {
|
|
19
|
+
return validateTransfer({
|
|
20
|
+
referenceId: suppliedReferenceId,
|
|
21
|
+
...payoutRequest,
|
|
22
|
+
}).then(() => {
|
|
23
|
+
const referenceId = resolveReferenceId(suppliedReferenceId);
|
|
20
24
|
return this.client
|
|
21
25
|
.post("/disbursement/v1_0/transfer", payoutRequest, {
|
|
22
26
|
headers: {
|
|
@@ -39,7 +43,7 @@ export default class Disbursements {
|
|
|
39
43
|
*/
|
|
40
44
|
getTransaction(referenceId) {
|
|
41
45
|
return this.client
|
|
42
|
-
.get(`/disbursement/v1_0/transfer/${referenceId}`)
|
|
46
|
+
.get(`/disbursement/v1_0/transfer/${pathUuid(referenceId)}`)
|
|
43
47
|
.then((response) => response.data)
|
|
44
48
|
.then((transaction) => {
|
|
45
49
|
if (transaction.status === TransactionStatus.FAILED) {
|
|
@@ -68,8 +72,10 @@ export default class Disbursements {
|
|
|
68
72
|
* party_code - UUID of the party. Validated with IsUuid
|
|
69
73
|
*/
|
|
70
74
|
isPayerActive(id, type = PartyIdType.MSISDN) {
|
|
75
|
+
const safeType = pathPartyType(type);
|
|
76
|
+
const safeId = pathPartyId(safeType, id);
|
|
71
77
|
return this.client
|
|
72
|
-
.get(`/disbursement/v1_0/accountholder/${
|
|
78
|
+
.get(`/disbursement/v1_0/accountholder/${safeType}/${safeId}/active`)
|
|
73
79
|
.then((response) => response.data)
|
|
74
80
|
.then((data) => (data.result !== undefined ? data.result : false));
|
|
75
81
|
}
|
|
@@ -80,8 +86,8 @@ export default class Disbursements {
|
|
|
80
86
|
* @returns A promise that resolves to the deposit reference ID
|
|
81
87
|
*/
|
|
82
88
|
deposit(depositRequest) {
|
|
83
|
-
const referenceId = uuid();
|
|
84
89
|
return validateDepositRequest(depositRequest).then(() => {
|
|
90
|
+
const referenceId = resolveReferenceId(depositRequest.referenceId);
|
|
85
91
|
return this.client
|
|
86
92
|
.post("/disbursement/v1_0/deposit", {
|
|
87
93
|
amount: depositRequest.amount,
|
|
@@ -108,8 +114,8 @@ export default class Disbursements {
|
|
|
108
114
|
* @returns A promise that resolves to the deposit reference ID
|
|
109
115
|
*/
|
|
110
116
|
depositV2(depositRequest) {
|
|
111
|
-
const referenceId = uuid();
|
|
112
117
|
return validateDepositRequest(depositRequest).then(() => {
|
|
118
|
+
const referenceId = resolveReferenceId(depositRequest.referenceId);
|
|
113
119
|
return this.client
|
|
114
120
|
.post("/disbursement/v2_0/deposit", {
|
|
115
121
|
amount: depositRequest.amount,
|
|
@@ -137,7 +143,7 @@ export default class Disbursements {
|
|
|
137
143
|
*/
|
|
138
144
|
getDeposit(referenceId) {
|
|
139
145
|
return this.client
|
|
140
|
-
.get(`/disbursement/v1_0/deposit/${referenceId}`)
|
|
146
|
+
.get(`/disbursement/v1_0/deposit/${pathUuid(referenceId)}`)
|
|
141
147
|
.then((response) => response.data)
|
|
142
148
|
.then((deposit) => {
|
|
143
149
|
if (deposit.status === TransactionStatus.FAILED) {
|
|
@@ -153,8 +159,8 @@ export default class Disbursements {
|
|
|
153
159
|
* @returns A promise that resolves to the refund reference ID
|
|
154
160
|
*/
|
|
155
161
|
refund(refundRequest) {
|
|
156
|
-
const referenceId = uuid();
|
|
157
162
|
return validateRefundRequest(refundRequest).then(() => {
|
|
163
|
+
const referenceId = resolveReferenceId(refundRequest.referenceId);
|
|
158
164
|
return this.client
|
|
159
165
|
.post("/disbursement/v1_0/refund", {
|
|
160
166
|
amount: refundRequest.amount,
|
|
@@ -178,8 +184,8 @@ export default class Disbursements {
|
|
|
178
184
|
* @returns A promise that resolves to the refund reference ID
|
|
179
185
|
*/
|
|
180
186
|
refundV2(refundRequest) {
|
|
181
|
-
const referenceId = uuid();
|
|
182
187
|
return validateRefundRequest(refundRequest).then(() => {
|
|
188
|
+
const referenceId = resolveReferenceId(refundRequest.referenceId);
|
|
183
189
|
return this.client
|
|
184
190
|
.post("/disbursement/v2_0/refund", {
|
|
185
191
|
amount: refundRequest.amount,
|
|
@@ -204,7 +210,7 @@ export default class Disbursements {
|
|
|
204
210
|
*/
|
|
205
211
|
getRefund(referenceId) {
|
|
206
212
|
return this.client
|
|
207
|
-
.get(`/disbursement/v1_0/refund/${referenceId}`)
|
|
213
|
+
.get(`/disbursement/v1_0/refund/${pathUuid(referenceId)}`)
|
|
208
214
|
.then((response) => response.data)
|
|
209
215
|
.then((refund) => {
|
|
210
216
|
if (refund.status === TransactionStatus.FAILED) {
|
|
@@ -221,8 +227,10 @@ export default class Disbursements {
|
|
|
221
227
|
* @returns A promise that resolves to the basic user information
|
|
222
228
|
*/
|
|
223
229
|
getBasicUserInfo(partyIdType, partyId) {
|
|
230
|
+
const safeType = pathPartyType(partyIdType);
|
|
231
|
+
const safeId = pathPartyId(safeType, partyId);
|
|
224
232
|
return this.client
|
|
225
|
-
.get(`/disbursement/v1_0/accountholder/${
|
|
233
|
+
.get(`/disbursement/v1_0/accountholder/${safeType}/${safeId}/basicuserinfo`)
|
|
226
234
|
.then((response) => response.data);
|
|
227
235
|
}
|
|
228
236
|
/**
|
|
@@ -233,7 +241,7 @@ export default class Disbursements {
|
|
|
233
241
|
*/
|
|
234
242
|
getBalanceInCurrency(currency) {
|
|
235
243
|
return this.client
|
|
236
|
-
.get(`/disbursement/v1_0/account/balance/${currency}`)
|
|
244
|
+
.get(`/disbursement/v1_0/account/balance/${pathCurrency(currency)}`)
|
|
237
245
|
.then((response) => response.data);
|
|
238
246
|
}
|
|
239
247
|
/**
|
|
@@ -273,9 +281,14 @@ export default class Disbursements {
|
|
|
273
281
|
*
|
|
274
282
|
* @returns A promise that resolves to the user's information and KYC consent details
|
|
275
283
|
*/
|
|
276
|
-
getUserInfoWithConsent() {
|
|
284
|
+
getUserInfoWithConsent(consentToken) {
|
|
285
|
+
validateAccessToken(consentToken);
|
|
277
286
|
return this.client
|
|
278
|
-
.get("/disbursement/oauth2/v1_0/userinfo"
|
|
287
|
+
.get("/disbursement/oauth2/v1_0/userinfo", {
|
|
288
|
+
headers: {
|
|
289
|
+
Authorization: `Bearer ${consentToken}`,
|
|
290
|
+
},
|
|
291
|
+
})
|
|
279
292
|
.then((response) => response.data);
|
|
280
293
|
}
|
|
281
294
|
/**
|
|
@@ -288,9 +301,11 @@ export default class Disbursements {
|
|
|
288
301
|
const params = new URLSearchParams();
|
|
289
302
|
params.append("grant_type", request.grant_type);
|
|
290
303
|
params.append("auth_req_id", request.auth_req_id);
|
|
304
|
+
const basicAuthToken = createBasicAuthToken(this.config);
|
|
291
305
|
return this.client
|
|
292
306
|
.post("/disbursement/oauth2/token/", params, {
|
|
293
307
|
headers: {
|
|
308
|
+
Authorization: `Basic ${basicAuthToken}`,
|
|
294
309
|
"Content-Type": "application/x-www-form-urlencoded",
|
|
295
310
|
},
|
|
296
311
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disbursements.js","sourceRoot":"","sources":["../../src/disbursements.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"disbursements.js","sourceRoot":"","sources":["../../src/disbursements.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/errors.d.ts
CHANGED
|
@@ -1,10 +1,19 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
1
|
+
import type { Payment } from "./collections.js";
|
|
2
|
+
import type { Deposit, Refund, Withdrawal } from "./common.js";
|
|
3
|
+
import { FailureReason } from "./common.js";
|
|
4
|
+
import type { Transfer } from "./disbursements.js";
|
|
5
|
+
import { HttpClientError } from "./httpClient.js";
|
|
6
|
+
export interface TransactionErrorSummary {
|
|
7
|
+
status: string;
|
|
8
|
+
reason?: string;
|
|
9
|
+
financialTransactionId?: string;
|
|
10
|
+
externalId?: string;
|
|
11
|
+
}
|
|
6
12
|
export declare class MtnMoMoError extends Error {
|
|
7
|
-
transaction?:
|
|
13
|
+
transaction?: TransactionErrorSummary;
|
|
14
|
+
status?: number;
|
|
15
|
+
code?: string;
|
|
16
|
+
retryable?: boolean;
|
|
8
17
|
constructor(message?: string);
|
|
9
18
|
}
|
|
10
19
|
export declare class ApprovalRejectedError extends MtnMoMoError {
|
|
@@ -61,7 +70,7 @@ export declare class TransactionCancelledError extends MtnMoMoError {
|
|
|
61
70
|
export declare class UnspecifiedError extends MtnMoMoError {
|
|
62
71
|
name: string;
|
|
63
72
|
}
|
|
64
|
-
export declare function handleError(error:
|
|
73
|
+
export declare function handleError(error: HttpClientError | Error): Error;
|
|
65
74
|
export declare function getError(code?: FailureReason, message?: string): ApprovalRejectedError | ExpiredError | InternalProcessingError | InvalidCallbackUrlHostError | InvalidCurrencyError | NotAllowedTargetEnvironmentError | NotAllowedError | NotEnoughFundsError | PayeeNotFoundError | PayeeNotAllowedToReceiveError | PayerLimitReachedError | PayerNotFoundError | PaymentNotApprovedError | ResourceAlreadyExistError | ResourceNotFoundError | ServiceUnavailableError | TransactionCancelledError | UnspecifiedError;
|
|
66
75
|
export declare function getTransactionError(transaction: Payment | Transfer | Withdrawal | Deposit | Refund): MtnMoMoError;
|
|
67
76
|
//# sourceMappingURL=errors.d.ts.map
|
package/lib/esm/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,YAAa,SAAQ,KAAK;IAC9B,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;gBAEf,OAAO,CAAC,EAAE,MAAM;CAI7B;AAED,qBAAa,qBAAsB,SAAQ,YAAY;IACrC,IAAI,SAA2B;CAChD;AAED,qBAAa,YAAa,SAAQ,YAAY;IAC5B,IAAI,SAAkB;CACvC;AAED,qBAAa,uBAAwB,SAAQ,YAAY;IACvC,IAAI,SAA6B;CAClD;AAED,qBAAa,2BAA4B,SAAQ,YAAY;IAC3C,IAAI,SAAiC;CACtD;AAED,qBAAa,oBAAqB,SAAQ,YAAY;IACpC,IAAI,SAA0B;CAC/C;AAED,qBAAa,gCAAiC,SAAQ,YAAY;IAChD,IAAI,SAAsC;CAC3D;AAED,qBAAa,eAAgB,SAAQ,YAAY;IAC/B,IAAI,SAAqB;CAC1C;AAED,qBAAa,mBAAoB,SAAQ,YAAY;IACnC,IAAI,SAAyB;CAC9C;AAED,qBAAa,kBAAmB,SAAQ,YAAY;IAClC,IAAI,SAAwB;CAC7C;AAED,qBAAa,6BAA8B,SAAQ,YAAY;IAC7C,IAAI,SAAmC;CACxD;AAED,qBAAa,sBAAuB,SAAQ,YAAY;IACtC,IAAI,SAA4B;CACjD;AAED,qBAAa,kBAAmB,SAAQ,YAAY;IAClC,IAAI,SAAwB;CAC7C;AAED,qBAAa,uBAAwB,SAAQ,YAAY;IACvC,IAAI,SAA6B;CAClD;AAED,qBAAa,yBAA0B,SAAQ,YAAY;IACzC,IAAI,SAA+B;CACpD;AAED,qBAAa,qBAAsB,SAAQ,YAAY;IACrC,IAAI,SAA2B;CAChD;AAED,qBAAa,uBAAwB,SAAQ,YAAY;IACvC,IAAI,SAA6B;CAClD;AAED,qBAAa,yBAA0B,SAAQ,YAAY;IACzC,IAAI,SAA+B;CACpD;AAED,qBAAa,gBAAiB,SAAQ,YAAY;IAChC,IAAI,SAAsB;CAC3C;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,GAAG,KAAK,CAajE;AAED,wBAAgB,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,MAAM,4bAsE9D;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,gBAWhE"}
|
package/lib/esm/errors.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { FailureReason } from "./common";
|
|
1
|
+
import { FailureReason } from "./common.js";
|
|
2
|
+
import { HttpClientError } from "./httpClient.js";
|
|
3
|
+
import { redactSensitiveText } from "./security.js";
|
|
2
4
|
export class MtnMoMoError extends Error {
|
|
3
5
|
constructor(message) {
|
|
4
|
-
super(message);
|
|
6
|
+
super(message ? redactSensitiveText(message) : message);
|
|
5
7
|
Object.setPrototypeOf(this, new.target.prototype);
|
|
6
8
|
}
|
|
7
9
|
}
|
|
@@ -114,11 +116,14 @@ export class UnspecifiedError extends MtnMoMoError {
|
|
|
114
116
|
}
|
|
115
117
|
}
|
|
116
118
|
export function handleError(error) {
|
|
117
|
-
if (!error.
|
|
119
|
+
if (!(error instanceof HttpClientError) || !error.providerCode) {
|
|
118
120
|
return error;
|
|
119
121
|
}
|
|
120
|
-
const
|
|
121
|
-
|
|
122
|
+
const mapped = getError(error.providerCode, error.providerMessage);
|
|
123
|
+
mapped.status = error.status;
|
|
124
|
+
mapped.code = error.providerCode;
|
|
125
|
+
mapped.retryable = error.retryable;
|
|
126
|
+
return mapped;
|
|
122
127
|
}
|
|
123
128
|
export function getError(code, message) {
|
|
124
129
|
if (code === FailureReason.APPROVAL_REJECTED) {
|
|
@@ -176,7 +181,12 @@ export function getError(code, message) {
|
|
|
176
181
|
}
|
|
177
182
|
export function getTransactionError(transaction) {
|
|
178
183
|
const error = getError(transaction.reason);
|
|
179
|
-
error.transaction =
|
|
184
|
+
error.transaction = {
|
|
185
|
+
status: transaction.status,
|
|
186
|
+
reason: transaction.reason,
|
|
187
|
+
financialTransactionId: transaction.financialTransactionId,
|
|
188
|
+
externalId: transaction.externalId,
|
|
189
|
+
};
|
|
180
190
|
return error;
|
|
181
191
|
}
|
|
182
192
|
//# sourceMappingURL=errors.js.map
|
package/lib/esm/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
export interface RequestConfig {
|
|
2
|
+
baseURL?: string;
|
|
3
|
+
headers?: Record<string, string>;
|
|
4
|
+
timeout?: number;
|
|
5
|
+
maxResponseBytes?: number;
|
|
6
|
+
data?: unknown;
|
|
7
|
+
params?: Record<string, string>;
|
|
8
|
+
signal?: AbortSignal;
|
|
9
|
+
}
|
|
10
|
+
export interface InternalRequestConfig extends RequestConfig {
|
|
11
|
+
url: string;
|
|
12
|
+
method: string;
|
|
13
|
+
}
|
|
14
|
+
export interface SafeRequestSummary {
|
|
15
|
+
method: string;
|
|
16
|
+
url: string;
|
|
17
|
+
timeout: number;
|
|
18
|
+
}
|
|
19
|
+
export interface FetchResponse<T = unknown> {
|
|
20
|
+
data: T;
|
|
21
|
+
status: number;
|
|
22
|
+
statusText: string;
|
|
23
|
+
headers: Record<string, string>;
|
|
24
|
+
config: SafeRequestSummary;
|
|
25
|
+
}
|
|
26
|
+
interface HttpClientErrorOptions {
|
|
27
|
+
status?: number;
|
|
28
|
+
providerCode?: string;
|
|
29
|
+
providerMessage?: string;
|
|
30
|
+
retryable?: boolean;
|
|
31
|
+
causeName?: string;
|
|
32
|
+
secrets?: string[];
|
|
33
|
+
}
|
|
34
|
+
export declare class HttpClientError extends Error {
|
|
35
|
+
readonly config: SafeRequestSummary;
|
|
36
|
+
readonly status?: number;
|
|
37
|
+
readonly providerCode?: string;
|
|
38
|
+
readonly providerMessage?: string;
|
|
39
|
+
readonly retryable: boolean;
|
|
40
|
+
readonly causeName?: string;
|
|
41
|
+
constructor(message: string, config: SafeRequestSummary, options?: HttpClientErrorOptions);
|
|
42
|
+
toJSON(): Record<string, unknown>;
|
|
43
|
+
}
|
|
44
|
+
export declare class RequestTimeoutError extends HttpClientError {
|
|
45
|
+
readonly name = "RequestTimeoutError";
|
|
46
|
+
}
|
|
47
|
+
export declare class RequestAbortedError extends HttpClientError {
|
|
48
|
+
readonly name = "RequestAbortedError";
|
|
49
|
+
}
|
|
50
|
+
export declare class UnexpectedRedirectError extends HttpClientError {
|
|
51
|
+
readonly name = "UnexpectedRedirectError";
|
|
52
|
+
}
|
|
53
|
+
export declare class ResponseSizeLimitError extends HttpClientError {
|
|
54
|
+
readonly name = "ResponseSizeLimitError";
|
|
55
|
+
}
|
|
56
|
+
declare class InterceptorManagerImpl<V> {
|
|
57
|
+
handlers: {
|
|
58
|
+
onFulfilled: ((value: V) => V | Promise<V>) | null;
|
|
59
|
+
onRejected: ((error: unknown) => unknown) | null;
|
|
60
|
+
}[];
|
|
61
|
+
use(onFulfilled?: ((value: V) => V | Promise<V>) | null, onRejected?: ((error: unknown) => unknown) | null): number;
|
|
62
|
+
eject(id: number): void;
|
|
63
|
+
}
|
|
64
|
+
export interface HttpClientDefaults {
|
|
65
|
+
baseURL?: string;
|
|
66
|
+
headers: {
|
|
67
|
+
common: Record<string, string>;
|
|
68
|
+
[key: string]: Record<string, string> | string | undefined;
|
|
69
|
+
};
|
|
70
|
+
timeout: number;
|
|
71
|
+
maxResponseBytes: number;
|
|
72
|
+
}
|
|
73
|
+
export declare class HttpClient {
|
|
74
|
+
defaults: HttpClientDefaults;
|
|
75
|
+
interceptors: {
|
|
76
|
+
request: InterceptorManagerImpl<InternalRequestConfig>;
|
|
77
|
+
response: InterceptorManagerImpl<FetchResponse<unknown>>;
|
|
78
|
+
};
|
|
79
|
+
constructor(config?: RequestConfig);
|
|
80
|
+
request<T = unknown>(config: InternalRequestConfig): Promise<FetchResponse<T>>;
|
|
81
|
+
get<T = unknown>(url: string, config?: RequestConfig): Promise<FetchResponse<T>>;
|
|
82
|
+
post<T = unknown>(url: string, data?: unknown, config?: RequestConfig): Promise<FetchResponse<T>>;
|
|
83
|
+
put<T = unknown>(url: string, data?: unknown, config?: RequestConfig): Promise<FetchResponse<T>>;
|
|
84
|
+
delete<T = unknown>(url: string, config?: RequestConfig): Promise<FetchResponse<T>>;
|
|
85
|
+
patch<T = unknown>(url: string, data?: unknown, config?: RequestConfig): Promise<FetchResponse<T>>;
|
|
86
|
+
private runRejectedInterceptors;
|
|
87
|
+
}
|
|
88
|
+
export declare function createHttpClient(config?: RequestConfig): HttpClient;
|
|
89
|
+
export {};
|
|
90
|
+
//# sourceMappingURL=httpClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"httpClient.d.ts","sourceRoot":"","sources":["../../src/httpClient.ts"],"names":[],"mappings":"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"}
|