util-helpers 5.0.1 → 5.0.3
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/util-helpers.js +49 -112
- 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/findTreeNode.js +5 -18
- package/esm/findTreeNodes.js +4 -17
- package/esm/findTreeSelect.js +10 -20
- package/esm/loadImageWithBlob.js +5 -17
- package/lib/VERSION.js +1 -1
- package/lib/findTreeNode.js +4 -17
- package/lib/findTreeNodes.js +3 -16
- package/lib/findTreeSelect.js +9 -19
- package/lib/loadImageWithBlob.js +5 -17
- package/package.json +5 -5
- package/types/loadImageWithBlob.d.ts +1 -1
- package/types/transformObjectValue.d.ts +4 -5
package/esm/VERSION.js
CHANGED
package/esm/findTreeNode.js
CHANGED
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { isArray, isObject } from 'ut2';
|
|
1
|
+
import { isArray, forEach, isObject } from 'ut2';
|
|
3
2
|
|
|
4
3
|
function findTreeNode(tree, predicate, childrenField) {
|
|
5
|
-
var e_1, _a;
|
|
6
4
|
if (childrenField === void 0) { childrenField = 'children'; }
|
|
7
5
|
var stack = [];
|
|
8
6
|
var node;
|
|
9
|
-
if (
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
try {
|
|
13
|
-
for (var tree_1 = __values(tree), tree_1_1 = tree_1.next(); !tree_1_1.done; tree_1_1 = tree_1.next()) {
|
|
14
|
-
var item = tree_1_1.value;
|
|
7
|
+
if (isArray(tree)) {
|
|
8
|
+
forEach(tree, function (item) {
|
|
15
9
|
stack.push(item);
|
|
16
10
|
while (stack.length) {
|
|
17
11
|
var temp = stack.pop();
|
|
@@ -29,16 +23,9 @@ function findTreeNode(tree, predicate, childrenField) {
|
|
|
29
23
|
}
|
|
30
24
|
}
|
|
31
25
|
if (node) {
|
|
32
|
-
|
|
26
|
+
return false;
|
|
33
27
|
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
37
|
-
finally {
|
|
38
|
-
try {
|
|
39
|
-
if (tree_1_1 && !tree_1_1.done && (_a = tree_1.return)) _a.call(tree_1);
|
|
40
|
-
}
|
|
41
|
-
finally { if (e_1) throw e_1.error; }
|
|
28
|
+
});
|
|
42
29
|
}
|
|
43
30
|
return node;
|
|
44
31
|
}
|
package/esm/findTreeNodes.js
CHANGED
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { isArray, isObject } from 'ut2';
|
|
1
|
+
import { isArray, forEach, isObject } from 'ut2';
|
|
3
2
|
|
|
4
3
|
function findTreeNodes(tree, predicate, childrenField) {
|
|
5
|
-
var e_1, _a;
|
|
6
4
|
if (childrenField === void 0) { childrenField = 'children'; }
|
|
7
5
|
var stack = [];
|
|
8
6
|
var nodes = [];
|
|
9
|
-
if (
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
try {
|
|
13
|
-
for (var tree_1 = __values(tree), tree_1_1 = tree_1.next(); !tree_1_1.done; tree_1_1 = tree_1.next()) {
|
|
14
|
-
var item = tree_1_1.value;
|
|
7
|
+
if (isArray(tree)) {
|
|
8
|
+
forEach(tree, function (item) {
|
|
15
9
|
stack.push(item);
|
|
16
10
|
while (stack.length) {
|
|
17
11
|
var temp = stack.pop();
|
|
@@ -27,14 +21,7 @@ function findTreeNodes(tree, predicate, childrenField) {
|
|
|
27
21
|
}
|
|
28
22
|
}
|
|
29
23
|
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
33
|
-
finally {
|
|
34
|
-
try {
|
|
35
|
-
if (tree_1_1 && !tree_1_1.done && (_a = tree_1.return)) _a.call(tree_1);
|
|
36
|
-
}
|
|
37
|
-
finally { if (e_1) throw e_1.error; }
|
|
24
|
+
});
|
|
38
25
|
}
|
|
39
26
|
return nodes;
|
|
40
27
|
}
|
package/esm/findTreeSelect.js
CHANGED
|
@@ -1,39 +1,29 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { isArray, isObject } from 'ut2';
|
|
1
|
+
import { isArray, forEach, isObject } from 'ut2';
|
|
3
2
|
|
|
4
3
|
function internalFindTreeSelect(tree, predicate, childrenField, path) {
|
|
5
|
-
var e_1, _a;
|
|
6
4
|
if (path === void 0) { path = []; }
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
try {
|
|
11
|
-
for (var tree_1 = __values(tree), tree_1_1 = tree_1.next(); !tree_1_1.done; tree_1_1 = tree_1.next()) {
|
|
12
|
-
var item = tree_1_1.value;
|
|
5
|
+
var result = [];
|
|
6
|
+
if (isArray(tree)) {
|
|
7
|
+
forEach(tree, function (item) {
|
|
13
8
|
path.push(item);
|
|
14
9
|
if (predicate(item)) {
|
|
15
|
-
|
|
10
|
+
result = path;
|
|
11
|
+
return false;
|
|
16
12
|
}
|
|
17
13
|
if (isObject(item)) {
|
|
18
14
|
var childs = item[childrenField];
|
|
19
15
|
if (isArray(childs) && childs.length > 0) {
|
|
20
16
|
var findChildren = internalFindTreeSelect(childs, predicate, childrenField, path);
|
|
21
17
|
if (findChildren.length > 0) {
|
|
22
|
-
|
|
18
|
+
result = findChildren;
|
|
19
|
+
return false;
|
|
23
20
|
}
|
|
24
21
|
}
|
|
25
22
|
}
|
|
26
23
|
path.pop();
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
30
|
-
finally {
|
|
31
|
-
try {
|
|
32
|
-
if (tree_1_1 && !tree_1_1.done && (_a = tree_1.return)) _a.call(tree_1);
|
|
33
|
-
}
|
|
34
|
-
finally { if (e_1) throw e_1.error; }
|
|
24
|
+
});
|
|
35
25
|
}
|
|
36
|
-
return
|
|
26
|
+
return result;
|
|
37
27
|
}
|
|
38
28
|
function findTreeSelect(tree, predicate, childrenField) {
|
|
39
29
|
if (childrenField === void 0) { childrenField = 'children'; }
|
package/esm/loadImageWithBlob.js
CHANGED
|
@@ -1,23 +1,11 @@
|
|
|
1
|
-
import { createObjectURL, revokeObjectURL } from './utils/native.js';
|
|
2
1
|
import getFileBlob from './getFileBlob.js';
|
|
2
|
+
import loadImage from './loadImage.js';
|
|
3
3
|
|
|
4
4
|
function loadImageWithBlob(img, ajaxOptions) {
|
|
5
|
-
return
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var image = new Image();
|
|
10
|
-
image.onload = function () {
|
|
11
|
-
resolve({ blob: blob, image: image });
|
|
12
|
-
};
|
|
13
|
-
image.onerror = function (err) {
|
|
14
|
-
revokeObjectURL(url);
|
|
15
|
-
console.error("[loadImageWithBlob] The image load failed, '".concat(img, "'."));
|
|
16
|
-
reject(err);
|
|
17
|
-
};
|
|
18
|
-
image.src = url;
|
|
19
|
-
})
|
|
20
|
-
.catch(reject);
|
|
5
|
+
return getFileBlob(img, ajaxOptions).then(function (blob) {
|
|
6
|
+
return loadImage(blob).then(function (image) {
|
|
7
|
+
return { blob: blob, image: image };
|
|
8
|
+
});
|
|
21
9
|
});
|
|
22
10
|
}
|
|
23
11
|
|
package/lib/VERSION.js
CHANGED
package/lib/findTreeNode.js
CHANGED
|
@@ -1,19 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tslib = require('tslib');
|
|
4
3
|
var ut2 = require('ut2');
|
|
5
4
|
|
|
6
5
|
function findTreeNode(tree, predicate, childrenField) {
|
|
7
|
-
var e_1, _a;
|
|
8
6
|
if (childrenField === void 0) { childrenField = 'children'; }
|
|
9
7
|
var stack = [];
|
|
10
8
|
var node;
|
|
11
|
-
if (
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
try {
|
|
15
|
-
for (var tree_1 = tslib.__values(tree), tree_1_1 = tree_1.next(); !tree_1_1.done; tree_1_1 = tree_1.next()) {
|
|
16
|
-
var item = tree_1_1.value;
|
|
9
|
+
if (ut2.isArray(tree)) {
|
|
10
|
+
ut2.forEach(tree, function (item) {
|
|
17
11
|
stack.push(item);
|
|
18
12
|
while (stack.length) {
|
|
19
13
|
var temp = stack.pop();
|
|
@@ -31,16 +25,9 @@ function findTreeNode(tree, predicate, childrenField) {
|
|
|
31
25
|
}
|
|
32
26
|
}
|
|
33
27
|
if (node) {
|
|
34
|
-
|
|
28
|
+
return false;
|
|
35
29
|
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
39
|
-
finally {
|
|
40
|
-
try {
|
|
41
|
-
if (tree_1_1 && !tree_1_1.done && (_a = tree_1.return)) _a.call(tree_1);
|
|
42
|
-
}
|
|
43
|
-
finally { if (e_1) throw e_1.error; }
|
|
30
|
+
});
|
|
44
31
|
}
|
|
45
32
|
return node;
|
|
46
33
|
}
|
package/lib/findTreeNodes.js
CHANGED
|
@@ -1,19 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tslib = require('tslib');
|
|
4
3
|
var ut2 = require('ut2');
|
|
5
4
|
|
|
6
5
|
function findTreeNodes(tree, predicate, childrenField) {
|
|
7
|
-
var e_1, _a;
|
|
8
6
|
if (childrenField === void 0) { childrenField = 'children'; }
|
|
9
7
|
var stack = [];
|
|
10
8
|
var nodes = [];
|
|
11
|
-
if (
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
try {
|
|
15
|
-
for (var tree_1 = tslib.__values(tree), tree_1_1 = tree_1.next(); !tree_1_1.done; tree_1_1 = tree_1.next()) {
|
|
16
|
-
var item = tree_1_1.value;
|
|
9
|
+
if (ut2.isArray(tree)) {
|
|
10
|
+
ut2.forEach(tree, function (item) {
|
|
17
11
|
stack.push(item);
|
|
18
12
|
while (stack.length) {
|
|
19
13
|
var temp = stack.pop();
|
|
@@ -29,14 +23,7 @@ function findTreeNodes(tree, predicate, childrenField) {
|
|
|
29
23
|
}
|
|
30
24
|
}
|
|
31
25
|
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
35
|
-
finally {
|
|
36
|
-
try {
|
|
37
|
-
if (tree_1_1 && !tree_1_1.done && (_a = tree_1.return)) _a.call(tree_1);
|
|
38
|
-
}
|
|
39
|
-
finally { if (e_1) throw e_1.error; }
|
|
26
|
+
});
|
|
40
27
|
}
|
|
41
28
|
return nodes;
|
|
42
29
|
}
|
package/lib/findTreeSelect.js
CHANGED
|
@@ -1,41 +1,31 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tslib = require('tslib');
|
|
4
3
|
var ut2 = require('ut2');
|
|
5
4
|
|
|
6
5
|
function internalFindTreeSelect(tree, predicate, childrenField, path) {
|
|
7
|
-
var e_1, _a;
|
|
8
6
|
if (path === void 0) { path = []; }
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
try {
|
|
13
|
-
for (var tree_1 = tslib.__values(tree), tree_1_1 = tree_1.next(); !tree_1_1.done; tree_1_1 = tree_1.next()) {
|
|
14
|
-
var item = tree_1_1.value;
|
|
7
|
+
var result = [];
|
|
8
|
+
if (ut2.isArray(tree)) {
|
|
9
|
+
ut2.forEach(tree, function (item) {
|
|
15
10
|
path.push(item);
|
|
16
11
|
if (predicate(item)) {
|
|
17
|
-
|
|
12
|
+
result = path;
|
|
13
|
+
return false;
|
|
18
14
|
}
|
|
19
15
|
if (ut2.isObject(item)) {
|
|
20
16
|
var childs = item[childrenField];
|
|
21
17
|
if (ut2.isArray(childs) && childs.length > 0) {
|
|
22
18
|
var findChildren = internalFindTreeSelect(childs, predicate, childrenField, path);
|
|
23
19
|
if (findChildren.length > 0) {
|
|
24
|
-
|
|
20
|
+
result = findChildren;
|
|
21
|
+
return false;
|
|
25
22
|
}
|
|
26
23
|
}
|
|
27
24
|
}
|
|
28
25
|
path.pop();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
32
|
-
finally {
|
|
33
|
-
try {
|
|
34
|
-
if (tree_1_1 && !tree_1_1.done && (_a = tree_1.return)) _a.call(tree_1);
|
|
35
|
-
}
|
|
36
|
-
finally { if (e_1) throw e_1.error; }
|
|
26
|
+
});
|
|
37
27
|
}
|
|
38
|
-
return
|
|
28
|
+
return result;
|
|
39
29
|
}
|
|
40
30
|
function findTreeSelect(tree, predicate, childrenField) {
|
|
41
31
|
if (childrenField === void 0) { childrenField = 'children'; }
|
package/lib/loadImageWithBlob.js
CHANGED
|
@@ -1,25 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var native = require('./utils/native.js');
|
|
4
3
|
var getFileBlob = require('./getFileBlob.js');
|
|
4
|
+
var loadImage = require('./loadImage.js');
|
|
5
5
|
|
|
6
6
|
function loadImageWithBlob(img, ajaxOptions) {
|
|
7
|
-
return
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
var image = new Image();
|
|
12
|
-
image.onload = function () {
|
|
13
|
-
resolve({ blob: blob, image: image });
|
|
14
|
-
};
|
|
15
|
-
image.onerror = function (err) {
|
|
16
|
-
native.revokeObjectURL(url);
|
|
17
|
-
console.error("[loadImageWithBlob] The image load failed, '".concat(img, "'."));
|
|
18
|
-
reject(err);
|
|
19
|
-
};
|
|
20
|
-
image.src = url;
|
|
21
|
-
})
|
|
22
|
-
.catch(reject);
|
|
7
|
+
return getFileBlob(img, ajaxOptions).then(function (blob) {
|
|
8
|
+
return loadImage(blob).then(function (image) {
|
|
9
|
+
return { blob: blob, image: image };
|
|
10
|
+
});
|
|
23
11
|
});
|
|
24
12
|
}
|
|
25
13
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "util-helpers",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.3",
|
|
4
4
|
"description": "一个基于业务场景的工具方法库",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -63,8 +63,8 @@
|
|
|
63
63
|
"@rollup/plugin-terser": "^0.4.4",
|
|
64
64
|
"@rollup/plugin-typescript": "^11.1.6",
|
|
65
65
|
"@types/jest": "^29.5.12",
|
|
66
|
-
"@typescript-eslint/eslint-plugin": "^7.
|
|
67
|
-
"@typescript-eslint/parser": "^7.
|
|
66
|
+
"@typescript-eslint/eslint-plugin": "^7.14.1",
|
|
67
|
+
"@typescript-eslint/parser": "^7.14.1",
|
|
68
68
|
"babel-jest": "^29.7.0",
|
|
69
69
|
"babel-plugin-minify-replace": "^0.5.0",
|
|
70
70
|
"commitizen": "^4.3.0",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"lint-staged": "^13.3.0",
|
|
81
81
|
"prettier": "^3.3.2",
|
|
82
82
|
"rollup": "^4.18.0",
|
|
83
|
-
"typescript": "^5.
|
|
83
|
+
"typescript": "^5.5.2"
|
|
84
84
|
},
|
|
85
85
|
"lint-staged": {
|
|
86
86
|
"**/*.ts": "eslint",
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
"cache2": "^3.0.0",
|
|
96
96
|
"emitter-pro": "^1.2.1",
|
|
97
97
|
"tslib": "^2.6.3",
|
|
98
|
-
"ut2": "^1.9.
|
|
98
|
+
"ut2": "^1.9.2"
|
|
99
99
|
},
|
|
100
100
|
"publishConfig": {
|
|
101
101
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -33,7 +33,7 @@ import getFileBlob from './getFileBlob';
|
|
|
33
33
|
*
|
|
34
34
|
*/
|
|
35
35
|
declare function loadImageWithBlob(img: string | Blob, ajaxOptions?: Parameters<typeof getFileBlob>[1]): Promise<{
|
|
36
|
-
image: HTMLImageElement;
|
|
37
36
|
blob: Blob;
|
|
37
|
+
image: HTMLImageElement;
|
|
38
38
|
}>;
|
|
39
39
|
export default loadImageWithBlob;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
type PropertyName = string | symbol;
|
|
2
1
|
interface TransformObjectValue {
|
|
3
|
-
<V>(arr: V[], fn: (value: V, index: number) =>
|
|
4
|
-
<V>(arr: V[], fn: (value: any, index: number) =>
|
|
5
|
-
<T extends object>(obj: T, fn: (value: T[keyof T], key: keyof T) =>
|
|
6
|
-
<T extends object>(obj: T, fn: (value: T[keyof T] extends object ? any : T[keyof T], key: T[keyof T] extends object ? any : keyof T) =>
|
|
2
|
+
<V, R>(arr: V[], fn: (value: V, index: number) => R, deep: false): R[];
|
|
3
|
+
<V, R>(arr: V[], fn: (value: any, index: number) => R, deep?: boolean): R[];
|
|
4
|
+
<T extends object, R>(obj: T, fn: (value: T[keyof T], key: keyof T) => R, deep: false): Record<keyof T, R>;
|
|
5
|
+
<T extends object, R>(obj: T, fn: (value: T[keyof T] extends object ? any : T[keyof T], key: T[keyof T] extends object ? any : keyof T) => R, deep?: boolean): Record<keyof T, R>;
|
|
7
6
|
<T>(obj: T, fn: (...args: any[]) => any): T;
|
|
8
7
|
}
|
|
9
8
|
/**
|