@dereekb/model 13.6.15 → 13.6.17
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 +26 -0
- package/index.esm.js +25 -1
- package/package.json +2 -2
- package/src/lib/type/type.d.ts +25 -1
package/index.cjs.js
CHANGED
|
@@ -21,6 +21,30 @@ var makeError = require('make-error');
|
|
|
21
21
|
id: modelIdType
|
|
22
22
|
});
|
|
23
23
|
|
|
24
|
+
/**
|
|
25
|
+
* Singleton ArkType schema that accepts any empty object (`{}`).
|
|
26
|
+
*
|
|
27
|
+
* Used as the canonical "no params" type for model API actions that require an ArkType schema but have no meaningful input fields.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* export const doSomethingParamsType = emptyType<DoSomethingParams>();
|
|
32
|
+
* ```
|
|
33
|
+
*/ var EMPTY_ARKTYPE_TYPE = arktype.type({});
|
|
34
|
+
/**
|
|
35
|
+
* Returns the shared {@link EMPTY_ARKTYPE_TYPE} cast to the requested type, providing a typed empty-object schema
|
|
36
|
+
* without creating a new ArkType instance each time.
|
|
37
|
+
*
|
|
38
|
+
* @returns the singleton empty type schema typed as `Type<T>`
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```typescript
|
|
42
|
+
* export interface ResyncAllParams {} // has no params currently
|
|
43
|
+
* export const resyncAllParamsType = emptyType<ResyncAllParams>();
|
|
44
|
+
* ```
|
|
45
|
+
*/ function emptyType() {
|
|
46
|
+
return EMPTY_ARKTYPE_TYPE;
|
|
47
|
+
}
|
|
24
48
|
function clearable(definition) {
|
|
25
49
|
var result;
|
|
26
50
|
if (typeof definition === 'string') {
|
|
@@ -2832,6 +2856,7 @@ exports.CASHAPP_BASE_URL = CASHAPP_BASE_URL;
|
|
|
2832
2856
|
exports.CASHAPP_USERNAME_PREFIX = CASHAPP_USERNAME_PREFIX;
|
|
2833
2857
|
exports.CASHAPP_WEBSITE_LINK_TYPE = CASHAPP_WEBSITE_LINK_TYPE;
|
|
2834
2858
|
exports.EMAIL_URL_WEBSITE_LINK_TYPE = EMAIL_URL_WEBSITE_LINK_TYPE;
|
|
2859
|
+
exports.EMPTY_ARKTYPE_TYPE = EMPTY_ARKTYPE_TYPE;
|
|
2835
2860
|
exports.FACEBOOK_BASE_URL = FACEBOOK_BASE_URL;
|
|
2836
2861
|
exports.FACEBOOK_WEBSITE_LINK_TYPE = FACEBOOK_WEBSITE_LINK_TYPE;
|
|
2837
2862
|
exports.FULL_ACCESS_ROLE_KEY = FULL_ACCESS_ROLE_KEY;
|
|
@@ -2890,6 +2915,7 @@ exports.e164PhoneNumberType = e164PhoneNumberType;
|
|
|
2890
2915
|
exports.e164PhoneNumberWithExtensionType = e164PhoneNumberWithExtensionType;
|
|
2891
2916
|
exports.e164PhoneNumberWithOptionalExtensionType = e164PhoneNumberWithOptionalExtensionType;
|
|
2892
2917
|
exports.emailAddressToWebsiteLink = emailAddressToWebsiteLink;
|
|
2918
|
+
exports.emptyType = emptyType;
|
|
2893
2919
|
exports.encodeWebsiteFileLinkToWebsiteLinkEncodedData = encodeWebsiteFileLinkToWebsiteLinkEncodedData;
|
|
2894
2920
|
exports.facebookProfileUrl = facebookProfileUrl;
|
|
2895
2921
|
exports.facebookProfileUrlToWebsiteLink = facebookProfileUrlToWebsiteLink;
|
package/index.esm.js
CHANGED
|
@@ -19,6 +19,30 @@ import { BaseError } from 'make-error';
|
|
|
19
19
|
id: modelIdType
|
|
20
20
|
});
|
|
21
21
|
|
|
22
|
+
/**
|
|
23
|
+
* Singleton ArkType schema that accepts any empty object (`{}`).
|
|
24
|
+
*
|
|
25
|
+
* Used as the canonical "no params" type for model API actions that require an ArkType schema but have no meaningful input fields.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* export const doSomethingParamsType = emptyType<DoSomethingParams>();
|
|
30
|
+
* ```
|
|
31
|
+
*/ var EMPTY_ARKTYPE_TYPE = type({});
|
|
32
|
+
/**
|
|
33
|
+
* Returns the shared {@link EMPTY_ARKTYPE_TYPE} cast to the requested type, providing a typed empty-object schema
|
|
34
|
+
* without creating a new ArkType instance each time.
|
|
35
|
+
*
|
|
36
|
+
* @returns the singleton empty type schema typed as `Type<T>`
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```typescript
|
|
40
|
+
* export interface ResyncAllParams {} // has no params currently
|
|
41
|
+
* export const resyncAllParamsType = emptyType<ResyncAllParams>();
|
|
42
|
+
* ```
|
|
43
|
+
*/ function emptyType() {
|
|
44
|
+
return EMPTY_ARKTYPE_TYPE;
|
|
45
|
+
}
|
|
22
46
|
function clearable(definition) {
|
|
23
47
|
var result;
|
|
24
48
|
if (typeof definition === 'string') {
|
|
@@ -2818,4 +2842,4 @@ function _ts_generator(thisArg, body) {
|
|
|
2818
2842
|
return val != null && isWebsiteUrlWithPrefix(val) || ctx.mustBe('a valid website URL starting with http:// or https://');
|
|
2819
2843
|
});
|
|
2820
2844
|
|
|
2821
|
-
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, 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, basicSyncEntityCommonTypeSynchronizerInstanceFactory, cashappProfileUrl, cashappProfileUrlToWebsiteLink, clearable, contextGrantedModelRoles, decodeWebsiteLinkEncodedDataToWebsiteFileLink, e164PhoneNumberType, e164PhoneNumberWithExtensionType, e164PhoneNumberWithOptionalExtensionType, emailAddressToWebsiteLink, encodeWebsiteFileLinkToWebsiteLinkEncodedData, facebookProfileUrl, facebookProfileUrlToWebsiteLink, fullAccessGrantedModelRoles, fullAccessRoleMap, grantedRoleKeysMapFromArray, grantedRoleMapReader, instagramProfileUrl, instagramProfileUrlToWebsiteLink, isFullAccessRoleMap, isGrantedAdminLevelRole, isNoAccessRoleMap, isValidWebsiteLinkType, iso8601DayStringType, latLngPointType, latLngStringType, minuteOfDayType, modelIdType, modelKeyType, noAccessContextGrantedModelRoles, noAccessRoleMap, paypalProfileUrl, paypalProfileUrlToWebsiteLink, phoneNumberToWebsiteLink, 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 };
|
|
2845
|
+
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, 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, 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
package/src/lib/type/type.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Maybe } from '@dereekb/util';
|
|
2
|
-
import { type
|
|
2
|
+
import { type, type Type } from 'arktype';
|
|
3
3
|
/**
|
|
4
4
|
* A value that can be set to a value of `T`, or cleared by setting to `null` or `undefined`.
|
|
5
5
|
*
|
|
@@ -19,6 +19,30 @@ import { type type, type Type } from 'arktype';
|
|
|
19
19
|
* ```
|
|
20
20
|
*/
|
|
21
21
|
export type Clearable<T> = Maybe<T>;
|
|
22
|
+
/**
|
|
23
|
+
* Singleton ArkType schema that accepts any empty object (`{}`).
|
|
24
|
+
*
|
|
25
|
+
* Used as the canonical "no params" type for model API actions that require an ArkType schema but have no meaningful input fields.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* export const doSomethingParamsType = emptyType<DoSomethingParams>();
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export declare const EMPTY_ARKTYPE_TYPE: Type<{}>;
|
|
33
|
+
/**
|
|
34
|
+
* Returns the shared {@link EMPTY_ARKTYPE_TYPE} cast to the requested type, providing a typed empty-object schema
|
|
35
|
+
* without creating a new ArkType instance each time.
|
|
36
|
+
*
|
|
37
|
+
* @returns the singleton empty type schema typed as `Type<T>`
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```typescript
|
|
41
|
+
* export interface ResyncAllParams {} // has no params currently
|
|
42
|
+
* export const resyncAllParamsType = emptyType<ResyncAllParams>();
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare function emptyType<T = {}>(): Type<T>;
|
|
22
46
|
/**
|
|
23
47
|
* Creates an ArkType schema that accepts the given ArkType definition OR null/undefined.
|
|
24
48
|
* Used for fields where null acts as a "clear/reset" signal for the model.
|