@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.
Files changed (101) hide show
  1. package/MIGRATION.md +79 -0
  2. package/README.md +68 -5
  3. package/lib/cjs/auth.d.ts +3 -3
  4. package/lib/cjs/auth.d.ts.map +1 -1
  5. package/lib/cjs/auth.js +31 -11
  6. package/lib/cjs/auth.js.map +1 -1
  7. package/lib/cjs/cli.js +5 -2
  8. package/lib/cjs/cli.js.map +1 -1
  9. package/lib/cjs/client.d.ts +6 -6
  10. package/lib/cjs/client.d.ts.map +1 -1
  11. package/lib/cjs/client.js +16 -44
  12. package/lib/cjs/client.js.map +1 -1
  13. package/lib/cjs/collections.d.ts +7 -6
  14. package/lib/cjs/collections.d.ts.map +1 -1
  15. package/lib/cjs/collections.js +45 -25
  16. package/lib/cjs/collections.js.map +1 -1
  17. package/lib/cjs/common.d.ts +13 -4
  18. package/lib/cjs/common.d.ts.map +1 -1
  19. package/lib/cjs/common.js.map +1 -1
  20. package/lib/cjs/disbursements.d.ts +8 -11
  21. package/lib/cjs/disbursements.d.ts.map +1 -1
  22. package/lib/cjs/disbursements.js +46 -31
  23. package/lib/cjs/disbursements.js.map +1 -1
  24. package/lib/cjs/errors.d.ts +16 -7
  25. package/lib/cjs/errors.d.ts.map +1 -1
  26. package/lib/cjs/errors.js +33 -23
  27. package/lib/cjs/errors.js.map +1 -1
  28. package/lib/cjs/httpClient.d.ts +90 -0
  29. package/lib/cjs/httpClient.d.ts.map +1 -0
  30. package/lib/cjs/httpClient.js +388 -0
  31. package/lib/cjs/httpClient.js.map +1 -0
  32. package/lib/cjs/index.d.ts +12 -11
  33. package/lib/cjs/index.d.ts.map +1 -1
  34. package/lib/cjs/index.js +30 -28
  35. package/lib/cjs/index.js.map +1 -1
  36. package/lib/cjs/remittance.d.ts +6 -6
  37. package/lib/cjs/remittance.d.ts.map +1 -1
  38. package/lib/cjs/remittance.js +58 -41
  39. package/lib/cjs/remittance.js.map +1 -1
  40. package/lib/cjs/security.d.ts +32 -0
  41. package/lib/cjs/security.d.ts.map +1 -0
  42. package/lib/cjs/security.js +253 -0
  43. package/lib/cjs/security.js.map +1 -0
  44. package/lib/cjs/users.d.ts +5 -3
  45. package/lib/cjs/users.d.ts.map +1 -1
  46. package/lib/cjs/users.js +17 -6
  47. package/lib/cjs/users.js.map +1 -1
  48. package/lib/cjs/validate.d.ts +7 -7
  49. package/lib/cjs/validate.d.ts.map +1 -1
  50. package/lib/cjs/validate.js +67 -84
  51. package/lib/cjs/validate.js.map +1 -1
  52. package/lib/esm/auth.d.ts +3 -3
  53. package/lib/esm/auth.d.ts.map +1 -1
  54. package/lib/esm/auth.js +28 -8
  55. package/lib/esm/auth.js.map +1 -1
  56. package/lib/esm/cli.js +5 -2
  57. package/lib/esm/cli.js.map +1 -1
  58. package/lib/esm/client.d.ts +6 -6
  59. package/lib/esm/client.d.ts.map +1 -1
  60. package/lib/esm/client.js +16 -11
  61. package/lib/esm/client.js.map +1 -1
  62. package/lib/esm/collections.d.ts +7 -6
  63. package/lib/esm/collections.d.ts.map +1 -1
  64. package/lib/esm/collections.js +38 -18
  65. package/lib/esm/collections.js.map +1 -1
  66. package/lib/esm/common.d.ts +13 -4
  67. package/lib/esm/common.d.ts.map +1 -1
  68. package/lib/esm/common.js.map +1 -1
  69. package/lib/esm/disbursements.d.ts +8 -11
  70. package/lib/esm/disbursements.d.ts.map +1 -1
  71. package/lib/esm/disbursements.js +34 -19
  72. package/lib/esm/disbursements.js.map +1 -1
  73. package/lib/esm/errors.d.ts +16 -7
  74. package/lib/esm/errors.d.ts.map +1 -1
  75. package/lib/esm/errors.js +16 -6
  76. package/lib/esm/errors.js.map +1 -1
  77. package/lib/esm/httpClient.d.ts +90 -0
  78. package/lib/esm/httpClient.d.ts.map +1 -0
  79. package/lib/esm/httpClient.js +378 -0
  80. package/lib/esm/httpClient.js.map +1 -0
  81. package/lib/esm/index.d.ts +12 -11
  82. package/lib/esm/index.d.ts.map +1 -1
  83. package/lib/esm/index.js +12 -11
  84. package/lib/esm/index.js.map +1 -1
  85. package/lib/esm/remittance.d.ts +6 -6
  86. package/lib/esm/remittance.d.ts.map +1 -1
  87. package/lib/esm/remittance.js +52 -35
  88. package/lib/esm/remittance.js.map +1 -1
  89. package/lib/esm/security.d.ts +32 -0
  90. package/lib/esm/security.d.ts.map +1 -0
  91. package/lib/esm/security.js +234 -0
  92. package/lib/esm/security.js.map +1 -0
  93. package/lib/esm/users.d.ts +5 -3
  94. package/lib/esm/users.d.ts.map +1 -1
  95. package/lib/esm/users.js +17 -6
  96. package/lib/esm/users.js.map +1 -1
  97. package/lib/esm/validate.d.ts +7 -7
  98. package/lib/esm/validate.d.ts.map +1 -1
  99. package/lib/esm/validate.js +66 -84
  100. package/lib/esm/validate.js.map +1 -1
  101. package/package.json +23 -7
