inferred-types 0.55.4 → 0.55.5

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.
@@ -2697,6 +2697,12 @@ declare const NORWEGIAN_NEWS: readonly [{
2697
2697
  */
2698
2698
  declare const NUMERIC_CHAR: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
2699
2699
  declare const NON_ZERO_NUMERIC_CHAR: readonly ["1", "2", "3", "4", "5", "6", "7", "8", "9"];
2700
+ /**
2701
+ * **PHONE_COUNTRY_CODES**
2702
+ *
2703
+ * `[code, 3 letter country code, 2 letter country code]`
2704
+ */
2705
+ declare const PHONE_COUNTRY_CODES: readonly [readonly ["886", "TWN", "TW"], readonly ["93", "AFG", "AF"], readonly ["355", "ALB", "AL"], readonly ["213", "DZA", "DZ"], readonly ["1-684", "ASM", "AS"], readonly ["376", "AND", "AD"], readonly ["244", "AGO", "AO"], readonly ["1-264", "AIA", "AI"], readonly ["672", "ATA", "AQ"], readonly ["1-268", "ATG", "AG"], readonly ["54", "ARG", "AR"], readonly ["374", "ARM", "AM"], readonly ["297", "ABW", "AW"], readonly ["61", "AUS", "AU"], readonly ["43", "AUT", "AT"], readonly ["994", "AZE", "AZ"], readonly ["1-242", "BHS", "BS"], readonly ["973", "BHR", "BH"], readonly ["880", "BGD", "BD"], readonly ["1-246", "BRB", "BB"], readonly ["375", "BLR", "BY"], readonly ["32", "BEL", "BE"], readonly ["501", "BLZ", "BZ"], readonly ["229", "BEN", "BJ"], readonly ["1-441", "BMU", "BM"], readonly ["975", "BTN", "BT"], readonly ["591", "BOL", "BO"], readonly ["599", "BES", "BQ"], readonly ["387", "BIH", "BA"], readonly ["267", "BWA", "BW"], readonly ["47", "BVT", "BV"], readonly ["55", "BRA", "BR"], readonly ["246", "IOT", "IO"], readonly ["1-284", "VGB", "VG"], readonly ["673", "BRN", "BN"], readonly ["359", "BGR", "BG"], readonly ["226", "BFA", "BF"], readonly ["257", "BDI", "BI"], readonly ["238", "CPV", "CV"], readonly ["855", "KHM", "KH"], readonly ["237", "CMR", "CM"], readonly ["1", "CAN", "CA"], readonly ["1-345", "CYM", "KY"], readonly ["236", "CAF", "CF"], readonly ["235", "TCD", "TD"], readonly ["56", "CHL", "CL"], readonly ["86", "CHN", "CN"], readonly ["852", "HKG", "HK"], readonly ["853", "MAC", "MO"], readonly ["61", "CXR", "CX"], readonly ["61", "CCK", "CC"], readonly ["57", "COL", "CO"], readonly ["269", "COM", "KM"], readonly ["242", "COG", "CG"], readonly ["682", "COK", "CK"], readonly ["506", "CRI", "CR"], readonly ["385", "HRV", "HR"], readonly ["53", "CUB", "CU"], readonly ["599", "CUW", "CW"], readonly ["357", "CYP", "CY"], readonly ["420", "CZE", "CZ"], readonly ["225", "CIV", "CI"], readonly ["850", "PRK", "KP"], readonly ["243", "COD", "CD"], readonly ["45", "DNK", "DK"], readonly ["253", "DJI", "DJ"], readonly ["1-767", "DMA", "DM"], readonly ["1-809", "DOM", "DO"], readonly ["1-829", "DOM", "DO"], readonly ["1-849", "DOM", "DO"], readonly ["593", "ECU", "EC"], readonly ["20", "EGY", "EG"], readonly ["503", "SLV", "SV"], readonly ["240", "GNQ", "GQ"], readonly ["291", "ERI", "ER"], readonly ["372", "EST", "EE"], readonly ["268", "SWZ", "SZ"], readonly ["251", "ETH", "ET"], readonly ["500", "FLK", "FK"], readonly ["298", "FRO", "FO"], readonly ["679", "FJI", "FJ"], readonly ["358", "FIN", "FI"], readonly ["33", "FRA", "FR"], readonly ["594", "GUF", "GF"], readonly ["689", "PYF", "PF"], readonly ["262", "ATF", "TF"], readonly ["241", "GAB", "GA"], readonly ["220", "GMB", "GM"], readonly ["995", "GEO", "GE"], readonly ["49", "DEU", "DE"], readonly ["233", "GHA", "GH"], readonly ["350", "GIB", "GI"], readonly ["30", "GRC", "GR"], readonly ["299", "GRL", "GL"], readonly ["1-473", "GRD", "GD"], readonly ["590", "GLP", "GP"], readonly ["1-671", "GUM", "GU"], readonly ["502", "GTM", "GT"], readonly ["44", "GGY", "GG"], readonly ["224", "GIN", "GN"], readonly ["245", "GNB", "GW"], readonly ["592", "GUY", "GY"], readonly ["509", "HTI", "HT"], readonly ["672", "HMD", "HM"], readonly ["39-06", "VAT", "VA"], readonly ["504", "HND", "HN"], readonly ["36", "HUN", "HU"], readonly ["354", "ISL", "IS"], readonly ["91", "IND", "IN"], readonly ["62", "IDN", "ID"], readonly ["98", "IRN", "IR"], readonly ["964", "IRQ", "IQ"], readonly ["353", "IRL", "IE"], readonly ["44", "IMN", "IM"], readonly ["972", "ISR", "IL"], readonly ["39", "ITA", "IT"], readonly ["1-876", "JAM", "JM"], readonly ["81", "JPN", "JP"], readonly ["44", "JEY", "JE"], readonly ["962", "JOR", "JO"], readonly ["7", "KAZ", "KZ"], readonly ["254", "KEN", "KE"], readonly ["686", "KIR", "KI"], readonly ["965", "KWT", "KW"], readonly ["996", "KGZ", "KG"], readonly ["856", "LAO", "LA"], readonly ["371", "LVA", "LV"], readonly ["961", "LBN", "LB"], readonly ["266", "LSO", "LS"], readonly ["231", "LBR", "LR"], readonly ["218", "LBY", "LY"], readonly ["423", "LIE", "LI"], readonly ["370", "LTU", "LT"], readonly ["352", "LUX", "LU"], readonly ["261", "MDG", "MG"], readonly ["265", "MWI", "MW"], readonly ["60", "MYS", "MY"], readonly ["960", "MDV", "MV"], readonly ["223", "MLI", "ML"], readonly ["356", "MLT", "MT"], readonly ["692", "MHL", "MH"], readonly ["596", "MTQ", "MQ"], readonly ["222", "MRT", "MR"], readonly ["230", "MUS", "MU"], readonly ["262", "MYT", "YT"], readonly ["52", "MEX", "MX"], readonly ["691", "FSM", "FM"], readonly ["377", "MCO", "MC"], readonly ["976", "MNG", "MN"], readonly ["382", "MNE", "ME"], readonly ["1-664", "MSR", "MS"], readonly ["212", "MAR", "MA"], readonly ["258", "MOZ", "MZ"], readonly ["95", "MMR", "MM"], readonly ["264", "NAM", "NA"], readonly ["674", "NRU", "NR"], readonly ["977", "NPL", "NP"], readonly ["31", "NLD", "NL"], readonly ["687", "NCL", "NC"], readonly ["64", "NZL", "NZ"], readonly ["505", "NIC", "NI"], readonly ["227", "NER", "NE"], readonly ["234", "NGA", "NG"], readonly ["683", "NIU", "NU"], readonly ["672", "NFK", "NF"], readonly ["1-670", "MNP", "MP"], readonly ["47", "NOR", "NO"], readonly ["968", "OMN", "OM"], readonly ["92", "PAK", "PK"], readonly ["680", "PLW", "PW"], readonly ["507", "PAN", "PA"], readonly ["675", "PNG", "PG"], readonly ["595", "PRY", "PY"], readonly ["51", "PER", "PE"], readonly ["63", "PHL", "PH"], readonly ["870", "PCN", "PN"], readonly ["48", "POL", "PL"], readonly ["351", "PRT", "PT"], readonly ["974", "QAT", "QA"], readonly ["82", "KOR", "KR"], readonly ["373", "MDA", "MD"], readonly ["40", "ROU", "RO"], readonly ["7", "RUS", "RU"], readonly ["250", "RWA", "RW"], readonly ["262", "REU", "RE"], readonly ["590", "BLM", "BL"], readonly ["290", "SHN", "SH"], readonly ["1-869", "KNA", "KN"], readonly ["1-758", "LCA", "LC"], readonly ["590", "MAF", "MF"], readonly ["508", "SPM", "PM"], readonly ["1-784", "VCT", "VC"], readonly ["685", "WSM", "WS"], readonly ["378", "SMR", "SM"], readonly ["239", "STP", "ST"], readonly ["966", "SAU", "SA"], readonly ["221", "SEN", "SN"], readonly ["381", "SRB", "RS"], readonly ["248", "SYC", "SC"], readonly ["232", "SLE", "SL"], readonly ["65", "SGP", "SG"], readonly ["1-721", "SXM", "SX"], readonly ["421", "SVK", "SK"], readonly ["386", "SVN", "SI"], readonly ["677", "SLB", "SB"], readonly ["252", "SOM", "SO"], readonly ["27", "ZAF", "ZA"], readonly ["500", "SGS", "GS"], readonly ["211", "SSD", "SS"], readonly ["34", "ESP", "ES"], readonly ["94", "LKA", "LK"], readonly ["970", "PSE", "PS"], readonly ["249", "SDN", "SD"], readonly ["597", "SUR", "SR"], readonly ["47", "SJM", "SJ"], readonly ["46", "SWE", "SE"], readonly ["41", "CHE", "CH"], readonly ["963", "SYR", "SY"], readonly ["992", "TJK", "TJ"], readonly ["66", "THA", "TH"], readonly ["389", "MKD", "MK"], readonly ["670", "TLS", "TL"], readonly ["228", "TGO", "TG"], readonly ["690", "TKL", "TK"], readonly ["676", "TON", "TO"], readonly ["1-868", "TTO", "TT"], readonly ["216", "TUN", "TN"], readonly ["90", "TUR", "TR"], readonly ["993", "TKM", "TM"], readonly ["1-649", "TCA", "TC"], readonly ["688", "TUV", "TV"], readonly ["256", "UGA", "UG"], readonly ["380", "UKR", "UA"], readonly ["971", "ARE", "AE"], readonly ["44", "GBR", "GB"], readonly ["255", "TZA", "TZ"], readonly ["1-340", "VIR", "VI"], readonly ["1", "USA", "US"], readonly ["598", "URY", "UY"], readonly ["998", "UZB", "UZ"], readonly ["678", "VUT", "VU"], readonly ["58", "VEN", "VE"], readonly ["84", "VNM", "VN"], readonly ["681", "WLF", "WF"], readonly ["212", "ESH", "EH"], readonly ["967", "YEM", "YE"], readonly ["260", "ZMB", "ZM"], readonly ["263", "ZWE", "ZW"], readonly ["358", "ALA", "AX"]];
2700
2706
 
2701
2707
  /**
2702
2708
  * **PLURAL_EXCEPTIONS**
@@ -6920,6 +6926,25 @@ type AsIp6Prefix<T extends readonly Ip6Group[]> = T extends [Ip6Group] ? `${T[0]
6920
6926
  */
6921
6927
  type LowerAlphaChar = typeof LOWER_ALPHA_CHARS[number];
6922
6928
 
6929
+ /**
6930
+ * **CountryPhoneNumber**`<[TDelimiter]>`
6931
+ *
6932
+ * Provides a shape phone number meant for use within a country. It includes
6933
+ * the local number plus what would be referred to as the "area code" in the
6934
+ * USA.
6935
+ *
6936
+ * **Related:** `InternationalPhoneNumber`, `LocalPhoneNumber`, `PhoneNumber`
6937
+ */
6938
+ type CountryPhoneNumber<TDelimiter extends PhoneNumberDelimiter = PhoneNumberDelimiter> = `${PhoneAreaCode}${TDelimiter}${LocalPhoneNumber<TDelimiter>}`;
6939
+
6940
+ /**
6941
+ * **DialCountryCode**
6942
+ *
6943
+ * A simplified representation of `PhoneCountryCode` so as to not make other
6944
+ * phone patterns too complex.
6945
+ */
6946
+ type DialCountryCode = `${"+" | "00"}${`1-${number}` | `${Exclude<NumericChar, "0">}`}${Optional<`${number}`>}`;
6947
+
6923
6948
  /**
6924
6949
  * GetPhoneCountryCode`<T>`
6925
6950
  *
@@ -6933,6 +6958,74 @@ type LowerAlphaChar = typeof LOWER_ALPHA_CHARS[number];
6933
6958
  */
6934
6959
  type GetPhoneCountryCode<T> = T extends string ? [IsStringLiteral<T>] extends [true] ? StartsWith<Trim<T>, "+" | "00"> extends true ? [Trim<T>] extends [`${"+" | "00"}${infer CC}${PhoneNumberDelimiter}${string}`] ? RetainUntil<CC, " "> : "" : "" : string : never;
6935
6960
 
6961
+ /**
6962
+ * **InternationalPhoneNumber**`<[TDelimiter]>`
6963
+ *
6964
+ * A phone number which explicitly leads by expressing the _country_ that the number belongs to.
6965
+ *
6966
+ * - uses `+` or `00` prefix to mark as a country code
6967
+ *
6968
+ * **Related:** `CountryPhoneNumber`, `LocalPhoneNumber`, `PhoneNumber`
6969
+ */
6970
+ type InternationalPhoneNumber<TDelimiter extends PhoneNumberDelimiter = PhoneNumberDelimiter> = `${DialCountryCode}${TDelimiter}${CountryPhoneNumber<TDelimiter>}`;
6971
+
6972
+ /**
6973
+ * **LocalPhoneNumber**`<[TDelimiter]>`
6974
+ *
6975
+ * Provides a shape for phone numbers local a region of country that do
6976
+ * not have a _country code_ designation nor what is referred to as the
6977
+ * "area code" in the USA.
6978
+ *
6979
+ * **Related:** `CountryPhoneNumber`, `InternationalPhoneNumber`, `PhoneNumber`
6980
+ */
6981
+ type LocalPhoneNumber<TDelimiter extends PhoneNumberDelimiter = PhoneNumberDelimiter> = `${NumericChar}${number}${TDelimiter}${number}`;
6982
+
6983
+ /**
6984
+ * **PhoneAreaCode**
6985
+ */
6986
+ type PhoneAreaCode = `(${number})` | `${NumericChar}${number}`;
6987
+
6988
+ type PhoneCountryLookup = Mutable<[...typeof PHONE_COUNTRY_CODES]>;
6989
+ /**
6990
+ * **PhoneCountryCode**
6991
+ *
6992
+ * The official list of _phone_ country codes
6993
+ *
6994
+ * **Related:** `DialCountryCode`
6995
+ */
6996
+ type PhoneCountryCode = FirstOfEach<PhoneCountryLookup>;
6997
+
6998
+ type Process$14<T extends string, _TDelimiter extends PhoneNumberDelimiter = PhoneNumberDelimiter> = OnPass<[
6999
+ ], T>;
7000
+ /**
7001
+ * **PhoneNumber**`<[T]>`
7002
+ *
7003
+ * Without use of the generic `T`, provides a basic shape for phone
7004
+ * numbers which should keep people on good behavior when
7005
+ * accepting phone numbers.
7006
+ *
7007
+ * When passing a string into `T`, this utility will do a lot more
7008
+ * validity checking on the value.
7009
+ *
7010
+ * - Only valid characters (numeric, whitespace, `+`, `-`, `.`, and parenthesis)
7011
+ * - all _leading_ and _trailing_ whitespace removed for remaining comparisons
7012
+ * - at least 7 numeric characters
7013
+ * - 8 if `+` character used as leading character (after whitespace)
7014
+ * - 10 if `00` are leading characters
7015
+ * - leading character (after whitespace) must be numeric, `(` or `+`
7016
+ *
7017
+ * - Related: `PhoneNumberWithCountryCode`, `UsPhoneNumber`
7018
+ */
7019
+ type PhoneNumber<T extends number | string | null = null, TDelimiter extends PhoneNumberDelimiter = PhoneNumberDelimiter> = T extends null ? LocalPhoneNumber<TDelimiter> | CountryPhoneNumber<TDelimiter> | InternationalPhoneNumber<TDelimiter> : IsStringLiteral<T> extends true ? Process$14<As<T, string>, TDelimiter> : IsNumericLiteral<T> extends true ? Process$14<`${As<T, number>}`, TDelimiter> : T extends string ? string | ErrorCondition<"invalid-phone-number"> : T extends number ? number | ErrorCondition<"invalid-phone-number"> : never;
7020
+ type PhoneNumberWithCountryCode = `+${PhoneCountryCode} ${string}`;
7021
+ type Sep = "." | " " | "-";
7022
+ type AreaCode = `(${number}) ` | `${number}${Sep}`;
7023
+ type Local = `${number}${Sep}${number}`;
7024
+ /**
7025
+ * A US-only phone number which requires starting with the country code.
7026
+ */
7027
+ type UsPhoneNumber = `+1 ${AreaCode}${Local}`;
7028
+
6936
7029
  /**
6937
7030
  * delimiter characters commonly used to separate digits in phone numbers
6938
7031
  */
@@ -11534,6 +11627,19 @@ type Unique<TList extends readonly unknown[], TDeref extends string | number | n
11534
11627
  */
11535
11628
  type UniqueKeys<L extends Container, R extends Container> = LeftRight<AsNumberWhenPossible<UnionToTuple$1<Exclude<keyof L, keyof R>>>, AsNumberWhenPossible<UnionToTuple$1<Exclude<keyof R, keyof L>>>>;
11536
11629
 
11630
+ /**
11631
+ * **FirstOfEach**`<TList>`
11632
+ *
11633
+ * Expects `TList` to consist of an array of arrays and then this utility will reduce
11634
+ * this to a _tuple_ of all the first elements in `TList`.
11635
+ *
11636
+ * ```ts
11637
+ * // ["foo", "bar"]
11638
+ * type A = FirstOfEach<[ ["foo", 1], ["bar", 2] ]>;
11639
+ * ```
11640
+ */
11641
+ type FirstOfEach<T extends readonly unknown[][]> = T[number][0] extends T[number][number] ? T[number][0] : never;
11642
+
11537
11643
  interface State {
11538
11644
  base: Uri<"http" | "https">;
11539
11645
  endpoints?: any[];
@@ -14361,7 +14467,7 @@ declare function isObject(value: unknown): value is Dictionary;
14361
14467
  declare function isNarrowableObject(value: unknown): value is Dictionary<ObjectKey, Narrowable>;
14362
14468
 
14363
14469
  /**
14364
- * **isPhoneNumber**`(val)`
14470
+ * **maybePhoneNumber**`(val)`
14365
14471
  *
14366
14472
  * Type guard which validates that a string is in the shape of a phone
14367
14473
  * number.
@@ -14370,9 +14476,26 @@ declare function isNarrowableObject(value: unknown): value is Dictionary<ObjectK
14370
14476
  * - at least 7 numeric characters, 8 if `+` character used
14371
14477
  * - leading character (after whitespace) must be numeric, `(` or `+`
14372
14478
  *
14373
- * **Related:** `asPhoneNumber()`, `PhoneNumber`
14479
+ * **Related:** `asPhoneNumber()`, `PhoneNumber`, `isPhoneNumber`
14480
+ */
14481
+ declare function maybePhoneNumber(val: unknown): val is PhoneNumber;
14482
+ /**
14483
+ * Type guard which validates that `val` starts with a valid
14484
+ * country code (although starting whitespace is also allowed).
14485
+ */
14486
+ declare function hasCountryCode(val: unknown): val is PhoneNumberWithCountryCode;
14487
+ declare function isUsPhoneNumber(val: unknown): val is UsPhoneNumber;
14488
+ /**
14489
+ * **isPhoneNumber**`(val)`
14490
+ *
14491
+ * Type guard which validates that a string is in the shape of a phone
14492
+ * number. This is a MORE strict check than `maybePhoneNumber()` which
14493
+ * you may want to use if you're pretty sure numeric looking values
14494
+ * are meant to be phone numbers.
14495
+ *
14496
+ * **Related:** `asPhoneNumber()`, `PhoneNumber`, `maybePhoneNumber`
14374
14497
  */
14375
- declare function isPhoneNumber(val: unknown): boolean;
14498
+ declare function isPhoneNumber(val: unknown): val is PhoneNumber;
14376
14499
 
14377
14500
  /**
14378
14501
  * **isReadonlyArray**(value)
@@ -15334,4 +15457,4 @@ declare function isVueRef(val: unknown): val is VueRef;
15334
15457
  */
15335
15458
  declare function asVueRef<T extends Narrowable>(value: T): VueRef<T>;
15336
15459
 
15337
- export { type AsClassSelector, type AsList, type BoxValue, type BoxedFnParams, type ConfigRestApi, type CssKeyframeCallback, type CssSelectorOptions, type CsvFormat, type DictionaryWithValueFilter, type DictionaryWithoutValueFilter, type DoesExtendTypeguard, type EndingWithTypeGuard, type EndpointGenerator, type EqualTo, type Finder, type FnParam, type FnParams, type GenParam, type GenParams, type GetEachOptions, type GetInference, type GetInferenceProps, type GetOptions, type Joiner, type KeyframeApi, type Mapper, type Rtn, ShapeApiImplementation, type SingletonClosure, type StartingWithTypeGuard, type StripSurroundConfigured, type SurroundWith, type ToKeyValueSort, type TokenContainerClosure, type TokenFunctionClosure, type TokenSetClosure, type TypeOfTypeGuard, type Unbox, type UndefinedArrayIsUnknown, type UnionClosure, type UrlMeta, type YouTubeMeta, addFnToProps, addPropsToFn, and, asApi, asArray, asChars, asDate, asEscapeFunction, asIsoDate, asOptionalParamFunction, asPhoneFormat, asRecord, asString, asStringLiteral, asType, asTypeToken, asVueRef, box, boxDictionaryValues, capitalize, choices, createConverter, createCssKeyframe, createCssSelector, createErrorCondition, createFifoQueue, createFixedLengthArray, createFnWithProps, createFnWithPropsExplicit, createLifoQueue, createMapper, createObjectMap, createTypeToken, cssColor, csv, defineCss, defineObj, defineObject, defineObjectApi, defineTuple, doesExtend, endsWith, ensureLeading, ensureSurround, ensureTrailing, entries, errCondition, filter, find, fnMeta, fromDefineObject, fromKeyValue, get, getDaysBetween, getEach, getPhoneCountryCode, getTailwindModifiers, getToday, getTokenKind, getTomorrow, getTypeSubtype, getUrlBase, getUrlDefaultPort, getUrlDynamics, getUrlPath, getUrlPort, getUrlProtocol, getUrlQueryParams, getUrlSource, getWeekNumber, getYesterday, getYouTubePageType, handleDoneFn, hasDefaultValue, hasIndexOf, hasKeys, hasOverlappingKeys, hasProtocol, hasProtocolPrefix, hasUrlPort, hasUrlQueryParameter, hasWhiteSpace, idLiteral, idTypeGuard, identity, ifArray, ifArrayPartial, ifBoolean, ifChar, ifContainer, ifDefined, ifFalse, ifFunction, ifHasKey, ifLength, ifLowercaseChar, ifNotNull, ifNull, ifNumber, ifObject, ifSameType, ifScalar, ifString, ifTrue, ifUndefined, ifUppercaseChar, indexOf, infer, intersect, intersection, ip6GroupExpansion, ip6Prefix, isAccelerationMetric, isAccelerationUom, isAlpha, isAmazonUrl, isApi, isApiSurface, isAppleUrl, isAreaMetric, isAreaUom, isArray, isArrayToken, isAtomicKind, isAtomicToken, isAustralianNewsUrl, isBelgiumNewsUrl, isBestBuyUrl, isBitbucketUrl, isBoolean, isBooleanLike, isBox, isCanadianNewsUrl, isChineseNewsUrl, isCodeCommitUrl, isConstant, isContainer, isContainerToken, isCostCoUrl, isCountryAbbrev, isCountryCode2, isCountryCode3, isCountryName, isCssAspectRatio, isCsv, isCurrentMetric, isCurrentUom, isCvsUrl, isDanishNewsUrl, isDate, isDefineObject, isDefined, isDellUrl, isDistanceMetric, isDistanceUom, isDomainName, isDoneFn, isDutchNewsUrl, isEbayUrl, isEmail, isEmpty, isEnergyMetric, isEnergyUom, isEqual, isErrorCondition, isEscapeFunction, isEtsyUrl, isFalse, isFalsy, isFnBasedKind, isFnBasedToken, isFnWithParams, isFrenchNewsUrl, isFrequencyMetric, isFrequencyUom, isFunction, isGermanNewsUrl, isGithubIssueUrl, isGithubIssuesListUrl, isGithubOrgUrl, isGithubProjectUrl, isGithubProjectsListUrl, isGithubReleaseTagUrl, isGithubReleasesListUrl, isGithubRepoReleaseTagUrl, isGithubRepoReleasesUrl, isGithubRepoUrl, isGithubUrl, isHexadecimal, isHmUrl, isHomeDepotUrl, isHtmlElement, isIkeaUrl, isIndexable, isIndianNewsUrl, isInlineSvg, isIp4Address, isIp6Address, isIpAddress, isIso3166Alpha2, isIso3166Alpha3, isIso3166CountryCode, isIso3166CountryName, isIsoDate, isIsoDateTime, isIsoExplicitDate, isIsoExplicitTime, isIsoImplicitDate, isIsoImplicitTime, isIsoTime, isIsoYear, isItalianNewsUrl, isJapaneseNewsUrl, isKrogersUrl, isLeapYear, isLength, isLikeRegExp, isLowesUrl, isLuminosityMetric, isLuminosityUom, isLuxonDateTime, isMacysUrl, isMap, isMapToken, isMassMetric, isMassUom, isMetric, isMexicanNewsUrl, isMoment, isNarrowableObject, isNever, isNewsUrl, isNikeUrl, isNorwegianNewsUrl, isNotNull, isNothing, isNull, isNumber, isNumberLike, isNumericArray, isNumericString, isObject, isObjectToken, isOptionalParamFunction, isPhoneNumber, isPowerMetric, isPowerUom, isPressureMetric, isPressureUom, isProtocol, isProtocolPrefix, isReadonlyArray, isRecordToken, isRef, isRegExp, isRepoSource, isRepoUrl, isResistance, isResistanceUom, isRetailUrl, isSameTypeOf, isScalar, isSemanticVersion, isSet, isSetBasedKind, isSetBasedToken, isSetContainer, isSetToken, isShape, isShapeCallback, isSimpleContainerToken, isSimpleContainerTokenTuple, isSimpleScalarToken, isSimpleScalarTokenTuple, isSimpleToken, isSimpleTokenTuple, isSingletonKind, isSingletonToken, isSocialMediaProfileUrl, isSocialMediaUrl, isSouthKoreanNewsUrl, isSpanishNewsUrl, isSpecificConstant, isSpeedMetric, isSpeedUom, isString, isStringArray, isSwissNewsUrl, isSymbol, isTailwindColor, isTailwindColorClass, isTailwindColorName, isTailwindColorTarget, isTailwindColorWithLuminosity, isTailwindColorWithLuminosityAndOpacity, isTailwindModifier, isTargetUrl, isTemperatureMetric, isTemperatureUom, isThenable, isThisMonth, isThisWeek, isThisYear, isTimeMetric, isTimeUom, isToday, isTomorrow, isTrimable, isTrue, isTruthy, isTuple, isTupleToken, isTurkishNewsUrl, isTypeOf, isTypeSubtype, isTypeToken, isTypeTokenKind, isTypeTuple, isUkNewsUrl, isUndefined, isUnset, isUom, isUri, isUrl, isUrlPath, isUrlSource, isUsNewsUrl, isUsStateAbbreviation, isUsStateName, isVariable, isVoltageMetric, isVoltageUom, isVolumeMetric, isVolumeUom, isVueRef, isWalgreensUrl, isWalmartUrl, isWayfairUrl, isWholeFoodsUrl, isYesterday, isYouTubeCreatorUrl, isYouTubeFeedHistoryUrl, isYouTubeFeedUrl, isYouTubePlaylistUrl, isYouTubePlaylistsUrl, isYouTubeShareUrl, isYouTubeSubscriptionsUrl, isYouTubeTrendingUrl, isYouTubeUrl, isYouTubeVideoUrl, isYouTubeVideosInPlaylist, isZaraUrl, isZipCode, isZipCode5, isZipPlus4, joinWith, jsonValue, jsonValues, keysOf, kindLiteral, last, list, literal, logicalReturns, lookupCountryAlpha2, lookupCountryAlpha3, lookupCountryCode, lookupCountryName, lowercase, mergeObjects, mergeScalars, mergeTuples, nameLiteral, narrow, narrowObjectTo, narrowObjectToType, never, objectToApi, objectValues, omit, optional, optionalOrNull, or, orNull, pathJoin, pluralize, removePhoneCountryCode, removeTailwindModifiers, removeUrlProtocol, result, retain, retainAfter, retainAfterInclusive, retainChars, retainUntil, retainUntilInclusive, retainWhile, reverse, rightWhitespace, shape, sharedKeys, shift, simpleContainerToken, simpleContainerTokenToTypeToken, simpleContainerType, simpleScalarToken, simpleScalarTokenToTypeToken, simpleScalarType, simpleToken, simpleType, simpleUnionTokenToTypeToken, slice, split, startsWith, stripAfter, stripBefore, stripChars, stripLeading, stripParenthesis, stripSurround, stripTrailing, stripUntil, stripWhile, surround, takeNumericCharacters, takeProp, toCamelCase, toKebabCase, toKeyValue, toNumber, toNumericArray, toPascalCase, toSnakeCase, toString, toUppercase, trim, trimEnd, trimLeft, trimRight, trimStart, truncate, tuple, twColor, unbox, uncapitalize, union, unionize, unique, uniqueKeys, unset, uppercase, urlMeta, valuesOf, widen, withDefaults, withKeys, withValue, withoutKeys, withoutValue, wrapFn, youtubeEmbed, youtubeMeta };
15460
+ export { type AsClassSelector, type AsList, type BoxValue, type BoxedFnParams, type ConfigRestApi, type CssKeyframeCallback, type CssSelectorOptions, type CsvFormat, type DictionaryWithValueFilter, type DictionaryWithoutValueFilter, type DoesExtendTypeguard, type EndingWithTypeGuard, type EndpointGenerator, type EqualTo, type Finder, type FnParam, type FnParams, type GenParam, type GenParams, type GetEachOptions, type GetInference, type GetInferenceProps, type GetOptions, type Joiner, type KeyframeApi, type Mapper, type Rtn, ShapeApiImplementation, type SingletonClosure, type StartingWithTypeGuard, type StripSurroundConfigured, type SurroundWith, type ToKeyValueSort, type TokenContainerClosure, type TokenFunctionClosure, type TokenSetClosure, type TypeOfTypeGuard, type Unbox, type UndefinedArrayIsUnknown, type UnionClosure, type UrlMeta, type YouTubeMeta, addFnToProps, addPropsToFn, and, asApi, asArray, asChars, asDate, asEscapeFunction, asIsoDate, asOptionalParamFunction, asPhoneFormat, asRecord, asString, asStringLiteral, asType, asTypeToken, asVueRef, box, boxDictionaryValues, capitalize, choices, createConverter, createCssKeyframe, createCssSelector, createErrorCondition, createFifoQueue, createFixedLengthArray, createFnWithProps, createFnWithPropsExplicit, createLifoQueue, createMapper, createObjectMap, createTypeToken, cssColor, csv, defineCss, defineObj, defineObject, defineObjectApi, defineTuple, doesExtend, endsWith, ensureLeading, ensureSurround, ensureTrailing, entries, errCondition, filter, find, fnMeta, fromDefineObject, fromKeyValue, get, getDaysBetween, getEach, getPhoneCountryCode, getTailwindModifiers, getToday, getTokenKind, getTomorrow, getTypeSubtype, getUrlBase, getUrlDefaultPort, getUrlDynamics, getUrlPath, getUrlPort, getUrlProtocol, getUrlQueryParams, getUrlSource, getWeekNumber, getYesterday, getYouTubePageType, handleDoneFn, hasCountryCode, hasDefaultValue, hasIndexOf, hasKeys, hasOverlappingKeys, hasProtocol, hasProtocolPrefix, hasUrlPort, hasUrlQueryParameter, hasWhiteSpace, idLiteral, idTypeGuard, identity, ifArray, ifArrayPartial, ifBoolean, ifChar, ifContainer, ifDefined, ifFalse, ifFunction, ifHasKey, ifLength, ifLowercaseChar, ifNotNull, ifNull, ifNumber, ifObject, ifSameType, ifScalar, ifString, ifTrue, ifUndefined, ifUppercaseChar, indexOf, infer, intersect, intersection, ip6GroupExpansion, ip6Prefix, isAccelerationMetric, isAccelerationUom, isAlpha, isAmazonUrl, isApi, isApiSurface, isAppleUrl, isAreaMetric, isAreaUom, isArray, isArrayToken, isAtomicKind, isAtomicToken, isAustralianNewsUrl, isBelgiumNewsUrl, isBestBuyUrl, isBitbucketUrl, isBoolean, isBooleanLike, isBox, isCanadianNewsUrl, isChineseNewsUrl, isCodeCommitUrl, isConstant, isContainer, isContainerToken, isCostCoUrl, isCountryAbbrev, isCountryCode2, isCountryCode3, isCountryName, isCssAspectRatio, isCsv, isCurrentMetric, isCurrentUom, isCvsUrl, isDanishNewsUrl, isDate, isDefineObject, isDefined, isDellUrl, isDistanceMetric, isDistanceUom, isDomainName, isDoneFn, isDutchNewsUrl, isEbayUrl, isEmail, isEmpty, isEnergyMetric, isEnergyUom, isEqual, isErrorCondition, isEscapeFunction, isEtsyUrl, isFalse, isFalsy, isFnBasedKind, isFnBasedToken, isFnWithParams, isFrenchNewsUrl, isFrequencyMetric, isFrequencyUom, isFunction, isGermanNewsUrl, isGithubIssueUrl, isGithubIssuesListUrl, isGithubOrgUrl, isGithubProjectUrl, isGithubProjectsListUrl, isGithubReleaseTagUrl, isGithubReleasesListUrl, isGithubRepoReleaseTagUrl, isGithubRepoReleasesUrl, isGithubRepoUrl, isGithubUrl, isHexadecimal, isHmUrl, isHomeDepotUrl, isHtmlElement, isIkeaUrl, isIndexable, isIndianNewsUrl, isInlineSvg, isIp4Address, isIp6Address, isIpAddress, isIso3166Alpha2, isIso3166Alpha3, isIso3166CountryCode, isIso3166CountryName, isIsoDate, isIsoDateTime, isIsoExplicitDate, isIsoExplicitTime, isIsoImplicitDate, isIsoImplicitTime, isIsoTime, isIsoYear, isItalianNewsUrl, isJapaneseNewsUrl, isKrogersUrl, isLeapYear, isLength, isLikeRegExp, isLowesUrl, isLuminosityMetric, isLuminosityUom, isLuxonDateTime, isMacysUrl, isMap, isMapToken, isMassMetric, isMassUom, isMetric, isMexicanNewsUrl, isMoment, isNarrowableObject, isNever, isNewsUrl, isNikeUrl, isNorwegianNewsUrl, isNotNull, isNothing, isNull, isNumber, isNumberLike, isNumericArray, isNumericString, isObject, isObjectToken, isOptionalParamFunction, isPhoneNumber, isPowerMetric, isPowerUom, isPressureMetric, isPressureUom, isProtocol, isProtocolPrefix, isReadonlyArray, isRecordToken, isRef, isRegExp, isRepoSource, isRepoUrl, isResistance, isResistanceUom, isRetailUrl, isSameTypeOf, isScalar, isSemanticVersion, isSet, isSetBasedKind, isSetBasedToken, isSetContainer, isSetToken, isShape, isShapeCallback, isSimpleContainerToken, isSimpleContainerTokenTuple, isSimpleScalarToken, isSimpleScalarTokenTuple, isSimpleToken, isSimpleTokenTuple, isSingletonKind, isSingletonToken, isSocialMediaProfileUrl, isSocialMediaUrl, isSouthKoreanNewsUrl, isSpanishNewsUrl, isSpecificConstant, isSpeedMetric, isSpeedUom, isString, isStringArray, isSwissNewsUrl, isSymbol, isTailwindColor, isTailwindColorClass, isTailwindColorName, isTailwindColorTarget, isTailwindColorWithLuminosity, isTailwindColorWithLuminosityAndOpacity, isTailwindModifier, isTargetUrl, isTemperatureMetric, isTemperatureUom, isThenable, isThisMonth, isThisWeek, isThisYear, isTimeMetric, isTimeUom, isToday, isTomorrow, isTrimable, isTrue, isTruthy, isTuple, isTupleToken, isTurkishNewsUrl, isTypeOf, isTypeSubtype, isTypeToken, isTypeTokenKind, isTypeTuple, isUkNewsUrl, isUndefined, isUnset, isUom, isUri, isUrl, isUrlPath, isUrlSource, isUsNewsUrl, isUsPhoneNumber, isUsStateAbbreviation, isUsStateName, isVariable, isVoltageMetric, isVoltageUom, isVolumeMetric, isVolumeUom, isVueRef, isWalgreensUrl, isWalmartUrl, isWayfairUrl, isWholeFoodsUrl, isYesterday, isYouTubeCreatorUrl, isYouTubeFeedHistoryUrl, isYouTubeFeedUrl, isYouTubePlaylistUrl, isYouTubePlaylistsUrl, isYouTubeShareUrl, isYouTubeSubscriptionsUrl, isYouTubeTrendingUrl, isYouTubeUrl, isYouTubeVideoUrl, isYouTubeVideosInPlaylist, isZaraUrl, isZipCode, isZipCode5, isZipPlus4, joinWith, jsonValue, jsonValues, keysOf, kindLiteral, last, list, literal, logicalReturns, lookupCountryAlpha2, lookupCountryAlpha3, lookupCountryCode, lookupCountryName, lowercase, maybePhoneNumber, mergeObjects, mergeScalars, mergeTuples, nameLiteral, narrow, narrowObjectTo, narrowObjectToType, never, objectToApi, objectValues, omit, optional, optionalOrNull, or, orNull, pathJoin, pluralize, removePhoneCountryCode, removeTailwindModifiers, removeUrlProtocol, result, retain, retainAfter, retainAfterInclusive, retainChars, retainUntil, retainUntilInclusive, retainWhile, reverse, rightWhitespace, shape, sharedKeys, shift, simpleContainerToken, simpleContainerTokenToTypeToken, simpleContainerType, simpleScalarToken, simpleScalarTokenToTypeToken, simpleScalarType, simpleToken, simpleType, simpleUnionTokenToTypeToken, slice, split, startsWith, stripAfter, stripBefore, stripChars, stripLeading, stripParenthesis, stripSurround, stripTrailing, stripUntil, stripWhile, surround, takeNumericCharacters, takeProp, toCamelCase, toKebabCase, toKeyValue, toNumber, toNumericArray, toPascalCase, toSnakeCase, toString, toUppercase, trim, trimEnd, trimLeft, trimRight, trimStart, truncate, tuple, twColor, unbox, uncapitalize, union, unionize, unique, uniqueKeys, unset, uppercase, urlMeta, valuesOf, widen, withDefaults, withKeys, withValue, withoutKeys, withoutValue, wrapFn, youtubeEmbed, youtubeMeta };
@@ -1105,6 +1105,257 @@ var NUMERIC_CHAR = [
1105
1105
  "8",
1106
1106
  "9"
1107
1107
  ];
1108
+ var PHONE_COUNTRY_CODES = [
1109
+ ["886", "TWN", "TW"],
1110
+ ["93", "AFG", "AF"],
1111
+ ["355", "ALB", "AL"],
1112
+ ["213", "DZA", "DZ"],
1113
+ ["1-684", "ASM", "AS"],
1114
+ ["376", "AND", "AD"],
1115
+ ["244", "AGO", "AO"],
1116
+ ["1-264", "AIA", "AI"],
1117
+ ["672", "ATA", "AQ"],
1118
+ ["1-268", "ATG", "AG"],
1119
+ ["54", "ARG", "AR"],
1120
+ ["374", "ARM", "AM"],
1121
+ ["297", "ABW", "AW"],
1122
+ ["61", "AUS", "AU"],
1123
+ ["43", "AUT", "AT"],
1124
+ ["994", "AZE", "AZ"],
1125
+ ["1-242", "BHS", "BS"],
1126
+ ["973", "BHR", "BH"],
1127
+ ["880", "BGD", "BD"],
1128
+ ["1-246", "BRB", "BB"],
1129
+ ["375", "BLR", "BY"],
1130
+ ["32", "BEL", "BE"],
1131
+ ["501", "BLZ", "BZ"],
1132
+ ["229", "BEN", "BJ"],
1133
+ ["1-441", "BMU", "BM"],
1134
+ ["975", "BTN", "BT"],
1135
+ ["591", "BOL", "BO"],
1136
+ ["599", "BES", "BQ"],
1137
+ ["387", "BIH", "BA"],
1138
+ ["267", "BWA", "BW"],
1139
+ ["47", "BVT", "BV"],
1140
+ ["55", "BRA", "BR"],
1141
+ ["246", "IOT", "IO"],
1142
+ ["1-284", "VGB", "VG"],
1143
+ ["673", "BRN", "BN"],
1144
+ ["359", "BGR", "BG"],
1145
+ ["226", "BFA", "BF"],
1146
+ ["257", "BDI", "BI"],
1147
+ ["238", "CPV", "CV"],
1148
+ ["855", "KHM", "KH"],
1149
+ ["237", "CMR", "CM"],
1150
+ ["1", "CAN", "CA"],
1151
+ ["1-345", "CYM", "KY"],
1152
+ ["236", "CAF", "CF"],
1153
+ ["235", "TCD", "TD"],
1154
+ ["56", "CHL", "CL"],
1155
+ ["86", "CHN", "CN"],
1156
+ ["852", "HKG", "HK"],
1157
+ ["853", "MAC", "MO"],
1158
+ ["61", "CXR", "CX"],
1159
+ ["61", "CCK", "CC"],
1160
+ ["57", "COL", "CO"],
1161
+ ["269", "COM", "KM"],
1162
+ ["242", "COG", "CG"],
1163
+ ["682", "COK", "CK"],
1164
+ ["506", "CRI", "CR"],
1165
+ ["385", "HRV", "HR"],
1166
+ ["53", "CUB", "CU"],
1167
+ ["599", "CUW", "CW"],
1168
+ ["357", "CYP", "CY"],
1169
+ ["420", "CZE", "CZ"],
1170
+ ["225", "CIV", "CI"],
1171
+ ["850", "PRK", "KP"],
1172
+ ["243", "COD", "CD"],
1173
+ ["45", "DNK", "DK"],
1174
+ ["253", "DJI", "DJ"],
1175
+ ["1-767", "DMA", "DM"],
1176
+ ["1-809", "DOM", "DO"],
1177
+ ["1-829", "DOM", "DO"],
1178
+ ["1-849", "DOM", "DO"],
1179
+ ["593", "ECU", "EC"],
1180
+ ["20", "EGY", "EG"],
1181
+ ["503", "SLV", "SV"],
1182
+ ["240", "GNQ", "GQ"],
1183
+ ["291", "ERI", "ER"],
1184
+ ["372", "EST", "EE"],
1185
+ ["268", "SWZ", "SZ"],
1186
+ ["251", "ETH", "ET"],
1187
+ ["500", "FLK", "FK"],
1188
+ ["298", "FRO", "FO"],
1189
+ ["679", "FJI", "FJ"],
1190
+ ["358", "FIN", "FI"],
1191
+ ["33", "FRA", "FR"],
1192
+ ["594", "GUF", "GF"],
1193
+ ["689", "PYF", "PF"],
1194
+ ["262", "ATF", "TF"],
1195
+ ["241", "GAB", "GA"],
1196
+ ["220", "GMB", "GM"],
1197
+ ["995", "GEO", "GE"],
1198
+ ["49", "DEU", "DE"],
1199
+ ["233", "GHA", "GH"],
1200
+ ["350", "GIB", "GI"],
1201
+ ["30", "GRC", "GR"],
1202
+ ["299", "GRL", "GL"],
1203
+ ["1-473", "GRD", "GD"],
1204
+ ["590", "GLP", "GP"],
1205
+ ["1-671", "GUM", "GU"],
1206
+ ["502", "GTM", "GT"],
1207
+ ["44", "GGY", "GG"],
1208
+ ["224", "GIN", "GN"],
1209
+ ["245", "GNB", "GW"],
1210
+ ["592", "GUY", "GY"],
1211
+ ["509", "HTI", "HT"],
1212
+ ["672", "HMD", "HM"],
1213
+ ["39-06", "VAT", "VA"],
1214
+ ["504", "HND", "HN"],
1215
+ ["36", "HUN", "HU"],
1216
+ ["354", "ISL", "IS"],
1217
+ ["91", "IND", "IN"],
1218
+ ["62", "IDN", "ID"],
1219
+ ["98", "IRN", "IR"],
1220
+ ["964", "IRQ", "IQ"],
1221
+ ["353", "IRL", "IE"],
1222
+ ["44", "IMN", "IM"],
1223
+ ["972", "ISR", "IL"],
1224
+ ["39", "ITA", "IT"],
1225
+ ["1-876", "JAM", "JM"],
1226
+ ["81", "JPN", "JP"],
1227
+ ["44", "JEY", "JE"],
1228
+ ["962", "JOR", "JO"],
1229
+ ["7", "KAZ", "KZ"],
1230
+ ["254", "KEN", "KE"],
1231
+ ["686", "KIR", "KI"],
1232
+ ["965", "KWT", "KW"],
1233
+ ["996", "KGZ", "KG"],
1234
+ ["856", "LAO", "LA"],
1235
+ ["371", "LVA", "LV"],
1236
+ ["961", "LBN", "LB"],
1237
+ ["266", "LSO", "LS"],
1238
+ ["231", "LBR", "LR"],
1239
+ ["218", "LBY", "LY"],
1240
+ ["423", "LIE", "LI"],
1241
+ ["370", "LTU", "LT"],
1242
+ ["352", "LUX", "LU"],
1243
+ ["261", "MDG", "MG"],
1244
+ ["265", "MWI", "MW"],
1245
+ ["60", "MYS", "MY"],
1246
+ ["960", "MDV", "MV"],
1247
+ ["223", "MLI", "ML"],
1248
+ ["356", "MLT", "MT"],
1249
+ ["692", "MHL", "MH"],
1250
+ ["596", "MTQ", "MQ"],
1251
+ ["222", "MRT", "MR"],
1252
+ ["230", "MUS", "MU"],
1253
+ ["262", "MYT", "YT"],
1254
+ ["52", "MEX", "MX"],
1255
+ ["691", "FSM", "FM"],
1256
+ ["377", "MCO", "MC"],
1257
+ ["976", "MNG", "MN"],
1258
+ ["382", "MNE", "ME"],
1259
+ ["1-664", "MSR", "MS"],
1260
+ ["212", "MAR", "MA"],
1261
+ ["258", "MOZ", "MZ"],
1262
+ ["95", "MMR", "MM"],
1263
+ ["264", "NAM", "NA"],
1264
+ ["674", "NRU", "NR"],
1265
+ ["977", "NPL", "NP"],
1266
+ ["31", "NLD", "NL"],
1267
+ ["687", "NCL", "NC"],
1268
+ ["64", "NZL", "NZ"],
1269
+ ["505", "NIC", "NI"],
1270
+ ["227", "NER", "NE"],
1271
+ ["234", "NGA", "NG"],
1272
+ ["683", "NIU", "NU"],
1273
+ ["672", "NFK", "NF"],
1274
+ ["1-670", "MNP", "MP"],
1275
+ ["47", "NOR", "NO"],
1276
+ ["968", "OMN", "OM"],
1277
+ ["92", "PAK", "PK"],
1278
+ ["680", "PLW", "PW"],
1279
+ ["507", "PAN", "PA"],
1280
+ ["675", "PNG", "PG"],
1281
+ ["595", "PRY", "PY"],
1282
+ ["51", "PER", "PE"],
1283
+ ["63", "PHL", "PH"],
1284
+ ["870", "PCN", "PN"],
1285
+ ["48", "POL", "PL"],
1286
+ ["351", "PRT", "PT"],
1287
+ ["974", "QAT", "QA"],
1288
+ ["82", "KOR", "KR"],
1289
+ ["373", "MDA", "MD"],
1290
+ ["40", "ROU", "RO"],
1291
+ ["7", "RUS", "RU"],
1292
+ ["250", "RWA", "RW"],
1293
+ ["262", "REU", "RE"],
1294
+ ["590", "BLM", "BL"],
1295
+ ["290", "SHN", "SH"],
1296
+ ["1-869", "KNA", "KN"],
1297
+ ["1-758", "LCA", "LC"],
1298
+ ["590", "MAF", "MF"],
1299
+ ["508", "SPM", "PM"],
1300
+ ["1-784", "VCT", "VC"],
1301
+ ["685", "WSM", "WS"],
1302
+ ["378", "SMR", "SM"],
1303
+ ["239", "STP", "ST"],
1304
+ ["966", "SAU", "SA"],
1305
+ ["221", "SEN", "SN"],
1306
+ ["381", "SRB", "RS"],
1307
+ ["248", "SYC", "SC"],
1308
+ ["232", "SLE", "SL"],
1309
+ ["65", "SGP", "SG"],
1310
+ ["1-721", "SXM", "SX"],
1311
+ ["421", "SVK", "SK"],
1312
+ ["386", "SVN", "SI"],
1313
+ ["677", "SLB", "SB"],
1314
+ ["252", "SOM", "SO"],
1315
+ ["27", "ZAF", "ZA"],
1316
+ ["500", "SGS", "GS"],
1317
+ ["211", "SSD", "SS"],
1318
+ ["34", "ESP", "ES"],
1319
+ ["94", "LKA", "LK"],
1320
+ ["970", "PSE", "PS"],
1321
+ ["249", "SDN", "SD"],
1322
+ ["597", "SUR", "SR"],
1323
+ ["47", "SJM", "SJ"],
1324
+ ["46", "SWE", "SE"],
1325
+ ["41", "CHE", "CH"],
1326
+ ["963", "SYR", "SY"],
1327
+ ["992", "TJK", "TJ"],
1328
+ ["66", "THA", "TH"],
1329
+ ["389", "MKD", "MK"],
1330
+ ["670", "TLS", "TL"],
1331
+ ["228", "TGO", "TG"],
1332
+ ["690", "TKL", "TK"],
1333
+ ["676", "TON", "TO"],
1334
+ ["1-868", "TTO", "TT"],
1335
+ ["216", "TUN", "TN"],
1336
+ ["90", "TUR", "TR"],
1337
+ ["993", "TKM", "TM"],
1338
+ ["1-649", "TCA", "TC"],
1339
+ ["688", "TUV", "TV"],
1340
+ ["256", "UGA", "UG"],
1341
+ ["380", "UKR", "UA"],
1342
+ ["971", "ARE", "AE"],
1343
+ ["44", "GBR", "GB"],
1344
+ ["255", "TZA", "TZ"],
1345
+ ["1-340", "VIR", "VI"],
1346
+ ["1", "USA", "US"],
1347
+ ["598", "URY", "UY"],
1348
+ ["998", "UZB", "UZ"],
1349
+ ["678", "VUT", "VU"],
1350
+ ["58", "VEN", "VE"],
1351
+ ["84", "VNM", "VN"],
1352
+ ["681", "WLF", "WF"],
1353
+ ["212", "ESH", "EH"],
1354
+ ["967", "YEM", "YE"],
1355
+ ["260", "ZMB", "ZM"],
1356
+ ["263", "ZWE", "ZW"],
1357
+ ["358", "ALA", "AX"]
1358
+ ];
1108
1359
  var PLURAL_EXCEPTIONS = {
1109
1360
  photo: "photos",
1110
1361
  piano: "pianos",
@@ -2495,8 +2746,8 @@ function shift(list2) {
2495
2746
  }
2496
2747
 
2497
2748
  // src/lists/slice.ts
2498
- function slice(list2, start, end) {
2499
- return list2.slice(start, end);
2749
+ function slice(list2, start2, end) {
2750
+ return list2.slice(start2, end);
2500
2751
  }
2501
2752
 
2502
2753
  // src/lists/unique.ts
@@ -4255,7 +4506,7 @@ function isNull(value) {
4255
4506
  }
4256
4507
 
4257
4508
  // src/type-guards/isPhoneNumber.ts
4258
- function isPhoneNumber(val) {
4509
+ function maybePhoneNumber(val) {
4259
4510
  const svelte = String(val).trim();
4260
4511
  const chars = svelte.split("");
4261
4512
  const numeric = retainChars(svelte, ...NUMERIC_CHAR);
@@ -4271,6 +4522,36 @@ function isPhoneNumber(val) {
4271
4522
  ]);
4272
4523
  return chars.every((i) => valid2.includes(i)) && svelte.startsWith(`+`) ? numeric.length >= 8 : svelte.startsWith(`00`) ? numeric.length >= 10 : numeric.length >= 7 && nothing === "";
4273
4524
  }
4525
+ var start = PHONE_COUNTRY_CODES.map((i) => `+${i[0]} `);
4526
+ function hasCountryCode(val) {
4527
+ if (isString(val)) {
4528
+ return start.some((i) => val.trimStart().startsWith(i));
4529
+ }
4530
+ return false;
4531
+ }
4532
+ function isUsPhoneNumber(val) {
4533
+ if (isString(val)) {
4534
+ return maybePhoneNumber(val) && val.trimStart().startsWith(`+1 `);
4535
+ }
4536
+ return false;
4537
+ }
4538
+ function isPhoneNumber(val) {
4539
+ if (isString(val) && maybePhoneNumber(val) && [" ", "-", "."].some((i) => val.includes(i))) {
4540
+ const cc = getPhoneCountryCode(val);
4541
+ const without = cc === "" ? retainChars(val, ...NUMERIC_CHAR) : retainChars(val.trimStart().replace(`+${cc} `, ""), ...NUMERIC_CHAR);
4542
+ switch (cc) {
4543
+ case "1":
4544
+ return without.length === 10;
4545
+ case "44":
4546
+ return !![10, 11].includes(without.length);
4547
+ case "":
4548
+ return without.length <= 10;
4549
+ default:
4550
+ return without.length <= 11;
4551
+ }
4552
+ }
4553
+ return false;
4554
+ }
4274
4555
 
4275
4556
  // src/type-guards/isReadonlyArray.ts
4276
4557
  function isReadonlyArray(value) {
@@ -5353,6 +5634,7 @@ export {
5353
5634
  getYesterday,
5354
5635
  getYouTubePageType,
5355
5636
  handleDoneFn,
5637
+ hasCountryCode,
5356
5638
  hasDefaultValue,
5357
5639
  hasIndexOf,
5358
5640
  hasKeys,
@@ -5607,6 +5889,7 @@ export {
5607
5889
  isUrlPath,
5608
5890
  isUrlSource,
5609
5891
  isUsNewsUrl,
5892
+ isUsPhoneNumber,
5610
5893
  isUsStateAbbreviation,
5611
5894
  isUsStateName,
5612
5895
  isVariable,
@@ -5649,6 +5932,7 @@ export {
5649
5932
  lookupCountryCode,
5650
5933
  lookupCountryName,
5651
5934
  lowercase,
5935
+ maybePhoneNumber,
5652
5936
  mergeObjects,
5653
5937
  mergeScalars,
5654
5938
  mergeTuples,