@spacego/turbo-utils 0.0.1-alpha
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 +30 -0
- package/lib/cjs/_virtual/_commonjsHelpers.js +1 -0
- package/lib/cjs/_virtual/dayjs.min.js +1 -0
- package/lib/cjs/_virtual/dayjs.min2.js +1 -0
- package/lib/cjs/calc/calc.js +1 -0
- package/lib/cjs/calc/index.js +1 -0
- package/lib/cjs/day/dayjs.js +1 -0
- package/lib/cjs/index.js +1 -0
- package/lib/cjs/is/is-empty.js +1 -0
- package/lib/cjs/is/is-equals.js +1 -0
- package/lib/cjs/is/is.js +1 -0
- package/lib/cjs/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/dayjs.min.js +1 -0
- package/lib/cjs/node_modules/.pnpm/decimal.js@10.6.0/node_modules/decimal.js/decimal.js +7 -0
- package/lib/cjs/utils/deep-clone.js +1 -0
- package/lib/cjs/utils/pick.js +1 -0
- package/lib/cjs/utils/query2params.js +1 -0
- package/lib/cjs/utils/util.js +1 -0
- package/lib/cjs/utils/uuid.js +1 -0
- package/lib/cjs/validator/validate.js +1 -0
- package/lib/cjs/validator/validator.js +1 -0
- package/lib/es/_virtual/_commonjsHelpers.js +6 -0
- package/lib/es/_virtual/dayjs.min.js +7 -0
- package/lib/es/_virtual/dayjs.min2.js +4 -0
- package/lib/es/calc/calc.js +49 -0
- package/lib/es/calc/index.js +13 -0
- package/lib/es/day/dayjs.js +105 -0
- package/lib/es/index.js +76 -0
- package/lib/es/is/is-empty.js +6 -0
- package/lib/es/is/is-equals.js +28 -0
- package/lib/es/is/is.js +58 -0
- package/lib/es/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/dayjs.min.js +282 -0
- package/lib/es/node_modules/.pnpm/decimal.js@10.6.0/node_modules/decimal.js/decimal.js +1024 -0
- package/lib/es/utils/deep-clone.js +11 -0
- package/lib/es/utils/pick.js +11 -0
- package/lib/es/utils/query2params.js +58 -0
- package/lib/es/utils/util.js +71 -0
- package/lib/es/utils/uuid.js +15 -0
- package/lib/es/validator/validate.js +22 -0
- package/lib/es/validator/validator.js +84 -0
- package/lib/types/calc/calc.d.ts +38 -0
- package/lib/types/calc/index.d.ts +18 -0
- package/lib/types/day/dayjs.d.ts +62 -0
- package/lib/types/day/index.d.ts +2 -0
- package/lib/types/index.d.ts +5 -0
- package/lib/types/is/index.d.ts +3 -0
- package/lib/types/is/is-empty.d.ts +14 -0
- package/lib/types/is/is-equals.d.ts +11 -0
- package/lib/types/is/is.d.ts +14 -0
- package/lib/types/utils/classnames.d.ts +19 -0
- package/lib/types/utils/deep-clone.d.ts +9 -0
- package/lib/types/utils/index.d.ts +6 -0
- package/lib/types/utils/pick.d.ts +11 -0
- package/lib/types/utils/query2params.d.ts +56 -0
- package/lib/types/utils/util.d.ts +71 -0
- package/lib/types/utils/uuid.d.ts +13 -0
- package/lib/types/validator/index.d.ts +2 -0
- package/lib/types/validator/validate.d.ts +46 -0
- package/lib/types/validator/validator.d.ts +71 -0
- package/package.json +53 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { validateType } from './validator';
|
|
2
|
+
/**
|
|
3
|
+
* 校验规则
|
|
4
|
+
*/
|
|
5
|
+
export type TRules<T = Record<any, any>> = {
|
|
6
|
+
key: keyof T;
|
|
7
|
+
msg: string;
|
|
8
|
+
type?: keyof typeof validateType;
|
|
9
|
+
len?: number;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* form 表单校验规则 默认必传
|
|
13
|
+
* @param rules 规则
|
|
14
|
+
* @param data 已填写的数据
|
|
15
|
+
* @returns valid 是否通过校验, msg 错误信息
|
|
16
|
+
* @example validate([{ key: 'name', msg: '请输入姓名', type: 'required' }], { name: '' })
|
|
17
|
+
* @example validate([{ key: 'name', msg: '姓名最多不能超过十个字', type: 'maxLength', len: 10 }], { name: '12345678901234567890' })
|
|
18
|
+
*/
|
|
19
|
+
export declare function validate<T extends Record<any, any>>(rules: TRules<T>[], data: T): Promise<{
|
|
20
|
+
valid: boolean;
|
|
21
|
+
key?: any;
|
|
22
|
+
msg?: string;
|
|
23
|
+
len?: number;
|
|
24
|
+
type?: string;
|
|
25
|
+
}>;
|
|
26
|
+
/**
|
|
27
|
+
* 校验规则 - 必填
|
|
28
|
+
*/
|
|
29
|
+
export type TRulesRequire<T = Record<any, any>> = {
|
|
30
|
+
key: keyof T;
|
|
31
|
+
msg: string;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* form 表单校验规则 -> 仅作必填校验
|
|
35
|
+
* @param rules 规则
|
|
36
|
+
* @param data 已填写的数据
|
|
37
|
+
* @returns valid 是否通过校验,msg 错误信息
|
|
38
|
+
* @example validate([{ key: 'name', msg: '请输入姓名' }], { name: '' })
|
|
39
|
+
*/
|
|
40
|
+
export declare function validateRequire<T extends Record<any, any>>(rules: TRulesRequire<T>[], data: T): {
|
|
41
|
+
key: any;
|
|
42
|
+
msg: string;
|
|
43
|
+
valid: boolean;
|
|
44
|
+
} | {
|
|
45
|
+
valid: boolean;
|
|
46
|
+
};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export declare const regs: {
|
|
2
|
+
url: string;
|
|
3
|
+
email: string;
|
|
4
|
+
mobile: RegExp;
|
|
5
|
+
tel: string;
|
|
6
|
+
idCard: RegExp;
|
|
7
|
+
card: RegExp;
|
|
8
|
+
passport: RegExp;
|
|
9
|
+
currency: string;
|
|
10
|
+
qq: string;
|
|
11
|
+
number: string;
|
|
12
|
+
positiveInt: string;
|
|
13
|
+
zip: string;
|
|
14
|
+
double: string;
|
|
15
|
+
english: string;
|
|
16
|
+
chinese: string;
|
|
17
|
+
unSafe: string;
|
|
18
|
+
date: string;
|
|
19
|
+
name: RegExp;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* 验证
|
|
23
|
+
* @param reg 正则表达式
|
|
24
|
+
* @returns (value: unknown) => boolean
|
|
25
|
+
*/
|
|
26
|
+
export declare function validation(reg: keyof typeof regs): (value: unknown) => boolean;
|
|
27
|
+
/** 金额校验 */
|
|
28
|
+
export declare const isCurrency: (value: unknown) => boolean;
|
|
29
|
+
/** URL验证 */
|
|
30
|
+
export declare const isUrl: (value: unknown) => boolean;
|
|
31
|
+
/** 邮箱验证 */
|
|
32
|
+
export declare const isEmail: (value: unknown) => boolean;
|
|
33
|
+
/** 手机号码验证 */
|
|
34
|
+
export declare const isMobile: (value: unknown) => boolean;
|
|
35
|
+
/** 身份证验证 */
|
|
36
|
+
export declare const isIdCard: (value: unknown) => boolean;
|
|
37
|
+
/** 银行卡号验证 */
|
|
38
|
+
export declare const isCard: (value: unknown) => boolean;
|
|
39
|
+
/** 护照验证 */
|
|
40
|
+
export declare const isPassport: (value: unknown) => boolean;
|
|
41
|
+
/** 验证必填(可验证数组) */
|
|
42
|
+
export declare const required: (value: string | any[]) => boolean;
|
|
43
|
+
/** 验证最大长度 */
|
|
44
|
+
export declare const maxLength: (value: string | any[], max: number) => boolean;
|
|
45
|
+
/** 验证最小长度 */
|
|
46
|
+
export declare const minLength: (value: string | any[], min: number) => boolean;
|
|
47
|
+
/** 校验类型 */
|
|
48
|
+
export declare const validateType: {
|
|
49
|
+
/** 必填 */
|
|
50
|
+
required: (value: string | any[]) => boolean;
|
|
51
|
+
/** 最大长度 */
|
|
52
|
+
maxLength: (value: string | any[], max: number) => boolean;
|
|
53
|
+
/** 最小长度 */
|
|
54
|
+
minLength: (value: string | any[], min: number) => boolean;
|
|
55
|
+
/** 金额校验 */
|
|
56
|
+
isCurrency: (value: unknown) => boolean;
|
|
57
|
+
/** URL验证 */
|
|
58
|
+
isUrl: (value: unknown) => boolean;
|
|
59
|
+
/** 邮箱验证 */
|
|
60
|
+
isEmail: (value: unknown) => boolean;
|
|
61
|
+
/** 手机号码验证 */
|
|
62
|
+
isMobile: (value: unknown) => boolean;
|
|
63
|
+
/** 正整数验证 */
|
|
64
|
+
isNumber: (value: unknown) => boolean;
|
|
65
|
+
/** 身份证验证 */
|
|
66
|
+
isIdCard: (value: unknown) => boolean;
|
|
67
|
+
/** 银行卡号验证 */
|
|
68
|
+
isCard: (value: unknown) => boolean;
|
|
69
|
+
/** 护照验证 */
|
|
70
|
+
isPassport: (value: unknown) => boolean;
|
|
71
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@spacego/turbo-utils",
|
|
3
|
+
"version": "0.0.1-alpha",
|
|
4
|
+
"description": "🚀 A universal tool library. It basically covers all the commonly used practical functions. ",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "lib/cjs/index.js",
|
|
7
|
+
"module": "lib/es/index.js",
|
|
8
|
+
"typings": "lib/types/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./lib/types/index.d.ts",
|
|
12
|
+
"import": "./lib/es/index.js",
|
|
13
|
+
"require": "./lib/cjs/index.js"
|
|
14
|
+
},
|
|
15
|
+
"./*": {
|
|
16
|
+
"types": "./lib/types/*.d.ts",
|
|
17
|
+
"import": "./lib/es/*.js",
|
|
18
|
+
"require": "./lib/cjs/*.js"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"files": [
|
|
22
|
+
"lib"
|
|
23
|
+
],
|
|
24
|
+
"keywords": [
|
|
25
|
+
"utils",
|
|
26
|
+
"turbo",
|
|
27
|
+
"turbo-utils",
|
|
28
|
+
"common",
|
|
29
|
+
"tools",
|
|
30
|
+
"dayjs",
|
|
31
|
+
"decimal",
|
|
32
|
+
"is"
|
|
33
|
+
],
|
|
34
|
+
"publishConfig": {
|
|
35
|
+
"registry": "https://registry.npmjs.org/",
|
|
36
|
+
"access": "public"
|
|
37
|
+
},
|
|
38
|
+
"author": "dshuais",
|
|
39
|
+
"license": "MIT",
|
|
40
|
+
"devDependencies": {
|
|
41
|
+
"rollup-plugin-clear": "^2.0.7",
|
|
42
|
+
"typescript": "^5.8.3",
|
|
43
|
+
"vite": "^6.3.3",
|
|
44
|
+
"vite-plugin-dts": "^4.5.3"
|
|
45
|
+
},
|
|
46
|
+
"dependencies": {
|
|
47
|
+
"dayjs": "^1.11.13",
|
|
48
|
+
"decimal.js": "^10.5.0"
|
|
49
|
+
},
|
|
50
|
+
"scripts": {
|
|
51
|
+
"build": "vite build"
|
|
52
|
+
}
|
|
53
|
+
}
|