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.
@@ -3693,6 +3693,257 @@ var NUMERIC_CHAR2 = [
3693
3693
  "8",
3694
3694
  "9"
3695
3695
  ];
3696
+ var PHONE_COUNTRY_CODES2 = [
3697
+ ["886", "TWN", "TW"],
3698
+ ["93", "AFG", "AF"],
3699
+ ["355", "ALB", "AL"],
3700
+ ["213", "DZA", "DZ"],
3701
+ ["1-684", "ASM", "AS"],
3702
+ ["376", "AND", "AD"],
3703
+ ["244", "AGO", "AO"],
3704
+ ["1-264", "AIA", "AI"],
3705
+ ["672", "ATA", "AQ"],
3706
+ ["1-268", "ATG", "AG"],
3707
+ ["54", "ARG", "AR"],
3708
+ ["374", "ARM", "AM"],
3709
+ ["297", "ABW", "AW"],
3710
+ ["61", "AUS", "AU"],
3711
+ ["43", "AUT", "AT"],
3712
+ ["994", "AZE", "AZ"],
3713
+ ["1-242", "BHS", "BS"],
3714
+ ["973", "BHR", "BH"],
3715
+ ["880", "BGD", "BD"],
3716
+ ["1-246", "BRB", "BB"],
3717
+ ["375", "BLR", "BY"],
3718
+ ["32", "BEL", "BE"],
3719
+ ["501", "BLZ", "BZ"],
3720
+ ["229", "BEN", "BJ"],
3721
+ ["1-441", "BMU", "BM"],
3722
+ ["975", "BTN", "BT"],
3723
+ ["591", "BOL", "BO"],
3724
+ ["599", "BES", "BQ"],
3725
+ ["387", "BIH", "BA"],
3726
+ ["267", "BWA", "BW"],
3727
+ ["47", "BVT", "BV"],
3728
+ ["55", "BRA", "BR"],
3729
+ ["246", "IOT", "IO"],
3730
+ ["1-284", "VGB", "VG"],
3731
+ ["673", "BRN", "BN"],
3732
+ ["359", "BGR", "BG"],
3733
+ ["226", "BFA", "BF"],
3734
+ ["257", "BDI", "BI"],
3735
+ ["238", "CPV", "CV"],
3736
+ ["855", "KHM", "KH"],
3737
+ ["237", "CMR", "CM"],
3738
+ ["1", "CAN", "CA"],
3739
+ ["1-345", "CYM", "KY"],
3740
+ ["236", "CAF", "CF"],
3741
+ ["235", "TCD", "TD"],
3742
+ ["56", "CHL", "CL"],
3743
+ ["86", "CHN", "CN"],
3744
+ ["852", "HKG", "HK"],
3745
+ ["853", "MAC", "MO"],
3746
+ ["61", "CXR", "CX"],
3747
+ ["61", "CCK", "CC"],
3748
+ ["57", "COL", "CO"],
3749
+ ["269", "COM", "KM"],
3750
+ ["242", "COG", "CG"],
3751
+ ["682", "COK", "CK"],
3752
+ ["506", "CRI", "CR"],
3753
+ ["385", "HRV", "HR"],
3754
+ ["53", "CUB", "CU"],
3755
+ ["599", "CUW", "CW"],
3756
+ ["357", "CYP", "CY"],
3757
+ ["420", "CZE", "CZ"],
3758
+ ["225", "CIV", "CI"],
3759
+ ["850", "PRK", "KP"],
3760
+ ["243", "COD", "CD"],
3761
+ ["45", "DNK", "DK"],
3762
+ ["253", "DJI", "DJ"],
3763
+ ["1-767", "DMA", "DM"],
3764
+ ["1-809", "DOM", "DO"],
3765
+ ["1-829", "DOM", "DO"],
3766
+ ["1-849", "DOM", "DO"],
3767
+ ["593", "ECU", "EC"],
3768
+ ["20", "EGY", "EG"],
3769
+ ["503", "SLV", "SV"],
3770
+ ["240", "GNQ", "GQ"],
3771
+ ["291", "ERI", "ER"],
3772
+ ["372", "EST", "EE"],
3773
+ ["268", "SWZ", "SZ"],
3774
+ ["251", "ETH", "ET"],
3775
+ ["500", "FLK", "FK"],
3776
+ ["298", "FRO", "FO"],
3777
+ ["679", "FJI", "FJ"],
3778
+ ["358", "FIN", "FI"],
3779
+ ["33", "FRA", "FR"],
3780
+ ["594", "GUF", "GF"],
3781
+ ["689", "PYF", "PF"],
3782
+ ["262", "ATF", "TF"],
3783
+ ["241", "GAB", "GA"],
3784
+ ["220", "GMB", "GM"],
3785
+ ["995", "GEO", "GE"],
3786
+ ["49", "DEU", "DE"],
3787
+ ["233", "GHA", "GH"],
3788
+ ["350", "GIB", "GI"],
3789
+ ["30", "GRC", "GR"],
3790
+ ["299", "GRL", "GL"],
3791
+ ["1-473", "GRD", "GD"],
3792
+ ["590", "GLP", "GP"],
3793
+ ["1-671", "GUM", "GU"],
3794
+ ["502", "GTM", "GT"],
3795
+ ["44", "GGY", "GG"],
3796
+ ["224", "GIN", "GN"],
3797
+ ["245", "GNB", "GW"],
3798
+ ["592", "GUY", "GY"],
3799
+ ["509", "HTI", "HT"],
3800
+ ["672", "HMD", "HM"],
3801
+ ["39-06", "VAT", "VA"],
3802
+ ["504", "HND", "HN"],
3803
+ ["36", "HUN", "HU"],
3804
+ ["354", "ISL", "IS"],
3805
+ ["91", "IND", "IN"],
3806
+ ["62", "IDN", "ID"],
3807
+ ["98", "IRN", "IR"],
3808
+ ["964", "IRQ", "IQ"],
3809
+ ["353", "IRL", "IE"],
3810
+ ["44", "IMN", "IM"],
3811
+ ["972", "ISR", "IL"],
3812
+ ["39", "ITA", "IT"],
3813
+ ["1-876", "JAM", "JM"],
3814
+ ["81", "JPN", "JP"],
3815
+ ["44", "JEY", "JE"],
3816
+ ["962", "JOR", "JO"],
3817
+ ["7", "KAZ", "KZ"],
3818
+ ["254", "KEN", "KE"],
3819
+ ["686", "KIR", "KI"],
3820
+ ["965", "KWT", "KW"],
3821
+ ["996", "KGZ", "KG"],
3822
+ ["856", "LAO", "LA"],
3823
+ ["371", "LVA", "LV"],
3824
+ ["961", "LBN", "LB"],
3825
+ ["266", "LSO", "LS"],
3826
+ ["231", "LBR", "LR"],
3827
+ ["218", "LBY", "LY"],
3828
+ ["423", "LIE", "LI"],
3829
+ ["370", "LTU", "LT"],
3830
+ ["352", "LUX", "LU"],
3831
+ ["261", "MDG", "MG"],
3832
+ ["265", "MWI", "MW"],
3833
+ ["60", "MYS", "MY"],
3834
+ ["960", "MDV", "MV"],
3835
+ ["223", "MLI", "ML"],
3836
+ ["356", "MLT", "MT"],
3837
+ ["692", "MHL", "MH"],
3838
+ ["596", "MTQ", "MQ"],
3839
+ ["222", "MRT", "MR"],
3840
+ ["230", "MUS", "MU"],
3841
+ ["262", "MYT", "YT"],
3842
+ ["52", "MEX", "MX"],
3843
+ ["691", "FSM", "FM"],
3844
+ ["377", "MCO", "MC"],
3845
+ ["976", "MNG", "MN"],
3846
+ ["382", "MNE", "ME"],
3847
+ ["1-664", "MSR", "MS"],
3848
+ ["212", "MAR", "MA"],
3849
+ ["258", "MOZ", "MZ"],
3850
+ ["95", "MMR", "MM"],
3851
+ ["264", "NAM", "NA"],
3852
+ ["674", "NRU", "NR"],
3853
+ ["977", "NPL", "NP"],
3854
+ ["31", "NLD", "NL"],
3855
+ ["687", "NCL", "NC"],
3856
+ ["64", "NZL", "NZ"],
3857
+ ["505", "NIC", "NI"],
3858
+ ["227", "NER", "NE"],
3859
+ ["234", "NGA", "NG"],
3860
+ ["683", "NIU", "NU"],
3861
+ ["672", "NFK", "NF"],
3862
+ ["1-670", "MNP", "MP"],
3863
+ ["47", "NOR", "NO"],
3864
+ ["968", "OMN", "OM"],
3865
+ ["92", "PAK", "PK"],
3866
+ ["680", "PLW", "PW"],
3867
+ ["507", "PAN", "PA"],
3868
+ ["675", "PNG", "PG"],
3869
+ ["595", "PRY", "PY"],
3870
+ ["51", "PER", "PE"],
3871
+ ["63", "PHL", "PH"],
3872
+ ["870", "PCN", "PN"],
3873
+ ["48", "POL", "PL"],
3874
+ ["351", "PRT", "PT"],
3875
+ ["974", "QAT", "QA"],
3876
+ ["82", "KOR", "KR"],
3877
+ ["373", "MDA", "MD"],
3878
+ ["40", "ROU", "RO"],
3879
+ ["7", "RUS", "RU"],
3880
+ ["250", "RWA", "RW"],
3881
+ ["262", "REU", "RE"],
3882
+ ["590", "BLM", "BL"],
3883
+ ["290", "SHN", "SH"],
3884
+ ["1-869", "KNA", "KN"],
3885
+ ["1-758", "LCA", "LC"],
3886
+ ["590", "MAF", "MF"],
3887
+ ["508", "SPM", "PM"],
3888
+ ["1-784", "VCT", "VC"],
3889
+ ["685", "WSM", "WS"],
3890
+ ["378", "SMR", "SM"],
3891
+ ["239", "STP", "ST"],
3892
+ ["966", "SAU", "SA"],
3893
+ ["221", "SEN", "SN"],
3894
+ ["381", "SRB", "RS"],
3895
+ ["248", "SYC", "SC"],
3896
+ ["232", "SLE", "SL"],
3897
+ ["65", "SGP", "SG"],
3898
+ ["1-721", "SXM", "SX"],
3899
+ ["421", "SVK", "SK"],
3900
+ ["386", "SVN", "SI"],
3901
+ ["677", "SLB", "SB"],
3902
+ ["252", "SOM", "SO"],
3903
+ ["27", "ZAF", "ZA"],
3904
+ ["500", "SGS", "GS"],
3905
+ ["211", "SSD", "SS"],
3906
+ ["34", "ESP", "ES"],
3907
+ ["94", "LKA", "LK"],
3908
+ ["970", "PSE", "PS"],
3909
+ ["249", "SDN", "SD"],
3910
+ ["597", "SUR", "SR"],
3911
+ ["47", "SJM", "SJ"],
3912
+ ["46", "SWE", "SE"],
3913
+ ["41", "CHE", "CH"],
3914
+ ["963", "SYR", "SY"],
3915
+ ["992", "TJK", "TJ"],
3916
+ ["66", "THA", "TH"],
3917
+ ["389", "MKD", "MK"],
3918
+ ["670", "TLS", "TL"],
3919
+ ["228", "TGO", "TG"],
3920
+ ["690", "TKL", "TK"],
3921
+ ["676", "TON", "TO"],
3922
+ ["1-868", "TTO", "TT"],
3923
+ ["216", "TUN", "TN"],
3924
+ ["90", "TUR", "TR"],
3925
+ ["993", "TKM", "TM"],
3926
+ ["1-649", "TCA", "TC"],
3927
+ ["688", "TUV", "TV"],
3928
+ ["256", "UGA", "UG"],
3929
+ ["380", "UKR", "UA"],
3930
+ ["971", "ARE", "AE"],
3931
+ ["44", "GBR", "GB"],
3932
+ ["255", "TZA", "TZ"],
3933
+ ["1-340", "VIR", "VI"],
3934
+ ["1", "USA", "US"],
3935
+ ["598", "URY", "UY"],
3936
+ ["998", "UZB", "UZ"],
3937
+ ["678", "VUT", "VU"],
3938
+ ["58", "VEN", "VE"],
3939
+ ["84", "VNM", "VN"],
3940
+ ["681", "WLF", "WF"],
3941
+ ["212", "ESH", "EH"],
3942
+ ["967", "YEM", "YE"],
3943
+ ["260", "ZMB", "ZM"],
3944
+ ["263", "ZWE", "ZW"],
3945
+ ["358", "ALA", "AX"]
3946
+ ];
3696
3947
  var PLURAL_EXCEPTIONS2 = {
3697
3948
  photo: "photos",
3698
3949
  piano: "pianos",
@@ -4949,8 +5200,8 @@ function shift(list2) {
4949
5200
  }
4950
5201
  return rtn;
4951
5202
  }
