@oeos-components/utils 0.0.15 → 0.0.16

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/dist/index.cjs CHANGED
@@ -232,7 +232,12 @@ function formatTime(time, cFormat = "{y}-{m}-{d} {h}:{i}:{s}") {
232
232
  if (typeof time === "object") {
233
233
  date = time;
234
234
  } else {
235
- if (("" + time).length === 10) time = parseInt(time) * 1e3;
235
+ const timeStr = "" + time;
236
+ if (timeStr.includes(".") && !isNaN(parseFloat(timeStr))) {
237
+ time = parseFloat(time) * 1e3;
238
+ } else if (timeStr.length === 10) {
239
+ time = parseInt(time) * 1e3;
240
+ }
236
241
  date = new Date(time);
237
242
  }
238
243
  const formatObj = {
@@ -651,26 +656,15 @@ function formatBytes(bytes, options = {}) {
651
656
  } else {
652
657
  return bytes;
653
658
  }
654
- if (bytes <= 0) {
655
- return bytes.toFixed(digit) + " B";
659
+ if (bytes <= 1) {
660
+ return Math[roundType](bytes * Math.pow(10, digit)) / Math.pow(10, digit) + " B";
656
661
  }
657
662
  const k = 1024;
658
663
  const sizes = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];
659
664
  const i = Math.floor(Math.log(bytes) / Math.log(k));
660
665
  const power = Math.pow(k, i);
661
666
  let num = bytes / power;
662
- switch (roundType) {
663
- case "ceil":
664
- num = Math.ceil(num * Math.pow(10, digit)) / Math.pow(10, digit);
665
- break;
666
- case "round":
667
- num = Math.round(num * Math.pow(10, digit)) / Math.pow(10, digit);
668
- break;
669
- case "floor":
670
- default:
671
- num = Math.floor(num * Math.pow(10, digit)) / Math.pow(10, digit);
672
- break;
673
- }
667
+ num = Math[roundType](num * Math.pow(10, digit)) / Math.pow(10, digit);
674
668
  let res = num.toFixed(digit) + " " + sizes[i];
675
669
  if (thousands) {
676
670
  res = formatThousands(res);
package/dist/index.d.cts CHANGED
@@ -130,8 +130,9 @@ declare function clone(data: any, times?: number): any;
130
130
  * formatTime(1541927611000); //2018-11-11 17:13:21
131
131
  * formatTime(1541927611000, "{y}年{m}月{d}日 {h}时{m}分{s}秒"); // 2018年11月11日 17时11分31秒
132
132
  * formatTime(1541927611, "{y}/{m}/{d} {h}:{m}:{s}"); // 2018/11/11 17:11:31
133
- * formatTime(new Date()); //2018-11-11 17:13:21
134
- * formatTime(new Date().getTime()); //2018-11-11 17:13:21
133
+ * formatTime(new Date()); // 2018-11-11 17:13:21
134
+ * formatTime(new Date().getTime()); // 2018-11-11 17:13:21
135
+ * formatTime('1764128798.456'); // 2025/11/26 11:11:38
135
136
  */
136
137
  declare function formatTime(time: any, cFormat?: string): any;
137
138
  /**
@@ -179,7 +180,36 @@ declare function uuid(type?: string, length?: number, { emailStr, timeStr, start
179
180
  * getType(123) number
180
181
  */
181
182
  declare function getType(type: any): string;
182
- declare function sleep(delay?: number, fn?: () => void): Promise<unknown>;
183
+ /**
184
+ * 一个辅助函数,用于在代码中创建一个暂停(延迟)。
185
+ * 它返回一个 Promise,你可以在 `await` 后使用它来实现类似 "sleep" 的效果。
186
+ *
187
+ * @param delay - 等待的毫秒数。默认值为 0,表示不延迟。
188
+ * @param fn - (可选) 一个在延迟结束后立即执行的函数。
189
+ *
190
+ * @returns 一个 Promise,当延迟结束后解析(resolve)。
191
+ *
192
+ * @example
193
+ * // 基本用法:延迟 2 秒后打印消息
194
+ * console.log('开始');
195
+ * await sleep(2000);
196
+ * console.log('2秒后执行');
197
+ *
198
+ * @example
199
+ * // 带回调函数的用法:延迟 1 秒后执行清理工作
200
+ * sleep(1000, () => {
201
+ * console.log('执行清理操作...');
202
+ * // 清理代码...
203
+ * });
204
+ *
205
+ * @example
206
+ * // 在循环中使用:每次迭代后延迟 500 毫秒
207
+ * for (let i = 0; i < 5; i++) {
208
+ * console.log(`当前值: ${i}`);
209
+ * await sleep(500);
210
+ * }
211
+ */
212
+ declare function sleep(delay?: number, fn?: () => void): Promise<void>;
183
213
  /** @使用方式
184
214
  * 1. 在el-form中使用
185
215
  name: [ proxy.validate('name', { message: '你干嘛哈哈' })],
package/dist/index.d.mts CHANGED
@@ -130,8 +130,9 @@ declare function clone(data: any, times?: number): any;
130
130
  * formatTime(1541927611000); //2018-11-11 17:13:21
131
131
  * formatTime(1541927611000, "{y}年{m}月{d}日 {h}时{m}分{s}秒"); // 2018年11月11日 17时11分31秒
132
132
  * formatTime(1541927611, "{y}/{m}/{d} {h}:{m}:{s}"); // 2018/11/11 17:11:31
133
- * formatTime(new Date()); //2018-11-11 17:13:21
134
- * formatTime(new Date().getTime()); //2018-11-11 17:13:21
133
+ * formatTime(new Date()); // 2018-11-11 17:13:21
134
+ * formatTime(new Date().getTime()); // 2018-11-11 17:13:21
135
+ * formatTime('1764128798.456'); // 2025/11/26 11:11:38
135
136
  */
136
137
  declare function formatTime(time: any, cFormat?: string): any;
137
138
  /**
@@ -179,7 +180,36 @@ declare function uuid(type?: string, length?: number, { emailStr, timeStr, start
179
180
  * getType(123) number
180
181
  */
181
182
  declare function getType(type: any): string;
182
- declare function sleep(delay?: number, fn?: () => void): Promise<unknown>;
183
+ /**
184
+ * 一个辅助函数,用于在代码中创建一个暂停(延迟)。
185
+ * 它返回一个 Promise,你可以在 `await` 后使用它来实现类似 "sleep" 的效果。
186
+ *
187
+ * @param delay - 等待的毫秒数。默认值为 0,表示不延迟。
188
+ * @param fn - (可选) 一个在延迟结束后立即执行的函数。
189
+ *
190
+ * @returns 一个 Promise,当延迟结束后解析(resolve)。
191
+ *
192
+ * @example
193
+ * // 基本用法:延迟 2 秒后打印消息
194
+ * console.log('开始');
195
+ * await sleep(2000);
196
+ * console.log('2秒后执行');
197
+ *
198
+ * @example
199
+ * // 带回调函数的用法:延迟 1 秒后执行清理工作
200
+ * sleep(1000, () => {
201
+ * console.log('执行清理操作...');
202
+ * // 清理代码...
203
+ * });
204
+ *
205
+ * @example
206
+ * // 在循环中使用:每次迭代后延迟 500 毫秒
207
+ * for (let i = 0; i < 5; i++) {
208
+ * console.log(`当前值: ${i}`);
209
+ * await sleep(500);
210
+ * }
211
+ */
212
+ declare function sleep(delay?: number, fn?: () => void): Promise<void>;
183
213
  /** @使用方式
184
214
  * 1. 在el-form中使用
185
215
  name: [ proxy.validate('name', { message: '你干嘛哈哈' })],
package/dist/index.d.ts CHANGED
@@ -130,8 +130,9 @@ declare function clone(data: any, times?: number): any;
130
130
  * formatTime(1541927611000); //2018-11-11 17:13:21
131
131
  * formatTime(1541927611000, "{y}年{m}月{d}日 {h}时{m}分{s}秒"); // 2018年11月11日 17时11分31秒
132
132
  * formatTime(1541927611, "{y}/{m}/{d} {h}:{m}:{s}"); // 2018/11/11 17:11:31
133
- * formatTime(new Date()); //2018-11-11 17:13:21
134
- * formatTime(new Date().getTime()); //2018-11-11 17:13:21
133
+ * formatTime(new Date()); // 2018-11-11 17:13:21
134
+ * formatTime(new Date().getTime()); // 2018-11-11 17:13:21
135
+ * formatTime('1764128798.456'); // 2025/11/26 11:11:38
135
136
  */
136
137
  declare function formatTime(time: any, cFormat?: string): any;
137
138
  /**
@@ -179,7 +180,36 @@ declare function uuid(type?: string, length?: number, { emailStr, timeStr, start
179
180
  * getType(123) number
180
181
  */
181
182
  declare function getType(type: any): string;
182
- declare function sleep(delay?: number, fn?: () => void): Promise<unknown>;
183
+ /**
184
+ * 一个辅助函数,用于在代码中创建一个暂停(延迟)。
185
+ * 它返回一个 Promise,你可以在 `await` 后使用它来实现类似 "sleep" 的效果。
186
+ *
187
+ * @param delay - 等待的毫秒数。默认值为 0,表示不延迟。
188
+ * @param fn - (可选) 一个在延迟结束后立即执行的函数。
189
+ *
190
+ * @returns 一个 Promise,当延迟结束后解析(resolve)。
191
+ *
192
+ * @example
193
+ * // 基本用法:延迟 2 秒后打印消息
194
+ * console.log('开始');
195
+ * await sleep(2000);
196
+ * console.log('2秒后执行');
197
+ *
198
+ * @example
199
+ * // 带回调函数的用法:延迟 1 秒后执行清理工作
200
+ * sleep(1000, () => {
201
+ * console.log('执行清理操作...');
202
+ * // 清理代码...
203
+ * });
204
+ *
205
+ * @example
206
+ * // 在循环中使用:每次迭代后延迟 500 毫秒
207
+ * for (let i = 0; i < 5; i++) {
208
+ * console.log(`当前值: ${i}`);
209
+ * await sleep(500);
210
+ * }
211
+ */
212
+ declare function sleep(delay?: number, fn?: () => void): Promise<void>;
183
213
  /** @使用方式
184
214
  * 1. 在el-form中使用
185
215
  name: [ proxy.validate('name', { message: '你干嘛哈哈' })],
package/dist/index.mjs CHANGED
@@ -229,7 +229,12 @@ function formatTime(time, cFormat = "{y}-{m}-{d} {h}:{i}:{s}") {
229
229
  if (typeof time === "object") {
230
230
  date = time;
231
231
  } else {
232
- if (("" + time).length === 10) time = parseInt(time) * 1e3;
232
+ const timeStr = "" + time;
233
+ if (timeStr.includes(".") && !isNaN(parseFloat(timeStr))) {
234
+ time = parseFloat(time) * 1e3;
235
+ } else if (timeStr.length === 10) {
236
+ time = parseInt(time) * 1e3;
237
+ }
233
238
  date = new Date(time);
234
239
  }
235
240
  const formatObj = {
@@ -648,26 +653,15 @@ function formatBytes(bytes, options = {}) {
648
653
  } else {
649
654
  return bytes;
650
655
  }
651
- if (bytes <= 0) {
652
- return bytes.toFixed(digit) + " B";
656
+ if (bytes <= 1) {
657
+ return Math[roundType](bytes * Math.pow(10, digit)) / Math.pow(10, digit) + " B";
653
658
  }
654
659
  const k = 1024;
655
660
  const sizes = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];
656
661
  const i = Math.floor(Math.log(bytes) / Math.log(k));
657
662
  const power = Math.pow(k, i);
658
663
  let num = bytes / power;
659
- switch (roundType) {
660
- case "ceil":
661
- num = Math.ceil(num * Math.pow(10, digit)) / Math.pow(10, digit);
662
- break;
663
- case "round":
664
- num = Math.round(num * Math.pow(10, digit)) / Math.pow(10, digit);
665
- break;
666
- case "floor":
667
- default:
668
- num = Math.floor(num * Math.pow(10, digit)) / Math.pow(10, digit);
669
- break;
670
- }
664
+ num = Math[roundType](num * Math.pow(10, digit)) / Math.pow(10, digit);
671
665
  let res = num.toFixed(digit) + " " + sizes[i];
672
666
  if (thousands) {
673
667
  res = formatThousands(res);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oeos-components/utils",
3
- "version": "0.0.15",
3
+ "version": "0.0.16",
4
4
  "description": "utils of oeos-components",
5
5
  "license": "MIT",
6
6
  "type": "commonjs",
@@ -18,7 +18,7 @@
18
18
  "stub": "npx unbuild --stub",
19
19
  "version": "git add . && git commit -am \"chore: release v$npm_package_version\"",
20
20
  "postversion": "git push && git push origin --tags && npm publish",
21
- "release": "npx unbuild && npm version patch && gg \"chore: release v$(npm pkg get version | sed 's/\"//g')\" && npm publish"
21
+ "release": "npx unbuild && npm version patch && gg \"chore: release @oeos-components/utils v$(npm pkg get version | sed 's/\"//g')\" && npm publish"
22
22
  },
23
23
  "author": "",
24
24
  "dependencies": {