@@ -1,100 +1,82 @@
1
- import { strictEqual } from "assert";
2
- import { Environment } from "./common";
3
- export function validateRequestToPay(paymentRequest) {
4
- const { amount, currency, payer } = paymentRequest || {};
5
- return Promise.resolve().then(() => {
6
- strictEqual(isTruthy(amount), true, "amount is required");
7
- strictEqual(isNumeric(amount), true, "amount must be a number");
8
- strictEqual(isTruthy(currency), true, "currency is required");
9
- strictEqual(isTruthy(payer), true, "payer is required");
10
- strictEqual(isTruthy(payer.partyId), true, "payer.partyId is required");
11
- strictEqual(isTruthy(payer.partyIdType), true, "payer.partyIdType is required");
12
- strictEqual(isString(currency), true, "currency must be a string");
13
- });
1
+ import { Environment, } from "./common.js";
2
+ import { pathUuid, requireUuidV4, validateCurrency, validateFinancialAmount, validateGlobalSecurityConfig, validateParty, } from "./security.js";
3
+ function requireString(value, name) {
4
+ if (typeof value !== "string" || value.length === 0) {
5
+ throw new TypeError(`${name} is required`);
6
+ }
7
+ }
8
+ export async function validateRequestToPay(request) {
9
+ const { amount, currency, payer, referenceId } = request || {};
10
+ validateFinancialAmount(amount);
11
+ validateCurrency(currency);
12
+ validateParty(payer, "payer");
13
+ if (referenceId !== undefined)
14
+ requireUuidV4(referenceId);
15
+ }
16
+ export async function validateWithdrawalRequest(request) {
17
+ const { amount, currency, payee, referenceId } = request || {};
18
+ validateFinancialAmount(amount);
19
+ validateCurrency(currency);
20
+ validateParty(payee, "payee");
21
+ if (referenceId !== undefined)
22
+ requireUuidV4(referenceId);
14
23
  }
15
- export function validateWithdrawalRequest(request) {
16
- const { amount, currency, payee } = request || {};
17
- return Promise.resolve().then(() => {
18
- strictEqual(isTruthy(amount), true, "amount is required");
19
- strictEqual(isNumeric(amount), true, "amount must be a number");
20
- strictEqual(isTruthy(currency), true, "currency is required");
21
- strictEqual(isTruthy(payee), true, "payee is required");
22
- strictEqual(isTruthy(payee?.partyId), true, "payee.partyId is required");
23
- strictEqual(isTruthy(payee?.partyIdType), true, "payee.partyIdType is required");
24
- strictEqual(isString(currency), true, "currency must be a string");
25
- });
24
+ export async function validateDepositRequest(request) {
25
+ const { amount, currency, payee, referenceId } = request || {};
26
+ validateFinancialAmount(amount);
27
+ validateCurrency(currency);
28
+ validateParty(payee, "payee");
29
+ if (referenceId !== undefined)
30
+ requireUuidV4(referenceId);
26
31
  }
27
- export function validateDepositRequest(request) {
28
- const { amount, currency, payee } = request || {};
29
- return Promise.resolve().then(() => {
30
- strictEqual(isTruthy(amount), true, "amount is required");
31
- strictEqual(isNumeric(amount), true, "amount must be a number");
32
- strictEqual(isTruthy(currency), true, "currency is required");
33
- strictEqual(isTruthy(payee), true, "payee is required");
34
- strictEqual(isTruthy(payee?.partyId), true, "payee.partyId is required");
35
- strictEqual(isTruthy(payee?.partyIdType), true, "payee.partyIdType is required");
36
- strictEqual(isString(currency), true, "currency must be a string");
37
- });
32
+ export async function validateRefundRequest(request) {
33
+ const { amount, currency, referenceIdToRefund, referenceId } = request || {};
34
+ pathUuid(referenceIdToRefund, "referenceIdToRefund");
35
+ validateFinancialAmount(amount);
36
+ validateCurrency(currency);
37
+ if (referenceId !== undefined)
38
+ requireUuidV4(referenceId);
38
39
  }
39
- export function validateRefundRequest(request) {
40
- const { amount, currency, referenceIdToRefund } = request || {};
41
- return Promise.resolve().then(() => {
42
- strictEqual(isTruthy(referenceIdToRefund), true, "referenceIdToRefund is required");
43
- strictEqual(isUuid4(referenceIdToRefund), true, "referenceIdToRefund must be a valid uuid v4");
44
- strictEqual(isTruthy(amount), true, "amount is required");
45
- strictEqual(isNumeric(amount), true, "amount must be a number");
46
- strictEqual(isTruthy(currency), true, "currency is required");
47
- strictEqual(isString(currency), true, "currency must be a string");
48
- });
40
+ export async function validateTransfer(request) {
41
+ const { amount, currency, payee, referenceId } = request || {};
42
+ validateFinancialAmount(amount);
43
+ validateCurrency(currency);
44
+ validateParty(payee, "payee");
45
+ if (referenceId !== undefined)
46
+ requireUuidV4(referenceId);
49
47
  }
50
- export function validateTransfer(payoutRequest) {
51
- const { amount, currency, payee, referenceId } = payoutRequest || {};
52
- return Promise.resolve().then(() => {
53
- strictEqual(isTruthy(referenceId), true, "referenceId is required");
54
- strictEqual(isUuid4(referenceId), true, "referenceId must be a valid uuid v4");
55
- strictEqual(isTruthy(amount), true, "amount is required");
56
- strictEqual(isNumeric(amount), true, "amount must be a number");
57
- strictEqual(isTruthy(currency), true, "currency is required");
58
- strictEqual(isTruthy(payee), true, "payee is required");
59
- strictEqual(isTruthy(payee.partyId), true, "payee.partyId is required");
60
- strictEqual(isTruthy(payee.partyIdType), true, "payee.partyIdType is required");
61
- strictEqual(isString(currency), true, "amount must be a string");
62
- });
48
+ export async function validateCashTransferRequest(request) {
49
+ const { amount, currency, payee, referenceId } = request || {};
50
+ validateFinancialAmount(amount);
51
+ validateCurrency(currency);
52
+ validateParty(payee, "payee");
53
+ if (referenceId !== undefined)
54
+ requireUuidV4(referenceId);
55
+ if (request.originalAmount !== undefined) {
56
+ validateFinancialAmount(request.originalAmount, "originalAmount");
57
+ }
58
+ if (request.originalCurrency !== undefined) {
59
+ validateCurrency(request.originalCurrency);
60
+ }
63
61
  }
64
62
  export function validateGlobalConfig(config) {
65
- const { callbackHost, baseUrl, environment } = config;
66
- strictEqual(isTruthy(callbackHost), true, "callbackHost is required");
67
- if (environment && environment !== Environment.SANDBOX) {
68
- strictEqual(isTruthy(baseUrl), true, "baseUrl is required if environment is not sandbox");
69
- strictEqual(isString(baseUrl), true, "baseUrl must be a string");
63
+ requireString(config?.callbackHost, "callbackHost");
64
+ if (config.environment === Environment.PRODUCTION &&
65
+ config.baseUrl === undefined) {
66
+ throw new TypeError("baseUrl is required if environment is not sandbox");
70
67
  }
68
+ validateGlobalSecurityConfig(config);
71
69
  }
72
70
  export function validateProductConfig(config) {
73
71
  validateSubscriptionConfig(config);
74
72
  validateUserConfig(config);
75
73
  }
76
74
  export function validateSubscriptionConfig(config) {
77
- const { primaryKey } = config;
78
- strictEqual(isTruthy(primaryKey), true, "primaryKey is required");
79
- strictEqual(isString(primaryKey), true, "primaryKey must be a string");
80
- }
81
- export function validateUserConfig({ userId, userSecret }) {
82
- strictEqual(isTruthy(userId), true, "userId is required");
83
- strictEqual(isString(userId), true, "userId must be a string");
84
- strictEqual(isTruthy(userSecret), true, "userSecret is required");
85
- strictEqual(isString(userSecret), true, "userSecret must be a string");
86
- strictEqual(isUuid4(userId), true, "userId must be a valid uuid v4");
87
- }
88
- function isNumeric(value) {
89
- return !isNaN(parseInt(value, 10));
90
- }
91
- function isTruthy(value) {
92
- return !!value;
93
- }
94
- function isString(value) {
95
- return typeof value === "string";
75
+ requireString(config?.primaryKey, "primaryKey");
96
76
  }
97
- function isUuid4(value) {
98
- return /^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i.test(value);
77
+ export function validateUserConfig(config) {
78
+ requireString(config?.userId, "userId");
79
+ requireString(config?.userSecret, "userSecret");
80
+ requireUuidV4(config.userId, "userId");
99
81
  }
100
82
  //# sourceMappingURL=validate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@maxkabechani/mtn-momo-sdk",
3
- "version": "0.2.1",
3
+ "version": "1.0.0",
4
4
  "description": "MTN Mobile Money API Client for NodeJS written in TypeScript",
5
5
  "repository": {
6
6
  "type": "git",
7
- "url": "https://github.com/maxkabechani/mtn-momo-sdk.git"
7
+ "url": "git+https://github.com/maxkabechani/mtn-momo-sdk.git"
8
8
  },
9
9
  "homepage": "https://github.com/maxkabechani/mtn-momo-sdk#readme",
10
10
  "bugs": {
@@ -29,13 +29,18 @@
29
29
  "scripts": {
30
30
  "clean": "rm -rf lib",
31
31
  "typecheck": "bunx tsc -p tsconfig.typecheck.json",
32
+ "lint": "bun run typecheck",
32
33
  "build:esm": "tsc -p tsconfig.esm.json",
33
34
  "build:cjs": "tsc -p tsconfig.cjs.json",
34
35
  "build": "bun run clean && bun run build:esm && bun run build:cjs && mkdir -p lib/esm lib/cjs && echo '{\"type\":\"module\"}' > lib/esm/package.json && echo '{\"type\":\"commonjs\"}' > lib/cjs/package.json",
35
36
  "test": "NODE_ENV=test vitest run",
36
- "test:integration": "vitest run test/integration.test.ts",
37
+ "test:security": "NODE_ENV=test vitest run test/security.test.ts",
38
+ "test:integration": "bun run test:integration:local",
39
+ "test:integration:local": "NODE_ENV=test vitest run test/security.test.ts",
40
+ "test:integration:live": "NODE_ENV=test vitest run test/integration.test.ts",
37
41
  "test:watch": "NODE_ENV=test vitest",
38
42
  "test:coverage": "NODE_ENV=test vitest run --coverage",
43
+ "test:package": "node test/package-smoke.mjs",
39
44
  "example:collections": "bun examples/collections.ts",
40
45
  "example:collections:extended": "bun examples/collections-extended.ts",
41
46
  "example:disbursements": "bun examples/disbursements.ts",
@@ -57,20 +62,31 @@
57
62
  "momo-sandbox": "lib/cjs/cli.js"
58
63
  },
59
64
  "license": "ISC",
65
+ "publishConfig": {
66
+ "access": "public",
67
+ "registry": "https://registry.npmjs.org/"
68
+ },
69
+ "engines": {
70
+ "node": ">=20.19.0"
71
+ },
72
+ "packageManager": "bun@1.3.14",
60
73
  "dependencies": {
61
- "axios": "^1.13.6",
62
74
  "commander": "^14.0.3",
63
- "uuid": "^13.0.0"
75
+ "uuid": "^13.0.1"
64
76
  },
65
77
  "devDependencies": {
66
78
  "@types/node": "^25.5.0",
67
79
  "@vitest/coverage-v8": "^4.1.1",
68
- "axios-mock-adapter": "^2.1.0",
69
80
  "dotenv": "^17.3.1",
70
81
  "typescript": "^6.0.2",
71
82
  "vitest": "^4.1.1"
72
83
  },
84
+ "overrides": {
85
+ "postcss": "8.5.15",
86
+ "vite": "8.0.16"
87
+ },
73
88
  "files": [
74
- "lib"
89
+ "lib",
90
+ "MIGRATION.md"
75
91
  ]
76
92
  }