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.
@@ -296,6 +296,7 @@ __export(index_exports, {
296
296
  getYesterday: () => getYesterday,
297
297
  getYouTubePageType: () => getYouTubePageType,
298
298
  handleDoneFn: () => handleDoneFn,
299
+ hasCountryCode: () => hasCountryCode,
299
300
  hasDefaultValue: () => hasDefaultValue,
300
301
  hasIndexOf: () => hasIndexOf,
301
302
  hasKeys: () => hasKeys,
@@ -339,6 +340,7 @@ __export(index_exports, {
339
340
  isAccelerationUom: () => isAccelerationUom,
340
341
  isAlpha: () => isAlpha,
341
342
  isAmazonUrl: () => isAmazonUrl,
343
+ isAmericanExpress: () => isAmericanExpress,
342
344
  isApi: () => isApi,
343
345
  isApiSurface: () => isApiSurface,
344
346
  isAppleUrl: () => isAppleUrl,
@@ -366,6 +368,7 @@ __export(index_exports, {
366
368
  isCountryCode2: () => isCountryCode2,
367
369
  isCountryCode3: () => isCountryCode3,
368
370
  isCountryName: () => isCountryName,
371
+ isCreditCard: () => isCreditCard,
369
372
  isCssAspectRatio: () => isCssAspectRatio,
370
373
  isCsv: () => isCsv,
371
374
  isCurrentMetric: () => isCurrentMetric,
@@ -550,9 +553,11 @@ __export(index_exports, {
550
553
  isUrlPath: () => isUrlPath,
551
554
  isUrlSource: () => isUrlSource,
552
555
  isUsNewsUrl: () => isUsNewsUrl,
556
+ isUsPhoneNumber: () => isUsPhoneNumber,
553
557
  isUsStateAbbreviation: () => isUsStateAbbreviation,
554
558
  isUsStateName: () => isUsStateName,
555
559
  isVariable: () => isVariable,
560
+ isVisaMastercard: () => isVisaMastercard,
556
561
  isVoltageMetric: () => isVoltageMetric,
557
562
  isVoltageUom: () => isVoltageUom,
558
563
  isVolumeMetric: () => isVolumeMetric,
@@ -592,6 +597,7 @@ __export(index_exports, {
592
597
  lookupCountryCode: () => lookupCountryCode,
593
598
  lookupCountryName: () => lookupCountryName,
594
599
  lowercase: () => lowercase,
600
+ maybePhoneNumber: () => maybePhoneNumber,
595
601
  mergeObjects: () => mergeObjects,
596
602
  mergeScalars: () => mergeScalars,
597
603
  mergeTuples: () => mergeTuples,
@@ -4383,6 +4389,257 @@ var NUMERIC_CHAR2 = [
4383
4389
  "8",
4384
4390
  "9"
4385
4391
  ];
4392
+ var PHONE_COUNTRY_CODES2 = [
4393
+ ["886", "TWN", "TW"],
4394
+ ["93", "AFG", "AF"],
4395
+ ["355", "ALB", "AL"],
4396
+ ["213", "DZA", "DZ"],
4397
+ ["1-684", "ASM", "AS"],
4398
+ ["376", "AND", "AD"],
4399
+ ["244", "AGO", "AO"],
4400
+ ["1-264", "AIA", "AI"],
4401
+ ["672", "ATA", "AQ"],
4402
+ ["1-268", "ATG", "AG"],
4403
+ ["54", "ARG", "AR"],
4404
+ ["374", "ARM", "AM"],
4405
+ ["297", "ABW", "AW"],
4406
+ ["61", "AUS", "AU"],
4407
+ ["43", "AUT", "AT"],
4408
+ ["994", "AZE", "AZ"],
4409
+ ["1-242", "BHS", "BS"],
4410
+ ["973", "BHR", "BH"],
4411
+ ["880", "BGD", "BD"],
4412
+ ["1-246", "BRB", "BB"],
4413
+ ["375", "BLR", "BY"],
4414
+ ["32", "BEL", "BE"],
4415
+ ["501", "BLZ", "BZ"],
4416
+ ["229", "BEN", "BJ"],
4417
+ ["1-441", "BMU", "BM"],
4418
+ ["975", "BTN", "BT"],
4419
+ ["591", "BOL", "BO"],
4420
+ ["599", "BES", "BQ"],
4421
+ ["387", "BIH", "BA"],
4422
+ ["267", "BWA", "BW"],
4423
+ ["47", "BVT", "BV"],
4424
+ ["55", "BRA", "BR"],
4425
+ ["246", "IOT", "IO"],
4426
+ ["1-284", "VGB", "VG"],
4427
+ ["673", "BRN", "BN"],
4428
+ ["359", "BGR", "BG"],
4429
+ ["226", "BFA", "BF"],
4430
+ ["257", "BDI", "BI"],
4431
+ ["238", "CPV", "CV"],
4432
+ ["855", "KHM", "KH"],
4433
+ ["237", "CMR", "CM"],
4434
+ ["1", "CAN", "CA"],
4435
+ ["1-345", "CYM", "KY"],
4436
+ ["236", "CAF", "CF"],
4437
+ ["235", "TCD", "TD"],
4438
+ ["56", "CHL", "CL"],
4439
+ ["86", "CHN", "CN"],
4440
+ ["852", "HKG", "HK"],
4441
+ ["853", "MAC", "MO"],
4442
+ ["61", "CXR", "CX"],
4443
+ ["61", "CCK", "CC"],
4444
+ ["57", "COL", "CO"],
4445
+ ["269", "COM", "KM"],
4446
+ ["242", "COG", "CG"],
4447
+ ["682", "COK", "CK"],
4448
+ ["506", "CRI", "CR"],
4449
+ ["385", "HRV", "HR"],
4450
+ ["53", "CUB", "CU"],
4451
+ ["599", "CUW", "CW"],
4452
+ ["357", "CYP", "CY"],
4453
+ ["420", "CZE", "CZ"],
4454
+ ["225", "CIV", "CI"],
4455
+ ["850", "PRK", "KP"],
4456
+ ["243", "COD", "CD"],
4457
+ ["45", "DNK", "DK"],
4458
+ ["253", "DJI", "DJ"],
4459
+ ["1-767", "DMA", "DM"],
4460
+ ["1-809", "DOM", "DO"],
4461
+ ["1-829", "DOM", "DO"],
4462
+ ["1-849", "DOM", "DO"],
4463
+ ["593", "ECU", "EC"],
4464
+ ["20", "EGY", "EG"],
4465
+ ["503", "SLV", "SV"],
4466
+ ["240", "GNQ", "GQ"],
4467
+ ["291", "ERI", "ER"],
4468
+ ["372", "EST", "EE"],
4469
+ ["268", "SWZ", "SZ"],
4470
+ ["251", "ETH", "ET"],
4471
+ ["500", "FLK", "FK"],
4472
+ ["298", "FRO", "FO"],
4473
+ ["679", "FJI", "FJ"],
4474
+ ["358", "FIN", "FI"],
4475
+ ["33", "FRA", "FR"],
4476
+ ["594", "GUF", "GF"],
4477
+ ["689", "PYF", "PF"],
4478
+ ["262", "ATF", "TF"],
4479
+ ["241", "GAB", "GA"],
4480
+ ["220", "GMB", "GM"],
4481
+ ["995", "GEO", "GE"],
4482
+ ["49", "DEU", "DE"],
4483
+ ["233", "GHA", "GH"],
4484
+ ["350", "GIB", "GI"],
4485
+ ["30", "GRC", "GR"],
4486
+ ["299", "GRL", "GL"],
4487
+ ["1-473", "GRD", "GD"],
4488
+ ["590", "GLP", "GP"],
4489
+ ["1-671", "GUM", "GU"],
4490
+ ["502", "GTM", "GT"],
4491
+ ["44", "GGY", "GG"],
4492
+ ["224", "GIN", "GN"],
4493
+ ["245", "GNB", "GW"],
4494
+ ["592", "GUY", "GY"],
4495
+ ["509", "HTI", "HT"],
4496
+ ["672", "HMD", "HM"],
4497
+ ["39-06", "VAT", "VA"],
4498
+ ["504", "HND", "HN"],
4499
+ ["36", "HUN", "HU"],
4500
+ ["354", "ISL", "IS"],
4501
+ ["91", "IND", "IN"],
4502
+ ["62", "IDN", "ID"],
4503
+ ["98", "IRN", "IR"],
4504
+ ["964", "IRQ", "IQ"],
4505
+ ["353", "IRL", "IE"],
4506
+ ["44", "IMN", "IM"],
4507
+ ["972", "ISR", "IL"],
4508
+ ["39", "ITA", "IT"],
4509
+ ["1-876", "JAM", "JM"],
4510
+ ["81", "JPN", "JP"],
4511
+ ["44", "JEY", "JE"],
4512
+ ["962", "JOR", "JO"],
4513
+ ["7", "KAZ", "KZ"],
4514
+ ["254", "KEN", "KE"],
4515
+ ["686", "KIR", "KI"],
4516
+ ["965", "KWT", "KW"],
4517
+ ["996", "KGZ", "KG"],
4518
+ ["856", "LAO", "LA"],
4519
+ ["371", "LVA", "LV"],
4520
+ ["961", "LBN", "LB"],
4521
+ ["266", "LSO", "LS"],
4522
+ ["231", "LBR", "LR"],
4523
+ ["218", "LBY", "LY"],
4524
+ ["423", "LIE", "LI"],
4525
+ ["370", "LTU", "LT"],
4526
+ ["352", "LUX", "LU"],
4527
+ ["261", "MDG", "MG"],
4528
+ ["265", "MWI", "MW"],
4529
+ ["60", "MYS", "MY"],
4530
+ ["960", "MDV", "MV"],
4531
+ ["223", "MLI", "ML"],
4532
+ ["356", "MLT", "MT"],
4533
+ ["692", "MHL", "MH"],
4534
+ ["596", "MTQ", "MQ"],
4535
+ ["222", "MRT", "MR"],
4536
+ ["230", "MUS", "MU"],
4537
+ ["262", "MYT", "YT"],
4538
+ ["52", "MEX", "MX"],
4539
+ ["691", "FSM", "FM"],
4540
+ ["377", "MCO", "MC"],
4541
+ ["976", "MNG", "MN"],
4542
+ ["382", "MNE", "ME"],
4543
+ ["1-664", "MSR", "MS"],
4544
+ ["212", "MAR", "MA"],
4545
+ ["258", "MOZ", "MZ"],
4546
+ ["95", "MMR", "MM"],
4547
+ ["264", "NAM", "NA"],
4548
+ ["674", "NRU", "NR"],
4549
+ ["977", "NPL", "NP"],
4550
+ ["31", "NLD", "NL"],
4551
+ ["687", "NCL", "NC"],
4552
+ ["64", "NZL", "NZ"],
4553
+ ["505", "NIC", "NI"],
4554
+ ["227", "NER", "NE"],
4555
+ ["234", "NGA", "NG"],
4556
+ ["683", "NIU", "NU"],
4557
+ ["672", "NFK", "NF"],
4558
+ ["1-670", "MNP", "MP"],
4559
+ ["47", "NOR", "NO"],
4560
+ ["968", "OMN", "OM"],
4561
+ ["92", "PAK", "PK"],
4562
+ ["680", "PLW", "PW"],
4563
+ ["507", "PAN", "PA"],
4564
+ ["675", "PNG", "PG"],
4565
+ ["595", "PRY", "PY"],
4566
+ ["51", "PER", "PE"],
4567
+ ["63", "PHL", "PH"],
4568
+ ["870", "PCN", "PN"],
4569
+ ["48", "POL", "PL"],
4570
+ ["351", "PRT", "PT"],
4571
+ ["974", "QAT", "QA"],
4572
+ ["82", "KOR", "KR"],
4573
+ ["373", "MDA", "MD"],
4574
+ ["40", "ROU", "RO"],
4575
+ ["7", "RUS", "RU"],
4576
+ ["250", "RWA", "RW"],
4577
+ ["262", "REU", "RE"],
4578
+ ["590", "BLM", "BL"],
4579
+ ["290", "SHN", "SH"],
4580
+ ["1-869", "KNA", "KN"],
4581
+ ["1-758", "LCA", "LC"],
4582
+ ["590", "MAF", "MF"],
4583
+ ["508", "SPM", "PM"],
4584
+ ["1-784", "VCT", "VC"],
4585
+ ["685", "WSM", "WS"],
4586
+ ["378", "SMR", "SM"],
4587
+ ["239", "STP", "ST"],
4588
+ ["966", "SAU", "SA"],
4589
+ ["221", "SEN", "SN"],
4590
+ ["381", "SRB", "RS"],
4591
+ ["248", "SYC", "SC"],
4592
+ ["232", "SLE", "SL"],
4593
+ ["65", "SGP", "SG"],
4594
+ ["1-721", "SXM", "SX"],
4595
+ ["421", "SVK", "SK"],
4596
+ ["386", "SVN", "SI"],
4597
+ ["677", "SLB", "SB"],
4598
+ ["252", "SOM", "SO"],
4599
+ ["27", "ZAF", "ZA"],
4600
+ ["500", "SGS", "GS"],
4601
+ ["211", "SSD", "SS"],
4602
+ ["34", "ESP", "ES"],
4603
+ ["94", "LKA", "LK"],
4604
+ ["970", "PSE", "PS"],
4605
+ ["249", "SDN", "SD"],
4606
+ ["597", "SUR", "SR"],
4607
+ ["47", "SJM", "SJ"],
4608
+ ["46", "SWE", "SE"],
4609
+ ["41", "CHE", "CH"],
4610
+ ["963", "SYR", "SY"],
4611
+ ["992", "TJK", "TJ"],
4612
+ ["66", "THA", "TH"],
4613
+ ["389", "MKD", "MK"],
4614
+ ["670", "TLS", "TL"],
4615
+ ["228", "TGO", "TG"],
4616
+ ["690", "TKL", "TK"],
4617
+ ["676", "TON", "TO"],
4618
+ ["1-868", "TTO", "TT"],
4619
+ ["216", "TUN", "TN"],
4620
+ ["90", "TUR", "TR"],
4621
+ ["993", "TKM", "TM"],
4622
+ ["1-649", "TCA", "TC"],
4623
+ ["688", "TUV", "TV"],
4624
+ ["256", "UGA", "UG"],
4625
+ ["380", "UKR", "UA"],
4626
+ ["971", "ARE", "AE"],
4627
+ ["44", "GBR", "GB"],
4628
+ ["255", "TZA", "TZ"],
4629
+ ["1-340", "VIR", "VI"],
4630
+ ["1", "USA", "US"],
4631
+ ["598", "URY", "UY"],
4632
+ ["998", "UZB", "UZ"],
4633
+ ["678", "VUT", "VU"],
4634
+ ["58", "VEN", "VE"],
4635
+ ["84", "VNM", "VN"],
4636
+ ["681", "WLF", "WF"],
4637
+ ["212", "ESH", "EH"],
4638
+ ["967", "YEM", "YE"],
4639
+ ["260", "ZMB", "ZM"],
4640
+ ["263", "ZWE", "ZW"],
4641
+ ["358", "ALA", "AX"]
4642
+ ];
4386
4643
  var PLURAL_EXCEPTIONS2 = {
4387
4644
  photo: "photos",
4388
4645
  piano: "pianos",
@@ -5639,8 +5896,8 @@ function shift(list2) {
5639
5896
  }
5640
5897
  return rtn;
5641
5898
  }
5642
- function slice(list2, start, end) {
5643
- return list2.slice(start, end);
5899
+ function slice(list2, start2, end) {
5900
+ return list2.slice(start2, end);
5644
5901
  }
5645
5902
  function unique(...values) {
5646
5903
  const u = [];
@@ -6903,6 +7160,25 @@ function isYesterday(test) {
6903
7160
  }
6904
7161
  return false;
6905
7162
  }
7163
+ function isVisaMastercard(val) {
7164
+ if (isString(val)) {
7165
+ const parts = val.split(" ");
7166
+ return parts.length === 4 && parts.every((i) => isNumberLike(i) && i.length === 4);
7167
+ }
7168
+ return false;
7169
+ }
7170
+ function isAmericanExpress(val) {
7171
+ if (isString(val)) {
7172
+ const parts = val.split(" ");
7173
+ return parts.length === 3 && parts.every(
7174
+ (i) => isNumberLike(i) && parts[0].length === 4 && parts[1].length === 6
7175
+ );
7176
+ }
7177
+ return false;
7178
+ }
7179
+ function isCreditCard(val) {
7180
+ return isVisaMastercard(val) || isAmericanExpress(val);
7181
+ }
6906
7182
  function isString(value) {
6907
7183
  return typeof value === "string";
6908
7184
  }
@@ -7119,7 +7395,7 @@ function isNotNull(value) {
7119
7395
  function isNull(value) {
7120
7396
  return value === null;
7121
7397
  }
7122
- function isPhoneNumber(val) {
7398
+ function maybePhoneNumber(val) {
7123
7399
  const svelte = String(val).trim();
7124
7400
  const chars = svelte.split("");
7125
7401
  const numeric = retainChars(svelte, ...NUMERIC_CHAR2);
@@ -7135,6 +7411,36 @@ function isPhoneNumber(val) {
7135
7411
  ]);
7136
7412
  return chars.every((i) => valid2.includes(i)) && svelte.startsWith(`+`) ? numeric.length >= 8 : svelte.startsWith(`00`) ? numeric.length >= 10 : numeric.length >= 7 && nothing === "";
7137
7413
  }
7414
+ var start = PHONE_COUNTRY_CODES2.map((i) => `+${i[0]} `);
7415
+ function hasCountryCode(val) {
7416
+ if (isString(val)) {
7417
+ return start.some((i) => val.trimStart().startsWith(i));
7418
+ }
7419
+ return false;
7420
+ }
7421
+ function isUsPhoneNumber(val) {
7422
+ if (isString(val)) {
7423
+ return maybePhoneNumber(val) && val.trimStart().startsWith(`+1 `);
7424
+ }
7425
+ return false;
7426
+ }
7427
+ function isPhoneNumber(val) {
7428
+ if (isString(val) && maybePhoneNumber(val) && [" ", "-", "."].some((i) => val.includes(i))) {
7429
+ const cc = getPhoneCountryCode(val);
7430
+ const without = cc === "" ? retainChars(val, ...NUMERIC_CHAR2) : retainChars(val.trimStart().replace(`+${cc} `, ""), ...NUMERIC_CHAR2);
7431
+ switch (cc) {
7432
+ case "1":
7433
+ return without.length === 10;
7434
+ case "44":
7435
+ return !![10, 11].includes(without.length);
7436
+ case "":
7437
+ return without.length <= 10;
7438
+ default:
7439
+ return without.length <= 11;
7440
+ }
7441
+ }
7442
+ return false;
7443
+ }
7138
7444
  function isReadonlyArray(value) {
7139
7445
  return Array.isArray(value) === true;
7140
7446
  }
@@ -8445,6 +8751,7 @@ var ExifSaturation = /* @__PURE__ */ ((ExifSaturation2) => {
8445
8751
  getYesterday,
8446
8752
  getYouTubePageType,
8447
8753
  handleDoneFn,
8754
+ hasCountryCode,
8448
8755
  hasDefaultValue,
8449
8756
  hasIndexOf,
8450
8757
  hasKeys,
@@ -8488,6 +8795,7 @@ var ExifSaturation = /* @__PURE__ */ ((ExifSaturation2) => {
8488
8795
  isAccelerationUom,
8489
8796
  isAlpha,
8490
8797
  isAmazonUrl,
8798
+ isAmericanExpress,
8491
8799
  isApi,
8492
8800
  isApiSurface,
8493
8801
  isAppleUrl,
@@ -8515,6 +8823,7 @@ var ExifSaturation = /* @__PURE__ */ ((ExifSaturation2) => {
8515
8823
  isCountryCode2,
8516
8824
  isCountryCode3,
8517
8825
  isCountryName,
8826
+ isCreditCard,
8518
8827
  isCssAspectRatio,
8519
8828
  isCsv,
8520
8829
  isCurrentMetric,
@@ -8699,9 +9008,11 @@ var ExifSaturation = /* @__PURE__ */ ((ExifSaturation2) => {
8699
9008
  isUrlPath,
8700
9009
  isUrlSource,
8701
9010
  isUsNewsUrl,
9011
+ isUsPhoneNumber,
8702
9012
  isUsStateAbbreviation,
8703
9013
  isUsStateName,
8704
9014
  isVariable,
9015
+ isVisaMastercard,
8705
9016
  isVoltageMetric,
8706
9017
  isVoltageUom,
8707
9018
  isVolumeMetric,
@@ -8741,6 +9052,7 @@ var ExifSaturation = /* @__PURE__ */ ((ExifSaturation2) => {
8741
9052
  lookupCountryCode,
8742
9053
  lookupCountryName,
8743
9054
  lowercase,
9055
+ maybePhoneNumber,
8744
9056
  mergeObjects,
8745
9057
  mergeScalars,
8746
9058
  mergeTuples,