ph-utils 0.4.4 → 0.4.6
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/color.js +0 -4
- package/lib/date.d.ts +3 -3
- package/lib/date.js +4 -3
- package/lib/file.js +9 -9
- package/lib/index.js +1 -1
- package/package.json +1 -1
package/lib/color.js
CHANGED
package/lib/date.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 将日期格式化为指定形式的字符串
|
|
3
3
|
* @param date 日期
|
|
4
|
-
* @param pattern 格式化字符串 yyyy - 年, mm - 月, dd - 日, HH - 小时, MM - 分钟, ss -
|
|
4
|
+
* @param pattern 格式化字符串 yyyy - 年, mm - 月, dd - 日, HH - 小时, MM - 分钟, ss - 秒, S - 毫秒, 默认: yyyy-mm-dd HH:MM:ss
|
|
5
5
|
*/
|
|
6
|
-
export declare function format(date?: Date | string | number, pattern?: string): string;
|
|
6
|
+
export declare function format(date?: Date | string | number | null, pattern?: string): string;
|
|
7
7
|
/**
|
|
8
8
|
* 将指定的参数解析为日期对象(Date)
|
|
9
9
|
* 参考 dayjs 实现, 也可以参考 https://github.com/nomiddlename/date-format
|
|
10
10
|
* @param date 待解析的日期参数
|
|
11
11
|
*/
|
|
12
|
-
export declare function parse(date?: Date | string | number): Date;
|
|
12
|
+
export declare function parse(date?: Date | string | number | null): Date;
|
|
13
13
|
/**
|
|
14
14
|
* 设置日期的开始或者结束的点
|
|
15
15
|
* @param {Object} date 日期,能够被 parse 解析的日期
|
package/lib/date.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* node 和 web 端日期处理工具类
|
|
3
3
|
*/
|
|
4
4
|
// 配置日期格式的正则表达式
|
|
5
|
-
const REGEX_FORMAT = /yy(?:yy)?|([HMmds])\1?/g;
|
|
5
|
+
const REGEX_FORMAT = /yy(?:yy)?|([HMmds])\1?|(S)?/g;
|
|
6
6
|
// 由于 Date.parse() 不能正确解析 yyyy-dd-mm 格式的日期, 所以匹配手动解析
|
|
7
7
|
const REGEX_PARSE = /^(\d{4})-?(\d{1,2})-?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?.?(\d{1,3})?$/;
|
|
8
8
|
const ofArgs = {
|
|
@@ -72,9 +72,9 @@ function getLastDayOfYear(date, month) {
|
|
|
72
72
|
/**
|
|
73
73
|
* 将日期格式化为指定形式的字符串
|
|
74
74
|
* @param date 日期
|
|
75
|
-
* @param pattern 格式化字符串 yyyy - 年, mm - 月, dd - 日, HH - 小时, MM - 分钟, ss -
|
|
75
|
+
* @param pattern 格式化字符串 yyyy - 年, mm - 月, dd - 日, HH - 小时, MM - 分钟, ss - 秒, S - 毫秒, 默认: yyyy-mm-dd HH:MM:ss
|
|
76
76
|
*/
|
|
77
|
-
export function format(date, pattern = "yyyy-mm-dd HH:MM") {
|
|
77
|
+
export function format(date, pattern = "yyyy-mm-dd HH:MM:ss") {
|
|
78
78
|
// eslint-disable-next-line
|
|
79
79
|
date = parse(date);
|
|
80
80
|
const d = date.getDate();
|
|
@@ -96,6 +96,7 @@ export function format(date, pattern = "yyyy-mm-dd HH:MM") {
|
|
|
96
96
|
MM: p(M),
|
|
97
97
|
s: s,
|
|
98
98
|
ss: p(s),
|
|
99
|
+
S: p(date.getMilliseconds(), 3),
|
|
99
100
|
};
|
|
100
101
|
if (pattern != null) {
|
|
101
102
|
return pattern.replace(REGEX_FORMAT, (flag) => {
|
package/lib/file.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** nodejs 文件操作工具类 */
|
|
2
|
-
import path from
|
|
3
|
-
import fs from
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import fs from "node:fs";
|
|
4
4
|
/**
|
|
5
5
|
* 读取文件内容为JSON格式
|
|
6
6
|
* @param filepath 读取的文件路径
|
|
@@ -8,7 +8,7 @@ import fs from 'node:fs';
|
|
|
8
8
|
*/
|
|
9
9
|
export function readJSON(filepath) {
|
|
10
10
|
return new Promise((resolve, reject) => {
|
|
11
|
-
fs.readFile(path.resolve(filepath),
|
|
11
|
+
fs.readFile(path.resolve(filepath), "utf-8", (err, data) => {
|
|
12
12
|
if (err) {
|
|
13
13
|
reject(err);
|
|
14
14
|
}
|
|
@@ -29,8 +29,8 @@ export function readJSON(filepath) {
|
|
|
29
29
|
export function write(file, data, opts) {
|
|
30
30
|
return new Promise((resolve, reject) => {
|
|
31
31
|
let writeData = data.toString();
|
|
32
|
-
opts = { json: true, format: true, ...
|
|
33
|
-
if (opts.json === true && typeof data ===
|
|
32
|
+
opts = { json: true, format: true, ...opts };
|
|
33
|
+
if (opts.json === true && typeof data === "object") {
|
|
34
34
|
writeData = JSON.stringify(data, null, opts.format === true ? 2 : 0);
|
|
35
35
|
}
|
|
36
36
|
fs.writeFile(path.resolve(file), writeData, (err) => {
|
|
@@ -55,21 +55,21 @@ export function traverseDir(dir, callback, done) {
|
|
|
55
55
|
fs.readdir(path.resolve(dr), { withFileTypes: true }, (err, files) => {
|
|
56
56
|
if (err && err.errno === -4052) {
|
|
57
57
|
// 本身就是文件
|
|
58
|
-
if (typeof cb ===
|
|
58
|
+
if (typeof cb === "function")
|
|
59
59
|
cb(dr);
|
|
60
|
-
if (typeof d ===
|
|
60
|
+
if (typeof d === "function")
|
|
61
61
|
d(); // 遍历完成
|
|
62
62
|
}
|
|
63
63
|
else {
|
|
64
64
|
for (let i = 0, len = files.length; i < len; i++) {
|
|
65
65
|
const file = files[i];
|
|
66
66
|
if (file.isFile()) {
|
|
67
|
-
if (typeof cb ===
|
|
67
|
+
if (typeof cb === "function")
|
|
68
68
|
cb(path.join(dr, file.name));
|
|
69
69
|
clearTimeout(t);
|
|
70
70
|
t = setTimeout(() => {
|
|
71
71
|
setImmediate(() => {
|
|
72
|
-
if (typeof done ===
|
|
72
|
+
if (typeof done === "function") {
|
|
73
73
|
done();
|
|
74
74
|
}
|
|
75
75
|
});
|
package/lib/index.js
CHANGED
|
@@ -40,7 +40,7 @@ export function shieldMobile(mobile) {
|
|
|
40
40
|
* @returns true 是数字, false 不是数字
|
|
41
41
|
*/
|
|
42
42
|
export function isNumeric(str, numericParam) {
|
|
43
|
-
numericParam = { isPositive: false, isFloat: true, ...
|
|
43
|
+
numericParam = { isPositive: false, isFloat: true, ...numericParam };
|
|
44
44
|
const symbol = numericParam.isPositive ? "[+]?" : "[+-]?";
|
|
45
45
|
const main = numericParam.isFloat ? "([0-9]*[.])?[0-9]+" : "[0-9]+";
|
|
46
46
|
return new RegExp("^" + symbol + main + "$").test(str);
|