util-helpers 4.0.5 → 4.1.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 +4 -50
- package/dist/util-helpers.js +204 -65
- package/dist/util-helpers.min.js +1 -1
- package/dist/util-helpers.min.js.map +1 -1
- package/esm/blobToDataURL.js +43 -0
- package/esm/dataURLToBlob.js +31 -0
- package/esm/divide.js +17 -8
- package/esm/formatBankCard.js +1 -1
- package/esm/formatMoney.js +7 -5
- package/esm/index.js +3 -0
- package/esm/isBusinessLicense.js +2 -2
- package/esm/isSocialCreditCode.js +2 -2
- package/esm/minus.js +17 -8
- package/esm/parseIdCard.js +2 -2
- package/esm/plus.js +17 -8
- package/esm/replaceChar.js +1 -1
- package/esm/setDataURLPrefix.js +28 -0
- package/esm/times.js +17 -8
- package/esm/utils/convertToString.js +2 -11
- package/esm/utils/math.util.js +4 -5
- package/lib/blobToDataURL.js +51 -0
- package/lib/dataURLToBlob.js +39 -0
- package/lib/divide.js +29 -8
- package/lib/formatBankCard.js +1 -1
- package/lib/formatMoney.js +6 -5
- package/lib/index.js +24 -0
- package/lib/isBusinessLicense.js +2 -2
- package/lib/isSocialCreditCode.js +2 -2
- package/lib/minus.js +29 -8
- package/lib/parseIdCard.js +2 -2
- package/lib/plus.js +29 -8
- package/lib/replaceChar.js +1 -1
- package/lib/setDataURLPrefix.js +36 -0
- package/lib/times.js +29 -8
- package/lib/utils/convertToString.js +2 -12
- package/lib/utils/math.util.js +4 -3
- package/package.json +2 -2
- package/types/blobToDataURL.d.ts +25 -0
- package/types/dataURLToBlob.d.ts +15 -0
- package/types/divide.d.ts +2 -4
- package/types/index.d.ts +3 -0
- package/types/minus.d.ts +2 -4
- package/types/parseIdCard.d.ts +15 -2
- package/types/plus.d.ts +2 -4
- package/types/setDataURLPrefix.d.ts +23 -0
- package/types/times.d.ts +2 -4
- package/types/utils/convertToString.d.ts +2 -2
- package/types/utils/math.util.d.ts +7 -0
package/lib/minus.js
CHANGED
|
@@ -9,17 +9,29 @@ var _math = require("./utils/math.util");
|
|
|
9
9
|
|
|
10
10
|
var _times = _interopRequireDefault(require("./times"));
|
|
11
11
|
|
|
12
|
+
var _type = require("./utils/type");
|
|
13
|
+
|
|
12
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
15
|
|
|
16
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
17
|
+
|
|
18
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
19
|
+
|
|
20
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
21
|
+
|
|
22
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
23
|
+
|
|
24
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
25
|
+
|
|
26
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
27
|
+
|
|
14
28
|
/**
|
|
15
29
|
* 精确减法,支持多个数相减
|
|
16
30
|
*
|
|
17
31
|
* @static
|
|
18
32
|
* @alias module:Math.minus
|
|
19
33
|
* @since 3.1.0
|
|
20
|
-
* @param {number|string}
|
|
21
|
-
* @param {number|string} num2 相减的第二个数
|
|
22
|
-
* @param {...number|string} others 相减的第其余数
|
|
34
|
+
* @param {...number|string} nums 相减的数
|
|
23
35
|
* @returns {number} 差
|
|
24
36
|
* @example
|
|
25
37
|
*
|
|
@@ -32,14 +44,23 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
|
|
|
32
44
|
* minus(1, 0.9, 0.02, 0.08);
|
|
33
45
|
* // => 0
|
|
34
46
|
*/
|
|
35
|
-
function minus(
|
|
36
|
-
for (var _len = arguments.length,
|
|
37
|
-
|
|
47
|
+
function minus() {
|
|
48
|
+
for (var _len = arguments.length, nums = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
49
|
+
nums[_key] = arguments[_key];
|
|
38
50
|
}
|
|
39
51
|
|
|
40
|
-
|
|
52
|
+
var num1 = nums[0],
|
|
53
|
+
num2 = nums[1],
|
|
54
|
+
rest = nums.slice(2);
|
|
55
|
+
|
|
56
|
+
if (rest.length > 0) {
|
|
57
|
+
return minus.apply(void 0, [minus(num1, num2)].concat(_toConsumableArray(rest)));
|
|
58
|
+
} // 兼容处理,如果第2个参数为非数字或字符串时,返回第一个参数
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
if ((!(0, _type.isNumber)(num2) || (0, _type.isNaN)(num2)) && !(0, _type.isString)(num2)) {
|
|
41
62
|
// @ts-ignore
|
|
42
|
-
return
|
|
63
|
+
return num1;
|
|
43
64
|
}
|
|
44
65
|
|
|
45
66
|
var baseNum = Math.pow(10, Math.max((0, _math.digitLength)(num1), (0, _math.digitLength)(num2)));
|
package/lib/parseIdCard.js
CHANGED
|
@@ -57,7 +57,7 @@ var Provinces = [// 华北地区:北京市|110000,天津市|120000,河北
|
|
|
57
57
|
* @since 4.0.0
|
|
58
58
|
* @see 参考 {@link https://baike.baidu.com/item/居民身份证号码|居民身份证号码}
|
|
59
59
|
* @param {string} id 身份证号码,支持15位
|
|
60
|
-
* @returns
|
|
60
|
+
* @returns null 或 省份、生日、性别,省/市/区/年/月/日/性别编码
|
|
61
61
|
* @example
|
|
62
62
|
* parseIdCard('123456789123456');
|
|
63
63
|
* // => null
|
|
@@ -135,7 +135,7 @@ function parseIdCard(id) {
|
|
|
135
135
|
}
|
|
136
136
|
|
|
137
137
|
var birthday = "".concat(origin.year, "-").concat(origin.month, "-").concat(origin.day);
|
|
138
|
-
var gender = Number(origin.gender) % 2 === 0 ? '女' : '男'; // const region = Regions.find(item => item[0] === origin.province?.
|
|
138
|
+
var gender = Number(origin.gender) % 2 === 0 ? '女' : '男'; // const region = Regions.find(item => item[0] === origin.province?.substring(0, 1));
|
|
139
139
|
|
|
140
140
|
return {
|
|
141
141
|
// region,
|
package/lib/plus.js
CHANGED
|
@@ -9,17 +9,29 @@ var _math = require("./utils/math.util");
|
|
|
9
9
|
|
|
10
10
|
var _times = _interopRequireDefault(require("./times"));
|
|
11
11
|
|
|
12
|
+
var _type = require("./utils/type");
|
|
13
|
+
|
|
12
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
15
|
|
|
16
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
17
|
+
|
|
18
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
19
|
+
|
|
20
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
21
|
+
|
|
22
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
23
|
+
|
|
24
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
25
|
+
|
|
26
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
27
|
+
|
|
14
28
|
/**
|
|
15
29
|
* 精确加法,支持多个数相加
|
|
16
30
|
*
|
|
17
31
|
* @static
|
|
18
32
|
* @alias module:Math.plus
|
|
19
33
|
* @since 3.1.0
|
|
20
|
-
* @param {number|string}
|
|
21
|
-
* @param {number|string} num2 相加的第二个数
|
|
22
|
-
* @param {...number|string} others 相加的其余数
|
|
34
|
+
* @param {...number|string} nums 相加的数
|
|
23
35
|
* @returns {number} 总和
|
|
24
36
|
* @example
|
|
25
37
|
*
|
|
@@ -32,14 +44,23 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
|
|
|
32
44
|
* plus(0.1, 0.2, 0.3, 0.4);
|
|
33
45
|
* // => 1
|
|
34
46
|
*/
|
|
35
|
-
function plus(
|
|
36
|
-
for (var _len = arguments.length,
|
|
37
|
-
|
|
47
|
+
function plus() {
|
|
48
|
+
for (var _len = arguments.length, nums = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
49
|
+
nums[_key] = arguments[_key];
|
|
38
50
|
}
|
|
39
51
|
|
|
40
|
-
|
|
52
|
+
var num1 = nums[0],
|
|
53
|
+
num2 = nums[1],
|
|
54
|
+
rest = nums.slice(2);
|
|
55
|
+
|
|
56
|
+
if (rest.length > 0) {
|
|
57
|
+
return plus.apply(void 0, [plus(num1, num2)].concat(_toConsumableArray(rest)));
|
|
58
|
+
} // 兼容处理,如果第2个参数为非数字或字符串时,返回第一个参数
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
if ((!(0, _type.isNumber)(num2) || (0, _type.isNaN)(num2)) && !(0, _type.isString)(num2)) {
|
|
41
62
|
// @ts-ignore
|
|
42
|
-
return
|
|
63
|
+
return num1;
|
|
43
64
|
}
|
|
44
65
|
|
|
45
66
|
var baseNum = Math.pow(10, Math.max((0, _math.digitLength)(num1), (0, _math.digitLength)(num2)));
|
package/lib/replaceChar.js
CHANGED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* 设置 DataURL 前缀、MIME 类型、base64 标识。<br/><br/>
|
|
10
|
+
*
|
|
11
|
+
* 如果你需要获取DataURL 的 MIME 类型和数据本身,推荐使用 <a href="https://www.npmjs.com/package/data-urls">data-urls</a>。
|
|
12
|
+
*
|
|
13
|
+
* @static
|
|
14
|
+
* @alias module:Processor.setDataURLPrefix
|
|
15
|
+
* @see 参考 {@link https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/Data_URIs|Data URLs}
|
|
16
|
+
* @param {string} data 数据本身
|
|
17
|
+
* @param {string} [mimetype="image/png"] MIME 类型
|
|
18
|
+
* @param {boolean} [base64=true] 添加 base64 标识
|
|
19
|
+
* @returns {string} DataURL 格式的字符串
|
|
20
|
+
* @example
|
|
21
|
+
* const data = 'PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=';
|
|
22
|
+
* setDataURLPrefix(data); // data:image/png;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
23
|
+
* setDataURLPrefix(data, 'image/png', false); // data:image/png,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
24
|
+
* setDataURLPrefix(data, 'image/jpg'); // data:image/jpg;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
25
|
+
* setDataURLPrefix(data, 'text/html'); // data:text/html;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
26
|
+
* setDataURLPrefix(data, ''); // data:;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
27
|
+
* setDataURLPrefix(data, '', false); // data:,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
28
|
+
*/
|
|
29
|
+
function setDataURLPrefix(data) {
|
|
30
|
+
var mimetype = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'image/png';
|
|
31
|
+
var base64 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
32
|
+
return "data:".concat(mimetype).concat(base64 ? ';base64' : '', ",").concat(data);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
var _default = setDataURLPrefix;
|
|
36
|
+
exports["default"] = _default;
|
package/lib/times.js
CHANGED
|
@@ -7,15 +7,27 @@ exports["default"] = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _math = require("./utils/math.util");
|
|
9
9
|
|
|
10
|
+
var _type = require("./utils/type");
|
|
11
|
+
|
|
12
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
13
|
+
|
|
14
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
15
|
+
|
|
16
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
17
|
+
|
|
18
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
19
|
+
|
|
20
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
21
|
+
|
|
22
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
23
|
+
|
|
10
24
|
/**
|
|
11
25
|
* 精确乘法,支持多个数相乘
|
|
12
26
|
*
|
|
13
27
|
* @static
|
|
14
28
|
* @alias module:Math.times
|
|
15
29
|
* @since 3.1.0
|
|
16
|
-
* @param {number|string}
|
|
17
|
-
* @param {number|string} num2 相乘的第二个数
|
|
18
|
-
* @param {...number|string} others 相乘的其余数
|
|
30
|
+
* @param {...number|string} nums 相乘的数
|
|
19
31
|
* @returns {number} 乘积
|
|
20
32
|
* @example
|
|
21
33
|
*
|
|
@@ -28,14 +40,23 @@ var _math = require("./utils/math.util");
|
|
|
28
40
|
* times(3, 0.6, 2, 10);
|
|
29
41
|
* // => 36
|
|
30
42
|
*/
|
|
31
|
-
function times(
|
|
32
|
-
for (var _len = arguments.length,
|
|
33
|
-
|
|
43
|
+
function times() {
|
|
44
|
+
for (var _len = arguments.length, nums = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
45
|
+
nums[_key] = arguments[_key];
|
|
34
46
|
}
|
|
35
47
|
|
|
36
|
-
|
|
48
|
+
var num1 = nums[0],
|
|
49
|
+
num2 = nums[1],
|
|
50
|
+
rest = nums.slice(2);
|
|
51
|
+
|
|
52
|
+
if (rest.length > 0) {
|
|
53
|
+
return times.apply(void 0, [times(num1, num2)].concat(_toConsumableArray(rest)));
|
|
54
|
+
} // 兼容处理,如果第2个参数为非数字或字符串时,返回第一个参数
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
if ((!(0, _type.isNumber)(num2) || (0, _type.isNaN)(num2)) && !(0, _type.isString)(num2)) {
|
|
37
58
|
// @ts-ignore
|
|
38
|
-
return
|
|
59
|
+
return num1;
|
|
39
60
|
}
|
|
40
61
|
|
|
41
62
|
var num1Changed = (0, _math.float2Fixed)(num1);
|
|
@@ -7,26 +7,16 @@ exports["default"] = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _isString = _interopRequireDefault(require("./type/isString"));
|
|
9
9
|
|
|
10
|
-
var _config = require("./config");
|
|
11
|
-
|
|
12
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
11
|
|
|
14
12
|
/**
|
|
15
13
|
* 转换为字符串
|
|
16
14
|
*
|
|
17
15
|
* @param {*} value 值
|
|
18
|
-
* @returns 字符串
|
|
16
|
+
* @returns {string} 字符串
|
|
19
17
|
*/
|
|
20
18
|
function convertToString(value) {
|
|
21
|
-
|
|
22
|
-
if (!_config.config.disableWarning) {
|
|
23
|
-
console.warn("[validatePassword] value must be a string.");
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
return String(value);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
return value;
|
|
19
|
+
return (0, _isString["default"])(value) ? value : String(value);
|
|
30
20
|
}
|
|
31
21
|
|
|
32
22
|
var _default = convertToString;
|
package/lib/utils/math.util.js
CHANGED
|
@@ -8,6 +8,7 @@ exports.strip = strip;
|
|
|
8
8
|
exports.digitLength = digitLength;
|
|
9
9
|
exports.float2Fixed = float2Fixed;
|
|
10
10
|
exports.checkBoundary = checkBoundary;
|
|
11
|
+
exports.trimLeftZero = trimLeftZero;
|
|
11
12
|
exports.scientificToNumber = scientificToNumber;
|
|
12
13
|
|
|
13
14
|
var _constants = require("./constants");
|
|
@@ -99,13 +100,13 @@ function checkBoundary(num) {
|
|
|
99
100
|
|
|
100
101
|
|
|
101
102
|
function trimLeftZero(num) {
|
|
102
|
-
var reg = /^([+-])?(0+)([
|
|
103
|
+
var reg = /^([+-])?(0+)([0-9\.]+)$/;
|
|
103
104
|
var result = reg.exec(num);
|
|
104
105
|
var sign;
|
|
105
106
|
|
|
106
107
|
if (result) {
|
|
107
108
|
sign = result[1] || '';
|
|
108
|
-
return sign + result[3];
|
|
109
|
+
return sign + (result[3][0] === '.' ? '0' + result[3] : result[3]);
|
|
109
110
|
}
|
|
110
111
|
|
|
111
112
|
return num;
|
|
@@ -144,7 +145,7 @@ function scientificToNumber(num) {
|
|
|
144
145
|
var dec = coeff_array[1]; //如果是整数,将整数除第一位之外的非零数字计入位数,相应的减少0的个数
|
|
145
146
|
|
|
146
147
|
if (l - dec.length < 0) {
|
|
147
|
-
num = trimLeftZero(coeff_array[0] + dec.
|
|
148
|
+
num = trimLeftZero(coeff_array[0] + dec.substring(0, l)) + '.' + dec.substring(l);
|
|
148
149
|
} else {
|
|
149
150
|
//拼接字符串,如果是整数,不需要拼接小数点
|
|
150
151
|
num = coeff_array.join('') + new Array(l - dec.length + 1).join(zero);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "util-helpers",
|
|
3
|
-
"version": "4.0
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"description": "一个基于业务场景的工具方法库",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"lint": "eslint src --ext .js",
|
|
26
26
|
"lint:fix": "eslint src --ext .js --fix",
|
|
27
27
|
"commit": "cz",
|
|
28
|
-
"
|
|
28
|
+
"prepublishOnly": "npm test && npm run build",
|
|
29
29
|
"types": "tsc"
|
|
30
30
|
},
|
|
31
31
|
"repository": {
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export default blobToDataURL;
|
|
2
|
+
/**
|
|
3
|
+
* 将 Blob 或 File 对象转成 data:URL 格式的 Base64 字符串。
|
|
4
|
+
*
|
|
5
|
+
* @static
|
|
6
|
+
* @alias module:Processor.blobToDataURL
|
|
7
|
+
* @see 参考 {@link https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader/readAsDataURL|FileReader.readAsDataURL()}
|
|
8
|
+
* @since 4.1.0
|
|
9
|
+
* @param {Blob} blob Blob 或 File 对象
|
|
10
|
+
* @returns {Promise<string>} data:URL 格式的 Base64 字符串。
|
|
11
|
+
* @example
|
|
12
|
+
* const aFileParts = ['<a id="a"><b id="b">hey!</b></a>']; // 一个包含DOMString的数组
|
|
13
|
+
* const htmlBlob = new Blob(aFileParts, { type: 'text/html' }); // 得到 blob
|
|
14
|
+
*
|
|
15
|
+
* blobToDataURL(htmlBlob).then(data=>{
|
|
16
|
+
* console.log(data); // data:text/html;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
17
|
+
* });
|
|
18
|
+
*
|
|
19
|
+
* const textBlob = new Blob(aFileParts, { type: 'text/plain' });
|
|
20
|
+
*
|
|
21
|
+
* blobToDataURL(textBlob).then(data=>{
|
|
22
|
+
* console.log(data); // data:text/plain;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
23
|
+
* });
|
|
24
|
+
*/
|
|
25
|
+
declare function blobToDataURL(blob: Blob): Promise<string>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export default dataURLToBlob;
|
|
2
|
+
/**
|
|
3
|
+
* 将 DataURL 转为 Blob 对象
|
|
4
|
+
*
|
|
5
|
+
* @static
|
|
6
|
+
* @alias module:Processor.dataURLToBlob
|
|
7
|
+
* @see 参考 {@link https://developer.mozilla.org/zh-CN/docs/Glossary/Base64|Base64}
|
|
8
|
+
* @since 4.1.0
|
|
9
|
+
* @param {string} dataurl data: 协议的URL
|
|
10
|
+
* @returns {Blob} Blob 对象
|
|
11
|
+
* @example
|
|
12
|
+
* const dataurl = 'data:text/html;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=';
|
|
13
|
+
* dataURLToBlob(dataurl);
|
|
14
|
+
*/
|
|
15
|
+
declare function dataURLToBlob(dataurl: string): Blob;
|
package/types/divide.d.ts
CHANGED
|
@@ -5,9 +5,7 @@ export default divide;
|
|
|
5
5
|
* @static
|
|
6
6
|
* @alias module:Math.divide
|
|
7
7
|
* @since 3.1.0
|
|
8
|
-
* @param {number|string}
|
|
9
|
-
* @param {number|string} num2 被除数
|
|
10
|
-
* @param {...number|string} others 其余被除数
|
|
8
|
+
* @param {...number|string} nums 除数和被除数
|
|
11
9
|
* @returns {number} 商数
|
|
12
10
|
* @example
|
|
13
11
|
*
|
|
@@ -20,4 +18,4 @@ export default divide;
|
|
|
20
18
|
* divide(1000, 10, 10, 10);
|
|
21
19
|
* // => 1
|
|
22
20
|
*/
|
|
23
|
-
declare function divide(
|
|
21
|
+
declare function divide(...nums: (number | string)[]): number;
|
package/types/index.d.ts
CHANGED
|
@@ -25,6 +25,9 @@ export { default as replaceChar } from "./replaceChar";
|
|
|
25
25
|
export { default as numberToChinese } from "./numberToChinese";
|
|
26
26
|
export { default as bytesToSize } from "./bytesToSize";
|
|
27
27
|
export { default as parseIdCard } from "./parseIdCard";
|
|
28
|
+
export { default as blobToDataURL } from "./blobToDataURL";
|
|
29
|
+
export { default as dataURLToBlob } from "./dataURLToBlob";
|
|
30
|
+
export { default as setDataURLPrefix } from "./setDataURLPrefix";
|
|
28
31
|
export { default as plus } from "./plus";
|
|
29
32
|
export { default as minus } from "./minus";
|
|
30
33
|
export { default as times } from "./times";
|
package/types/minus.d.ts
CHANGED
|
@@ -5,9 +5,7 @@ export default minus;
|
|
|
5
5
|
* @static
|
|
6
6
|
* @alias module:Math.minus
|
|
7
7
|
* @since 3.1.0
|
|
8
|
-
* @param {number|string}
|
|
9
|
-
* @param {number|string} num2 相减的第二个数
|
|
10
|
-
* @param {...number|string} others 相减的第其余数
|
|
8
|
+
* @param {...number|string} nums 相减的数
|
|
11
9
|
* @returns {number} 差
|
|
12
10
|
* @example
|
|
13
11
|
*
|
|
@@ -20,4 +18,4 @@ export default minus;
|
|
|
20
18
|
* minus(1, 0.9, 0.02, 0.08);
|
|
21
19
|
* // => 0
|
|
22
20
|
*/
|
|
23
|
-
declare function minus(
|
|
21
|
+
declare function minus(...nums: (number | string)[]): number;
|
package/types/parseIdCard.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export default parseIdCard;
|
|
|
7
7
|
* @since 4.0.0
|
|
8
8
|
* @see 参考 {@link https://baike.baidu.com/item/居民身份证号码|居民身份证号码}
|
|
9
9
|
* @param {string} id 身份证号码,支持15位
|
|
10
|
-
* @returns
|
|
10
|
+
* @returns null 或 省份、生日、性别,省/市/区/年/月/日/性别编码
|
|
11
11
|
* @example
|
|
12
12
|
* parseIdCard('123456789123456');
|
|
13
13
|
* // => null
|
|
@@ -32,4 +32,17 @@ export default parseIdCard;
|
|
|
32
32
|
}
|
|
33
33
|
*
|
|
34
34
|
*/
|
|
35
|
-
declare function parseIdCard(id: string):
|
|
35
|
+
declare function parseIdCard(id: string): {
|
|
36
|
+
province: string;
|
|
37
|
+
birthday: string;
|
|
38
|
+
gender: string;
|
|
39
|
+
origin: {
|
|
40
|
+
province: string;
|
|
41
|
+
city: string;
|
|
42
|
+
area: string;
|
|
43
|
+
year: string;
|
|
44
|
+
month: string;
|
|
45
|
+
day: string;
|
|
46
|
+
gender: string;
|
|
47
|
+
};
|
|
48
|
+
} | null;
|
package/types/plus.d.ts
CHANGED
|
@@ -5,9 +5,7 @@ export default plus;
|
|
|
5
5
|
* @static
|
|
6
6
|
* @alias module:Math.plus
|
|
7
7
|
* @since 3.1.0
|
|
8
|
-
* @param {number|string}
|
|
9
|
-
* @param {number|string} num2 相加的第二个数
|
|
10
|
-
* @param {...number|string} others 相加的其余数
|
|
8
|
+
* @param {...number|string} nums 相加的数
|
|
11
9
|
* @returns {number} 总和
|
|
12
10
|
* @example
|
|
13
11
|
*
|
|
@@ -20,4 +18,4 @@ export default plus;
|
|
|
20
18
|
* plus(0.1, 0.2, 0.3, 0.4);
|
|
21
19
|
* // => 1
|
|
22
20
|
*/
|
|
23
|
-
declare function plus(
|
|
21
|
+
declare function plus(...nums: (number | string)[]): number;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export default setDataURLPrefix;
|
|
2
|
+
/**
|
|
3
|
+
* 设置 DataURL 前缀、MIME 类型、base64 标识。<br/><br/>
|
|
4
|
+
*
|
|
5
|
+
* 如果你需要获取DataURL 的 MIME 类型和数据本身,推荐使用 <a href="https://www.npmjs.com/package/data-urls">data-urls</a>。
|
|
6
|
+
*
|
|
7
|
+
* @static
|
|
8
|
+
* @alias module:Processor.setDataURLPrefix
|
|
9
|
+
* @see 参考 {@link https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/Data_URIs|Data URLs}
|
|
10
|
+
* @param {string} data 数据本身
|
|
11
|
+
* @param {string} [mimetype="image/png"] MIME 类型
|
|
12
|
+
* @param {boolean} [base64=true] 添加 base64 标识
|
|
13
|
+
* @returns {string} DataURL 格式的字符串
|
|
14
|
+
* @example
|
|
15
|
+
* const data = 'PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=';
|
|
16
|
+
* setDataURLPrefix(data); // data:image/png;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
17
|
+
* setDataURLPrefix(data, 'image/png', false); // data:image/png,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
18
|
+
* setDataURLPrefix(data, 'image/jpg'); // data:image/jpg;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
19
|
+
* setDataURLPrefix(data, 'text/html'); // data:text/html;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
20
|
+
* setDataURLPrefix(data, ''); // data:;base64,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
21
|
+
* setDataURLPrefix(data, '', false); // data:,PGEgaWQ9ImEiPjxiIGlkPSJiIj5oZXkhPC9iPjwvYT4=
|
|
22
|
+
*/
|
|
23
|
+
declare function setDataURLPrefix(data: string, mimetype?: string | undefined, base64?: boolean | undefined): string;
|
package/types/times.d.ts
CHANGED
|
@@ -5,9 +5,7 @@ export default times;
|
|
|
5
5
|
* @static
|
|
6
6
|
* @alias module:Math.times
|
|
7
7
|
* @since 3.1.0
|
|
8
|
-
* @param {number|string}
|
|
9
|
-
* @param {number|string} num2 相乘的第二个数
|
|
10
|
-
* @param {...number|string} others 相乘的其余数
|
|
8
|
+
* @param {...number|string} nums 相乘的数
|
|
11
9
|
* @returns {number} 乘积
|
|
12
10
|
* @example
|
|
13
11
|
*
|
|
@@ -20,4 +18,4 @@ export default times;
|
|
|
20
18
|
* times(3, 0.6, 2, 10);
|
|
21
19
|
* // => 36
|
|
22
20
|
*/
|
|
23
|
-
declare function times(
|
|
21
|
+
declare function times(...nums: (number | string)[]): number;
|
|
@@ -36,6 +36,13 @@ export function float2Fixed(num: number | string): number;
|
|
|
36
36
|
* @returns
|
|
37
37
|
*/
|
|
38
38
|
export function checkBoundary(num: number): void;
|
|
39
|
+
/**
|
|
40
|
+
* 去掉左边数字0
|
|
41
|
+
*
|
|
42
|
+
* @param {string} num 数字字符串
|
|
43
|
+
* @returns {string}
|
|
44
|
+
*/
|
|
45
|
+
export function trimLeftZero(num: string): string;
|
|
39
46
|
/**
|
|
40
47
|
* 科学计数法转换成普通数字
|
|
41
48
|
*
|