tools-min-ns 1.9.3 → 1.9.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 +9 -0
- package/esm/array/ArrayUtil.d.ts +5 -5
- package/esm/array/ArrayUtil.js +15 -10
- package/esm/base/BaseUtil.d.ts +9 -1
- package/esm/base/BaseUtil.js +32 -22
- package/esm/browser/fingerprint.d.ts +1 -1
- package/esm/check/CheckUtil.js +3 -3
- package/esm/number/NumberUtil.d.ts +2 -2
- package/esm/number/NumberUtil.js +23 -26
- package/esm/string/StringUtil.d.ts +4 -4
- package/esm/string/StringUtil.js +4 -4
- package/esm/url/UrlUtil.js +19 -8
- package/lib/array/ArrayUtil.d.ts +5 -5
- package/lib/array/ArrayUtil.js +15 -10
- package/lib/base/BaseUtil.d.ts +9 -1
- package/lib/base/BaseUtil.js +32 -22
- package/lib/browser/fingerprint.d.ts +1 -1
- package/lib/check/CheckUtil.js +3 -3
- package/lib/number/NumberUtil.d.ts +2 -2
- package/lib/number/NumberUtil.js +22 -25
- package/lib/string/StringUtil.d.ts +4 -4
- package/lib/string/StringUtil.js +4 -4
- package/lib/url/UrlUtil.js +19 -8
- package/package.json +1 -1
package/README.md
CHANGED
package/esm/array/ArrayUtil.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ declare namespace ArrayUtil {
|
|
|
22
22
|
* @example
|
|
23
23
|
* unique([1,3,1]) =>[1,3]
|
|
24
24
|
*/
|
|
25
|
-
|
|
25
|
+
function unique<T extends string | number>(arr: T[]): T[];
|
|
26
26
|
/**
|
|
27
27
|
* 求两个集合的并集
|
|
28
28
|
* @param { (number | string)[]} a 集合a
|
|
@@ -30,7 +30,7 @@ declare namespace ArrayUtil {
|
|
|
30
30
|
* @example
|
|
31
31
|
* union([1,3,4],[1,2]) => [1,2,3,4]
|
|
32
32
|
*/
|
|
33
|
-
|
|
33
|
+
function union<T extends string | number>(a: T[], b: T[]): T[];
|
|
34
34
|
/**
|
|
35
35
|
* 求两个集合的交集
|
|
36
36
|
* @param { (number | string)[]} a 集合a
|
|
@@ -38,7 +38,7 @@ declare namespace ArrayUtil {
|
|
|
38
38
|
* @example
|
|
39
39
|
* intersect([1,3,4],[1,2]) => [1]
|
|
40
40
|
*/
|
|
41
|
-
|
|
41
|
+
function intersect<T extends string | number>(a: T[], b: T[]): T[];
|
|
42
42
|
/**
|
|
43
43
|
* 求两个集合的差集
|
|
44
44
|
* @param { (number | string)[]} a 集合a
|
|
@@ -46,7 +46,7 @@ declare namespace ArrayUtil {
|
|
|
46
46
|
* @example
|
|
47
47
|
* difference([1,2,3],[1]) => [2,3]
|
|
48
48
|
*/
|
|
49
|
-
|
|
49
|
+
function difference<T extends string | number>(a: T[], b: T[]): T[];
|
|
50
50
|
/**
|
|
51
51
|
* 最大值
|
|
52
52
|
* @param {number[]} arr 数组
|
|
@@ -86,7 +86,7 @@ declare namespace ArrayUtil {
|
|
|
86
86
|
* @example
|
|
87
87
|
* remove([1,2,3],3) => [1,2]
|
|
88
88
|
*/
|
|
89
|
-
|
|
89
|
+
function remove<T extends string | number>(arr: T[], ele: T): T[];
|
|
90
90
|
/**
|
|
91
91
|
* 数组排序
|
|
92
92
|
* @param {number[]} arr 数组
|
package/esm/array/ArrayUtil.js
CHANGED
|
@@ -81,11 +81,12 @@ var ArrayUtil;
|
|
|
81
81
|
* @example
|
|
82
82
|
* unique([1,3,1]) =>[1,3]
|
|
83
83
|
*/
|
|
84
|
-
|
|
84
|
+
function unique(arr) {
|
|
85
85
|
if (!(arr === null || arr === void 0 ? void 0 : arr.length)) return [];
|
|
86
86
|
var list = __spreadArray([], __read(new Set(arr)), false);
|
|
87
87
|
return list;
|
|
88
|
-
}
|
|
88
|
+
}
|
|
89
|
+
ArrayUtil.unique = unique;
|
|
89
90
|
/**
|
|
90
91
|
* 求两个集合的并集
|
|
91
92
|
* @param { (number | string)[]} a 集合a
|
|
@@ -93,14 +94,15 @@ var ArrayUtil;
|
|
|
93
94
|
* @example
|
|
94
95
|
* union([1,3,4],[1,2]) => [1,2,3,4]
|
|
95
96
|
*/
|
|
96
|
-
|
|
97
|
+
function union(a, b) {
|
|
97
98
|
if (!(a === null || a === void 0 ? void 0 : a.length)) return [];
|
|
98
99
|
if (!(b === null || b === void 0 ? void 0 : b.length)) return [];
|
|
99
100
|
var aArr = new Set(a);
|
|
100
101
|
var bArr = new Set(b);
|
|
101
102
|
var list = __spreadArray([], __read(new Set(__spreadArray(__spreadArray([], __read(aArr), false), __read(bArr), false))), false);
|
|
102
103
|
return list;
|
|
103
|
-
}
|
|
104
|
+
}
|
|
105
|
+
ArrayUtil.union = union;
|
|
104
106
|
/**
|
|
105
107
|
* 求两个集合的交集
|
|
106
108
|
* @param { (number | string)[]} a 集合a
|
|
@@ -108,7 +110,7 @@ var ArrayUtil;
|
|
|
108
110
|
* @example
|
|
109
111
|
* intersect([1,3,4],[1,2]) => [1]
|
|
110
112
|
*/
|
|
111
|
-
|
|
113
|
+
function intersect(a, b) {
|
|
112
114
|
if (!(a === null || a === void 0 ? void 0 : a.length)) return [];
|
|
113
115
|
if (!(b === null || b === void 0 ? void 0 : b.length)) return [];
|
|
114
116
|
var aArr = new Set(a);
|
|
@@ -117,7 +119,8 @@ var ArrayUtil;
|
|
|
117
119
|
return bArr.has(x);
|
|
118
120
|
}))), false);
|
|
119
121
|
return list;
|
|
120
|
-
}
|
|
122
|
+
}
|
|
123
|
+
ArrayUtil.intersect = intersect;
|
|
121
124
|
/**
|
|
122
125
|
* 求两个集合的差集
|
|
123
126
|
* @param { (number | string)[]} a 集合a
|
|
@@ -125,14 +128,15 @@ var ArrayUtil;
|
|
|
125
128
|
* @example
|
|
126
129
|
* difference([1,2,3],[1]) => [2,3]
|
|
127
130
|
*/
|
|
128
|
-
|
|
131
|
+
function difference(a, b) {
|
|
129
132
|
var aArr = new Set(a);
|
|
130
133
|
var bArr = new Set(b);
|
|
131
134
|
var list = __spreadArray([], __read(new Set(__spreadArray([], __read(aArr), false).filter(function (x) {
|
|
132
135
|
return !bArr.has(x);
|
|
133
136
|
}))), false);
|
|
134
137
|
return list;
|
|
135
|
-
}
|
|
138
|
+
}
|
|
139
|
+
ArrayUtil.difference = difference;
|
|
136
140
|
/**
|
|
137
141
|
* 最大值
|
|
138
142
|
* @param {number[]} arr 数组
|
|
@@ -185,14 +189,15 @@ var ArrayUtil;
|
|
|
185
189
|
* @example
|
|
186
190
|
* remove([1,2,3],3) => [1,2]
|
|
187
191
|
*/
|
|
188
|
-
|
|
192
|
+
function remove(arr, ele) {
|
|
189
193
|
if (!(arr === null || arr === void 0 ? void 0 : arr.length)) return [];
|
|
190
194
|
var index = arr.indexOf(ele);
|
|
191
195
|
if (index > -1) {
|
|
192
196
|
arr.splice(index, 1);
|
|
193
197
|
}
|
|
194
198
|
return arr;
|
|
195
|
-
}
|
|
199
|
+
}
|
|
200
|
+
ArrayUtil.remove = remove;
|
|
196
201
|
/**
|
|
197
202
|
* 数组排序
|
|
198
203
|
* @param {number[]} arr 数组
|
package/esm/base/BaseUtil.d.ts
CHANGED
|
@@ -86,6 +86,14 @@ declare namespace BaseUtil {
|
|
|
86
86
|
* isEmpty(12) => false
|
|
87
87
|
* isEmpty(null) => true
|
|
88
88
|
*/
|
|
89
|
-
const isEmpty: (obj: any) =>
|
|
89
|
+
const isEmpty: (obj: any) => boolean;
|
|
90
|
+
/**
|
|
91
|
+
* 判断是否不为空,包括空对象,空数组,空字符串,null,undefined等
|
|
92
|
+
* @param obj 任意对象
|
|
93
|
+
* @example
|
|
94
|
+
* isNotEmpty(12) => true
|
|
95
|
+
* isNotEmpty(null) => false
|
|
96
|
+
*/
|
|
97
|
+
const isNotEmpty: (obj: any) => boolean;
|
|
90
98
|
}
|
|
91
99
|
export default BaseUtil;
|
package/esm/base/BaseUtil.js
CHANGED
|
@@ -21,67 +21,67 @@ var BaseUtil;
|
|
|
21
21
|
* @param obj 任意对象
|
|
22
22
|
* @returns 是/否
|
|
23
23
|
*/
|
|
24
|
-
BaseUtil.isUndefined = _createTypeOf(
|
|
24
|
+
BaseUtil.isUndefined = _createTypeOf('Undefined');
|
|
25
25
|
/**
|
|
26
26
|
* 判断是否为 null
|
|
27
27
|
* @param obj 任意对象
|
|
28
28
|
* @returns 是/否
|
|
29
29
|
*/
|
|
30
|
-
BaseUtil.isNull = _createTypeOf(
|
|
30
|
+
BaseUtil.isNull = _createTypeOf('Null');
|
|
31
31
|
/**
|
|
32
32
|
* 判断是否为 Array 类型
|
|
33
33
|
* @param obj 任意对象
|
|
34
34
|
* @returns 是/否
|
|
35
35
|
*/
|
|
36
|
-
BaseUtil.isArray = Array.isArray || _createTypeOf(
|
|
36
|
+
BaseUtil.isArray = Array.isArray || _createTypeOf('Array');
|
|
37
37
|
/**
|
|
38
38
|
* 判断是否为 Function 类型
|
|
39
39
|
* @param obj 任意对象
|
|
40
40
|
* @returns 是/否
|
|
41
41
|
*/
|
|
42
|
-
BaseUtil.isFunction = _createTypeOf(
|
|
42
|
+
BaseUtil.isFunction = _createTypeOf('Function');
|
|
43
43
|
/**
|
|
44
44
|
* 判断是否为 Boolean 类型
|
|
45
45
|
* @param obj 任意对象
|
|
46
46
|
* @returns 是/否
|
|
47
47
|
*/
|
|
48
|
-
BaseUtil.isBoolean = _createTypeOf(
|
|
48
|
+
BaseUtil.isBoolean = _createTypeOf('Boolean');
|
|
49
49
|
/**
|
|
50
50
|
* 判断是否为 String 类型
|
|
51
51
|
* @param obj 任意对象
|
|
52
52
|
* @returns 是/否
|
|
53
53
|
*/
|
|
54
|
-
BaseUtil.isString = _createTypeOf(
|
|
54
|
+
BaseUtil.isString = _createTypeOf('String');
|
|
55
55
|
/**
|
|
56
56
|
* 判断是否为 Number 类型
|
|
57
57
|
* @param obj 任意对象
|
|
58
58
|
* @returns 是/否
|
|
59
59
|
*/
|
|
60
|
-
BaseUtil.isNumber = _createTypeOf(
|
|
60
|
+
BaseUtil.isNumber = _createTypeOf('Number');
|
|
61
61
|
/**
|
|
62
62
|
* 判断是否为 RegExp 类型
|
|
63
63
|
* @param obj 任意对象
|
|
64
64
|
* @returns 是/否
|
|
65
65
|
*/
|
|
66
|
-
BaseUtil.isRegExp = _createTypeOf(
|
|
66
|
+
BaseUtil.isRegExp = _createTypeOf('RegExp');
|
|
67
67
|
/**
|
|
68
68
|
* 判断是否为 Object 类型
|
|
69
69
|
* @param obj 任意对象
|
|
70
70
|
* @returns 是/否
|
|
71
71
|
*/
|
|
72
|
-
BaseUtil.isObject = _createTypeOf(
|
|
72
|
+
BaseUtil.isObject = _createTypeOf('Object');
|
|
73
73
|
/**
|
|
74
74
|
* 判断是否为 Date 类型
|
|
75
75
|
* @param obj 任意对象
|
|
76
76
|
* @returns 是/否
|
|
77
77
|
*/
|
|
78
|
-
BaseUtil.isDate = _createTypeOf(
|
|
78
|
+
BaseUtil.isDate = _createTypeOf('Date');
|
|
79
79
|
/**
|
|
80
80
|
* 判断是否为 Error 类型
|
|
81
81
|
* @param obj 任意对象
|
|
82
82
|
* @returns 是/否
|
|
83
83
|
*/
|
|
84
|
-
BaseUtil.isError = _createTypeOf(
|
|
84
|
+
BaseUtil.isError = _createTypeOf('Error');
|
|
85
85
|
/**
|
|
86
86
|
* 获取对象的类型
|
|
87
87
|
* @param obj 任意对象
|
|
@@ -91,37 +91,37 @@ var BaseUtil;
|
|
|
91
91
|
*/
|
|
92
92
|
BaseUtil.getType = function (obj) {
|
|
93
93
|
if (BaseUtil.isUndefined(obj)) {
|
|
94
|
-
return
|
|
94
|
+
return 'undefined';
|
|
95
95
|
}
|
|
96
96
|
if (BaseUtil.isNull(obj)) {
|
|
97
|
-
return
|
|
97
|
+
return 'null';
|
|
98
98
|
}
|
|
99
99
|
if (BaseUtil.isArray(obj)) {
|
|
100
|
-
return
|
|
100
|
+
return 'array';
|
|
101
101
|
}
|
|
102
102
|
if (BaseUtil.isFunction(obj)) {
|
|
103
|
-
return
|
|
103
|
+
return 'function';
|
|
104
104
|
}
|
|
105
105
|
if (BaseUtil.isBoolean(obj)) {
|
|
106
|
-
return
|
|
106
|
+
return 'boolean';
|
|
107
107
|
}
|
|
108
108
|
if (BaseUtil.isString(obj)) {
|
|
109
|
-
return
|
|
109
|
+
return 'string';
|
|
110
110
|
}
|
|
111
111
|
if (BaseUtil.isNumber(obj)) {
|
|
112
|
-
return
|
|
112
|
+
return 'number';
|
|
113
113
|
}
|
|
114
114
|
if (BaseUtil.isRegExp(obj)) {
|
|
115
|
-
return
|
|
115
|
+
return 'regexp';
|
|
116
116
|
}
|
|
117
117
|
if (BaseUtil.isObject(obj)) {
|
|
118
|
-
return
|
|
118
|
+
return 'object';
|
|
119
119
|
}
|
|
120
120
|
if (BaseUtil.isDate(obj)) {
|
|
121
|
-
return
|
|
121
|
+
return 'date';
|
|
122
122
|
}
|
|
123
123
|
if (BaseUtil.isError(obj)) {
|
|
124
|
-
return
|
|
124
|
+
return 'error';
|
|
125
125
|
}
|
|
126
126
|
return typeof obj;
|
|
127
127
|
};
|
|
@@ -144,5 +144,15 @@ var BaseUtil;
|
|
|
144
144
|
}
|
|
145
145
|
return true;
|
|
146
146
|
};
|
|
147
|
+
/**
|
|
148
|
+
* 判断是否不为空,包括空对象,空数组,空字符串,null,undefined等
|
|
149
|
+
* @param obj 任意对象
|
|
150
|
+
* @example
|
|
151
|
+
* isNotEmpty(12) => true
|
|
152
|
+
* isNotEmpty(null) => false
|
|
153
|
+
*/
|
|
154
|
+
BaseUtil.isNotEmpty = function (obj) {
|
|
155
|
+
return !BaseUtil.isEmpty(obj);
|
|
156
|
+
};
|
|
147
157
|
})(BaseUtil || (BaseUtil = {}));
|
|
148
158
|
export default BaseUtil;
|
|
@@ -65,7 +65,7 @@ declare namespace Me {
|
|
|
65
65
|
function invertedColors(): boolean | undefined;
|
|
66
66
|
function forcedColors(): boolean | undefined;
|
|
67
67
|
function monochrome(): number | undefined;
|
|
68
|
-
function contrast(): 0 |
|
|
68
|
+
function contrast(): 0 | 1 | 10 | -1 | undefined;
|
|
69
69
|
function reducedMotion(): boolean | undefined;
|
|
70
70
|
function reducedTransparency(): boolean | undefined;
|
|
71
71
|
function hdr(): boolean | undefined;
|
package/esm/check/CheckUtil.js
CHANGED
|
@@ -166,7 +166,7 @@ var CheckUtil;
|
|
|
166
166
|
if (!BaseUtil.isString(phone) || phone.length !== 11) {
|
|
167
167
|
return false;
|
|
168
168
|
}
|
|
169
|
-
return
|
|
169
|
+
return CheckUtil.getRegExp('MOBILE').test(phone);
|
|
170
170
|
};
|
|
171
171
|
/**
|
|
172
172
|
* 检查身份证是否合法
|
|
@@ -246,10 +246,10 @@ var CheckUtil;
|
|
|
246
246
|
*/
|
|
247
247
|
CheckUtil.maskIDCard = function (idcard, start, len) {
|
|
248
248
|
if (start === void 0) {
|
|
249
|
-
start =
|
|
249
|
+
start = 1;
|
|
250
250
|
}
|
|
251
251
|
if (len === void 0) {
|
|
252
|
-
len =
|
|
252
|
+
len = 16;
|
|
253
253
|
}
|
|
254
254
|
if (!CheckUtil.idcardIsValid(idcard)) {
|
|
255
255
|
return idcard;
|
|
@@ -53,10 +53,10 @@ declare namespace NumberUtil {
|
|
|
53
53
|
/**
|
|
54
54
|
* 保留n位小数
|
|
55
55
|
* @param val 任意类型
|
|
56
|
-
* @param n 小数位数
|
|
56
|
+
* @param n 小数位数 默认为2
|
|
57
57
|
* @returns 不是string|number 返回0
|
|
58
58
|
*/
|
|
59
|
-
function correctNumberInput(val: any, n?: number
|
|
59
|
+
function correctNumberInput(val: any, n?: number): number;
|
|
60
60
|
/**
|
|
61
61
|
* 解决两个数相加精度丢失问题
|
|
62
62
|
* @param a 任意类型
|
package/esm/number/NumberUtil.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @author nanshen
|
|
5
5
|
* @creat 2021-09-15 14:23:13
|
|
6
6
|
*/
|
|
7
|
-
import BaseUtil from
|
|
7
|
+
import BaseUtil from '../base/BaseUtil';
|
|
8
8
|
var NumberUtil;
|
|
9
9
|
(function (NumberUtil) {
|
|
10
10
|
/**
|
|
@@ -120,7 +120,7 @@ var NumberUtil;
|
|
|
120
120
|
var rand = Math.random();
|
|
121
121
|
if (floating || lower % 1 || upper % 1) {
|
|
122
122
|
// 浮点数
|
|
123
|
-
var t = lower + rand * (upper - lower + parseFloat(
|
|
123
|
+
var t = lower + rand * (upper - lower + parseFloat('1e-' + ((rand + '').length - 1)));
|
|
124
124
|
return toNumber(Math.min(t, upper).toFixed(floating));
|
|
125
125
|
} else {
|
|
126
126
|
// 整数
|
|
@@ -130,22 +130,19 @@ var NumberUtil;
|
|
|
130
130
|
/**
|
|
131
131
|
* 保留n位小数
|
|
132
132
|
* @param val 任意类型
|
|
133
|
-
* @param n 小数位数
|
|
133
|
+
* @param n 小数位数 默认为2
|
|
134
134
|
* @returns 不是string|number 返回0
|
|
135
135
|
*/
|
|
136
|
-
function correctNumberInput(val, n
|
|
136
|
+
function correctNumberInput(val, n) {
|
|
137
137
|
if (n === void 0) {
|
|
138
138
|
n = 2;
|
|
139
139
|
}
|
|
140
|
-
if (
|
|
141
|
-
type = "number";
|
|
142
|
-
}
|
|
143
|
-
if (undefined == val || null == val || "" == val || isNaN(val)) {
|
|
140
|
+
if (undefined == val || null == val || '' == val || isNaN(val)) {
|
|
144
141
|
return 0;
|
|
145
142
|
}
|
|
146
|
-
var lastChar = val[val.length - 1] ===
|
|
147
|
-
var str = (isNaN(parseFloat(val)) ?
|
|
148
|
-
return
|
|
143
|
+
var lastChar = val[val.length - 1] === '.' ? '.' : '';
|
|
144
|
+
var str = (isNaN(parseFloat(val)) ? '' : parseInt("".concat(Math.round(parseFloat(val) * Math.pow(10, n)))) / Math.pow(10, n)) + lastChar;
|
|
145
|
+
return Number(str);
|
|
149
146
|
}
|
|
150
147
|
NumberUtil.correctNumberInput = correctNumberInput;
|
|
151
148
|
/**
|
|
@@ -156,19 +153,19 @@ var NumberUtil;
|
|
|
156
153
|
*/
|
|
157
154
|
function floatAdd(a, b) {
|
|
158
155
|
var c, d, e;
|
|
159
|
-
if (undefined == a || null == a ||
|
|
156
|
+
if (undefined == a || null == a || '' == a || isNaN(a)) {
|
|
160
157
|
a = 0;
|
|
161
158
|
}
|
|
162
|
-
if (undefined == b || null == b ||
|
|
159
|
+
if (undefined == b || null == b || '' == b || isNaN(b)) {
|
|
163
160
|
b = 0;
|
|
164
161
|
}
|
|
165
162
|
try {
|
|
166
|
-
c = a.toString().split(
|
|
163
|
+
c = a.toString().split('.')[1].length;
|
|
167
164
|
} catch (f) {
|
|
168
165
|
c = 0;
|
|
169
166
|
}
|
|
170
167
|
try {
|
|
171
|
-
d = b.toString().split(
|
|
168
|
+
d = b.toString().split('.')[1].length;
|
|
172
169
|
} catch (f) {
|
|
173
170
|
d = 0;
|
|
174
171
|
}
|
|
@@ -184,19 +181,19 @@ var NumberUtil;
|
|
|
184
181
|
*/
|
|
185
182
|
function floatSub(a, b) {
|
|
186
183
|
var c, d, e;
|
|
187
|
-
if (undefined == a || null == a ||
|
|
184
|
+
if (undefined == a || null == a || '' == a || isNaN(a)) {
|
|
188
185
|
a = 0;
|
|
189
186
|
}
|
|
190
|
-
if (undefined == b || null == b ||
|
|
187
|
+
if (undefined == b || null == b || '' == b || isNaN(b)) {
|
|
191
188
|
b = 0;
|
|
192
189
|
}
|
|
193
190
|
try {
|
|
194
|
-
c = a.toString().split(
|
|
191
|
+
c = a.toString().split('.')[1].length;
|
|
195
192
|
} catch (f) {
|
|
196
193
|
c = 0;
|
|
197
194
|
}
|
|
198
195
|
try {
|
|
199
|
-
d = b.toString().split(
|
|
196
|
+
d = b.toString().split('.')[1].length;
|
|
200
197
|
} catch (f) {
|
|
201
198
|
d = 0;
|
|
202
199
|
}
|
|
@@ -215,12 +212,12 @@ var NumberUtil;
|
|
|
215
212
|
d = a.toString(),
|
|
216
213
|
e = b.toString();
|
|
217
214
|
try {
|
|
218
|
-
c += d.split(
|
|
215
|
+
c += d.split('.')[1].length;
|
|
219
216
|
} catch (f) {}
|
|
220
217
|
try {
|
|
221
|
-
c += e.split(
|
|
218
|
+
c += e.split('.')[1].length;
|
|
222
219
|
} catch (f) {}
|
|
223
|
-
return Number(d.replace(
|
|
220
|
+
return Number(d.replace('.', '')) * Number(e.replace('.', '')) / Math.pow(10, c);
|
|
224
221
|
}
|
|
225
222
|
NumberUtil.floatMul = floatMul;
|
|
226
223
|
/**
|
|
@@ -235,12 +232,12 @@ var NumberUtil;
|
|
|
235
232
|
e = 0,
|
|
236
233
|
f = 0;
|
|
237
234
|
try {
|
|
238
|
-
e = a.toString().split(
|
|
235
|
+
e = a.toString().split('.')[1].length;
|
|
239
236
|
} catch (g) {}
|
|
240
237
|
try {
|
|
241
|
-
f = b.toString().split(
|
|
238
|
+
f = b.toString().split('.')[1].length;
|
|
242
239
|
} catch (g) {}
|
|
243
|
-
return c = Number(a.toString().replace(
|
|
240
|
+
return c = Number(a.toString().replace('.', '')), d = Number(b.toString().replace('.', '')), floatMul(c / d, Math.pow(10, f - e));
|
|
244
241
|
}
|
|
245
242
|
NumberUtil.floatDiv = floatDiv;
|
|
246
243
|
/**
|
|
@@ -250,7 +247,7 @@ var NumberUtil;
|
|
|
250
247
|
* @returns
|
|
251
248
|
*/
|
|
252
249
|
NumberUtil.number2percentage = function (n, count) {
|
|
253
|
-
return "".concat(count ? correctNumberInput((n || 0) * 100 / count, 2
|
|
250
|
+
return "".concat(count ? correctNumberInput((n || 0) * 100 / count, 2) : 0, "%");
|
|
254
251
|
};
|
|
255
252
|
})(NumberUtil || (NumberUtil = {}));
|
|
256
253
|
export default NumberUtil;
|
|
@@ -343,16 +343,16 @@ declare namespace StringUtil {
|
|
|
343
343
|
* 将下划线分隔形式的字符串转换为驼峰式的字符串
|
|
344
344
|
* @param {string} input 输入字符串
|
|
345
345
|
* @example
|
|
346
|
-
*
|
|
347
|
-
*
|
|
346
|
+
* uncamelize('last_index_of'); => 'lastIndexOf'
|
|
347
|
+
* uncamelize('escape_metacharacter_of_str'); => 'escapeMetacharacterOfStr'
|
|
348
348
|
*/
|
|
349
349
|
const uncamelize: (input: string) => string;
|
|
350
350
|
/**
|
|
351
351
|
* 将驼峰式的字符串转换为下划线分隔形式的字符串
|
|
352
352
|
* @param {string} input 输入字符串
|
|
353
353
|
* @example
|
|
354
|
-
*
|
|
355
|
-
*
|
|
354
|
+
* unhyphenate('lastIndexOf'); => 'last_index_of'
|
|
355
|
+
* unhyphenate('escapeMetacharacterOfStr'); => 'escape_metacharacter_of_str'
|
|
356
356
|
*/
|
|
357
357
|
const unhyphenate: (input: string) => string;
|
|
358
358
|
/**
|
package/esm/string/StringUtil.js
CHANGED
|
@@ -463,8 +463,8 @@ var StringUtil;
|
|
|
463
463
|
* 将下划线分隔形式的字符串转换为驼峰式的字符串
|
|
464
464
|
* @param {string} input 输入字符串
|
|
465
465
|
* @example
|
|
466
|
-
*
|
|
467
|
-
*
|
|
466
|
+
* uncamelize('last_index_of'); => 'lastIndexOf'
|
|
467
|
+
* uncamelize('escape_metacharacter_of_str'); => 'escapeMetacharacterOfStr'
|
|
468
468
|
*/
|
|
469
469
|
StringUtil.uncamelize = function (input) {
|
|
470
470
|
return (input + '').replace(/_\D/g, function (match) {
|
|
@@ -475,8 +475,8 @@ var StringUtil;
|
|
|
475
475
|
* 将驼峰式的字符串转换为下划线分隔形式的字符串
|
|
476
476
|
* @param {string} input 输入字符串
|
|
477
477
|
* @example
|
|
478
|
-
*
|
|
479
|
-
*
|
|
478
|
+
* unhyphenate('lastIndexOf'); => 'last_index_of'
|
|
479
|
+
* unhyphenate('escapeMetacharacterOfStr'); => 'escape_metacharacter_of_str'
|
|
480
480
|
*/
|
|
481
481
|
StringUtil.unhyphenate = function (input) {
|
|
482
482
|
return (input + '').replace(/[A-Z]/g, function (match) {
|
package/esm/url/UrlUtil.js
CHANGED
|
@@ -76,19 +76,22 @@ var UrlUtil;
|
|
|
76
76
|
* getUrlRequest('https://ss.cn?sdf=213&bdl=231111'); => {sdf: "213", bdl: "231111"}
|
|
77
77
|
*/
|
|
78
78
|
function getUrlRequest(href) {
|
|
79
|
-
var _a;
|
|
80
79
|
if (href === void 0) {
|
|
81
80
|
href = window.location.href;
|
|
82
81
|
}
|
|
83
|
-
href = href.
|
|
82
|
+
href = "".concat(href === null || href === void 0 ? void 0 : href.slice(-1)) === '/' ? href === null || href === void 0 ? void 0 : href.slice(0, href.length - 1) : href;
|
|
84
83
|
var theRequest = {};
|
|
85
|
-
if (href.includes('
|
|
86
|
-
|
|
84
|
+
if (href.includes('#/')) {
|
|
85
|
+
//hash
|
|
86
|
+
href = "".concat(href.split('/').slice(-1));
|
|
87
|
+
}
|
|
88
|
+
if (href === null || href === void 0 ? void 0 : href.includes('?')) {
|
|
89
|
+
var strs = href === null || href === void 0 ? void 0 : href.split('?').slice(-1).toString().split('&');
|
|
87
90
|
for (var i = 0; i < strs.length; i++) {
|
|
88
|
-
var
|
|
89
|
-
key =
|
|
90
|
-
value =
|
|
91
|
-
if (key) theRequest[key] =
|
|
91
|
+
var _a = __read(strs[i].split('='), 2),
|
|
92
|
+
key = _a[0],
|
|
93
|
+
value = _a[1];
|
|
94
|
+
if (key) theRequest[key] = decodeURIComponent(value);
|
|
92
95
|
}
|
|
93
96
|
}
|
|
94
97
|
return theRequest;
|
|
@@ -101,6 +104,14 @@ var UrlUtil;
|
|
|
101
104
|
function setUrlParamsNotRefresh(obj) {
|
|
102
105
|
var urlParams = getUrlRequest();
|
|
103
106
|
var str = objToUrlParam(ObjectUtil.mergeParams(obj, urlParams));
|
|
107
|
+
var href = window.location.href;
|
|
108
|
+
if (href.includes('#/') && !"".concat(href.split('/').slice(-1)).includes('?')) {
|
|
109
|
+
var url_1 = "".concat(href).concat(str ? "?".concat(str) : '');
|
|
110
|
+
window.history.replaceState({
|
|
111
|
+
url: url_1
|
|
112
|
+
}, '', url_1);
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
104
115
|
var _arr = window.location.href.split('?');
|
|
105
116
|
var url = "".concat(_arr.slice(0, _arr.length - 1).join('?')).concat(str ? "?".concat(str) : '');
|
|
106
117
|
window.history.replaceState({
|
package/lib/array/ArrayUtil.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ declare namespace ArrayUtil {
|
|
|
22
22
|
* @example
|
|
23
23
|
* unique([1,3,1]) =>[1,3]
|
|
24
24
|
*/
|
|
25
|
-
|
|
25
|
+
function unique<T extends string | number>(arr: T[]): T[];
|
|
26
26
|
/**
|
|
27
27
|
* 求两个集合的并集
|
|
28
28
|
* @param { (number | string)[]} a 集合a
|
|
@@ -30,7 +30,7 @@ declare namespace ArrayUtil {
|
|
|
30
30
|
* @example
|
|
31
31
|
* union([1,3,4],[1,2]) => [1,2,3,4]
|
|
32
32
|
*/
|
|
33
|
-
|
|
33
|
+
function union<T extends string | number>(a: T[], b: T[]): T[];
|
|
34
34
|
/**
|
|
35
35
|
* 求两个集合的交集
|
|
36
36
|
* @param { (number | string)[]} a 集合a
|
|
@@ -38,7 +38,7 @@ declare namespace ArrayUtil {
|
|
|
38
38
|
* @example
|
|
39
39
|
* intersect([1,3,4],[1,2]) => [1]
|
|
40
40
|
*/
|
|
41
|
-
|
|
41
|
+
function intersect<T extends string | number>(a: T[], b: T[]): T[];
|
|
42
42
|
/**
|
|
43
43
|
* 求两个集合的差集
|
|
44
44
|
* @param { (number | string)[]} a 集合a
|
|
@@ -46,7 +46,7 @@ declare namespace ArrayUtil {
|
|
|
46
46
|
* @example
|
|
47
47
|
* difference([1,2,3],[1]) => [2,3]
|
|
48
48
|
*/
|
|
49
|
-
|
|
49
|
+
function difference<T extends string | number>(a: T[], b: T[]): T[];
|
|
50
50
|
/**
|
|
51
51
|
* 最大值
|
|
52
52
|
* @param {number[]} arr 数组
|
|
@@ -86,7 +86,7 @@ declare namespace ArrayUtil {
|
|
|
86
86
|
* @example
|
|
87
87
|
* remove([1,2,3],3) => [1,2]
|
|
88
88
|
*/
|
|
89
|
-
|
|
89
|
+
function remove<T extends string | number>(arr: T[], ele: T): T[];
|
|
90
90
|
/**
|
|
91
91
|
* 数组排序
|
|
92
92
|
* @param {number[]} arr 数组
|
package/lib/array/ArrayUtil.js
CHANGED
|
@@ -91,11 +91,12 @@ var ArrayUtil;
|
|
|
91
91
|
* @example
|
|
92
92
|
* unique([1,3,1]) =>[1,3]
|
|
93
93
|
*/
|
|
94
|
-
|
|
94
|
+
function unique(arr) {
|
|
95
95
|
if (!(arr === null || arr === void 0 ? void 0 : arr.length)) return [];
|
|
96
96
|
var list = __spreadArray([], __read(new Set(arr)), false);
|
|
97
97
|
return list;
|
|
98
|
-
}
|
|
98
|
+
}
|
|
99
|
+
ArrayUtil.unique = unique;
|
|
99
100
|
/**
|
|
100
101
|
* 求两个集合的并集
|
|
101
102
|
* @param { (number | string)[]} a 集合a
|
|
@@ -103,14 +104,15 @@ var ArrayUtil;
|
|
|
103
104
|
* @example
|
|
104
105
|
* union([1,3,4],[1,2]) => [1,2,3,4]
|
|
105
106
|
*/
|
|
106
|
-
|
|
107
|
+
function union(a, b) {
|
|
107
108
|
if (!(a === null || a === void 0 ? void 0 : a.length)) return [];
|
|
108
109
|
if (!(b === null || b === void 0 ? void 0 : b.length)) return [];
|
|
109
110
|
var aArr = new Set(a);
|
|
110
111
|
var bArr = new Set(b);
|
|
111
112
|
var list = __spreadArray([], __read(new Set(__spreadArray(__spreadArray([], __read(aArr), false), __read(bArr), false))), false);
|
|
112
113
|
return list;
|
|
113
|
-
}
|
|
114
|
+
}
|
|
115
|
+
ArrayUtil.union = union;
|
|
114
116
|
/**
|
|
115
117
|
* 求两个集合的交集
|
|
116
118
|
* @param { (number | string)[]} a 集合a
|
|
@@ -118,7 +120,7 @@ var ArrayUtil;
|
|
|
118
120
|
* @example
|
|
119
121
|
* intersect([1,3,4],[1,2]) => [1]
|
|
120
122
|
*/
|
|
121
|
-
|
|
123
|
+
function intersect(a, b) {
|
|
122
124
|
if (!(a === null || a === void 0 ? void 0 : a.length)) return [];
|
|
123
125
|
if (!(b === null || b === void 0 ? void 0 : b.length)) return [];
|
|
124
126
|
var aArr = new Set(a);
|
|
@@ -127,7 +129,8 @@ var ArrayUtil;
|
|
|
127
129
|
return bArr.has(x);
|
|
128
130
|
}))), false);
|
|
129
131
|
return list;
|
|
130
|
-
}
|
|
132
|
+
}
|
|
133
|
+
ArrayUtil.intersect = intersect;
|
|
131
134
|
/**
|
|
132
135
|
* 求两个集合的差集
|
|
133
136
|
* @param { (number | string)[]} a 集合a
|
|
@@ -135,14 +138,15 @@ var ArrayUtil;
|
|
|
135
138
|
* @example
|
|
136
139
|
* difference([1,2,3],[1]) => [2,3]
|
|
137
140
|
*/
|
|
138
|
-
|
|
141
|
+
function difference(a, b) {
|
|
139
142
|
var aArr = new Set(a);
|
|
140
143
|
var bArr = new Set(b);
|
|
141
144
|
var list = __spreadArray([], __read(new Set(__spreadArray([], __read(aArr), false).filter(function (x) {
|
|
142
145
|
return !bArr.has(x);
|
|
143
146
|
}))), false);
|
|
144
147
|
return list;
|
|
145
|
-
}
|
|
148
|
+
}
|
|
149
|
+
ArrayUtil.difference = difference;
|
|
146
150
|
/**
|
|
147
151
|
* 最大值
|
|
148
152
|
* @param {number[]} arr 数组
|
|
@@ -195,14 +199,15 @@ var ArrayUtil;
|
|
|
195
199
|
* @example
|
|
196
200
|
* remove([1,2,3],3) => [1,2]
|
|
197
201
|
*/
|
|
198
|
-
|
|
202
|
+
function remove(arr, ele) {
|
|
199
203
|
if (!(arr === null || arr === void 0 ? void 0 : arr.length)) return [];
|
|
200
204
|
var index = arr.indexOf(ele);
|
|
201
205
|
if (index > -1) {
|
|
202
206
|
arr.splice(index, 1);
|
|
203
207
|
}
|
|
204
208
|
return arr;
|
|
205
|
-
}
|
|
209
|
+
}
|
|
210
|
+
ArrayUtil.remove = remove;
|
|
206
211
|
/**
|
|
207
212
|
* 数组排序
|
|
208
213
|
* @param {number[]} arr 数组
|
package/lib/base/BaseUtil.d.ts
CHANGED
|
@@ -86,6 +86,14 @@ declare namespace BaseUtil {
|
|
|
86
86
|
* isEmpty(12) => false
|
|
87
87
|
* isEmpty(null) => true
|
|
88
88
|
*/
|
|
89
|
-
const isEmpty: (obj: any) =>
|
|
89
|
+
const isEmpty: (obj: any) => boolean;
|
|
90
|
+
/**
|
|
91
|
+
* 判断是否不为空,包括空对象,空数组,空字符串,null,undefined等
|
|
92
|
+
* @param obj 任意对象
|
|
93
|
+
* @example
|
|
94
|
+
* isNotEmpty(12) => true
|
|
95
|
+
* isNotEmpty(null) => false
|
|
96
|
+
*/
|
|
97
|
+
const isNotEmpty: (obj: any) => boolean;
|
|
90
98
|
}
|
|
91
99
|
export default BaseUtil;
|
package/lib/base/BaseUtil.js
CHANGED
|
@@ -26,67 +26,67 @@ var BaseUtil;
|
|
|
26
26
|
* @param obj 任意对象
|
|
27
27
|
* @returns 是/否
|
|
28
28
|
*/
|
|
29
|
-
BaseUtil.isUndefined = _createTypeOf(
|
|
29
|
+
BaseUtil.isUndefined = _createTypeOf('Undefined');
|
|
30
30
|
/**
|
|
31
31
|
* 判断是否为 null
|
|
32
32
|
* @param obj 任意对象
|
|
33
33
|
* @returns 是/否
|
|
34
34
|
*/
|
|
35
|
-
BaseUtil.isNull = _createTypeOf(
|
|
35
|
+
BaseUtil.isNull = _createTypeOf('Null');
|
|
36
36
|
/**
|
|
37
37
|
* 判断是否为 Array 类型
|
|
38
38
|
* @param obj 任意对象
|
|
39
39
|
* @returns 是/否
|
|
40
40
|
*/
|
|
41
|
-
BaseUtil.isArray = Array.isArray || _createTypeOf(
|
|
41
|
+
BaseUtil.isArray = Array.isArray || _createTypeOf('Array');
|
|
42
42
|
/**
|
|
43
43
|
* 判断是否为 Function 类型
|
|
44
44
|
* @param obj 任意对象
|
|
45
45
|
* @returns 是/否
|
|
46
46
|
*/
|
|
47
|
-
BaseUtil.isFunction = _createTypeOf(
|
|
47
|
+
BaseUtil.isFunction = _createTypeOf('Function');
|
|
48
48
|
/**
|
|
49
49
|
* 判断是否为 Boolean 类型
|
|
50
50
|
* @param obj 任意对象
|
|
51
51
|
* @returns 是/否
|
|
52
52
|
*/
|
|
53
|
-
BaseUtil.isBoolean = _createTypeOf(
|
|
53
|
+
BaseUtil.isBoolean = _createTypeOf('Boolean');
|
|
54
54
|
/**
|
|
55
55
|
* 判断是否为 String 类型
|
|
56
56
|
* @param obj 任意对象
|
|
57
57
|
* @returns 是/否
|
|
58
58
|
*/
|
|
59
|
-
BaseUtil.isString = _createTypeOf(
|
|
59
|
+
BaseUtil.isString = _createTypeOf('String');
|
|
60
60
|
/**
|
|
61
61
|
* 判断是否为 Number 类型
|
|
62
62
|
* @param obj 任意对象
|
|
63
63
|
* @returns 是/否
|
|
64
64
|
*/
|
|
65
|
-
BaseUtil.isNumber = _createTypeOf(
|
|
65
|
+
BaseUtil.isNumber = _createTypeOf('Number');
|
|
66
66
|
/**
|
|
67
67
|
* 判断是否为 RegExp 类型
|
|
68
68
|
* @param obj 任意对象
|
|
69
69
|
* @returns 是/否
|
|
70
70
|
*/
|
|
71
|
-
BaseUtil.isRegExp = _createTypeOf(
|
|
71
|
+
BaseUtil.isRegExp = _createTypeOf('RegExp');
|
|
72
72
|
/**
|
|
73
73
|
* 判断是否为 Object 类型
|
|
74
74
|
* @param obj 任意对象
|
|
75
75
|
* @returns 是/否
|
|
76
76
|
*/
|
|
77
|
-
BaseUtil.isObject = _createTypeOf(
|
|
77
|
+
BaseUtil.isObject = _createTypeOf('Object');
|
|
78
78
|
/**
|
|
79
79
|
* 判断是否为 Date 类型
|
|
80
80
|
* @param obj 任意对象
|
|
81
81
|
* @returns 是/否
|
|
82
82
|
*/
|
|
83
|
-
BaseUtil.isDate = _createTypeOf(
|
|
83
|
+
BaseUtil.isDate = _createTypeOf('Date');
|
|
84
84
|
/**
|
|
85
85
|
* 判断是否为 Error 类型
|
|
86
86
|
* @param obj 任意对象
|
|
87
87
|
* @returns 是/否
|
|
88
88
|
*/
|
|
89
|
-
BaseUtil.isError = _createTypeOf(
|
|
89
|
+
BaseUtil.isError = _createTypeOf('Error');
|
|
90
90
|
/**
|
|
91
91
|
* 获取对象的类型
|
|
92
92
|
* @param obj 任意对象
|
|
@@ -96,37 +96,37 @@ var BaseUtil;
|
|
|
96
96
|
*/
|
|
97
97
|
BaseUtil.getType = function (obj) {
|
|
98
98
|
if (BaseUtil.isUndefined(obj)) {
|
|
99
|
-
return
|
|
99
|
+
return 'undefined';
|
|
100
100
|
}
|
|
101
101
|
if (BaseUtil.isNull(obj)) {
|
|
102
|
-
return
|
|
102
|
+
return 'null';
|
|
103
103
|
}
|
|
104
104
|
if (BaseUtil.isArray(obj)) {
|
|
105
|
-
return
|
|
105
|
+
return 'array';
|
|
106
106
|
}
|
|
107
107
|
if (BaseUtil.isFunction(obj)) {
|
|
108
|
-
return
|
|
108
|
+
return 'function';
|
|
109
109
|
}
|
|
110
110
|
if (BaseUtil.isBoolean(obj)) {
|
|
111
|
-
return
|
|
111
|
+
return 'boolean';
|
|
112
112
|
}
|
|
113
113
|
if (BaseUtil.isString(obj)) {
|
|
114
|
-
return
|
|
114
|
+
return 'string';
|
|
115
115
|
}
|
|
116
116
|
if (BaseUtil.isNumber(obj)) {
|
|
117
|
-
return
|
|
117
|
+
return 'number';
|
|
118
118
|
}
|
|
119
119
|
if (BaseUtil.isRegExp(obj)) {
|
|
120
|
-
return
|
|
120
|
+
return 'regexp';
|
|
121
121
|
}
|
|
122
122
|
if (BaseUtil.isObject(obj)) {
|
|
123
|
-
return
|
|
123
|
+
return 'object';
|
|
124
124
|
}
|
|
125
125
|
if (BaseUtil.isDate(obj)) {
|
|
126
|
-
return
|
|
126
|
+
return 'date';
|
|
127
127
|
}
|
|
128
128
|
if (BaseUtil.isError(obj)) {
|
|
129
|
-
return
|
|
129
|
+
return 'error';
|
|
130
130
|
}
|
|
131
131
|
return typeof obj;
|
|
132
132
|
};
|
|
@@ -149,5 +149,15 @@ var BaseUtil;
|
|
|
149
149
|
}
|
|
150
150
|
return true;
|
|
151
151
|
};
|
|
152
|
+
/**
|
|
153
|
+
* 判断是否不为空,包括空对象,空数组,空字符串,null,undefined等
|
|
154
|
+
* @param obj 任意对象
|
|
155
|
+
* @example
|
|
156
|
+
* isNotEmpty(12) => true
|
|
157
|
+
* isNotEmpty(null) => false
|
|
158
|
+
*/
|
|
159
|
+
BaseUtil.isNotEmpty = function (obj) {
|
|
160
|
+
return !BaseUtil.isEmpty(obj);
|
|
161
|
+
};
|
|
152
162
|
})(BaseUtil || (BaseUtil = {}));
|
|
153
163
|
exports.default = BaseUtil;
|
|
@@ -65,7 +65,7 @@ declare namespace Me {
|
|
|
65
65
|
function invertedColors(): boolean | undefined;
|
|
66
66
|
function forcedColors(): boolean | undefined;
|
|
67
67
|
function monochrome(): number | undefined;
|
|
68
|
-
function contrast(): 0 |
|
|
68
|
+
function contrast(): 0 | 1 | 10 | -1 | undefined;
|
|
69
69
|
function reducedMotion(): boolean | undefined;
|
|
70
70
|
function reducedTransparency(): boolean | undefined;
|
|
71
71
|
function hdr(): boolean | undefined;
|
package/lib/check/CheckUtil.js
CHANGED
|
@@ -176,7 +176,7 @@ var CheckUtil;
|
|
|
176
176
|
if (!BaseUtil_1.default.isString(phone) || phone.length !== 11) {
|
|
177
177
|
return false;
|
|
178
178
|
}
|
|
179
|
-
return
|
|
179
|
+
return CheckUtil.getRegExp('MOBILE').test(phone);
|
|
180
180
|
};
|
|
181
181
|
/**
|
|
182
182
|
* 检查身份证是否合法
|
|
@@ -256,10 +256,10 @@ var CheckUtil;
|
|
|
256
256
|
*/
|
|
257
257
|
CheckUtil.maskIDCard = function (idcard, start, len) {
|
|
258
258
|
if (start === void 0) {
|
|
259
|
-
start =
|
|
259
|
+
start = 1;
|
|
260
260
|
}
|
|
261
261
|
if (len === void 0) {
|
|
262
|
-
len =
|
|
262
|
+
len = 16;
|
|
263
263
|
}
|
|
264
264
|
if (!CheckUtil.idcardIsValid(idcard)) {
|
|
265
265
|
return idcard;
|
|
@@ -53,10 +53,10 @@ declare namespace NumberUtil {
|
|
|
53
53
|
/**
|
|
54
54
|
* 保留n位小数
|
|
55
55
|
* @param val 任意类型
|
|
56
|
-
* @param n 小数位数
|
|
56
|
+
* @param n 小数位数 默认为2
|
|
57
57
|
* @returns 不是string|number 返回0
|
|
58
58
|
*/
|
|
59
|
-
function correctNumberInput(val: any, n?: number
|
|
59
|
+
function correctNumberInput(val: any, n?: number): number;
|
|
60
60
|
/**
|
|
61
61
|
* 解决两个数相加精度丢失问题
|
|
62
62
|
* @param a 任意类型
|
package/lib/number/NumberUtil.js
CHANGED
|
@@ -130,7 +130,7 @@ var NumberUtil;
|
|
|
130
130
|
var rand = Math.random();
|
|
131
131
|
if (floating || lower % 1 || upper % 1) {
|
|
132
132
|
// 浮点数
|
|
133
|
-
var t = lower + rand * (upper - lower + parseFloat(
|
|
133
|
+
var t = lower + rand * (upper - lower + parseFloat('1e-' + ((rand + '').length - 1)));
|
|
134
134
|
return toNumber(Math.min(t, upper).toFixed(floating));
|
|
135
135
|
} else {
|
|
136
136
|
// 整数
|
|
@@ -140,22 +140,19 @@ var NumberUtil;
|
|
|
140
140
|
/**
|
|
141
141
|
* 保留n位小数
|
|
142
142
|
* @param val 任意类型
|
|
143
|
-
* @param n 小数位数
|
|
143
|
+
* @param n 小数位数 默认为2
|
|
144
144
|
* @returns 不是string|number 返回0
|
|
145
145
|
*/
|
|
146
|
-
function correctNumberInput(val, n
|
|
146
|
+
function correctNumberInput(val, n) {
|
|
147
147
|
if (n === void 0) {
|
|
148
148
|
n = 2;
|
|
149
149
|
}
|
|
150
|
-
if (
|
|
151
|
-
type = "number";
|
|
152
|
-
}
|
|
153
|
-
if (undefined == val || null == val || "" == val || isNaN(val)) {
|
|
150
|
+
if (undefined == val || null == val || '' == val || isNaN(val)) {
|
|
154
151
|
return 0;
|
|
155
152
|
}
|
|
156
|
-
var lastChar = val[val.length - 1] ===
|
|
157
|
-
var str = (isNaN(parseFloat(val)) ?
|
|
158
|
-
return
|
|
153
|
+
var lastChar = val[val.length - 1] === '.' ? '.' : '';
|
|
154
|
+
var str = (isNaN(parseFloat(val)) ? '' : parseInt("".concat(Math.round(parseFloat(val) * Math.pow(10, n)))) / Math.pow(10, n)) + lastChar;
|
|
155
|
+
return Number(str);
|
|
159
156
|
}
|
|
160
157
|
NumberUtil.correctNumberInput = correctNumberInput;
|
|
161
158
|
/**
|
|
@@ -166,19 +163,19 @@ var NumberUtil;
|
|
|
166
163
|
*/
|
|
167
164
|
function floatAdd(a, b) {
|
|
168
165
|
var c, d, e;
|
|
169
|
-
if (undefined == a || null == a ||
|
|
166
|
+
if (undefined == a || null == a || '' == a || isNaN(a)) {
|
|
170
167
|
a = 0;
|
|
171
168
|
}
|
|
172
|
-
if (undefined == b || null == b ||
|
|
169
|
+
if (undefined == b || null == b || '' == b || isNaN(b)) {
|
|
173
170
|
b = 0;
|
|
174
171
|
}
|
|
175
172
|
try {
|
|
176
|
-
c = a.toString().split(
|
|
173
|
+
c = a.toString().split('.')[1].length;
|
|
177
174
|
} catch (f) {
|
|
178
175
|
c = 0;
|
|
179
176
|
}
|
|
180
177
|
try {
|
|
181
|
-
d = b.toString().split(
|
|
178
|
+
d = b.toString().split('.')[1].length;
|
|
182
179
|
} catch (f) {
|
|
183
180
|
d = 0;
|
|
184
181
|
}
|
|
@@ -194,19 +191,19 @@ var NumberUtil;
|
|
|
194
191
|
*/
|
|
195
192
|
function floatSub(a, b) {
|
|
196
193
|
var c, d, e;
|
|
197
|
-
if (undefined == a || null == a ||
|
|
194
|
+
if (undefined == a || null == a || '' == a || isNaN(a)) {
|
|
198
195
|
a = 0;
|
|
199
196
|
}
|
|
200
|
-
if (undefined == b || null == b ||
|
|
197
|
+
if (undefined == b || null == b || '' == b || isNaN(b)) {
|
|
201
198
|
b = 0;
|
|
202
199
|
}
|
|
203
200
|
try {
|
|
204
|
-
c = a.toString().split(
|
|
201
|
+
c = a.toString().split('.')[1].length;
|
|
205
202
|
} catch (f) {
|
|
206
203
|
c = 0;
|
|
207
204
|
}
|
|
208
205
|
try {
|
|
209
|
-
d = b.toString().split(
|
|
206
|
+
d = b.toString().split('.')[1].length;
|
|
210
207
|
} catch (f) {
|
|
211
208
|
d = 0;
|
|
212
209
|
}
|
|
@@ -225,12 +222,12 @@ var NumberUtil;
|
|
|
225
222
|
d = a.toString(),
|
|
226
223
|
e = b.toString();
|
|
227
224
|
try {
|
|
228
|
-
c += d.split(
|
|
225
|
+
c += d.split('.')[1].length;
|
|
229
226
|
} catch (f) {}
|
|
230
227
|
try {
|
|
231
|
-
c += e.split(
|
|
228
|
+
c += e.split('.')[1].length;
|
|
232
229
|
} catch (f) {}
|
|
233
|
-
return Number(d.replace(
|
|
230
|
+
return Number(d.replace('.', '')) * Number(e.replace('.', '')) / Math.pow(10, c);
|
|
234
231
|
}
|
|
235
232
|
NumberUtil.floatMul = floatMul;
|
|
236
233
|
/**
|
|
@@ -245,12 +242,12 @@ var NumberUtil;
|
|
|
245
242
|
e = 0,
|
|
246
243
|
f = 0;
|
|
247
244
|
try {
|
|
248
|
-
e = a.toString().split(
|
|
245
|
+
e = a.toString().split('.')[1].length;
|
|
249
246
|
} catch (g) {}
|
|
250
247
|
try {
|
|
251
|
-
f = b.toString().split(
|
|
248
|
+
f = b.toString().split('.')[1].length;
|
|
252
249
|
} catch (g) {}
|
|
253
|
-
return c = Number(a.toString().replace(
|
|
250
|
+
return c = Number(a.toString().replace('.', '')), d = Number(b.toString().replace('.', '')), floatMul(c / d, Math.pow(10, f - e));
|
|
254
251
|
}
|
|
255
252
|
NumberUtil.floatDiv = floatDiv;
|
|
256
253
|
/**
|
|
@@ -260,7 +257,7 @@ var NumberUtil;
|
|
|
260
257
|
* @returns
|
|
261
258
|
*/
|
|
262
259
|
NumberUtil.number2percentage = function (n, count) {
|
|
263
|
-
return "".concat(count ? correctNumberInput((n || 0) * 100 / count, 2
|
|
260
|
+
return "".concat(count ? correctNumberInput((n || 0) * 100 / count, 2) : 0, "%");
|
|
264
261
|
};
|
|
265
262
|
})(NumberUtil || (NumberUtil = {}));
|
|
266
263
|
exports.default = NumberUtil;
|
|
@@ -343,16 +343,16 @@ declare namespace StringUtil {
|
|
|
343
343
|
* 将下划线分隔形式的字符串转换为驼峰式的字符串
|
|
344
344
|
* @param {string} input 输入字符串
|
|
345
345
|
* @example
|
|
346
|
-
*
|
|
347
|
-
*
|
|
346
|
+
* uncamelize('last_index_of'); => 'lastIndexOf'
|
|
347
|
+
* uncamelize('escape_metacharacter_of_str'); => 'escapeMetacharacterOfStr'
|
|
348
348
|
*/
|
|
349
349
|
const uncamelize: (input: string) => string;
|
|
350
350
|
/**
|
|
351
351
|
* 将驼峰式的字符串转换为下划线分隔形式的字符串
|
|
352
352
|
* @param {string} input 输入字符串
|
|
353
353
|
* @example
|
|
354
|
-
*
|
|
355
|
-
*
|
|
354
|
+
* unhyphenate('lastIndexOf'); => 'last_index_of'
|
|
355
|
+
* unhyphenate('escapeMetacharacterOfStr'); => 'escape_metacharacter_of_str'
|
|
356
356
|
*/
|
|
357
357
|
const unhyphenate: (input: string) => string;
|
|
358
358
|
/**
|
package/lib/string/StringUtil.js
CHANGED
|
@@ -473,8 +473,8 @@ var StringUtil;
|
|
|
473
473
|
* 将下划线分隔形式的字符串转换为驼峰式的字符串
|
|
474
474
|
* @param {string} input 输入字符串
|
|
475
475
|
* @example
|
|
476
|
-
*
|
|
477
|
-
*
|
|
476
|
+
* uncamelize('last_index_of'); => 'lastIndexOf'
|
|
477
|
+
* uncamelize('escape_metacharacter_of_str'); => 'escapeMetacharacterOfStr'
|
|
478
478
|
*/
|
|
479
479
|
StringUtil.uncamelize = function (input) {
|
|
480
480
|
return (input + '').replace(/_\D/g, function (match) {
|
|
@@ -485,8 +485,8 @@ var StringUtil;
|
|
|
485
485
|
* 将驼峰式的字符串转换为下划线分隔形式的字符串
|
|
486
486
|
* @param {string} input 输入字符串
|
|
487
487
|
* @example
|
|
488
|
-
*
|
|
489
|
-
*
|
|
488
|
+
* unhyphenate('lastIndexOf'); => 'last_index_of'
|
|
489
|
+
* unhyphenate('escapeMetacharacterOfStr'); => 'escape_metacharacter_of_str'
|
|
490
490
|
*/
|
|
491
491
|
StringUtil.unhyphenate = function (input) {
|
|
492
492
|
return (input + '').replace(/[A-Z]/g, function (match) {
|
package/lib/url/UrlUtil.js
CHANGED
|
@@ -86,19 +86,22 @@ var UrlUtil;
|
|
|
86
86
|
* getUrlRequest('https://ss.cn?sdf=213&bdl=231111'); => {sdf: "213", bdl: "231111"}
|
|
87
87
|
*/
|
|
88
88
|
function getUrlRequest(href) {
|
|
89
|
-
var _a;
|
|
90
89
|
if (href === void 0) {
|
|
91
90
|
href = window.location.href;
|
|
92
91
|
}
|
|
93
|
-
href = href.
|
|
92
|
+
href = "".concat(href === null || href === void 0 ? void 0 : href.slice(-1)) === '/' ? href === null || href === void 0 ? void 0 : href.slice(0, href.length - 1) : href;
|
|
94
93
|
var theRequest = {};
|
|
95
|
-
if (href.includes('
|
|
96
|
-
|
|
94
|
+
if (href.includes('#/')) {
|
|
95
|
+
//hash
|
|
96
|
+
href = "".concat(href.split('/').slice(-1));
|
|
97
|
+
}
|
|
98
|
+
if (href === null || href === void 0 ? void 0 : href.includes('?')) {
|
|
99
|
+
var strs = href === null || href === void 0 ? void 0 : href.split('?').slice(-1).toString().split('&');
|
|
97
100
|
for (var i = 0; i < strs.length; i++) {
|
|
98
|
-
var
|
|
99
|
-
key =
|
|
100
|
-
value =
|
|
101
|
-
if (key) theRequest[key] =
|
|
101
|
+
var _a = __read(strs[i].split('='), 2),
|
|
102
|
+
key = _a[0],
|
|
103
|
+
value = _a[1];
|
|
104
|
+
if (key) theRequest[key] = decodeURIComponent(value);
|
|
102
105
|
}
|
|
103
106
|
}
|
|
104
107
|
return theRequest;
|
|
@@ -111,6 +114,14 @@ var UrlUtil;
|
|
|
111
114
|
function setUrlParamsNotRefresh(obj) {
|
|
112
115
|
var urlParams = getUrlRequest();
|
|
113
116
|
var str = objToUrlParam(ObjectUtil_1.default.mergeParams(obj, urlParams));
|
|
117
|
+
var href = window.location.href;
|
|
118
|
+
if (href.includes('#/') && !"".concat(href.split('/').slice(-1)).includes('?')) {
|
|
119
|
+
var url_1 = "".concat(href).concat(str ? "?".concat(str) : '');
|
|
120
|
+
window.history.replaceState({
|
|
121
|
+
url: url_1
|
|
122
|
+
}, '', url_1);
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
114
125
|
var _arr = window.location.href.split('?');
|
|
115
126
|
var url = "".concat(_arr.slice(0, _arr.length - 1).join('?')).concat(str ? "?".concat(str) : '');
|
|
116
127
|
window.history.replaceState({
|