melperjs 4.0.0 → 6.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/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Exception","exports","time","sleepMs","sleep","promiseTimeout","splitLines","findKeyNode","checkEmpty","pascalCase","upperCaseFirst","lowerCaseFirst","titleString","limitString","safeString","randomString","randomHex","randomUuid","randomWeighted","cookieDict","cookieHeader","isIntlHttpCode","isIntlError","_xss","require","_xss2","_interopRequireDefault","_camelCase","_camelCase2","_capitalize","_capitalize2","_isEmpty","_isEmpty2","_setCookieParser","_setCookieParser2","obj","__esModule","default","CONSTANTS","LOWER_CASE","UPPER_CASE","HEXADECIMAL","NUMBERS","message","response","name","status","Math","floor","Date","now","milliseconds","Promise","resolve","setTimeout","seconds","promise","reject","timer","Error","then","value","clearTimeout","catch","reason","text","split","filter","item","map","trim","key","node","pair","hasOwnProperty","index","result","isEmpty","str","camelCase","toUpperCase","slice","toLowerCase","word","capitalize","join","limit","length","substring","xss","whiteList","stripIgnoreTag","stripIgnoreTagBody","useNumbers","useUppercase","characters","i","randomIndex","random","useDashes","d","uuid","replace","c","r","toString","replaceAll","dict","randomFunc","totalWeight","elements","Object","keys","weights","values","reduce","sum","weight","randomNum","weightSum","res","decodeValues","cookies","setCookieParser","parse","cookie","entries","httpCode","undefined","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","_interopRequireDefault","require","_camelCase","_capitalize","_isEmpty","_setCookieParser","obj","__esModule","default","CONSTANTS","exports","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","isEmpty","str","upperCaseFirst","camelCase","toUpperCase","slice","lowerCaseFirst","toLowerCase","titleString","word","capitalize","join","limitString","limit","length","substring","safeString","xss","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","setCookieParser","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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"}
package/cjs/node.js ADDED
@@ -0,0 +1,195 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createNumDir = createNumDir;
7
+ exports.formatProxy = formatProxy;
8
+ exports.getVersion = getVersion;
9
+ exports.hashBcrypt = hashBcrypt;
10
+ exports.md5 = md5;
11
+ exports.proxify = proxify;
12
+ exports.proxyObject = proxyObject;
13
+ exports.serverIp = serverIp;
14
+ exports.tokenHex = tokenHex;
15
+ exports.tokenString = tokenString;
16
+ exports.tokenUuid = tokenUuid;
17
+ exports.tokenWeighted = tokenWeighted;
18
+ exports.verifyBcrypt = verifyBcrypt;
19
+ var _fs = _interopRequireDefault(require("fs"));
20
+ var _path = _interopRequireDefault(require("path"));
21
+ var _crypto = _interopRequireDefault(require("crypto"));
22
+ var _os = require("os");
23
+ var _child_process = require("child_process");
24
+ var _bcrypt = _interopRequireDefault(require("bcrypt"));
25
+ var _axios = _interopRequireDefault(require("axios"));
26
+ var _hpagent = require("hpagent");
27
+ var _index = require("./index.js");
28
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
+ function tokenString(length, useNumbers = true, useUppercase = false) {
30
+ const lowercaseChars = _index.CONSTANTS.LOWER_CASE;
31
+ const uppercaseChars = _index.CONSTANTS.UPPER_CASE;
32
+ const numbers = _index.CONSTANTS.NUMBERS;
33
+ let characters = lowercaseChars;
34
+ if (useUppercase) characters += uppercaseChars;
35
+ if (useNumbers) characters += numbers;
36
+ let randomString = '';
37
+ while (randomString.length < length) {
38
+ const byte = _crypto.default.randomBytes(1)[0];
39
+ const index = byte % characters.length;
40
+ if (byte < 256 - 256 % characters.length) {
41
+ randomString += characters[index];
42
+ }
43
+ }
44
+ return randomString;
45
+ }
46
+ function tokenHex(length) {
47
+ return _crypto.default.randomBytes(Math.ceil(length / 2)).toString('hex').slice(0, length);
48
+ }
49
+ function tokenUuid(useDashes = true) {
50
+ const uuid = _crypto.default.randomUUID().toString();
51
+ return useDashes ? uuid : uuid.replaceAll("-", "");
52
+ }
53
+ function tokenWeighted(dict) {
54
+ return (0, _index.randomWeighted)(dict, _crypto.default.randomInt);
55
+ }
56
+ function serverIp() {
57
+ const interfaces = (0, _os.networkInterfaces)();
58
+ for (const devName in interfaces) {
59
+ const interfaceValue = interfaces[devName];
60
+ for (let i = 0; i < interfaceValue.length; i++) {
61
+ const alias = interfaceValue[i];
62
+ if (alias.family === 'IPv4' && alias.address !== '127.0.0.1' && !alias.address.startsWith("192.168.") && !alias.internal) return alias.address;
63
+ }
64
+ }
65
+ return '127.0.0.1';
66
+ }
67
+ function getVersion() {
68
+ try {
69
+ const date = new Date((0, _child_process.execSync)('git show -s --format=%ci HEAD').toString().trim());
70
+ const formatDatePart = value => value.toString().padStart(2, '0');
71
+ const year = date.getFullYear().toString().slice(-2);
72
+ const month = formatDatePart(date.getMonth() + 1);
73
+ const day = formatDatePart(date.getDate());
74
+ const hour = formatDatePart(date.getHours());
75
+ const minute = formatDatePart(date.getMinutes());
76
+ return parseFloat(`${year}${month}.${day}${hour}${minute}`);
77
+ } catch {
78
+ return 1.0;
79
+ }
80
+ }
81
+ function createNumDir(mainDirectory) {
82
+ _fs.default.mkdirSync(mainDirectory, {
83
+ recursive: true
84
+ });
85
+ for (let i = 0; i <= 9; i++) {
86
+ try {
87
+ _fs.default.mkdirSync(_path.default.join(mainDirectory, i.toString()));
88
+ } catch (e) {
89
+ console.error(`createNumDir:${i}`, e.message);
90
+ }
91
+ }
92
+ }
93
+ function md5(data) {
94
+ return _crypto.default.createHash('md5').update(data).digest("hex");
95
+ }
96
+ function hashBcrypt(plainText) {
97
+ return _bcrypt.default.hashSync(plainText, _bcrypt.default.genSaltSync(10));
98
+ }
99
+ function verifyBcrypt(plainText, hash) {
100
+ return _bcrypt.default.compareSync(plainText, hash);
101
+ }
102
+ function formatProxy(proxy, protocol = "http") {
103
+ proxy = proxy.trim();
104
+ const splitByProtocol = proxy.split("://");
105
+ if (1 < splitByProtocol.length) protocol = splitByProtocol[0];
106
+ proxy = splitByProtocol[splitByProtocol.length - 1];
107
+ if (!proxy.includes("@")) {
108
+ const proxyParts = proxy.split(":");
109
+ if (4 <= proxyParts.length) {
110
+ proxy = `${proxyParts[proxyParts.length - 2]}:${proxyParts[proxyParts.length - 1]}@`;
111
+ proxyParts.pop();
112
+ proxyParts.pop();
113
+ proxy += proxyParts.join(":");
114
+ }
115
+ }
116
+ const proxyParts = proxy.split(':');
117
+ const proxyEnd = parseInt(proxyParts[proxyParts.length - 1]);
118
+ const proxyStart = proxyParts[proxyParts.length - 2];
119
+ if (!proxyStart.includes(".")) {
120
+ proxyParts.pop();
121
+ proxyParts[proxyParts.length - 1] = _crypto.default.randomInt(parseInt(proxyStart), proxyEnd + 1).toString();
122
+ }
123
+ return protocol + "://" + proxyParts.join(':');
124
+ }
125
+ function proxyObject(...args) {
126
+ let proxy = formatProxy(...args);
127
+ const splitByProtocol = proxy.split('://');
128
+ const splitById = splitByProtocol[splitByProtocol.length - 1].split('@');
129
+ const splitByConn = splitById[splitById.length - 1].split(':');
130
+ proxy = {
131
+ protocol: splitByProtocol[0],
132
+ host: splitByConn[0],
133
+ port: parseInt(splitByConn[1])
134
+ };
135
+ if (1 < splitById.length) {
136
+ const splitByAuth = splitById[0].split(':');
137
+ proxy.auth = {
138
+ username: splitByAuth[0],
139
+ password: splitByAuth[1]
140
+ };
141
+ }
142
+ return proxy;
143
+ }
144
+ async function proxify(proxyConfig, callback = formatProxy) {
145
+ proxyConfig = proxyConfig || {};
146
+ const timeout = 7000;
147
+ if (proxyConfig.mode === 1) {
148
+ return callback(proxyConfig.proxy);
149
+ } else if (proxyConfig.mode === 2) {
150
+ const proxy = callback(proxyConfig.proxy);
151
+ try {
152
+ await _axios.default.get(proxyConfig.resetApi, {
153
+ timeout
154
+ });
155
+ } catch {
156
+ return false;
157
+ }
158
+ await (0, _index.sleep)(5);
159
+ for (let i = 0; i < 5; i++) {
160
+ try {
161
+ const res = await _axios.default.get("https://api64.ipify.org", {
162
+ timeout,
163
+ httpsAgent: new _hpagent.HttpsProxyAgent({
164
+ proxy,
165
+ timeout: 7000
166
+ })
167
+ });
168
+ if (res.status === 200) return proxy;
169
+ } catch {
170
+ await (0, _index.sleep)(3);
171
+ }
172
+ }
173
+ } else if (proxyConfig.mode === 3) {
174
+ try {
175
+ const res = await _axios.default.get(proxyConfig.resetApi, {
176
+ timeout
177
+ });
178
+ if (res.status === 200) return callback(proxyConfig.proxy);
179
+ } catch {
180
+ return false;
181
+ }
182
+ } else if (proxyConfig.mode === 4) {
183
+ return callback(proxyConfig.proxy).replace("{SESSION}", tokenHex(8));
184
+ } else if (proxyConfig.mode === 5) {
185
+ try {
186
+ const lines = proxyConfig.proxy.split("\n");
187
+ const line = lines[_crypto.default.randomInt(0, lines.length)];
188
+ return callback(line);
189
+ } catch {
190
+ return false;
191
+ }
192
+ }
193
+ return null;
194
+ }
195
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","names":["_fs","_interopRequireDefault","require","_path","_crypto","_os","_child_process","_bcrypt","_axios","_hpagent","_index","obj","__esModule","default","tokenString","length","useNumbers","useUppercase","lowercaseChars","CONSTANTS","LOWER_CASE","uppercaseChars","UPPER_CASE","numbers","NUMBERS","characters","randomString","byte","crypto","randomBytes","index","tokenHex","Math","ceil","toString","slice","tokenUuid","useDashes","uuid","randomUUID","replaceAll","tokenWeighted","dict","randomWeighted","randomInt","serverIp","interfaces","networkInterfaces","devName","interfaceValue","i","alias","family","address","startsWith","internal","getVersion","date","Date","execSync","trim","formatDatePart","value","padStart","year","getFullYear","month","getMonth","day","getDate","hour","getHours","minute","getMinutes","parseFloat","createNumDir","mainDirectory","fs","mkdirSync","recursive","path","join","e","console","error","message","md5","data","createHash","update","digest","hashBcrypt","plainText","bcrypt","hashSync","genSaltSync","verifyBcrypt","hash","compareSync","formatProxy","proxy","protocol","splitByProtocol","split","includes","proxyParts","pop","proxyEnd","parseInt","proxyStart","proxyObject","args","splitById","splitByConn","host","port","splitByAuth","auth","username","password","proxify","proxyConfig","callback","timeout","mode","axios","get","resetApi","sleep","res","httpsAgent","HttpsProxyAgent","status","replace","lines","line"],"sources":["../src/node.js"],"sourcesContent":["import fs from \"fs\";\r\nimport path from \"path\";\r\nimport crypto from \"crypto\";\r\nimport {networkInterfaces} from \"os\";\r\nimport {execSync} from \"child_process\";\r\n\r\nimport bcrypt from \"bcrypt\";\r\nimport axios from \"axios\";\r\nimport {HttpsProxyAgent} from \"hpagent\";\r\n\r\nimport {CONSTANTS, randomWeighted, sleep} from \"./index.js\";\r\n\r\n\r\nexport function tokenString(length, useNumbers = true, useUppercase = false) {\r\n const lowercaseChars = CONSTANTS.LOWER_CASE;\r\n const uppercaseChars = CONSTANTS.UPPER_CASE;\r\n const numbers = CONSTANTS.NUMBERS;\r\n\r\n let characters = lowercaseChars;\r\n if (useUppercase) characters += uppercaseChars;\r\n if (useNumbers) characters += numbers;\r\n\r\n let randomString = '';\r\n while (randomString.length < length) {\r\n const byte = crypto.randomBytes(1)[0];\r\n const index = byte % characters.length;\r\n if (byte < (256 - (256 % characters.length))) {\r\n randomString += characters[index];\r\n }\r\n }\r\n\r\n return randomString;\r\n}\r\n\r\nexport function tokenHex(length) {\r\n return crypto\r\n .randomBytes(Math.ceil(length / 2))\r\n .toString('hex')\r\n .slice(0, length);\r\n}\r\n\r\nexport function tokenUuid(useDashes = true) {\r\n const uuid = crypto.randomUUID().toString();\r\n return useDashes ? uuid : uuid.replaceAll(\"-\", \"\")\r\n}\r\n\r\nexport function tokenWeighted(dict) {\r\n return randomWeighted(dict, crypto.randomInt);\r\n}\r\n\r\nexport function serverIp() {\r\n const interfaces = networkInterfaces();\r\n for (const devName in interfaces) {\r\n const interfaceValue = interfaces[devName];\r\n for (let i = 0; i < interfaceValue.length; i++) {\r\n const alias = interfaceValue[i];\r\n if (alias.family === 'IPv4' && alias.address !== '127.0.0.1' && !alias.address.startsWith(\"192.168.\") && !alias.internal)\r\n return alias.address;\r\n }\r\n }\r\n return '127.0.0.1';\r\n}\r\n\r\nexport function getVersion() {\r\n try {\r\n const date = new Date(execSync('git show -s --format=%ci HEAD').toString().trim());\r\n const formatDatePart = (value) => value.toString().padStart(2, '0');\r\n const year = date.getFullYear().toString().slice(-2);\r\n const month = formatDatePart(date.getMonth() + 1);\r\n const day = formatDatePart(date.getDate());\r\n const hour = formatDatePart(date.getHours());\r\n const minute = formatDatePart(date.getMinutes());\r\n return parseFloat(`${year}${month}.${day}${hour}${minute}`);\r\n } catch {\r\n return 1.0;\r\n }\r\n}\r\n\r\nexport function createNumDir(mainDirectory) {\r\n fs.mkdirSync(mainDirectory, {recursive: true});\r\n for (let i = 0; i <= 9; i++) {\r\n try {\r\n fs.mkdirSync(path.join(mainDirectory, i.toString()));\r\n } catch (e) {\r\n console.error(`createNumDir:${i}`, e.message);\r\n }\r\n }\r\n}\r\n\r\nexport function md5(data) {\r\n return crypto.createHash('md5').update(data).digest(\"hex\");\r\n}\r\n\r\nexport function hashBcrypt(plainText) {\r\n return bcrypt.hashSync(plainText, bcrypt.genSaltSync(10));\r\n}\r\n\r\nexport function verifyBcrypt(plainText, hash) {\r\n return bcrypt.compareSync(plainText, hash);\r\n}\r\n\r\nexport function formatProxy(proxy, protocol = \"http\") {\r\n proxy = proxy.trim();\r\n const splitByProtocol = proxy.split(\"://\");\r\n if (1 < splitByProtocol.length)\r\n protocol = splitByProtocol[0];\r\n proxy = splitByProtocol[splitByProtocol.length - 1];\r\n if (!proxy.includes(\"@\")) {\r\n const proxyParts = proxy.split(\":\");\r\n if (4 <= proxyParts.length) {\r\n proxy = `${proxyParts[proxyParts.length - 2]}:${proxyParts[proxyParts.length - 1]}@`;\r\n proxyParts.pop();\r\n proxyParts.pop();\r\n proxy += proxyParts.join(\":\");\r\n }\r\n }\r\n const proxyParts = proxy.split(':');\r\n const proxyEnd = parseInt(proxyParts[proxyParts.length - 1]);\r\n const proxyStart = proxyParts[proxyParts.length - 2];\r\n if (!proxyStart.includes(\".\")) {\r\n proxyParts.pop();\r\n proxyParts[proxyParts.length - 1] = crypto.randomInt(parseInt(proxyStart), proxyEnd + 1).toString();\r\n }\r\n return protocol + \"://\" + proxyParts.join(':');\r\n}\r\n\r\nexport function proxyObject(...args) {\r\n let proxy = formatProxy(...args);\r\n const splitByProtocol = proxy.split('://');\r\n const splitById = splitByProtocol[splitByProtocol.length - 1].split('@');\r\n const splitByConn = splitById[splitById.length - 1].split(':');\r\n proxy = {\r\n protocol: splitByProtocol[0],\r\n host: splitByConn[0],\r\n port: parseInt(splitByConn[1]),\r\n };\r\n if (1 < splitById.length) {\r\n const splitByAuth = splitById[0].split(':');\r\n proxy.auth = {\r\n username: splitByAuth[0],\r\n password: splitByAuth[1]\r\n };\r\n }\r\n return proxy;\r\n}\r\n\r\nexport async function proxify(proxyConfig, callback = formatProxy) {\r\n proxyConfig = proxyConfig || {};\r\n const timeout = 7000;\r\n if (proxyConfig.mode === 1) {\r\n return callback(proxyConfig.proxy);\r\n } else if (proxyConfig.mode === 2) {\r\n const proxy = callback(proxyConfig.proxy);\r\n try {\r\n await axios.get(proxyConfig.resetApi, {timeout});\r\n } catch {\r\n return false;\r\n }\r\n await sleep(5);\r\n for (let i = 0; i < 5; i++) {\r\n try {\r\n const res = await axios.get(\"https://api64.ipify.org\", {\r\n timeout,\r\n httpsAgent: new HttpsProxyAgent({proxy, timeout: 7000})\r\n });\r\n if (res.status === 200)\r\n return proxy;\r\n } catch {\r\n await sleep(3);\r\n }\r\n }\r\n } else if (proxyConfig.mode === 3) {\r\n try {\r\n const res = await axios.get(proxyConfig.resetApi, {timeout});\r\n if (res.status === 200)\r\n return callback(proxyConfig.proxy);\r\n } catch {\r\n return false;\r\n }\r\n } else if (proxyConfig.mode === 4) {\r\n return callback(proxyConfig.proxy).replace(\"{SESSION}\", tokenHex(8));\r\n } else if (proxyConfig.mode === 5) {\r\n try {\r\n const lines = proxyConfig.proxy.split(\"\\n\");\r\n const line = lines[crypto.randomInt(0, lines.length)];\r\n return callback(line);\r\n } catch {\r\n return false;\r\n }\r\n }\r\n\r\n return null;\r\n}"],"mappings":"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"}
package/lib/index.js ADDED
@@ -0,0 +1,235 @@
1
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
2
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
3
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
5
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
6
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
7
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
8
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
9
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
10
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
11
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
12
+ import xss from "xss";
13
+ import camelCase from "lodash/camelCase.js";
14
+ import capitalize from "lodash/capitalize.js";
15
+ import isEmpty from "lodash/isEmpty.js";
16
+ import setCookieParser from "set-cookie-parser";
17
+ export var CONSTANTS = {
18
+ LOWER_CASE: "abcdefghijklmnopqrstuvwxyz",
19
+ UPPER_CASE: "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
20
+ HEXADECIMAL: "0123456789abcdef",
21
+ NUMBERS: "0123456789"
22
+ };
23
+ export function Exception(message) {
24
+ var response = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
25
+ var name = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
26
+ response.status = response.status || 400;
27
+ return {
28
+ name: pascalCase(name),
29
+ message: message,
30
+ response: response
31
+ };
32
+ }
33
+ export function time() {
34
+ return Math.floor(Date.now() / 1000);
35
+ }
36
+ export function sleepMs(_x) {
37
+ return _sleepMs.apply(this, arguments);
38
+ }
39
+ function _sleepMs() {
40
+ _sleepMs = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(milliseconds) {
41
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
42
+ while (1) switch (_context.prev = _context.next) {
43
+ case 0:
44
+ return _context.abrupt("return", new Promise(function (resolve) {
45
+ return setTimeout(resolve, milliseconds);
46
+ }));
47
+ case 1:
48
+ case "end":
49
+ return _context.stop();
50
+ }
51
+ }, _callee);
52
+ }));
53
+ return _sleepMs.apply(this, arguments);
54
+ }
55
+ export function sleep(_x2) {
56
+ return _sleep.apply(this, arguments);
57
+ }
58
+ function _sleep() {
59
+ _sleep = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(seconds) {
60
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
61
+ while (1) switch (_context2.prev = _context2.next) {
62
+ case 0:
63
+ _context2.next = 2;
64
+ return sleepMs(seconds * 1000);
65
+ case 2:
66
+ return _context2.abrupt("return", _context2.sent);
67
+ case 3:
68
+ case "end":
69
+ return _context2.stop();
70
+ }
71
+ }, _callee2);
72
+ }));
73
+ return _sleep.apply(this, arguments);
74
+ }
75
+ export function promiseTimeout(milliseconds, promise) {
76
+ return new Promise(function (resolve, reject) {
77
+ var timer = setTimeout(function () {
78
+ reject(new Error('Promise timed out after ' + milliseconds + 'ms'));
79
+ }, milliseconds);
80
+ promise.then(function (value) {
81
+ clearTimeout(timer);
82
+ resolve(value);
83
+ }).catch(function (reason) {
84
+ clearTimeout(timer);
85
+ reject(reason);
86
+ });
87
+ });
88
+ }
89
+ export function splitLines(text) {
90
+ return text.split(/\r?\n/).filter(function (item) {
91
+ return !checkEmpty(item);
92
+ }).map(function (item) {
93
+ return item.trim();
94
+ });
95
+ }
96
+ export function findKeyNode(key, node) {
97
+ var pair = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
98
+ if (node && node.hasOwnProperty(key) && (pair ? node[key] === pair : true)) {
99
+ return node;
100
+ } else if (_typeof(node) === 'object') {
101
+ for (var index in node) {
102
+ var result = findKeyNode(key, node[index], pair);
103
+ if (result) {
104
+ return result;
105
+ }
106
+ }
107
+ }
108
+ return null;
109
+ }
110
+ export function checkEmpty(value) {
111
+ if (typeof value === "number") {
112
+ return value === 0;
113
+ } else {
114
+ return isEmpty(value);
115
+ }
116
+ }
117
+ export function pascalCase(str) {
118
+ return upperCaseFirst(camelCase(str));
119
+ }
120
+ export function upperCaseFirst(str) {
121
+ str = str || "";
122
+ return str[0].toUpperCase() + str.slice(1);
123
+ }
124
+ export function lowerCaseFirst(str) {
125
+ str = str || "";
126
+ return str[0].toLowerCase() + str.slice(1);
127
+ }
128
+ export function titleString(str) {
129
+ str = str || "";
130
+ return str.split(' ').map(function (word) {
131
+ return capitalize(word);
132
+ }).join(' ');
133
+ }
134
+ export function limitString(str) {
135
+ var limit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 35;
136
+ str = str || "";
137
+ if (str.length <= limit) {
138
+ return str;
139
+ } else {
140
+ return str.substring(0, limit - 3) + "...";
141
+ }
142
+ }
143
+ export function safeString(str) {
144
+ str = str || "";
145
+ return xss(str, {
146
+ whiteList: {},
147
+ stripIgnoreTag: true,
148
+ stripIgnoreTagBody: ["script"]
149
+ });
150
+ }
151
+ export function randomString(length) {
152
+ var useNumbers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
153
+ var useUppercase = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
154
+ var characters = CONSTANTS.LOWER_CASE;
155
+ if (useUppercase) characters += CONSTANTS.UPPER_CASE;
156
+ if (useNumbers) characters += CONSTANTS.NUMBERS;
157
+ var randomString = '';
158
+ for (var i = 0; i < length; i++) {
159
+ var randomIndex = Math.floor(Math.random() * characters.length);
160
+ randomString += characters[randomIndex];
161
+ }
162
+ return randomString;
163
+ }
164
+ export function randomHex(length) {
165
+ var result = '';
166
+ for (var i = 0; i < length; i++) {
167
+ var randomIndex = Math.floor(Math.random() * CONSTANTS.HEXADECIMAL.length);
168
+ result += CONSTANTS.HEXADECIMAL[randomIndex];
169
+ }
170
+ return result;
171
+ }
172
+ export function randomUuid() {
173
+ var useDashes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
174
+ var d = Date.now();
175
+ var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
176
+ var r = (d + Math.random() * 16) % 16 | 0;
177
+ d = Math.floor(d / 16);
178
+ return (c === 'x' ? r : r & 0x3 | 0x8).toString(16);
179
+ });
180
+ return useDashes ? uuid : uuid.replaceAll("-", "");
181
+ }
182
+ export function randomWeighted(dict) {
183
+ var randomFunc = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function (totalWeight) {
184
+ return Math.random() * totalWeight;
185
+ };
186
+ var elements = Object.keys(dict);
187
+ var weights = Object.values(dict);
188
+ var totalWeight = weights.reduce(function (sum, weight) {
189
+ return sum + weight;
190
+ }, 0);
191
+ var randomNum = randomFunc(totalWeight);
192
+ var weightSum = 0;
193
+ for (var i = 0; i < elements.length; i++) {
194
+ weightSum += weights[i];
195
+ if (randomNum <= weightSum) {
196
+ return elements[i];
197
+ }
198
+ }
199
+ }
200
+ export function cookieDict(res) {
201
+ var decodeValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
202
+ var dict = {};
203
+ var cookies = setCookieParser.parse(res, {
204
+ decodeValues: decodeValues
205
+ });
206
+ var _iterator = _createForOfIteratorHelper(cookies),
207
+ _step;
208
+ try {
209
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
210
+ var cookie = _step.value;
211
+ dict[cookie.name] = cookie.value;
212
+ }
213
+ } catch (err) {
214
+ _iterator.e(err);
215
+ } finally {
216
+ _iterator.f();
217
+ }
218
+ return dict;
219
+ }
220
+ export function cookieHeader(cookieDict) {
221
+ return Object.entries(cookieDict).map(function (_ref) {
222
+ var _ref2 = _slicedToArray(_ref, 2),
223
+ key = _ref2[0],
224
+ value = _ref2[1];
225
+ return "".concat(key, "=").concat(value);
226
+ }).join(';');
227
+ }
228
+ export function isIntlHttpCode(httpCode) {
229
+ return httpCode === undefined || httpCode === null || httpCode === 0 || httpCode === 402 || httpCode === 407 || httpCode === 466 || 500 <= httpCode;
230
+ }
231
+ export function isIntlError(e) {
232
+ var _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;
233
+ return (e === null || e === void 0 || (_e$message = e.message) === null || _e$message === void 0 || (_e$message$toLowerCas = _e$message.toLowerCase) === null || _e$message$toLowerCas === void 0 || (_e$message$toLowerCas = _e$message$toLowerCas.call(_e$message)) === null || _e$message$toLowerCas === void 0 || (_e$message$toLowerCas2 = _e$message$toLowerCas.includes) === null || _e$message$toLowerCas2 === void 0 ? void 0 : _e$message$toLowerCas2.call(_e$message$toLowerCas, "timeout")) || (e === null || e === void 0 || (_e$message2 = e.message) === null || _e$message2 === void 0 || (_e$message2$toLowerCa = _e$message2.toLowerCase) === null || _e$message2$toLowerCa === void 0 || (_e$message2$toLowerCa = _e$message2$toLowerCa.call(_e$message2)) === null || _e$message2$toLowerCa === void 0 || (_e$message2$toLowerCa2 = _e$message2$toLowerCa.includes) === null || _e$message2$toLowerCa2 === void 0 ? void 0 : _e$message2$toLowerCa2.call(_e$message2$toLowerCa, "aborted")) || (e === null || e === void 0 || (_e$message3 = e.message) === null || _e$message3 === void 0 || (_e$message3$toLowerCa = _e$message3.toLowerCase) === null || _e$message3$toLowerCa === void 0 || (_e$message3$toLowerCa = _e$message3$toLowerCa.call(_e$message3)) === null || _e$message3$toLowerCa === void 0 || (_e$message3$toLowerCa2 = _e$message3$toLowerCa.includes) === null || _e$message3$toLowerCa2 === void 0 ? void 0 : _e$message3$toLowerCa2.call(_e$message3$toLowerCa, "tls connection")) || (e === null || e === void 0 || (_e$message4 = e.message) === null || _e$message4 === void 0 || (_e$message4$toLowerCa = _e$message4.toLowerCase) === null || _e$message4$toLowerCa === void 0 || (_e$message4$toLowerCa = _e$message4$toLowerCa.call(_e$message4)) === null || _e$message4$toLowerCa === void 0 || (_e$message4$toLowerCa2 = _e$message4$toLowerCa.includes) === null || _e$message4$toLowerCa2 === void 0 ? void 0 : _e$message4$toLowerCa2.call(_e$message4$toLowerCa, "socket hang")) || isIntlHttpCode(e === null || e === void 0 || (_e$response = e.response) === null || _e$response === void 0 ? void 0 : _e$response.status);
234
+ }
235
+ //# sourceMappingURL=index.js.map