@dereekb/model 10.1.13 → 10.1.15

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/index.cjs.js CHANGED
@@ -2551,6 +2551,26 @@ function IsISO8601DayString(validationOptions) {
2551
2551
  };
2552
2552
  }
2553
2553
 
2554
+ /**
2555
+ * isMinuteOfDay validator
2556
+ */
2557
+ function IsMinuteOfDay(validationOptions) {
2558
+ return function (object, propertyName) {
2559
+ classValidator.registerDecorator({
2560
+ name: 'isMinuteOfDay',
2561
+ target: object.constructor,
2562
+ propertyName: propertyName,
2563
+ options: validationOptions,
2564
+ validator: {
2565
+ validate: util.isMinuteOfDay,
2566
+ defaultMessage(args) {
2567
+ return `"${args.value}" is not a valid minute of the day.`;
2568
+ }
2569
+ }
2570
+ });
2571
+ };
2572
+ }
2573
+
2554
2574
  /**
2555
2575
  * isE164PhoneNumber validator that does not allowed extensions.
2556
2576
  */
@@ -2682,6 +2702,7 @@ exports.IsE164PhoneNumber = IsE164PhoneNumber;
2682
2702
  exports.IsE164PhoneNumberWithExtension = IsE164PhoneNumberWithExtension;
2683
2703
  exports.IsE164PhoneNumberWithOptionalExtension = IsE164PhoneNumberWithOptionalExtension;
2684
2704
  exports.IsISO8601DayString = IsISO8601DayString;
2705
+ exports.IsMinuteOfDay = IsMinuteOfDay;
2685
2706
  exports.IsWebsiteUrl = IsWebsiteUrl;
2686
2707
  exports.IsWebsiteUrlWithPrefix = IsWebsiteUrlWithPrefix;
2687
2708
  exports.NO_ACCESS_ROLE_KEY = NO_ACCESS_ROLE_KEY;
package/index.esm.js CHANGED
@@ -1,4 +1,4 @@
1
- import { ZIP_CODE_STRING_REGEX, US_STATE_CODE_STRING_REGEX, splitJoinRemainder, filterFalsyAndEmptyValues, isolateWebsitePathFunction, toRelativeSlashPathStartType, addPrefix, hasWebsiteDomain, toAbsoluteSlashPathStartType, removeHttpFromUrl, forEachKeyValue, iterableToArray, arrayToObject, splitCommaSeparatedString, mapPromiseOrValue, isISO8601DayString, isE164PhoneNumber, isE164PhoneNumberWithExtension, isWebsiteUrl, isWebsiteUrlWithPrefix } from '@dereekb/util';
1
+ import { ZIP_CODE_STRING_REGEX, US_STATE_CODE_STRING_REGEX, splitJoinRemainder, filterFalsyAndEmptyValues, isolateWebsitePathFunction, toRelativeSlashPathStartType, addPrefix, hasWebsiteDomain, toAbsoluteSlashPathStartType, removeHttpFromUrl, forEachKeyValue, iterableToArray, arrayToObject, splitCommaSeparatedString, mapPromiseOrValue, isISO8601DayString, isMinuteOfDay, isE164PhoneNumber, isE164PhoneNumberWithExtension, isWebsiteUrl, isWebsiteUrlWithPrefix } from '@dereekb/util';
2
2
  import { Expose, Transform, plainToInstance } from 'class-transformer';
3
3
  import { IsString, IsNotEmpty, MaxLength, IsOptional, Matches, MinLength, validate, registerDecorator } from 'class-validator';
4
4
 
@@ -3883,6 +3883,26 @@ function IsISO8601DayString(validationOptions) {
3883
3883
  };
3884
3884
  }
3885
3885
 
3886
+ /**
3887
+ * isMinuteOfDay validator
3888
+ */
3889
+ function IsMinuteOfDay(validationOptions) {
3890
+ return function (object, propertyName) {
3891
+ registerDecorator({
3892
+ name: 'isMinuteOfDay',
3893
+ target: object.constructor,
3894
+ propertyName: propertyName,
3895
+ options: validationOptions,
3896
+ validator: {
3897
+ validate: isMinuteOfDay,
3898
+ defaultMessage(args) {
3899
+ return `"${args.value}" is not a valid minute of the day.`;
3900
+ }
3901
+ }
3902
+ });
3903
+ };
3904
+ }
3905
+
3886
3906
  /**
3887
3907
  * isE164PhoneNumber validator that does not allowed extensions.
3888
3908
  */
