Socket
Socket
Sign inDemoInstall

libphonenumber-geo-carrier

Package Overview
Dependencies
5
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    libphonenumber-geo-carrier

This library includes the geocoding, carrier mapping and timezone mapping functionalities that are available in some of googles libphonenumber libraries but not in libphonenumber-js (a port of libphonenumber).


Version published
Weekly downloads
871
decreased by-40.26%
Maintainers
1
Install size
15.9 MB
Created
Weekly downloads
 

Readme

Source

Phonenumber geo-, carrier- and timezone infos

This library includes the geocoding, carrier mapping and timezone mapping functionalities that are available in some of googles libphonenumber libraries but not in libphonenumber-js (a port of libphonenumber).

To reduce the amount of data that needs to be loaded to geocode / carrier map a phonenumber for each mapping only the relevant number prefixes are loaded from a binary json file (BSON). When the prefix could not be found in the provided locale the library tries to fallback to en as locale. The library supports Node.js only at the moment.

Installation

npm install libphonenumber-js libphonenumber-geo-carrier

or

yarn add libphonenumber-js libphonenumber-geo-carrier

Usage

The available methods are:

  • geocoder(phonenumber: PhoneNumber, locale?: GeocoderLocale = 'en'): Promise<string | null> - Resolved to the geocode or null if no geocode could be found (e.g. for mobile numbers)
  • carrier(phonenumber: PhoneNumber, locale?: CarrierLocale = 'en'): Promise<string | null> - Resolves to the carrier or null if non could be found (e.g. for fixed line numbers)
  • timezones(phonenumber: PhoneNumber): Promise<Array<string> | null> - Resolved to an array of timezones or null if non where found.

Examples

import parsePhoneNumberFromString from 'libphonenumber-js'
import { geocoder, carrier, timezones } from 'libphonenumber-geo-carrier'

const main = async () => {
  const fixedLineNumber = parsePhoneNumberFromString('+41431234567')
  const locationEN = await geocoder(fixedLineNumber) // Zurich
  const locationDE = await geocoder(fixedLineNumber, 'de') // Zürich
  const locationIT = await geocoder(fixedLineNumber, 'it') // Zurigo

  const mobileNumber = parsePhoneNumberFromString('+8619912345678')
  const carrierEN = await carrier(mobileNumber) // China Telecom
  const carrierZH = await carrier(mobileNumber, 'zh') // 中国电信

  const fixedLineNumber2 = parsePhoneNumberFromString('+49301234567')
  const tzones = await timezones(fixedLineNumber2) // ['Europe/Berlin']
}

main()

Keywords

FAQs

Last updated on 27 Jan 2022

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc