# vladdress

> Lightweight Street Address Parser Written in TypeScript

Latest version **1.1.3** (published 2022-05-17) · MIT license · 0 weekly downloads

## Install

```sh
npm install vladdress
pnpm add vladdress
yarn add vladdress
bun add vladdress
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.3 |
| Published | 2022-05-17 |
| First published | 2021-04-30 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 454.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 4 |
| Author | Chris Gilardi |
| Maintainers | christop406 |
| Keywords | address, parser, street |

## Links

- npm: https://www.npmjs.com/package/vladdress
- Repository: https://github.com/Christop406/vladdress
- Homepage: https://github.com/Christop406/vladdress#readme
- Issues: https://github.com/Christop406/vladdress/issues
- npm.io page: https://npm.io/package/vladdress

## Alternatives

- [babylon](https://npm.io/package/babylon.md) — 5.1M weekly downloads
- [csscolorparser](https://npm.io/package/csscolorparser.md) — 3.7M weekly downloads
- [expr-eval-fork](https://npm.io/package/expr-eval-fork.md) — 1.5M weekly downloads
- [@leeoniya/ufuzzy](https://npm.io/package/@leeoniya/ufuzzy.md) — 247.7K weekly downloads
- [xml-parser](https://npm.io/package/xml-parser.md) — 78.4K weekly downloads

## Recent versions

- 1.1.3 (latest) — 2022-05-17
- 1.1.2 — 2022-05-17
- 1.1.1 — 2022-05-17
- 1.1.0 — 2022-05-17
- 1.0.3 — 2021-05-03
- 1.0.2 — 2021-05-02
- 1.0.1 — 2021-04-30
- 1.0.0 — 2021-04-30

## README

# Vladdress 🧛‍♂️

[![NPM_VERSION](https://img.shields.io/npm/v/vladdress)](https://npmjs.org/package/vladdress)

## Introduction

This package aims to be a simple address parsing utility. It is based off of the project [moneals/addresser](https://github.com/moneals/addresser) but re-written in TypeScript and cleaned up a bit.

### Why `vladdress`?

VLADdress is a combination of the company I work for ([Vidaloop](https://vidaloop.com/)) and the function of the package itself (address parsing!)

### Installation

If you're using NPM:

```shell
npm install vladdress
```

For yarn:
```shell
yarn add vladdress
```

## Usage

The package is simple to use, simply import it and call `parseAddress(...)` with the address you'd like to parse.

```ts
import { parseAddress } from 'vladdress';

const result = parseAddress('123 Main Street, San Diego CA 92115');

```

### Return Value

The following interface is returned from the function:

| Property | Always Present? | Description |
| -------- | --- | ----------- |
| `addressLine1` | Yes | The full line 1 of the address specified. |
| `formattedAddress` | Yes | The formatted and normalized address as a human-readable output. |
| `id` | Yes | An ID generated from the name of the street that can be used for caching. |
| `placeName` | Yes | The name of the locality or city the address is in. |
| `stateAbbreviation` | Yes | The abbreviation of the state the address is in (e.g. `CA`) |
| `stateName` | Yes | The full name of the state the address is in. |
| `streetName` | Yes | The name of the street. |
| `addressLine2` | No | The full line 2 of the address specified (e.g. `"Unit 1"`) |
| `streetDirection` | No | The direcion name of the street (if applicable) (e.g. `N` in `123 N Main St.`). |
| `streetNumber` | No | The address's street number (if supplied). |
| `streetSuffix` | No | The suffix of the street name (e.g. `St.` in `Main St.`). |
| `zipCode` | No | For the US, this is this is the 5-digit ZIP code of the given address (e.g. `94021`). In Canada, this is the canadian-formatted code (`A1A-1A1`) |
| `zipCodePlusFour` | No | In the US, this is the full, 9-digit zip code of the form (`94021-2228`) |

### Usage Notes

- US Addresses are the best supported (PRs welcome to remedy this!)
   - Canadian addresses may also be supported, but full support may be lacking.
- Addresses with no street number should still parse correctly
- Addresses with unit number in the front should still parse correctly
- Addresses with no delimiters (`","` for example) should still parse correctly

## Contributing

Any and all contributions are welcome! Simply make a PR and we will review it! (In the future, we may have more rules on contributions).

### Testing

To test the package, run `npm run test`.

Testing is done via `mocha` and `chai` for assertions. Please run all tests before making a PR to ensure they all pass.

---
_Source: https://npm.io/package/vladdress · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
