util-helpers 4.2.0 → 4.4.0
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 +2 -2
- package/dist/util-helpers.js +121 -3
- package/dist/util-helpers.min.js +1 -1
- package/dist/util-helpers.min.js.map +1 -1
- package/esm/formatBankCard.js +3 -1
- package/esm/index.js +2 -0
- package/esm/normalizeString.js +32 -0
- package/esm/safeDate.js +40 -0
- package/esm/utils/type/isNil.js +17 -0
- package/esm/waitTime.js +1 -1
- package/lib/formatBankCard.js +5 -1
- package/lib/index.js +16 -0
- package/lib/normalizeString.js +43 -0
- package/lib/safeDate.js +56 -0
- package/lib/utils/type/isNil.js +28 -0
- package/lib/waitTime.js +1 -1
- package/package.json +1 -1
- package/types/index.d.ts +2 -0
- package/types/normalizeString.d.ts +22 -0
- package/types/safeDate.d.ts +21 -0
- package/types/utils/type/isNil.d.ts +11 -0
- package/types/waitTime.d.ts +1 -1
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import isNil from './utils/type/isNil';
|
|
2
|
+
import convertToString from './utils/convertToString';
|
|
3
|
+
/**
|
|
4
|
+
* 规整化字符串。如果值为 undefined 或 null 将转为空字符串,如果值不是字符串类型将转为字符串。
|
|
5
|
+
*
|
|
6
|
+
* @static
|
|
7
|
+
* @alias module:Processor.normalizeString
|
|
8
|
+
* @see 参考 {@link tttps://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String#string_instances|String}
|
|
9
|
+
* @since 4.3.0
|
|
10
|
+
* @param {*} value 待处理的值
|
|
11
|
+
* @returns {string} 规整化的值
|
|
12
|
+
* @example
|
|
13
|
+
* normalizeString(); // ''
|
|
14
|
+
* normalizeString(undefined); // ''
|
|
15
|
+
* normalizeString(void 0); // ''
|
|
16
|
+
* normalizeString(null); // ''
|
|
17
|
+
*
|
|
18
|
+
* normalizeString(true); // 'true'
|
|
19
|
+
* normalizeString(NaN); // 'NaN'
|
|
20
|
+
* normalizeString(1); // '1'
|
|
21
|
+
* normalizeString('a'); // 'a'
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
function normalizeString(value) {
|
|
25
|
+
if (isNil(value)) {
|
|
26
|
+
return '';
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return convertToString(value);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export default normalizeString;
|
package/esm/safeDate.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import _construct from "@babel/runtime/helpers/construct";
|
|
2
|
+
import isNil from './utils/type/isNil'; // TODO: 函数重载,类型参照 Date
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* 创建一个 Date 实例,同 new Date() 。<br/><br/>主要是规避了 iphone 设备浏览器不支持部分格式(YYYY-MM-DD HH-mm 或 YYYY.MM.DD)。
|
|
6
|
+
*
|
|
7
|
+
* @static
|
|
8
|
+
* @alias module:Processor.safeDate
|
|
9
|
+
* @see 参考 {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date|Date}
|
|
10
|
+
* @since 4.4.0
|
|
11
|
+
* @param {string|number|Date} [value] 日期时间字符串、毫秒数、日期对象
|
|
12
|
+
* @param {...number} args 月/日/时/分/秒/毫秒
|
|
13
|
+
* @returns {Date} Date 实例
|
|
14
|
+
* @example
|
|
15
|
+
* safeDate('2022-1-1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
16
|
+
* safeDate('2022/1/1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
17
|
+
* safeDate('2022.1.1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
18
|
+
* safeDate('2022.1.1 11:11'); // Sat Jan 01 2022 11:11:00 GMT+0800 (中国标准时间)
|
|
19
|
+
* safeDate(99, 1); // Mon Feb 01 1999 00:00:00 GMT+0800 (中国标准时间)
|
|
20
|
+
* safeDate(1646711233171); // Tue Mar 08 2022 11:47:13 GMT+0800 (中国标准时间)
|
|
21
|
+
*
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
function safeDate(value) {
|
|
25
|
+
var safeValue = typeof value === 'string' ? value.replace(/[\\.-]/g, '/') : value;
|
|
26
|
+
|
|
27
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
28
|
+
args[_key - 1] = arguments[_key];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (args && args.length > 0) {
|
|
32
|
+
// @ts-ignore
|
|
33
|
+
return _construct(Date, [safeValue].concat(args));
|
|
34
|
+
} // @ts-ignore
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
return isNil(safeValue) ? new Date() : new Date(safeValue);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export default safeDate;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import isUndefined from './isUndefined';
|
|
2
|
+
import isNull from './isNull';
|
|
3
|
+
/**
|
|
4
|
+
* 检查值是否为 undefined 或 null
|
|
5
|
+
*
|
|
6
|
+
* @static
|
|
7
|
+
* @alias module:Type.isNaN
|
|
8
|
+
* @since 4.3.0
|
|
9
|
+
* @param {*} value 检查值
|
|
10
|
+
* @returns {boolean} 是否为 undefined 或 null
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
function isNil(value) {
|
|
14
|
+
return isUndefined(value) || isNull(value);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export default isNil;
|
package/esm/waitTime.js
CHANGED
package/lib/formatBankCard.js
CHANGED
|
@@ -5,6 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
7
|
|
|
8
|
+
var _normalizeString = _interopRequireDefault(require("./normalizeString"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
+
|
|
8
12
|
/**
|
|
9
13
|
* 格式化银行卡号
|
|
10
14
|
*
|
|
@@ -46,7 +50,7 @@ function formatBankCard() {
|
|
|
46
50
|
|
|
47
51
|
var reg = new RegExp("(.{".concat(length, "})"), 'g');
|
|
48
52
|
var regChar = new RegExp("".concat(_char), 'g');
|
|
49
|
-
var realValue = bankCardNo.replace(regChar, '');
|
|
53
|
+
var realValue = (0, _normalizeString["default"])(bankCardNo).replace(regChar, '');
|
|
50
54
|
var needRemoveLastChar = realValue.length % length === 0;
|
|
51
55
|
var str = realValue.replace(reg, "$1".concat(_char));
|
|
52
56
|
return needRemoveLastChar ? str.substring(0, str.length - 1) : str;
|
package/lib/index.js
CHANGED
|
@@ -183,6 +183,18 @@ Object.defineProperty(exports, "setDataURLPrefix", {
|
|
|
183
183
|
return _setDataURLPrefix["default"];
|
|
184
184
|
}
|
|
185
185
|
});
|
|
186
|
+
Object.defineProperty(exports, "normalizeString", {
|
|
187
|
+
enumerable: true,
|
|
188
|
+
get: function get() {
|
|
189
|
+
return _normalizeString["default"];
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
Object.defineProperty(exports, "safeDate", {
|
|
193
|
+
enumerable: true,
|
|
194
|
+
get: function get() {
|
|
195
|
+
return _safeDate["default"];
|
|
196
|
+
}
|
|
197
|
+
});
|
|
186
198
|
Object.defineProperty(exports, "plus", {
|
|
187
199
|
enumerable: true,
|
|
188
200
|
get: function get() {
|
|
@@ -286,6 +298,10 @@ var _dataURLToBlob = _interopRequireDefault(require("./dataURLToBlob"));
|
|
|
286
298
|
|
|
287
299
|
var _setDataURLPrefix = _interopRequireDefault(require("./setDataURLPrefix"));
|
|
288
300
|
|
|
301
|
+
var _normalizeString = _interopRequireDefault(require("./normalizeString"));
|
|
302
|
+
|
|
303
|
+
var _safeDate = _interopRequireDefault(require("./safeDate"));
|
|
304
|
+
|
|
289
305
|
var _plus = _interopRequireDefault(require("./plus"));
|
|
290
306
|
|
|
291
307
|
var _minus = _interopRequireDefault(require("./minus"));
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
var _isNil = _interopRequireDefault(require("./utils/type/isNil"));
|
|
9
|
+
|
|
10
|
+
var _convertToString = _interopRequireDefault(require("./utils/convertToString"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* 规整化字符串。如果值为 undefined 或 null 将转为空字符串,如果值不是字符串类型将转为字符串。
|
|
16
|
+
*
|
|
17
|
+
* @static
|
|
18
|
+
* @alias module:Processor.normalizeString
|
|
19
|
+
* @see 参考 {@link tttps://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String#string_instances|String}
|
|
20
|
+
* @since 4.3.0
|
|
21
|
+
* @param {*} value 待处理的值
|
|
22
|
+
* @returns {string} 规整化的值
|
|
23
|
+
* @example
|
|
24
|
+
* normalizeString(); // ''
|
|
25
|
+
* normalizeString(undefined); // ''
|
|
26
|
+
* normalizeString(void 0); // ''
|
|
27
|
+
* normalizeString(null); // ''
|
|
28
|
+
*
|
|
29
|
+
* normalizeString(true); // 'true'
|
|
30
|
+
* normalizeString(NaN); // 'NaN'
|
|
31
|
+
* normalizeString(1); // '1'
|
|
32
|
+
* normalizeString('a'); // 'a'
|
|
33
|
+
*/
|
|
34
|
+
function normalizeString(value) {
|
|
35
|
+
if ((0, _isNil["default"])(value)) {
|
|
36
|
+
return '';
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return (0, _convertToString["default"])(value);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
var _default = normalizeString;
|
|
43
|
+
exports["default"] = _default;
|
package/lib/safeDate.js
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
var _isNil = _interopRequireDefault(require("./utils/type/isNil"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
+
|
|
12
|
+
function _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }
|
|
13
|
+
|
|
14
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
15
|
+
|
|
16
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
17
|
+
|
|
18
|
+
// TODO: 函数重载,类型参照 Date
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* 创建一个 Date 实例,同 new Date() 。<br/><br/>主要是规避了 iphone 设备浏览器不支持部分格式(YYYY-MM-DD HH-mm 或 YYYY.MM.DD)。
|
|
22
|
+
*
|
|
23
|
+
* @static
|
|
24
|
+
* @alias module:Processor.safeDate
|
|
25
|
+
* @see 参考 {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date|Date}
|
|
26
|
+
* @since 4.4.0
|
|
27
|
+
* @param {string|number|Date} [value] 日期时间字符串、毫秒数、日期对象
|
|
28
|
+
* @param {...number} args 月/日/时/分/秒/毫秒
|
|
29
|
+
* @returns {Date} Date 实例
|
|
30
|
+
* @example
|
|
31
|
+
* safeDate('2022-1-1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
32
|
+
* safeDate('2022/1/1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
33
|
+
* safeDate('2022.1.1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
34
|
+
* safeDate('2022.1.1 11:11'); // Sat Jan 01 2022 11:11:00 GMT+0800 (中国标准时间)
|
|
35
|
+
* safeDate(99, 1); // Mon Feb 01 1999 00:00:00 GMT+0800 (中国标准时间)
|
|
36
|
+
* safeDate(1646711233171); // Tue Mar 08 2022 11:47:13 GMT+0800 (中国标准时间)
|
|
37
|
+
*
|
|
38
|
+
*/
|
|
39
|
+
function safeDate(value) {
|
|
40
|
+
var safeValue = typeof value === 'string' ? value.replace(/[\\.-]/g, '/') : value;
|
|
41
|
+
|
|
42
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
43
|
+
args[_key - 1] = arguments[_key];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (args && args.length > 0) {
|
|
47
|
+
// @ts-ignore
|
|
48
|
+
return _construct(Date, [safeValue].concat(args));
|
|
49
|
+
} // @ts-ignore
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
return (0, _isNil["default"])(safeValue) ? new Date() : new Date(safeValue);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
var _default = safeDate;
|
|
56
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
var _isUndefined = _interopRequireDefault(require("./isUndefined"));
|
|
9
|
+
|
|
10
|
+
var _isNull = _interopRequireDefault(require("./isNull"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* 检查值是否为 undefined 或 null
|
|
16
|
+
*
|
|
17
|
+
* @static
|
|
18
|
+
* @alias module:Type.isNaN
|
|
19
|
+
* @since 4.3.0
|
|
20
|
+
* @param {*} value 检查值
|
|
21
|
+
* @returns {boolean} 是否为 undefined 或 null
|
|
22
|
+
*/
|
|
23
|
+
function isNil(value) {
|
|
24
|
+
return (0, _isUndefined["default"])(value) || (0, _isNull["default"])(value);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
var _default = isNil;
|
|
28
|
+
exports["default"] = _default;
|
package/lib/waitTime.js
CHANGED
package/package.json
CHANGED
package/types/index.d.ts
CHANGED
|
@@ -28,6 +28,8 @@ export { default as parseIdCard } from "./parseIdCard";
|
|
|
28
28
|
export { default as blobToDataURL } from "./blobToDataURL";
|
|
29
29
|
export { default as dataURLToBlob } from "./dataURLToBlob";
|
|
30
30
|
export { default as setDataURLPrefix } from "./setDataURLPrefix";
|
|
31
|
+
export { default as normalizeString } from "./normalizeString";
|
|
32
|
+
export { default as safeDate } from "./safeDate";
|
|
31
33
|
export { default as plus } from "./plus";
|
|
32
34
|
export { default as minus } from "./minus";
|
|
33
35
|
export { default as times } from "./times";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export default normalizeString;
|
|
2
|
+
/**
|
|
3
|
+
* 规整化字符串。如果值为 undefined 或 null 将转为空字符串,如果值不是字符串类型将转为字符串。
|
|
4
|
+
*
|
|
5
|
+
* @static
|
|
6
|
+
* @alias module:Processor.normalizeString
|
|
7
|
+
* @see 参考 {@link tttps://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String#string_instances|String}
|
|
8
|
+
* @since 4.3.0
|
|
9
|
+
* @param {*} value 待处理的值
|
|
10
|
+
* @returns {string} 规整化的值
|
|
11
|
+
* @example
|
|
12
|
+
* normalizeString(); // ''
|
|
13
|
+
* normalizeString(undefined); // ''
|
|
14
|
+
* normalizeString(void 0); // ''
|
|
15
|
+
* normalizeString(null); // ''
|
|
16
|
+
*
|
|
17
|
+
* normalizeString(true); // 'true'
|
|
18
|
+
* normalizeString(NaN); // 'NaN'
|
|
19
|
+
* normalizeString(1); // '1'
|
|
20
|
+
* normalizeString('a'); // 'a'
|
|
21
|
+
*/
|
|
22
|
+
declare function normalizeString(value: any): string;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export default safeDate;
|
|
2
|
+
/**
|
|
3
|
+
* 创建一个 Date 实例,同 new Date() 。<br/><br/>主要是规避了 iphone 设备浏览器不支持部分格式(YYYY-MM-DD HH-mm 或 YYYY.MM.DD)。
|
|
4
|
+
*
|
|
5
|
+
* @static
|
|
6
|
+
* @alias module:Processor.safeDate
|
|
7
|
+
* @see 参考 {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date|Date}
|
|
8
|
+
* @since 4.4.0
|
|
9
|
+
* @param {string|number|Date} [value] 日期时间字符串、毫秒数、日期对象
|
|
10
|
+
* @param {...number} args 月/日/时/分/秒/毫秒
|
|
11
|
+
* @returns {Date} Date 实例
|
|
12
|
+
* @example
|
|
13
|
+
* safeDate('2022-1-1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
14
|
+
* safeDate('2022/1/1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
15
|
+
* safeDate('2022.1.1'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
|
|
16
|
+
* safeDate('2022.1.1 11:11'); // Sat Jan 01 2022 11:11:00 GMT+0800 (中国标准时间)
|
|
17
|
+
* safeDate(99, 1); // Mon Feb 01 1999 00:00:00 GMT+0800 (中国标准时间)
|
|
18
|
+
* safeDate(1646711233171); // Tue Mar 08 2022 11:47:13 GMT+0800 (中国标准时间)
|
|
19
|
+
*
|
|
20
|
+
*/
|
|
21
|
+
declare function safeDate(value?: string | number | Date | undefined, ...args: number[]): Date;
|