@dereekb/model 13.12.1 → 13.12.2
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 +36 -0
- package/index.esm.js +32 -1
- package/package.json +2 -2
- package/src/lib/validator/index.d.ts +1 -0
- package/src/lib/validator/number.d.ts +8 -0
- package/src/lib/validator/string.d.ts +25 -0
package/index.cjs.js
CHANGED
|
@@ -2938,6 +2938,12 @@ function _ts_generator(thisArg, body) {
|
|
|
2938
2938
|
return val != null && util.isISO8601DayString(val) || ctx.mustBe('a valid ISO 8601 day string');
|
|
2939
2939
|
});
|
|
2940
2940
|
|
|
2941
|
+
/**
|
|
2942
|
+
* A number greater than or equal to 0.
|
|
2943
|
+
*/ var NON_NEGATIVE_NUMBER = 'number >= 0';
|
|
2944
|
+
/**
|
|
2945
|
+
* A non-negative integer.
|
|
2946
|
+
*/ var NON_NEGATIVE_INTEGER = 'number.integer >= 0';
|
|
2941
2947
|
/**
|
|
2942
2948
|
* ArkType schema for a valid minute of the day (0-1439).
|
|
2943
2949
|
*/ var minuteOfDayType = arktype.type('number').narrow(function(val, ctx) {
|
|
@@ -2974,6 +2980,31 @@ function _ts_generator(thisArg, body) {
|
|
|
2974
2980
|
return val != null && util.isLatLngString(val) || ctx.mustBe('a valid lat,lng string (e.g. "30.5,-96.3")');
|
|
2975
2981
|
});
|
|
2976
2982
|
|
|
2983
|
+
/**
|
|
2984
|
+
* A string with at least one character (non-empty).
|
|
2985
|
+
*/ var NON_EMPTY_STRING = 'string > 0';
|
|
2986
|
+
/**
|
|
2987
|
+
* A valid email address string.
|
|
2988
|
+
*/ var EMAIL_STRING = 'string.email';
|
|
2989
|
+
/**
|
|
2990
|
+
* Creates an ArkType string definition for a non-empty string with a maximum length.
|
|
2991
|
+
*
|
|
2992
|
+
* Composes {@link NON_EMPTY_STRING} with an upper-bound length constraint, producing a
|
|
2993
|
+
* DSL fragment that can be interpolated directly into an ArkType `type({ ... })` schema.
|
|
2994
|
+
*
|
|
2995
|
+
* @param maxLength - The maximum number of characters allowed (inclusive).
|
|
2996
|
+
* @returns The ArkType string definition.
|
|
2997
|
+
*
|
|
2998
|
+
* @example
|
|
2999
|
+
* ```ts
|
|
3000
|
+
* const userType = type({
|
|
3001
|
+
* displayName: nonEmptyStringWithMaxLength(64)
|
|
3002
|
+
* });
|
|
3003
|
+
* ```
|
|
3004
|
+
*/ function nonEmptyStringWithMaxLength(maxLength) {
|
|
3005
|
+
return "".concat(NON_EMPTY_STRING, " & string <= ").concat(maxLength);
|
|
3006
|
+
}
|
|
3007
|
+
|
|
2977
3008
|
/**
|
|
2978
3009
|
* Creates an ArkType schema that validates an array has no duplicate keys.
|
|
2979
3010
|
*
|
|
@@ -3013,6 +3044,7 @@ exports.AbstractModelPermissionService = AbstractModelPermissionService;
|
|
|
3013
3044
|
exports.CASHAPP_BASE_URL = CASHAPP_BASE_URL;
|
|
3014
3045
|
exports.CASHAPP_USERNAME_PREFIX = CASHAPP_USERNAME_PREFIX;
|
|
3015
3046
|
exports.CASHAPP_WEBSITE_LINK_TYPE = CASHAPP_WEBSITE_LINK_TYPE;
|
|
3047
|
+
exports.EMAIL_STRING = EMAIL_STRING;
|
|
3016
3048
|
exports.EMAIL_URL_WEBSITE_LINK_TYPE = EMAIL_URL_WEBSITE_LINK_TYPE;
|
|
3017
3049
|
exports.EMPTY_ARKTYPE_TYPE = EMPTY_ARKTYPE_TYPE;
|
|
3018
3050
|
exports.FACEBOOK_BASE_URL = FACEBOOK_BASE_URL;
|
|
@@ -3027,6 +3059,9 @@ exports.GRANTED_UPDATE_ROLE_KEY = GRANTED_UPDATE_ROLE_KEY;
|
|
|
3027
3059
|
exports.GrantedRoleMapReaderInstance = GrantedRoleMapReaderInstance;
|
|
3028
3060
|
exports.INSTAGRAM_BASE_URL = INSTAGRAM_BASE_URL;
|
|
3029
3061
|
exports.INSTAGRAM_WEBSITE_LINK_TYPE = INSTAGRAM_WEBSITE_LINK_TYPE;
|
|
3062
|
+
exports.NON_EMPTY_STRING = NON_EMPTY_STRING;
|
|
3063
|
+
exports.NON_NEGATIVE_INTEGER = NON_NEGATIVE_INTEGER;
|
|
3064
|
+
exports.NON_NEGATIVE_NUMBER = NON_NEGATIVE_NUMBER;
|
|
3030
3065
|
exports.NO_ACCESS_ROLE_KEY = NO_ACCESS_ROLE_KEY;
|
|
3031
3066
|
exports.PAYPAL_BASE_URL = PAYPAL_BASE_URL;
|
|
3032
3067
|
exports.PAYPAL_WEBSITE_LINK_TYPE = PAYPAL_WEBSITE_LINK_TYPE;
|
|
@@ -3096,6 +3131,7 @@ exports.modelIdType = modelIdType;
|
|
|
3096
3131
|
exports.modelKeyType = modelKeyType;
|
|
3097
3132
|
exports.noAccessContextGrantedModelRoles = noAccessContextGrantedModelRoles;
|
|
3098
3133
|
exports.noAccessRoleMap = noAccessRoleMap;
|
|
3134
|
+
exports.nonEmptyStringWithMaxLength = nonEmptyStringWithMaxLength;
|
|
3099
3135
|
exports.paypalProfileUrl = paypalProfileUrl;
|
|
3100
3136
|
exports.paypalProfileUrlToWebsiteLink = paypalProfileUrlToWebsiteLink;
|
|
3101
3137
|
exports.phoneNumberToWebsiteLink = phoneNumberToWebsiteLink;
|
package/index.esm.js
CHANGED
|
@@ -2936,6 +2936,12 @@ function _ts_generator(thisArg, body) {
|
|
|
2936
2936
|
return val != null && isISO8601DayString(val) || ctx.mustBe('a valid ISO 8601 day string');
|
|
2937
2937
|
});
|
|
2938
2938
|
|
|
2939
|
+
/**
|
|
2940
|
+
* A number greater than or equal to 0.
|
|
2941
|
+
*/ var NON_NEGATIVE_NUMBER = 'number >= 0';
|
|
2942
|
+
/**
|
|
2943
|
+
* A non-negative integer.
|
|
2944
|
+
*/ var NON_NEGATIVE_INTEGER = 'number.integer >= 0';
|
|
2939
2945
|
/**
|
|
2940
2946
|
* ArkType schema for a valid minute of the day (0-1439).
|
|
2941
2947
|
*/ var minuteOfDayType = type('number').narrow(function(val, ctx) {
|
|
@@ -2972,6 +2978,31 @@ function _ts_generator(thisArg, body) {
|
|
|
2972
2978
|
return val != null && isLatLngString(val) || ctx.mustBe('a valid lat,lng string (e.g. "30.5,-96.3")');
|
|
2973
2979
|
});
|
|
2974
2980
|
|
|
2981
|
+
/**
|
|
2982
|
+
* A string with at least one character (non-empty).
|
|
2983
|
+
*/ var NON_EMPTY_STRING = 'string > 0';
|
|
2984
|
+
/**
|
|
2985
|
+
* A valid email address string.
|
|
2986
|
+
*/ var EMAIL_STRING = 'string.email';
|
|
2987
|
+
/**
|
|
2988
|
+
* Creates an ArkType string definition for a non-empty string with a maximum length.
|
|
2989
|
+
*
|
|
2990
|
+
* Composes {@link NON_EMPTY_STRING} with an upper-bound length constraint, producing a
|
|
2991
|
+
* DSL fragment that can be interpolated directly into an ArkType `type({ ... })` schema.
|
|
2992
|
+
*
|
|
2993
|
+
* @param maxLength - The maximum number of characters allowed (inclusive).
|
|
2994
|
+
* @returns The ArkType string definition.
|
|
2995
|
+
*
|
|
2996
|
+
* @example
|
|
2997
|
+
* ```ts
|
|
2998
|
+
* const userType = type({
|
|
2999
|
+
* displayName: nonEmptyStringWithMaxLength(64)
|
|
3000
|
+
* });
|
|
3001
|
+
* ```
|
|
3002
|
+
*/ function nonEmptyStringWithMaxLength(maxLength) {
|
|
3003
|
+
return "".concat(NON_EMPTY_STRING, " & string <= ").concat(maxLength);
|
|
3004
|
+
}
|
|
3005
|
+
|
|
2975
3006
|
/**
|
|
2976
3007
|
* Creates an ArkType schema that validates an array has no duplicate keys.
|
|
2977
3008
|
*
|
|
@@ -3000,4 +3031,4 @@ function _ts_generator(thisArg, body) {
|
|
|
3000
3031
|
return val != null && isWebsiteUrlWithPrefix(val) || ctx.mustBe('a valid website URL starting with http:// or https://');
|
|
3001
3032
|
});
|
|
3002
3033
|
|
|
3003
|
-
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, ARKTYPE_DATE_DTO_TYPE, AbstractModelPermissionService, CASHAPP_BASE_URL, CASHAPP_USERNAME_PREFIX, CASHAPP_WEBSITE_LINK_TYPE, EMAIL_URL_WEBSITE_LINK_TYPE, EMPTY_ARKTYPE_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, 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, UNKNOWN_WEBSITE_LINK_TYPE, 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, YOUTUBE_BASE_URL, YOUTUBE_WEBSITE_LINK_ISOLATE_PROFILE_ID, YOUTUBE_WEBSITE_LINK_TYPE, arktypeToJsonSchemaForExport, basicSyncEntityCommonTypeSynchronizerInstanceFactory, cashappProfileUrl, cashappProfileUrlToWebsiteLink, clearable, contextGrantedModelRoles, decodeWebsiteLinkEncodedDataToWebsiteFileLink, e164PhoneNumberType, e164PhoneNumberWithExtensionType, e164PhoneNumberWithOptionalExtensionType, emailAddressToWebsiteLink, emptyType, encodeWebsiteFileLinkToWebsiteLinkEncodedData, facebookProfileUrl, facebookProfileUrlToWebsiteLink, fullAccessGrantedModelRoles, fullAccessRoleMap, grantedRoleKeysMapFromArray, grantedRoleMapReader, instagramProfileUrl, instagramProfileUrlToWebsiteLink, isFullAccessRoleMap, isGrantedAdminLevelRole, isNoAccessRoleMap, isValidWebsiteLinkType, iso8601DayStringType, latLngPointType, latLngStringType, minuteOfDayType, modelIdType, modelKeyType, noAccessContextGrantedModelRoles, noAccessRoleMap, paypalProfileUrl, paypalProfileUrlToWebsiteLink, phoneNumberToWebsiteLink, pruneFalseUnionBranches, snapchatProfileUrl, snapchatProfileUrlToWebsiteLink, spotifyProfileUrl, spotifyProfileUrlToWebsiteLink, syncEntityCommonTypeIdPairFactory, syncEntityFactory, syncEntitySynchronizer, targetModelIdParamsType, targetModelParamsType, tiktokProfileUrl, tiktokProfileUrlToWebsiteLink, toTransformAndValidateFunctionResult, toTransformAndValidateFunctionResultFactory, transformAndValidateFunctionResultFactory, transformAndValidateObject, transformAndValidateObjectFactory, transformAndValidateObjectResult, transformAndValidateResultFactory, twitterProfileUrl, twitterProfileUrlToWebsiteLink, uniqueKeyedType, unitedStatesAddressWithStateCodeType, unitedStatesAddressWithStateStringType, usernameFromUsernameOrWebsiteWithBaseUrlUsername, usernameFromUsernameOrWebsiteWithOneOffBaseUrlUsername, usernameOrWebsiteUrlToWebsiteUrl, venmoProfileUrl, venmoProfileUrlToWebsiteLink, websiteFileLinkToWebsiteLink, websiteFileLinkType, websiteLinkToWebsiteLinkFile, websiteLinkType, websiteUrlToWebsiteLink, websiteUrlType, websiteUrlWithPrefixType, youtubeProfileUrl, youtubeProfileUrlToWebsiteLink };
|
|
3034
|
+
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, ARKTYPE_DATE_DTO_TYPE, AbstractModelPermissionService, CASHAPP_BASE_URL, CASHAPP_USERNAME_PREFIX, CASHAPP_WEBSITE_LINK_TYPE, EMAIL_STRING, EMAIL_URL_WEBSITE_LINK_TYPE, EMPTY_ARKTYPE_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, NON_EMPTY_STRING, NON_NEGATIVE_INTEGER, NON_NEGATIVE_NUMBER, 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, UNKNOWN_WEBSITE_LINK_TYPE, 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, YOUTUBE_BASE_URL, YOUTUBE_WEBSITE_LINK_ISOLATE_PROFILE_ID, YOUTUBE_WEBSITE_LINK_TYPE, arktypeToJsonSchemaForExport, basicSyncEntityCommonTypeSynchronizerInstanceFactory, cashappProfileUrl, cashappProfileUrlToWebsiteLink, clearable, contextGrantedModelRoles, decodeWebsiteLinkEncodedDataToWebsiteFileLink, e164PhoneNumberType, e164PhoneNumberWithExtensionType, e164PhoneNumberWithOptionalExtensionType, emailAddressToWebsiteLink, emptyType, encodeWebsiteFileLinkToWebsiteLinkEncodedData, facebookProfileUrl, facebookProfileUrlToWebsiteLink, fullAccessGrantedModelRoles, fullAccessRoleMap, grantedRoleKeysMapFromArray, grantedRoleMapReader, instagramProfileUrl, instagramProfileUrlToWebsiteLink, isFullAccessRoleMap, isGrantedAdminLevelRole, isNoAccessRoleMap, isValidWebsiteLinkType, iso8601DayStringType, latLngPointType, latLngStringType, minuteOfDayType, modelIdType, modelKeyType, noAccessContextGrantedModelRoles, noAccessRoleMap, nonEmptyStringWithMaxLength, paypalProfileUrl, paypalProfileUrlToWebsiteLink, phoneNumberToWebsiteLink, pruneFalseUnionBranches, snapchatProfileUrl, snapchatProfileUrlToWebsiteLink, spotifyProfileUrl, spotifyProfileUrlToWebsiteLink, syncEntityCommonTypeIdPairFactory, syncEntityFactory, syncEntitySynchronizer, targetModelIdParamsType, targetModelParamsType, tiktokProfileUrl, tiktokProfileUrlToWebsiteLink, toTransformAndValidateFunctionResult, toTransformAndValidateFunctionResultFactory, transformAndValidateFunctionResultFactory, transformAndValidateObject, transformAndValidateObjectFactory, transformAndValidateObjectResult, transformAndValidateResultFactory, twitterProfileUrl, twitterProfileUrlToWebsiteLink, uniqueKeyedType, unitedStatesAddressWithStateCodeType, unitedStatesAddressWithStateStringType, usernameFromUsernameOrWebsiteWithBaseUrlUsername, usernameFromUsernameOrWebsiteWithOneOffBaseUrlUsername, usernameOrWebsiteUrlToWebsiteUrl, venmoProfileUrl, venmoProfileUrlToWebsiteLink, websiteFileLinkToWebsiteLink, websiteFileLinkType, websiteLinkToWebsiteLinkFile, websiteLinkType, websiteUrlToWebsiteLink, websiteUrlType, websiteUrlWithPrefixType, youtubeProfileUrl, youtubeProfileUrlToWebsiteLink };
|
package/package.json
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A number greater than or equal to 0.
|
|
3
|
+
*/
|
|
4
|
+
export declare const NON_NEGATIVE_NUMBER: "number >= 0";
|
|
5
|
+
/**
|
|
6
|
+
* A non-negative integer.
|
|
7
|
+
*/
|
|
8
|
+
export declare const NON_NEGATIVE_INTEGER: "number.integer >= 0";
|
|
1
9
|
/**
|
|
2
10
|
* ArkType schema for a valid minute of the day (0-1439).
|
|
3
11
|
*/
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A string with at least one character (non-empty).
|
|
3
|
+
*/
|
|
4
|
+
export declare const NON_EMPTY_STRING: "string > 0";
|
|
5
|
+
/**
|
|
6
|
+
* A valid email address string.
|
|
7
|
+
*/
|
|
8
|
+
export declare const EMAIL_STRING: "string.email";
|
|
9
|
+
/**
|
|
10
|
+
* Creates an ArkType string definition for a non-empty string with a maximum length.
|
|
11
|
+
*
|
|
12
|
+
* Composes {@link NON_EMPTY_STRING} with an upper-bound length constraint, producing a
|
|
13
|
+
* DSL fragment that can be interpolated directly into an ArkType `type({ ... })` schema.
|
|
14
|
+
*
|
|
15
|
+
* @param maxLength - The maximum number of characters allowed (inclusive).
|
|
16
|
+
* @returns The ArkType string definition.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* const userType = type({
|
|
21
|
+
* displayName: nonEmptyStringWithMaxLength(64)
|
|
22
|
+
* });
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare function nonEmptyStringWithMaxLength<N extends number>(maxLength: N): `string > 0 & string <= ${N}`;
|