@6thbridge/utils 0.3.8 → 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/lib/actions/charge.action.d.ts +0 -18
- package/lib/actions/charge.action.js +3 -34
- package/lib/actions/charge.action.js.map +1 -1
- package/lib/actions/charge.action.test.js +0 -42
- package/lib/actions/charge.action.test.js.map +1 -1
- package/lib/actions/index.d.ts +5 -11
- package/lib/actions/index.js +7 -34
- package/lib/actions/index.js.map +1 -1
- package/lib/actions/permission.action.js +2 -2
- package/lib/actions/permission.action.js.map +1 -1
- package/lib/actions/route.action.js +4 -3
- package/lib/actions/route.action.js.map +1 -1
- package/lib/{translations/index.d.ts → actions/translation.action.d.ts} +3 -1
- package/lib/{translations/index.js → actions/translation.action.js} +15 -12
- package/lib/actions/translation.action.js.map +1 -0
- package/lib/brokers/index.d.ts +1 -2
- package/lib/brokers/index.js +1 -3
- package/lib/brokers/index.js.map +1 -1
- package/lib/brokers/rabbitmq.d.ts +102 -5
- package/lib/brokers/rabbitmq.js +111 -6
- package/lib/brokers/rabbitmq.js.map +1 -1
- package/lib/data/index.d.ts +2 -0
- package/lib/data/index.js +19 -0
- package/lib/data/index.js.map +1 -0
- package/lib/data/rabbitmq/index.d.ts +57 -0
- package/lib/data/rabbitmq/index.js +231 -0
- package/lib/data/rabbitmq/index.js.map +1 -0
- package/lib/data/rabbitmq/rabbitmq.test.js +71 -0
- package/lib/data/rabbitmq/rabbitmq.test.js.map +1 -0
- package/lib/data/redis/index.d.ts +32 -0
- package/lib/data/redis/index.js +70 -0
- package/lib/data/redis/index.js.map +1 -0
- package/lib/{actions/queue.action.js → data/redis/redis-example.js} +14 -6
- package/lib/data/redis/redis-example.js.map +1 -0
- package/lib/database/MongoDBRepository.d.ts +5 -3
- package/lib/database/MongoDBRepository.js +2 -2
- package/lib/database/MongoDBRepository.js.map +1 -1
- package/lib/database/index.d.ts +2 -3
- package/lib/database/index.js +4 -16
- package/lib/database/index.js.map +1 -1
- package/lib/index.d.ts +13 -17
- package/lib/index.js +18 -40
- package/lib/index.js.map +1 -1
- package/lib/logger/index.d.ts +2 -0
- package/lib/logger/index.js +16 -0
- package/lib/logger/index.js.map +1 -1
- package/lib/logger/logger-test.js +2 -2
- package/lib/logger/logger-test.js.map +1 -1
- package/lib/logger/logger.d.ts +3 -3
- package/lib/logger/logger.js +2 -2
- package/lib/logger/logger.js.map +1 -1
- package/lib/{test/logger → logger}/test.spec.js +1 -1
- package/lib/logger/test.spec.js.map +1 -0
- package/lib/middlewares/common.js +3 -4
- package/lib/middlewares/common.js.map +1 -1
- package/lib/middlewares/index.d.ts +1 -2
- package/lib/middlewares/index.js +1 -3
- package/lib/middlewares/index.js.map +1 -1
- package/lib/monitoring/index.js +3 -2
- package/lib/monitoring/index.js.map +1 -1
- package/lib/responses/express.d.ts +2 -0
- package/lib/responses/express.js +7 -31
- package/lib/responses/express.js.map +1 -1
- package/lib/responses/index.d.ts +1 -2
- package/lib/responses/index.js +1 -3
- package/lib/responses/index.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types/broker.entity.d.ts +1 -0
- package/lib/types/index.d.ts +13 -13
- package/lib/types/index.js +13 -17
- package/lib/types/index.js.map +1 -1
- package/lib/types/wallet.entity.d.ts +9 -0
- package/lib/{actions/currency.action.d.ts → utils/amount.d.ts} +12 -10
- package/lib/{actions/currency.action.js → utils/amount.js} +42 -38
- package/lib/utils/amount.js.map +1 -0
- package/lib/{test/actions/amount.action.test.js → utils/amount.test.js} +17 -17
- package/lib/utils/amount.test.js.map +1 -0
- package/lib/{actions/database.action.d.ts → utils/database.d.ts} +1 -1
- package/lib/{actions/database.action.js → utils/database.js} +10 -7
- package/lib/utils/database.js.map +1 -0
- package/lib/{actions/database.action.spec.js → utils/database.spec.js} +35 -39
- package/lib/utils/database.spec.js.map +1 -0
- package/lib/{actions/file.action.d.ts → utils/file.d.ts} +1 -1
- package/lib/{actions/file.action.js → utils/file.js} +4 -4
- package/lib/utils/file.js.map +1 -0
- package/lib/utils/helper.d.ts +10 -0
- package/lib/utils/helper.js +86 -0
- package/lib/utils/helper.js.map +1 -0
- package/lib/utils/helper.spec.js +203 -0
- package/lib/utils/helper.spec.js.map +1 -0
- package/lib/{http/axios.d.ts → utils/http.d.ts} +4 -0
- package/lib/{http/axios.js → utils/http.js} +12 -3
- package/lib/utils/http.js.map +1 -0
- package/lib/utils/index.d.ts +8 -0
- package/lib/utils/index.js +25 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/{actions/phone-number.action.d.ts → utils/phoneNumber.d.ts} +22 -19
- package/lib/{actions/phone-number.action.js → utils/phoneNumber.js} +41 -41
- package/lib/utils/phoneNumber.js.map +1 -0
- package/lib/utils/phoneNumber.spec.js +60 -0
- package/lib/utils/phoneNumber.spec.js.map +1 -0
- package/lib/utils/reference.d.ts +7 -0
- package/lib/utils/reference.js +44 -0
- package/lib/utils/reference.js.map +1 -0
- package/lib/utils/reference.spec.d.ts +1 -0
- package/lib/utils/reference.spec.js +34 -0
- package/lib/utils/reference.spec.js.map +1 -0
- package/lib/utils/validator.d.ts +20 -0
- package/lib/utils/validator.js +56 -0
- package/lib/utils/validator.js.map +1 -0
- package/package.json +4 -3
- package/readme.md +347 -47
- package/lib/actions/amount.action.d.ts +0 -10
- package/lib/actions/amount.action.js +0 -40
- package/lib/actions/amount.action.js.map +0 -1
- package/lib/actions/currency.action.js.map +0 -1
- package/lib/actions/database.action.js.map +0 -1
- package/lib/actions/database.action.spec.js.map +0 -1
- package/lib/actions/file.action.js.map +0 -1
- package/lib/actions/phone-number.action.js.map +0 -1
- package/lib/actions/queue.action.d.ts +0 -3
- package/lib/actions/queue.action.js.map +0 -1
- package/lib/brokers/kafka.d.ts +0 -84
- package/lib/brokers/kafka.js +0 -275
- package/lib/brokers/kafka.js.map +0 -1
- package/lib/brokers/kafka.test.js +0 -117
- package/lib/brokers/kafka.test.js.map +0 -1
- package/lib/database/MongoDBTypeRepository.d.ts +0 -77
- package/lib/database/MongoDBTypeRepository.js +0 -85
- package/lib/database/MongoDBTypeRepository.js.map +0 -1
- package/lib/database/query.d.ts +0 -18
- package/lib/database/query.js +0 -30
- package/lib/database/query.js.map +0 -1
- package/lib/helpers/errors.d.ts +0 -15
- package/lib/helpers/errors.js +0 -29
- package/lib/helpers/errors.js.map +0 -1
- package/lib/helpers/index.d.ts +0 -58
- package/lib/helpers/index.js +0 -226
- package/lib/helpers/index.js.map +0 -1
- package/lib/helpers/utils.d.ts +0 -9
- package/lib/helpers/utils.js +0 -17
- package/lib/helpers/utils.js.map +0 -1
- package/lib/http/axios.js.map +0 -1
- package/lib/middlewares/fastify.d.ts +0 -4
- package/lib/middlewares/fastify.js +0 -73
- package/lib/middlewares/fastify.js.map +0 -1
- package/lib/responses/fastify.d.ts +0 -4
- package/lib/responses/fastify.js +0 -25
- package/lib/responses/fastify.js.map +0 -1
- package/lib/secrets/aws-secret.d.ts +0 -4
- package/lib/secrets/aws-secret.js +0 -55
- package/lib/secrets/aws-secret.js.map +0 -1
- package/lib/secrets/index.d.ts +0 -8
- package/lib/secrets/index.js +0 -18
- package/lib/secrets/index.js.map +0 -1
- package/lib/test/actions/amount.action.test.js.map +0 -1
- package/lib/test/database/test.spec.js +0 -91
- package/lib/test/database/test.spec.js.map +0 -1
- package/lib/test/helpers/PhoneNumber.spec.js +0 -82
- package/lib/test/helpers/PhoneNumber.spec.js.map +0 -1
- package/lib/test/logger/test.spec.js.map +0 -1
- package/lib/test/types/context.entity.test.js +0 -29
- package/lib/test/types/context.entity.test.js.map +0 -1
- package/lib/translations/index.js.map +0 -1
- /package/lib/{actions/database.action.spec.d.ts → data/rabbitmq/rabbitmq.test.d.ts} +0 -0
- /package/lib/{brokers/kafka.test.d.ts → data/redis/redis-example.d.ts} +0 -0
- /package/lib/{test/database → logger}/test.spec.d.ts +0 -0
- /package/lib/{test/actions/amount.action.test.d.ts → utils/amount.test.d.ts} +0 -0
- /package/lib/{test/helpers/PhoneNumber.spec.d.ts → utils/database.spec.d.ts} +0 -0
- /package/lib/{test/logger/test.spec.d.ts → utils/helper.spec.d.ts} +0 -0
- /package/lib/{test/types/context.entity.test.d.ts → utils/phoneNumber.spec.d.ts} +0 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./database"), exports);
|
|
18
|
+
__exportStar(require("./amount"), exports);
|
|
19
|
+
__exportStar(require("./phoneNumber"), exports);
|
|
20
|
+
__exportStar(require("./reference"), exports);
|
|
21
|
+
__exportStar(require("./file"), exports);
|
|
22
|
+
__exportStar(require("./helper"), exports);
|
|
23
|
+
__exportStar(require("./validator"), exports);
|
|
24
|
+
__exportStar(require("./http"), exports);
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,2CAAyB;AACzB,gDAA8B;AAC9B,8CAA4B;AAC5B,yCAAuB;AACvB,2CAAyB;AACzB,8CAA4B;AAC5B,yCAAuB"}
|
|
@@ -1,32 +1,17 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { CountryCode } from "libphonenumber-js";
|
|
2
|
+
import * as libphonenumber from "libphonenumber-js";
|
|
3
3
|
export declare class ProcessPhoneNumberDTO {
|
|
4
4
|
phoneNumber: string;
|
|
5
5
|
phoneNumberPrefix?: string;
|
|
6
6
|
countryCode: libphonenumber.CountryCode | string;
|
|
7
7
|
[x: string]: any;
|
|
8
8
|
}
|
|
9
|
-
export declare
|
|
10
|
-
phoneNumberPrefix: libphonenumber.CountryCallingCode;
|
|
11
|
-
phoneNumber: string;
|
|
12
|
-
phoneNumberWithPrefix: libphonenumber.E164Number;
|
|
13
|
-
countryCode: libphonenumber.CountryCode | undefined;
|
|
14
|
-
meta: libphonenumber.PhoneNumber;
|
|
15
|
-
} | {
|
|
16
|
-
phoneNumberPrefix: string | undefined;
|
|
17
|
-
phoneNumber: string;
|
|
18
|
-
countryCode: string;
|
|
19
|
-
phoneNumberWithPrefix?: undefined;
|
|
20
|
-
meta?: undefined;
|
|
21
|
-
}>;
|
|
22
|
-
export declare function isPhoneNumberValid(phoneNumber: string, countryCode: CountryCode | string): boolean;
|
|
23
|
-
export declare function isPhoneNumberPossible(phoneNumber: string, countryCode: CountryCode | string): boolean;
|
|
24
|
-
export declare class PhoneNumberAction {
|
|
9
|
+
export declare class PhoneNumberUtil {
|
|
25
10
|
static formatPhoneNumber(payload: ProcessPhoneNumberDTO, options: Record<string, any>): Promise<{
|
|
26
11
|
phoneNumberPrefix: libphonenumber.CountryCallingCode;
|
|
27
12
|
phoneNumber: string;
|
|
28
13
|
phoneNumberWithPrefix: libphonenumber.E164Number;
|
|
29
|
-
countryCode:
|
|
14
|
+
countryCode: CountryCode | undefined;
|
|
30
15
|
meta: libphonenumber.PhoneNumber;
|
|
31
16
|
} | {
|
|
32
17
|
phoneNumberPrefix: string | undefined;
|
|
@@ -35,7 +20,25 @@ export declare class PhoneNumberAction {
|
|
|
35
20
|
phoneNumberWithPrefix?: undefined;
|
|
36
21
|
meta?: undefined;
|
|
37
22
|
}>;
|
|
23
|
+
/**
|
|
24
|
+
* @deprecated User phone number function in actions
|
|
25
|
+
* @param phoneNumber
|
|
26
|
+
* @param countryCode
|
|
27
|
+
*/
|
|
38
28
|
static isPhoneNumberValid(phoneNumber: string, countryCode: CountryCode | string): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* @deprecated User phone number function in actions
|
|
31
|
+
* @param phoneNumber
|
|
32
|
+
* @param countryCode
|
|
33
|
+
*/
|
|
39
34
|
static isPhoneNumberPossible(phoneNumber: string, countryCode: CountryCode | string): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* This method formats a Nigerian Phone number
|
|
37
|
+
* @param {Array} phoneNumbers
|
|
38
|
+
* @param {string|undefined} countryCode
|
|
39
|
+
* @return "+234xxxxxxxxx"|undefined|array
|
|
40
|
+
*/
|
|
41
|
+
static formatPhoneNumberArray(phoneNumbers: (string | undefined)[], countryCode?: string): (string | undefined)[];
|
|
40
42
|
static format(phoneNumber: string | undefined, countryCode: CountryCode): string | undefined;
|
|
43
|
+
static stripPhoneNumber: (phoneNumber: string, length?: number, noPrefix?: boolean) => string | number | undefined;
|
|
41
44
|
}
|
|
@@ -32,50 +32,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
32
32
|
});
|
|
33
33
|
};
|
|
34
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
-
exports.
|
|
36
|
-
const
|
|
35
|
+
exports.PhoneNumberUtil = exports.ProcessPhoneNumberDTO = void 0;
|
|
36
|
+
const lodash_1 = require("lodash");
|
|
37
37
|
const libphonenumber_js_1 = require("libphonenumber-js");
|
|
38
38
|
const logger_1 = require("../logger/logger");
|
|
39
|
-
const
|
|
39
|
+
const libphonenumber = __importStar(require("libphonenumber-js"));
|
|
40
40
|
class ProcessPhoneNumberDTO {
|
|
41
41
|
}
|
|
42
42
|
exports.ProcessPhoneNumberDTO = ProcessPhoneNumberDTO;
|
|
43
|
-
|
|
44
|
-
options.logger = options.logger || logger_1.logger;
|
|
45
|
-
try {
|
|
46
|
-
const countryCode = payload.countryCode;
|
|
47
|
-
let phoneNumber = payload.phoneNumber;
|
|
48
|
-
if (payload.phoneNumberPrefix) {
|
|
49
|
-
phoneNumber = `${payload.phoneNumberPrefix}${phoneNumber}`;
|
|
50
|
-
}
|
|
51
|
-
const formatPhoneNumberResponse = libphonenumber.parsePhoneNumber(phoneNumber, countryCode);
|
|
52
|
-
return {
|
|
53
|
-
phoneNumberPrefix: formatPhoneNumberResponse.countryCallingCode,
|
|
54
|
-
phoneNumber: `${formatPhoneNumberResponse.countryCallingCode}${formatPhoneNumberResponse.nationalNumber}`,
|
|
55
|
-
phoneNumberWithPrefix: formatPhoneNumberResponse.number,
|
|
56
|
-
countryCode: formatPhoneNumberResponse.country,
|
|
57
|
-
meta: formatPhoneNumberResponse,
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
catch (e) {
|
|
61
|
-
options.logger.exception(e, payload);
|
|
62
|
-
return {
|
|
63
|
-
phoneNumberPrefix: payload.phoneNumberPrefix,
|
|
64
|
-
phoneNumber: payload.phoneNumber,
|
|
65
|
-
countryCode: payload.countryCode,
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
exports.formatPhoneNumber = formatPhoneNumber;
|
|
70
|
-
function isPhoneNumberValid(phoneNumber, countryCode) {
|
|
71
|
-
return (0, libphonenumber_js_1.isValidNumberForRegion)(phoneNumber, countryCode);
|
|
72
|
-
}
|
|
73
|
-
exports.isPhoneNumberValid = isPhoneNumberValid;
|
|
74
|
-
function isPhoneNumberPossible(phoneNumber, countryCode) {
|
|
75
|
-
return (0, libphonenumber_js_1.isPossiblePhoneNumber)(phoneNumber, countryCode);
|
|
76
|
-
}
|
|
77
|
-
exports.isPhoneNumberPossible = isPhoneNumberPossible;
|
|
78
|
-
class PhoneNumberAction {
|
|
43
|
+
class PhoneNumberUtil {
|
|
79
44
|
static formatPhoneNumber(payload, options) {
|
|
80
45
|
return __awaiter(this, void 0, void 0, function* () {
|
|
81
46
|
options.logger = options.logger || logger_1.logger;
|
|
@@ -105,12 +70,35 @@ class PhoneNumberAction {
|
|
|
105
70
|
});
|
|
106
71
|
}
|
|
107
72
|
;
|
|
73
|
+
/**
|
|
74
|
+
* @deprecated User phone number function in actions
|
|
75
|
+
* @param phoneNumber
|
|
76
|
+
* @param countryCode
|
|
77
|
+
*/
|
|
108
78
|
static isPhoneNumberValid(phoneNumber, countryCode) {
|
|
109
79
|
return (0, libphonenumber_js_1.isValidNumberForRegion)(phoneNumber, countryCode);
|
|
110
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* @deprecated User phone number function in actions
|
|
83
|
+
* @param phoneNumber
|
|
84
|
+
* @param countryCode
|
|
85
|
+
*/
|
|
111
86
|
static isPhoneNumberPossible(phoneNumber, countryCode) {
|
|
112
87
|
return (0, libphonenumber_js_1.isPossiblePhoneNumber)(phoneNumber, countryCode);
|
|
113
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* This method formats a Nigerian Phone number
|
|
91
|
+
* @param {Array} phoneNumbers
|
|
92
|
+
* @param {string|undefined} countryCode
|
|
93
|
+
* @return "+234xxxxxxxxx"|undefined|array
|
|
94
|
+
*/
|
|
95
|
+
static formatPhoneNumberArray(phoneNumbers, countryCode = 'NG') {
|
|
96
|
+
if ((0, lodash_1.isEmpty)(phoneNumbers))
|
|
97
|
+
return phoneNumbers;
|
|
98
|
+
return phoneNumbers.filter(Boolean).map((phone) => {
|
|
99
|
+
return PhoneNumberUtil.format(phone, countryCode);
|
|
100
|
+
});
|
|
101
|
+
}
|
|
114
102
|
static format(phoneNumber, countryCode) {
|
|
115
103
|
if (!phoneNumber)
|
|
116
104
|
return undefined;
|
|
@@ -121,5 +109,17 @@ class PhoneNumberAction {
|
|
|
121
109
|
return `${response.countryCallingCode}${response.nationalNumber}`;
|
|
122
110
|
}
|
|
123
111
|
}
|
|
124
|
-
exports.
|
|
125
|
-
|
|
112
|
+
exports.PhoneNumberUtil = PhoneNumberUtil;
|
|
113
|
+
PhoneNumberUtil.stripPhoneNumber = (phoneNumber, length = 10, noPrefix = false) => {
|
|
114
|
+
const phoneNumberLength = phoneNumber.length;
|
|
115
|
+
// console.log("phoneNumber", phoneNumber, phoneNumberLength, length, phoneNumber.substring(phoneNumberLength - length, phoneNumberLength));
|
|
116
|
+
let formattedPhoneNumber = Number(phoneNumber.substring(phoneNumberLength - length, phoneNumberLength));
|
|
117
|
+
// console.log("phoneNumber", phoneNumber);
|
|
118
|
+
if (!formattedPhoneNumber)
|
|
119
|
+
return undefined;
|
|
120
|
+
// console.log("phoneNumber", phoneNumber);
|
|
121
|
+
if (noPrefix)
|
|
122
|
+
return formattedPhoneNumber;
|
|
123
|
+
return phoneNumber;
|
|
124
|
+
};
|
|
125
|
+
//# sourceMappingURL=phoneNumber.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phoneNumber.js","sourceRoot":"","sources":["../../src/utils/phoneNumber.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const phoneNumber_1 = require("./phoneNumber");
|
|
4
|
+
describe('Phone Number Test', () => {
|
|
5
|
+
// describe('# Test Format Phone Number', () => {
|
|
6
|
+
// it('should return undefined for incorrect or empty value', function () {
|
|
7
|
+
// let phoneNumber: string | undefined = '';
|
|
8
|
+
// phoneNumber = PhoneNumberUtil.formatPhoneNumber(phoneNumber);
|
|
9
|
+
// expect(phoneNumber).toBeFalsy();
|
|
10
|
+
// });
|
|
11
|
+
//
|
|
12
|
+
// it('should return an formatted phone number', function () {
|
|
13
|
+
// let phoneNumber: string | undefined = '08023457890';
|
|
14
|
+
// phoneNumber = PhoneNumberUtil.formatPhoneNumber(phoneNumber, 'NG');
|
|
15
|
+
// expect(phoneNumber).toBe('2348023457890');
|
|
16
|
+
// });
|
|
17
|
+
// });
|
|
18
|
+
describe('# Test Format Phone Number Array', () => {
|
|
19
|
+
it('should return an array of undefined for incorrect or empty value', function () {
|
|
20
|
+
let phoneNumbers = [undefined, undefined, undefined];
|
|
21
|
+
phoneNumbers = phoneNumber_1.PhoneNumberUtil.formatPhoneNumberArray(phoneNumbers);
|
|
22
|
+
expect(phoneNumbers.length).toBe(0);
|
|
23
|
+
});
|
|
24
|
+
it('should return an array of formatted phone number', function () {
|
|
25
|
+
let phoneNumbers = ['08023457890', '08023457846', '08023457811'];
|
|
26
|
+
phoneNumbers = phoneNumber_1.PhoneNumberUtil.formatPhoneNumberArray(phoneNumbers);
|
|
27
|
+
expect(phoneNumbers.length).toBe(3);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
describe('# Test Is Phone Number Valid', () => {
|
|
31
|
+
it('should return false if phone number is not valid', function () {
|
|
32
|
+
let phoneNumber = '225544000602';
|
|
33
|
+
const isPhoneNumberValid = phoneNumber_1.PhoneNumberUtil.isPhoneNumberValid(phoneNumber, 'CI');
|
|
34
|
+
expect(isPhoneNumberValid).toBe(false);
|
|
35
|
+
});
|
|
36
|
+
it('should return false if phone number is not valid', function () {
|
|
37
|
+
let phoneNumber = '2250544000602';
|
|
38
|
+
const isPhoneNumberValid = phoneNumber_1.PhoneNumberUtil.isPhoneNumberValid(phoneNumber, 'CI');
|
|
39
|
+
expect(isPhoneNumberValid).toBe(true);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
describe('# Test Is Phone Number Possible', () => {
|
|
43
|
+
it('225544000602: should return false if phone number is not valid', function () {
|
|
44
|
+
let phoneNumber = '225544000602';
|
|
45
|
+
const isPhoneNumberValid = phoneNumber_1.PhoneNumberUtil.isPhoneNumberPossible(phoneNumber, 'CI');
|
|
46
|
+
expect(isPhoneNumberValid).toBe(false);
|
|
47
|
+
});
|
|
48
|
+
it('2252347038102474: should return false if phone number is not valid', function () {
|
|
49
|
+
let phoneNumber = '2252347038102474';
|
|
50
|
+
const isPhoneNumberValid = phoneNumber_1.PhoneNumberUtil.isPhoneNumberPossible(phoneNumber, 'CI');
|
|
51
|
+
expect(isPhoneNumberValid).toBe(false);
|
|
52
|
+
});
|
|
53
|
+
it('should return false if phone number is not valid', function () {
|
|
54
|
+
let phoneNumber = '2250544000602';
|
|
55
|
+
const isPhoneNumberValid = phoneNumber_1.PhoneNumberUtil.isPhoneNumberPossible(phoneNumber, 'CI');
|
|
56
|
+
expect(isPhoneNumberValid).toBe(true);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
//# sourceMappingURL=phoneNumber.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phoneNumber.spec.js","sourceRoot":"","sources":["../../src/utils/phoneNumber.spec.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,+CAA8C;AAE9C,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,iDAAiD;IACjD,6EAA6E;IAC7E,gDAAgD;IAChD,oEAAoE;IACpE,uCAAuC;IACvC,QAAQ;IACR,EAAE;IACF,gEAAgE;IAChE,2DAA2D;IAC3D,0EAA0E;IAC1E,iDAAiD;IACjD,QAAQ;IACR,MAAM;IACN,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAChD,EAAE,CAAC,kEAAkE,EAAE;YACrE,IAAI,YAAY,GAA2B,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAC7E,YAAY,GAAG,6BAAe,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;YACpE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE;YACrD,IAAI,YAAY,GAA2B,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;YACzF,YAAY,GAAG,6BAAe,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;YACpE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC5C,EAAE,CAAC,kDAAkD,EAAE;YACrD,IAAI,WAAW,GAAW,cAAc,CAAC;YACzC,MAAM,kBAAkB,GAAG,6BAAe,CAAC,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACjF,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE;YACrD,IAAI,WAAW,GAAW,eAAe,CAAC;YAC1C,MAAM,kBAAkB,GAAG,6BAAe,CAAC,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACjF,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC/C,EAAE,CAAC,gEAAgE,EAAE;YACnE,IAAI,WAAW,GAAW,cAAc,CAAC;YACzC,MAAM,kBAAkB,GAAG,6BAAe,CAAC,qBAAqB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACpF,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oEAAoE,EAAE;YACvE,IAAI,WAAW,GAAW,kBAAkB,CAAC;YAC7C,MAAM,kBAAkB,GAAG,6BAAe,CAAC,qBAAqB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACpF,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE;YACrD,IAAI,WAAW,GAAW,eAAe,CAAC;YAC1C,MAAM,kBAAkB,GAAG,6BAAe,CAAC,qBAAqB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACpF,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import randomstring from 'randomstring';
|
|
2
|
+
export { randomstring };
|
|
3
|
+
export declare class ReferenceUtil {
|
|
4
|
+
static generateReference(env: string): string;
|
|
5
|
+
static generateReferenceWithPrefix(env: string, prefix: string): string;
|
|
6
|
+
static generateUUID(options?: any): `${string}-${string}-${string}-${string}-${string}`;
|
|
7
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ReferenceUtil = exports.randomstring = void 0;
|
|
7
|
+
const crypto_1 = require("crypto");
|
|
8
|
+
const randomstring_1 = __importDefault(require("randomstring"));
|
|
9
|
+
exports.randomstring = randomstring_1.default;
|
|
10
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
11
|
+
class ReferenceUtil {
|
|
12
|
+
static generateReference(env) {
|
|
13
|
+
const envCode = env == 'production' ? 'L' : 'D';
|
|
14
|
+
// return clientId.toUpperCase() + envCode + dayjs().format("YYYYMMDDHHmmss").toString() +
|
|
15
|
+
return (envCode +
|
|
16
|
+
(0, dayjs_1.default)().format('YYYYMMDDHHmmss').toString() +
|
|
17
|
+
randomstring_1.default
|
|
18
|
+
.generate({
|
|
19
|
+
length: 5,
|
|
20
|
+
charset: 'alphabetic',
|
|
21
|
+
})
|
|
22
|
+
.toUpperCase());
|
|
23
|
+
}
|
|
24
|
+
;
|
|
25
|
+
static generateReferenceWithPrefix(env, prefix) {
|
|
26
|
+
const envCode = env == 'production' ? 'L' : 'D';
|
|
27
|
+
// return clientId.toUpperCase() + envCode + dayjs().format("YYYYMMDDHHmmss").toString() +
|
|
28
|
+
return (envCode +
|
|
29
|
+
(prefix || "") +
|
|
30
|
+
(0, dayjs_1.default)().format('YYYYMMDDHHmmss').toString() +
|
|
31
|
+
randomstring_1.default
|
|
32
|
+
.generate({
|
|
33
|
+
length: 5,
|
|
34
|
+
charset: 'alphabetic',
|
|
35
|
+
})
|
|
36
|
+
.toUpperCase());
|
|
37
|
+
}
|
|
38
|
+
;
|
|
39
|
+
static generateUUID(options) {
|
|
40
|
+
return (0, crypto_1.randomUUID)(options);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.ReferenceUtil = ReferenceUtil;
|
|
44
|
+
//# sourceMappingURL=reference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reference.js","sourceRoot":"","sources":["../../src/utils/reference.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAkC;AAClC,gEAAwC;AAGhC,uBAHD,sBAAY,CAGC;AAFpB,kDAA0B;AAI1B,MAAa,aAAa;IACtB,MAAM,CAAC,iBAAiB,CAAE,GAAW;QACjC,MAAM,OAAO,GAAG,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAChD,0FAA0F;QAE1F,OAAO,CACH,OAAO;YACP,IAAA,eAAK,GAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE;YAC3C,sBAAY;iBACP,QAAQ,CAAC;gBACN,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,YAAY;aACxB,CAAC;iBACD,WAAW,EAAE,CACrB,CAAC;IACN,CAAC;IAAA,CAAC;IACF,MAAM,CAAC,2BAA2B,CAAE,GAAW,EAAE,MAAc;QAC3D,MAAM,OAAO,GAAG,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAChD,0FAA0F;QAE1F,OAAO,CACH,OAAO;YACP,CAAC,MAAM,IAAI,EAAE,CAAC;YACd,IAAA,eAAK,GAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE;YAC3C,sBAAY;iBACP,QAAQ,CAAC;gBACN,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,YAAY;aACxB,CAAC;iBACD,WAAW,EAAE,CACrB,CAAC;IACN,CAAC;IAAA,CAAC;IACF,MAAM,CAAC,YAAY,CAAC,OAAa;QAC7B,OAAO,IAAA,mBAAU,EAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;CACJ;AAnCD,sCAmCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
// reference.util.test.ts
|
|
4
|
+
const reference_1 = require("./reference");
|
|
5
|
+
describe('ReferenceUtil', () => {
|
|
6
|
+
beforeEach(() => {
|
|
7
|
+
jest.clearAllMocks();
|
|
8
|
+
});
|
|
9
|
+
describe('generateReference', () => {
|
|
10
|
+
it('should generate reference with "L" prefix for production environment', () => {
|
|
11
|
+
const result = reference_1.ReferenceUtil.generateReference('production');
|
|
12
|
+
expect(result.startsWith("L")).toBe(true);
|
|
13
|
+
});
|
|
14
|
+
it('should generate reference with "D" prefix for non-production environment', () => {
|
|
15
|
+
const result = reference_1.ReferenceUtil.generateReference('development');
|
|
16
|
+
expect(result.startsWith("D")).toBe(true);
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
describe('generateReferenceWithPrefix', () => {
|
|
20
|
+
it('should generate reference with custom prefix in production environment', () => {
|
|
21
|
+
const result = reference_1.ReferenceUtil.generateReferenceWithPrefix('production', 'TEST');
|
|
22
|
+
expect(result.startsWith("LTEST")).toBe(true);
|
|
23
|
+
});
|
|
24
|
+
it('should generate reference with custom prefix in development environment', () => {
|
|
25
|
+
const result = reference_1.ReferenceUtil.generateReferenceWithPrefix('development', 'TEST');
|
|
26
|
+
expect(result.startsWith("DTEST")).toBe(true);
|
|
27
|
+
});
|
|
28
|
+
it('should handle empty prefix', () => {
|
|
29
|
+
const result = reference_1.ReferenceUtil.generateReferenceWithPrefix('development', '');
|
|
30
|
+
expect(result.startsWith("D")).toBe(true);
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=reference.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reference.spec.js","sourceRoot":"","sources":["../../src/utils/reference.spec.ts"],"names":[],"mappings":";;AAAA,yBAAyB;AACzB,2CAA4C;AAG5C,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC3B,UAAU,CAAC,GAAG,EAAE;QACZ,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;YAC5E,MAAM,MAAM,GAAG,yBAAa,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAE7D,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;YAChF,MAAM,MAAM,GAAG,yBAAa,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;YAE9D,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;YAC9E,MAAM,MAAM,GAAG,yBAAa,CAAC,2BAA2B,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAE/E,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;YAC/E,MAAM,MAAM,GAAG,yBAAa,CAAC,2BAA2B,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAEhF,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YAClC,MAAM,MAAM,GAAG,yBAAa,CAAC,2BAA2B,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;YAE5E,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as Joi from "joi";
|
|
2
|
+
export declare function validate(schema: any, payload: any): any;
|
|
3
|
+
export declare function validateStrict(schema: any, payload: any, options?: any): {
|
|
4
|
+
error: any;
|
|
5
|
+
data?: undefined;
|
|
6
|
+
} | {
|
|
7
|
+
data: any;
|
|
8
|
+
error?: undefined;
|
|
9
|
+
};
|
|
10
|
+
export declare class ValidatorUtil {
|
|
11
|
+
static validate(schema: any, payload: any): any;
|
|
12
|
+
static validateStrict(schema: any, payload: any, options?: any): {
|
|
13
|
+
error: any;
|
|
14
|
+
data?: undefined;
|
|
15
|
+
} | {
|
|
16
|
+
data: any;
|
|
17
|
+
error?: undefined;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export { Joi };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.Joi = exports.ValidatorUtil = exports.validateStrict = exports.validate = void 0;
|
|
27
|
+
const Joi = __importStar(require("joi"));
|
|
28
|
+
exports.Joi = Joi;
|
|
29
|
+
function validate(schema, payload) {
|
|
30
|
+
return ValidatorUtil.validate(schema, payload);
|
|
31
|
+
}
|
|
32
|
+
exports.validate = validate;
|
|
33
|
+
function validateStrict(schema, payload, options = {}) {
|
|
34
|
+
return ValidatorUtil.validateStrict(schema, payload, options);
|
|
35
|
+
}
|
|
36
|
+
exports.validateStrict = validateStrict;
|
|
37
|
+
class ValidatorUtil {
|
|
38
|
+
static validate(schema, payload) {
|
|
39
|
+
schema = Joi.object(schema);
|
|
40
|
+
const { error } = schema.validate(payload, {
|
|
41
|
+
allowUnknown: true,
|
|
42
|
+
});
|
|
43
|
+
if (error)
|
|
44
|
+
return error.details[0].message.replace(/['"]/g, '');
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
static validateStrict(schema, payload, options = {}) {
|
|
48
|
+
schema = Joi.object(schema);
|
|
49
|
+
const { error, value } = schema.validate(payload, Object.assign({ allowUnknown: true }, options));
|
|
50
|
+
if (error)
|
|
51
|
+
return { error: error.details[0].message.replace(/['"]/g, '') };
|
|
52
|
+
return { data: value };
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.ValidatorUtil = ValidatorUtil;
|
|
56
|
+
//# sourceMappingURL=validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/utils/validator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA2B;AAkClB,kBAAG;AAhCZ,SAAgB,QAAQ,CAAC,MAAW,EAAE,OAAY;IAC9C,OAAO,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAFD,4BAEC;AAED,SAAgB,cAAc,CAAC,MAAW,EAAE,OAAY,EAAE,UAAe,EAAE;IACvE,OAAO,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAClE,CAAC;AAFD,wCAEC;AAED,MAAa,aAAa;IACtB,MAAM,CAAC,QAAQ,CAAC,MAAW,EAAE,OAAY;QACrC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE;YACrC,YAAY,EAAE,IAAI;SACrB,CAAC,CAAC;QAEH,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEhE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,MAAW,EAAE,OAAY,EAAE,UAAe,EAAE;QAC9D,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,EAAC,KAAK,EAAE,KAAK,EAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,kBAC1C,YAAY,EAAE,IAAI,IAAK,OAAO,EAChC,CAAC;QAEH,IAAI,KAAK;YAAE,OAAO,EAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAC,CAAC;QAEzE,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC;IACzB,CAAC;CAEJ;AAvBD,sCAuBC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@6thbridge/utils",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "simple interface for the our commonly used functions",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"@opentelemetry/api": "^1.9.0",
|
|
29
29
|
"@opentelemetry/auto-instrumentations-node": "^0.58.1",
|
|
30
30
|
"amqp-connection-manager": "^4.1.14",
|
|
31
|
-
"amqplib": "^0.10.
|
|
31
|
+
"amqplib": "^0.10.8",
|
|
32
32
|
"apitoolkit-express": "^2.4.6",
|
|
33
33
|
"axios": "^1.8.4",
|
|
34
34
|
"axios-better-stacktrace": "^2.1.7",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"ioredis": "^5.4.1",
|
|
39
39
|
"joi": "^17.13.3",
|
|
40
40
|
"kafkajs": "^2.2.4",
|
|
41
|
-
"libphonenumber-js": "^1.12.
|
|
41
|
+
"libphonenumber-js": "^1.12.9",
|
|
42
42
|
"lodash": "^4.17.21",
|
|
43
43
|
"mongoose": "^8.14.0",
|
|
44
44
|
"mongoose-paginate-v2": "^1.8.5",
|
|
@@ -49,6 +49,7 @@
|
|
|
49
49
|
"xlsx": "^0.18.5"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
+
"@types/amqplib": "^0.10.7",
|
|
52
53
|
"@types/express": "^4.17.21",
|
|
53
54
|
"@types/jest": "^29.5.12",
|
|
54
55
|
"@types/lodash": "^4.14.184",
|