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.
@@ -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;
@@ -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
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @static
5
5
  * @alias module:Other.waitTime
6
- * @since 3.1.0
6
+ * @since 4.2.0
7
7
  * @param {number} [time=1000] 延时时间,单位毫秒
8
8
  * @returns {Promise<void>}
9
9
  * @example
@@ -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;
@@ -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
@@ -10,7 +10,7 @@ exports["default"] = void 0;
10
10
  *
11
11
  * @static
12
12
  * @alias module:Other.waitTime
13
- * @since 3.1.0
13
+ * @since 4.2.0
14
14
  * @param {number} [time=1000] 延时时间,单位毫秒
15
15
  * @returns {Promise<void>}
16
16
  * @example
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "util-helpers",
3
- "version": "4.2.0",
3
+ "version": "4.4.0",
4
4
  "description": "一个基于业务场景的工具方法库",
5
5
  "main": "lib/index.js",
6
6
  "module": "esm/index.js",
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;
@@ -0,0 +1,11 @@
1
+ export default isNil;
2
+ /**
3
+ * 检查值是否为 undefined 或 null
4
+ *
5
+ * @static
6
+ * @alias module:Type.isNaN
7
+ * @since 4.3.0
8
+ * @param {*} value 检查值
9
+ * @returns {boolean} 是否为 undefined 或 null
10
+ */
11
+ declare function isNil(value: any): boolean;
@@ -4,7 +4,7 @@ export default waitTime;
4
4
  *
5
5
  * @static
6
6
  * @alias module:Other.waitTime
7
- * @since 3.1.0
7
+ * @since 4.2.0
8
8
  * @param {number} [time=1000] 延时时间,单位毫秒
9
9
  * @returns {Promise<void>}
10
10
  * @example