melperjs 6.0.0 → 6.2.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/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","Array","isArray","_createForOfIteratorHelper","allowArrayLike","it","F","_e","normalCompletion","didErr","err","step","_e2","minLen","_arrayLikeToArray","toString","from","test","len","arr2","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","undefined","xss","camelCase","capitalize","isEmpty","setCookieParser","CONSTANTS","LOWER_CASE","UPPER_CASE","HEXADECIMAL","NUMBERS","Exception","message","response","status","pascalCase","time","Math","floor","Date","now","sleepMs","_x","_sleepMs","_callee","milliseconds","_callee$","_context","setTimeout","sleep","_x2","_sleep","_callee2","seconds","_callee2$","_context2","promiseTimeout","promise","timer","clearTimeout","reason","splitLines","text","split","filter","item","checkEmpty","map","trim","findKeyNode","node","pair","index","result","str","upperCaseFirst","toUpperCase","lowerCaseFirst","toLowerCase","titleString","word","join","limitString","limit","substring","safeString","whiteList","stripIgnoreTag","stripIgnoreTagBody","randomString","useNumbers","useUppercase","characters","randomIndex","random","randomHex","randomUuid","useDashes","uuid","replace","replaceAll","randomWeighted","dict","randomFunc","totalWeight","elements","weights","reduce","sum","weight","randomNum","weightSum","cookieDict","res","decodeValues","cookies","parse","_iterator","_step","cookie","cookieHeader","entries","_ref","_ref2","concat","isIntlHttpCode","httpCode","isIntlError","_e$message","_e$message$toLowerCas","_e$message$toLowerCas2","_e$message2","_e$message2$toLowerCa","_e$message2$toLowerCa2","_e$message3","_e$message3$toLowerCa","_e$message3$toLowerCa2","_e$message4","_e$message4$toLowerCa","_e$message4$toLowerCa2","_e$response","includes"],"sources":["../src/index.js"],"sourcesContent":["import xss from \"xss\";\r\nimport camelCase from \"lodash/camelCase.js\";\r\nimport capitalize from \"lodash/capitalize.js\";\r\nimport isEmpty from \"lodash/isEmpty.js\";\r\nimport setCookieParser from \"set-cookie-parser\";\r\n\r\n\r\nexport const CONSTANTS = {\r\n LOWER_CASE: \"abcdefghijklmnopqrstuvwxyz\",\r\n UPPER_CASE: \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\r\n HEXADECIMAL: \"0123456789abcdef\",\r\n NUMBERS: \"0123456789\",\r\n};\r\n\r\nexport function Exception(message, response = {}, name = null) {\r\n response.status = response.status || 400;\r\n return {\r\n name: pascalCase(name),\r\n message,\r\n response,\r\n }\r\n}\r\n\r\nexport function time() {\r\n return Math.floor(Date.now() / 1000);\r\n}\r\n\r\nexport async function sleepMs(milliseconds) {\r\n return new Promise(resolve => setTimeout(resolve, milliseconds));\r\n}\r\n\r\nexport async function sleep(seconds) {\r\n return await sleepMs(seconds * 1000);\r\n}\r\n\r\nexport function promiseTimeout(milliseconds, promise) {\r\n return new Promise((resolve, reject) => {\r\n const timer = setTimeout(() => {\r\n reject(new Error('Promise timed out after ' + milliseconds + 'ms'));\r\n }, milliseconds);\r\n\r\n promise\r\n .then(value => {\r\n clearTimeout(timer);\r\n resolve(value);\r\n })\r\n .catch(reason => {\r\n clearTimeout(timer);\r\n reject(reason);\r\n });\r\n });\r\n}\r\n\r\nexport function splitLines(text) {\r\n return text.split(/\\r?\\n/).filter(item => !checkEmpty(item)).map(item => item.trim());\r\n}\r\n\r\nexport function findKeyNode(key, node, pair = null) {\r\n if (node && node.hasOwnProperty(key) && (pair ? node[key] === pair : true)) {\r\n return node;\r\n } else if (typeof node === 'object') {\r\n for (let index in node) {\r\n const result = findKeyNode(key, node[index], pair);\r\n if (result) {\r\n return result;\r\n }\r\n }\r\n }\r\n return null;\r\n}\r\n\r\nexport function checkEmpty(value) {\r\n if (typeof value === \"number\") {\r\n return value === 0;\r\n } else {\r\n return isEmpty(value);\r\n }\r\n}\r\n\r\nexport function pascalCase(str) {\r\n return upperCaseFirst(camelCase(str));\r\n}\r\n\r\nexport function upperCaseFirst(str) {\r\n str = str || \"\";\r\n return str[0].toUpperCase() + str.slice(1);\r\n}\r\n\r\nexport function lowerCaseFirst(str) {\r\n str = str || \"\";\r\n return str[0].toLowerCase() + str.slice(1);\r\n}\r\n\r\nexport function titleString(str) {\r\n str = str || \"\";\r\n return str\r\n .split(' ')\r\n .map(word => capitalize(word))\r\n .join(' ');\r\n}\r\n\r\nexport function limitString(str, limit = 35) {\r\n str = str || \"\";\r\n if (str.length <= limit) {\r\n return str;\r\n } else {\r\n return str.substring(0, limit - 3) + \"...\";\r\n }\r\n}\r\n\r\nexport function safeString(str) {\r\n str = str || \"\";\r\n return xss(str, {\r\n whiteList: {},\r\n stripIgnoreTag: true,\r\n stripIgnoreTagBody: [\"script\"]\r\n });\r\n}\r\n\r\nexport function randomString(length, useNumbers = true, useUppercase = false) {\r\n\r\n let characters = CONSTANTS.LOWER_CASE;\r\n if (useUppercase) characters += CONSTANTS.UPPER_CASE;\r\n if (useNumbers) characters += CONSTANTS.NUMBERS;\r\n\r\n let randomString = '';\r\n for (let i = 0; i < length; i++) {\r\n const randomIndex = Math.floor(Math.random() * characters.length);\r\n randomString += characters[randomIndex];\r\n }\r\n\r\n return randomString;\r\n}\r\n\r\nexport function randomHex(length) {\r\n let result = '';\r\n for (let i = 0; i < length; i++) {\r\n const randomIndex = Math.floor(Math.random() * CONSTANTS.HEXADECIMAL.length);\r\n result += CONSTANTS.HEXADECIMAL[randomIndex];\r\n }\r\n\r\n return result;\r\n}\r\n\r\nexport function randomUuid(useDashes = true) {\r\n let d = Date.now();\r\n const uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n const r = (d + Math.random() * 16) % 16 | 0;\r\n d = Math.floor(d / 16);\r\n return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);\r\n });\r\n return useDashes ? uuid : uuid.replaceAll(\"-\", \"\");\r\n}\r\n\r\nexport function randomWeighted(dict, randomFunc = (totalWeight) => Math.random() * totalWeight) {\r\n let elements = Object.keys(dict);\r\n let weights = Object.values(dict);\r\n\r\n let totalWeight = weights.reduce((sum, weight) => sum + weight, 0);\r\n\r\n let randomNum = randomFunc(totalWeight);\r\n let weightSum = 0;\r\n\r\n for (let i = 0; i < elements.length; i++) {\r\n weightSum += weights[i];\r\n if (randomNum <= weightSum) {\r\n return elements[i];\r\n }\r\n }\r\n}\r\n\r\nexport function cookieDict(res, decodeValues = false) {\r\n let dict = {};\r\n const cookies = setCookieParser.parse(res, {decodeValues: decodeValues});\r\n for (let cookie of cookies) {\r\n dict[cookie.name] = cookie.value;\r\n }\r\n return dict;\r\n}\r\n\r\nexport function cookieHeader(cookieDict) {\r\n return Object.entries(cookieDict)\r\n .map(([key, value]) => `${key}=${value}`)\r\n .join(';')\r\n}\r\n\r\nexport function isIntlHttpCode(httpCode) {\r\n return (\r\n httpCode === undefined ||\r\n httpCode === null ||\r\n httpCode === 0 ||\r\n httpCode === 402 ||\r\n httpCode === 407 ||\r\n httpCode === 466 ||\r\n 500 <= httpCode\r\n );\r\n}\r\n\r\nexport function isIntlError(e) {\r\n return (\r\n e?.message?.toLowerCase?.()?.includes?.(\"timeout\") ||\r\n e?.message?.toLowerCase?.()?.includes?.(\"aborted\") ||\r\n e?.message?.toLowerCase?.()?.includes?.(\"tls connection\") ||\r\n e?.message?.toLowerCase?.()?.includes?.(\"socket hang\") ||\r\n isIntlHttpCode(e?.response?.status)\r\n )\r\n}"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","Array","isArray","_createForOfIteratorHelper","allowArrayLike","it","F","_e","normalCompletion","didErr","err","step","_e2","minLen","_arrayLikeToArray","toString","from","test","len","arr2","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","undefined","xss","setCookieParser","camelCase","capitalize","isEmpty","CONSTANTS","LOWER_CASE","UPPER_CASE","HEXADECIMAL","NUMBERS","Exception","message","response","status","pascalCase","time","Math","floor","Date","now","sleepMs","_x","_sleepMs","_callee","milliseconds","_callee$","_context","setTimeout","sleep","_x2","_sleep","_callee2","seconds","_callee2$","_context2","promiseTimeout","promise","timer","clearTimeout","reason","splitLines","text","split","map","item","trim","filter","findKeyNode","node","pair","index","result","checkEmpty","str","upperCaseFirst","toUpperCase","lowerCaseFirst","toLowerCase","titleCase","word","join","limitString","limit","substring","safeString","whiteList","stripIgnoreTag","stripIgnoreTagBody","randomString","useNumbers","useUppercase","characters","randomIndex","random","randomHex","randomInteger","min","max","callback","minNotSpecified","isSync","randomNumber","randomUuid","useDashes","uuid","replace","replaceAll","randomWeighted","dict","randomFunc","totalWeight","elements","weights","reduce","sum","weight","randomNum","weightSum","cookieDict","res","decodeValues","cookies","parse","_iterator","_step","cookie","cookieHeader","entries","_ref","_ref2","concat","isIntlHttpCode","httpCode","isIntlError","_e$message","_e$message$toLowerCas","_e$message$toLowerCas2","_e$message2","_e$message2$toLowerCa","_e$message2$toLowerCa2","_e$message3","_e$message3$toLowerCa","_e$message3$toLowerCa2","_e$message4","_e$message4$toLowerCa","_e$message4$toLowerCa2","_e$response","includes"],"sources":["../src/index.js"],"sourcesContent":["import xss from \"xss\";\r\nimport setCookieParser from \"set-cookie-parser\";\r\nimport camelCase from \"lodash/camelCase.js\";\r\nimport capitalize from \"lodash/capitalize.js\";\r\nimport isEmpty from \"lodash/isEmpty.js\";\r\n\r\n\r\nexport const CONSTANTS = {\r\n LOWER_CASE: \"abcdefghijklmnopqrstuvwxyz\",\r\n UPPER_CASE: \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\r\n HEXADECIMAL: \"0123456789abcdef\",\r\n NUMBERS: \"0123456789\",\r\n};\r\n\r\nexport function Exception(message, response = {}, name = null) {\r\n response.status = response.status || 400;\r\n return {\r\n name: pascalCase(name),\r\n message,\r\n response\r\n };\r\n}\r\n\r\nexport function time() {\r\n return Math.floor(Date.now() / 1000);\r\n}\r\n\r\nexport async function sleepMs(milliseconds) {\r\n return new Promise(resolve => setTimeout(resolve, milliseconds));\r\n}\r\n\r\nexport async function sleep(seconds) {\r\n return await sleepMs(seconds * 1000);\r\n}\r\n\r\nexport function promiseTimeout(milliseconds, promise) {\r\n return new Promise((resolve, reject) => {\r\n const timer = setTimeout(() => {\r\n reject(new Error('Promise timed out after ' + milliseconds + 'ms'));\r\n }, milliseconds);\r\n\r\n promise\r\n .then(value => {\r\n clearTimeout(timer);\r\n resolve(value);\r\n })\r\n .catch(reason => {\r\n clearTimeout(timer);\r\n reject(reason);\r\n });\r\n });\r\n}\r\n\r\nexport function splitLines(text) {\r\n return text.split(/\\r?\\n/).map(item => item.trim()).filter(item => !isEmpty(item));\r\n}\r\n\r\nexport function findKeyNode(key, node, pair = null) {\r\n if (node && node.hasOwnProperty(key) && (pair ? node[key] === pair : true)) {\r\n return node;\r\n } else if (typeof node === 'object') {\r\n for (let index in node) {\r\n const result = findKeyNode(key, node[index], pair);\r\n if (result) {\r\n return result;\r\n }\r\n }\r\n }\r\n return null;\r\n}\r\n\r\nexport function checkEmpty(value) {\r\n if (typeof value === \"number\") {\r\n return value === 0;\r\n } else {\r\n return isEmpty(value);\r\n }\r\n}\r\n\r\nexport function pascalCase(str) {\r\n return upperCaseFirst(camelCase(str));\r\n}\r\n\r\nexport function upperCaseFirst(str) {\r\n str = str || \"\";\r\n if(str.length < 1)\r\n return \"\";\r\n return str[0].toUpperCase() + str.slice(1);\r\n}\r\n\r\nexport function lowerCaseFirst(str) {\r\n str = str || \"\";\r\n if(str.length < 1)\r\n return \"\";\r\n return str[0].toLowerCase() + str.slice(1);\r\n}\r\n\r\nexport function titleCase(str) {\r\n str = str || \"\";\r\n return str\r\n .split(' ')\r\n .map(word => capitalize(word))\r\n .join(' ');\r\n}\r\n\r\nexport function limitString(str, limit = 35) {\r\n str = str || \"\";\r\n if (str.length <= limit) {\r\n return str;\r\n } else {\r\n return str.substring(0, limit - 3) + \"...\";\r\n }\r\n}\r\n\r\nexport function safeString(str) {\r\n str = str || \"\";\r\n return xss(str, {\r\n whiteList: {},\r\n stripIgnoreTag: true,\r\n stripIgnoreTagBody: [\"script\"]\r\n });\r\n}\r\n\r\nexport function randomString(length, useNumbers = true, useUppercase = false) {\r\n\r\n let characters = CONSTANTS.LOWER_CASE;\r\n if (useUppercase) characters += CONSTANTS.UPPER_CASE;\r\n if (useNumbers) characters += CONSTANTS.NUMBERS;\r\n\r\n let randomString = '';\r\n for (let i = 0; i < length; i++) {\r\n const randomIndex = Math.floor(Math.random() * characters.length);\r\n randomString += characters[randomIndex];\r\n }\r\n\r\n return randomString;\r\n}\r\n\r\nexport function randomHex(length) {\r\n let result = '';\r\n for (let i = 0; i < length; i++) {\r\n const randomIndex = Math.floor(Math.random() * CONSTANTS.HEXADECIMAL.length);\r\n result += CONSTANTS.HEXADECIMAL[randomIndex];\r\n }\r\n\r\n return result;\r\n}\r\n\r\nexport function randomInteger(min, max, callback) {\r\n const minNotSpecified = typeof max === 'undefined' || typeof max === 'function';\r\n\r\n if (minNotSpecified) {\r\n callback = max;\r\n max = min;\r\n min = 0;\r\n }\r\n\r\n const isSync = typeof callback === 'undefined';\r\n\r\n if (typeof min !== 'number' || typeof max !== 'number') {\r\n throw new Error('min and max must be numerical values');\r\n }\r\n if (max <= min) {\r\n throw new Error('max must be greater than min');\r\n }\r\n\r\n const randomNumber = Math.floor(Math.random() * (max - min)) + min;\r\n\r\n if (isSync) {\r\n return randomNumber;\r\n } else {\r\n if (typeof callback !== 'function') {\r\n throw new Error('callback must be a function');\r\n }\r\n callback(randomNumber);\r\n }\r\n}\r\n\r\nexport function randomUuid(useDashes = true) {\r\n let d = Date.now();\r\n const uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n const r = (d + Math.random() * 16) % 16 | 0;\r\n d = Math.floor(d / 16);\r\n return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);\r\n });\r\n return useDashes ? uuid : uuid.replaceAll(\"-\", \"\");\r\n}\r\n\r\nexport function randomWeighted(dict, randomFunc = (totalWeight) => Math.random() * totalWeight) {\r\n let elements = Object.keys(dict);\r\n let weights = Object.values(dict);\r\n\r\n let totalWeight = weights.reduce((sum, weight) => sum + weight, 0);\r\n\r\n let randomNum = randomFunc(totalWeight);\r\n let weightSum = 0;\r\n\r\n for (let i = 0; i < elements.length; i++) {\r\n weightSum += weights[i];\r\n if (randomNum <= weightSum) {\r\n return elements[i];\r\n }\r\n }\r\n}\r\n\r\nexport function cookieDict(res, decodeValues = false) {\r\n let dict = {};\r\n const cookies = setCookieParser.parse(res, {decodeValues: decodeValues});\r\n for (let cookie of cookies) {\r\n dict[cookie.name] = cookie.value;\r\n }\r\n return dict;\r\n}\r\n\r\nexport function cookieHeader(cookieDict) {\r\n return Object.entries(cookieDict)\r\n .map(([key, value]) => `${key}=${value}`)\r\n .join(';')\r\n}\r\n\r\nexport function isIntlHttpCode(httpCode) {\r\n return (\r\n httpCode === undefined ||\r\n httpCode === null ||\r\n httpCode === 0 ||\r\n httpCode === 100 ||\r\n httpCode === 402 ||\r\n httpCode === 407 ||\r\n (460 <= httpCode && httpCode < 470) ||\r\n 500 <= httpCode\r\n );\r\n}\r\n\r\nexport function isIntlError(e) {\r\n return (\r\n e?.message?.toLowerCase?.()?.includes?.(\"timeout\") ||\r\n e?.message?.toLowerCase?.()?.includes?.(\"aborted\") ||\r\n e?.message?.toLowerCase?.()?.includes?.(\"tls connection\") ||\r\n e?.message?.toLowerCase?.()?.includes?.(\"socket hang\") ||\r\n isIntlHttpCode(e?.response?.status)\r\n )\r\n}"],"mappings":"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"}
package/mjs/index.js CHANGED
@@ -1,157 +1,183 @@
1
- import xss from "xss";
2
- import camelCase from "lodash/camelCase.js";
3
- import capitalize from "lodash/capitalize.js";
4
- import isEmpty from "lodash/isEmpty.js";
5
- import setCookieParser from "set-cookie-parser";
6
- export const CONSTANTS = {
7
- LOWER_CASE: "abcdefghijklmnopqrstuvwxyz",
8
- UPPER_CASE: "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
9
- HEXADECIMAL: "0123456789abcdef",
10
- NUMBERS: "0123456789"
11
- };
12
- export function Exception(message, response = {}, name = null) {
13
- response.status = response.status || 400;
14
- return {
15
- name: pascalCase(name),
16
- message,
17
- response
18
- };
19
- }
20
- export function time() {
21
- return Math.floor(Date.now() / 1000);
22
- }
23
- export async function sleepMs(milliseconds) {
24
- return new Promise(resolve => setTimeout(resolve, milliseconds));
25
- }
26
- export async function sleep(seconds) {
27
- return await sleepMs(seconds * 1000);
28
- }
29
- export function promiseTimeout(milliseconds, promise) {
30
- return new Promise((resolve, reject) => {
31
- const timer = setTimeout(() => {
32
- reject(new Error('Promise timed out after ' + milliseconds + 'ms'));
33
- }, milliseconds);
34
- promise.then(value => {
35
- clearTimeout(timer);
36
- resolve(value);
37
- }).catch(reason => {
38
- clearTimeout(timer);
39
- reject(reason);
40
- });
41
- });
42
- }
43
- export function splitLines(text) {
44
- return text.split(/\r?\n/).filter(item => !checkEmpty(item)).map(item => item.trim());
45
- }
46
- export function findKeyNode(key, node, pair = null) {
47
- if (node && node.hasOwnProperty(key) && (pair ? node[key] === pair : true)) {
48
- return node;
49
- } else if (typeof node === 'object') {
50
- for (let index in node) {
51
- const result = findKeyNode(key, node[index], pair);
52
- if (result) {
53
- return result;
54
- }
55
- }
56
- }
57
- return null;
58
- }
59
- export function checkEmpty(value) {
60
- if (typeof value === "number") {
61
- return value === 0;
62
- } else {
63
- return isEmpty(value);
64
- }
65
- }
66
- export function pascalCase(str) {
67
- return upperCaseFirst(camelCase(str));
68
- }
69
- export function upperCaseFirst(str) {
70
- str = str || "";
71
- return str[0].toUpperCase() + str.slice(1);
72
- }
73
- export function lowerCaseFirst(str) {
74
- str = str || "";
75
- return str[0].toLowerCase() + str.slice(1);
76
- }
77
- export function titleString(str) {
78
- str = str || "";
79
- return str.split(' ').map(word => capitalize(word)).join(' ');
80
- }
81
- export function limitString(str, limit = 35) {
82
- str = str || "";
83
- if (str.length <= limit) {
84
- return str;
85
- } else {
86
- return str.substring(0, limit - 3) + "...";
87
- }
88
- }
89
- export function safeString(str) {
90
- str = str || "";
91
- return xss(str, {
92
- whiteList: {},
93
- stripIgnoreTag: true,
94
- stripIgnoreTagBody: ["script"]
95
- });
96
- }
97
- export function randomString(length, useNumbers = true, useUppercase = false) {
98
- let characters = CONSTANTS.LOWER_CASE;
99
- if (useUppercase) characters += CONSTANTS.UPPER_CASE;
100
- if (useNumbers) characters += CONSTANTS.NUMBERS;
101
- let randomString = '';
102
- for (let i = 0; i < length; i++) {
103
- const randomIndex = Math.floor(Math.random() * characters.length);
104
- randomString += characters[randomIndex];
105
- }
106
- return randomString;
107
- }
108
- export function randomHex(length) {
109
- let result = '';
110
- for (let i = 0; i < length; i++) {
111
- const randomIndex = Math.floor(Math.random() * CONSTANTS.HEXADECIMAL.length);
112
- result += CONSTANTS.HEXADECIMAL[randomIndex];
113
- }
114
- return result;
115
- }
116
- export function randomUuid(useDashes = true) {
117
- let d = Date.now();
118
- const uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
119
- const r = (d + Math.random() * 16) % 16 | 0;
120
- d = Math.floor(d / 16);
121
- return (c === 'x' ? r : r & 0x3 | 0x8).toString(16);
122
- });
123
- return useDashes ? uuid : uuid.replaceAll("-", "");
124
- }
125
- export function randomWeighted(dict, randomFunc = totalWeight => Math.random() * totalWeight) {
126
- let elements = Object.keys(dict);
127
- let weights = Object.values(dict);
128
- let totalWeight = weights.reduce((sum, weight) => sum + weight, 0);
129
- let randomNum = randomFunc(totalWeight);
130
- let weightSum = 0;
131
- for (let i = 0; i < elements.length; i++) {
132
- weightSum += weights[i];
133
- if (randomNum <= weightSum) {
134
- return elements[i];
135
- }
136
- }
137
- }
138
- export function cookieDict(res, decodeValues = false) {
139
- let dict = {};
140
- const cookies = setCookieParser.parse(res, {
141
- decodeValues: decodeValues
142
- });
143
- for (let cookie of cookies) {
144
- dict[cookie.name] = cookie.value;
145
- }
146
- return dict;
147
- }
148
- export function cookieHeader(cookieDict) {
149
- return Object.entries(cookieDict).map(([key, value]) => `${key}=${value}`).join(';');
150
- }
151
- export function isIntlHttpCode(httpCode) {
152
- return httpCode === undefined || httpCode === null || httpCode === 0 || httpCode === 402 || httpCode === 407 || httpCode === 466 || 500 <= httpCode;
153
- }
154
- export function isIntlError(e) {
155
- return e?.message?.toLowerCase?.()?.includes?.("timeout") || e?.message?.toLowerCase?.()?.includes?.("aborted") || e?.message?.toLowerCase?.()?.includes?.("tls connection") || e?.message?.toLowerCase?.()?.includes?.("socket hang") || isIntlHttpCode(e?.response?.status);
156
- }
1
+ import xss from "xss";
2
+ import setCookieParser from "set-cookie-parser";
3
+ import camelCase from "lodash/camelCase.js";
4
+ import capitalize from "lodash/capitalize.js";
5
+ import isEmpty from "lodash/isEmpty.js";
6
+ export const CONSTANTS = {
7
+ LOWER_CASE: "abcdefghijklmnopqrstuvwxyz",
8
+ UPPER_CASE: "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
9
+ HEXADECIMAL: "0123456789abcdef",
10
+ NUMBERS: "0123456789"
11
+ };
12
+ export function Exception(message, response = {}, name = null) {
13
+ response.status = response.status || 400;
14
+ return {
15
+ name: pascalCase(name),
16
+ message,
17
+ response
18
+ };
19
+ }
20
+ export function time() {
21
+ return Math.floor(Date.now() / 1000);
22
+ }
23
+ export async function sleepMs(milliseconds) {
24
+ return new Promise(resolve => setTimeout(resolve, milliseconds));
25
+ }
26
+ export async function sleep(seconds) {
27
+ return await sleepMs(seconds * 1000);
28
+ }
29
+ export function promiseTimeout(milliseconds, promise) {
30
+ return new Promise((resolve, reject) => {
31
+ const timer = setTimeout(() => {
32
+ reject(new Error('Promise timed out after ' + milliseconds + 'ms'));
33
+ }, milliseconds);
34
+ promise.then(value => {
35
+ clearTimeout(timer);
36
+ resolve(value);
37
+ }).catch(reason => {
38
+ clearTimeout(timer);
39
+ reject(reason);
40
+ });
41
+ });
42
+ }
43
+ export function splitLines(text) {
44
+ return text.split(/\r?\n/).map(item => item.trim()).filter(item => !isEmpty(item));
45
+ }
46
+ export function findKeyNode(key, node, pair = null) {
47
+ if (node && node.hasOwnProperty(key) && (pair ? node[key] === pair : true)) {
48
+ return node;
49
+ } else if (typeof node === 'object') {
50
+ for (let index in node) {
51
+ const result = findKeyNode(key, node[index], pair);
52
+ if (result) {
53
+ return result;
54
+ }
55
+ }
56
+ }
57
+ return null;
58
+ }
59
+ export function checkEmpty(value) {
60
+ if (typeof value === "number") {
61
+ return value === 0;
62
+ } else {
63
+ return isEmpty(value);
64
+ }
65
+ }
66
+ export function pascalCase(str) {
67
+ return upperCaseFirst(camelCase(str));
68
+ }
69
+ export function upperCaseFirst(str) {
70
+ str = str || "";
71
+ if (str.length < 1) return "";
72
+ return str[0].toUpperCase() + str.slice(1);
73
+ }
74
+ export function lowerCaseFirst(str) {
75
+ str = str || "";
76
+ if (str.length < 1) return "";
77
+ return str[0].toLowerCase() + str.slice(1);
78
+ }
79
+ export function titleCase(str) {
80
+ str = str || "";
81
+ return str.split(' ').map(word => capitalize(word)).join(' ');
82
+ }
83
+ export function limitString(str, limit = 35) {
84
+ str = str || "";
85
+ if (str.length <= limit) {
86
+ return str;
87
+ } else {
88
+ return str.substring(0, limit - 3) + "...";
89
+ }
90
+ }
91
+ export function safeString(str) {
92
+ str = str || "";
93
+ return xss(str, {
94
+ whiteList: {},
95
+ stripIgnoreTag: true,
96
+ stripIgnoreTagBody: ["script"]
97
+ });
98
+ }
99
+ export function randomString(length, useNumbers = true, useUppercase = false) {
100
+ let characters = CONSTANTS.LOWER_CASE;
101
+ if (useUppercase) characters += CONSTANTS.UPPER_CASE;
102
+ if (useNumbers) characters += CONSTANTS.NUMBERS;
103
+ let randomString = '';
104
+ for (let i = 0; i < length; i++) {
105
+ const randomIndex = Math.floor(Math.random() * characters.length);
106
+ randomString += characters[randomIndex];
107
+ }
108
+ return randomString;
109
+ }
110
+ export function randomHex(length) {
111
+ let result = '';
112
+ for (let i = 0; i < length; i++) {
113
+ const randomIndex = Math.floor(Math.random() * CONSTANTS.HEXADECIMAL.length);
114
+ result += CONSTANTS.HEXADECIMAL[randomIndex];
115
+ }
116
+ return result;
117
+ }
118
+ export function randomInteger(min, max, callback) {
119
+ const minNotSpecified = typeof max === 'undefined' || typeof max === 'function';
120
+ if (minNotSpecified) {
121
+ callback = max;
122
+ max = min;
123
+ min = 0;
124
+ }
125
+ const isSync = typeof callback === 'undefined';
126
+ if (typeof min !== 'number' || typeof max !== 'number') {
127
+ throw new Error('min and max must be numerical values');
128
+ }
129
+ if (max <= min) {
130
+ throw new Error('max must be greater than min');
131
+ }
132
+ const randomNumber = Math.floor(Math.random() * (max - min)) + min;
133
+ if (isSync) {
134
+ return randomNumber;
135
+ } else {
136
+ if (typeof callback !== 'function') {
137
+ throw new Error('callback must be a function');
138
+ }
139
+ callback(randomNumber);
140
+ }
141
+ }
142
+ export function randomUuid(useDashes = true) {
143
+ let d = Date.now();
144
+ const uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
145
+ const r = (d + Math.random() * 16) % 16 | 0;
146
+ d = Math.floor(d / 16);
147
+ return (c === 'x' ? r : r & 0x3 | 0x8).toString(16);
148
+ });
149
+ return useDashes ? uuid : uuid.replaceAll("-", "");
150
+ }
151
+ export function randomWeighted(dict, randomFunc = totalWeight => Math.random() * totalWeight) {
152
+ let elements = Object.keys(dict);
153
+ let weights = Object.values(dict);
154
+ let totalWeight = weights.reduce((sum, weight) => sum + weight, 0);
155
+ let randomNum = randomFunc(totalWeight);
156
+ let weightSum = 0;
157
+ for (let i = 0; i < elements.length; i++) {
158
+ weightSum += weights[i];
159
+ if (randomNum <= weightSum) {
160
+ return elements[i];
161
+ }
162
+ }
163
+ }
164
+ export function cookieDict(res, decodeValues = false) {
165
+ let dict = {};
166
+ const cookies = setCookieParser.parse(res, {
167
+ decodeValues: decodeValues
168
+ });
169
+ for (let cookie of cookies) {
170
+ dict[cookie.name] = cookie.value;
171
+ }
172
+ return dict;
173
+ }
174
+ export function cookieHeader(cookieDict) {
175
+ return Object.entries(cookieDict).map(([key, value]) => `${key}=${value}`).join(';');
176
+ }
177
+ export function isIntlHttpCode(httpCode) {
178
+ return httpCode === undefined || httpCode === null || httpCode === 0 || httpCode === 100 || httpCode === 402 || httpCode === 407 || 460 <= httpCode && httpCode < 470 || 500 <= httpCode;
179
+ }
180
+ export function isIntlError(e) {
181
+ return e?.message?.toLowerCase?.()?.includes?.("timeout") || e?.message?.toLowerCase?.()?.includes?.("aborted") || e?.message?.toLowerCase?.()?.includes?.("tls connection") || e?.message?.toLowerCase?.()?.includes?.("socket hang") || isIntlHttpCode(e?.response?.status);
182
+ }
157
183
  //# sourceMappingURL=index.js.map
