@maxkabechani/mtn-momo-sdk 0.2.2 → 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 +2 -2
- 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 +3 -3
- package/lib/cjs/client.d.ts.map +1 -1
- package/lib/cjs/client.js +15 -7
- package/lib/cjs/client.js.map +1 -1
- package/lib/cjs/collections.d.ts +6 -5
- 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 +7 -10
- 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 +15 -6
- 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 +50 -17
- package/lib/cjs/httpClient.d.ts.map +1 -1
- package/lib/cjs/httpClient.js +276 -78
- package/lib/cjs/httpClient.js.map +1 -1
- 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 +5 -5
- 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 +2 -2
- 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 +3 -3
- package/lib/esm/client.d.ts.map +1 -1
- package/lib/esm/client.js +14 -6
- package/lib/esm/client.js.map +1 -1
- package/lib/esm/collections.d.ts +6 -5
- 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 +7 -10
- 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 +15 -6
- 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 +50 -17
- package/lib/esm/httpClient.d.ts.map +1 -1
- package/lib/esm/httpClient.js +271 -77
- package/lib/esm/httpClient.js.map +1 -1
- 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 +5 -5
- 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 -5
package/lib/cjs/validate.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import type { PaymentRequest } from "./collections";
|
|
2
|
-
import type
|
|
3
|
-
import type {
|
|
4
|
-
|
|
5
|
-
export declare function validateRequestToPay(paymentRequest: PaymentRequest): Promise<void>;
|
|
1
|
+
import type { PaymentRequest } from "./collections.js";
|
|
2
|
+
import { type CashTransferRequest, type DepositRequest, type GlobalConfig, type ProductConfig, type RefundRequest, type SubscriptionConfig, type UserConfig, type WithdrawalRequest } from "./common.js";
|
|
3
|
+
import type { TransferRequest } from "./disbursements.js";
|
|
4
|
+
export declare function validateRequestToPay(request: PaymentRequest): Promise<void>;
|
|
6
5
|
export declare function validateWithdrawalRequest(request: WithdrawalRequest): Promise<void>;
|
|
7
6
|
export declare function validateDepositRequest(request: DepositRequest): Promise<void>;
|
|
8
7
|
export declare function validateRefundRequest(request: RefundRequest): Promise<void>;
|
|
9
|
-
export declare function validateTransfer(
|
|
8
|
+
export declare function validateTransfer(request: TransferRequest): Promise<void>;
|
|
9
|
+
export declare function validateCashTransferRequest(request: CashTransferRequest): Promise<void>;
|
|
10
10
|
export declare function validateGlobalConfig(config: GlobalConfig): void;
|
|
11
11
|
export declare function validateProductConfig(config: ProductConfig): void;
|
|
12
12
|
export declare function validateSubscriptionConfig(config: SubscriptionConfig): void;
|
|
13
|
-
export declare function validateUserConfig(
|
|
13
|
+
export declare function validateUserConfig(config: UserConfig): void;
|
|
14
14
|
//# sourceMappingURL=validate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAgB1D,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAM9E;AAED,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAaf;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAW/D;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAGjE;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAE3E;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAI3D"}
|
package/lib/cjs/validate.js
CHANGED
|
@@ -5,107 +5,90 @@ exports.validateWithdrawalRequest = validateWithdrawalRequest;
|
|
|
5
5
|
exports.validateDepositRequest = validateDepositRequest;
|
|
6
6
|
exports.validateRefundRequest = validateRefundRequest;
|
|
7
7
|
exports.validateTransfer = validateTransfer;
|
|
8
|
+
exports.validateCashTransferRequest = validateCashTransferRequest;
|
|
8
9
|
exports.validateGlobalConfig = validateGlobalConfig;
|
|
9
10
|
exports.validateProductConfig = validateProductConfig;
|
|
10
11
|
exports.validateSubscriptionConfig = validateSubscriptionConfig;
|
|
11
12
|
exports.validateUserConfig = validateUserConfig;
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
function
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
13
|
+
const common_js_1 = require("./common.js");
|
|
14
|
+
const security_js_1 = require("./security.js");
|
|
15
|
+
function requireString(value, name) {
|
|
16
|
+
if (typeof value !== "string" || value.length === 0) {
|
|
17
|
+
throw new TypeError(`${name} is required`);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
async function validateRequestToPay(request) {
|
|
21
|
+
const { amount, currency, payer, referenceId } = request || {};
|
|
22
|
+
(0, security_js_1.validateFinancialAmount)(amount);
|
|
23
|
+
(0, security_js_1.validateCurrency)(currency);
|
|
24
|
+
(0, security_js_1.validateParty)(payer, "payer");
|
|
25
|
+
if (referenceId !== undefined)
|
|
26
|
+
(0, security_js_1.requireUuidV4)(referenceId);
|
|
27
|
+
}
|
|
28
|
+
async function validateWithdrawalRequest(request) {
|
|
29
|
+
const { amount, currency, payee, referenceId } = request || {};
|
|
30
|
+
(0, security_js_1.validateFinancialAmount)(amount);
|
|
31
|
+
(0, security_js_1.validateCurrency)(currency);
|
|
32
|
+
(0, security_js_1.validateParty)(payee, "payee");
|
|
33
|
+
if (referenceId !== undefined)
|
|
34
|
+
(0, security_js_1.requireUuidV4)(referenceId);
|
|
25
35
|
}
|
|
26
|
-
function
|
|
27
|
-
const { amount, currency, payee } = request || {};
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
(0,
|
|
33
|
-
(0, assert_1.strictEqual)(isTruthy(payee?.partyId), true, "payee.partyId is required");
|
|
34
|
-
(0, assert_1.strictEqual)(isTruthy(payee?.partyIdType), true, "payee.partyIdType is required");
|
|
35
|
-
(0, assert_1.strictEqual)(isString(currency), true, "currency must be a string");
|
|
36
|
-
});
|
|
36
|
+
async function validateDepositRequest(request) {
|
|
37
|
+
const { amount, currency, payee, referenceId } = request || {};
|
|
38
|
+
(0, security_js_1.validateFinancialAmount)(amount);
|
|
39
|
+
(0, security_js_1.validateCurrency)(currency);
|
|
40
|
+
(0, security_js_1.validateParty)(payee, "payee");
|
|
41
|
+
if (referenceId !== undefined)
|
|
42
|
+
(0, security_js_1.requireUuidV4)(referenceId);
|
|
37
43
|
}
|
|
38
|
-
function
|
|
39
|
-
const { amount, currency,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
(0,
|
|
45
|
-
(0, assert_1.strictEqual)(isTruthy(payee?.partyId), true, "payee.partyId is required");
|
|
46
|
-
(0, assert_1.strictEqual)(isTruthy(payee?.partyIdType), true, "payee.partyIdType is required");
|
|
47
|
-
(0, assert_1.strictEqual)(isString(currency), true, "currency must be a string");
|
|
48
|
-
});
|
|
44
|
+
async function validateRefundRequest(request) {
|
|
45
|
+
const { amount, currency, referenceIdToRefund, referenceId } = request || {};
|
|
46
|
+
(0, security_js_1.pathUuid)(referenceIdToRefund, "referenceIdToRefund");
|
|
47
|
+
(0, security_js_1.validateFinancialAmount)(amount);
|
|
48
|
+
(0, security_js_1.validateCurrency)(currency);
|
|
49
|
+
if (referenceId !== undefined)
|
|
50
|
+
(0, security_js_1.requireUuidV4)(referenceId);
|
|
49
51
|
}
|
|
50
|
-
function
|
|
51
|
-
const { amount, currency,
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
(0,
|
|
57
|
-
(0, assert_1.strictEqual)(isTruthy(currency), true, "currency is required");
|
|
58
|
-
(0, assert_1.strictEqual)(isString(currency), true, "currency must be a string");
|
|
59
|
-
});
|
|
52
|
+
async function validateTransfer(request) {
|
|
53
|
+
const { amount, currency, payee, referenceId } = request || {};
|
|
54
|
+
(0, security_js_1.validateFinancialAmount)(amount);
|
|
55
|
+
(0, security_js_1.validateCurrency)(currency);
|
|
56
|
+
(0, security_js_1.validateParty)(payee, "payee");
|
|
57
|
+
if (referenceId !== undefined)
|
|
58
|
+
(0, security_js_1.requireUuidV4)(referenceId);
|
|
60
59
|
}
|
|
61
|
-
function
|
|
62
|
-
const { amount, currency, payee, referenceId } =
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
(0,
|
|
68
|
-
|
|
69
|
-
(0,
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
(0,
|
|
73
|
-
}
|
|
60
|
+
async function validateCashTransferRequest(request) {
|
|
61
|
+
const { amount, currency, payee, referenceId } = request || {};
|
|
62
|
+
(0, security_js_1.validateFinancialAmount)(amount);
|
|
63
|
+
(0, security_js_1.validateCurrency)(currency);
|
|
64
|
+
(0, security_js_1.validateParty)(payee, "payee");
|
|
65
|
+
if (referenceId !== undefined)
|
|
66
|
+
(0, security_js_1.requireUuidV4)(referenceId);
|
|
67
|
+
if (request.originalAmount !== undefined) {
|
|
68
|
+
(0, security_js_1.validateFinancialAmount)(request.originalAmount, "originalAmount");
|
|
69
|
+
}
|
|
70
|
+
if (request.originalCurrency !== undefined) {
|
|
71
|
+
(0, security_js_1.validateCurrency)(request.originalCurrency);
|
|
72
|
+
}
|
|
74
73
|
}
|
|
75
74
|
function validateGlobalConfig(config) {
|
|
76
|
-
|
|
77
|
-
(
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
(0, assert_1.strictEqual)(isString(baseUrl), true, "baseUrl must be a string");
|
|
75
|
+
requireString(config?.callbackHost, "callbackHost");
|
|
76
|
+
if (config.environment === common_js_1.Environment.PRODUCTION &&
|
|
77
|
+
config.baseUrl === undefined) {
|
|
78
|
+
throw new TypeError("baseUrl is required if environment is not sandbox");
|
|
81
79
|
}
|
|
80
|
+
(0, security_js_1.validateGlobalSecurityConfig)(config);
|
|
82
81
|
}
|
|
83
82
|
function validateProductConfig(config) {
|
|
84
83
|
validateSubscriptionConfig(config);
|
|
85
84
|
validateUserConfig(config);
|
|
86
85
|
}
|
|
87
86
|
function validateSubscriptionConfig(config) {
|
|
88
|
-
|
|
89
|
-
(0, assert_1.strictEqual)(isTruthy(primaryKey), true, "primaryKey is required");
|
|
90
|
-
(0, assert_1.strictEqual)(isString(primaryKey), true, "primaryKey must be a string");
|
|
91
|
-
}
|
|
92
|
-
function validateUserConfig({ userId, userSecret }) {
|
|
93
|
-
(0, assert_1.strictEqual)(isTruthy(userId), true, "userId is required");
|
|
94
|
-
(0, assert_1.strictEqual)(isString(userId), true, "userId must be a string");
|
|
95
|
-
(0, assert_1.strictEqual)(isTruthy(userSecret), true, "userSecret is required");
|
|
96
|
-
(0, assert_1.strictEqual)(isString(userSecret), true, "userSecret must be a string");
|
|
97
|
-
(0, assert_1.strictEqual)(isUuid4(userId), true, "userId must be a valid uuid v4");
|
|
98
|
-
}
|
|
99
|
-
function isNumeric(value) {
|
|
100
|
-
return !isNaN(parseInt(value, 10));
|
|
101
|
-
}
|
|
102
|
-
function isTruthy(value) {
|
|
103
|
-
return !!value;
|
|
104
|
-
}
|
|
105
|
-
function isString(value) {
|
|
106
|
-
return typeof value === "string";
|
|
87
|
+
requireString(config?.primaryKey, "primaryKey");
|
|
107
88
|
}
|
|
108
|
-
function
|
|
109
|
-
|
|
89
|
+
function validateUserConfig(config) {
|
|
90
|
+
requireString(config?.userId, "userId");
|
|
91
|
+
requireString(config?.userSecret, "userSecret");
|
|
92
|
+
(0, security_js_1.requireUuidV4)(config.userId, "userId");
|
|
110
93
|
}
|
|
111
94
|
//# sourceMappingURL=validate.js.map
|
package/lib/cjs/validate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/auth.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { HttpClient } from "./httpClient";
|
|
2
|
-
import type { AccessToken, Config, UserConfig } from "./common";
|
|
1
|
+
import type { HttpClient } from "./httpClient.js";
|
|
2
|
+
import type { AccessToken, Config, UserConfig } from "./common.js";
|
|
3
3
|
export type TokenRefresher = () => Promise<string>;
|
|
4
4
|
export interface AuthorizerOptions {
|
|
5
5
|
grant_type?: string;
|
package/lib/esm/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIlD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGnE,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;AAEnD,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,UAAU,GAAG,CACvB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,iBAAiB,EAC3B,MAAM,CAAC,EAAE,UAAU,KAChB,OAAO,CAAC,WAAW,GAAG;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,wBAAwB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAS1F,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,UAAU,EACrB,MAAM,EAAE,MAAM,GACb,cAAc,CA8DhB;AASD,eAAO,MAAM,oBAAoB,EAAE,UAalC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,UAapC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,UAajC,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAI/D"}
|
package/lib/esm/auth.js
CHANGED
|
@@ -1,19 +1,35 @@
|
|
|
1
|
-
import { createClient } from "./client";
|
|
1
|
+
import { createClient } from "./client.js";
|
|
2
|
+
import { validateAccessToken } from "./security.js";
|
|
2
3
|
export function createTokenRefresher(authorize, config) {
|
|
3
4
|
let credentials;
|
|
4
|
-
|
|
5
|
+
let inFlight;
|
|
6
|
+
return async () => {
|
|
7
|
+
if (!isExpired(credentials)) {
|
|
8
|
+
return credentials.accessToken;
|
|
9
|
+
}
|
|
10
|
+
if (inFlight) {
|
|
11
|
+
return inFlight;
|
|
12
|
+
}
|
|
5
13
|
if (isExpired(credentials)) {
|
|
6
14
|
const isRefreshTokenValid = credentials?.refreshToken && !isRefreshExpired(credentials);
|
|
7
15
|
const options = isRefreshTokenValid
|
|
8
|
-
? {
|
|
9
|
-
|
|
10
|
-
|
|
16
|
+
? {
|
|
17
|
+
grant_type: "refresh_token",
|
|
18
|
+
refresh_token: credentials.refreshToken,
|
|
19
|
+
}
|
|
20
|
+
: { grant_type: "client_credentials" };
|
|
21
|
+
inFlight = authorize(config, options)
|
|
11
22
|
.then((tokenData) => {
|
|
12
|
-
const { access_token, expires_in, refresh_token, refresh_token_expired_in } = tokenData;
|
|
23
|
+
const { access_token, expires_in, refresh_token, refresh_token_expired_in, } = tokenData;
|
|
24
|
+
validateAccessToken(access_token, "access_token");
|
|
25
|
+
if (!Number.isFinite(expires_in)) {
|
|
26
|
+
throw new TypeError("expires_in must be a finite number");
|
|
27
|
+
}
|
|
13
28
|
const expires = Date.now() + expires_in * 1000 - 60000;
|
|
14
29
|
let refreshExpires;
|
|
15
30
|
if (refresh_token_expired_in) {
|
|
16
|
-
refreshExpires =
|
|
31
|
+
refreshExpires =
|
|
32
|
+
Date.now() + refresh_token_expired_in * 1000 - 60000;
|
|
17
33
|
}
|
|
18
34
|
return {
|
|
19
35
|
accessToken: access_token,
|
|
@@ -25,9 +41,13 @@ export function createTokenRefresher(authorize, config) {
|
|
|
25
41
|
.then((freshCredentials) => {
|
|
26
42
|
credentials = freshCredentials;
|
|
27
43
|
return credentials.accessToken;
|
|
44
|
+
})
|
|
45
|
+
.finally(() => {
|
|
46
|
+
inFlight = undefined;
|
|
28
47
|
});
|
|
48
|
+
return inFlight;
|
|
29
49
|
}
|
|
30
|
-
return
|
|
50
|
+
return credentials.accessToken;
|
|
31
51
|
};
|
|
32
52
|
}
|
|
33
53
|
function isRefreshExpired(credentials) {
|
package/lib/esm/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/cli.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { program } from "commander";
|
|
3
|
-
import * as momo from "./index";
|
|
3
|
+
import * as momo from "./index.js";
|
|
4
4
|
const version = process.env.npm_package_version || "0.0.0";
|
|
5
5
|
program
|
|
6
6
|
.version(version)
|
|
@@ -26,6 +26,9 @@ users
|
|
|
26
26
|
});
|
|
27
27
|
})
|
|
28
28
|
.catch((error) => {
|
|
29
|
-
|
|
29
|
+
const name = error instanceof Error ? error.name : "Error";
|
|
30
|
+
const message = error instanceof Error ? error.message : "Request failed";
|
|
31
|
+
console.error(`${name}: ${message}`);
|
|
32
|
+
process.exitCode = 1;
|
|
30
33
|
});
|
|
31
34
|
//# sourceMappingURL=cli.js.map
|
package/lib/esm/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAGnC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC;AAE3D,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;KAC7C,MAAM,CAAC,uBAAuB,EAAE,aAAa,CAAC;KAC9C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAA0C,CAAC;AAEvE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IACzC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,GAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAEzE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AAE9D,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;AAExD,KAAK;KACF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;KACpB,IAAI,CAAC,CAAC,MAAc,EAAE,EAAE;IACvB,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,WAAwB,EAAE,EAAE;QAC3D,OAAO,CAAC,GAAG,CACT,0BAA0B,EAC1B,SAAS,CAAC;YACR,UAAU,EAAE,WAAW,CAAC,MAAM;YAC9B,MAAM;SACP,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;KACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IACxB,MAAM,IAAI,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IAC3D,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAC1E,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
|
package/lib/esm/client.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { HttpClient } from "./httpClient";
|
|
2
|
-
import type { TokenRefresher } from "./auth";
|
|
3
|
-
import type
|
|
1
|
+
import { HttpClient } from "./httpClient.js";
|
|
2
|
+
import type { TokenRefresher } from "./auth.js";
|
|
3
|
+
import { type GlobalConfig, type SubscriptionConfig } from "./common.js";
|
|
4
4
|
export declare function createClient(config: SubscriptionConfig & GlobalConfig, client?: HttpClient): HttpClient;
|
|
5
5
|
export declare function createAuthClient(refresh: TokenRefresher, client: HttpClient): HttpClient;
|
|
6
6
|
export declare function withErrorHandling(client: HttpClient): HttpClient;
|
package/lib/esm/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,MAAM,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,MAAM,iBAAiB,CAAC;AAK/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AAOrB,wBAAgB,YAAY,CAC1B,MAAM,EAAE,kBAAkB,GAAG,YAAY,EACzC,MAAM,GAAE,UAA+B,GACtC,UAAU,CAgBZ;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,UAAU,GACjB,UAAU,CAiBZ;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAYhE"}
|
package/lib/esm/client.js
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
import { HttpClient, createHttpClient } from "./httpClient";
|
|
2
|
-
import { handleError } from "./errors";
|
|
1
|
+
import { HttpClient, createHttpClient } from "./httpClient.js";
|
|
2
|
+
import { handleError } from "./errors.js";
|
|
3
|
+
import { Environment, } from "./common.js";
|
|
4
|
+
import { DEFAULT_MAX_RESPONSE_BYTES, DEFAULT_TIMEOUT_MS, normalizeBaseUrl, } from "./security.js";
|
|
3
5
|
export function createClient(config, client = createHttpClient()) {
|
|
4
6
|
if (config.baseUrl) {
|
|
5
|
-
client.defaults.baseURL = config.baseUrl;
|
|
7
|
+
client.defaults.baseURL = normalizeBaseUrl(config.baseUrl, config.environment ?? Environment.SANDBOX);
|
|
6
8
|
}
|
|
9
|
+
client.defaults.timeout = config.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
10
|
+
client.defaults.maxResponseBytes =
|
|
11
|
+
config.maxResponseBytes ?? DEFAULT_MAX_RESPONSE_BYTES;
|
|
7
12
|
client.defaults.headers.common["Ocp-Apim-Subscription-Key"] =
|
|
8
13
|
config.primaryKey;
|
|
9
14
|
client.defaults.headers.common["X-Target-Environment"] =
|
|
@@ -12,15 +17,18 @@ export function createClient(config, client = createHttpClient()) {
|
|
|
12
17
|
}
|
|
13
18
|
export function createAuthClient(refresh, client) {
|
|
14
19
|
client.interceptors.request.use(async (request) => {
|
|
15
|
-
const accessToken = await refresh();
|
|
16
20
|
request.headers = request.headers || {};
|
|
17
|
-
request.headers
|
|
21
|
+
const hasExplicitAuthorization = Object.keys(request.headers).some((name) => name.toLowerCase() === "authorization");
|
|
22
|
+
if (!hasExplicitAuthorization) {
|
|
23
|
+
const accessToken = await refresh();
|
|
24
|
+
request.headers["Authorization"] = `Bearer ${accessToken}`;
|
|
25
|
+
}
|
|
18
26
|
return request;
|
|
19
27
|
});
|
|
20
28
|
return client;
|
|
21
29
|
}
|
|
22
30
|
export function withErrorHandling(client) {
|
|
23
|
-
client.interceptors.response.use((response) => response, (error) => Promise.reject(handleError(error)));
|
|
31
|
+
client.interceptors.response.use((response) => response, (error) => Promise.reject(handleError(error instanceof Error ? error : new Error(String(error)))));
|
|
24
32
|
return client;
|
|
25
33
|
}
|
|
26
34
|
//# sourceMappingURL=client.js.map
|
package/lib/esm/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,EACL,WAAW,GAGZ,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,YAAY,CAC1B,MAAyC,EACzC,SAAqB,gBAAgB,EAAE;IAEvC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,gBAAgB,CACxC,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,WAAW,IAAI,WAAW,CAAC,OAAO,CAC1C,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,SAAS,IAAI,kBAAkB,CAAC;IACjE,MAAM,CAAC,QAAQ,CAAC,gBAAgB;QAC9B,MAAM,CAAC,gBAAgB,IAAI,0BAA0B,CAAC;IACxD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,2BAA2B,CAAC;QACzD,MAAM,CAAC,UAAU,CAAC;IACpB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC;QACpD,MAAM,CAAC,WAAW,IAAI,SAAS,CAAC;IAElC,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAuB,EACvB,MAAkB;IAElB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAC7B,KAAK,EAAE,OAA8B,EAAE,EAAE;QACvC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACxC,MAAM,wBAAwB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAChE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,eAAe,CACjD,CAAC;QACF,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,MAAM,OAAO,EAAE,CAAC;YACpC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,WAAW,EAAE,CAAC;QAC7D,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC,CACF,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAkB;IAClD,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAC9B,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EACtB,CAAC,KAAK,EAAE,EAAE,CACR,OAAO,CAAC,MAAM,CACZ,WAAW,CACT,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC1D,CACF,CACJ,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/lib/esm/collections.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { HttpClient } from "./httpClient";
|
|
2
|
-
import { type Balance, type BasicUserInfo, type BcAuthorizeRequest, type BcAuthorizeResponse, type Config, type ConsentKycResponse, type DeliveryNotification, FailureReason, type OAuth2TokenRequest, type OAuth2TokenResponse, type Party, PartyIdType, TransactionStatus, type Withdrawal, type WithdrawalRequest } from "./common";
|
|
3
|
-
|
|
1
|
+
import type { HttpClient } from "./httpClient.js";
|
|
2
|
+
import { type Balance, type BasicUserInfo, type BcAuthorizeRequest, type BcAuthorizeResponse, type Config, type ConsentKycResponse, type DeliveryNotification, FailureReason, type OAuth2TokenRequest, type OAuth2TokenResponse, type Party, PartyIdType, TransactionStatus, type Withdrawal, type WithdrawalRequest } from "./common.js";
|
|
3
|
+
import { type FinancialOperationOptions } from "./security.js";
|
|
4
|
+
export interface PaymentRequest extends FinancialOperationOptions {
|
|
4
5
|
/**
|
|
5
6
|
* Amount that will be debited from the payer account
|
|
6
7
|
*/
|
|
@@ -90,7 +91,7 @@ export default class Collections {
|
|
|
90
91
|
*
|
|
91
92
|
* @param paymentRequest
|
|
92
93
|
*/
|
|
93
|
-
requestToPay(
|
|
94
|
+
requestToPay(request: PaymentRequest): Promise<string>;
|
|
94
95
|
/**
|
|
95
96
|
* This method is used to retrieve transaction information. You can invoke it
|
|
96
97
|
* at intervals until your transaction fails or succeeds.
|
|
@@ -178,7 +179,7 @@ export default class Collections {
|
|
|
178
179
|
*
|
|
179
180
|
* @returns A promise that resolves to the user's information and KYC consent details
|
|
180
181
|
*/
|
|
181
|
-
getUserInfoWithConsent(): Promise<ConsentKycResponse>;
|
|
182
|
+
getUserInfoWithConsent(consentToken: string): Promise<ConsentKycResponse>;
|
|
182
183
|
/**
|
|
183
184
|
* Create an OAuth2 token for consent-based access.
|
|
184
185
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../src/collections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../src/collections.ts"],"names":[],"mappings":"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"}
|