inferred-types 0.55.4 → 0.55.6

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.
@@ -94,6 +94,7 @@ __export(index_exports, {
94
94
  getYesterday: () => getYesterday,
95
95
  getYouTubePageType: () => getYouTubePageType,
96
96
  handleDoneFn: () => handleDoneFn,
97
+ hasCountryCode: () => hasCountryCode,
97
98
  hasDefaultValue: () => hasDefaultValue,
98
99
  hasIndexOf: () => hasIndexOf,
99
100
  hasKeys: () => hasKeys,
@@ -137,6 +138,7 @@ __export(index_exports, {
137
138
  isAccelerationUom: () => isAccelerationUom,
138
139
  isAlpha: () => isAlpha,
139
140
  isAmazonUrl: () => isAmazonUrl,
141
+ isAmericanExpress: () => isAmericanExpress,
140
142
  isApi: () => isApi,
141
143
  isApiSurface: () => isApiSurface,
142
144
  isAppleUrl: () => isAppleUrl,
@@ -164,6 +166,7 @@ __export(index_exports, {
164
166
  isCountryCode2: () => isCountryCode2,
165
167
  isCountryCode3: () => isCountryCode3,
166
168
  isCountryName: () => isCountryName,
169
+ isCreditCard: () => isCreditCard,
167
170
  isCssAspectRatio: () => isCssAspectRatio,
168
171
  isCsv: () => isCsv,
169
172
  isCurrentMetric: () => isCurrentMetric,
@@ -348,9 +351,11 @@ __export(index_exports, {
348
351
  isUrlPath: () => isUrlPath,
349
352
  isUrlSource: () => isUrlSource,
350
353
  isUsNewsUrl: () => isUsNewsUrl,
354
+ isUsPhoneNumber: () => isUsPhoneNumber,
351
355
  isUsStateAbbreviation: () => isUsStateAbbreviation,
352
356
  isUsStateName: () => isUsStateName,
353
357
  isVariable: () => isVariable,
358
+ isVisaMastercard: () => isVisaMastercard,
354
359
  isVoltageMetric: () => isVoltageMetric,
355
360
  isVoltageUom: () => isVoltageUom,
356
361
  isVolumeMetric: () => isVolumeMetric,
@@ -390,6 +395,7 @@ __export(index_exports, {
390
395
  lookupCountryCode: () => lookupCountryCode,
391
396
  lookupCountryName: () => lookupCountryName,
392
397
  lowercase: () => lowercase,
398
+ maybePhoneNumber: () => maybePhoneNumber,
393
399
  mergeObjects: () => mergeObjects,
394
400
  mergeScalars: () => mergeScalars,
395
401
  mergeTuples: () => mergeTuples,
@@ -1593,6 +1599,257 @@ var NUMERIC_CHAR = [
1593
1599
  "8",
1594
1600
  "9"
1595
1601
  ];
1602
+ var PHONE_COUNTRY_CODES = [
1603
+ ["886", "TWN", "TW"],
1604
+ ["93", "AFG", "AF"],
1605
+ ["355", "ALB", "AL"],
1606
+ ["213", "DZA", "DZ"],
1607
+ ["1-684", "ASM", "AS"],
1608
+ ["376", "AND", "AD"],
1609
+ ["244", "AGO", "AO"],
1610
+ ["1-264", "AIA", "AI"],
1611
+ ["672", "ATA", "AQ"],
1612
+ ["1-268", "ATG", "AG"],
1613
+ ["54", "ARG", "AR"],
1614
+ ["374", "ARM", "AM"],
1615
+ ["297", "ABW", "AW"],
1616
+ ["61", "AUS", "AU"],
1617
+ ["43", "AUT", "AT"],
1618
+ ["994", "AZE", "AZ"],
1619
+ ["1-242", "BHS", "BS"],
1620
+ ["973", "BHR", "BH"],
1621
+ ["880", "BGD", "BD"],
1622
+ ["1-246", "BRB", "BB"],
1623
+ ["375", "BLR", "BY"],
1624
+ ["32", "BEL", "BE"],
1625
+ ["501", "BLZ", "BZ"],
1626
+ ["229", "BEN", "BJ"],
1627
+ ["1-441", "BMU", "BM"],
1628
+ ["975", "BTN", "BT"],
1629
+ ["591", "BOL", "BO"],
1630
+ ["599", "BES", "BQ"],
1631
+ ["387", "BIH", "BA"],
1632
+ ["267", "BWA", "BW"],
1633
+ ["47", "BVT", "BV"],
1634
+ ["55", "BRA", "BR"],
1635
+ ["246", "IOT", "IO"],
1636
+ ["1-284", "VGB", "VG"],
1637
+ ["673", "BRN", "BN"],
1638
+ ["359", "BGR", "BG"],
1639
+ ["226", "BFA", "BF"],
1640
+ ["257", "BDI", "BI"],
1641
+ ["238", "CPV", "CV"],
1642
+ ["855", "KHM", "KH"],
1643
+ ["237", "CMR", "CM"],
1644
+ ["1", "CAN", "CA"],
1645
+ ["1-345", "CYM", "KY"],
1646
+ ["236", "CAF", "CF"],
1647
+ ["235", "TCD", "TD"],
1648
+ ["56", "CHL", "CL"],
1649
+ ["86", "CHN", "CN"],
1650
+ ["852", "HKG", "HK"],
1651
+ ["853", "MAC", "MO"],
1652
+ ["61", "CXR", "CX"],
1653
+ ["61", "CCK", "CC"],
1654
+ ["57", "COL", "CO"],
1655
+ ["269", "COM", "KM"],
1656
+ ["242", "COG", "CG"],
1657
+ ["682", "COK", "CK"],
1658
+ ["506", "CRI", "CR"],
1659
+ ["385", "HRV", "HR"],
1660
+ ["53", "CUB", "CU"],
1661
+ ["599", "CUW", "CW"],
1662
+ ["357", "CYP", "CY"],
1663
+ ["420", "CZE", "CZ"],
1664
+ ["225", "CIV", "CI"],
1665
+ ["850", "PRK", "KP"],
1666
+ ["243", "COD", "CD"],
1667
+ ["45", "DNK", "DK"],
1668
+ ["253", "DJI", "DJ"],
1669
+ ["1-767", "DMA", "DM"],
1670
+ ["1-809", "DOM", "DO"],
1671
+ ["1-829", "DOM", "DO"],
1672
+ ["1-849", "DOM", "DO"],
1673
+ ["593", "ECU", "EC"],
1674
+ ["20", "EGY", "EG"],
1675
+ ["503", "SLV", "SV"],
1676
+ ["240", "GNQ", "GQ"],
1677
+ ["291", "ERI", "ER"],
1678
+ ["372", "EST", "EE"],
1679
+ ["268", "SWZ", "SZ"],
1680
+ ["251", "ETH", "ET"],
1681
+ ["500", "FLK", "FK"],
1682
+ ["298", "FRO", "FO"],
1683
+ ["679", "FJI", "FJ"],
1684
+ ["358", "FIN", "FI"],
1685
+ ["33", "FRA", "FR"],
1686
+ ["594", "GUF", "GF"],
1687
+ ["689", "PYF", "PF"],
1688
+ ["262", "ATF", "TF"],
1689
+ ["241", "GAB", "GA"],
1690
+ ["220", "GMB", "GM"],
1691
+ ["995", "GEO", "GE"],
1692
+ ["49", "DEU", "DE"],
1693
+ ["233", "GHA", "GH"],
1694
+ ["350", "GIB", "GI"],
1695
+ ["30", "GRC", "GR"],
1696
+ ["299", "GRL", "GL"],
1697
+ ["1-473", "GRD", "GD"],
1698
+ ["590", "GLP", "GP"],
1699
+ ["1-671", "GUM", "GU"],
1700
+ ["502", "GTM", "GT"],
1701
+ ["44", "GGY", "GG"],
1702
+ ["224", "GIN", "GN"],
1703
+ ["245", "GNB", "GW"],
1704
+ ["592", "GUY", "GY"],
1705
+ ["509", "HTI", "HT"],
1706
+ ["672", "HMD", "HM"],
1707
+ ["39-06", "VAT", "VA"],
1708
+ ["504", "HND", "HN"],
1709
+ ["36", "HUN", "HU"],
1710
+ ["354", "ISL", "IS"],
1711
+ ["91", "IND", "IN"],
1712
+ ["62", "IDN", "ID"],
1713
+ ["98", "IRN", "IR"],
1714
+ ["964", "IRQ", "IQ"],
1715
+ ["353", "IRL", "IE"],
1716
+ ["44", "IMN", "IM"],
1717
+ ["972", "ISR", "IL"],
1718
+ ["39", "ITA", "IT"],
1719
+ ["1-876", "JAM", "JM"],
1720
+ ["81", "JPN", "JP"],
1721
+ ["44", "JEY", "JE"],
1722
+ ["962", "JOR", "JO"],
1723
+ ["7", "KAZ", "KZ"],
1724
+ ["254", "KEN", "KE"],
1725
+ ["686", "KIR", "KI"],
1726
+ ["965", "KWT", "KW"],
1727
+ ["996", "KGZ", "KG"],
1728
+ ["856", "LAO", "LA"],
1729
+ ["371", "LVA", "LV"],
1730
+ ["961", "LBN", "LB"],
1731
+ ["266", "LSO", "LS"],
1732
+ ["231", "LBR", "LR"],
1733
+ ["218", "LBY", "LY"],
1734
+ ["423", "LIE", "LI"],
1735
+ ["370", "LTU", "LT"],
1736
+ ["352", "LUX", "LU"],
1737
+ ["261", "MDG", "MG"],
1738
+ ["265", "MWI", "MW"],
1739
+ ["60", "MYS", "MY"],
1740
+ ["960", "MDV", "MV"],
1741
+ ["223", "MLI", "ML"],
1742
+ ["356", "MLT", "MT"],
1743
+ ["692", "MHL", "MH"],
1744
+ ["596", "MTQ", "MQ"],
1745
+ ["222", "MRT", "MR"],
1746
+ ["230", "MUS", "MU"],
1747
+ ["262", "MYT", "YT"],
1748
+ ["52", "MEX", "MX"],
1749
+ ["691", "FSM", "FM"],
1750
+ ["377", "MCO", "MC"],
1751
+ ["976", "MNG", "MN"],
1752
+ ["382", "MNE", "ME"],
1753
+ ["1-664", "MSR", "MS"],
1754
+ ["212", "MAR", "MA"],
1755
+ ["258", "MOZ", "MZ"],
1756
+ ["95", "MMR", "MM"],
1757
+ ["264", "NAM", "NA"],
1758
+ ["674", "NRU", "NR"],
1759
+ ["977", "NPL", "NP"],
1760
+ ["31", "NLD", "NL"],
1761
+ ["687", "NCL", "NC"],
1762
+ ["64", "NZL", "NZ"],
1763
+ ["505", "NIC", "NI"],
1764
+ ["227", "NER", "NE"],
1765
+ ["234", "NGA", "NG"],
1766
+ ["683", "NIU", "NU"],
1767
+ ["672", "NFK", "NF"],
1768
+ ["1-670", "MNP", "MP"],
1769
+ ["47", "NOR", "NO"],
1770
+ ["968", "OMN", "OM"],
1771
+ ["92", "PAK", "PK"],
1772
+ ["680", "PLW", "PW"],
1773
+ ["507", "PAN", "PA"],
1774
+ ["675", "PNG", "PG"],
1775
+ ["595", "PRY", "PY"],
1776
+ ["51", "PER", "PE"],
1777
+ ["63", "PHL", "PH"],
1778
+ ["870", "PCN", "PN"],
1779
+ ["48", "POL", "PL"],
1780
+ ["351", "PRT", "PT"],
1781
+ ["974", "QAT", "QA"],
1782
+ ["82", "KOR", "KR"],
1783
+ ["373", "MDA", "MD"],
1784
+ ["40", "ROU", "RO"],
1785
+ ["7", "RUS", "RU"],
1786
+ ["250", "RWA", "RW"],
1787
+ ["262", "REU", "RE"],
1788
+ ["590", "BLM", "BL"],
1789
+ ["290", "SHN", "SH"],
1790
+ ["1-869", "KNA", "KN"],
1791
+ ["1-758", "LCA", "LC"],
1792
+ ["590", "MAF", "MF"],
1793
+ ["508", "SPM", "PM"],
1794
+ ["1-784", "VCT", "VC"],
1795
+ ["685", "WSM", "WS"],
1796
+ ["378", "SMR", "SM"],
1797
+ ["239", "STP", "ST"],
1798
+ ["966", "SAU", "SA"],
1799
+ ["221", "SEN", "SN"],
1800
+ ["381", "SRB", "RS"],
1801
+ ["248", "SYC", "SC"],
1802
+ ["232", "SLE", "SL"],
1803
+ ["65", "SGP", "SG"],
1804
+ ["1-721", "SXM", "SX"],
1805
+ ["421", "SVK", "SK"],
1806
+ ["386", "SVN", "SI"],
1807
+ ["677", "SLB", "SB"],
1808
+ ["252", "SOM", "SO"],
1809
+ ["27", "ZAF", "ZA"],
1810
+ ["500", "SGS", "GS"],
1811
+ ["211", "SSD", "SS"],
1812
+ ["34", "ESP", "ES"],
1813
+ ["94", "LKA", "LK"],
1814
+ ["970", "PSE", "PS"],
1815
+ ["249", "SDN", "SD"],
1816
+ ["597", "SUR", "SR"],
1817
+ ["47", "SJM", "SJ"],
1818
+ ["46", "SWE", "SE"],
1819
+ ["41", "CHE", "CH"],
1820
+ ["963", "SYR", "SY"],
1821
+ ["992", "TJK", "TJ"],
1822
+ ["66", "THA", "TH"],
1823
+ ["389", "MKD", "MK"],
1824
+ ["670", "TLS", "TL"],
1825
+ ["228", "TGO", "TG"],
1826
+ ["690", "TKL", "TK"],
1827
+ ["676", "TON", "TO"],
1828
+ ["1-868", "TTO", "TT"],
1829
+ ["216", "TUN", "TN"],
1830
+ ["90", "TUR", "TR"],
1831
+ ["993", "TKM", "TM"],
1832
+ ["1-649", "TCA", "TC"],
1833
+ ["688", "TUV", "TV"],
1834
+ ["256", "UGA", "UG"],
1835
+ ["380", "UKR", "UA"],
1836
+ ["971", "ARE", "AE"],
1837
+ ["44", "GBR", "GB"],
1838
+ ["255", "TZA", "TZ"],
1839
+ ["1-340", "VIR", "VI"],
1840
+ ["1", "USA", "US"],
1841
+ ["598", "URY", "UY"],
1842
+ ["998", "UZB", "UZ"],
1843
+ ["678", "VUT", "VU"],
1844
+ ["58", "VEN", "VE"],
1845
+ ["84", "VNM", "VN"],
1846
+ ["681", "WLF", "WF"],
1847
+ ["212", "ESH", "EH"],
1848
+ ["967", "YEM", "YE"],
1849
+ ["260", "ZMB", "ZM"],
1850
+ ["263", "ZWE", "ZW"],
1851
+ ["358", "ALA", "AX"]
1852
+ ];
1596
1853
  var PLURAL_EXCEPTIONS = {
1597
1854
  photo: "photos",
1598
1855
  piano: "pianos",
@@ -2983,8 +3240,8 @@ function shift(list2) {
2983
3240
  }
2984
3241
 
2985
3242
  // src/lists/slice.ts
2986
- function slice(list2, start, end) {
2987
- return list2.slice(start, end);
3243
+ function slice(list2, start2, end) {
3244
+ return list2.slice(start2, end);
2988
3245
  }
2989
3246
 
2990
3247
  // src/lists/unique.ts
@@ -4440,6 +4697,27 @@ function isYesterday(test) {
4440
4697
  return false;
4441
4698
  }
4442
4699
 
4700
+ // src/type-guards/finance/CreditCards.ts
4701
+ function isVisaMastercard(val) {
4702
+ if (isString(val)) {
4703
+ const parts = val.split(" ");
4704
+ return parts.length === 4 && parts.every((i) => isNumberLike(i) && i.length === 4);
4705
+ }
4706
+ return false;
4707
+ }
4708
+ function isAmericanExpress(val) {
4709
+ if (isString(val)) {
4710
+ const parts = val.split(" ");
4711
+ return parts.length === 3 && parts.every(
4712
+ (i) => isNumberLike(i) && parts[0].length === 4 && parts[1].length === 6
4713
+ );
4714
+ }
4715
+ return false;
4716
+ }
4717
+ function isCreditCard(val) {
4718
+ return isVisaMastercard(val) || isAmericanExpress(val);
4719
+ }
4720
+
4443
4721
  // src/type-guards/isString.ts
4444
4722
  function isString(value) {
4445
4723
  return typeof value === "string";
@@ -4743,7 +5021,7 @@ function isNull(value) {
4743
5021
  }
4744
5022
 
4745
5023
  // src/type-guards/isPhoneNumber.ts
4746
- function isPhoneNumber(val) {
5024
+ function maybePhoneNumber(val) {
4747
5025
  const svelte = String(val).trim();
4748
5026
  const chars = svelte.split("");
4749
5027
  const numeric = retainChars(svelte, ...NUMERIC_CHAR);
@@ -4759,6 +5037,36 @@ function isPhoneNumber(val) {
4759
5037
  ]);
4760
5038
  return chars.every((i) => valid2.includes(i)) && svelte.startsWith(`+`) ? numeric.length >= 8 : svelte.startsWith(`00`) ? numeric.length >= 10 : numeric.length >= 7 && nothing === "";
4761
5039
  }
5040
+ var start = PHONE_COUNTRY_CODES.map((i) => `+${i[0]} `);
5041
+ function hasCountryCode(val) {
5042
+ if (isString(val)) {
5043
+ return start.some((i) => val.trimStart().startsWith(i));
5044
+ }
5045
+ return false;
5046
+ }
5047
+ function isUsPhoneNumber(val) {
5048
+ if (isString(val)) {
5049
+ return maybePhoneNumber(val) && val.trimStart().startsWith(`+1 `);
5050
+ }
5051
+ return false;
5052
+ }
5053
+ function isPhoneNumber(val) {
5054
+ if (isString(val) && maybePhoneNumber(val) && [" ", "-", "."].some((i) => val.includes(i))) {
5055
+ const cc = getPhoneCountryCode(val);
5056
+ const without = cc === "" ? retainChars(val, ...NUMERIC_CHAR) : retainChars(val.trimStart().replace(`+${cc} `, ""), ...NUMERIC_CHAR);
5057
+ switch (cc) {
5058
+ case "1":
5059
+ return without.length === 10;
5060
+ case "44":
5061
+ return !![10, 11].includes(without.length);
5062
+ case "":
5063
+ return without.length <= 10;
5064
+ default:
5065
+ return without.length <= 11;
5066
+ }
5067
+ }
5068
+ return false;
5069
+ }
4762
5070
 
4763
5071
  // src/type-guards/isReadonlyArray.ts
4764
5072
  function isReadonlyArray(value) {
@@ -5842,6 +6150,7 @@ function asVueRef(value) {
5842
6150
  getYesterday,
5843
6151
  getYouTubePageType,
5844
6152
  handleDoneFn,
6153
+ hasCountryCode,
5845
6154
  hasDefaultValue,
5846
6155
  hasIndexOf,
5847
6156
  hasKeys,
@@ -5885,6 +6194,7 @@ function asVueRef(value) {
5885
6194
  isAccelerationUom,
5886
6195
  isAlpha,
5887
6196
  isAmazonUrl,
6197
+ isAmericanExpress,
5888
6198
  isApi,
5889
6199
  isApiSurface,
5890
6200
  isAppleUrl,
@@ -5912,6 +6222,7 @@ function asVueRef(value) {
5912
6222
  isCountryCode2,
5913
6223
  isCountryCode3,
5914
6224
  isCountryName,
6225
+ isCreditCard,
5915
6226
  isCssAspectRatio,
5916
6227
  isCsv,
5917
6228
  isCurrentMetric,
@@ -6096,9 +6407,11 @@ function asVueRef(value) {
6096
6407
  isUrlPath,
6097
6408
  isUrlSource,
6098
6409
  isUsNewsUrl,
6410
+ isUsPhoneNumber,
6099
6411
  isUsStateAbbreviation,
6100
6412
  isUsStateName,
6101
6413
  isVariable,
6414
+ isVisaMastercard,
6102
6415
  isVoltageMetric,
6103
6416
  isVoltageUom,
6104
6417
  isVolumeMetric,
@@ -6138,6 +6451,7 @@ function asVueRef(value) {
6138
6451
  lookupCountryCode,
6139
6452
  lookupCountryName,
6140
6453
  lowercase,
6454
+ maybePhoneNumber,
6141
6455
  mergeObjects,
6142
6456
  mergeScalars,
6143
6457
  mergeTuples,