tools-for-js 0.1.1 → 0.1.2
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 +22 -19
- package/lib/index.js +18 -0
- package/lib/utils/array.js +29 -1
- package/lib/utils/transform.js +35 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -16,22 +16,25 @@ import { API } from 'tools-for-js'
|
|
|
16
16
|
|
|
17
17
|
### API
|
|
18
18
|
|
|
19
|
-
| 名称
|
|
20
|
-
|
|
|
21
|
-
| 阿拉伯数字转中文数字
|
|
22
|
-
| 金额格式化
|
|
23
|
-
| 时间格式化
|
|
24
|
-
| 下划线转小驼峰
|
|
25
|
-
|
|
|
26
|
-
|
|
|
27
|
-
|
|
|
28
|
-
|
|
|
29
|
-
|
|
|
30
|
-
|
|
|
31
|
-
|
|
|
32
|
-
|
|
|
33
|
-
|
|
|
34
|
-
|
|
|
35
|
-
|
|
|
36
|
-
|
|
|
37
|
-
|
|
|
19
|
+
| 名称 | API |
|
|
20
|
+
| ------------------------------------ | ---------------- |
|
|
21
|
+
| 阿拉伯数字转中文数字 | numToChinese |
|
|
22
|
+
| 金额格式化 | moneyFormat |
|
|
23
|
+
| 时间格式化 | dateFormat |
|
|
24
|
+
| 下划线转小驼峰 | convertSmallHump |
|
|
25
|
+
| 将对象中的键转小写 | lowercaseKeys |
|
|
26
|
+
| 将对象中的键转大写 | upperCaseKeys |
|
|
27
|
+
| 获取时间间隔 | getTimeDistance |
|
|
28
|
+
| 转换时间戳 | timeStamp |
|
|
29
|
+
| 获取倒计时 | countDown |
|
|
30
|
+
| 变量类型判断 | IsType |
|
|
31
|
+
| 深拷贝变量 | deepCopy |
|
|
32
|
+
| 校验空值参数 | isEmpty |
|
|
33
|
+
| 校验两个参数是否相等 | isEqual |
|
|
34
|
+
| 生成 UUID | createUUID |
|
|
35
|
+
| 数组去重 | deWeightArray |
|
|
36
|
+
| 计算树的最后节点某字段的总和 | treeLastChildSum |
|
|
37
|
+
| 校验数组对象中是否存在指定的字段为空 | checkKeyEmpty |
|
|
38
|
+
| 精确加法 | exactAdd |
|
|
39
|
+
| 计算数组元素的和 | summation |
|
|
40
|
+
| 计算两个参数 | countNumber |
|
package/lib/index.js
CHANGED
|
@@ -9,6 +9,12 @@ Object.defineProperty(exports, "IsType", {
|
|
|
9
9
|
return _common.IsType;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
+
Object.defineProperty(exports, "checkKeyEmpty", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _array.checkKeyEmpty;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
12
18
|
Object.defineProperty(exports, "convertSmallHump", {
|
|
13
19
|
enumerable: true,
|
|
14
20
|
get: function get() {
|
|
@@ -75,6 +81,12 @@ Object.defineProperty(exports, "isEqual", {
|
|
|
75
81
|
return _common.isEqual;
|
|
76
82
|
}
|
|
77
83
|
});
|
|
84
|
+
Object.defineProperty(exports, "lowercaseKeys", {
|
|
85
|
+
enumerable: true,
|
|
86
|
+
get: function get() {
|
|
87
|
+
return _transform.lowercaseKeys;
|
|
88
|
+
}
|
|
89
|
+
});
|
|
78
90
|
Object.defineProperty(exports, "moneyFormat", {
|
|
79
91
|
enumerable: true,
|
|
80
92
|
get: function get() {
|
|
@@ -111,6 +123,12 @@ Object.defineProperty(exports, "treeLastChildSum", {
|
|
|
111
123
|
return _array.treeLastChildSum;
|
|
112
124
|
}
|
|
113
125
|
});
|
|
126
|
+
Object.defineProperty(exports, "upperCaseKeys", {
|
|
127
|
+
enumerable: true,
|
|
128
|
+
get: function get() {
|
|
129
|
+
return _transform.upperCaseKeys;
|
|
130
|
+
}
|
|
131
|
+
});
|
|
114
132
|
var _transform = require("./utils/transform");
|
|
115
133
|
var _time = require("./utils/time");
|
|
116
134
|
var _array = require("./utils/array");
|
package/lib/utils/array.js
CHANGED
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.treeLastChildSum = exports.deWeightArray = void 0;
|
|
6
|
+
exports.treeLastChildSum = exports.deWeightArray = exports.checkKeyEmpty = void 0;
|
|
7
7
|
var _calculate = require("./calculate");
|
|
8
|
+
var _common = require("./common");
|
|
8
9
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
9
10
|
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."); }
|
|
10
11
|
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); }
|
|
@@ -70,4 +71,31 @@ var treeLastChildSum = exports.treeLastChildSum = function treeLastChildSum(tree
|
|
|
70
71
|
};
|
|
71
72
|
traverseTree(tree, sumList, key, children);
|
|
72
73
|
return (0, _calculate.summation)(sumList);
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
/*******
|
|
77
|
+
* @description: 校验数组对象中是否存在指定的字段为空
|
|
78
|
+
* @author: 琴时
|
|
79
|
+
* @param {Array} list [校验的数组对象]
|
|
80
|
+
* @param {Array} keyList [校验指定的字段-数组形式]
|
|
81
|
+
* @return {Array} 返回存在空的字段数组
|
|
82
|
+
* @example: checkKeyEmpty(tree, ['id', 'name'])
|
|
83
|
+
*/
|
|
84
|
+
var checkKeyEmpty = exports.checkKeyEmpty = function checkKeyEmpty(list, keyList) {
|
|
85
|
+
var temp = [];
|
|
86
|
+
var loops = function loops(array, key) {
|
|
87
|
+
array.some(function (item) {
|
|
88
|
+
if ((0, _common.isEmpty)(item[key])) {
|
|
89
|
+
// 存在空的字段
|
|
90
|
+
temp.push(key);
|
|
91
|
+
return true;
|
|
92
|
+
} else if (item.children && item.children.length > 0) {
|
|
93
|
+
loops(item.children, key);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
};
|
|
97
|
+
keyList.forEach(function (key) {
|
|
98
|
+
loops(list, key);
|
|
99
|
+
});
|
|
100
|
+
return temp;
|
|
73
101
|
};
|
package/lib/utils/transform.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.textTransform = exports.numToChinese = exports.moneyFormat = exports.convertSmallHump = void 0;
|
|
6
|
+
exports.upperCaseKeys = exports.textTransform = exports.numToChinese = exports.moneyFormat = exports.lowercaseKeys = exports.convertSmallHump = void 0;
|
|
7
7
|
var chnNumChar = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九'];
|
|
8
8
|
var chnUnitSection = ['', '万', '亿', '万亿', '亿亿'];
|
|
9
9
|
var chnUnitChar = ['', '十', '百', '千'];
|
|
@@ -172,4 +172,38 @@ var convertSmallHump = exports.convertSmallHump = function convertSmallHump(key)
|
|
|
172
172
|
return key.toLowerCase().replace(/_(\w)/g, function (all, letter) {
|
|
173
173
|
return letter.toUpperCase();
|
|
174
174
|
});
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
/*******
|
|
178
|
+
* @description: 将对象中的键转小写
|
|
179
|
+
* @author: 琴时
|
|
180
|
+
* @param {Object} obj
|
|
181
|
+
* @return {Object}
|
|
182
|
+
*/
|
|
183
|
+
var lowercaseKeys = exports.lowercaseKeys = function lowercaseKeys(obj) {
|
|
184
|
+
var result = {};
|
|
185
|
+
for (var key in obj) {
|
|
186
|
+
if (Object.hasOwnProperty.call(obj, key)) {
|
|
187
|
+
var lowercaseKey = key.toLowerCase();
|
|
188
|
+
result[lowercaseKey] = obj[key];
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
return result;
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
/*******
|
|
195
|
+
* @description: 将对象中的键转大写
|
|
196
|
+
* @author: 琴时
|
|
197
|
+
* @param {Object} obj
|
|
198
|
+
* @return {Object}
|
|
199
|
+
*/
|
|
200
|
+
var upperCaseKeys = exports.upperCaseKeys = function upperCaseKeys(obj) {
|
|
201
|
+
var result = {};
|
|
202
|
+
for (var key in obj) {
|
|
203
|
+
if (Object.hasOwnProperty.call(obj, key)) {
|
|
204
|
+
var lowercaseKey = key.toUpperCase();
|
|
205
|
+
result[lowercaseKey] = obj[key];
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
return result;
|
|
175
209
|
};
|