JSPM

nanpa_tools

0.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 3
  • Score
    100M100P100Q17034F
  • License Apache-2.0

A library with tools to work with NANPA numbers

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

License npm version js-standard-style

Build Status Coverage Status Code Climate Issue Count

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.