4952
- function slice(list2, start, end) {
4953
- return list2.slice(start, end);
5203
+ function slice(list2, start2, end) {
5204
+ return list2.slice(start2, end);
4954
5205
  }
4955
5206
  function unique(...values) {
4956
5207
  const u = [];
@@ -6213,6 +6464,25 @@ function isYesterday(test) {
6213
6464
  }
6214
6465
  return false;
6215
6466
  }
6467
+ function isVisaMastercard(val) {
6468
+ if (isString(val)) {
6469
+ const parts = val.split(" ");
6470
+ return parts.length === 4 && parts.every((i) => isNumberLike(i) && i.length === 4);
6471
+ }
6472
+ return false;
6473
+ }
6474
+ function isAmericanExpress(val) {
6475
+ if (isString(val)) {
6476
+ const parts = val.split(" ");
6477
+ return parts.length === 3 && parts.every(
6478
+ (i) => isNumberLike(i) && parts[0].length === 4 && parts[1].length === 6
6479
+ );
6480
+ }
6481
+ return false;
6482
+ }
6483
+ function isCreditCard(val) {
6484
+ return isVisaMastercard(val) || isAmericanExpress(val);
6485
+ }
6216
6486
  function isString(value) {
6217
6487
  return typeof value === "string";
6218
6488
  }
@@ -6429,7 +6699,7 @@ function isNotNull(value) {
6429
6699
  function isNull(value) {
6430
6700
  return value === null;
6431
6701
  }
6432
- function isPhoneNumber(val) {
6702
+ function maybePhoneNumber(val) {
6433
6703
  const svelte = String(val).trim();
6434
6704
  const chars = svelte.split("");
6435
6705
  const numeric = retainChars(svelte, ...NUMERIC_CHAR2);
@@ -6445,6 +6715,36 @@ function isPhoneNumber(val) {
6445
6715
  ]);
6446
6716
  return chars.every((i) => valid2.includes(i)) && svelte.startsWith(`+`) ? numeric.length >= 8 : svelte.startsWith(`00`) ? numeric.length >= 10 : numeric.length >= 7 && nothing === "";
6447
6717
  }
6718
+ var start = PHONE_COUNTRY_CODES2.map((i) => `+${i[0]} `);
6719
+ function hasCountryCode(val) {
6720
+ if (isString(val)) {
6721
+ return start.some((i) => val.trimStart().startsWith(i));
6722
+ }
6723
+ return false;
6724
+ }
6725
+ function isUsPhoneNumber(val) {
6726
+ if (isString(val)) {
6727
+ return maybePhoneNumber(val) && val.trimStart().startsWith(`+1 `);
6728
+ }
6729
+ return false;
6730
+ }
6731
+ function isPhoneNumber(val) {
6732
+ if (isString(val) && maybePhoneNumber(val) && [" ", "-", "."].some((i) => val.includes(i))) {
6733
+ const cc = getPhoneCountryCode(val);
6734
+ const without = cc === "" ? retainChars(val, ...NUMERIC_CHAR2) : retainChars(val.trimStart().replace(`+${cc} `, ""), ...NUMERIC_CHAR2);
6735
+ switch (cc) {
6736
+ case "1":
6737
+ return without.length === 10;
6738
+ case "44":
6739
+ return !![10, 11].includes(without.length);
6740
+ case "":
6741
+ return without.length <= 10;
6742
+ default:
6743
+ return without.length <= 11;
6744
+ }
6745
+ }
6746
+ return false;
6747
+ }
6448
6748
  function isReadonlyArray(value) {
6449
6749
  return Array.isArray(value) === true;
6450
6750
  }
@@ -7754,6 +8054,7 @@ export {
7754
8054
  getYesterday,
7755
8055
  getYouTubePageType,
7756
8056
  handleDoneFn,
8057
+ hasCountryCode,
7757
8058
  hasDefaultValue,
7758
8059
  hasIndexOf,
7759
8060
  hasKeys,
@@ -7797,6 +8098,7 @@ export {
7797
8098
  isAccelerationUom,
7798
8099
  isAlpha,
7799
8100
  isAmazonUrl,
8101
+ isAmericanExpress,
7800
8102
  isApi,
7801
8103
  isApiSurface,
7802
8104
  isAppleUrl,
@@ -7824,6 +8126,7 @@ export {
7824
8126
  isCountryCode2,
7825
8127
  isCountryCode3,
7826
8128
  isCountryName,
8129
+ isCreditCard,
7827
8130
  isCssAspectRatio,
7828
8131
  isCsv,
7829
8132
  isCurrentMetric,
@@ -8008,9 +8311,11 @@ export {
8008
8311
  isUrlPath,
8009
8312
  isUrlSource,
8010
8313
  isUsNewsUrl,
8314
+ isUsPhoneNumber,
8011
8315
  isUsStateAbbreviation,
8012
8316
  isUsStateName,
8013
8317
  isVariable,
8318
+ isVisaMastercard,
8014
8319
  isVoltageMetric,
8015
8320
  isVoltageUom,
8016
8321
  isVolumeMetric,
@@ -8050,6 +8355,7 @@ export {
8050
8355
  lookupCountryCode,
8051
8356
  lookupCountryName,
8052
8357
  lowercase,
8358
+ maybePhoneNumber,
8053
8359
  mergeObjects,
8054
8360
  mergeScalars,
8055
8361
  mergeTuples,