@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.
@@ -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;
@@ -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;
@@ -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, 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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carecard/validate-ts",
3
- "version": "2.2.10",
3
+ "version": "2.2.12",
4
4
  "private": false,
5
5
  "description": "Validate functions",
6
6
  "license": "ISC",