@emailens/engine 0.9.3 → 0.9.4

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.
package/dist/index.cjs CHANGED
@@ -8996,13 +8996,17 @@ Href: ${href}`
8996
8996
  });
8997
8997
  return issues;
8998
8998
  }
8999
- var STREET_ADDRESS_PATTERN = /\b\d{1,5}\s+[A-Za-z]+\s+(St(reet)?|Ave(nue)?|Blvd|Boulevard|Dr(ive)?|Rd|Road|Ln|Lane|Way|Ct|Court|Pl(ace)?|Pkwy|Parkway|Cir(cle)?|Terr(ace)?|Loop)\b/i;
8999
+ var STREET_ADDRESS_PATTERN = /\b\d{1,5}[A-Za-z]?\s+[A-Za-z]+\s+(St(reet)?|Ave(nue)?|Blvd|Boulevard|Dr(ive)?|Rd|Road|Ln|Lane|Way|Ct|Court|Pl(ace)?|Pkwy|Parkway|Cir(cle)?|Terr(ace)?|Loop)\b/i;
9000
+ var STREET_TYPE_FIRST_PATTERN = /\b\d{1,5}\s+(rue|chemin|avenue|av|boulevard|bd|impasse|all[ée]e|place|route|quai|cours|via|viale|piazza|strada)\b/i;
9001
+ var STREET_TYPE_LEADING_PATTERN = /\b(calle|avenida|avda|plaza|paseo|carrer|rua|travessa)\s+[A-Za-zÀ-ÿ]+.{0,30}?\d{1,4}\b/i;
9002
+ var STREET_TYPE_SUFFIX_PATTERN = /\b[A-Za-zÀ-ÿ]+(stra(ss|ß)e|straat|weg|gasse|allee|platz|vej|gata|gate)\s+\d{1,4}\b/i;
9000
9003
  var PO_BOX_PATTERN = /\bP\.?\s*O\.?\s*Box\s+\d+/i;
9001
- var ZIP_CODE_PATTERN = /\b\d{5}(-\d{4})?\b/;
9004
+ var ZIP_CODE_PATTERN = /\b(\d{5}(-\d{4})?|[A-Z]{1,2}\d[A-Z\d]?\s*\d[A-Z]{2}|\d{4}\s*[A-Z]{2})\b/i;
9002
9005
  var ADDRESS_CLASS_PATTERN = /address|mailing|postal|footer-address|physical-address/i;
9003
9006
  function checkPhysicalAddress($, text, options) {
9004
9007
  if ((options == null ? void 0 : options.emailType) === "transactional") return null;
9005
- if (STREET_ADDRESS_PATTERN.test(text) && ZIP_CODE_PATTERN.test(text)) return null;
9008
+ const hasStreet = STREET_ADDRESS_PATTERN.test(text) || STREET_TYPE_FIRST_PATTERN.test(text) || STREET_TYPE_LEADING_PATTERN.test(text) || STREET_TYPE_SUFFIX_PATTERN.test(text);
9009
+ if (hasStreet && ZIP_CODE_PATTERN.test(text)) return null;
9006
9010
  if (PO_BOX_PATTERN.test(text) && ZIP_CODE_PATTERN.test(text)) return null;
9007
9011
  let foundByClass = false;
9008
9012
  $("[class]").each((_, el) => {