package/mjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["xss","camelCase","capitalize","isEmpty","setCookieParser","CONSTANTS","LOWER_CASE","UPPER_CASE","HEXADECIMAL","NUMBERS","Exception","message","response","name","status","pascalCase","time","Math","floor","Date","now","sleepMs","milliseconds","Promise","resolve","setTimeout","sleep","seconds","promiseTimeout","promise","reject","timer","Error","then","value","clearTimeout","catch","reason","splitLines","text","split","filter","item","checkEmpty","map","trim","findKeyNode","key","node","pair","hasOwnProperty","index","result","str","upperCaseFirst","toUpperCase","slice","lowerCaseFirst","toLowerCase","titleString","word","join","limitString","limit","length","substring","safeString","whiteList","stripIgnoreTag","stripIgnoreTagBody","randomString","useNumbers","useUppercase","characters","i","randomIndex","random","randomHex","randomUuid","useDashes","d","uuid","replace","c","r","toString","replaceAll","randomWeighted","dict","randomFunc","totalWeight","elements","Object","keys","weights","values","reduce","sum","weight","randomNum","weightSum","cookieDict","res","decodeValues","cookies","parse","cookie","cookieHeader","entries","isIntlHttpCode","httpCode","undefined","isIntlError","e","includes"],"sources":["../src/index.js"],"sourcesContent":["import xss from \"xss\";\r\nimport camelCase from \"lodash/camelCase.js\";\r\nimport capitalize from \"lodash/capitalize.js\";\r\nimport isEmpty from \"lodash/isEmpty.js\";\r\nimport setCookieParser from \"set-cookie-parser\";\r\n\r\n\r\nexport const CONSTANTS = {\r\n LOWER_CASE: \"abcdefghijklmnopqrstuvwxyz\",\r\n UPPER_CASE: \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\r\n HEXADECIMAL: \"0123456789abcdef\",\r\n NUMBERS: \"0123456789\",\r\n};\r\n\r\nexport function Exception(message, response = {}, name = null) {\r\n response.status = response.status || 400;\r\n return {\r\n name: pascalCase(name),\r\n message,\r\n response,\r\n }\r\n}\r\n\r\nexport function time() {\r\n return Math.floor(Date.now() / 1000);\r\n}\r\n\r\nexport async function sleepMs(milliseconds) {\r\n return new Promise(resolve => setTimeout(resolve, milliseconds));\r\n}\r\n\r\nexport async function sleep(seconds) {\r\n return await sleepMs(seconds * 1000);\r\n}\r\n\r\nexport function promiseTimeout(milliseconds, promise) {\r\n return new Promise((resolve, reject) => {\r\n const timer = setTimeout(() => {\r\n reject(new Error('Promise timed out after ' + milliseconds + 'ms'));\r\n }, milliseconds);\r\n\r\n promise\r\n .then(value => {\r\n clearTimeout(timer);\r\n resolve(value);\r\n })\r\n .catch(reason => {\r\n clearTimeout(timer);\r\n reject(reason);\r\n });\r\n });\r\n}\r\n\r\nexport function splitLines(text) {\r\n return text.split(/\\r?\\n/).filter(item => !checkEmpty(item)).map(item => item.trim());\r\n}\r\n\r\nexport function findKeyNode(key, node, pair = null) {\r\n if (node && node.hasOwnProperty(key) && (pair ? node[key] === pair : true)) {\r\n return node;\r\n } else if (typeof node === 'object') {\r\n for (let index in node) {\r\n const result = findKeyNode(key, node[index], pair);\r\n if (result) {\r\n return result;\r\n }\r\n }\r\n }\r\n return null;\r\n}\r\n\r\nexport function checkEmpty(value) {\r\n if (typeof value === \"number\") {\r\n return value === 0;\r\n } else {\r\n return isEmpty(value);\r\n }\r\n}\r\n\r\nexport function pascalCase(str) {\r\n return upperCaseFirst(camelCase(str));\r\n}\r\n\r\nexport function upperCaseFirst(str) {\r\n str = str || \"\";\r\n return str[0].toUpperCase() + str.slice(1);\r\n}\r\n\r\nexport function lowerCaseFirst(str) {\r\n str = str || \"\";\r\n return str[0].toLowerCase() + str.slice(1);\r\n}\r\n\r\nexport function titleString(str) {\r\n str = str || \"\";\r\n return str\r\n .split(' ')\r\n .map(word => capitalize(word))\r\n .join(' ');\r\n}\r\n\r\nexport function limitString(str, limit = 35) {\r\n str = str || \"\";\r\n if (str.length <= limit) {\r\n return str;\r\n } else {\r\n return str.substring(0, limit - 3) + \"...\";\r\n }\r\n}\r\n\r\nexport function safeString(str) {\r\n str = str || \"\";\r\n return xss(str, {\r\n whiteList: {},\r\n stripIgnoreTag: true,\r\n stripIgnoreTagBody: [\"script\"]\r\n });\r\n}\r\n\r\nexport function randomString(length, useNumbers = true, useUppercase = false) {\r\n\r\n let characters = CONSTANTS.LOWER_CASE;\r\n if (useUppercase) characters += CONSTANTS.UPPER_CASE;\r\n if (useNumbers) characters += CONSTANTS.NUMBERS;\r\n\r\n let randomString = '';\r\n for (let i = 0; i < length; i++) {\r\n const randomIndex = Math.floor(Math.random() * characters.length);\r\n randomString += characters[randomIndex];\r\n }\r\n\r\n return randomString;\r\n}\r\n\r\nexport function randomHex(length) {\r\n let result = '';\r\n for (let i = 0; i < length; i++) {\r\n const randomIndex = Math.floor(Math.random() * CONSTANTS.HEXADECIMAL.length);\r\n result += CONSTANTS.HEXADECIMAL[randomIndex];\r\n }\r\n\r\n return result;\r\n}\r\n\r\nexport function randomUuid(useDashes = true) {\r\n let d = Date.now();\r\n const uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n const r = (d + Math.random() * 16) % 16 | 0;\r\n d = Math.floor(d / 16);\r\n return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);\r\n });\r\n return useDashes ? uuid : uuid.replaceAll(\"-\", \"\");\r\n}\r\n\r\nexport function randomWeighted(dict, randomFunc = (totalWeight) => Math.random() * totalWeight) {\r\n let elements = Object.keys(dict);\r\n let weights = Object.values(dict);\r\n\r\n let totalWeight = weights.reduce((sum, weight) => sum + weight, 0);\r\n\r\n let randomNum = randomFunc(totalWeight);\r\n let weightSum = 0;\r\n\r\n for (let i = 0; i < elements.length; i++) {\r\n weightSum += weights[i];\r\n if (randomNum <= weightSum) {\r\n return elements[i];\r\n }\r\n }\r\n}\r\n\r\nexport function cookieDict(res, decodeValues = false) {\r\n let dict = {};\r\n const cookies = setCookieParser.parse(res, {decodeValues: decodeValues});\r\n for (let cookie of cookies) {\r\n dict[cookie.name] = cookie.value;\r\n }\r\n return dict;\r\n}\r\n\r\nexport function cookieHeader(cookieDict) {\r\n return Object.entries(cookieDict)\r\n .map(([key, value]) => `${key}=${value}`)\r\n .join(';')\r\n}\r\n\r\nexport function isIntlHttpCode(httpCode) {\r\n return (\r\n httpCode === undefined ||\r\n httpCode === null ||\r\n httpCode === 0 ||\r\n httpCode === 402 ||\r\n httpCode === 407 ||\r\n httpCode === 466 ||\r\n 500 <= httpCode\r\n );\r\n}\r\n\r\nexport function isIntlError(e) {\r\n return (\r\n e?.message?.toLowerCase?.()?.includes?.(\"timeout\") ||\r\n e?.message?.toLowerCase?.()?.includes?.(\"aborted\") ||\r\n e?.message?.toLowerCase?.()?.includes?.(\"tls connection\") ||\r\n e?.message?.toLowerCase?.()?.includes?.(\"socket hang\") ||\r\n isIntlHttpCode(e?.response?.status)\r\n )\r\n}"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["xss","setCookieParser","camelCase","capitalize","isEmpty","CONSTANTS","LOWER_CASE","UPPER_CASE","HEXADECIMAL","NUMBERS","Exception","message","response","name","status","pascalCase","time","Math","floor","Date","now","sleepMs","milliseconds","Promise","resolve","setTimeout","sleep","seconds","promiseTimeout","promise","reject","timer","Error","then","value","clearTimeout","catch","reason","splitLines","text","split","map","item","trim","filter","findKeyNode","key","node","pair","hasOwnProperty","index","result","checkEmpty","str","upperCaseFirst","length","toUpperCase","slice","lowerCaseFirst","toLowerCase","titleCase","word","join","limitString","limit","substring","safeString","whiteList","stripIgnoreTag","stripIgnoreTagBody","randomString","useNumbers","useUppercase","characters","i","randomIndex","random","randomHex","randomInteger","min","max","callback","minNotSpecified","isSync","randomNumber","randomUuid","useDashes","d","uuid","replace","c","r","toString","replaceAll","randomWeighted","dict","randomFunc","totalWeight","elements","Object","keys","weights","values","reduce","sum","weight","randomNum","weightSum","cookieDict","res","decodeValues","cookies","parse","cookie","cookieHeader","entries","isIntlHttpCode","httpCode","undefined","isIntlError","e","includes"],"sources":["../src/index.js"],"sourcesContent":["import xss from \"xss\";\r\nimport setCookieParser from \"set-cookie-parser\";\r\nimport camelCase from \"lodash/camelCase.js\";\r\nimport capitalize from \"lodash/capitalize.js\";\r\nimport isEmpty from \"lodash/isEmpty.js\";\r\n\r\n\r\nexport const CONSTANTS = {\r\n LOWER_CASE: \"abcdefghijklmnopqrstuvwxyz\",\r\n UPPER_CASE: \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\",\r\n HEXADECIMAL: \"0123456789abcdef\",\r\n NUMBERS: \"0123456789\",\r\n};\r\n\r\nexport function Exception(message, response = {}, name = null) {\r\n response.status = response.status || 400;\r\n return {\r\n name: pascalCase(name),\r\n message,\r\n response\r\n };\r\n}\r\n\r\nexport function time() {\r\n return Math.floor(Date.now() / 1000);\r\n}\r\n\r\nexport async function sleepMs(milliseconds) {\r\n return new Promise(resolve => setTimeout(resolve, milliseconds));\r\n}\r\n\r\nexport async function sleep(seconds) {\r\n return await sleepMs(seconds * 1000);\r\n}\r\n\r\nexport function promiseTimeout(milliseconds, promise) {\r\n return new Promise((resolve, reject) => {\r\n const timer = setTimeout(() => {\r\n reject(new Error('Promise timed out after ' + milliseconds + 'ms'));\r\n }, milliseconds);\r\n\r\n promise\r\n .then(value => {\r\n clearTimeout(timer);\r\n resolve(value);\r\n })\r\n .catch(reason => {\r\n clearTimeout(timer);\r\n reject(reason);\r\n });\r\n });\r\n}\r\n\r\nexport function splitLines(text) {\r\n return text.split(/\\r?\\n/).map(item => item.trim()).filter(item => !isEmpty(item));\r\n}\r\n\r\nexport function findKeyNode(key, node, pair = null) {\r\n if (node && node.hasOwnProperty(key) && (pair ? node[key] === pair : true)) {\r\n return node;\r\n } else if (typeof node === 'object') {\r\n for (let index in node) {\r\n const result = findKeyNode(key, node[index], pair);\r\n if (result) {\r\n return result;\r\n }\r\n }\r\n }\r\n return null;\r\n}\r\n\r\nexport function checkEmpty(value) {\r\n if (typeof value === \"number\") {\r\n return value === 0;\r\n } else {\r\n return isEmpty(value);\r\n }\r\n}\r\n\r\nexport function pascalCase(str) {\r\n return upperCaseFirst(camelCase(str));\r\n}\r\n\r\nexport function upperCaseFirst(str) {\r\n str = str || \"\";\r\n if(str.length < 1)\r\n return \"\";\r\n return str[0].toUpperCase() + str.slice(1);\r\n}\r\n\r\nexport function lowerCaseFirst(str) {\r\n str = str || \"\";\r\n if(str.length < 1)\r\n return \"\";\r\n return str[0].toLowerCase() + str.slice(1);\r\n}\r\n\r\nexport function titleCase(str) {\r\n str = str || \"\";\r\n return str\r\n .split(' ')\r\n .map(word => capitalize(word))\r\n .join(' ');\r\n}\r\n\r\nexport function limitString(str, limit = 35) {\r\n str = str || \"\";\r\n if (str.length <= limit) {\r\n return str;\r\n } else {\r\n return str.substring(0, limit - 3) + \"...\";\r\n }\r\n}\r\n\r\nexport function safeString(str) {\r\n str = str || \"\";\r\n return xss(str, {\r\n whiteList: {},\r\n stripIgnoreTag: true,\r\n stripIgnoreTagBody: [\"script\"]\r\n });\r\n}\r\n\r\nexport function randomString(length, useNumbers = true, useUppercase = false) {\r\n\r\n let characters = CONSTANTS.LOWER_CASE;\r\n if (useUppercase) characters += CONSTANTS.UPPER_CASE;\r\n if (useNumbers) characters += CONSTANTS.NUMBERS;\r\n\r\n let randomString = '';\r\n for (let i = 0; i < length; i++) {\r\n const randomIndex = Math.floor(Math.random() * characters.length);\r\n randomString += characters[randomIndex];\r\n }\r\n\r\n return randomString;\r\n}\r\n\r\nexport function randomHex(length) {\r\n let result = '';\r\n for (let i = 0; i < length; i++) {\r\n const randomIndex = Math.floor(Math.random() * CONSTANTS.HEXADECIMAL.length);\r\n result += CONSTANTS.HEXADECIMAL[randomIndex];\r\n }\r\n\r\n return result;\r\n}\r\n\r\nexport function randomInteger(min, max, callback) {\r\n const minNotSpecified = typeof max === 'undefined' || typeof max === 'function';\r\n\r\n if (minNotSpecified) {\r\n callback = max;\r\n max = min;\r\n min = 0;\r\n }\r\n\r\n const isSync = typeof callback === 'undefined';\r\n\r\n if (typeof min !== 'number' || typeof max !== 'number') {\r\n throw new Error('min and max must be numerical values');\r\n }\r\n if (max <= min) {\r\n throw new Error('max must be greater than min');\r\n }\r\n\r\n const randomNumber = Math.floor(Math.random() * (max - min)) + min;\r\n\r\n if (isSync) {\r\n return randomNumber;\r\n } else {\r\n if (typeof callback !== 'function') {\r\n throw new Error('callback must be a function');\r\n }\r\n callback(randomNumber);\r\n }\r\n}\r\n\r\nexport function randomUuid(useDashes = true) {\r\n let d = Date.now();\r\n const uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n const r = (d + Math.random() * 16) % 16 | 0;\r\n d = Math.floor(d / 16);\r\n return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);\r\n });\r\n return useDashes ? uuid : uuid.replaceAll(\"-\", \"\");\r\n}\r\n\r\nexport function randomWeighted(dict, randomFunc = (totalWeight) => Math.random() * totalWeight) {\r\n let elements = Object.keys(dict);\r\n let weights = Object.values(dict);\r\n\r\n let totalWeight = weights.reduce((sum, weight) => sum + weight, 0);\r\n\r\n let randomNum = randomFunc(totalWeight);\r\n let weightSum = 0;\r\n\r\n for (let i = 0; i < elements.length; i++) {\r\n weightSum += weights[i];\r\n if (randomNum <= weightSum) {\r\n return elements[i];\r\n }\r\n }\r\n}\r\n\r\nexport function cookieDict(res, decodeValues = false) {\r\n let dict = {};\r\n const cookies = setCookieParser.parse(res, {decodeValues: decodeValues});\r\n for (let cookie of cookies) {\r\n dict[cookie.name] = cookie.value;\r\n }\r\n return dict;\r\n}\r\n\r\nexport function cookieHeader(cookieDict) {\r\n return Object.entries(cookieDict)\r\n .map(([key, value]) => `${key}=${value}`)\r\n .join(';')\r\n}\r\n\r\nexport function isIntlHttpCode(httpCode) {\r\n return (\r\n httpCode === undefined ||\r\n httpCode === null ||\r\n httpCode === 0 ||\r\n httpCode === 100 ||\r\n httpCode === 402 ||\r\n httpCode === 407 ||\r\n (460 <= httpCode && httpCode < 470) ||\r\n 500 <= httpCode\r\n );\r\n}\r\n\r\nexport function isIntlError(e) {\r\n return (\r\n e?.message?.toLowerCase?.()?.includes?.(\"timeout\") ||\r\n e?.message?.toLowerCase?.()?.includes?.(\"aborted\") ||\r\n e?.message?.toLowerCase?.()?.includes?.(\"tls connection\") ||\r\n e?.message?.toLowerCase?.()?.includes?.(\"socket hang\") ||\r\n isIntlHttpCode(e?.response?.status)\r\n )\r\n}"],"mappings":"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"}