@planecloud/utils 1.0.0
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/auth/index.d.ts +22 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +111 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/crypto/index.d.ts +34 -0
- package/dist/crypto/index.d.ts.map +1 -0
- package/dist/crypto/index.js +195 -0
- package/dist/crypto/index.js.map +1 -0
- package/dist/date/index.d.ts +36 -0
- package/dist/date/index.d.ts.map +1 -0
- package/dist/date/index.js +199 -0
- package/dist/date/index.js.map +1 -0
- package/dist/format/index.d.ts +20 -0
- package/dist/format/index.d.ts.map +1 -0
- package/dist/format/index.js +223 -0
- package/dist/format/index.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +63 -0
- package/dist/index.js.map +1 -0
- package/dist/network/index.d.ts +24 -0
- package/dist/network/index.d.ts.map +1 -0
- package/dist/network/index.js +227 -0
- package/dist/network/index.js.map +1 -0
- package/dist/string/index.d.ts +19 -0
- package/dist/string/index.d.ts.map +1 -0
- package/dist/string/index.js +148 -0
- package/dist/string/index.js.map +1 -0
- package/dist/validation/index.d.ts +44 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +225 -0
- package/dist/validation/index.js.map +1 -0
- package/package.json +39 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const slugify: (text: string) => string;
|
|
2
|
+
export declare const capitalize: (text: string) => string;
|
|
3
|
+
export declare const camelCase: (text: string) => string;
|
|
4
|
+
export declare const pascalCase: (text: string) => string;
|
|
5
|
+
export declare const kebabCase: (text: string) => string;
|
|
6
|
+
export declare const snakeCase: (text: string) => string;
|
|
7
|
+
export declare const truncate: (text: string, length: number, suffix?: string) => string;
|
|
8
|
+
export declare const stripHtml: (html: string) => string;
|
|
9
|
+
export declare const escapeHtml: (text: string) => string;
|
|
10
|
+
export declare const unescapeHtml: (text: string) => string;
|
|
11
|
+
export declare const isEmail: (email: string) => boolean;
|
|
12
|
+
export declare const isUrl: (url: string) => boolean;
|
|
13
|
+
export declare const isUuid: (uuid: string) => boolean;
|
|
14
|
+
export declare const extractDomain: (url: string) => string | null;
|
|
15
|
+
export declare const maskEmail: (email: string) => string;
|
|
16
|
+
export declare const maskPhone: (phone: string) => string;
|
|
17
|
+
export declare const pluralize: (count: number, singular: string, plural?: string) => string;
|
|
18
|
+
export declare const formatFileSize: (bytes: number) => string;
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/string/index.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,KAAG,MAUtC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAEzC,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,MAMxC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAMzC,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,MAKxC,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,MAKxC,CAAC;AAEF,eAAO,MAAM,QAAQ,GACnB,MAAM,MAAM,EACZ,QAAQ,MAAM,EACd,SAAQ,MAAc,KACrB,MAKF,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,MAExC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAUzC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,MAa3C,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,KAAG,OAGvC,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,KAAK,MAAM,KAAG,OAOnC,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI,MAAM,MAAM,KAAG,OAIrC,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,IAOpD,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,KAAG,MAMzC,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,KAAG,MAMzC,CAAC;AAEF,eAAO,MAAM,SAAS,GACpB,OAAO,MAAM,EACb,UAAU,MAAM,EAChB,SAAS,MAAM,KACd,MAKF,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,MAW9C,CAAC"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatFileSize = exports.pluralize = exports.maskPhone = exports.maskEmail = exports.extractDomain = exports.isUuid = exports.isUrl = exports.isEmail = exports.unescapeHtml = exports.escapeHtml = exports.stripHtml = exports.truncate = exports.snakeCase = exports.kebabCase = exports.pascalCase = exports.camelCase = exports.capitalize = exports.slugify = void 0;
|
|
4
|
+
// String utilities
|
|
5
|
+
const slugify = (text) => {
|
|
6
|
+
return text
|
|
7
|
+
.toString()
|
|
8
|
+
.toLowerCase()
|
|
9
|
+
.trim()
|
|
10
|
+
.replace(/\s+/g, "-")
|
|
11
|
+
.replace(/[^\w\-]+/g, "")
|
|
12
|
+
.replace(/\-\-+/g, "-")
|
|
13
|
+
.replace(/^-+/, "")
|
|
14
|
+
.replace(/-+$/, "");
|
|
15
|
+
};
|
|
16
|
+
exports.slugify = slugify;
|
|
17
|
+
const capitalize = (text) => {
|
|
18
|
+
return text.charAt(0).toUpperCase() + text.slice(1).toLowerCase();
|
|
19
|
+
};
|
|
20
|
+
exports.capitalize = capitalize;
|
|
21
|
+
const camelCase = (text) => {
|
|
22
|
+
return text
|
|
23
|
+
.replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => {
|
|
24
|
+
return index === 0 ? word.toLowerCase() : word.toUpperCase();
|
|
25
|
+
})
|
|
26
|
+
.replace(/\s+/g, "");
|
|
27
|
+
};
|
|
28
|
+
exports.camelCase = camelCase;
|
|
29
|
+
const pascalCase = (text) => {
|
|
30
|
+
return text
|
|
31
|
+
.replace(/(?:^\w|[A-Z]|\b\w)/g, (word) => {
|
|
32
|
+
return word.toUpperCase();
|
|
33
|
+
})
|
|
34
|
+
.replace(/\s+/g, "");
|
|
35
|
+
};
|
|
36
|
+
exports.pascalCase = pascalCase;
|
|
37
|
+
const kebabCase = (text) => {
|
|
38
|
+
return text
|
|
39
|
+
.replace(/([a-z])([A-Z])/g, "$1-$2")
|
|
40
|
+
.replace(/[\s_]+/g, "-")
|
|
41
|
+
.toLowerCase();
|
|
42
|
+
};
|
|
43
|
+
exports.kebabCase = kebabCase;
|
|
44
|
+
const snakeCase = (text) => {
|
|
45
|
+
return text
|
|
46
|
+
.replace(/([a-z])([A-Z])/g, "$1_$2")
|
|
47
|
+
.replace(/[\s-]+/g, "_")
|
|
48
|
+
.toLowerCase();
|
|
49
|
+
};
|
|
50
|
+
exports.snakeCase = snakeCase;
|
|
51
|
+
const truncate = (text, length, suffix = "...") => {
|
|
52
|
+
if (text.length <= length) {
|
|
53
|
+
return text;
|
|
54
|
+
}
|
|
55
|
+
return text.substring(0, length - suffix.length) + suffix;
|
|
56
|
+
};
|
|
57
|
+
exports.truncate = truncate;
|
|
58
|
+
const stripHtml = (html) => {
|
|
59
|
+
return html.replace(/<[^>]*>/g, "");
|
|
60
|
+
};
|
|
61
|
+
exports.stripHtml = stripHtml;
|
|
62
|
+
const escapeHtml = (text) => {
|
|
63
|
+
const map = {
|
|
64
|
+
"&": "&",
|
|
65
|
+
"<": "<",
|
|
66
|
+
">": ">",
|
|
67
|
+
'"': """,
|
|
68
|
+
"'": "'",
|
|
69
|
+
};
|
|
70
|
+
return text.replace(/[&<>"']/g, (char) => map[char]);
|
|
71
|
+
};
|
|
72
|
+
exports.escapeHtml = escapeHtml;
|
|
73
|
+
const unescapeHtml = (text) => {
|
|
74
|
+
const map = {
|
|
75
|
+
"&": "&",
|
|
76
|
+
"<": "<",
|
|
77
|
+
">": ">",
|
|
78
|
+
""": '"',
|
|
79
|
+
"'": "'",
|
|
80
|
+
};
|
|
81
|
+
return text.replace(/&|<|>|"|'/g, (entity) => map[entity]);
|
|
82
|
+
};
|
|
83
|
+
exports.unescapeHtml = unescapeHtml;
|
|
84
|
+
const isEmail = (email) => {
|
|
85
|
+
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
86
|
+
return emailRegex.test(email);
|
|
87
|
+
};
|
|
88
|
+
exports.isEmail = isEmail;
|
|
89
|
+
const isUrl = (url) => {
|
|
90
|
+
try {
|
|
91
|
+
new URL(url);
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
exports.isUrl = isUrl;
|
|
99
|
+
const isUuid = (uuid) => {
|
|
100
|
+
const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
101
|
+
return uuidRegex.test(uuid);
|
|
102
|
+
};
|
|
103
|
+
exports.isUuid = isUuid;
|
|
104
|
+
const extractDomain = (url) => {
|
|
105
|
+
try {
|
|
106
|
+
const urlObj = new URL(url);
|
|
107
|
+
return urlObj.hostname;
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
exports.extractDomain = extractDomain;
|
|
114
|
+
const maskEmail = (email) => {
|
|
115
|
+
const [username, domain] = email.split("@");
|
|
116
|
+
if (username.length <= 2) {
|
|
117
|
+
return `${username[0]}*@${domain}`;
|
|
118
|
+
}
|
|
119
|
+
return `${username[0]}${"*".repeat(username.length - 2)}${username[username.length - 1]}@${domain}`;
|
|
120
|
+
};
|
|
121
|
+
exports.maskEmail = maskEmail;
|
|
122
|
+
const maskPhone = (phone) => {
|
|
123
|
+
const cleaned = phone.replace(/\D/g, "");
|
|
124
|
+
if (cleaned.length < 4) {
|
|
125
|
+
return "*".repeat(cleaned.length);
|
|
126
|
+
}
|
|
127
|
+
return `${cleaned.slice(0, 2)}${"*".repeat(cleaned.length - 4)}${cleaned.slice(-2)}`;
|
|
128
|
+
};
|
|
129
|
+
exports.maskPhone = maskPhone;
|
|
130
|
+
const pluralize = (count, singular, plural) => {
|
|
131
|
+
if (count === 1) {
|
|
132
|
+
return singular;
|
|
133
|
+
}
|
|
134
|
+
return plural || singular + "s";
|
|
135
|
+
};
|
|
136
|
+
exports.pluralize = pluralize;
|
|
137
|
+
const formatFileSize = (bytes) => {
|
|
138
|
+
const units = ["B", "KB", "MB", "GB", "TB"];
|
|
139
|
+
let size = bytes;
|
|
140
|
+
let unitIndex = 0;
|
|
141
|
+
while (size >= 1024 && unitIndex < units.length - 1) {
|
|
142
|
+
size /= 1024;
|
|
143
|
+
unitIndex++;
|
|
144
|
+
}
|
|
145
|
+
return `${size.toFixed(1)} ${units[unitIndex]}`;
|
|
146
|
+
};
|
|
147
|
+
exports.formatFileSize = formatFileSize;
|
|
148
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/string/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export declare const isRequired: (value: any) => boolean;
|
|
2
|
+
export declare const isNotEmpty: (value: string) => boolean;
|
|
3
|
+
export declare const isNumber: (value: any) => boolean;
|
|
4
|
+
export declare const isInteger: (value: any) => boolean;
|
|
5
|
+
export declare const isFloat: (value: any) => boolean;
|
|
6
|
+
export declare const isPositiveNumber: (value: any) => boolean;
|
|
7
|
+
export declare const isNonNegativeNumber: (value: any) => boolean;
|
|
8
|
+
export declare const isBoolean: (value: any) => boolean;
|
|
9
|
+
export declare const isArray: (value: any) => boolean;
|
|
10
|
+
export declare const isObject: (value: any) => boolean;
|
|
11
|
+
export declare const isString: (value: any) => boolean;
|
|
12
|
+
export declare const isDate: (value: any) => boolean;
|
|
13
|
+
export declare const validateEmailFormat: (email: string) => boolean;
|
|
14
|
+
export declare const validateUrlFormat: (url: string) => boolean;
|
|
15
|
+
export declare const validateUuidFormat: (uuid: string) => boolean;
|
|
16
|
+
export declare const extractUrlHostname: (url: string) => string | null;
|
|
17
|
+
export declare const isStrongPassword: (password: string) => boolean;
|
|
18
|
+
export declare const isCreditCard: (value: string) => boolean;
|
|
19
|
+
export declare const isPhoneNumber: (value: string) => boolean;
|
|
20
|
+
export declare const isIP: (ip: string, version?: 4 | 6) => boolean;
|
|
21
|
+
export declare const isMAC: (value: string) => boolean;
|
|
22
|
+
export declare const isSlug: (value: string) => boolean;
|
|
23
|
+
export declare const isSemanticVersion: (value: string) => boolean;
|
|
24
|
+
export declare const isJSON: (value: string) => boolean;
|
|
25
|
+
export declare const isBase64: (value: string) => boolean;
|
|
26
|
+
export declare const isMongoId: (value: string) => boolean;
|
|
27
|
+
export declare const isLat: (value: number) => boolean;
|
|
28
|
+
export declare const isLng: (value: number) => boolean;
|
|
29
|
+
export declare const isHexColor: (value: string) => boolean;
|
|
30
|
+
export declare const isRgbColor: (value: string) => boolean;
|
|
31
|
+
export declare const isRgbaColor: (value: string) => boolean;
|
|
32
|
+
export declare const isColor: (value: string) => boolean;
|
|
33
|
+
export declare const isDomain: (value: string) => boolean;
|
|
34
|
+
export declare const isPort: (value: number) => boolean;
|
|
35
|
+
export declare const isInRange: (value: number, min: number, max: number) => boolean;
|
|
36
|
+
export declare const hasMinLength: (value: string, minLength: number) => boolean;
|
|
37
|
+
export declare const hasMaxLength: (value: string, maxLength: number) => boolean;
|
|
38
|
+
export declare const isLength: (value: string, length: number) => boolean;
|
|
39
|
+
export declare const matchesPattern: (value: string, pattern: RegExp) => boolean;
|
|
40
|
+
export declare const validateRequired: (obj: Record<string, any>, requiredFields: string[]) => {
|
|
41
|
+
isValid: boolean;
|
|
42
|
+
missingFields: string[];
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateRequired = exports.matchesPattern = exports.isLength = exports.hasMaxLength = exports.hasMinLength = exports.isInRange = exports.isPort = exports.isDomain = exports.isColor = exports.isRgbaColor = exports.isRgbColor = exports.isHexColor = exports.isLng = exports.isLat = exports.isMongoId = exports.isBase64 = exports.isJSON = exports.isSemanticVersion = exports.isSlug = exports.isMAC = exports.isIP = exports.isPhoneNumber = exports.isCreditCard = exports.isStrongPassword = exports.extractUrlHostname = exports.validateUuidFormat = exports.validateUrlFormat = exports.validateEmailFormat = exports.isDate = exports.isString = exports.isObject = exports.isArray = exports.isBoolean = exports.isNonNegativeNumber = exports.isPositiveNumber = exports.isFloat = exports.isInteger = exports.isNumber = exports.isNotEmpty = exports.isRequired = void 0;
|
|
4
|
+
// Validation utilities
|
|
5
|
+
const isRequired = (value) => {
|
|
6
|
+
return value !== null && value !== undefined && value !== "";
|
|
7
|
+
};
|
|
8
|
+
exports.isRequired = isRequired;
|
|
9
|
+
const isNotEmpty = (value) => {
|
|
10
|
+
return typeof value === "string" && value.trim().length > 0;
|
|
11
|
+
};
|
|
12
|
+
exports.isNotEmpty = isNotEmpty;
|
|
13
|
+
const isNumber = (value) => {
|
|
14
|
+
return typeof value === "number" && !isNaN(value);
|
|
15
|
+
};
|
|
16
|
+
exports.isNumber = isNumber;
|
|
17
|
+
const isInteger = (value) => {
|
|
18
|
+
return Number.isInteger(value);
|
|
19
|
+
};
|
|
20
|
+
exports.isInteger = isInteger;
|
|
21
|
+
const isFloat = (value) => {
|
|
22
|
+
return (0, exports.isNumber)(value) && !(0, exports.isInteger)(value);
|
|
23
|
+
};
|
|
24
|
+
exports.isFloat = isFloat;
|
|
25
|
+
const isPositiveNumber = (value) => {
|
|
26
|
+
return (0, exports.isNumber)(value) && value > 0;
|
|
27
|
+
};
|
|
28
|
+
exports.isPositiveNumber = isPositiveNumber;
|
|
29
|
+
const isNonNegativeNumber = (value) => {
|
|
30
|
+
return (0, exports.isNumber)(value) && value >= 0;
|
|
31
|
+
};
|
|
32
|
+
exports.isNonNegativeNumber = isNonNegativeNumber;
|
|
33
|
+
const isBoolean = (value) => {
|
|
34
|
+
return typeof value === "boolean";
|
|
35
|
+
};
|
|
36
|
+
exports.isBoolean = isBoolean;
|
|
37
|
+
const isArray = (value) => {
|
|
38
|
+
return Array.isArray(value);
|
|
39
|
+
};
|
|
40
|
+
exports.isArray = isArray;
|
|
41
|
+
const isObject = (value) => {
|
|
42
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
43
|
+
};
|
|
44
|
+
exports.isObject = isObject;
|
|
45
|
+
const isString = (value) => {
|
|
46
|
+
return typeof value === "string";
|
|
47
|
+
};
|
|
48
|
+
exports.isString = isString;
|
|
49
|
+
const isDate = (value) => {
|
|
50
|
+
return value instanceof Date && !isNaN(value.getTime());
|
|
51
|
+
};
|
|
52
|
+
exports.isDate = isDate;
|
|
53
|
+
// Renamed to avoid conflicts with string module
|
|
54
|
+
const validateEmailFormat = (email) => {
|
|
55
|
+
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
56
|
+
return emailRegex.test(email);
|
|
57
|
+
};
|
|
58
|
+
exports.validateEmailFormat = validateEmailFormat;
|
|
59
|
+
const validateUrlFormat = (url) => {
|
|
60
|
+
try {
|
|
61
|
+
new URL(url);
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
exports.validateUrlFormat = validateUrlFormat;
|
|
69
|
+
const validateUuidFormat = (uuid) => {
|
|
70
|
+
const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
71
|
+
return uuidRegex.test(uuid);
|
|
72
|
+
};
|
|
73
|
+
exports.validateUuidFormat = validateUuidFormat;
|
|
74
|
+
const extractUrlHostname = (url) => {
|
|
75
|
+
try {
|
|
76
|
+
const urlObj = new URL(url);
|
|
77
|
+
return urlObj.hostname;
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
exports.extractUrlHostname = extractUrlHostname;
|
|
84
|
+
const isStrongPassword = (password) => {
|
|
85
|
+
const minLength = 8;
|
|
86
|
+
const hasUpperCase = /[A-Z]/.test(password);
|
|
87
|
+
const hasLowerCase = /[a-z]/.test(password);
|
|
88
|
+
const hasNumbers = /\d/.test(password);
|
|
89
|
+
const hasSpecialChar = /[!@#$%^&*(),.?":{}|<>]/.test(password);
|
|
90
|
+
return (password.length >= minLength &&
|
|
91
|
+
hasUpperCase &&
|
|
92
|
+
hasLowerCase &&
|
|
93
|
+
hasNumbers &&
|
|
94
|
+
hasSpecialChar);
|
|
95
|
+
};
|
|
96
|
+
exports.isStrongPassword = isStrongPassword;
|
|
97
|
+
const isCreditCard = (value) => {
|
|
98
|
+
const creditCardRegex = /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|3[47][0-9]{13}|3[0-9]{13}|6(?:011|5[0-9]{2})[0-9]{12})$/;
|
|
99
|
+
return creditCardRegex.test(value.replace(/\s/g, ""));
|
|
100
|
+
};
|
|
101
|
+
exports.isCreditCard = isCreditCard;
|
|
102
|
+
const isPhoneNumber = (value) => {
|
|
103
|
+
const phoneRegex = /^\+?[\d\s-()]{10,}$/;
|
|
104
|
+
return phoneRegex.test(value);
|
|
105
|
+
};
|
|
106
|
+
exports.isPhoneNumber = isPhoneNumber;
|
|
107
|
+
const isIP = (ip, version) => {
|
|
108
|
+
const ipv4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
|
|
109
|
+
const ipv6Regex = /^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$/;
|
|
110
|
+
if (version === 4)
|
|
111
|
+
return ipv4Regex.test(ip);
|
|
112
|
+
if (version === 6)
|
|
113
|
+
return ipv6Regex.test(ip);
|
|
114
|
+
return ipv4Regex.test(ip) || ipv6Regex.test(ip);
|
|
115
|
+
};
|
|
116
|
+
exports.isIP = isIP;
|
|
117
|
+
const isMAC = (value) => {
|
|
118
|
+
const macRegex = /^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/;
|
|
119
|
+
return macRegex.test(value);
|
|
120
|
+
};
|
|
121
|
+
exports.isMAC = isMAC;
|
|
122
|
+
const isSlug = (value) => {
|
|
123
|
+
const slugRegex = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
124
|
+
return slugRegex.test(value);
|
|
125
|
+
};
|
|
126
|
+
exports.isSlug = isSlug;
|
|
127
|
+
const isSemanticVersion = (value) => {
|
|
128
|
+
const versionRegex = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;
|
|
129
|
+
return versionRegex.test(value);
|
|
130
|
+
};
|
|
131
|
+
exports.isSemanticVersion = isSemanticVersion;
|
|
132
|
+
const isJSON = (value) => {
|
|
133
|
+
try {
|
|
134
|
+
JSON.parse(value);
|
|
135
|
+
return true;
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
exports.isJSON = isJSON;
|
|
142
|
+
const isBase64 = (value) => {
|
|
143
|
+
try {
|
|
144
|
+
return Buffer.from(value, "base64").toString("base64") === value;
|
|
145
|
+
}
|
|
146
|
+
catch {
|
|
147
|
+
return false;
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
exports.isBase64 = isBase64;
|
|
151
|
+
const isMongoId = (value) => {
|
|
152
|
+
const mongoIdRegex = /^[0-9a-fA-F]{24}$/;
|
|
153
|
+
return mongoIdRegex.test(value);
|
|
154
|
+
};
|
|
155
|
+
exports.isMongoId = isMongoId;
|
|
156
|
+
const isLat = (value) => {
|
|
157
|
+
return (0, exports.isNumber)(value) && value >= -90 && value <= 90;
|
|
158
|
+
};
|
|
159
|
+
exports.isLat = isLat;
|
|
160
|
+
const isLng = (value) => {
|
|
161
|
+
return (0, exports.isNumber)(value) && value >= -180 && value <= 180;
|
|
162
|
+
};
|
|
163
|
+
exports.isLng = isLng;
|
|
164
|
+
const isHexColor = (value) => {
|
|
165
|
+
const hexColorRegex = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;
|
|
166
|
+
return hexColorRegex.test(value);
|
|
167
|
+
};
|
|
168
|
+
exports.isHexColor = isHexColor;
|
|
169
|
+
const isRgbColor = (value) => {
|
|
170
|
+
const rgbColorRegex = /^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/;
|
|
171
|
+
return rgbColorRegex.test(value);
|
|
172
|
+
};
|
|
173
|
+
exports.isRgbColor = isRgbColor;
|
|
174
|
+
const isRgbaColor = (value) => {
|
|
175
|
+
const rgbaColorRegex = /^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(0|1|0?\.\d+)\s*\)$/;
|
|
176
|
+
return rgbaColorRegex.test(value);
|
|
177
|
+
};
|
|
178
|
+
exports.isRgbaColor = isRgbaColor;
|
|
179
|
+
const isColor = (value) => {
|
|
180
|
+
return (0, exports.isHexColor)(value) || (0, exports.isRgbColor)(value) || (0, exports.isRgbaColor)(value);
|
|
181
|
+
};
|
|
182
|
+
exports.isColor = isColor;
|
|
183
|
+
const isDomain = (value) => {
|
|
184
|
+
const domainRegex = /^(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)*[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$/;
|
|
185
|
+
return domainRegex.test(value) && value.length <= 253;
|
|
186
|
+
};
|
|
187
|
+
exports.isDomain = isDomain;
|
|
188
|
+
const isPort = (value) => {
|
|
189
|
+
return (0, exports.isInteger)(value) && value >= 1 && value <= 65535;
|
|
190
|
+
};
|
|
191
|
+
exports.isPort = isPort;
|
|
192
|
+
const isInRange = (value, min, max) => {
|
|
193
|
+
return (0, exports.isNumber)(value) && value >= min && value <= max;
|
|
194
|
+
};
|
|
195
|
+
exports.isInRange = isInRange;
|
|
196
|
+
const hasMinLength = (value, minLength) => {
|
|
197
|
+
return (0, exports.isString)(value) && value.length >= minLength;
|
|
198
|
+
};
|
|
199
|
+
exports.hasMinLength = hasMinLength;
|
|
200
|
+
const hasMaxLength = (value, maxLength) => {
|
|
201
|
+
return (0, exports.isString)(value) && value.length <= maxLength;
|
|
202
|
+
};
|
|
203
|
+
exports.hasMaxLength = hasMaxLength;
|
|
204
|
+
const isLength = (value, length) => {
|
|
205
|
+
return (0, exports.isString)(value) && value.length === length;
|
|
206
|
+
};
|
|
207
|
+
exports.isLength = isLength;
|
|
208
|
+
const matchesPattern = (value, pattern) => {
|
|
209
|
+
return pattern.test(value);
|
|
210
|
+
};
|
|
211
|
+
exports.matchesPattern = matchesPattern;
|
|
212
|
+
const validateRequired = (obj, requiredFields) => {
|
|
213
|
+
const missingFields = [];
|
|
214
|
+
for (const field of requiredFields) {
|
|
215
|
+
if (!(0, exports.isRequired)(obj[field])) {
|
|
216
|
+
missingFields.push(field);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
return {
|
|
220
|
+
isValid: missingFields.length === 0,
|
|
221
|
+
missingFields,
|
|
222
|
+
};
|
|
223
|
+
};
|
|
224
|
+
exports.validateRequired = validateRequired;
|
|
225
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@planecloud/utils",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Utility functions and helpers for PlaneCloud platform",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build": "tsc",
|
|
9
|
+
"dev": "tsc --watch",
|
|
10
|
+
"clean": "rm -rf dist",
|
|
11
|
+
"prepublishOnly": "npm run clean && npm run build"
|
|
12
|
+
},
|
|
13
|
+
"keywords": [
|
|
14
|
+
"planecloud",
|
|
15
|
+
"utils",
|
|
16
|
+
"helpers",
|
|
17
|
+
"utilities"
|
|
18
|
+
],
|
|
19
|
+
"author": "PlaneCloud Team",
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"bcrypt": "^5.1.0",
|
|
23
|
+
"crypto": "^1.0.1",
|
|
24
|
+
"uuid": "^9.0.0"
|
|
25
|
+
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"@types/bcrypt": "^5.0.0",
|
|
28
|
+
"@types/uuid": "^9.0.0",
|
|
29
|
+
"typescript": "^5.0.0"
|
|
30
|
+
},
|
|
31
|
+
"files": [
|
|
32
|
+
"dist"
|
|
33
|
+
],
|
|
34
|
+
"repository": {
|
|
35
|
+
"type": "git",
|
|
36
|
+
"url": "https://github.com/planecloud/utils.git"
|
|
37
|
+
},
|
|
38
|
+
"homepage": "https://github.com/planecloud/utils#readme"
|
|
39
|
+
}
|