@whitesev/utils 2.9.11 → 2.9.12
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/index.amd.js +32 -17
- package/dist/index.amd.js.map +1 -1
- package/dist/index.amd.min.js +1 -1
- package/dist/index.amd.min.js.map +1 -1
- package/dist/index.cjs.js +32 -17
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.cjs.min.js +1 -1
- package/dist/index.cjs.min.js.map +1 -1
- package/dist/index.esm.js +32 -17
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm.min.js +1 -1
- package/dist/index.esm.min.js.map +1 -1
- package/dist/index.iife.js +32 -17
- package/dist/index.iife.js.map +1 -1
- package/dist/index.iife.min.js +1 -1
- package/dist/index.iife.min.js.map +1 -1
- package/dist/index.system.js +32 -17
- package/dist/index.system.js.map +1 -1
- package/dist/index.system.min.js +1 -1
- package/dist/index.system.min.js.map +1 -1
- package/dist/index.umd.js +32 -17
- package/dist/index.umd.js.map +1 -1
- package/dist/index.umd.min.js +1 -1
- package/dist/index.umd.min.js.map +1 -1
- package/package.json +1 -1
- package/src/CommonUtil.ts +32 -16
package/package.json
CHANGED
package/src/CommonUtil.ts
CHANGED
|
@@ -125,38 +125,54 @@ class CommonUtil {
|
|
|
125
125
|
isNull(...args: any[]): boolean {
|
|
126
126
|
let result = true;
|
|
127
127
|
const checkList = [...args];
|
|
128
|
-
for (const
|
|
129
|
-
let
|
|
130
|
-
if (
|
|
131
|
-
|
|
128
|
+
for (const obj of checkList) {
|
|
129
|
+
let flag = false;
|
|
130
|
+
if (obj === null || obj === undefined) {
|
|
131
|
+
// null undefined
|
|
132
|
+
flag = true;
|
|
132
133
|
} else {
|
|
133
|
-
switch (typeof
|
|
134
|
+
switch (typeof obj) {
|
|
134
135
|
case "object":
|
|
135
|
-
if (typeof
|
|
136
|
-
|
|
137
|
-
|
|
136
|
+
if (typeof obj[Symbol.iterator] === "function") {
|
|
137
|
+
// 可迭代
|
|
138
|
+
// Map Array NodeList HTMLCollection
|
|
139
|
+
if (obj instanceof Map) {
|
|
140
|
+
flag = obj.size === 0;
|
|
141
|
+
} else {
|
|
142
|
+
const length = obj.length;
|
|
143
|
+
if (typeof length === "number") {
|
|
144
|
+
flag = length === 0;
|
|
145
|
+
} else {
|
|
146
|
+
// 其它的不处理
|
|
147
|
+
}
|
|
148
|
+
}
|
|
138
149
|
} else {
|
|
139
|
-
|
|
150
|
+
if (obj?.toString() === "[object Object]") {
|
|
151
|
+
// {}
|
|
152
|
+
flag = Object.keys(obj).length === 0;
|
|
153
|
+
}
|
|
140
154
|
}
|
|
141
155
|
break;
|
|
142
156
|
case "number":
|
|
143
|
-
|
|
157
|
+
flag = isNaN(obj) ? true : obj === 0;
|
|
144
158
|
break;
|
|
145
|
-
case "string":
|
|
146
|
-
|
|
159
|
+
case "string": {
|
|
160
|
+
const trimStr = obj.trim();
|
|
161
|
+
flag = trimStr.trim() === "" || trimStr === "null" || trimStr === "undefined";
|
|
147
162
|
break;
|
|
163
|
+
}
|
|
148
164
|
case "boolean":
|
|
149
|
-
|
|
165
|
+
flag = !obj;
|
|
150
166
|
break;
|
|
151
167
|
case "function": {
|
|
152
|
-
const funcStr =
|
|
168
|
+
const funcStr = obj.toString().replace(/\s/g, "");
|
|
153
169
|
/* 排除()=>{}、(xxx="")=>{}、function(){}、function(xxx=""){} */
|
|
154
|
-
|
|
170
|
+
flag = Boolean(funcStr.match(/^\(.*?\)=>\{\}$|^function.*?\(.*?\)\{\}$/));
|
|
155
171
|
break;
|
|
156
172
|
}
|
|
157
173
|
}
|
|
158
174
|
}
|
|
159
|
-
result = result &&
|
|
175
|
+
result = result && flag;
|
|
160
176
|
}
|
|
161
177
|
|
|
162
178
|
return result;
|