Package Exports
- nanpa_tools
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (nanpa_tools) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
nanpa_tools
This library is used to handle NANPA telephone numbers while at the same time gathering information about them.
Installing
Add this library to your package.json configuration:
"dependencies": {
"nanpa_tools": "latest"
}
Using it
Below you will find a few examples for the most common usage. More examples can be found in the tests.
Import the module in your code
var nanpa_tools = require('nanpa_tools');
Figuring out if a given number is a NANPA number.
if (nanpa_tools.isNanpa("13055556666")) {
...
}
}
Getting information for a NANPA number
var result = nanpa_tools.resolve("13055556666");
If the number is a NANPA number, the result object will contain:
- npa: Area code.
- nxx: Exchange code.
- num: Subscriber number.
- countryCode: ISO2 code for the country.
- countryName: Full country name (in English).
- usStateCode: Only present for US numbers. 2-letter state code.
- usStateName: Only present for US numbers. Full state name.
- caProvinceCode: Only present for Canada numbers. 2-letter province code.
- caProvinceName: Only present for Canada numbers. Full province name.
- isTollFree:
true
if the given number is a Toll Free. - isPremium:
true
if the given number is a Premium Number.
Detecting Intra- or Inter-State calls
var result = nanpa_tools.resolveInterIntra("13055556666", "17866667777");
The result object will contain:
- number1: A result object like the one described above.
- number2: A result object like the one described above.
- isIntra:
true
if the call should be considered Intra-State. US calls only. - isInter:
true
if the call should be considered Inter-State. US calls only.
Developers
This project uses standard npm scripts. Current tasks include:
- test: Runs Mocha tests.
- jsdoc: Runs JSDoc3.
- eslint: Runs ESLint.
- coverage: Runs the tests and then Instanbul to get a coverage report.
- build: This is the default task, and will run all the other tasks.
Running an npm task
To run a task, just do:
npm run build
Contributing
To contribute:
- Make sure you open a concise and short pull request.
- Throw in any needed unit tests to accomodate the new code or the changes involved.
- Run
npm run build
and make sure everything is ok before submitting the pull request (make eslint happy). - Your code must comply with the Javascript Standard Style, ESLint should take care of that.
License
The source code is released under Apache 2 License.
Check LICENSE file for more information.