qmwts 1.2.0 → 1.2.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/dist/index.d.ts CHANGED
@@ -15,4 +15,5 @@ export { default as StringUtils } from './utils/string-utils';
15
15
  export { default as LocalDate } from './class/local-date';
16
16
  export { default as LocalDateTime } from './class/local-date-time';
17
17
  export { default as YearMonth } from './class/year-month';
18
- export * from './utils/digest-utils';
18
+ export { sha256Hex } from './utils/digest-utils';
19
+ export { isNumber, thousandths, summation } from './utils/number-utils2';
package/dist/index.js CHANGED
@@ -1,20 +1,6 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
2
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.YearMonth = exports.LocalDateTime = exports.LocalDate = exports.StringUtils = exports.FileUtils = exports.ParamBuilder = exports.PrototypeUtils = exports.ObjectUtils = exports.JsonUtils = exports.NumberUtils = exports.Encryptor = exports.Downloader = exports.AxiosInstance = exports.FinanceUtils = exports.ArrayUtils = void 0;
3
+ exports.summation = exports.thousandths = exports.isNumber = exports.sha256Hex = exports.YearMonth = exports.LocalDateTime = exports.LocalDate = exports.StringUtils = exports.FileUtils = exports.ParamBuilder = exports.PrototypeUtils = exports.ObjectUtils = exports.JsonUtils = exports.NumberUtils = exports.Encryptor = exports.Downloader = exports.AxiosInstance = exports.FinanceUtils = exports.ArrayUtils = void 0;
18
4
  var array_utils_1 = require("./utils/array-utils");
19
5
  Object.defineProperty(exports, "ArrayUtils", { enumerable: true, get: function () { return array_utils_1.default; } });
20
6
  var finance_utils_1 = require("./utils/finance-utils");
@@ -45,4 +31,9 @@ var local_date_time_1 = require("./class/local-date-time");
45
31
  Object.defineProperty(exports, "LocalDateTime", { enumerable: true, get: function () { return local_date_time_1.default; } });
46
32
  var year_month_1 = require("./class/year-month");
47
33
  Object.defineProperty(exports, "YearMonth", { enumerable: true, get: function () { return year_month_1.default; } });
48
- __exportStar(require("./utils/digest-utils"), exports);
34
+ var digest_utils_1 = require("./utils/digest-utils");
35
+ Object.defineProperty(exports, "sha256Hex", { enumerable: true, get: function () { return digest_utils_1.sha256Hex; } });
36
+ var number_utils2_1 = require("./utils/number-utils2");
37
+ Object.defineProperty(exports, "isNumber", { enumerable: true, get: function () { return number_utils2_1.isNumber; } });
38
+ Object.defineProperty(exports, "thousandths", { enumerable: true, get: function () { return number_utils2_1.thousandths; } });
39
+ Object.defineProperty(exports, "summation", { enumerable: true, get: function () { return number_utils2_1.summation; } });
@@ -46,8 +46,8 @@ exports.default = {
46
46
  getAncestors(array = [], id, idKey = 'id', parentKey = 'parentId') {
47
47
  // 建立 id - item 的映射
48
48
  const idMap = new Map();
49
- for (let i = array.length - 1; i >= 0; i--) {
50
- const e = array[i], { [idKey]: itemId } = e;
49
+ for (const e of array) {
50
+ const { [idKey]: itemId } = e;
51
51
  idMap.set(itemId, e);
52
52
  }
53
53
  const result = [];
@@ -75,8 +75,8 @@ exports.default = {
75
75
  getDescendants(array = [], id, idKey = 'id', parentKey = 'parentId') {
76
76
  const result = [];
77
77
  const dfs = (currentId) => {
78
- for (let i = array.length - 1; i >= 0; i--) {
79
- const e = array[i], itemId = e[idKey], pid = e[parentKey];
78
+ for (const e of array) {
79
+ const { [idKey]: itemId, [parentKey]: pid } = e;
80
80
  if (pid === currentId) {
81
81
  result.unshift(e);
82
82
  dfs(itemId);
@@ -0,0 +1,17 @@
1
+ /**
2
+ * 是否为数字
3
+ * ''、Infinity、NaN 都视为非数字
4
+ * @param values
5
+ */
6
+ export declare const isNumber: (...values: any[]) => boolean;
7
+ /**
8
+ * 增加千分位逗号
9
+ * @param value
10
+ * @param fixed 保留几位小数,默认2位
11
+ */
12
+ export declare const thousandths: (value: any, fixed?: number) => string;
13
+ /**
14
+ * 求和,非数字会被忽略
15
+ * @param values 可传入不定参数或多维数组,最终求的是所有数组元素之和
16
+ */
17
+ export declare const summation: (...values: any[]) => number;
@@ -1 +1,47 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.summation = exports.thousandths = exports.isNumber = void 0;
4
+ /**
5
+ * 是否为数字
6
+ * ''、Infinity、NaN 都视为非数字
7
+ * @param values
8
+ */
9
+ const isNumber = (...values) => {
10
+ for (const value of values) {
11
+ const v = String(value).trim();
12
+ if (v === '' || !Number.isFinite(+v) || Number.isNaN(+v))
13
+ return false;
14
+ }
15
+ return true;
16
+ };
17
+ exports.isNumber = isNumber;
18
+ /**
19
+ * 增加千分位逗号
20
+ * @param value
21
+ * @param fixed 保留几位小数,默认2位
22
+ */
23
+ const thousandths = (value, fixed = 2) => {
24
+ if (!(0, exports.isNumber)(value))
25
+ return '';
26
+ const v = new Intl.NumberFormat('en-US', {
27
+ minimumFractionDigits: fixed,
28
+ maximumFractionDigits: fixed,
29
+ }).format(value);
30
+ if (+v === 0) // 有可能是-0,统一转换为0
31
+ return (0).toFixed(fixed);
32
+ return v;
33
+ };
34
+ exports.thousandths = thousandths;
35
+ /**
36
+ * 求和,非数字会被忽略
37
+ * @param values 可传入不定参数或多维数组,最终求的是所有数组元素之和
38
+ */
39
+ const summation = (...values) => {
40
+ let sum = 0;
41
+ for (const value of values.flat(Infinity)) {
42
+ if ((0, exports.isNumber)(value))
43
+ sum += +value;
44
+ }
45
+ return sum;
46
+ };
47
+ exports.summation = summation;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qmwts",
3
- "version": "1.2.0",
3
+ "version": "1.2.2",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",