Product
Introducing SSO
Streamline your login process and enhance security by enabling Single Sign-On (SSO) on the Socket platform, now available for all customers on the Enterprise plan, supporting 20+ identity providers.
zipcodes
Advanced tools
Readme
A localized (flatfile) zipcode lookup.
USA zip codes data was taken from here: http://federalgovernmentzipcodes.us/
Canada zip codes data was taken from here: https://www.aggdata.com/download_sample.php?file=ca_postal_codes.csv
It was then transformed into a JSON object and then wrapped with some helper methods.
var zipcodes = require('zipcodes');
var hills = zipcodes.lookup(90210);
{ zip: '90210',
latitude: 34.088808,
longitude: -118.406125,
city: 'Beverly Hills',
state: 'CA',
country: 'US' }
This is not driving distance, it's line of sight distance
var dist = zipcodes.distance(62959, 90210); //In Miles
// dist = 1662
var kilo = zipcodes.toKilometers(dist); //Convert to Kilometers
// kilo = 2675
var miles = zipcodes.toMiles(zipcodes.toKilometers(dist)); //Convert to Kilometers, then to miles
// miles = 1662
This does not work on the Canada data, the data file doesn't include this much detail.
var l = zipcodes.lookupByName('Cupertino', 'CA');
//Always returns an array, since cities can have multiple zip codes
[ { zip: '95015',
latitude: 37.323,
longitude: -122.0527,
city: 'Cupertino',
state: 'CA',
country: 'US' } ]
Get all zipcodes within the milage radius of this zipcode
var rad = zipcodes.radius(95014, 50);
// rad.length == 385
[ '93901',
'93902',
'93905',
'93906',
'93907',
'93912',
'93933',
'93942',
'93944',
'93950',
...
'95377',
'95378',
'95385',
'95387',
'95391'
]
var zipObj = zipcodes.random();
{ zip: '90210',
latitude: 34.088808,
longitude: -118.406125,
city: 'Beverly Hills',
state: 'CA',
country: 'US' }
Add support for importing into MongoDB or CouchDB to speed up searchs.
The original CSV file that I am using for this data is not included in this repo, but I did wrap up the best way to get the data and how to convert it into the format that this module uses.
To develop with this module, just make
it and it will fetch the latest zipcodes and reprocess them.
make
To just fetch and process the zipcodes:
make codes
To run the very simple test suite:
make tests
FAQs
Useful zipcode database with helper methods
The npm package zipcodes receives a total of 18,517 weekly downloads. As such, zipcodes popularity was classified as popular.
We found that zipcodes demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Streamline your login process and enhance security by enabling Single Sign-On (SSO) on the Socket platform, now available for all customers on the Enterprise plan, supporting 20+ identity providers.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.