@carecard/validate-ts 2.0.1 → 2.1.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/cjs/validate.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isCountryCodeString = exports.isInStringArray = exports.isSafeString = exports.isPostalCodeString = exports.isBoolValue = exports.isProvinceString = exports.isString6To16CharacterLong = exports.isString6To24CharacterLong = exports.isUrlSafeString = exports.isUsernameString = exports.isSimplePasswordStringFailureMessage = exports.isPasswordStringFailureMessage = exports.isSimplePasswordString = exports.isPasswordString = exports.isJwtString = exports.isEmailString = exports.isSafeSearchString = exports.isNameString = exports.isCharactersString = exports.isValidUuidString = exports.isValidIntegerString = exports.isValidJsonString = exports.isInteger = exports.isImageUrl = void 0;
|
|
3
|
+
exports.isValidDomainName = exports.isCountryCodeString = exports.isInStringArray = exports.isSafeString = exports.isPostalCodeString = exports.isBoolValue = exports.isProvinceString = exports.isString6To16CharacterLong = exports.isString6To24CharacterLong = exports.isUrlSafeString = exports.isUsernameString = exports.isSimplePasswordStringFailureMessage = exports.isPasswordStringFailureMessage = exports.isSimplePasswordString = exports.isPasswordString = exports.isJwtString = exports.isEmailString = exports.isSafeSearchString = exports.isNameString = exports.isCharactersString = exports.isValidUuidString = exports.isValidIntegerString = exports.isValidJsonString = exports.isInteger = exports.isImageUrl = void 0;
|
|
4
4
|
exports.isPhoneNumber = isPhoneNumber;
|
|
5
5
|
const isImageUrl = (imageUrl) => {
|
|
6
6
|
if (imageUrl === undefined || typeof imageUrl !== 'string' || imageUrl.length === 0)
|
|
@@ -44,8 +44,9 @@ const isCharactersString = (str) => {
|
|
|
44
44
|
};
|
|
45
45
|
exports.isCharactersString = isCharactersString;
|
|
46
46
|
const isNameString = (str) => {
|
|
47
|
-
if (str === undefined || typeof str !== 'string' || str.length === 0)
|
|
47
|
+
if (str === undefined || typeof str !== 'string' || str.length === 0 || str.length > 1000) {
|
|
48
48
|
return false;
|
|
49
|
+
}
|
|
49
50
|
return /^[A-Za-z][0-9a-zA-Z-_.,'() ]+$/.test(str.trim());
|
|
50
51
|
};
|
|
51
52
|
exports.isNameString = isNameString;
|
|
@@ -56,8 +57,12 @@ const isSafeSearchString = (str) => {
|
|
|
56
57
|
};
|
|
57
58
|
exports.isSafeSearchString = isSafeSearchString;
|
|
58
59
|
const isEmailString = (email) => {
|
|
59
|
-
if (email === undefined ||
|
|
60
|
+
if (email === undefined ||
|
|
61
|
+
typeof email !== 'string' ||
|
|
62
|
+
email.length === 0 ||
|
|
63
|
+
email.length > 1000) {
|
|
60
64
|
return false;
|
|
65
|
+
}
|
|
61
66
|
const regExpEmail = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
|
62
67
|
return regExpEmail.test(String(email).toLowerCase());
|
|
63
68
|
};
|
|
@@ -102,7 +107,7 @@ const isSimplePasswordStringFailureMessage = (password) => {
|
|
|
102
107
|
};
|
|
103
108
|
exports.isSimplePasswordStringFailureMessage = isSimplePasswordStringFailureMessage;
|
|
104
109
|
const isUsernameString = (str) => {
|
|
105
|
-
if (str === undefined || typeof str !== 'string' || str.length === 0)
|
|
110
|
+
if (str === undefined || typeof str !== 'string' || str.length === 0 || str.length > 200)
|
|
106
111
|
return false;
|
|
107
112
|
return /^[0-9a-zA-Z]+$/.test(str);
|
|
108
113
|
};
|
|
@@ -171,3 +176,13 @@ const isCountryCodeString = (str) => {
|
|
|
171
176
|
return postalCodeRegex.test(str);
|
|
172
177
|
};
|
|
173
178
|
exports.isCountryCodeString = isCountryCodeString;
|
|
179
|
+
const isValidDomainName = (domain) => {
|
|
180
|
+
if (domain === undefined ||
|
|
181
|
+
typeof domain !== 'string' ||
|
|
182
|
+
domain.length === 0 ||
|
|
183
|
+
domain.length > 253)
|
|
184
|
+
return false;
|
|
185
|
+
const domainRegex = /^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$/i;
|
|
186
|
+
return domainRegex.test(domain);
|
|
187
|
+
};
|
|
188
|
+
exports.isValidDomainName = isValidDomainName;
|
package/dist/cjs/validate.d.ts
CHANGED
|
@@ -23,3 +23,4 @@ export declare const isPostalCodeString: (inputString: string) => boolean;
|
|
|
23
23
|
export declare const isSafeString: (str: string | any[]) => boolean;
|
|
24
24
|
export declare const isInStringArray: (StringArray: string | any[], inputString: string) => boolean;
|
|
25
25
|
export declare const isCountryCodeString: (str: string | any[]) => boolean;
|
|
26
|
+
export declare const isValidDomainName: (domain: string) => boolean;
|
|
@@ -75,6 +75,12 @@ function validateProperties(obj = {}) {
|
|
|
75
75
|
case 'image_url':
|
|
76
76
|
(0, validate_1.isImageUrl)(value) ? (returnObj[key] = value) : null;
|
|
77
77
|
break;
|
|
78
|
+
case 'domain_name':
|
|
79
|
+
case 'domain':
|
|
80
|
+
case 'email_domain':
|
|
81
|
+
case 'email_domain_name':
|
|
82
|
+
(0, validate_1.isValidDomainName)(value) ? (returnObj[key] = value) : null;
|
|
83
|
+
break;
|
|
78
84
|
}
|
|
79
85
|
}
|
|
80
86
|
return returnObj;
|
package/dist/esm/validate.d.ts
CHANGED
|
@@ -23,3 +23,4 @@ export declare const isPostalCodeString: (inputString: string) => boolean;
|
|
|
23
23
|
export declare const isSafeString: (str: string | any[]) => boolean;
|
|
24
24
|
export declare const isInStringArray: (StringArray: string | any[], inputString: string) => boolean;
|
|
25
25
|
export declare const isCountryCodeString: (str: string | any[]) => boolean;
|
|
26
|
+
export declare const isValidDomainName: (domain: string) => boolean;
|
package/dist/esm/validate.js
CHANGED
|
@@ -34,8 +34,9 @@ export const isCharactersString = (str) => {
|
|
|
34
34
|
return /^[\da-zA-Z _-]+$/.test(str);
|
|
35
35
|
};
|
|
36
36
|
export const isNameString = (str) => {
|
|
37
|
-
if (str === undefined || typeof str !== 'string' || str.length === 0)
|
|
37
|
+
if (str === undefined || typeof str !== 'string' || str.length === 0 || str.length > 1000) {
|
|
38
38
|
return false;
|
|
39
|
+
}
|
|
39
40
|
return /^[A-Za-z][0-9a-zA-Z-_.,'() ]+$/.test(str.trim());
|
|
40
41
|
};
|
|
41
42
|
export const isSafeSearchString = (str) => {
|
|
@@ -44,8 +45,12 @@ export const isSafeSearchString = (str) => {
|
|
|
44
45
|
return /^[A-Za-z][0-9a-zA-Z\-_.,'()@ ]{1,100}$/.test(str.trim());
|
|
45
46
|
};
|
|
46
47
|
export const isEmailString = (email) => {
|
|
47
|
-
if (email === undefined ||
|
|
48
|
+
if (email === undefined ||
|
|
49
|
+
typeof email !== 'string' ||
|
|
50
|
+
email.length === 0 ||
|
|
51
|
+
email.length > 1000) {
|
|
48
52
|
return false;
|
|
53
|
+
}
|
|
49
54
|
const regExpEmail = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
|
50
55
|
return regExpEmail.test(String(email).toLowerCase());
|
|
51
56
|
};
|
|
@@ -84,7 +89,7 @@ export const isSimplePasswordStringFailureMessage = (password) => {
|
|
|
84
89
|
}
|
|
85
90
|
};
|
|
86
91
|
export const isUsernameString = (str) => {
|
|
87
|
-
if (str === undefined || typeof str !== 'string' || str.length === 0)
|
|
92
|
+
if (str === undefined || typeof str !== 'string' || str.length === 0 || str.length > 200)
|
|
88
93
|
return false;
|
|
89
94
|
return /^[0-9a-zA-Z]+$/.test(str);
|
|
90
95
|
};
|
|
@@ -143,3 +148,12 @@ export const isCountryCodeString = (str) => {
|
|
|
143
148
|
const postalCodeRegex = /^\+[1-9][0-9]{0,2}$/i;
|
|
144
149
|
return postalCodeRegex.test(str);
|
|
145
150
|
};
|
|
151
|
+
export const isValidDomainName = (domain) => {
|
|
152
|
+
if (domain === undefined ||
|
|
153
|
+
typeof domain !== 'string' ||
|
|
154
|
+
domain.length === 0 ||
|
|
155
|
+
domain.length > 253)
|
|
156
|
+
return false;
|
|
157
|
+
const domainRegex = /^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$/i;
|
|
158
|
+
return domainRegex.test(domain);
|
|
159
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Validate the property values format.
|
|
2
|
-
import { isEmailString, isPhoneNumber, isUrlSafeString, isValidUuidString, isSimplePasswordString, isPasswordString, isString6To16CharacterLong, isNameString, isSafeSearchString, isCharactersString, isValidIntegerString, isValidJsonString, isImageUrl, } from './validate';
|
|
2
|
+
import { isEmailString, isPhoneNumber, isUrlSafeString, isValidUuidString, isSimplePasswordString, isPasswordString, isString6To16CharacterLong, isNameString, isSafeSearchString, isCharactersString, isValidIntegerString, isValidJsonString, isImageUrl, isValidDomainName, } from './validate';
|
|
3
3
|
export function validateProperties(obj = {}) {
|
|
4
4
|
let returnObj = {};
|
|
5
5
|
for (let [key, value] of Object.entries(obj || {})) {
|
|
@@ -72,6 +72,12 @@ export function validateProperties(obj = {}) {
|
|
|
72
72
|
case 'image_url':
|
|
73
73
|
isImageUrl(value) ? (returnObj[key] = value) : null;
|
|
74
74
|
break;
|
|
75
|
+
case 'domain_name':
|
|
76
|
+
case 'domain':
|
|
77
|
+
case 'email_domain':
|
|
78
|
+
case 'email_domain_name':
|
|
79
|
+
isValidDomainName(value) ? (returnObj[key] = value) : null;
|
|
80
|
+
break;
|
|
75
81
|
}
|
|
76
82
|
}
|
|
77
83
|
return returnObj;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@carecard/validate-ts",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Validate functions",
|
|
6
6
|
"license": "ISC",
|
|
@@ -38,12 +38,13 @@
|
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@types/jest": "30.0.0",
|
|
41
|
+
"@types/node": "25.0.3",
|
|
42
|
+
"eslint": "9.39.2",
|
|
43
|
+
"husky": "9.1.7",
|
|
41
44
|
"jest": "30.2.0",
|
|
45
|
+
"prettier": "3.7.4",
|
|
42
46
|
"ts-jest": "29.4.6",
|
|
43
47
|
"typescript": "5.9.3",
|
|
44
|
-
"typescript-eslint": "8.50.1"
|
|
45
|
-
"prettier": "3.7.4",
|
|
46
|
-
"eslint": "9.39.2",
|
|
47
|
-
"husky": "9.1.7"
|
|
48
|
+
"typescript-eslint": "8.50.1"
|
|
48
49
|
}
|
|
49
50
|
}
|