@kdcloudjs/table 1.2.1-canary.6 → 1.2.2-canary.3
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/LICENSE +568 -568
- package/README.md +111 -111
- package/dist/@kdcloudjs/table.css +1 -1
- package/dist/@kdcloudjs/table.js +5480 -6087
- package/dist/@kdcloudjs/table.js.map +1 -1
- package/dist/@kdcloudjs/table.min.css +1 -1
- package/dist/@kdcloudjs/table.min.js +18 -16
- package/dist/@kdcloudjs/table.min.js.map +1 -1
- package/dist/kd-ui-complete.less +777 -777
- package/es/_utils/arrayUtil.js +0 -3
- package/es/_utils/devwarning.js +0 -1
- package/es/_utils/formatUtil.js +36 -101
- package/es/_utils/hooks.js +21 -45
- package/es/_utils/index.js +0 -2
- package/es/_utils/numberUtil.js +32 -55
- package/es/_utils/omit.js +0 -2
- package/es/_utils/type.js +0 -2
- package/es/_utils/usePopper.js +81 -144
- package/es/config-provider/compDefaultProps.js +0 -1
- package/es/config-provider/configProvider.js +2 -7
- package/es/config-provider/defaultConfig.js +0 -1
- package/es/index.js +0 -2
- package/es/locale/locale.js +11 -50
- package/es/style/color/colors.less +1 -1
- package/es/style/core/index.less +1 -1
- package/es/style/core/motion/other.less +27 -27
- package/es/style/core/motion/slide.less +53 -53
- package/es/style/core/motion.less +1 -1
- package/es/style/core/reset.less +185 -185
- package/es/style/index.less +1 -1
- package/es/style/mixins/index.less +18 -18
- package/es/style/mixins/overlay.less +21 -21
- package/es/style/mixins/reset.less +12 -12
- package/es/style/themes/default.less +445 -445
- package/es/table/base/calculations.js +25 -75
- package/es/table/base/colgroup.js +0 -1
- package/es/table/base/empty.js +6 -6
- package/es/table/base/globalStyleComponent.d.ts +4 -0
- package/es/table/base/globalStyleComponent.js +24 -0
- package/es/table/base/header.js +21 -76
- package/es/table/base/helpers/SpanManager.js +4 -11
- package/es/table/base/helpers/TableDOMUtils.js +9 -34
- package/es/table/base/helpers/__test__/SpanManager.test.js +2 -2
- package/es/table/base/helpers/__test__/TableDOMUtils.test.js +0 -1
- package/es/table/base/helpers/getRichVisibleRectsStream.js +13 -45
- package/es/table/base/helpers/rowHeightManager.js +0 -28
- package/es/table/base/html-table.js +17 -39
- package/es/table/base/loading.js +8 -10
- package/es/table/base/renderTemplates.js +42 -60
- package/es/table/base/styles.d.ts +10 -0
- package/es/table/base/styles.js +17 -16
- package/es/table/base/table.js +113 -201
- package/es/table/base/utils.js +17 -57
- package/es/table/common-views.js +0 -7
- package/es/table/interfaces.d.ts +38 -0
- package/es/table/internals.js +0 -13
- package/es/table/pipeline/const.d.ts +3 -0
- package/es/table/pipeline/const.js +3 -0
- package/es/table/pipeline/features/autoFill.js +11 -40
- package/es/table/pipeline/features/autoRowSpan.js +1 -14
- package/es/table/pipeline/features/colGroupExtendable.js +4 -19
- package/es/table/pipeline/features/columnDrag.js +41 -97
- package/es/table/pipeline/features/columnFilter.js +12 -51
- package/es/table/pipeline/features/columnHover.js +1 -7
- package/es/table/pipeline/features/columnRangeHover.js +1 -8
- package/es/table/pipeline/features/columnResizeWidth.js +13 -39
- package/es/table/pipeline/features/contextMenu.js +22 -95
- package/es/table/pipeline/features/featureApi/RowDragApi.d.ts +15 -0
- package/es/table/pipeline/features/featureApi/RowDragApi.js +66 -0
- package/es/table/pipeline/features/featureApi/utils.d.ts +2 -0
- package/es/table/pipeline/features/featureApi/utils.js +10 -0
- package/es/table/pipeline/features/filter/DefaultFilterContent.js +14 -30
- package/es/table/pipeline/features/filter/DefaultFilterIcon.js +1 -1
- package/es/table/pipeline/features/filter/Filter.js +27 -51
- package/es/table/pipeline/features/filter/FilterPanel.js +11 -25
- package/es/table/pipeline/features/filter/util.js +0 -4
- package/es/table/pipeline/features/footerDataSource.js +0 -3
- package/es/table/pipeline/features/mergeCellHover.js +0 -1
- package/es/table/pipeline/features/multiSelect.js +15 -57
- package/es/table/pipeline/features/rangeSelection.js +73 -152
- package/es/table/pipeline/features/rowDetail.js +4 -43
- package/es/table/pipeline/features/rowDrag.d.ts +10 -12
- package/es/table/pipeline/features/rowDrag.js +491 -236
- package/es/table/pipeline/features/rowGrouping.js +4 -37
- package/es/table/pipeline/features/singleSelect.js +0 -24
- package/es/table/pipeline/features/sort.js +38 -96
- package/es/table/pipeline/features/tips.js +4 -10
- package/es/table/pipeline/features/treeMode.d.ts +1 -0
- package/es/table/pipeline/features/treeMode.js +38 -57
- package/es/table/pipeline/features/treeSelect.js +2 -28
- package/es/table/pipeline/pipeline.d.ts +3 -0
- package/es/table/pipeline/pipeline.js +35 -54
- package/es/table/pivot/cross-table/buildCrossTable.js +21 -72
- package/es/table/pivot/cross-table/cross-table.js +23 -31
- package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +22 -57
- package/es/table/pivot/cross-tree-table/cross-tree-table.js +36 -61
- package/es/table/pivot/pivot-utils/buildDrillTree.js +10 -23
- package/es/table/pivot/pivot-utils/builders.js +34 -74
- package/es/table/pivot/pivot-utils/convert-utils.js +16 -42
- package/es/table/pivot/pivot-utils/simpleEncode.js +0 -1
- package/es/table/style/index.less +1 -1
- package/es/table/transforms/autoRowSpan.js +1 -15
- package/es/table/transforms/autoWidth.js +13 -35
- package/es/table/transforms/buildTree.js +1 -2
- package/es/table/transforms/columnHover.js +9 -15
- package/es/table/transforms/columnRangeHover.js +12 -19
- package/es/table/transforms/columnResize.js +18 -42
- package/es/table/transforms/flatten.js +0 -3
- package/es/table/transforms/orderField.js +0 -3
- package/es/table/transforms/sort.js +42 -101
- package/es/table/transforms/tips.js +5 -10
- package/es/table/transforms/treeMode.js +36 -77
- package/es/table/transforms/visible.js +0 -2
- package/es/table/use/useResizeObserver.js +1 -4
- package/es/table/utils/applyTransforms.js +0 -1
- package/es/table/utils/browserType.js +12 -19
- package/es/table/utils/buildTree.js +7 -22
- package/es/table/utils/collectNodes.js +4 -13
- package/es/table/utils/console.js +0 -14
- package/es/table/utils/copyToClipboard.js +0 -4
- package/es/table/utils/element.js +14 -41
- package/es/table/utils/exportTableAsExcel.js +7 -43
- package/es/table/utils/getTreeDepth.js +4 -12
- package/es/table/utils/groupBy.js +4 -13
- package/es/table/utils/layeredFilter.js +0 -4
- package/es/table/utils/layeredSort.js +0 -5
- package/es/table/utils/makeRecursiveMapper.js +4 -15
- package/es/table/utils/mergeCellProps.js +6 -14
- package/es/table/utils/others.js +6 -19
- package/es/table/utils/proto.js +2 -30
- package/es/table/utils/smartCompare.js +4 -12
- package/es/table/utils/traverseColumn.js +5 -18
- package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +8 -30
- package/es/table/utils/tree-data-helpers/TreeDataHelper.js +19 -74
- package/es/table/utils/uiDegrade.js +0 -5
- package/lib/_utils/arrayUtil.js +2 -8
- package/lib/_utils/devwarning.js +0 -5
- package/lib/_utils/formatUtil.js +36 -105
- package/lib/_utils/hooks.js +21 -56
- package/lib/_utils/index.js +2 -9
- package/lib/_utils/numberUtil.js +32 -63
- package/lib/_utils/omit.js +0 -5
- package/lib/_utils/react-children.js +0 -5
- package/lib/_utils/type.js +3 -11
- package/lib/_utils/usePopper.js +86 -173
- package/lib/config-provider/ConfigContext.js +2 -6
- package/lib/config-provider/compDefaultProps.js +1 -3
- package/lib/config-provider/configProvider.js +6 -22
- package/lib/config-provider/defaultConfig.js +1 -7
- package/lib/config-provider/index.js +1 -8
- package/lib/index.js +2 -8
- package/lib/locale/index.js +3 -11
- package/lib/locale/locale.js +15 -71
- package/lib/locale/zh-CN.js +1 -2
- package/lib/style/color/colors.less +1 -1
- package/lib/style/components.less +1 -1
- package/lib/style/core/index.less +1 -1
- package/lib/style/core/motion/other.less +27 -27
- package/lib/style/core/motion/slide.less +53 -53
- package/lib/style/core/motion.less +1 -1
- package/lib/style/core/reset.less +185 -185
- package/lib/style/index.less +1 -1
- package/lib/style/mixins/index.less +18 -18
- package/lib/style/mixins/overlay.less +21 -21
- package/lib/style/mixins/reset.less +12 -12
- package/lib/style/themes/default.less +445 -445
- package/lib/table/base/calculations.js +25 -86
- package/lib/table/base/colgroup.js +0 -5
- package/lib/table/base/empty.js +8 -20
- package/lib/table/base/globalStyleComponent.d.ts +4 -0
- package/lib/table/base/globalStyleComponent.js +35 -0
- package/lib/table/base/header.js +21 -86
- package/lib/table/base/helpers/SpanManager.js +6 -16
- package/lib/table/base/helpers/TableDOMUtils.js +9 -37
- package/lib/table/base/helpers/__test__/SpanManager.test.js +2 -4
- package/lib/table/base/helpers/__test__/TableDOMUtils.test.js +0 -5
- package/lib/table/base/helpers/__test__/rowHeightManager.test.js +0 -1
- package/lib/table/base/helpers/getRichVisibleRectsStream.js +15 -65
- package/lib/table/base/helpers/rowHeightManager.js +0 -33
- package/lib/table/base/html-table.js +17 -49
- package/lib/table/base/index.js +0 -2
- package/lib/table/base/loading.js +8 -14
- package/lib/table/base/renderTemplates.js +45 -76
- package/lib/table/base/styles.d.ts +10 -0
- package/lib/table/base/styles.js +24 -42
- package/lib/table/base/table.js +125 -245
- package/lib/table/base/utils.js +27 -109
- package/lib/table/common-views.js +4 -24
- package/lib/table/index.js +0 -13
- package/lib/table/interfaces.d.ts +38 -0
- package/lib/table/internals.js +2 -17
- package/lib/table/pipeline/const.d.ts +3 -0
- package/lib/table/pipeline/const.js +9 -0
- package/lib/table/pipeline/features/autoFill.js +14 -53
- package/lib/table/pipeline/features/autoRowSpan.js +1 -19
- package/lib/table/pipeline/features/buildTree.js +0 -2
- package/lib/table/pipeline/features/colGroupExtendable.js +6 -35
- package/lib/table/pipeline/features/columnDrag.js +41 -103
- package/lib/table/pipeline/features/columnFilter.js +12 -65
- package/lib/table/pipeline/features/columnHover.js +1 -11
- package/lib/table/pipeline/features/columnRangeHover.js +1 -13
- package/lib/table/pipeline/features/columnResizeWidth.js +18 -63
- package/lib/table/pipeline/features/contextMenu.js +24 -121
- package/lib/table/pipeline/features/featureApi/RowDragApi.d.ts +15 -0
- package/lib/table/pipeline/features/featureApi/RowDragApi.js +72 -0
- package/lib/table/pipeline/features/featureApi/utils.d.ts +2 -0
- package/lib/table/pipeline/features/featureApi/utils.js +17 -0
- package/lib/table/pipeline/features/filter/DefaultFilterContent.js +17 -52
- package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +1 -4
- package/lib/table/pipeline/features/filter/Filter.js +30 -77
- package/lib/table/pipeline/features/filter/FilterPanel.js +14 -44
- package/lib/table/pipeline/features/filter/index.js +0 -5
- package/lib/table/pipeline/features/filter/util.js +2 -10
- package/lib/table/pipeline/features/footerDataSource.js +1 -12
- package/lib/table/pipeline/features/index.js +0 -23
- package/lib/table/pipeline/features/mergeCellHover.js +0 -5
- package/lib/table/pipeline/features/multiSelect.js +15 -71
- package/lib/table/pipeline/features/rangeSelection.js +75 -173
- package/lib/table/pipeline/features/rowDetail.js +4 -67
- package/lib/table/pipeline/features/rowDrag.d.ts +10 -12
- package/lib/table/pipeline/features/rowDrag.js +494 -252
- package/lib/table/pipeline/features/rowGrouping.js +4 -57
- package/lib/table/pipeline/features/singleSelect.js +0 -34
- package/lib/table/pipeline/features/sort.js +37 -115
- package/lib/table/pipeline/features/tips.js +4 -19
- package/lib/table/pipeline/features/treeMode.d.ts +1 -0
- package/lib/table/pipeline/features/treeMode.js +40 -80
- package/lib/table/pipeline/features/treeSelect.js +2 -36
- package/lib/table/pipeline/index.js +2 -10
- package/lib/table/pipeline/pipeline.d.ts +3 -0
- package/lib/table/pipeline/pipeline.js +36 -65
- package/lib/table/pivot/cross-table/buildCrossTable.js +21 -83
- package/lib/table/pivot/cross-table/constants.js +1 -2
- package/lib/table/pivot/cross-table/cross-table.js +25 -42
- package/lib/table/pivot/cross-table/index.js +0 -4
- package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +22 -70
- package/lib/table/pivot/cross-tree-table/cross-tree-table.js +37 -73
- package/lib/table/pivot/cross-tree-table/index.js +0 -3
- package/lib/table/pivot/pivot-utils/buildDrillTree.js +10 -29
- package/lib/table/pivot/pivot-utils/builders.js +34 -85
- package/lib/table/pivot/pivot-utils/convert-utils.js +16 -60
- package/lib/table/pivot/pivot-utils/index.js +0 -7
- package/lib/table/pivot/pivot-utils/simpleEncode.js +0 -2
- package/lib/table/style/css.js +0 -1
- package/lib/table/style/index.js +0 -1
- package/lib/table/style/index.less +1 -1
- package/lib/table/transforms/autoRowSpan.js +1 -21
- package/lib/table/transforms/autoWidth.js +15 -58
- package/lib/table/transforms/buildTree.js +1 -4
- package/lib/table/transforms/columnHover.js +9 -22
- package/lib/table/transforms/columnRangeHover.js +12 -27
- package/lib/table/transforms/columnResize.js +20 -63
- package/lib/table/transforms/flatten.js +0 -5
- package/lib/table/transforms/index.js +0 -12
- package/lib/table/transforms/orderField.js +0 -7
- package/lib/table/transforms/sort.js +44 -127
- package/lib/table/transforms/tips.js +5 -20
- package/lib/table/transforms/treeMode.js +38 -106
- package/lib/table/transforms/visible.js +0 -7
- package/lib/table/transforms/warnTransformsDeprecated.js +0 -4
- package/lib/table/use/useResizeObserver.js +2 -10
- package/lib/table/utils/applyTransforms.js +0 -2
- package/lib/table/utils/browserType.js +14 -23
- package/lib/table/utils/buildTree.js +7 -33
- package/lib/table/utils/collectNodes.js +4 -18
- package/lib/table/utils/console.js +2 -19
- package/lib/table/utils/copyToClipboard.js +1 -8
- package/lib/table/utils/element.js +14 -46
- package/lib/table/utils/exportTableAsExcel.js +7 -52
- package/lib/table/utils/getTreeDepth.js +4 -17
- package/lib/table/utils/groupBy.js +4 -17
- package/lib/table/utils/index.js +0 -22
- package/lib/table/utils/isGroupColumn.js +0 -3
- package/lib/table/utils/isLeafNode.js +0 -1
- package/lib/table/utils/keyCode.js +1 -2
- package/lib/table/utils/layeredFilter.js +0 -10
- package/lib/table/utils/layeredSort.js +0 -10
- package/lib/table/utils/makeRecursiveMapper.js +4 -24
- package/lib/table/utils/mergeCellProps.js +6 -18
- package/lib/table/utils/others.js +7 -36
- package/lib/table/utils/proto.js +3 -35
- package/lib/table/utils/selectColumn.js +2 -5
- package/lib/table/utils/smartCompare.js +4 -13
- package/lib/table/utils/traverseColumn.js +5 -25
- package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +10 -41
- package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +21 -90
- package/lib/table/utils/uiDegrade.js +1 -8
- package/package.json +218 -218
package/es/_utils/numberUtil.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import _Number$isNaN from "@babel/runtime-corejs3/core-js-stable/number/is-nan";
|
|
2
2
|
import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
|
|
3
3
|
import _fillInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/fill";
|
|
4
|
-
|
|
5
4
|
/**
|
|
6
5
|
* 使用定点表示法来格式化一个数
|
|
7
6
|
* @param {String|Number} number [必选,数字或者表示数字的字符串,范围为[0,20],超过范围则报错]
|
|
@@ -11,78 +10,70 @@ import _fillInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instanc
|
|
|
11
10
|
*/
|
|
12
11
|
export function toFixed(number, digits) {
|
|
13
12
|
var isRound = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
14
|
-
|
|
15
13
|
// 非数字
|
|
16
14
|
// if (!/(^-\d+|^\d+)\.?\d*$/gi.test(number)) { // Number.isFinite(number)
|
|
17
15
|
// throw new Error('toFixed() number argument must be a valid number')
|
|
18
16
|
// }
|
|
19
17
|
if (_Number$isNaN(Number(number))) {
|
|
20
18
|
throw new Error('toFixed() number argument must be a valid number');
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
}
|
|
20
|
+
// 是否为正数
|
|
21
|
+
var isPositive = +number >= 0;
|
|
22
|
+
// 转化为字符串
|
|
26
23
|
number += '';
|
|
27
|
-
isRound = Boolean(isRound);
|
|
28
|
-
|
|
29
|
-
number = number.replace(/^(?:-|\+)/gi, '');
|
|
30
|
-
|
|
24
|
+
isRound = Boolean(isRound);
|
|
25
|
+
// 去掉正负号,统一按照正数来处理,最后再加上符号
|
|
26
|
+
number = number.replace(/^(?:-|\+)/gi, '');
|
|
27
|
+
// 小数点过大
|
|
31
28
|
if (digits > 20 || digits < 0) {
|
|
32
29
|
throw new RangeError('toFixed() digits argument must be between 0 and 20');
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
30
|
+
}
|
|
31
|
+
// 如果是简写如.11则整数位补0,变成0.11
|
|
36
32
|
if (/^\./gi.test(number)) {
|
|
37
33
|
number = '0' + number;
|
|
38
34
|
}
|
|
39
|
-
|
|
40
35
|
var numParts = number.split('.');
|
|
41
|
-
var result = '';
|
|
42
|
-
|
|
36
|
+
var result = '';
|
|
37
|
+
// 在str后面加n个0
|
|
43
38
|
var _paddingZero = function _paddingZero(str, n) {
|
|
44
39
|
for (var i = 0; i < n; i++) {
|
|
45
40
|
str += '0';
|
|
46
41
|
}
|
|
47
|
-
|
|
48
42
|
return str;
|
|
49
|
-
};
|
|
43
|
+
};
|
|
44
|
+
// 在str后面加0,直至str的长度达到n
|
|
50
45
|
// 如果超过了n,则直接截取前n个字符串
|
|
51
|
-
|
|
52
|
-
|
|
53
46
|
var _paddingZeroTo = function _paddingZeroTo(str, n) {
|
|
54
47
|
if (str.length >= n) {
|
|
55
48
|
return str.substr(0, n);
|
|
56
49
|
} else {
|
|
57
50
|
return _paddingZero(str, n - str.length);
|
|
58
51
|
}
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
|
|
52
|
+
};
|
|
53
|
+
// 直接就是整数
|
|
62
54
|
if (numParts.length < 2) {
|
|
63
55
|
result = numParts[0] + '.' + _paddingZero('', digits);
|
|
64
56
|
} else {
|
|
65
57
|
// 为浮点数
|
|
66
58
|
// 如果为截取
|
|
67
59
|
if (isRound === false) {
|
|
68
|
-
result = numParts[0] + '.' + _paddingZeroTo(numParts[1], digits);
|
|
60
|
+
result = numParts[0] + '.' + _paddingZeroTo(numParts[1], digits);
|
|
61
|
+
// 如果为四舍五入
|
|
69
62
|
} else {
|
|
70
63
|
// 放大10的N次方倍
|
|
71
|
-
var enlarge = numParts[0] + _paddingZeroTo(numParts[1], digits) + '.' + numParts[1].substr(digits);
|
|
72
|
-
|
|
73
|
-
enlarge = Math.round(parseFloat(enlarge)) + '';
|
|
74
|
-
|
|
64
|
+
var enlarge = numParts[0] + _paddingZeroTo(numParts[1], digits) + '.' + numParts[1].substr(digits);
|
|
65
|
+
// 取整
|
|
66
|
+
enlarge = Math.round(parseFloat(enlarge)) + '';
|
|
67
|
+
// 缩小10的N次方
|
|
75
68
|
while (enlarge.length <= digits) {
|
|
76
69
|
enlarge = '0' + enlarge;
|
|
77
70
|
}
|
|
78
|
-
|
|
79
71
|
result = enlarge.substr(0, enlarge.length - digits) + '.' + enlarge.substr(enlarge.length - digits);
|
|
80
72
|
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
73
|
+
}
|
|
74
|
+
// 如果最后一位为.,则去除
|
|
75
|
+
result = result.replace(/\.$/gi, '').replace(/^\./gi, '0.');
|
|
76
|
+
// 加上正负数符号位
|
|
86
77
|
result = isPositive ? result : '-' + result;
|
|
87
78
|
return result;
|
|
88
79
|
}
|
|
@@ -92,10 +83,8 @@ export function toFixed(number, digits) {
|
|
|
92
83
|
* @param {Number} lenght [补零后的数字长度]
|
|
93
84
|
* 如:supplementZero(1, 4) return '0001'
|
|
94
85
|
*/
|
|
95
|
-
|
|
96
86
|
export function supplementZero(number) {
|
|
97
87
|
var _context;
|
|
98
|
-
|
|
99
88
|
var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
|
|
100
89
|
number += '';
|
|
101
90
|
if (number.length > length) return number;
|
|
@@ -106,36 +95,29 @@ export function supplementZero(number) {
|
|
|
106
95
|
* 序列化字符串为数字,只取字符串中的数字、小数点、正负号
|
|
107
96
|
* @param {String} strNumber 字符串
|
|
108
97
|
*/
|
|
109
|
-
|
|
110
98
|
export function serialization(strNumber) {
|
|
111
99
|
var numberList = strNumber.match(/\d|^-|\./g);
|
|
112
|
-
if (!numberList) return '';
|
|
113
|
-
|
|
100
|
+
if (!numberList) return '';
|
|
101
|
+
// 取出正负号
|
|
114
102
|
var sign = numberList[0] === '-' ? '-' : '';
|
|
115
|
-
|
|
116
103
|
if (sign === '-') {
|
|
117
104
|
// 有负号, 去掉数组的负号
|
|
118
105
|
numberList.shift();
|
|
119
106
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
107
|
+
var numberString = numberList.join('');
|
|
108
|
+
// .replace('.', 'a').replace(/\./g, '').replace('a', '.')
|
|
123
109
|
var res = numberString.replace(/^0{2,}/gi, '0');
|
|
124
|
-
|
|
125
110
|
if (/^(0[^.])/gi.test(res)) {
|
|
126
111
|
return sign + _sliceInstanceProperty(res).call(res, 1);
|
|
127
112
|
}
|
|
128
|
-
|
|
129
113
|
return sign + res;
|
|
130
|
-
}
|
|
131
|
-
|
|
114
|
+
}
|
|
115
|
+
// 根据整数精度和小数精度获取最大值
|
|
132
116
|
export function getMaxNumberByPrecision(integerPrecision, decimalPrecision) {
|
|
133
117
|
var _context2, _context3;
|
|
134
|
-
|
|
135
118
|
var integerString = _fillInstanceProperty(_context2 = Array(integerPrecision)).call(_context2, '9').reduce(function (res, value) {
|
|
136
119
|
return res += value;
|
|
137
120
|
}, '');
|
|
138
|
-
|
|
139
121
|
return decimalPrecision <= 0 ? Number(integerString) : Number(_fillInstanceProperty(_context3 = Array(decimalPrecision)).call(_context3, '9').reduce(function (res, value) {
|
|
140
122
|
return res += value;
|
|
141
123
|
}, integerString + '.'));
|
|
@@ -144,7 +126,6 @@ export function getMaxNumberByPrecision(integerPrecision, decimalPrecision) {
|
|
|
144
126
|
* 判断是否为正则表达式
|
|
145
127
|
* @param {string|number} number 待判断的值
|
|
146
128
|
*/
|
|
147
|
-
|
|
148
129
|
export function isExp(number) {
|
|
149
130
|
number = Number(number);
|
|
150
131
|
if (isNaN(number) || !isFinite(number)) return false;
|
|
@@ -156,18 +137,15 @@ export function isExp(number) {
|
|
|
156
137
|
* @param {Number} number 待格式化的科学计数法
|
|
157
138
|
* @returns num 格式化后的数值,如果不满足科学计数法的话,则原值返回
|
|
158
139
|
*/
|
|
159
|
-
|
|
160
140
|
export function exponentToFloat(number) {
|
|
161
141
|
var tempNumber = Number(number);
|
|
162
142
|
if (isNaN(tempNumber) || !isFinite(tempNumber)) return number.toString();
|
|
163
143
|
var exponentReg = /^(?!-0(\.0+)?(e|$))-?(0|[1-9]\d*)(\.\d+)?(e-?(0|[1-9]\d*))?$/i;
|
|
164
|
-
|
|
165
144
|
if (exponentReg.test(tempNumber.toString())) {
|
|
166
145
|
// 获取精度, 默认 10
|
|
167
146
|
var lenArr = exponentReg.exec(tempNumber.toString());
|
|
168
147
|
var len = Number(lenArr && lenArr[6] ? lenArr[6] : 10);
|
|
169
148
|
var zeros = /^(\d{1,}(?:,\d{3})*\.(?:0*[1-9]+)?)(0*)?$/.exec(tempNumber.toFixed(len));
|
|
170
|
-
|
|
171
149
|
if (zeros) {
|
|
172
150
|
var res = zeros[1];
|
|
173
151
|
return res[res.length - 1] === '.' ? res.substr(0, res.length - 1) : res;
|
|
@@ -175,6 +153,5 @@ export function exponentToFloat(number) {
|
|
|
175
153
|
return tempNumber.toFixed(len);
|
|
176
154
|
}
|
|
177
155
|
}
|
|
178
|
-
|
|
179
156
|
return tempNumber.toString();
|
|
180
157
|
}
|
package/es/_utils/omit.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import _extends from "@babel/runtime-corejs3/helpers/extends";
|
|
2
2
|
export function omit(obj, fields) {
|
|
3
3
|
var shallowCopy = _extends({}, obj);
|
|
4
|
-
|
|
5
4
|
for (var i = 0; i < fields.length; i++) {
|
|
6
5
|
var key = fields[i];
|
|
7
6
|
delete shallowCopy[key];
|
|
8
7
|
}
|
|
9
|
-
|
|
10
8
|
return shallowCopy;
|
|
11
9
|
}
|
package/es/_utils/type.js
CHANGED
|
@@ -3,13 +3,11 @@ export var tuple = function tuple() {
|
|
|
3
3
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
4
4
|
args[_key] = arguments[_key];
|
|
5
5
|
}
|
|
6
|
-
|
|
7
6
|
return args;
|
|
8
7
|
};
|
|
9
8
|
export var tupleNum = function tupleNum() {
|
|
10
9
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
11
10
|
args[_key2] = arguments[_key2];
|
|
12
11
|
}
|
|
13
|
-
|
|
14
12
|
return args;
|
|
15
13
|
};
|