@diia-inhouse/utils 3.5.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/LICENCE.md +287 -0
- package/README.md +93 -0
- package/dist/applicationUtils.js +376 -0
- package/dist/applicationUtils.js.map +1 -0
- package/dist/asserts.js +20 -0
- package/dist/asserts.js.map +1 -0
- package/dist/guards.js +50 -0
- package/dist/guards.js.map +1 -0
- package/dist/index.js +43 -0
- package/dist/index.js.map +1 -0
- package/dist/integration.js +10 -0
- package/dist/integration.js.map +1 -0
- package/dist/interfaces/asserts.js +3 -0
- package/dist/interfaces/asserts.js.map +1 -0
- package/dist/interfaces/publicService.js +12 -0
- package/dist/interfaces/publicService.js.map +1 -0
- package/dist/network.js +72 -0
- package/dist/network.js.map +1 -0
- package/dist/payment.js +22 -0
- package/dist/payment.js.map +1 -0
- package/dist/pdfUtils.js +10 -0
- package/dist/pdfUtils.js.map +1 -0
- package/dist/phoneticChecker/index.js +22 -0
- package/dist/phoneticChecker/index.js.map +1 -0
- package/dist/phoneticChecker/metaphone.js +42 -0
- package/dist/phoneticChecker/metaphone.js.map +1 -0
- package/dist/publicService.js +80 -0
- package/dist/publicService.js.map +1 -0
- package/dist/session.js +24 -0
- package/dist/session.js.map +1 -0
- package/dist/typeUtils.js +15 -0
- package/dist/typeUtils.js.map +1 -0
- package/dist/types/applicationUtils.d.ts +88 -0
- package/dist/types/asserts.d.ts +2 -0
- package/dist/types/guards.d.ts +15 -0
- package/dist/types/index.d.ts +27 -0
- package/dist/types/integration.d.ts +3 -0
- package/dist/types/interfaces/asserts.d.ts +5 -0
- package/dist/types/interfaces/publicService.d.ts +7 -0
- package/dist/types/network.d.ts +13 -0
- package/dist/types/payment.d.ts +5 -0
- package/dist/types/pdfUtils.d.ts +3 -0
- package/dist/types/phoneticChecker/index.d.ts +6 -0
- package/dist/types/phoneticChecker/metaphone.d.ts +6 -0
- package/dist/types/publicService.d.ts +9 -0
- package/dist/types/session.d.ts +3 -0
- package/dist/types/typeUtils.d.ts +5 -0
- package/package.json +95 -0
|
@@ -0,0 +1,376 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ApplicationUtils = void 0;
|
|
4
|
+
const compare_versions_1 = require("compare-versions");
|
|
5
|
+
const lodash_1 = require("lodash");
|
|
6
|
+
const luxon_1 = require("luxon");
|
|
7
|
+
const errors_1 = require("@diia-inhouse/errors");
|
|
8
|
+
const types_1 = require("@diia-inhouse/types");
|
|
9
|
+
class ApplicationUtils {
|
|
10
|
+
static documentTypeToCamelCaseExceptions = {
|
|
11
|
+
['student-id-card']: 'studentCard',
|
|
12
|
+
['internal-passport']: 'idCard',
|
|
13
|
+
};
|
|
14
|
+
static camelCaseToDocumentTypeExceptions = {
|
|
15
|
+
['studentCard']: 'student-id-card',
|
|
16
|
+
['idCard']: 'internal-passport',
|
|
17
|
+
};
|
|
18
|
+
static defaultItnDate = '31.12.1899';
|
|
19
|
+
static defaultFormat = 'dd.MM.yyyy';
|
|
20
|
+
static nameDelimiters = [' ', '-'];
|
|
21
|
+
static cyrillicToLatin = new Map([
|
|
22
|
+
['і', 'i'],
|
|
23
|
+
['е', 'e'],
|
|
24
|
+
['у', 'y'],
|
|
25
|
+
['и', 'u'],
|
|
26
|
+
['о', 'o'],
|
|
27
|
+
['р', 'p'],
|
|
28
|
+
['а', 'a'],
|
|
29
|
+
['к', 'k'],
|
|
30
|
+
['х', 'x'],
|
|
31
|
+
['с', 'c'],
|
|
32
|
+
['І', 'I'],
|
|
33
|
+
['Е', 'E'],
|
|
34
|
+
['Т', 'T'],
|
|
35
|
+
['О', 'O'],
|
|
36
|
+
['Р', 'P'],
|
|
37
|
+
['А', 'A'],
|
|
38
|
+
['Н', 'H'],
|
|
39
|
+
['К', 'K'],
|
|
40
|
+
['Х', 'X'],
|
|
41
|
+
['С', 'C'],
|
|
42
|
+
['В', 'B'],
|
|
43
|
+
['М', 'M'],
|
|
44
|
+
['У', 'Y'],
|
|
45
|
+
]);
|
|
46
|
+
static documentTypeToCamelCase(documentType) {
|
|
47
|
+
return ApplicationUtils.documentTypeToCamelCaseExceptions[documentType] || (0, lodash_1.camelCase)(documentType);
|
|
48
|
+
}
|
|
49
|
+
static camelCaseToDocumentType(camelCaseDocumentType) {
|
|
50
|
+
return ApplicationUtils.camelCaseToDocumentTypeExceptions[camelCaseDocumentType] || (0, lodash_1.kebabCase)(camelCaseDocumentType);
|
|
51
|
+
}
|
|
52
|
+
static isItnChecksumValid(itn) {
|
|
53
|
+
if (itn.length !== 10) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
const ITN_POLY = [-1, 5, 7, 9, 4, 6, 10, 5, 7];
|
|
57
|
+
const digits = [...itn].map(Number);
|
|
58
|
+
const checksum = ITN_POLY.reduce((a, x, i) => a + x * digits[i], 0);
|
|
59
|
+
const controlDigit = (checksum - 11 * Math.floor(checksum / 11)) % 10;
|
|
60
|
+
const last = digits.at(-1);
|
|
61
|
+
return last === controlDigit;
|
|
62
|
+
}
|
|
63
|
+
static getBirthDayFromItn(itn) {
|
|
64
|
+
if (itn.length !== 10) {
|
|
65
|
+
return '';
|
|
66
|
+
}
|
|
67
|
+
const days = Number.parseInt(itn.slice(0, 5), 10);
|
|
68
|
+
return luxon_1.DateTime.fromFormat(this.defaultItnDate, this.defaultFormat).plus({ days }).toFormat(this.defaultFormat);
|
|
69
|
+
}
|
|
70
|
+
static getGenderFromItn(itn) {
|
|
71
|
+
return Number(itn.at(-2)) % 2 === 0 ? types_1.Gender.female : types_1.Gender.male;
|
|
72
|
+
}
|
|
73
|
+
static isItnFormatValid(itn) {
|
|
74
|
+
if (/^0{1,20}$/.test(itn) || itn === 'null' || !/^\d{10}$/.test(itn)) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
static capitalizeName(name) {
|
|
80
|
+
const foundDelimiters = this.nameDelimiters.filter((delimiter) => {
|
|
81
|
+
const regex = new RegExp(delimiter);
|
|
82
|
+
return regex.test(name);
|
|
83
|
+
});
|
|
84
|
+
let resultName = name?.toLowerCase();
|
|
85
|
+
if (foundDelimiters.length > 0) {
|
|
86
|
+
for (const foundDelimiter of foundDelimiters) {
|
|
87
|
+
resultName = resultName
|
|
88
|
+
.split(foundDelimiter)
|
|
89
|
+
.map((partName) => ApplicationUtils.capitalizeFirstLetter(partName))
|
|
90
|
+
.join(foundDelimiter);
|
|
91
|
+
}
|
|
92
|
+
return resultName;
|
|
93
|
+
}
|
|
94
|
+
return ApplicationUtils.capitalizeFirstLetter(resultName);
|
|
95
|
+
}
|
|
96
|
+
static capitalizeFirstLetter(str) {
|
|
97
|
+
if (typeof str !== 'string') {
|
|
98
|
+
return '';
|
|
99
|
+
}
|
|
100
|
+
return `${str.charAt(0).toUpperCase()}${str.slice(1)}`;
|
|
101
|
+
}
|
|
102
|
+
static lowerFirstLetter(str) {
|
|
103
|
+
if (typeof str !== 'string') {
|
|
104
|
+
return '';
|
|
105
|
+
}
|
|
106
|
+
return `${str.charAt(0).toLowerCase()}${str.slice(1)}`;
|
|
107
|
+
}
|
|
108
|
+
static mapCyrillic(value) {
|
|
109
|
+
return value
|
|
110
|
+
.split('')
|
|
111
|
+
.map((char) => this.cyrillicToLatin.get(char) || char)
|
|
112
|
+
.join('');
|
|
113
|
+
}
|
|
114
|
+
static mapLatin(value) {
|
|
115
|
+
const latinToCyrillic = new Map(Array.from(this.cyrillicToLatin).map(([cyr, lat]) => [lat, cyr]));
|
|
116
|
+
return value
|
|
117
|
+
.split('')
|
|
118
|
+
.map((char) => latinToCyrillic.get(char) || char)
|
|
119
|
+
.join('');
|
|
120
|
+
}
|
|
121
|
+
static isIbanNumberValid(iban) {
|
|
122
|
+
const CODE_LENGTHS = {
|
|
123
|
+
UA: 29,
|
|
124
|
+
};
|
|
125
|
+
const code = iban.match(/^([A-Z]{2})(\d{2})([\dA-Z]+)$/);
|
|
126
|
+
if (!code || iban.length !== CODE_LENGTHS[code[1]]) {
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
const digits = (code[3] + code[1] + code[2]).replaceAll(/[A-Z]/g, (letter) => {
|
|
130
|
+
const letterCode = letter.codePointAt(0);
|
|
131
|
+
return letterCode ? (letterCode - 55).toString() : Number.NaN.toString();
|
|
132
|
+
});
|
|
133
|
+
return this.mod97(digits) === 1;
|
|
134
|
+
}
|
|
135
|
+
static getStreetName(street, streetType) {
|
|
136
|
+
if (!street) {
|
|
137
|
+
return '';
|
|
138
|
+
}
|
|
139
|
+
return streetType ? `${streetType} ${street}`.trim() : street;
|
|
140
|
+
}
|
|
141
|
+
static toHashedFilesWithSignatures(hashedFiles, signedItems) {
|
|
142
|
+
if (!hashedFiles?.length) {
|
|
143
|
+
throw new errors_1.BadRequestError('Hashed files array is empty');
|
|
144
|
+
}
|
|
145
|
+
if (hashedFiles.length !== signedItems.length) {
|
|
146
|
+
throw new Error('Number of hashed files and signed elements are not matched');
|
|
147
|
+
}
|
|
148
|
+
const fileNames = new Set(hashedFiles.map(({ fileName }) => fileName));
|
|
149
|
+
const signatureByFilename = new Map();
|
|
150
|
+
const signatures = [];
|
|
151
|
+
for (const { name, signature } of signedItems) {
|
|
152
|
+
if (!fileNames.has(name)) {
|
|
153
|
+
throw new Error(`Provided name doesn't match with a hashed file: ${name}`);
|
|
154
|
+
}
|
|
155
|
+
signatureByFilename.set(name, signature);
|
|
156
|
+
signatures.push(signature);
|
|
157
|
+
}
|
|
158
|
+
const hashedFilesWithSignatures = hashedFiles.map(({ fileName, fileHash }) => ({
|
|
159
|
+
name: fileName,
|
|
160
|
+
hash: fileHash,
|
|
161
|
+
signature: signatureByFilename.get(fileName),
|
|
162
|
+
}));
|
|
163
|
+
return [hashedFilesWithSignatures, signatures];
|
|
164
|
+
}
|
|
165
|
+
static handleError(err, cb) {
|
|
166
|
+
if (err instanceof errors_1.ApiError) {
|
|
167
|
+
return cb(err);
|
|
168
|
+
}
|
|
169
|
+
if (err instanceof Error) {
|
|
170
|
+
return cb(this.toApiError(err));
|
|
171
|
+
}
|
|
172
|
+
const message = `Unexpected error caused: ${err}`;
|
|
173
|
+
const wrappedError = new Error(message);
|
|
174
|
+
return cb(this.toApiError(wrappedError));
|
|
175
|
+
}
|
|
176
|
+
static makeSession(data) {
|
|
177
|
+
const { sessionType } = data;
|
|
178
|
+
switch (sessionType) {
|
|
179
|
+
case types_1.SessionType.User: {
|
|
180
|
+
return { sessionType, user: data };
|
|
181
|
+
}
|
|
182
|
+
case types_1.SessionType.EResident: {
|
|
183
|
+
return { sessionType, user: data };
|
|
184
|
+
}
|
|
185
|
+
case types_1.SessionType.EResidentApplicant: {
|
|
186
|
+
return { sessionType, user: data };
|
|
187
|
+
}
|
|
188
|
+
case types_1.SessionType.CabinetUser: {
|
|
189
|
+
return { sessionType, user: data };
|
|
190
|
+
}
|
|
191
|
+
case types_1.SessionType.Acquirer: {
|
|
192
|
+
return { sessionType, acquirer: data };
|
|
193
|
+
}
|
|
194
|
+
case types_1.SessionType.PortalUser: {
|
|
195
|
+
return { sessionType, user: data };
|
|
196
|
+
}
|
|
197
|
+
case types_1.SessionType.Partner: {
|
|
198
|
+
return { sessionType, partner: data };
|
|
199
|
+
}
|
|
200
|
+
case types_1.SessionType.Temporary: {
|
|
201
|
+
return { sessionType, temporary: data };
|
|
202
|
+
}
|
|
203
|
+
case types_1.SessionType.ServiceEntrance: {
|
|
204
|
+
return { sessionType, entrance: data };
|
|
205
|
+
}
|
|
206
|
+
case types_1.SessionType.ServiceUser: {
|
|
207
|
+
return { sessionType, serviceUser: data };
|
|
208
|
+
}
|
|
209
|
+
default: {
|
|
210
|
+
const unhandledType = sessionType;
|
|
211
|
+
throw new TypeError(`Unhandled sessionType: ${unhandledType}`);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
static getActionNameWithVersion(actionName, actionVersion = types_1.ActionVersion.V0) {
|
|
216
|
+
return `${actionName}.${actionVersion}`;
|
|
217
|
+
}
|
|
218
|
+
static getGreeting(fName, skipEmogi) {
|
|
219
|
+
const text = `Вітаємо, ${fName}`;
|
|
220
|
+
return skipEmogi ? `${text}!` : `${text} 👋`;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Get age from birth date. Powered by {@link https://moment.github.io/luxon/#/ luxon}
|
|
224
|
+
*
|
|
225
|
+
* @param birthDay Input birth date.
|
|
226
|
+
* @param format `birthDay` format (https://moment.github.io/luxon/#/formatting?id=table-of-tokens). Default - 'dd.MM.yyyy'
|
|
227
|
+
* @param unitOfTime Unit of time to return. Default - 'years'
|
|
228
|
+
*
|
|
229
|
+
* @returns Age in years if other `unitOfTime` is not specified
|
|
230
|
+
* @throws If input date is invalid
|
|
231
|
+
*/
|
|
232
|
+
static getAge(birthDay, format = 'dd.MM.yyyy', unitOfTime = 'years') {
|
|
233
|
+
const birthdayDate = luxon_1.DateTime.fromFormat(birthDay, format);
|
|
234
|
+
if (!birthdayDate.isValid) {
|
|
235
|
+
throw new Error('Invalid user birthday');
|
|
236
|
+
}
|
|
237
|
+
/* Added an array of "units" with milliseconds to ensure that all larger unit values are integers.
|
|
238
|
+
For instance:
|
|
239
|
+
birthDay = '24.03.2009'
|
|
240
|
+
currentDate = '24.03.2023'
|
|
241
|
+
DateTime.now().diff(birthdayDate, 'years')['years'] => 14.001228454102156
|
|
242
|
+
// fix
|
|
243
|
+
DateTime.now().diff(birthdayDate, ['years', 'milliseconds'])['years'] => 14
|
|
244
|
+
DateTime.now().diff(birthdayDate, ['months', 'milliseconds'])['months'] => 168
|
|
245
|
+
*/
|
|
246
|
+
return luxon_1.DateTime.now().diff(birthdayDate, [unitOfTime, 'milliseconds'])[unitOfTime];
|
|
247
|
+
}
|
|
248
|
+
static getFullName(lastName, firstName, middleName, separator = ' ') {
|
|
249
|
+
return [lastName, firstName, middleName].filter(Boolean).join(separator).trim();
|
|
250
|
+
}
|
|
251
|
+
static getShortName(lastName, firstName, middleName) {
|
|
252
|
+
const shortMiddleName = middleName ? ` ${middleName.charAt(0).toUpperCase()}.` : '';
|
|
253
|
+
return `${lastName} ${firstName.charAt(0).toUpperCase()}.${shortMiddleName}`.trim();
|
|
254
|
+
}
|
|
255
|
+
static getUserFullName(user) {
|
|
256
|
+
const { lName, fName, mName } = user;
|
|
257
|
+
return `${lName} ${fName} ${mName || ''}`.trim();
|
|
258
|
+
}
|
|
259
|
+
static getPassportFullName({ lastNameUA, firstNameUA, middleNameUA, }) {
|
|
260
|
+
return `${lastNameUA} ${firstNameUA} ${middleNameUA || ''}`.trim();
|
|
261
|
+
}
|
|
262
|
+
static getChildFullName({ child: { lastName, firstName, middleName }, }) {
|
|
263
|
+
return `${lastName} ${firstName} ${middleName || ''}`.trim();
|
|
264
|
+
}
|
|
265
|
+
static encodeObjectToBase64(object) {
|
|
266
|
+
return Buffer.from(JSON.stringify(object)).toString('base64');
|
|
267
|
+
}
|
|
268
|
+
static decodeObjectFromBase64(encodedObject) {
|
|
269
|
+
return JSON.parse(Buffer.from(encodedObject, 'base64').toString());
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Format string or Date to the specified string format. Powered by {@link https://moment.github.io/luxon/#/ luxon}
|
|
273
|
+
*
|
|
274
|
+
* @param date Input date
|
|
275
|
+
* @param format Output date format (https://moment.github.io/luxon/#/formatting?id=table-of-tokens)
|
|
276
|
+
* @param fromFormat Input date format (https://moment.github.io/luxon/#/formatting?id=table-of-tokens). Used for string `date`. Default - 'dd.MM.yyyy'
|
|
277
|
+
*
|
|
278
|
+
* @throws If input date is invalid
|
|
279
|
+
*/
|
|
280
|
+
static formatDate(date, format, fromFormat = 'dd.MM.yyyy') {
|
|
281
|
+
const convertedDate = date instanceof Date ? luxon_1.DateTime.fromJSDate(date) : luxon_1.DateTime.fromFormat(date, fromFormat);
|
|
282
|
+
const { isValid, invalidReason, invalidExplanation } = convertedDate;
|
|
283
|
+
if (!isValid) {
|
|
284
|
+
throw new Error(`Invalid date -> ${invalidReason}: ${invalidExplanation}`);
|
|
285
|
+
}
|
|
286
|
+
return convertedDate.setLocale('uk-UA').toFormat(format);
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Check if the input date is valid. Powered by {@link https://moment.github.io/luxon/#/ luxon}
|
|
290
|
+
*
|
|
291
|
+
* @param date Input date.
|
|
292
|
+
* @param format `date` format (https://moment.github.io/luxon/#/formatting?id=table-of-tokens). Default - 'yyyy-MM-dd'
|
|
293
|
+
*
|
|
294
|
+
* @throws If input date is invalid
|
|
295
|
+
*/
|
|
296
|
+
static validateDate(date, format = 'yyyy-MM-dd') {
|
|
297
|
+
const parsedDate = luxon_1.DateTime.fromFormat(date, format);
|
|
298
|
+
if (!parsedDate.isValid) {
|
|
299
|
+
throw new errors_1.BadRequestError(`Invalid date: ${parsedDate.invalidReason} ${parsedDate.invalidExplanation}`);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
static formatPhoneNumber(rawPhone, separator = ' ', prefix = '+') {
|
|
303
|
+
return prefix + rawPhone.replace(/^\+?(\d{2})(\d{3})(\d{3})(\d{2})(\d+)$/, ['$1', '$2', '$3', '$4', '$5'].join(separator));
|
|
304
|
+
}
|
|
305
|
+
static formatAmountWithThousandsSeparator(amount, units, minimumFractionDigits) {
|
|
306
|
+
// https://github.com/nodejs/help/issues/4068 (char "\u00A0" not equals with space in test asserts; reproduced in node 18.13, 18.15, 18.17)
|
|
307
|
+
const result = amount.toLocaleString('uk-UA', { useGrouping: true, minimumFractionDigits }).replaceAll('\u00A0', ' ');
|
|
308
|
+
return units ? `${result} ${units}` : result;
|
|
309
|
+
}
|
|
310
|
+
static convertToPennies(amount) {
|
|
311
|
+
return amount * 100;
|
|
312
|
+
}
|
|
313
|
+
static convertFromPennies(amount) {
|
|
314
|
+
return this.toDecimalPlaces(amount / 100, 2);
|
|
315
|
+
}
|
|
316
|
+
static multiplySum(amount, multiplier, decimalPlaces) {
|
|
317
|
+
const multipliedSum = (amount * 100 * multiplier) / 100;
|
|
318
|
+
return this.toDecimalPlaces(multipliedSum, decimalPlaces);
|
|
319
|
+
}
|
|
320
|
+
static toDecimalPlaces(amount, decimalPlaces = 2) {
|
|
321
|
+
return Number.parseFloat(amount.toFixed(decimalPlaces));
|
|
322
|
+
}
|
|
323
|
+
static filterByAppVersions(items, headers) {
|
|
324
|
+
const { appVersion, platformType } = headers || {};
|
|
325
|
+
if (!appVersion || !platformType) {
|
|
326
|
+
return items;
|
|
327
|
+
}
|
|
328
|
+
return items.filter(({ appVersions }) => {
|
|
329
|
+
if (!appVersions) {
|
|
330
|
+
return true;
|
|
331
|
+
}
|
|
332
|
+
return ApplicationUtils.isAppVersionMatch(appVersion, platformType, appVersions);
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
static isAppVersionMatch(appVersion, platformType, appVersions) {
|
|
336
|
+
if (appVersions.versions?.[platformType]?.some((version) => (0, compare_versions_1.compare)(appVersion, version, '='))) {
|
|
337
|
+
return true;
|
|
338
|
+
}
|
|
339
|
+
const minVersion = appVersions.minVersion?.[platformType];
|
|
340
|
+
const maxVersion = appVersions.maxVersion?.[platformType];
|
|
341
|
+
if (minVersion && maxVersion) {
|
|
342
|
+
if ((0, compare_versions_1.compare)(appVersion, minVersion, '>=') && (0, compare_versions_1.compare)(appVersion, maxVersion, '<=')) {
|
|
343
|
+
return true;
|
|
344
|
+
}
|
|
345
|
+
return false;
|
|
346
|
+
}
|
|
347
|
+
if (minVersion && (0, compare_versions_1.compare)(appVersion, minVersion, '>=')) {
|
|
348
|
+
return true;
|
|
349
|
+
}
|
|
350
|
+
if (maxVersion && (0, compare_versions_1.compare)(appVersion, maxVersion, '<=')) {
|
|
351
|
+
return true;
|
|
352
|
+
}
|
|
353
|
+
return false;
|
|
354
|
+
}
|
|
355
|
+
static getFileName(name, id, requestDateTime, postFix) {
|
|
356
|
+
return [name.trim(), id.trim(), requestDateTime?.trim(), postFix?.trim()].filter(Boolean).join('-');
|
|
357
|
+
}
|
|
358
|
+
static sanitizeString(input) {
|
|
359
|
+
return input.replaceAll(/[^\da-zа-яєіїґ]/gi, '');
|
|
360
|
+
}
|
|
361
|
+
static mod97(string) {
|
|
362
|
+
let checksum = string.slice(0, 2);
|
|
363
|
+
let fragment;
|
|
364
|
+
for (let offset = 2; offset < string.length; offset += 7) {
|
|
365
|
+
fragment = String(checksum) + string.slice(offset, offset + 7);
|
|
366
|
+
checksum = Number.parseInt(fragment, 10) % 97;
|
|
367
|
+
}
|
|
368
|
+
return checksum;
|
|
369
|
+
}
|
|
370
|
+
static toApiError(err) {
|
|
371
|
+
const { type, code, message, data } = err;
|
|
372
|
+
return new errors_1.ApiError(message, code || types_1.HttpStatusCode.INTERNAL_SERVER_ERROR, data, data?.processCode, type);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
exports.ApplicationUtils = ApplicationUtils;
|
|
376
|
+
//# sourceMappingURL=applicationUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applicationUtils.js","sourceRoot":"","sources":["../src/applicationUtils.ts"],"names":[],"mappings":"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"}
|
package/dist/asserts.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Asserts = void 0;
|
|
4
|
+
const errors_1 = require("@diia-inhouse/errors");
|
|
5
|
+
exports.Asserts = {
|
|
6
|
+
isRefreshTokenExists(tokenData) {
|
|
7
|
+
if (!tokenData.refreshToken) {
|
|
8
|
+
throw new errors_1.UnauthorizedError('RefreshToken does not exists');
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
assertObjectHasOnlyOneOf(object, ...keys) {
|
|
12
|
+
if (keys.filter((key) => key in object).length > 1) {
|
|
13
|
+
throw new errors_1.BadRequestError(`Expected to have only one of [${keys.join(', ')}]`);
|
|
14
|
+
}
|
|
15
|
+
if (!keys.some((key) => key in object)) {
|
|
16
|
+
throw new errors_1.BadRequestError(`Expected to have one of [${keys.join(', ')}]`);
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=asserts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asserts.js","sourceRoot":"","sources":["../src/asserts.ts"],"names":[],"mappings":";;;AAAA,iDAAyE;AAK5D,QAAA,OAAO,GAAqB;IACrC,oBAAoB,CAAC,SAAoB;QACrC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE;YACzB,MAAM,IAAI,0BAAiB,CAAC,8BAA8B,CAAC,CAAA;SAC9D;IACL,CAAC;IAED,wBAAwB,CAAmB,MAAS,EAAE,GAAG,IAAiB;QACtE,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAChD,MAAM,IAAI,wBAAe,CAAC,iCAAiC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SACjF;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE;YACpC,MAAM,IAAI,wBAAe,CAAC,4BAA4B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SAC5E;IACL,CAAC;CACJ,CAAA"}
|
package/dist/guards.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Guards = void 0;
|
|
4
|
+
const lodash_1 = require("lodash");
|
|
5
|
+
const errors_1 = require("@diia-inhouse/errors");
|
|
6
|
+
exports.Guards = {
|
|
7
|
+
isError(value) {
|
|
8
|
+
return value instanceof Error;
|
|
9
|
+
},
|
|
10
|
+
apiError(err) {
|
|
11
|
+
return err instanceof errors_1.ApiError;
|
|
12
|
+
},
|
|
13
|
+
isUserSession(session) {
|
|
14
|
+
if (!session) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
return session.user !== undefined;
|
|
18
|
+
},
|
|
19
|
+
isAcquirerSession(session) {
|
|
20
|
+
if (!session) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
return session.acquirer !== undefined;
|
|
24
|
+
},
|
|
25
|
+
isServiceEntranceSession(session) {
|
|
26
|
+
if (!session) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
return session.entrance !== undefined;
|
|
30
|
+
},
|
|
31
|
+
hasOnInitHook(instance) {
|
|
32
|
+
return (0, lodash_1.isFunction)(instance?.onInit);
|
|
33
|
+
},
|
|
34
|
+
hasOnHealthCheckHook(instance) {
|
|
35
|
+
return (0, lodash_1.isFunction)(instance?.onHealthCheck);
|
|
36
|
+
},
|
|
37
|
+
hasOnDestroyHook(instance) {
|
|
38
|
+
return (0, lodash_1.isFunction)(instance?.onDestroy);
|
|
39
|
+
},
|
|
40
|
+
hasOnRegistrationsFinishedHook(instance) {
|
|
41
|
+
return (0, lodash_1.isFunction)(instance?.onRegistrationsFinished);
|
|
42
|
+
},
|
|
43
|
+
hasOnBeforeApplicationShutdownHook(instance) {
|
|
44
|
+
return (0, lodash_1.isFunction)(instance?.onBeforeApplicationShutdown);
|
|
45
|
+
},
|
|
46
|
+
isSettledError(value) {
|
|
47
|
+
return value.status === 'rejected';
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=guards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guards.js","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAEnC,iDAA+C;AAalC,QAAA,MAAM,GAAG;IAClB,OAAO,CAAC,KAAc;QAClB,OAAO,KAAK,YAAY,KAAK,CAAA;IACjC,CAAC;IAED,QAAQ,CAAC,GAAU;QACf,OAAO,GAAG,YAAY,iBAAQ,CAAA;IAClC,CAAC;IAED,aAAa,CAAC,OAAkC;QAC5C,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,KAAK,CAAA;SACf;QAED,OAAqB,OAAQ,CAAC,IAAI,KAAK,SAAS,CAAA;IACpD,CAAC;IAED,iBAAiB,CAAC,OAAkC;QAChD,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,KAAK,CAAA;SACf;QAED,OAAyB,OAAQ,CAAC,QAAQ,KAAK,SAAS,CAAA;IAC5D,CAAC;IAED,wBAAwB,CAAC,OAAkC;QACvD,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,KAAK,CAAA;SACf;QAED,OAAgC,OAAQ,CAAC,QAAQ,KAAK,SAAS,CAAA;IACnE,CAAC;IAED,aAAa,CAAC,QAAiB;QAC3B,OAAO,IAAA,mBAAU,EAAU,QAAS,EAAE,MAAM,CAAC,CAAA;IACjD,CAAC;IAED,oBAAoB,CAAC,QAAiB;QAClC,OAAO,IAAA,mBAAU,EAAiB,QAAS,EAAE,aAAa,CAAC,CAAA;IAC/D,CAAC;IAED,gBAAgB,CAAC,QAAiB;QAC9B,OAAO,IAAA,mBAAU,EAAa,QAAS,EAAE,SAAS,CAAC,CAAA;IACvD,CAAC;IAED,8BAA8B,CAAC,QAAiB;QAC5C,OAAO,IAAA,mBAAU,EAA2B,QAAS,EAAE,uBAAuB,CAAC,CAAA;IACnF,CAAC;IAED,kCAAkC,CAAC,QAAiB;QAChD,OAAO,IAAA,mBAAU,EAA+B,QAAS,EAAE,2BAA2B,CAAC,CAAA;IAC3F,CAAC;IAED,cAAc,CAAC,KAAoC;QAC/C,OAAO,KAAK,CAAC,MAAM,KAAK,UAAU,CAAA;IACtC,CAAC;CACJ,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
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
|
+
exports.IntegrationUtils = exports.NetworkUtils = exports.phoneticChecker = exports.PublicServiceUtils = exports.PaymentUtils = exports.TypeUtils = exports.pdfUtils = exports.utils = exports.guards = exports.asserts = void 0;
|
|
18
|
+
const applicationUtils_1 = require("./applicationUtils");
|
|
19
|
+
const asserts_1 = require("./asserts");
|
|
20
|
+
const guards_1 = require("./guards");
|
|
21
|
+
const pdfUtils_1 = require("./pdfUtils");
|
|
22
|
+
const asserts = asserts_1.Asserts;
|
|
23
|
+
exports.asserts = asserts;
|
|
24
|
+
const guards = guards_1.Guards;
|
|
25
|
+
exports.guards = guards;
|
|
26
|
+
const utils = applicationUtils_1.ApplicationUtils;
|
|
27
|
+
exports.utils = utils;
|
|
28
|
+
const pdfUtils = pdfUtils_1.PdfUtils;
|
|
29
|
+
exports.pdfUtils = pdfUtils;
|
|
30
|
+
var typeUtils_1 = require("./typeUtils");
|
|
31
|
+
Object.defineProperty(exports, "TypeUtils", { enumerable: true, get: function () { return typeUtils_1.TypeUtils; } });
|
|
32
|
+
var payment_1 = require("./payment");
|
|
33
|
+
Object.defineProperty(exports, "PaymentUtils", { enumerable: true, get: function () { return payment_1.PaymentUtils; } });
|
|
34
|
+
var publicService_1 = require("./publicService");
|
|
35
|
+
Object.defineProperty(exports, "PublicServiceUtils", { enumerable: true, get: function () { return publicService_1.PublicServiceUtils; } });
|
|
36
|
+
var index_1 = require("./phoneticChecker/index");
|
|
37
|
+
Object.defineProperty(exports, "phoneticChecker", { enumerable: true, get: function () { return index_1.phoneticChecker; } });
|
|
38
|
+
var network_1 = require("./network");
|
|
39
|
+
Object.defineProperty(exports, "NetworkUtils", { enumerable: true, get: function () { return network_1.NetworkUtils; } });
|
|
40
|
+
var integration_1 = require("./integration");
|
|
41
|
+
Object.defineProperty(exports, "IntegrationUtils", { enumerable: true, get: function () { return integration_1.IntegrationUtils; } });
|
|
42
|
+
__exportStar(require("./session"), exports);
|
|
43
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yDAAqD;AACrD,uCAAmC;AACnC,qCAAiC;AACjC,yCAAqC;AAErC,MAAM,OAAO,GAAG,iBAAO,CAAA;AAKd,0BAAO;AAJhB,MAAM,MAAM,GAAG,eAAM,CAAA;AAIH,wBAAM;AAHxB,MAAM,KAAK,GAAG,mCAAgB,CAAA;AAGJ,sBAAK;AAF/B,MAAM,QAAQ,GAAG,mBAAQ,CAAA;AAEQ,4BAAQ;AAEzC,yCAAuC;AAA9B,sGAAA,SAAS,OAAA;AAElB,qCAAwC;AAA/B,uGAAA,YAAY,OAAA;AAErB,iDAAoD;AAA3C,mHAAA,kBAAkB,OAAA;AAE3B,iDAAyD;AAAhD,wGAAA,eAAe,OAAA;AAExB,qCAAwC;AAA/B,uGAAA,YAAY,OAAA;AAErB,6CAAgD;AAAvC,+GAAA,gBAAgB,OAAA;AAEzB,4CAAyB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IntegrationUtils = void 0;
|
|
4
|
+
exports.IntegrationUtils = {
|
|
5
|
+
getRetryDelay(retry, timeLeft, initDelay, maxDelay, multiplier) {
|
|
6
|
+
const delay = Math.min(initDelay * Math.pow(multiplier, retry), maxDelay);
|
|
7
|
+
return Math.min(delay, timeLeft);
|
|
8
|
+
},
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=integration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integration.js","sourceRoot":"","sources":["../src/integration.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG;IAC5B,aAAa,CAAC,KAAa,EAAE,QAAgB,EAAE,SAAiB,EAAE,QAAgB,EAAE,UAAkB;QAClG,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAA;QAEzE,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IACpC,CAAC;CACJ,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asserts.js","sourceRoot":"","sources":["../../src/interfaces/asserts.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AuthProviderName = void 0;
|
|
4
|
+
var AuthProviderName;
|
|
5
|
+
(function (AuthProviderName) {
|
|
6
|
+
AuthProviderName["Monobank"] = "monobank";
|
|
7
|
+
AuthProviderName["PrivatBank"] = "privatbank";
|
|
8
|
+
AuthProviderName["PhotoId"] = "photoid";
|
|
9
|
+
AuthProviderName["BankId"] = "bankid";
|
|
10
|
+
AuthProviderName["Nfc"] = "nfc";
|
|
11
|
+
})(AuthProviderName || (exports.AuthProviderName = AuthProviderName = {}));
|
|
12
|
+
//# sourceMappingURL=publicService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publicService.js","sourceRoot":"","sources":["../../src/interfaces/publicService.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAMX;AAND,WAAY,gBAAgB;IACxB,yCAAqB,CAAA;IACrB,6CAAyB,CAAA;IACzB,uCAAmB,CAAA;IACnB,qCAAiB,CAAA;IACjB,+BAAW,CAAA;AACf,CAAC,EANW,gBAAgB,gCAAhB,gBAAgB,QAM3B"}
|
package/dist/network.js
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NetworkUtils = void 0;
|
|
4
|
+
const types_1 = require("@diia-inhouse/types");
|
|
5
|
+
class NetworkUtils {
|
|
6
|
+
static grpcStatusCodes = Object.values(types_1.GrpcStatusCode);
|
|
7
|
+
static httpStatusCodeToGrpcCode = {
|
|
8
|
+
[types_1.HttpStatusCode.PROCESSING]: types_1.GrpcStatusCode.OK,
|
|
9
|
+
[types_1.HttpStatusCode.OK]: types_1.GrpcStatusCode.OK,
|
|
10
|
+
[types_1.HttpStatusCode.CREATED]: types_1.GrpcStatusCode.OK,
|
|
11
|
+
[types_1.HttpStatusCode.ACCEPTED]: types_1.GrpcStatusCode.OK,
|
|
12
|
+
[types_1.HttpStatusCode.NO_CONTENT]: types_1.GrpcStatusCode.OK,
|
|
13
|
+
[types_1.HttpStatusCode.PARTIAL_CONTENT]: types_1.GrpcStatusCode.OK,
|
|
14
|
+
[types_1.HttpStatusCode.BAD_REQUEST]: types_1.GrpcStatusCode.INVALID_ARGUMENT,
|
|
15
|
+
[types_1.HttpStatusCode.UNPROCESSABLE_ENTITY]: types_1.GrpcStatusCode.INVALID_ARGUMENT,
|
|
16
|
+
[types_1.HttpStatusCode.UNAUTHORIZED]: types_1.GrpcStatusCode.UNAUTHENTICATED,
|
|
17
|
+
[types_1.HttpStatusCode.FORBIDDEN]: types_1.GrpcStatusCode.PERMISSION_DENIED,
|
|
18
|
+
[types_1.HttpStatusCode.NOT_FOUND]: types_1.GrpcStatusCode.NOT_FOUND,
|
|
19
|
+
[types_1.HttpStatusCode.REQUEST_TIMEOUT]: types_1.GrpcStatusCode.DEADLINE_EXCEEDED,
|
|
20
|
+
[types_1.HttpStatusCode.TOO_MANY_REQUESTS]: types_1.GrpcStatusCode.RESOURCE_EXHAUSTED,
|
|
21
|
+
[types_1.HttpStatusCode.INTERNAL_SERVER_ERROR]: types_1.GrpcStatusCode.INTERNAL,
|
|
22
|
+
[types_1.HttpStatusCode.NOT_IMPLEMENTED]: types_1.GrpcStatusCode.UNIMPLEMENTED,
|
|
23
|
+
[types_1.HttpStatusCode.BAD_GATEWAY]: types_1.GrpcStatusCode.UNAVAILABLE,
|
|
24
|
+
[types_1.HttpStatusCode.SERVICE_UNAVAILABLE]: types_1.GrpcStatusCode.UNAVAILABLE,
|
|
25
|
+
[types_1.HttpStatusCode.GATEWAY_TIMEOUT]: types_1.GrpcStatusCode.DEADLINE_EXCEEDED,
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* @see https://gist.github.com/hamakn/708b9802ca845eb59f3975dbb3ae2a01
|
|
29
|
+
*/
|
|
30
|
+
static grpcCodeToHttpStatusCode = {
|
|
31
|
+
[types_1.GrpcStatusCode.OK]: types_1.HttpStatusCode.OK,
|
|
32
|
+
[types_1.GrpcStatusCode.CANCELLED]: 499,
|
|
33
|
+
[types_1.GrpcStatusCode.UNKNOWN]: types_1.HttpStatusCode.INTERNAL_SERVER_ERROR,
|
|
34
|
+
[types_1.GrpcStatusCode.INVALID_ARGUMENT]: types_1.HttpStatusCode.BAD_REQUEST,
|
|
35
|
+
[types_1.GrpcStatusCode.DEADLINE_EXCEEDED]: types_1.HttpStatusCode.GATEWAY_TIMEOUT,
|
|
36
|
+
[types_1.GrpcStatusCode.NOT_FOUND]: types_1.HttpStatusCode.NOT_FOUND,
|
|
37
|
+
[types_1.GrpcStatusCode.ALREADY_EXISTS]: types_1.HttpStatusCode.CONFLICT,
|
|
38
|
+
[types_1.GrpcStatusCode.PERMISSION_DENIED]: types_1.HttpStatusCode.FORBIDDEN,
|
|
39
|
+
[types_1.GrpcStatusCode.RESOURCE_EXHAUSTED]: types_1.HttpStatusCode.TOO_MANY_REQUESTS,
|
|
40
|
+
[types_1.GrpcStatusCode.FAILED_PRECONDITION]: types_1.HttpStatusCode.BAD_REQUEST,
|
|
41
|
+
[types_1.GrpcStatusCode.ABORTED]: types_1.HttpStatusCode.CONFLICT,
|
|
42
|
+
[types_1.GrpcStatusCode.OUT_OF_RANGE]: types_1.HttpStatusCode.BAD_REQUEST,
|
|
43
|
+
[types_1.GrpcStatusCode.UNIMPLEMENTED]: types_1.HttpStatusCode.NOT_IMPLEMENTED,
|
|
44
|
+
[types_1.GrpcStatusCode.INTERNAL]: types_1.HttpStatusCode.INTERNAL_SERVER_ERROR,
|
|
45
|
+
[types_1.GrpcStatusCode.UNAVAILABLE]: types_1.HttpStatusCode.SERVICE_UNAVAILABLE,
|
|
46
|
+
[types_1.GrpcStatusCode.DATA_LOSS]: types_1.HttpStatusCode.INTERNAL_SERVER_ERROR,
|
|
47
|
+
[types_1.GrpcStatusCode.UNAUTHENTICATED]: types_1.HttpStatusCode.UNAUTHORIZED,
|
|
48
|
+
};
|
|
49
|
+
static isHttpCode(code) {
|
|
50
|
+
if (typeof code !== 'number') {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
if (code >= 100 && code < 600) {
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
static isGrpcCode(code) {
|
|
59
|
+
if (typeof code !== 'number') {
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
return this.grpcStatusCodes.includes(code);
|
|
63
|
+
}
|
|
64
|
+
static getHttpStatusCodeByGrpcCode(code) {
|
|
65
|
+
return this.grpcCodeToHttpStatusCode[code] ?? types_1.HttpStatusCode.INTERNAL_SERVER_ERROR;
|
|
66
|
+
}
|
|
67
|
+
static getGrpcCodeByHttpStatusCode(code) {
|
|
68
|
+
return this.httpStatusCodeToGrpcCode[code] ?? types_1.GrpcStatusCode.UNKNOWN;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.NetworkUtils = NetworkUtils;
|
|
72
|
+
//# sourceMappingURL=network.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../src/network.ts"],"names":[],"mappings":";;;AAAA,+CAAoE;AAEpE,MAAa,YAAY;IACb,MAAM,CAAU,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAc,CAAC,CAAA;IAE/D,MAAM,CAAU,wBAAwB,GAAmC;QAC/E,CAAC,sBAAc,CAAC,UAAU,CAAC,EAAE,sBAAc,CAAC,EAAE;QAC9C,CAAC,sBAAc,CAAC,EAAE,CAAC,EAAE,sBAAc,CAAC,EAAE;QACtC,CAAC,sBAAc,CAAC,OAAO,CAAC,EAAE,sBAAc,CAAC,EAAE;QAC3C,CAAC,sBAAc,CAAC,QAAQ,CAAC,EAAE,sBAAc,CAAC,EAAE;QAC5C,CAAC,sBAAc,CAAC,UAAU,CAAC,EAAE,sBAAc,CAAC,EAAE;QAC9C,CAAC,sBAAc,CAAC,eAAe,CAAC,EAAE,sBAAc,CAAC,EAAE;QACnD,CAAC,sBAAc,CAAC,WAAW,CAAC,EAAE,sBAAc,CAAC,gBAAgB;QAC7D,CAAC,sBAAc,CAAC,oBAAoB,CAAC,EAAE,sBAAc,CAAC,gBAAgB;QACtE,CAAC,sBAAc,CAAC,YAAY,CAAC,EAAE,sBAAc,CAAC,eAAe;QAC7D,CAAC,sBAAc,CAAC,SAAS,CAAC,EAAE,sBAAc,CAAC,iBAAiB;QAC5D,CAAC,sBAAc,CAAC,SAAS,CAAC,EAAE,sBAAc,CAAC,SAAS;QACpD,CAAC,sBAAc,CAAC,eAAe,CAAC,EAAE,sBAAc,CAAC,iBAAiB;QAClE,CAAC,sBAAc,CAAC,iBAAiB,CAAC,EAAE,sBAAc,CAAC,kBAAkB;QACrE,CAAC,sBAAc,CAAC,qBAAqB,CAAC,EAAE,sBAAc,CAAC,QAAQ;QAC/D,CAAC,sBAAc,CAAC,eAAe,CAAC,EAAE,sBAAc,CAAC,aAAa;QAC9D,CAAC,sBAAc,CAAC,WAAW,CAAC,EAAE,sBAAc,CAAC,WAAW;QACxD,CAAC,sBAAc,CAAC,mBAAmB,CAAC,EAAE,sBAAc,CAAC,WAAW;QAChE,CAAC,sBAAc,CAAC,eAAe,CAAC,EAAE,sBAAc,CAAC,iBAAiB;KACrE,CAAA;IAED;;OAEG;IACK,MAAM,CAAU,wBAAwB,GAAmC;QAC/E,CAAC,sBAAc,CAAC,EAAE,CAAC,EAAE,sBAAc,CAAC,EAAE;QACtC,CAAC,sBAAc,CAAC,SAAS,CAAC,EAAE,GAAG;QAC/B,CAAC,sBAAc,CAAC,OAAO,CAAC,EAAE,sBAAc,CAAC,qBAAqB;QAC9D,CAAC,sBAAc,CAAC,gBAAgB,CAAC,EAAE,sBAAc,CAAC,WAAW;QAC7D,CAAC,sBAAc,CAAC,iBAAiB,CAAC,EAAE,sBAAc,CAAC,eAAe;QAClE,CAAC,sBAAc,CAAC,SAAS,CAAC,EAAE,sBAAc,CAAC,SAAS;QACpD,CAAC,sBAAc,CAAC,cAAc,CAAC,EAAE,sBAAc,CAAC,QAAQ;QACxD,CAAC,sBAAc,CAAC,iBAAiB,CAAC,EAAE,sBAAc,CAAC,SAAS;QAC5D,CAAC,sBAAc,CAAC,kBAAkB,CAAC,EAAE,sBAAc,CAAC,iBAAiB;QACrE,CAAC,sBAAc,CAAC,mBAAmB,CAAC,EAAE,sBAAc,CAAC,WAAW;QAChE,CAAC,sBAAc,CAAC,OAAO,CAAC,EAAE,sBAAc,CAAC,QAAQ;QACjD,CAAC,sBAAc,CAAC,YAAY,CAAC,EAAE,sBAAc,CAAC,WAAW;QACzD,CAAC,sBAAc,CAAC,aAAa,CAAC,EAAE,sBAAc,CAAC,eAAe;QAC9D,CAAC,sBAAc,CAAC,QAAQ,CAAC,EAAE,sBAAc,CAAC,qBAAqB;QAC/D,CAAC,sBAAc,CAAC,WAAW,CAAC,EAAE,sBAAc,CAAC,mBAAmB;QAChE,CAAC,sBAAc,CAAC,SAAS,CAAC,EAAE,sBAAc,CAAC,qBAAqB;QAChE,CAAC,sBAAc,CAAC,eAAe,CAAC,EAAE,sBAAc,CAAC,YAAY;KAChE,CAAA;IAED,MAAM,CAAC,UAAU,CAAC,IAAwB;QACtC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC1B,OAAO,KAAK,CAAA;SACf;QAED,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE;YAC3B,OAAO,IAAI,CAAA;SACd;QAED,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,IAAwB;QACtC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC1B,OAAO,KAAK,CAAA;SACf;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED,MAAM,CAAC,2BAA2B,CAAC,IAAoB;QACnD,OAAO,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,sBAAc,CAAC,qBAAqB,CAAA;IACtF,CAAC;IAED,MAAM,CAAC,2BAA2B,CAAC,IAAY;QAC3C,OAAO,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,sBAAc,CAAC,OAAO,CAAA;IACxE,CAAC;;AAzEL,oCA0EC"}
|