build doc

address-formatter-rs

Universal international address formatter in Rust - data from https://github.com/OpenCageData/address-formatting

This crate is based on the amazing work of OpenCage Data who collected so many international formats of postal addresses.

The implementation is a port of the PHP, perl and js implementation of the Opencage configurations.

This is used by mimirsbrunn, a geocoder, to have nicely formatted addreses and POI.

:warning: don't forget to initialize & update the git submodules, as they held the opencage configurations.

git submodule update --init

Usage

Add address-formatter in the Cargo.toml.

```rust

[macro_use] extern crate maplit; // just to ease the Place creation

use address_formatter::{Component, Formatter}; use Component::*; let formatter = Formatter::default();

let data = hashmap!( City => "Toulouse", Country => "France", CountryCode => "FR", County => "Toulouse", HouseNumber => "17", Neighbourhood => "Lafourguette", Postcode => "31000", Road => "Rue du Médecin-Colonel Calbairac", State => "Midi-Pyrénées", Suburb => "Toulouse Ouest", );

asserteq!( formatter.format(data).unwrap(), r#"17 Rue du Médecin-Colonel Calbairac 31000 Toulouse France "#.toowned() )

```

Developing

You need an up to date rust version:

rustup update

To run the tests (especially the one based on all the opencage tests cases).

cargo test

TODO