inferred-types 0.55.3 → 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[];
@@ -13678,17 +13784,18 @@ declare function optionalOrNull<T extends Narrowable>(value: T): T | null | unde
13678
13784
  declare function stripParenthesis<T extends string>(val: T): Trim<StripSurround<Trim<T>, "(" | ")">>;
13679
13785
 
13680
13786
  type PushTop<TNatural extends readonly string[], TTop extends readonly string[]> = [
13681
- ...Reverse<TTop>,
13787
+ ...TTop,
13682
13788
  ...Filter<TNatural, TTop[number]>
13683
13789
  ];
13684
13790
  type PushBottom<TNatural extends readonly string[], TBot extends readonly string[]> = [
13685
13791
  ...Filter<TNatural, TBot[number]>,
13686
13792
  ...TBot
13687
13793
  ];
13794
+ type Always<O> = O extends readonly string[] ? readonly (O[number] & string)[] : readonly string[];
13688
13795
  interface SortApi<O extends readonly string[]> {
13689
13796
  order: O;
13690
- toTop: <TTop extends readonly (O[number] & string)[]>(...keys: TTop) => SortApi<PushTop<O, TTop>>;
13691
- toBottom: <TBot extends readonly (O[number] & string)[]>(...keys: TBot) => SortApi<PushBottom<O, TBot>>;
13797
+ toTop: <TTop extends Always<O>>(...keys: TTop) => SortApi<PushTop<O, TTop>>;
13798
+ toBottom: <TBot extends Always<O>>(...keys: TBot) => SortApi<PushBottom<O, TBot>>;
13692
13799
  done: () => O;
13693
13800
  }
13694
13801
  type ToKeyValueSort<O extends readonly string[]> = <TCb extends SortApi<O>>(cb: TCb) => unknown;
@@ -14360,7 +14467,7 @@ declare function isObject(value: unknown): value is Dictionary;
14360
14467
  declare function isNarrowableObject(value: unknown): value is Dictionary<ObjectKey, Narrowable>;
14361
14468
 
14362
14469
  /**
14363
- * **isPhoneNumber**`(val)`
14470
+ * **maybePhoneNumber**`(val)`
14364
14471
  *
14365
14472
  * Type guard which validates that a string is in the shape of a phone
14366
14473
  * number.
@@ -14369,9 +14476,26 @@ declare function isNarrowableObject(value: unknown): value is Dictionary<ObjectK
14369
14476
  * - at least 7 numeric characters, 8 if `+` character used
14370
14477
  * - leading character (after whitespace) must be numeric, `(` or `+`
14371
14478
  *
14372
- * **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`
14373
14497
  */
14374
- declare function isPhoneNumber(val: unknown): boolean;
14498
+ declare function isPhoneNumber(val: unknown): val is PhoneNumber;
14375
14499
 
14376
14500
  /**
14377
14501
  * **isReadonlyArray**(value)
@@ -15333,4 +15457,4 @@ declare function isVueRef(val: unknown): val is VueRef;
15333
15457
  */
15334
15458
  declare function asVueRef<T extends Narrowable>(value: T): VueRef<T>;
15335
15459
 
15336
- 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 SortApi, 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) {
@@ -5209,7 +5490,7 @@ function sortKeyApi(order) {
5209
5490
  order,
5210
5491
  toTop: (...keys) => sortKeyApi(
5211
5492
  [
5212
- ...keys.toReversed(),
5493
+ ...keys,
5213
5494
  ...order.filter((i) => !keys.includes(i))
5214
5495
  ]
5215
5496
  ),
@@ -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,