@peng_kai/kit 0.2.50 → 0.3.0-beta.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.
Files changed (2) hide show
  1. package/package.json +29 -29
  2. package/utils/number.ts +37 -11
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@peng_kai/kit",
3
3
  "type": "module",
4
- "version": "0.2.50",
4
+ "version": "0.3.0-beta.2",
5
5
  "description": "",
6
6
  "author": "",
7
7
  "license": "ISC",
@@ -13,41 +13,41 @@
13
13
  "lint:fix": "eslint . --fix"
14
14
  },
15
15
  "peerDependencies": {
16
- "ant-design-vue": "4.2.3",
17
- "vue": "3.4.31",
18
- "vue-router": "4.4.0"
16
+ "ant-design-vue": "4.2.5",
17
+ "vue": "3.5.11",
18
+ "vue-router": "4.4.5"
19
19
  },
20
20
  "dependencies": {
21
- "@aws-sdk/client-s3": "^3.609.0",
22
- "@aws-sdk/lib-storage": "^3.609.0",
23
- "@babel/generator": "^7.24.7",
24
- "@babel/parser": "^7.24.7",
25
- "@babel/traverse": "^7.24.7",
26
- "@babel/types": "^7.24.7",
21
+ "@aws-sdk/client-s3": "^3.667.0",
22
+ "@aws-sdk/lib-storage": "^3.667.0",
23
+ "@babel/generator": "^7.25.7",
24
+ "@babel/parser": "^7.25.7",
25
+ "@babel/traverse": "^7.25.7",
26
+ "@babel/types": "^7.25.7",
27
27
  "@ckeditor/ckeditor5-vue": "^5.1.0",
28
- "@fingerprintjs/fingerprintjs": "^4.4.1",
29
- "@tanstack/vue-query": "^5.49.1",
30
- "@vueuse/components": "^10.11.0",
31
- "@vueuse/core": "^10.11.0",
32
- "@vueuse/router": "^10.11.0",
33
- "a-calc": "^1.3.12",
28
+ "@fingerprintjs/fingerprintjs": "^4.5.0",
29
+ "@tanstack/vue-query": "^5.59.1",
30
+ "@vueuse/components": "^11.1.0",
31
+ "@vueuse/core": "^11.1.0",
32
+ "@vueuse/router": "^11.1.0",
33
+ "a-calc": "^2.2.10",
34
34
  "archiver": "^7.0.1",
35
- "axios": "^1.7.2",
35
+ "axios": "^1.7.7",
36
36
  "bignumber.js": "^9.1.2",
37
37
  "chokidar": "^3.6.0",
38
38
  "crypto-es": "^2.1.0",
39
- "dayjs": "^1.11.11",
40
- "echarts": "^5.4.3",
41
- "execa": "^9.3.0",
39
+ "dayjs": "^1.11.13",
40
+ "echarts": "^5.5.1",
41
+ "execa": "^9.4.0",
42
42
  "fast-glob": "^3.3.2",
43
43
  "localstorage-slim": "^2.7.1",
44
44
  "lodash-es": "^4.17.21",
45
45
  "nprogress": "^0.2.0",
46
- "pinia": "^2.1.7",
46
+ "pinia": "^2.2.4",
47
47
  "tsx": "^4.16.00",
48
- "vue": "^3.4.31",
49
- "vue-i18n": "^9.13.1",
50
- "vue-router": "^4.4.0"
48
+ "vue": "^3.5.11",
49
+ "vue-i18n": "^10.0.4",
50
+ "vue-router": "^4.4.5"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@ckeditor/ckeditor5-adapter-ckfinder": "^41.1.0",
@@ -85,11 +85,11 @@
85
85
  "@types/archiver": "^6.0.2",
86
86
  "@types/crypto-js": "^4.2.2",
87
87
  "@types/lodash-es": "^4.17.12",
88
- "@types/node": "^18.19.39",
88
+ "@types/node": "^20.16.11",
89
89
  "@types/nprogress": "^0.2.3",
90
- "ant-design-vue": "^4.2.3",
91
- "type-fest": "^4.21.0",
92
- "typescript": "^5.5.3",
93
- "vue-component-type-helpers": "^2.0.24"
90
+ "ant-design-vue": "^4.2.5",
91
+ "type-fest": "^4.26.1",
92
+ "typescript": "^5.6.3",
93
+ "vue-component-type-helpers": "^2.1.6"
94
94
  }
95
95
  }
package/utils/number.ts CHANGED
@@ -1,4 +1,3 @@
1
- import { calc } from 'a-calc';
2
1
  import type { BigNumber } from 'bignumber.js';
3
2
  import bn from 'bignumber.js';
4
3
 
@@ -17,23 +16,50 @@ export { calc } from 'a-calc';
17
16
  */
