@zwa73/utils 1.0.25 → 1.0.26

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.
@@ -89,18 +89,25 @@ export declare function writeJSONFile(filePath: string, token: JToken): Promise<
89
89
  * @returns {string} uuid
90
90
  */
91
91
  export declare function genUUID(): string;
92
+ /**计算Hash
93
+ * string ()
94
+ * @param {string} str - 待计算的字符串
95
+ * @returns {string} hash
96
+ */
97
+ export declare function calcHash(str: string): string;
92
98
  /**深克隆 序列化并反序列化
93
- * @template {T}
99
+ * @template {T} T - JToken类型的泛型
94
100
  * @param {T} obj - 克隆目标
95
101
  * @returns {T} 克隆结果
96
102
  */
97
- export declare function deepClone<T>(obj: T): T;
103
+ export declare function deepClone<T extends JToken>(obj: T): T;
98
104
  /**是否为安全的数字
99
105
  * @param {number} num - 所要检测的数字
100
106
  * @returns {boolean} 是否安全
101
107
  */
102
108
  export declare function isSafeNumber(num: number): boolean;
103
109
  /**等待 timeMs 毫秒
110
+ * @async
104
111
  * @param {number} timeMs - 等待的毫秒数
105
112
  * @returns {Promise<boolean>}
106
113
  */
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fileSearch = exports.sleep = exports.isSafeNumber = exports.deepClone = exports.genUUID = exports.writeJSONFile = exports.loadJSONFile = exports.loadJSONFileSync = exports.ensurePathExistsSync = exports.ensurePathExists = exports.createPathSync = exports.createPath = exports.pathExistsSync = exports.pathExists = exports.initField = exports.getTime = void 0;
3
+ exports.fileSearch = exports.sleep = exports.isSafeNumber = exports.deepClone = exports.calcHash = exports.genUUID = exports.writeJSONFile = exports.loadJSONFile = exports.loadJSONFileSync = exports.ensurePathExistsSync = exports.ensurePathExists = exports.createPathSync = exports.createPath = exports.pathExistsSync = exports.pathExists = exports.initField = exports.getTime = void 0;
4
4
  const fs = require("fs");
5
5
  const crypto = require("crypto");
6
6
  const path = require("path");
@@ -192,8 +192,17 @@ function genUUID() {
192
192
  return crypto.randomBytes(16).toString("hex");
193
193
  }
194
194
  exports.genUUID = genUUID;
195
+ /**计算Hash
196
+ * string ()
197
+ * @param {string} str - 待计算的字符串
198
+ * @returns {string} hash
199
+ */
200
+ function calcHash(str) {
201
+ return crypto.createHash('md5').update(str).digest('hex');
202
+ }
203
+ exports.calcHash = calcHash;
195
204
  /**深克隆 序列化并反序列化
196
- * @template {T}
205
+ * @template {T} T - JToken类型的泛型
197
206
  * @param {T} obj - 克隆目标
198
207
  * @returns {T} 克隆结果
199
208
  */
@@ -214,10 +223,11 @@ function isSafeNumber(num) {
214
223
  }
215
224
  exports.isSafeNumber = isSafeNumber;
216
225
  /**等待 timeMs 毫秒
226
+ * @async
217
227
  * @param {number} timeMs - 等待的毫秒数
218
228
  * @returns {Promise<boolean>}
219
229
  */
220
- function sleep(timeMs) {
230
+ async function sleep(timeMs) {
221
231
  return new Promise(function (resolve, rejecte) {
222
232
  let timer = setTimeout(function () {
223
233
  resolve(true);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zwa73/utils",
3
- "version": "1.0.25",
3
+ "version": "1.0.26",
4
4
  "description": "my utils",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -226,13 +226,21 @@ export async function writeJSONFile(
226
226
  export function genUUID() {
227
227
  return crypto.randomBytes(16).toString("hex");
228
228
  }
229
+ /**计算Hash
230
+ * string ()
231
+ * @param {string} str - 待计算的字符串
232
+ * @returns {string} hash
233
+ */
234
+ export function calcHash(str:string) {
235
+ return crypto.createHash('md5').update(str).digest('hex');
236
+ }
229
237
 
230
238
  /**深克隆 序列化并反序列化
231
- * @template {T}
239
+ * @template {T} T - JToken类型的泛型
232
240
  * @param {T} obj - 克隆目标
233
241
  * @returns {T} 克隆结果
234
242
  */
235
- export function deepClone<T>(obj: T): T {
243
+ export function deepClone<T extends JToken>(obj: T): T {
236
244
  return JSON.parse(JSON.stringify(obj));
237
245
  }
238
246
 
@@ -247,10 +255,11 @@ export function isSafeNumber(num: number): boolean {
247
255
  }
248
256
 
249
257
  /**等待 timeMs 毫秒
258
+ * @async
250
259
  * @param {number} timeMs - 等待的毫秒数
251
260
  * @returns {Promise<boolean>}
252
261
  */
253
- export function sleep(timeMs: number): Promise<boolean> {
262
+ export async function sleep(timeMs: number): Promise<boolean> {
254
263
  return new Promise(function (resolve, rejecte) {
255
264
  let timer = setTimeout(function () {
256
265
  resolve(true);