@base-web-kits/base-tools-ts 0.9.12 → 0.9.99
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/base-tools-ts.umd.global.js +2212 -7200
- package/dist/base-tools-ts.umd.global.js.map +1 -1
- package/dist/es-toolkit/index.d.ts +8 -0
- package/dist/es-toolkit/index.d.ts.map +1 -0
- package/dist/index.cjs +2219 -7354
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2166 -7154
- package/dist/index.js.map +1 -1
- package/dist/number/big.d.ts +50 -59
- package/dist/number/big.d.ts.map +1 -1
- package/dist/number/random.d.ts +0 -25
- package/dist/number/random.d.ts.map +1 -1
- package/dist/object/index.d.ts +1 -1
- package/dist/url/param/index.d.ts +0 -38
- package/dist/url/param/index.d.ts.map +1 -1
- package/dist/validator/index.d.ts +0 -11
- package/dist/validator/index.d.ts.map +1 -1
- package/package.json +37 -38
- package/src/ts/es-toolkit/index.ts +7 -0
- package/src/ts/index.ts +1 -1
- package/src/ts/number/big.ts +55 -51
- package/src/ts/number/random.ts +0 -56
- package/src/ts/object/index.ts +1 -1
- package/src/ts/string/random.ts +2 -2
- package/src/ts/url/param/index.ts +0 -91
- package/src/ts/validator/index.ts +0 -25
- package/dist/lodash/index.d.ts +0 -8
- package/dist/lodash/index.d.ts.map +0 -1
- package/src/ts/lodash/index.ts +0 -7
package/dist/number/big.d.ts
CHANGED
|
@@ -4,57 +4,48 @@ import BigNumber from 'bignumber.js';
|
|
|
4
4
|
* 支持原生 `number`、`string`(包含小数、科学计数法等)以及 `BigNumber`。
|
|
5
5
|
*/
|
|
6
6
|
export type NumLike = string | number | BigNumber;
|
|
7
|
-
/**
|
|
8
|
-
* 将任意 `NumLike` 统一转换为 `BigNumber` 实例。
|
|
9
|
-
* @param x 任意支持的数值入参。
|
|
10
|
-
* @returns `BigNumber` 实例。
|
|
11
|
-
* @example
|
|
12
|
-
* big('0.1'); // => BigNumber
|
|
13
|
-
* big(0.2); // => BigNumber
|
|
14
|
-
*/
|
|
15
|
-
export declare function big(x: NumLike): BigNumber;
|
|
16
7
|
/**
|
|
17
8
|
* 高精度加法(支持多个参数连加)。
|
|
18
9
|
* @example
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
10
|
+
* mathPlus(0.1, 0.2); // => 0.3
|
|
11
|
+
* mathPlus('0.1', '0.2'); // => 0.3
|
|
12
|
+
* mathPlus(1, 2, 3, 4); // => 10 // 多参数连加: 1+2+3+4
|
|
22
13
|
*/
|
|
23
|
-
export declare function
|
|
14
|
+
export declare function mathPlus(...rest: NumLike[]): number;
|
|
24
15
|
/**
|
|
25
16
|
* 高精度减法(支持多个参数连减)。
|
|
26
17
|
* @example
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
18
|
+
* mathMinus(1, 0.9); // => 0.1
|
|
19
|
+
* mathMinus('1.1', '0.2'); // => 0.9
|
|
20
|
+
* mathMinus(10, 1, 2, 3); // => 4 // 多参数连减: 10-1-2-3
|
|
30
21
|
*/
|
|
31
|
-
export declare function
|
|
22
|
+
export declare function mathMinus(...rest: NumLike[]): number;
|
|
32
23
|
/**
|
|
33
24
|
* 高精度乘法(支持多个参数连乘)。
|
|
34
25
|
* @example
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
26
|
+
* mathTimes(0.1, 0.2); // => 0.02
|
|
27
|
+
* mathTimes('1.5', '3'); // => 4.5
|
|
28
|
+
* mathTimes(2, 3, 4); // => 24 // 多参数连乘: 2*3*4
|
|
38
29
|
*/
|
|
39
|
-
export declare function
|
|
30
|
+
export declare function mathTimes(...rest: NumLike[]): number;
|
|
40
31
|
/**
|
|
41
32
|
* 高精度除法(支持多个参数连除)。
|
|
42
33
|
* @example
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
34
|
+
* mathDiv(1, 3); // => 0.333333...
|
|
35
|
+
* mathDiv('10', '4'); // => 2.5
|
|
36
|
+
* mathDiv(100, 5, 2); // => 10 // 多参数连除: 100/5/2
|
|
46
37
|
*/
|
|
47
|
-
export declare function
|
|
38
|
+
export declare function mathDiv(...rest: NumLike[]): number;
|
|
48
39
|
/**
|
|
49
40
|
* 指数运算
|
|
50
41
|
* @param x 底数。
|
|
51
42
|
* @param y 指数。
|
|
52
43
|
* @returns 计算结果。
|
|
53
44
|
* @example
|
|
54
|
-
*
|
|
55
|
-
*
|
|
45
|
+
* mathPow(2, 3); // => 8
|
|
46
|
+
* mathPow('2.5', 2); // => 6.25
|
|
56
47
|
*/
|
|
57
|
-
export declare function
|
|
48
|
+
export declare function mathPow(x: NumLike, y: NumLike): number;
|
|
58
49
|
/**
|
|
59
50
|
* 四舍五入到指定小数位数
|
|
60
51
|
* @param x 需要舍入的数值。
|
|
@@ -62,12 +53,12 @@ export declare function bigPow(x: NumLike, y: NumLike): number;
|
|
|
62
53
|
* @param rm 舍入模式,默认 `ROUND_HALF_UP`(四舍五入)。
|
|
63
54
|
* @returns 舍入后的数值。
|
|
64
55
|
* @example
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
56
|
+
* mathRound(1.6); // => 2
|
|
57
|
+
* mathRound('1.234', 2); // => 1.23
|
|
58
|
+
* mathRound('1.235', 2); // => 1.24
|
|
59
|
+
* mathRound('1.299', 2, BigNumber.ROUND_DOWN); // => 1.29
|
|
69
60
|
*/
|
|
70
|
-
export declare function
|
|
61
|
+
export declare function mathRound(x: NumLike, dp?: number, rm?: BigNumber.RoundingMode): number;
|
|
71
62
|
/**
|
|
72
63
|
* 将数值按指定位数格式化为字符串(保留小数位)。
|
|
73
64
|
* @param x 需要格式化的数值。
|
|
@@ -75,57 +66,57 @@ export declare function bigRound(x: NumLike, dp?: number, rm?: BigNumber.Roundin
|
|
|
75
66
|
* @param rm 舍入模式,默认 `ROUND_HALF_UP`(四舍五入)。
|
|
76
67
|
* @returns 格式化后的字符串。
|
|
77
68
|
* @example
|
|
78
|
-
*
|
|
79
|
-
* +
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
69
|
+
* mathFixed('1'); // => '1.00'
|
|
70
|
+
* +mathFixed('1'); // => 1
|
|
71
|
+
* mathFixed(1.2345); // => '1.23'
|
|
72
|
+
* mathFixed(1.2345, 3); // => '1.235'
|
|
73
|
+
* mathFixed('1.2345', 0, BigNumber.ROUND_UP); // => '2'
|
|
83
74
|
*/
|
|
84
|
-
export declare function
|
|
75
|
+
export declare function mathFixed(x: NumLike, dp?: number, rm?: BigNumber.RoundingMode): string;
|
|
85
76
|
/**
|
|
86
77
|
* 比较两个数值大小。
|
|
87
78
|
* @example
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
79
|
+
* mathCompare('2', '10'); // => -1
|
|
80
|
+
* mathCompare(3, 3); // => 0
|
|
81
|
+
* mathCompare('10', 2); // => 1
|
|
91
82
|
*/
|
|
92
|
-
export declare function
|
|
83
|
+
export declare function mathCompare(a: NumLike, b: NumLike): -1 | 0 | 1 | null;
|
|
93
84
|
/**
|
|
94
85
|
* 判断两个数值是否相等。
|
|
95
86
|
* @example
|
|
96
|
-
*
|
|
97
|
-
*
|
|
87
|
+
* mathEqual('1.0', 1); // => true
|
|
88
|
+
* mathEqual(2, 1); // => false
|
|
98
89
|
*/
|
|
99
|
-
export declare function
|
|
90
|
+
export declare function mathEqual(a: NumLike, b: NumLike): boolean;
|
|
100
91
|
/**
|
|
101
92
|
* 判断 a 是否大于 b。
|
|
102
93
|
* @example
|
|
103
|
-
*
|
|
104
|
-
*
|
|
94
|
+
* mathGreaterThan(2, 1); // => true
|
|
95
|
+
* mathGreaterThan(1, 2); // => false
|
|
105
96
|
*/
|
|
106
|
-
export declare function
|
|
97
|
+
export declare function mathGreaterThan(a: NumLike, b: NumLike): boolean;
|
|
107
98
|
/**
|
|
108
99
|
* 判断 a 是否大于等于 b。
|
|
109
100
|
* @example
|
|
110
|
-
*
|
|
111
|
-
*
|
|
101
|
+
* mathGreaterThanOrEqual(2, 2); // => true
|
|
102
|
+
* mathGreaterThanOrEqual(1, 2); // => false
|
|
112
103
|
*/
|
|
113
|
-
export declare function
|
|
104
|
+
export declare function mathGreaterThanOrEqual(a: NumLike, b: NumLike): boolean;
|
|
114
105
|
/**
|
|
115
106
|
* 判断 a 是否小于 b。
|
|
116
107
|
* @example
|
|
117
|
-
*
|
|
118
|
-
*
|
|
108
|
+
* mathLessThan(1, 2); // => true
|
|
109
|
+
* mathLessThan(2, 1); // => false
|
|
119
110
|
*/
|
|
120
|
-
export declare function
|
|
111
|
+
export declare function mathLessThan(a: NumLike, b: NumLike): boolean;
|
|
121
112
|
/**
|
|
122
113
|
* 判断 a 是否小于等于 b。
|
|
123
114
|
* @example
|
|
124
|
-
*
|
|
125
|
-
*
|
|
126
|
-
*
|
|
115
|
+
* mathLessThanOrEqual(2, 2); // => true
|
|
116
|
+
* mathLessThanOrEqual(1, 2); // => true
|
|
117
|
+
* mathLessThanOrEqual(2, 1); // => false
|
|
127
118
|
*/
|
|
128
|
-
export declare function
|
|
119
|
+
export declare function mathLessThanOrEqual(a: NumLike, b: NumLike): boolean;
|
|
129
120
|
/**
|
|
130
121
|
* 导出 BigNumber 类
|
|
131
122
|
* @example
|
package/dist/number/big.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"big.d.ts","sourceRoot":"","sources":["../../src/ts/number/big.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"big.d.ts","sourceRoot":"","sources":["../../src/ts/number/big.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAclD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,UAI1C;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,UAI3C;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,UAI3C;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,UAIzC;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,UAE7C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CACvB,CAAC,EAAE,OAAO,EACV,EAAE,SAAI,EACN,EAAE,GAAE,SAAS,CAAC,YAAsC,UAGrD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CACvB,CAAC,EAAE,OAAO,EACV,EAAE,SAAI,EACN,EAAE,GAAE,SAAS,CAAC,YAAsC,GACnD,MAAM,CAER;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAE/D;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAEtE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAE5D;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAEnE;AAED;;;;;;GAMG;AACH,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
package/dist/number/random.d.ts
CHANGED
|
@@ -1,28 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 随机生成 `a` 到 `b` 的整数(闭区间,包含两端)。
|
|
3
|
-
* - 自动交换边界,按从小到大处理。
|
|
4
|
-
* - 下界向上取整、上界向下取整后再取值。
|
|
5
|
-
* @param a 边界值。
|
|
6
|
-
* @param b 边界值。
|
|
7
|
-
* @returns 闭区间内的随机整数。
|
|
8
|
-
* @example
|
|
9
|
-
* randomInt(0, 10); // => 0..10 之间的随机整数(含 0 与 10)
|
|
10
|
-
* randomInt(10, 0); // => 0..10 之间的随机整数(含 0 与 10)
|
|
11
|
-
* randomInt(5.2, 10.8); // => 6..10 之间取整随机数(含 6 与 10)
|
|
12
|
-
*/
|
|
13
|
-
export declare function randomInt(a: number, b: number): number;
|
|
14
|
-
/**
|
|
15
|
-
* 随机生成 `a` 到 `b` 的浮点数(半开区间,包含下界不包含上界)。
|
|
16
|
-
* - 自动交换边界,按从小到大处理。
|
|
17
|
-
* @param a 边界值。
|
|
18
|
-
* @param b 边界值。
|
|
19
|
-
* @returns 半开区间内的随机浮点数。
|
|
20
|
-
* @example
|
|
21
|
-
* randomFloat(0, 10); // => [0, 10) 内的随机浮点数
|
|
22
|
-
* randomFloat(10, 0); // => [0, 10) 内的随机浮点数
|
|
23
|
-
* randomFloat(5.2, 10.8); // => [5.2, 10.8) 内的随机浮点数
|
|
24
|
-
*/
|
|
25
|
-
export declare function randomFloat(a: number, b: number): number;
|
|
26
1
|
/**
|
|
27
2
|
* 随机生成一个布尔值。
|
|
28
3
|
* @returns 随机布尔值。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../src/ts/number/random.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../src/ts/number/random.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC"}
|
package/dist/object/index.d.ts
CHANGED
|
@@ -1,41 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 获取url的查询参数值
|
|
3
|
-
* - 采用纯JS解析,因为小程序不支持URLSearchParams
|
|
4
|
-
* @param key 参数名
|
|
5
|
-
* @param url 完整 URL 或仅查询串(如 "a=1&b=2")
|
|
6
|
-
* @returns 解码后的参数值 (若不存在|"null"|"undefined",则返回 null)
|
|
7
|
-
* @example
|
|
8
|
-
* const q = getUrlParam('q', 'https://a.com/?q=%E6%B5%8B%E8%AF%95'); // "测试"
|
|
9
|
-
* const a = getUrlParam('a', 'a=1'); // "1"
|
|
10
|
-
* const list = getUrlParam('list', 'list=[1,2]'); // "[1,2]"
|
|
11
|
-
* const list = getUrlParam('list', 'list=null'); // null
|
|
12
|
-
* const list = getUrlParam('list', 'list=undefined'); // null
|
|
13
|
-
*/
|
|
14
|
-
export declare function getUrlParam(key: string, url: string): string | null;
|
|
15
|
-
/**
|
|
16
|
-
* 获取url的查询参数值,并转为number类型
|
|
17
|
-
* @param key 参数名
|
|
18
|
-
* @param url 完整 URL 或仅查询串(如 "a=1&b=2")
|
|
19
|
-
* @returns 解码后的参数值 (若不存在|"非数字字符串",则返回 null)
|
|
20
|
-
* @example
|
|
21
|
-
* const a = getUrlNumber('a', 'https://a.com/?a=1'); // 1
|
|
22
|
-
* const a = getUrlNumber('a', 'a=1'); // 1
|
|
23
|
-
* const a = getUrlNumber('a', 'a=1.2'); // 1.2
|
|
24
|
-
* const a = getUrlNumber('a', 'a=abc'); // null
|
|
25
|
-
*/
|
|
26
|
-
export declare function getUrlNumber(key: string, url: string): number | null;
|
|
27
|
-
/**
|
|
28
|
-
* 获取url的所有查询参数值
|
|
29
|
-
* - 采用纯JS解析,因为小程序不支持URLSearchParams
|
|
30
|
-
* @param url 完整 URL 或仅查询串(如 "a=1&b=2")
|
|
31
|
-
* @returns 解码后的键值对象(无参数返回空对象; "null"|"undefined"的参数会被忽略)
|
|
32
|
-
* @example
|
|
33
|
-
* const params = getUrlParamAll('a=1&b=2'); // { a: "1", b: "2" }
|
|
34
|
-
* const params = getUrlParamAll('https://a.com/?a=1&b=2'); // { a: "1", b: "2" }
|
|
35
|
-
* const params = getUrlParamAll('a=1&b=null'); // { a: "1" }
|
|
36
|
-
* const params = getUrlParamAll('a=1&b=undefined'); // { a: "1" }
|
|
37
|
-
*/
|
|
38
|
-
export declare function getUrlParamAll(url: string): Record<string, string>;
|
|
39
1
|
/**
|
|
40
2
|
* 将对象参数拼接到 URL
|
|
41
3
|
* - 采用纯JS拼接,因为小程序不支持URLSearchParams
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ts/url/param/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ts/url/param/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAkBzE"}
|
|
@@ -204,17 +204,6 @@ export declare function isLicensePlate(s: string): boolean;
|
|
|
204
204
|
* isTaxID('91350100M000100Y43') // true/false 取决于校验位
|
|
205
205
|
*/
|
|
206
206
|
export declare function isTaxID(code: string): boolean;
|
|
207
|
-
/**
|
|
208
|
-
* 判断字符串是否为合法 JSON 文本。
|
|
209
|
-
* 说明:传入字符串时尝试 `JSON.parse`;传入对象/数组则视为合法。
|
|
210
|
-
* @param input 待判定的值或字符串
|
|
211
|
-
* @returns 是否为合法 JSON
|
|
212
|
-
* @example
|
|
213
|
-
* isJSON('{"a":1}') // true
|
|
214
|
-
* isJSON('[1,2]') // true
|
|
215
|
-
* isJSON('abc') // false
|
|
216
|
-
*/
|
|
217
|
-
export declare function isJSON(input: unknown): boolean;
|
|
218
207
|
/**
|
|
219
208
|
* HEX 颜色值(支持 `#RGB`、`#RRGGBB`、`#RRGGBBAA`)。
|
|
220
209
|
* @param s 颜色字符串
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ts/validator/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,WAEjC;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,WAGlC;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,WAEjC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GACA,OAAO,CAkBT;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,WAGtC;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,WAGnC;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,WAEhC;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,WAMhC;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,WAGtC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,WA8C1C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,WAUnC;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,WAMrC;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,WASvC;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,WAMpC;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,WAMpC;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,WAErC;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,WAiBnC;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,WASvC;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,WAcnC;AAED
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ts/validator/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,WAEjC;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,WAGlC;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,WAEjC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GACA,OAAO,CAkBT;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,WAGtC;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,WAGnC;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,WAEhC;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,WAMhC;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,WAGtC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,WA8C1C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,WAUnC;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,WAMrC;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,WASvC;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,WAMpC;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,WAMpC;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,WAErC;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,WAiBnC;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,WASvC;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,WAcnC;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,WAGnC;AAED;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,WAS9B;AAwBD;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAmCzC;AAED;;;;;;;;;GASG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,WAI1D;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,WAclC;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,WAG9C;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,WAG5C;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,WAG7C"}
|
package/package.json
CHANGED
|
@@ -1,38 +1,37 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@base-web-kits/base-tools-ts",
|
|
3
|
-
"version": "0.9.
|
|
4
|
-
"sideEffects": false,
|
|
5
|
-
"description": "Independent TS utilities package built from src/ts.",
|
|
6
|
-
"keywords": [
|
|
7
|
-
"base-tools",
|
|
8
|
-
"ts",
|
|
9
|
-
"utilities",
|
|
10
|
-
"thin-wrapper"
|
|
11
|
-
],
|
|
12
|
-
"license": "MIT",
|
|
13
|
-
"main": "./dist/index.cjs",
|
|
14
|
-
"module": "./dist/index.js",
|
|
15
|
-
"types": "./dist/index.d.ts",
|
|
16
|
-
"exports": {
|
|
17
|
-
".": {
|
|
18
|
-
"types": "./dist/index.d.ts",
|
|
19
|
-
"import": "./dist/index.js",
|
|
20
|
-
"require": "./dist/index.cjs"
|
|
21
|
-
}
|
|
22
|
-
},
|
|
23
|
-
"files": [
|
|
24
|
-
"dist",
|
|
25
|
-
"README.md",
|
|
26
|
-
"src"
|
|
27
|
-
],
|
|
28
|
-
"dependencies": {
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@base-web-kits/base-tools-ts",
|
|
3
|
+
"version": "0.9.99",
|
|
4
|
+
"sideEffects": false,
|
|
5
|
+
"description": "Independent TS utilities package built from src/ts.",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"base-tools",
|
|
8
|
+
"ts",
|
|
9
|
+
"utilities",
|
|
10
|
+
"thin-wrapper"
|
|
11
|
+
],
|
|
12
|
+
"license": "MIT",
|
|
13
|
+
"main": "./dist/index.cjs",
|
|
14
|
+
"module": "./dist/index.js",
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
16
|
+
"exports": {
|
|
17
|
+
".": {
|
|
18
|
+
"types": "./dist/index.d.ts",
|
|
19
|
+
"import": "./dist/index.js",
|
|
20
|
+
"require": "./dist/index.cjs"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"files": [
|
|
24
|
+
"dist",
|
|
25
|
+
"README.md",
|
|
26
|
+
"src"
|
|
27
|
+
],
|
|
28
|
+
"dependencies": {
|
|
29
|
+
"es-toolkit": "^1.42.0",
|
|
30
|
+
"bignumber.js": "^9.1.2",
|
|
31
|
+
"dayjs": "^1.11.19",
|
|
32
|
+
"mitt": "^3.0.1"
|
|
33
|
+
},
|
|
34
|
+
"publishConfig": {
|
|
35
|
+
"registry": "https://registry.npmjs.org"
|
|
36
|
+
}
|
|
37
|
+
}
|
package/src/ts/index.ts
CHANGED
package/src/ts/number/big.ts
CHANGED
|
@@ -14,18 +14,18 @@ export type NumLike = string | number | BigNumber;
|
|
|
14
14
|
* big('0.1'); // => BigNumber
|
|
15
15
|
* big(0.2); // => BigNumber
|
|
16
16
|
*/
|
|
17
|
-
|
|
17
|
+
function big(x: NumLike): BigNumber {
|
|
18
18
|
return x instanceof BigNumber ? x : new BigNumber(x);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* 高精度加法(支持多个参数连加)。
|
|
23
23
|
* @example
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
24
|
+
* mathPlus(0.1, 0.2); // => 0.3
|
|
25
|
+
* mathPlus('0.1', '0.2'); // => 0.3
|
|
26
|
+
* mathPlus(1, 2, 3, 4); // => 10 // 多参数连加: 1+2+3+4
|
|
27
27
|
*/
|
|
28
|
-
export function
|
|
28
|
+
export function mathPlus(...rest: NumLike[]) {
|
|
29
29
|
let acc = big(rest[0]);
|
|
30
30
|
for (const x of rest.slice(1)) acc = acc.plus(big(x));
|
|
31
31
|
return acc.toNumber();
|
|
@@ -34,11 +34,11 @@ export function bigPlus(...rest: NumLike[]) {
|
|
|
34
34
|
/**
|
|
35
35
|
* 高精度减法(支持多个参数连减)。
|
|
36
36
|
* @example
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
37
|
+
* mathMinus(1, 0.9); // => 0.1
|
|
38
|
+
* mathMinus('1.1', '0.2'); // => 0.9
|
|
39
|
+
* mathMinus(10, 1, 2, 3); // => 4 // 多参数连减: 10-1-2-3
|
|
40
40
|
*/
|
|
41
|
-
export function
|
|
41
|
+
export function mathMinus(...rest: NumLike[]) {
|
|
42
42
|
let acc = big(rest[0]);
|
|
43
43
|
for (const x of rest.slice(1)) acc = acc.minus(big(x));
|
|
44
44
|
return acc.toNumber();
|
|
@@ -47,11 +47,11 @@ export function bigMinus(...rest: NumLike[]) {
|
|
|
47
47
|
/**
|
|
48
48
|
* 高精度乘法(支持多个参数连乘)。
|
|
49
49
|
* @example
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
50
|
+
* mathTimes(0.1, 0.2); // => 0.02
|
|
51
|
+
* mathTimes('1.5', '3'); // => 4.5
|
|
52
|
+
* mathTimes(2, 3, 4); // => 24 // 多参数连乘: 2*3*4
|
|
53
53
|
*/
|
|
54
|
-
export function
|
|
54
|
+
export function mathTimes(...rest: NumLike[]) {
|
|
55
55
|
let acc = big(rest[0]);
|
|
56
56
|
for (const x of rest.slice(1)) acc = acc.times(big(x));
|
|
57
57
|
return acc.toNumber();
|
|
@@ -60,11 +60,11 @@ export function bigTimes(...rest: NumLike[]) {
|
|
|
60
60
|
/**
|
|
61
61
|
* 高精度除法(支持多个参数连除)。
|
|
62
62
|
* @example
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
63
|
+
* mathDiv(1, 3); // => 0.333333...
|
|
64
|
+
* mathDiv('10', '4'); // => 2.5
|
|
65
|
+
* mathDiv(100, 5, 2); // => 10 // 多参数连除: 100/5/2
|
|
66
66
|
*/
|
|
67
|
-
export function
|
|
67
|
+
export function mathDiv(...rest: NumLike[]) {
|
|
68
68
|
let acc = big(rest[0]);
|
|
69
69
|
for (const x of rest.slice(1)) acc = acc.div(big(x));
|
|
70
70
|
return acc.toNumber();
|
|
@@ -76,10 +76,10 @@ export function bigDiv(...rest: NumLike[]) {
|
|
|
76
76
|
* @param y 指数。
|
|
77
77
|
* @returns 计算结果。
|
|
78
78
|
* @example
|
|
79
|
-
*
|
|
80
|
-
*
|
|
79
|
+
* mathPow(2, 3); // => 8
|
|
80
|
+
* mathPow('2.5', 2); // => 6.25
|
|
81
81
|
*/
|
|
82
|
-
export function
|
|
82
|
+
export function mathPow(x: NumLike, y: NumLike) {
|
|
83
83
|
return big(x).pow(big(y)).toNumber();
|
|
84
84
|
}
|
|
85
85
|
|
|
@@ -90,12 +90,16 @@ export function bigPow(x: NumLike, y: NumLike) {
|
|
|
90
90
|
* @param rm 舍入模式,默认 `ROUND_HALF_UP`(四舍五入)。
|
|
91
91
|
* @returns 舍入后的数值。
|
|
92
92
|
* @example
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
93
|
+
* mathRound(1.6); // => 2
|
|
94
|
+
* mathRound('1.234', 2); // => 1.23
|
|
95
|
+
* mathRound('1.235', 2); // => 1.24
|
|
96
|
+
* mathRound('1.299', 2, BigNumber.ROUND_DOWN); // => 1.29
|
|
97
97
|
*/
|
|
98
|
-
export function
|
|
98
|
+
export function mathRound(
|
|
99
|
+
x: NumLike,
|
|
100
|
+
dp = 0,
|
|
101
|
+
rm: BigNumber.RoundingMode = BigNumber.ROUND_HALF_UP,
|
|
102
|
+
) {
|
|
99
103
|
return big(x).decimalPlaces(dp, rm).toNumber();
|
|
100
104
|
}
|
|
101
105
|
|
|
@@ -106,13 +110,13 @@ export function bigRound(x: NumLike, dp = 0, rm: BigNumber.RoundingMode = BigNum
|
|
|
106
110
|
* @param rm 舍入模式,默认 `ROUND_HALF_UP`(四舍五入)。
|
|
107
111
|
* @returns 格式化后的字符串。
|
|
108
112
|
* @example
|
|
109
|
-
*
|
|
110
|
-
* +
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
113
|
+
* mathFixed('1'); // => '1.00'
|
|
114
|
+
* +mathFixed('1'); // => 1
|
|
115
|
+
* mathFixed(1.2345); // => '1.23'
|
|
116
|
+
* mathFixed(1.2345, 3); // => '1.235'
|
|
117
|
+
* mathFixed('1.2345', 0, BigNumber.ROUND_UP); // => '2'
|
|
114
118
|
*/
|
|
115
|
-
export function
|
|
119
|
+
export function mathFixed(
|
|
116
120
|
x: NumLike,
|
|
117
121
|
dp = 2,
|
|
118
122
|
rm: BigNumber.RoundingMode = BigNumber.ROUND_HALF_UP,
|
|
@@ -123,62 +127,62 @@ export function bigFixed(
|
|
|
123
127
|
/**
|
|
124
128
|
* 比较两个数值大小。
|
|
125
129
|
* @example
|
|
126
|
-
*
|
|
127
|
-
*
|
|
128
|
-
*
|
|
130
|
+
* mathCompare('2', '10'); // => -1
|
|
131
|
+
* mathCompare(3, 3); // => 0
|
|
132
|
+
* mathCompare('10', 2); // => 1
|
|
129
133
|
*/
|
|
130
|
-
export function
|
|
134
|
+
export function mathCompare(a: NumLike, b: NumLike): -1 | 0 | 1 | null {
|
|
131
135
|
return big(a).comparedTo(big(b));
|
|
132
136
|
}
|
|
133
137
|
|
|
134
138
|
/**
|
|
135
139
|
* 判断两个数值是否相等。
|
|
136
140
|
* @example
|
|
137
|
-
*
|
|
138
|
-
*
|
|
141
|
+
* mathEqual('1.0', 1); // => true
|
|
142
|
+
* mathEqual(2, 1); // => false
|
|
139
143
|
*/
|
|
140
|
-
export function
|
|
144
|
+
export function mathEqual(a: NumLike, b: NumLike): boolean {
|
|
141
145
|
return big(a).isEqualTo(big(b));
|
|
142
146
|
}
|
|
143
147
|
|
|
144
148
|
/**
|
|
145
149
|
* 判断 a 是否大于 b。
|
|
146
150
|
* @example
|
|
147
|
-
*
|
|
148
|
-
*
|
|
151
|
+
* mathGreaterThan(2, 1); // => true
|
|
152
|
+
* mathGreaterThan(1, 2); // => false
|
|
149
153
|
*/
|
|
150
|
-
export function
|
|
154
|
+
export function mathGreaterThan(a: NumLike, b: NumLike): boolean {
|
|
151
155
|
return big(a).isGreaterThan(big(b));
|
|
152
156
|
}
|
|
153
157
|
|
|
154
158
|
/**
|
|
155
159
|
* 判断 a 是否大于等于 b。
|
|
156
160
|
* @example
|
|
157
|
-
*
|
|
158
|
-
*
|
|
161
|
+
* mathGreaterThanOrEqual(2, 2); // => true
|
|
162
|
+
* mathGreaterThanOrEqual(1, 2); // => false
|
|
159
163
|
*/
|
|
160
|
-
export function
|
|
164
|
+
export function mathGreaterThanOrEqual(a: NumLike, b: NumLike): boolean {
|
|
161
165
|
return big(a).isGreaterThanOrEqualTo(big(b));
|
|
162
166
|
}
|
|
163
167
|
|
|
164
168
|
/**
|
|
165
169
|
* 判断 a 是否小于 b。
|
|
166
170
|
* @example
|
|
167
|
-
*
|
|
168
|
-
*
|
|
171
|
+
* mathLessThan(1, 2); // => true
|
|
172
|
+
* mathLessThan(2, 1); // => false
|
|
169
173
|
*/
|
|
170
|
-
export function
|
|
174
|
+
export function mathLessThan(a: NumLike, b: NumLike): boolean {
|
|
171
175
|
return big(a).isLessThan(big(b));
|
|
172
176
|
}
|
|
173
177
|
|
|
174
178
|
/**
|
|
175
179
|
* 判断 a 是否小于等于 b。
|
|
176
180
|
* @example
|
|
177
|
-
*
|
|
178
|
-
*
|
|
179
|
-
*
|
|
181
|
+
* mathLessThanOrEqual(2, 2); // => true
|
|
182
|
+
* mathLessThanOrEqual(1, 2); // => true
|
|
183
|
+
* mathLessThanOrEqual(2, 1); // => false
|
|
180
184
|
*/
|
|
181
|
-
export function
|
|
185
|
+
export function mathLessThanOrEqual(a: NumLike, b: NumLike): boolean {
|
|
182
186
|
return big(a).isLessThanOrEqualTo(big(b));
|
|
183
187
|
}
|
|
184
188
|
|