@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.
Files changed (59) hide show
  1. package/README.md +30 -0
  2. package/lib/cjs/_virtual/_commonjsHelpers.js +1 -0
  3. package/lib/cjs/_virtual/dayjs.min.js +1 -0
  4. package/lib/cjs/_virtual/dayjs.min2.js +1 -0
  5. package/lib/cjs/calc/calc.js +1 -0
  6. package/lib/cjs/calc/index.js +1 -0
  7. package/lib/cjs/day/dayjs.js +1 -0
  8. package/lib/cjs/index.js +1 -0
  9. package/lib/cjs/is/is-empty.js +1 -0
  10. package/lib/cjs/is/is-equals.js +1 -0
  11. package/lib/cjs/is/is.js +1 -0
  12. package/lib/cjs/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/dayjs.min.js +1 -0
  13. package/lib/cjs/node_modules/.pnpm/decimal.js@10.6.0/node_modules/decimal.js/decimal.js +7 -0
  14. package/lib/cjs/utils/deep-clone.js +1 -0
  15. package/lib/cjs/utils/pick.js +1 -0
  16. package/lib/cjs/utils/query2params.js +1 -0
  17. package/lib/cjs/utils/util.js +1 -0
  18. package/lib/cjs/utils/uuid.js +1 -0
  19. package/lib/cjs/validator/validate.js +1 -0
  20. package/lib/cjs/validator/validator.js +1 -0
  21. package/lib/es/_virtual/_commonjsHelpers.js +6 -0
  22. package/lib/es/_virtual/dayjs.min.js +7 -0
  23. package/lib/es/_virtual/dayjs.min2.js +4 -0
  24. package/lib/es/calc/calc.js +49 -0
  25. package/lib/es/calc/index.js +13 -0
  26. package/lib/es/day/dayjs.js +105 -0
  27. package/lib/es/index.js +76 -0
  28. package/lib/es/is/is-empty.js +6 -0
  29. package/lib/es/is/is-equals.js +28 -0
  30. package/lib/es/is/is.js +58 -0
  31. package/lib/es/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/dayjs.min.js +282 -0
  32. package/lib/es/node_modules/.pnpm/decimal.js@10.6.0/node_modules/decimal.js/decimal.js +1024 -0
  33. package/lib/es/utils/deep-clone.js +11 -0
  34. package/lib/es/utils/pick.js +11 -0
  35. package/lib/es/utils/query2params.js +58 -0
  36. package/lib/es/utils/util.js +71 -0
  37. package/lib/es/utils/uuid.js +15 -0
  38. package/lib/es/validator/validate.js +22 -0
  39. package/lib/es/validator/validator.js +84 -0
  40. package/lib/types/calc/calc.d.ts +38 -0
  41. package/lib/types/calc/index.d.ts +18 -0
  42. package/lib/types/day/dayjs.d.ts +62 -0
  43. package/lib/types/day/index.d.ts +2 -0
  44. package/lib/types/index.d.ts +5 -0
  45. package/lib/types/is/index.d.ts +3 -0
  46. package/lib/types/is/is-empty.d.ts +14 -0
  47. package/lib/types/is/is-equals.d.ts +11 -0
  48. package/lib/types/is/is.d.ts +14 -0
  49. package/lib/types/utils/classnames.d.ts +19 -0
  50. package/lib/types/utils/deep-clone.d.ts +9 -0
  51. package/lib/types/utils/index.d.ts +6 -0
  52. package/lib/types/utils/pick.d.ts +11 -0
  53. package/lib/types/utils/query2params.d.ts +56 -0
  54. package/lib/types/utils/util.d.ts +71 -0
  55. package/lib/types/utils/uuid.d.ts +13 -0
  56. package/lib/types/validator/index.d.ts +2 -0
  57. package/lib/types/validator/validate.d.ts +46 -0
  58. package/lib/types/validator/validator.d.ts +71 -0
  59. 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
+ }