@carecard/validate-ts 2.2.8 → 2.2.11

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.
@@ -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;
@@ -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;
@@ -24,6 +24,7 @@ function validateProperties(obj = {}) {
24
24
  case 'collegeName':
25
25
  case 'campus_name':
26
26
  case 'campusName':
27
+ case 'role':
27
28
  if ((0, validate_1.isNameString)(value)) {
28
29
  returnObj[key] = value;
29
30
  }
@@ -80,6 +81,12 @@ function validateProperties(obj = {}) {
80
81
  case 'categoryId':
81
82
  case 'parent_id':
82
83
  case 'parentId':
84
+ case 'college_id':
85
+ case 'collegeId':
86
+ case 'campus_id':
87
+ case 'campusId':
88
+ case 'program_id':
89
+ case 'programId':
83
90
  if ((0, validate_1.isValidUuidString)(value)) {
84
91
  returnObj[key] = value;
85
92
  }
@@ -127,6 +134,12 @@ function validateProperties(obj = {}) {
127
134
  returnObj[key] = value;
128
135
  }
129
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;
130
143
  }
131
144
  }
132
145
  return returnObj;
@@ -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;
@@ -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, } from './validate';
3
3
  export function validateProperties(obj = {}) {
4
4
  const returnObj = {};
5
5
  for (const [key, value] of Object.entries(obj || {})) {
@@ -21,6 +21,7 @@ export function validateProperties(obj = {}) {
21
21
  case 'collegeName':
22
22
  case 'campus_name':
23
23
  case 'campusName':
24
+ case 'role':
24
25
  if (isNameString(value)) {
25
26
  returnObj[key] = value;
26
27
  }
@@ -77,6 +78,12 @@ export function validateProperties(obj = {}) {
77
78
  case 'categoryId':
78
79
  case 'parent_id':
79
80
  case 'parentId':
81
+ case 'college_id':
82
+ case 'collegeId':
83
+ case 'campus_id':
84
+ case 'campusId':
85
+ case 'program_id':
86
+ case 'programId':
80
87
  if (isValidUuidString(value)) {
81
88
  returnObj[key] = value;
82
89
  }
@@ -124,6 +131,12 @@ export function validateProperties(obj = {}) {
124
131
  returnObj[key] = value;
125
132
  }
126
133
  break;
134
+ case 'expires_at':
135
+ case 'expiresAt':
136
+ if (isValidTimestampzString(value) || isValidTimestampString(value)) {
137
+ returnObj[key] = value;
138
+ }
139
+ break;
127
140
  }
128
141
  }
129
142
  return returnObj;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carecard/validate-ts",
3
- "version": "2.2.8",
3
+ "version": "2.2.11",
4
4
  "private": false,
5
5
  "description": "Validate functions",
6
6
  "license": "ISC",