18
17
  export const numFmt = {
19
18
  /** 保留18位小数,千位符 */
20
- t: (num: any, err: any = null) => calc('a | <=18 ,', { a: String(num), _error: err }) as string | null,
19
+ t: (num: any, fallback: any = 'NaN') => {
20
+ const result = bn(num);
21
+ return result.isNaN() ? fallback : result.decimalPlaces(18, bn.ROUND_DOWN).toFormat();
22
+ },
21
23
  /** 舍去小数,四舍五入,千位符 */
22
- d0r5t: (num: any, err: any = null) => calc('a | =0 ~5 ,', { a: String(num), _error: err }) as string | null,
24
+ d0r5t: (num: any, fallback: any = 'NaN') => {
25
+ const result = bn(num);
26
+ return result.isNaN() ? fallback : result.decimalPlaces(0, bn.ROUND_HALF_UP).toFormat(0);
27
+ },
23
28
  /** 舍去小数,向下取整,千位符 */
24
- d0r0t: (num: any, err: any = null) => calc('a | =0 ~- ,', { a: String(num), _error: err }) as string | null,
29
+ d0r0t: (num: any, fallback: any = 'NaN') => {
30
+ const result = bn(num);
31
+ return result.isNaN() ? fallback : result.decimalPlaces(0, bn.ROUND_DOWN).toFormat(0);
32
+ },
25
33
  /** 保留2位小数,四舍五入,千位符 */
26
- d2r5t: (num: any, err: any = null) => calc('a | <=2 ~5 ,', { a: String(num), _error: err }) as string | null,
34
+ d2r5t: (num: any, fallback: any = 'NaN') => {
35
+ const result = bn(num);
36
+ return result.isNaN() ? fallback : result.decimalPlaces(2, bn.ROUND_HALF_UP).toFormat(2);
37
+ },
27
38
  /** 保留2位小数,向下取整,千位符 */
28
- d2r0t: (num: any, err: any = null) => calc('a | <=2 ~- ,', { a: String(num), _error: err }) as string | null,
39
+ d2r0t: (num: any, fallback: any = 'NaN') => {
40
+ const result = bn(num);
41
+ return result.isNaN() ? fallback : result.decimalPlaces(2, bn.ROUND_DOWN).toFormat(2);
42
+ },
29
43
  /** 保留6位小数,四舍五入,千位符 */
30
- d6r5t: (num: any, err: any = null) => calc('a | <=6 ~5 ,', { a: String(num), _error: err }) as string | null,
44
+ d6r5t: (num: any, fallback: any = 'NaN') => {
45
+ const result = bn(num);
46
+ return result.isNaN() ? fallback : result.decimalPlaces(6, bn.ROUND_HALF_UP).toFormat(6);
47
+ },
31
48
  /** 保留6位小数,向下取整,千位符 */
32
- d6r0t: (num: any, err: any = null) => calc('a | <=6 ~- ,', { a: String(num), _error: err }) as string | null,
49
+ d6r0t: (num: any, fallback: any = 'NaN') => {
50
+ const result = bn(num);
51
+ return result.isNaN() ? fallback : result.decimalPlaces(6, bn.ROUND_DOWN).toFormat(6);
52
+ },
33
53
  /** 保留8位小数,四舍五入,千位符 */
34
- d8r5t: (num: any, err: any = null) => calc('a | <=8 ~5 ,', { a: String(num), _error: err }) as string | null,
54
+ d8r5t: (num: any, fallback: any = 'NaN') => {
55
+ const result = bn(num);
56
+ return result.isNaN() ? fallback : result.decimalPlaces(8, bn.ROUND_HALF_UP).toFormat(8);
57
+ },
35
58
  /** 保留8位小数,向下取整,千位符 */
36
- d8r0t: (num: any, err: any = null) => calc('a | <=8 ~- ,', { a: String(num), _error: err }) as string | null,
59
+ d8r0t: (num: any, fallback: any = 'NaN') => {
60
+ const result = bn(num);
61
+ return result.isNaN() ? fallback : result.decimalPlaces(8, bn.ROUND_DOWN).toFormat(8);
62
+ },
37
63
  };
38
64
 
39
65
  /**
@@ -43,7 +69,7 @@ export const numFmt = {
43
69
  * @returns 金额的格式化字符串表示。
44
70
  */
45
71
  export function toAmount(amount: any, decimal: string | number = 0) {
46
- const res = calc('a / 10 ** d', { a: String(amount), d: Number(decimal), _error: null });
72
+ const res = bn(amount).div(bn(10).pow(Number(decimal)));
47
73
  const fmt = (fmt: keyof typeof numFmt) => (numFmt[fmt] ?? numFmt.t)(res);
48
74
  fmt.toString = () => numFmt.t(res);
49
75