@carecard/validate-ts 2.2.10 → 2.2.12
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.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;
|
|
3
|
+
exports.isValidTimestampString = exports.isValidTimestampzString = 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 ||
|
|
@@ -187,3 +187,19 @@ const isValidDomainName = (domain) => {
|
|
|
187
187
|
return domainRegex.test(domain);
|
|
188
188
|
};
|
|
189
189
|
exports.isValidDomainName = isValidDomainName;
|
|
190
|
+
const isValidTimestampzString = (str) => {
|
|
191
|
+
if (typeof str !== 'string' || str.length === 0 || str.length > 64)
|
|
192
|
+
return false;
|
|
193
|
+
// ISO 8601 for UTC or with Offset: 2023-10-27T10:00:00Z or 2023-10-27T10:00:00+02:00
|
|
194
|
+
const timestampzRegex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2})$/;
|
|
195
|
+
return timestampzRegex.test(str) && !isNaN(Date.parse(str));
|
|
196
|
+
};
|
|
197
|
+
exports.isValidTimestampzString = isValidTimestampzString;
|
|
198
|
+
const isValidTimestampString = (str) => {
|
|
199
|
+
if (typeof str !== 'string' || str.length === 0 || str.length > 64)
|
|
200
|
+
return false;
|
|
201
|
+
// ISO 8601 without time zone: 2023-10-27T10:00:00 or 2023-10-27T10:00:00.123
|
|
202
|
+
const timestampRegex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?$/;
|
|
203
|
+
return timestampRegex.test(str) && !isNaN(Date.parse(str));
|
|
204
|
+
};
|
|
205
|
+
exports.isValidTimestampString = isValidTimestampString;
|
package/dist/cjs/validate.d.ts
CHANGED
|
@@ -24,3 +24,5 @@ export declare const isSafeString: (str: unknown) => boolean;
|
|
|
24
24
|
export declare const isInStringArray: (StringArray: string[], inputString: unknown) => boolean;
|
|
25
25
|
export declare const isCountryCodeString: (str: unknown) => boolean;
|
|
26
26
|
export declare const isValidDomainName: (domain: unknown) => boolean;
|
|
27
|
+
export declare const isValidTimestampzString: (str: unknown) => boolean;
|
|
28
|
+
export declare const isValidTimestampString: (str: unknown) => boolean;
|
|
@@ -134,6 +134,17 @@ function validateProperties(obj = {}) {
|
|
|
134
134
|
returnObj[key] = value;
|
|
135
135
|
}
|
|
136
136
|
break;
|
|
137
|
+
case 'expires_at':
|
|
138
|
+
case 'expiresAt':
|
|
139
|
+
if ((0, validate_1.isValidTimestampzString)(value) || (0, validate_1.isValidTimestampString)(value)) {
|
|
140
|
+
returnObj[key] = value;
|
|
141
|
+
}
|
|
142
|
+
break;
|
|
143
|
+
case 'active':
|
|
144
|
+
if ((0, validate_1.isBoolValue)(value)) {
|
|
145
|
+
returnObj[key] = value;
|
|
146
|
+
}
|
|
147
|
+
break;
|
|
137
148
|
}
|
|
138
149
|
}
|
|
139
150
|
return returnObj;
|
package/dist/esm/validate.d.ts
CHANGED
|
@@ -24,3 +24,5 @@ export declare const isSafeString: (str: unknown) => boolean;
|
|
|
24
24
|
export declare const isInStringArray: (StringArray: string[], inputString: unknown) => boolean;
|
|
25
25
|
export declare const isCountryCodeString: (str: unknown) => boolean;
|
|
26
26
|
export declare const isValidDomainName: (domain: unknown) => boolean;
|
|
27
|
+
export declare const isValidTimestampzString: (str: unknown) => boolean;
|
|
28
|
+
export declare const isValidTimestampString: (str: unknown) => boolean;
|
package/dist/esm/validate.js
CHANGED
|
@@ -158,3 +158,17 @@ export const isValidDomainName = (domain) => {
|
|
|
158
158
|
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;
|
|
159
159
|
return domainRegex.test(domain);
|
|
160
160
|
};
|
|
161
|
+
export const isValidTimestampzString = (str) => {
|
|
162
|
+
if (typeof str !== 'string' || str.length === 0 || str.length > 64)
|
|
163
|
+
return false;
|
|
164
|
+
// ISO 8601 for UTC or with Offset: 2023-10-27T10:00:00Z or 2023-10-27T10:00:00+02:00
|
|
165
|
+
const timestampzRegex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2})$/;
|
|
166
|
+
return timestampzRegex.test(str) && !isNaN(Date.parse(str));
|
|
167
|
+
};
|
|
168
|
+
export const isValidTimestampString = (str) => {
|
|
169
|
+
if (typeof str !== 'string' || str.length === 0 || str.length > 64)
|
|
170
|
+
return false;
|
|
171
|
+
// ISO 8601 without time zone: 2023-10-27T10:00:00 or 2023-10-27T10:00:00.123
|
|
172
|
+
const timestampRegex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?$/;
|
|
173
|
+
return timestampRegex.test(str) && !isNaN(Date.parse(str));
|
|
174
|
+
};
|
|
@@ -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, isValidDomainName, } from './validate';
|
|
2
|
+
import { isEmailString, isPhoneNumber, isUrlSafeString, isValidUuidString, isSimplePasswordString, isPasswordString, isString6To16CharacterLong, isNameString, isSafeSearchString, isCharactersString, isValidIntegerString, isValidJsonString, isImageUrl, isValidDomainName, isValidTimestampzString, isValidTimestampString, isBoolValue, } from './validate';
|
|
3
3
|
export function validateProperties(obj = {}) {
|
|
4
4
|
const returnObj = {};
|
|
5
5
|
for (const [key, value] of Object.entries(obj || {})) {
|
|
@@ -131,6 +131,17 @@ export function validateProperties(obj = {}) {
|
|
|
131
131
|
returnObj[key] = value;
|
|
132
132
|
}
|
|
133
133
|
break;
|
|
134
|
+
case 'expires_at':
|
|
135
|
+
case 'expiresAt':
|
|
136
|
+
if (isValidTimestampzString(value) || isValidTimestampString(value)) {
|
|
137
|
+
returnObj[key] = value;
|
|
138
|
+
}
|
|
139
|
+
break;
|
|
140
|
+
case 'active':
|
|
141
|
+
if (isBoolValue(value)) {
|
|
142
|
+
returnObj[key] = value;
|
|
143
|
+
}
|
|
144
|
+
break;
|
|
134
145
|
}
|
|
135
146
|
}
|
|
136
147
|
return returnObj;
|