ph-utils 0.4.4 → 0.4.6

Sign up to get free protection for your applications and to get access to all the features.
package/lib/color.js CHANGED
@@ -226,10 +226,6 @@ function getSaturation(hsv, i, light) {
226
226
  if (saturation > 1) {
227
227
  saturation = 1;
228
228
  }
229
- // 第一格的 s 限制在 0.06-0.1 之间
230
- if (light && saturation > 0.1) {
231
- saturation = 0.1;
232
- }
233
229
  if (saturation < 0.06) {
234
230
  saturation = 0.06;
235
231
  }
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 'node:path';
3
- import fs from 'node:fs';
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), 'utf-8', (err, data) => {
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, ...(opts || {}) };
33
- if (opts.json === true && typeof data === 'object') {
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 === 'function')
58
+ if (typeof cb === "function")
59
59
  cb(dr);
60
- if (typeof d === 'function')
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 === 'function')
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 === 'function') {
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, ...(numericParam || {}) };
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);
package/package.json CHANGED
@@ -52,7 +52,7 @@
52
52
  },
53
53
  "./*": "./lib/*"
54
54
  },
55
- "version": "0.4.4",
55
+ "version": "0.4.6",
56
56
  "type": "module",
57
57
  "repository": {
58
58
  "type": "git",