2.4.10 • Published 9 months ago

@zerodep/address-normalize v2.4.10

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

addressNormalize()

version language types license

CodeFactor Known Vulnerabilities

OpenSSF Best Practices

A utility that normalizes an address (with a 200 character limit).

This will:

  • deburr and uppercase text
  • convert compound directionals to their abbreviations (e.g. north west => NW)
  • normalize incorrect abbreviations & misspellings (e.g. pob => PO BOX)
  • convert unabbreviated values to preferred values (e.g. department => DEPT)
  • strip unnecessary characters and punctuation
  • throws an error if the address is longer than 200 characters

Normalization is done in accordance with USPS and Canada Post addressing standards.

Signature

declare const addressNormalize: (value: string) => string;

Examples

All @zerodep packages support both ESM and CJS formats, each complete with Typescript typings.

// ESM
import { addressNormalize } from '@zerodep/address-normalize';

// CJS
const { addressNormalize } = require('@zerodep/address-normalize');
addressNormalize('1234 Main st sw apt14-a');
addressNormalize('1234 Main Street S.West apt # 14-a');
addressNormalize('1234 Main Street south-west, apt 14-a');
// "1234 MAIN ST SW APT 14-A"

addressNormalize('apartment 3c, south-east cloverfield ave, manville nj 08835');
addressNormalize('apmt 3c se cloverfield avenue manville nj 08835');
// "APT 3C SE CLOVERFIELD AVE MANVILLE NJ 08835"

addressNormalize('p.o.b 1234');
addressNormalize('po box 1234');
// "PO BOX 1234"

addressNormalize('rural route 2 box 3');
// "RR 2 BOX 3"

addressNormalize('hiway contract 68 box 23-a');
// "HC 68 BOX 23-A"

addressNormalize('priv mailbox 234');
// "PMB 234"

addressNormalize('Attention: Mr. John Smith, Care Of: Ms. Jane Doe, 6789 Oak Avenue, Apartment 1617181920, Building C, Suite 2122232425, Floor 28, Lakeview, Texas 54321-6789, United States of America');
// thorws ZeroDepError('Address is too long')

`


ZeroDep Advantages

  • Zero npm dependencies - completely eliminates all risk of supply-chain attacks, decreases node_modules folder size
  • ESM & CJS - supports both ECMAScript modules and common JavaScript exports
  • Tree Shakable - built to be fully tree shakable ensuring your packages are the smallest possible size
  • Fully Typed - typescript definitions are provided/built-in to every package for a superior developer experience
  • Semantically Named - package and method names are easy to grok, remember, use, and read
  • Documented - actually useful documentation with examples at zerodep.app
  • Intelligently Packaged - multiple npm packages of different sizes available allowing a menu or a-la-carte composition of capabilities
  • 100% Tested - all methods and packages are fully unit tested
  • Predictably Versioned - semantically versioned for peace-of-mind upgrading, valuable changelogs for understand changes
  • MIT Licensed - permissively licensed for maximum usability
2.4.10

9 months ago

2.4.9

12 months ago

2.4.7

12 months ago

2.4.8

12 months ago

2.4.5

1 year ago

2.4.6

1 year ago

2.4.3

1 year ago

2.4.2

1 year ago

2.4.1

1 year ago

2.4.0

2 years ago

2.3.1

2 years ago

2.3.0

2 years ago

2.0.0

2 years ago