@@ -3989,4 +4009,4 @@ function IsWebsiteUrlWithPrefix(validationOptions) {
3989
4009
  };
3990
4010
  }
3991
4011
 
3992
- export { ADDRESS_CITY_MAX_LENGTH, ADDRESS_COUNTRY_MAX_LENGTH, ADDRESS_LINE_MAX_LENGTH, ADDRESS_STATE_CODE_MAX_LENGTH, ADDRESS_STATE_MAX_LENGTH, ADDRESS_ZIP_MAX_LENGTH, AbstractModelPermissionService, AbstractUnitedStatesAddressWithoutStateParams, CASHAPP_BASE_URL, CASHAPP_USERNAME_PREFIX, CASHAPP_WEBSITE_LINK_TYPE, EMAIL_URL_WEBSITE_LINK_TYPE, FACEBOOK_BASE_URL, FACEBOOK_WEBSITE_LINK_TYPE, FULL_ACCESS_ROLE_KEY, GRANTED_ADMIN_ROLE_KEY, GRANTED_DELETE_ROLE_KEY, GRANTED_OWNER_ROLE_KEY, GRANTED_READ_ROLE_KEY, GRANTED_SYS_ADMIN_ROLE_KEY, GRANTED_UPDATE_ROLE_KEY, GrantedRoleMapReaderInstance, INSTAGRAM_BASE_URL, INSTAGRAM_WEBSITE_LINK_TYPE, IsE164PhoneNumber, IsE164PhoneNumberWithExtension, IsE164PhoneNumberWithOptionalExtension, IsISO8601DayString, IsWebsiteUrl, IsWebsiteUrlWithPrefix, NO_ACCESS_ROLE_KEY, PAYPAL_BASE_URL, PAYPAL_WEBSITE_LINK_TYPE, PHONE_URL_WEBSITE_LINK_TYPE, SNAPCHAT_BASE_URL, SNAPCHAT_WEBSITE_LINK_ISOLATE_PROFILE_ID, SNAPCHAT_WEBSITE_LINK_TYPE, SPOTIFY_BASE_URL, SPOTIFY_WEBSITE_LINK_ISOLATE_PROFILE_ID, SPOTIFY_WEBSITE_LINK_TYPE, TIKTOK_BASE_URL, TIKTOK_USERNAME_PREFIX, TIKTOK_WEBSITE_LINK_TYPE, TWITTER_BASE_URL, TWITTER_WEBSITE_LINK_TYPE, TransformCommaSeparatedNumberValueToArray, TransformCommaSeparatedStringValueToArray, TransformCommaSeparatedValueToArray, TransformStringValueToBoolean, UNKNOWN_WEBSITE_LINK_TYPE, UnitedStatesAddressWithStateCodeParams, UnitedStatesAddressWithStateStringParams, VENMO_BASE_URL, VENMO_WEBSITE_LINK_ISOLATE_PROFILE_ID, VENMO_WEBSITE_LINK_TYPE, WEBSITE_FILE_LINK_DATA_MAX_LENGTH, WEBSITE_FILE_LINK_DATA_REGEX, WEBSITE_FILE_LINK_ENCODE_SEPARATOR, WEBSITE_FILE_LINK_MIME_TYPE_MAX_LENGTH, WEBSITE_FILE_LINK_MIME_TYPE_REGEX, WEBSITE_FILE_LINK_NAME_MAX_LENGTH, WEBSITE_FILE_LINK_TYPE_MAX_LENGTH, WEBSITE_FILE_LINK_TYPE_REGEX, WEBSITE_FILE_LINK_WEBSITE_LINK_TYPE, WEBSITE_LINK_ENCODED_DATA_MAX_LENGTH, WEBSITE_LINK_ISOLATE_BASE_URL_PROFILE_ID, WEBSITE_LINK_TYPE_MAX_LENGTH, WEBSITE_LINK_TYPE_REGEX, WEBSITE_URL_WEBSITE_LINK_TYPE, WebsiteFileLink, WebsiteLink, YOUTUBE_BASE_URL, YOUTUBE_WEBSITE_LINK_ISOLATE_PROFILE_ID, YOUTUBE_WEBSITE_LINK_TYPE, cashappProfileUrl, cashappProfileUrlToWebsiteLink, contextGrantedModelRoles, decodeWebsiteLinkEncodedDataToWebsiteFileLink, emailAddressToWebsiteLink, encodeWebsiteFileLinkToWebsiteLinkEncodedData, facebookProfileUrl, facebookProfileUrlToWebsiteLink, fullAccessGrantedModelRoles, fullAccessRoleMap, grantedRoleKeysMapFromArray, grantedRoleMapReader, instagramProfileUrl, instagramProfileUrlToWebsiteLink, isFullAccessRoleMap, isGrantedAdminLevelRole, isNoAccessRoleMap, isValidWebsiteLinkType, noAccessContextGrantedModelRoles, noAccessRoleMap, paypalProfileUrl, paypalProfileUrlToWebsiteLink, phoneNumberToWebsiteLink, snapchatProfileUrl, snapchatProfileUrlToWebsiteLink, spotifyProfileUrl, spotifyProfileUrlToWebsiteLink, tiktokProfileUrl, tiktokProfileUrlToWebsiteLink, toTransformAndValidateFunctionResult, toTransformAndValidateFunctionResultFactory, transformAndValidateFunctionResultFactory, transformAndValidateObject, transformAndValidateObjectFactory, transformAndValidateObjectResult, transformAndValidateResultFactory, transformCommaSeparatedNumberValueToArray, transformCommaSeparatedStringValueToArray, transformCommaSeparatedValueToArray, transformStringToBoolean, twitterProfileUrl, twitterProfileUrlToWebsiteLink, usernameFromUsernameOrWebsiteWithBaseUrlUsername, usernameFromUsernameOrWebsiteWithOneOffBaseUrlUsername, usernameOrWebsiteUrlToWebsiteUrl, venmoProfileUrl, venmoProfileUrlToWebsiteLink, websiteFileLinkToWebsiteLink, websiteLinkToWebsiteLinkFile, websiteUrlToWebsiteLink, youtubeProfileUrl, youtubeProfileUrlToWebsiteLink };
4012
+ export { ADDRESS_CITY_MAX_LENGTH, ADDRESS_COUNTRY_MAX_LENGTH, ADDRESS_LINE_MAX_LENGTH, ADDRESS_STATE_CODE_MAX_LENGTH, ADDRESS_STATE_MAX_LENGTH, ADDRESS_ZIP_MAX_LENGTH, AbstractModelPermissionService, AbstractUnitedStatesAddressWithoutStateParams, CASHAPP_BASE_URL, CASHAPP_USERNAME_PREFIX, CASHAPP_WEBSITE_LINK_TYPE, EMAIL_URL_WEBSITE_LINK_TYPE, FACEBOOK_BASE_URL, FACEBOOK_WEBSITE_LINK_TYPE, FULL_ACCESS_ROLE_KEY, GRANTED_ADMIN_ROLE_KEY, GRANTED_DELETE_ROLE_KEY, GRANTED_OWNER_ROLE_KEY, GRANTED_READ_ROLE_KEY, GRANTED_SYS_ADMIN_ROLE_KEY, GRANTED_UPDATE_ROLE_KEY, GrantedRoleMapReaderInstance, INSTAGRAM_BASE_URL, INSTAGRAM_WEBSITE_LINK_TYPE, IsE164PhoneNumber, IsE164PhoneNumberWithExtension, IsE164PhoneNumberWithOptionalExtension, IsISO8601DayString, IsMinuteOfDay, IsWebsiteUrl, IsWebsiteUrlWithPrefix, NO_ACCESS_ROLE_KEY, PAYPAL_BASE_URL, PAYPAL_WEBSITE_LINK_TYPE, PHONE_URL_WEBSITE_LINK_TYPE, SNAPCHAT_BASE_URL, SNAPCHAT_WEBSITE_LINK_ISOLATE_PROFILE_ID, SNAPCHAT_WEBSITE_LINK_TYPE, SPOTIFY_BASE_URL, SPOTIFY_WEBSITE_LINK_ISOLATE_PROFILE_ID, SPOTIFY_WEBSITE_LINK_TYPE, TIKTOK_BASE_URL, TIKTOK_USERNAME_PREFIX, TIKTOK_WEBSITE_LINK_TYPE, TWITTER_BASE_URL, TWITTER_WEBSITE_LINK_TYPE, TransformCommaSeparatedNumberValueToArray, TransformCommaSeparatedStringValueToArray, TransformCommaSeparatedValueToArray, TransformStringValueToBoolean, UNKNOWN_WEBSITE_LINK_TYPE, UnitedStatesAddressWithStateCodeParams, UnitedStatesAddressWithStateStringParams, VENMO_BASE_URL, VENMO_WEBSITE_LINK_ISOLATE_PROFILE_ID, VENMO_WEBSITE_LINK_TYPE, WEBSITE_FILE_LINK_DATA_MAX_LENGTH, WEBSITE_FILE_LINK_DATA_REGEX, WEBSITE_FILE_LINK_ENCODE_SEPARATOR, WEBSITE_FILE_LINK_MIME_TYPE_MAX_LENGTH, WEBSITE_FILE_LINK_MIME_TYPE_REGEX, WEBSITE_FILE_LINK_NAME_MAX_LENGTH, WEBSITE_FILE_LINK_TYPE_MAX_LENGTH, WEBSITE_FILE_LINK_TYPE_REGEX, WEBSITE_FILE_LINK_WEBSITE_LINK_TYPE, WEBSITE_LINK_ENCODED_DATA_MAX_LENGTH, WEBSITE_LINK_ISOLATE_BASE_URL_PROFILE_ID, WEBSITE_LINK_TYPE_MAX_LENGTH, WEBSITE_LINK_TYPE_REGEX, WEBSITE_URL_WEBSITE_LINK_TYPE, WebsiteFileLink, WebsiteLink, YOUTUBE_BASE_URL, YOUTUBE_WEBSITE_LINK_ISOLATE_PROFILE_ID, YOUTUBE_WEBSITE_LINK_TYPE, cashappProfileUrl, cashappProfileUrlToWebsiteLink, contextGrantedModelRoles, decodeWebsiteLinkEncodedDataToWebsiteFileLink, emailAddressToWebsiteLink, encodeWebsiteFileLinkToWebsiteLinkEncodedData, facebookProfileUrl, facebookProfileUrlToWebsiteLink, fullAccessGrantedModelRoles, fullAccessRoleMap, grantedRoleKeysMapFromArray, grantedRoleMapReader, instagramProfileUrl, instagramProfileUrlToWebsiteLink, isFullAccessRoleMap, isGrantedAdminLevelRole, isNoAccessRoleMap, isValidWebsiteLinkType, noAccessContextGrantedModelRoles, noAccessRoleMap, paypalProfileUrl, paypalProfileUrlToWebsiteLink, phoneNumberToWebsiteLink, snapchatProfileUrl, snapchatProfileUrlToWebsiteLink, spotifyProfileUrl, spotifyProfileUrlToWebsiteLink, tiktokProfileUrl, tiktokProfileUrlToWebsiteLink, toTransformAndValidateFunctionResult, toTransformAndValidateFunctionResultFactory, transformAndValidateFunctionResultFactory, transformAndValidateObject, transformAndValidateObjectFactory, transformAndValidateObjectResult, transformAndValidateResultFactory, transformCommaSeparatedNumberValueToArray, transformCommaSeparatedStringValueToArray, transformCommaSeparatedValueToArray, transformStringToBoolean, twitterProfileUrl, twitterProfileUrlToWebsiteLink, usernameFromUsernameOrWebsiteWithBaseUrlUsername, usernameFromUsernameOrWebsiteWithOneOffBaseUrlUsername, usernameOrWebsiteUrlToWebsiteUrl, venmoProfileUrl, venmoProfileUrlToWebsiteLink, websiteFileLinkToWebsiteLink, websiteLinkToWebsiteLinkFile, websiteUrlToWebsiteLink, youtubeProfileUrl, youtubeProfileUrlToWebsiteLink };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/model",
3
- "version": "10.1.13",
3
+ "version": "10.1.15",
4
4
  "exports": {
5
5
  ".": {
6
6
  "types": "./src/index.d.ts",
@@ -1,3 +1,4 @@
1
1
  export * from './date';
2
+ export * from './number';
2
3
  export * from './phone';
3
4
  export * from './url';
@@ -0,0 +1,6 @@
1
+ import { type ObjectWithConstructor } from '@dereekb/util';
2
+ import { type ValidationOptions } from 'class-validator';
3
+ /**
4
+ * isMinuteOfDay validator
5
+ */
6
+ export declare function IsMinuteOfDay(validationOptions?: ValidationOptions): (object: ObjectWithConstructor, propertyName: string) => void;