util-helpers 4.21.3 → 4.21.5
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/README.md +33 -33
- package/dist/util-helpers.js +88 -57
- package/dist/util-helpers.js.map +1 -1
- package/dist/util-helpers.min.js +1 -1
- package/dist/util-helpers.min.js.map +1 -1
- package/esm/VERSION.js +1 -1
- package/esm/compressImage.js +4 -3
- package/esm/fileReader.js +4 -3
- package/esm/index.js +1 -1
- package/esm/isChinese.js +11 -6
- package/esm/node_modules/.pnpm/emitter-pro@1.2.1/node_modules/emitter-pro/dist/emitter-pro.esm.js +98 -0
- package/esm/safeDate.js +4 -3
- package/esm/utils/Cache.js +1 -1
- package/esm/utils/native.js +2 -1
- package/lib/VERSION.js +1 -1
- package/lib/compressImage.js +4 -3
- package/lib/fileReader.js +4 -3
- package/lib/index.js +1 -1
- package/lib/isChinese.js +11 -6
- package/lib/node_modules/.pnpm/emitter-pro@1.2.1/node_modules/emitter-pro/dist/emitter-pro.esm.js +100 -0
- package/lib/safeDate.js +4 -3
- package/lib/utils/Cache.js +1 -1
- package/lib/utils/native.js +1 -0
- package/package.json +16 -14
- package/types/ajax.d.ts +1 -1
- package/types/compressImage.d.ts +66 -4
- package/types/fileReader.d.ts +31 -2
- package/types/filterTree.d.ts +2 -2
- package/types/findTreeNode.d.ts +2 -2
- package/types/findTreeNodes.d.ts +2 -2
- package/types/findTreeSelect.d.ts +2 -2
- package/types/formatMobile.d.ts +1 -1
- package/types/isChinese.d.ts +1 -1
- package/types/listToTree.d.ts +3 -3
- package/types/safeDate.d.ts +29 -3
- package/types/transformFieldNames.d.ts +3 -3
- package/types/treeToList.d.ts +2 -2
- package/types/utils/native.d.ts +6 -0
- package/esm/node_modules/.pnpm/emitter-pro@1.0.3/node_modules/emitter-pro/dist/emitter-pro.esm.js +0 -72
- package/lib/node_modules/.pnpm/emitter-pro@1.0.3/node_modules/emitter-pro/dist/emitter-pro.esm.js +0 -74
package/types/filterTree.d.ts
CHANGED
|
@@ -7,11 +7,11 @@ type NodeAssign = 'spread' | 'self';
|
|
|
7
7
|
* @static
|
|
8
8
|
* @alias module:Tree.filterTree
|
|
9
9
|
* @since 4.15.0
|
|
10
|
-
* @param {
|
|
10
|
+
* @param {Object[]} tree 树结构数据
|
|
11
11
|
* @param {function} predicate 遍历每一项执行的函数,参数是当前遍历到的节点数据,如果返回 `Truthy` ,结果将包含该节点
|
|
12
12
|
* @param {string} [childrenField='children'] 子级字段名
|
|
13
13
|
* @param {'spread'|'self'} [nodeAssign='spread'] 节点赋值方式。spread表示使用展开运算符创建新值,self表示使用自身对象。
|
|
14
|
-
* @returns {
|
|
14
|
+
* @returns {Object[]}
|
|
15
15
|
* @example
|
|
16
16
|
* const menus = [{ id: '1', name: '首页', code: 'trade', pid: null }, { id: '2', name: '交易管理', code: 'trade', pid: null, children: [{ id: '3', name: '交易查询', code: 'trade-1', pid: '2', children: [{ id: '4', name: '交易查询-查询操作', code: 'trade-1-1', pid: '3' }]}]}, { id: '5', name: '权限管理', code: 'authorization', pid: null, children: [{ id: '6', name: '角色管理', code: 'authorization-1', pid: '5' }, { id: '7', name: '用户管理', code: 'authorization-2', pid: '5' }]}];
|
|
17
17
|
*
|
package/types/findTreeNode.d.ts
CHANGED
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
* @static
|
|
5
5
|
* @alias module:Tree.findTreeNode
|
|
6
6
|
* @since 4.14.0
|
|
7
|
-
* @param {
|
|
7
|
+
* @param {Object[]} tree 树结构数据
|
|
8
8
|
* @param {function} predicate 遍历每一项执行的函数,参数是当前遍历到的节点数据,如果返回 `Truthy` ,将返回该节点
|
|
9
9
|
* @param {string} [childrenField='children'] 子级字段名
|
|
10
|
-
* @returns {
|
|
10
|
+
* @returns {Object|undefined}
|
|
11
11
|
* @example
|
|
12
12
|
* const menus = [{ id: '1', name: '首页', code: 'trade', pid: null }, { id: '2', name: '交易管理', code: 'trade', pid: null, children: [{ id: '3', name: '交易查询', code: 'trade-1', pid: '2', children: [{ id: '4', name: '交易查询-查询操作', code: 'trade-1-1', pid: '3' }]}]}, { id: '5', name: '权限管理', code: 'authorization', pid: null, children: [{ id: '6', name: '角色管理', code: 'authorization-1', pid: '5' }, { id: '7', name: '用户管理', code: 'authorization-2', pid: '5' }]}];
|
|
13
13
|
*
|
package/types/findTreeNodes.d.ts
CHANGED
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
* @static
|
|
5
5
|
* @alias module:Tree.findTreeNodes
|
|
6
6
|
* @since 4.15.0
|
|
7
|
-
* @param {
|
|
7
|
+
* @param {Object[]} tree 树结构数据
|
|
8
8
|
* @param {function} predicate 遍历每一项执行的函数,参数是当前遍历到的节点数据,如果返回 Truthy ,返回结果将包含该节点
|
|
9
9
|
* @param {string} [childrenField='children'] 子级字段名
|
|
10
|
-
* @returns {
|
|
10
|
+
* @returns {Object[]}
|
|
11
11
|
* @example
|
|
12
12
|
* const menus = [{ id: '1', name: '首页', code: 'trade', pid: null }, { id: '2', name: '交易管理', code: 'trade', pid: null, children: [{ id: '3', name: '交易查询', code: 'trade-1', pid: '2', children: [{ id: '4', name: '交易查询-查询操作', code: 'trade-1-1', pid: '3' }]}]}, { id: '5', name: '权限管理', code: 'authorization', pid: null, children: [{ id: '6', name: '角色管理', code: 'authorization-1', pid: '5' }, { id: '7', name: '用户管理', code: 'authorization-2', pid: '5' }]}];
|
|
13
13
|
*
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
* @static
|
|
5
5
|
* @alias module:Tree.findTreeSelect
|
|
6
6
|
* @since 4.14.0
|
|
7
|
-
* @param {
|
|
7
|
+
* @param {Object[]} tree 树结构数据
|
|
8
8
|
* @param {function} predicate 遍历每一项执行的函数,参数是当前遍历到的节点数据,如果返回 Truthy 将返回包含该节点的所有父级节点
|
|
9
9
|
* @param {string} [childrenField='children'] 子级字段名
|
|
10
|
-
* @returns {
|
|
10
|
+
* @returns {Object[]}
|
|
11
11
|
* @example
|
|
12
12
|
* const menus = [{ id: '1', name: '首页', code: 'trade', pid: null }, { id: '2', name: '交易管理', code: 'trade', pid: null, children: [{ id: '3', name: '交易查询', code: 'trade-1', pid: '2', children: [{ id: '4', name: '交易查询-查询操作', code: 'trade-1-1', pid: '3' }]}]}, { id: '5', name: '权限管理', code: 'authorization', pid: null, children: [{ id: '6', name: '角色管理', code: 'authorization-1', pid: '5' }, { id: '7', name: '用户管理', code: 'authorization-2', pid: '5' }]}];
|
|
13
13
|
*
|
package/types/formatMobile.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ type Options = {
|
|
|
10
10
|
* @alias module:Processor.formatMobile
|
|
11
11
|
* @since 4.5.0
|
|
12
12
|
* @param {string} mobileNo 手机号码
|
|
13
|
-
* @param {
|
|
13
|
+
* @param {Object} [options] 配置项
|
|
14
14
|
* @param {string} [options.spaceMark=' '] 间隔字符
|
|
15
15
|
* @returns {string} 格式化后的手机号码
|
|
16
16
|
* @example
|
package/types/isChinese.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ type Options = {
|
|
|
14
14
|
* @param {*} value 要检测的值
|
|
15
15
|
* @param {Object} [options] 配置项
|
|
16
16
|
* @param {boolean} [options.loose=false] 宽松模式。如果为true,只要包含中文即为true
|
|
17
|
-
* @param {boolean} [options.useExtend=false] 使用统一表意文字扩展A-
|
|
17
|
+
* @param {boolean} [options.useExtend=false] 使用统一表意文字扩展A-I。注意:如果不支持 `RegExp.prototype.unicode`,扩展字符集将自动不生效,如IE浏览器。
|
|
18
18
|
* @returns {boolean} 值是否为中文
|
|
19
19
|
* @example
|
|
20
20
|
*
|
package/types/listToTree.d.ts
CHANGED
|
@@ -12,14 +12,14 @@ type Options = {
|
|
|
12
12
|
* @static
|
|
13
13
|
* @alias module:Tree.listToTree
|
|
14
14
|
* @since 4.14.0
|
|
15
|
-
* @param {
|
|
16
|
-
* @param {
|
|
15
|
+
* @param {Object[]} list 列表数据
|
|
16
|
+
* @param {Object} [options] 配置项
|
|
17
17
|
* @param {string} [options.keyField='id'] 当前数据的键值字段名称
|
|
18
18
|
* @param {string} [options.parentField='pid'] 当前数据的父级字段名称
|
|
19
19
|
* @param {string} [options.childrenField='children'] 子级字段名称
|
|
20
20
|
* @param {'none'|'null'|'array'} [options.emptyChildrenValue='none'] 子级为空时的值,none表示删除该子级,null表示为null,array表示为[]。
|
|
21
21
|
* @param {'spread'|'self'} [options.nodeAssign='spread'] 节点赋值方式。spread表示使用展开运算符创建新值,self表示使用自身对象。
|
|
22
|
-
* @returns {
|
|
22
|
+
* @returns {Object[]} 树结构
|
|
23
23
|
* @example
|
|
24
24
|
*
|
|
25
25
|
* const menus = [
|
package/types/safeDate.d.ts
CHANGED
|
@@ -1,4 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
interface SafeDate {
|
|
2
|
+
(): Date;
|
|
3
|
+
(value: number | string | Date): Date;
|
|
4
|
+
(year: number, monthIndex: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* 创建一个 Date 实例日期对象,同 <a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date#%E5%8F%82%E6%95%B0">new Date()</a>
|
|
8
|
+
*
|
|
9
|
+
* 规避了苹果设备浏览器不支持部分格式(例如,YYYY-MM-DD HH-mm 或 YYYY.MM.DD)。
|
|
10
|
+
*
|
|
11
|
+
* 如果参数为 undefined 正常返回 Date 。
|
|
12
|
+
*
|
|
13
|
+
* @function
|
|
14
|
+
* @alias module:Processor.safeDate
|
|
15
|
+
* @since 4.4.0
|
|
16
|
+
* @see {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date | Date}
|
|
17
|
+
* @param {string|number|Date} [value] 日期时间字符串、毫秒数、日期对象
|
|
18
|
+
* @param {...number} [args] 月/日/时/分/秒/毫秒
|
|
19
|
+
* @returns {Date} Date 实例日期对象
|
|
20
|
+
* @example
|
|
21
|
+
*
|
|
22
|
+
* safeDate('2022-1-1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
23
|
+
* safeDate('2022/1/1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
24
|
+
* safeDate('2022.1.1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
25
|
+
* safeDate('2022.1.1 11:11'); // Sat Jan 01 2022 11:11:00 GMT+0800 (中国标准时间)
|
|
26
|
+
* safeDate(99, 1); // Mon Feb 01 1999 00:00:00 GMT+0800 (中国标准时间)
|
|
27
|
+
* safeDate(1646711233171); // Tue Mar 08 2022 11:47:13 GMT+0800 (中国标准时间)
|
|
28
|
+
*/
|
|
29
|
+
declare const safeDate: SafeDate;
|
|
4
30
|
export default safeDate;
|
|
@@ -9,11 +9,11 @@ type TransformFieldNames<D extends any, F extends Record<string, any>, C extends
|
|
|
9
9
|
* @static
|
|
10
10
|
* @alias module:Tree.transformFieldNames
|
|
11
11
|
* @since 4.14.0
|
|
12
|
-
* @param {
|
|
13
|
-
* @param {
|
|
12
|
+
* @param {Object[]} data 对象数组。如果是树结构数据,需要指定第三个参数 childrenField
|
|
13
|
+
* @param {Object} fieldNames 字段名映射
|
|
14
14
|
* @param {string} [childrenField] 子级数据字段名
|
|
15
15
|
* @param {'spread'|'self'} [nodeAssign='spread'] 节点赋值方式。spread表示使用展开运算符创建新值,self表示使用自身对象。
|
|
16
|
-
* @returns {
|
|
16
|
+
* @returns {Object[]}
|
|
17
17
|
* @example
|
|
18
18
|
*
|
|
19
19
|
* const options = [{code: '1', name: 'one'},{code:'2', name:'two'}];
|
package/types/treeToList.d.ts
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
* @static
|
|
5
5
|
* @alias module:Tree.treeToList
|
|
6
6
|
* @since 4.14.0
|
|
7
|
-
* @param {
|
|
7
|
+
* @param {Object[]} tree 树结构数据
|
|
8
8
|
* @param {string} childrenField 子级字段名称
|
|
9
|
-
* @returns {
|
|
9
|
+
* @returns {Object[]} 列表数据
|
|
10
10
|
* @example
|
|
11
11
|
* const menus = [{ id: '1', name: '首页', code: 'trade', pid: null }, { id: '2', name: '交易管理', code: 'trade', pid: null, children: [{ id: '3', name: '交易查询', code: 'trade-1', pid: '2', children: [{ id: '4', name: '交易查询-查询操作', code: 'trade-1-1', pid: '3' }]}]}, { id: '5', name: '权限管理', code: 'authorization', pid: null, children: [{ id: '6', name: '角色管理', code: 'authorization-1', pid: '5' }, { id: '7', name: '用户管理', code: 'authorization-2', pid: '5' }]}];
|
|
12
12
|
*
|
package/types/utils/native.d.ts
CHANGED
|
@@ -2,5 +2,11 @@ export declare const objectKeys: {
|
|
|
2
2
|
(o: object): string[];
|
|
3
3
|
(o: {}): string[];
|
|
4
4
|
};
|
|
5
|
+
export declare const objectValues: {
|
|
6
|
+
<T>(o: {
|
|
7
|
+
[s: string]: T;
|
|
8
|
+
} | ArrayLike<T>): T[];
|
|
9
|
+
(o: {}): any[];
|
|
10
|
+
};
|
|
5
11
|
export declare const createObjectURL: (obj: Blob | MediaSource) => string;
|
|
6
12
|
export declare const revokeObjectURL: (url: string) => void;
|
package/esm/node_modules/.pnpm/emitter-pro@1.0.3/node_modules/emitter-pro/dist/emitter-pro.esm.js
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
var EmitterPro = /** @class */ (function () {
|
|
2
|
-
function EmitterPro() {
|
|
3
|
-
this.handler = {};
|
|
4
|
-
}
|
|
5
|
-
EmitterPro.prototype.eventNames = function () {
|
|
6
|
-
return Object.keys(this.handler);
|
|
7
|
-
};
|
|
8
|
-
EmitterPro.prototype.listeners = function (eventName) {
|
|
9
|
-
return this.handler[eventName] || [];
|
|
10
|
-
};
|
|
11
|
-
EmitterPro.prototype.hasListener = function (eventName, listener) {
|
|
12
|
-
return this.listeners(eventName).some(function (item) { return item === listener; });
|
|
13
|
-
};
|
|
14
|
-
EmitterPro.prototype.on = function (eventName, listener) {
|
|
15
|
-
if (!this.handler[eventName]) {
|
|
16
|
-
this.handler[eventName] = [listener];
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
// 不允许添加相同的方法
|
|
20
|
-
if (!this.hasListener(eventName, listener)) {
|
|
21
|
-
this.handler[eventName].push(listener);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
return this;
|
|
25
|
-
};
|
|
26
|
-
EmitterPro.prototype.off = function (eventName, listener) {
|
|
27
|
-
if (this.handler[eventName]) {
|
|
28
|
-
if (typeof listener === 'function') {
|
|
29
|
-
this.handler[eventName] = this.handler[eventName].filter(function (item) { return item !== listener; });
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
delete this.handler[eventName];
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
return this;
|
|
36
|
-
};
|
|
37
|
-
EmitterPro.prototype.emit = function (eventName) {
|
|
38
|
-
var args = [];
|
|
39
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
40
|
-
args[_i - 1] = arguments[_i];
|
|
41
|
-
}
|
|
42
|
-
var listeners = this.listeners(eventName);
|
|
43
|
-
if (listeners.length > 0) {
|
|
44
|
-
listeners.forEach(function (listener) {
|
|
45
|
-
// eslint-disable-next-line prefer-spread
|
|
46
|
-
listener.apply(void 0, args);
|
|
47
|
-
});
|
|
48
|
-
return true;
|
|
49
|
-
}
|
|
50
|
-
return false;
|
|
51
|
-
};
|
|
52
|
-
EmitterPro.prototype.once = function (eventName, listener) {
|
|
53
|
-
var _this = this;
|
|
54
|
-
var wrap = function () {
|
|
55
|
-
var args = [];
|
|
56
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
57
|
-
args[_i] = arguments[_i];
|
|
58
|
-
}
|
|
59
|
-
// eslint-disable-next-line prefer-spread
|
|
60
|
-
listener.apply(void 0, args);
|
|
61
|
-
_this.off(eventName, wrap);
|
|
62
|
-
};
|
|
63
|
-
return this.on(eventName, wrap);
|
|
64
|
-
};
|
|
65
|
-
EmitterPro.prototype.offAll = function () {
|
|
66
|
-
this.handler = {};
|
|
67
|
-
return this;
|
|
68
|
-
};
|
|
69
|
-
return EmitterPro;
|
|
70
|
-
}());
|
|
71
|
-
|
|
72
|
-
export { EmitterPro as default };
|
package/lib/node_modules/.pnpm/emitter-pro@1.0.3/node_modules/emitter-pro/dist/emitter-pro.esm.js
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
exports.default = /** @class */ (function () {
|
|
4
|
-
function EmitterPro() {
|
|
5
|
-
this.handler = {};
|
|
6
|
-
}
|
|
7
|
-
EmitterPro.prototype.eventNames = function () {
|
|
8
|
-
return Object.keys(this.handler);
|
|
9
|
-
};
|
|
10
|
-
EmitterPro.prototype.listeners = function (eventName) {
|
|
11
|
-
return this.handler[eventName] || [];
|
|
12
|
-
};
|
|
13
|
-
EmitterPro.prototype.hasListener = function (eventName, listener) {
|
|
14
|
-
return this.listeners(eventName).some(function (item) { return item === listener; });
|
|
15
|
-
};
|
|
16
|
-
EmitterPro.prototype.on = function (eventName, listener) {
|
|
17
|
-
if (!this.handler[eventName]) {
|
|
18
|
-
this.handler[eventName] = [listener];
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
// 不允许添加相同的方法
|
|
22
|
-
if (!this.hasListener(eventName, listener)) {
|
|
23
|
-
this.handler[eventName].push(listener);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return this;
|
|
27
|
-
};
|
|
28
|
-
EmitterPro.prototype.off = function (eventName, listener) {
|
|
29
|
-
if (this.handler[eventName]) {
|
|
30
|
-
if (typeof listener === 'function') {
|
|
31
|
-
this.handler[eventName] = this.handler[eventName].filter(function (item) { return item !== listener; });
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
delete this.handler[eventName];
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
return this;
|
|
38
|
-
};
|
|
39
|
-
EmitterPro.prototype.emit = function (eventName) {
|
|
40
|
-
var args = [];
|
|
41
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
42
|
-
args[_i - 1] = arguments[_i];
|
|
43
|
-
}
|
|
44
|
-
var listeners = this.listeners(eventName);
|
|
45
|
-
if (listeners.length > 0) {
|
|
46
|
-
listeners.forEach(function (listener) {
|
|
47
|
-
// eslint-disable-next-line prefer-spread
|
|
48
|
-
listener.apply(void 0, args);
|
|
49
|
-
});
|
|
50
|
-
return true;
|
|
51
|
-
}
|
|
52
|
-
return false;
|
|
53
|
-
};
|
|
54
|
-
EmitterPro.prototype.once = function (eventName, listener) {
|
|
55
|
-
var _this = this;
|
|
56
|
-
var wrap = function () {
|
|
57
|
-
var args = [];
|
|
58
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
59
|
-
args[_i] = arguments[_i];
|
|
60
|
-
}
|
|
61
|
-
// eslint-disable-next-line prefer-spread
|
|
62
|
-
listener.apply(void 0, args);
|
|
63
|
-
_this.off(eventName, wrap);
|
|
64
|
-
};
|
|
65
|
-
return this.on(eventName, wrap);
|
|
66
|
-
};
|
|
67
|
-
EmitterPro.prototype.offAll = function () {
|
|
68
|
-
this.handler = {};
|
|
69
|
-
return this;
|
|
70
|
-
};
|
|
71
|
-
return EmitterPro;
|
|
72
|
-
}());
|
|
73
|
-
|
|
74
|
-
module.exports = exports.default;
|