z1p
v0.1.0
Published
Zip Codes Validation and Parse.
Downloads
344
Maintainers
Readme
Zip Codes Validation and Parse :mailbox_with_mail:
The module that can be used for search places via zip code and other geolocation properties.
Usage
Install package:
npm i z1p
Then you need to add countries you wish to search in. For example the USA.
npm i @zip/us
Then you can use it like this:
const z1p = require("z1p");
// Get places by zip code.
z1p(["US"]).raw(v => v.zip_code == "59330");
// Same as above
z1p(["us"]).findBy("zip_code", "59330"));
// Same as above but memorized
z1p(["Us"], {memorize: true}).findBy("zip_code", "59330"));
//Result
/*
[ { accuracy: '1',
community: null,
community_code: null,
country_code: 'US',
latitude: '47.1008',
longitude: '-104.7287',
place: 'Glendive',
province: 'Dawson',
province_code: '021',
state: 'Montana',
state_code: 'MT',
zip_code: '59330' } ]
*/
API
z1p(codes, options)
codes
{Array of Strings}
Country codes to search in. By default equals all available.options
{Object}
memorize
{Boolean}
default: false
this options for memorization at methods
.raw(compare)
compare
{Function}
function to find.
returns: {Array of Places}
.findBy(key, value)
key
{String}
key in object strucuture (zip_code, accuracy, etc.)value
{String}
value to find.returns: {Array of Places}
Note: This method could be memorized. Every result will be saved to memory so the only first call will be slow.
Place object looks like this:
{
accuracy: '1', // Accuracy of place
community: 'community', // Community name
community_code: 'community_code', // Community code
country_code: 'country_code', // Country code
latitude: '1', // Latitude
longitude: '-1', // Longitude
place: 'place', // Place
province: 'province', // Province
province_code: '021', // Province code
state: 'state', // State
state_code: 'state_code', // State code
zip_code: '1' // Zip code
}
Example:
{ accuracy: '1',
community: null,
community_code: null,
country_code: 'US',
latitude: '47.1008',
longitude: '-104.7287',
place: 'Glendive',
province: 'Dawson',
province_code: '021',
state: 'Montana',
state_code: 'MT',
zip_code: '59330' }
Countries
Available countries.
TODO:
- Add wrappers to raw.
- Improve performance.