1. libphonenumber-metadata-generator
Metadata generator for `libphonenumber-js`
libphonenumber-metadata-generator
Package: libphonenumber-metadata-generator
Created by: catamphetamine
Last modified: Sat, 07 May 2022 23:15:28 GMT
Version: 1.0.1
License: MIT
Downloads: 36,137
Repository: git+https://gitlab.com/catamphetamine/libphonenumber-metadata-generator.git

Install

npm install libphonenumber-metadata-generator
yarn add libphonenumber-metadata-generator

libphonenumber-metadata-generator

Generates metadata for libphonenumber-js.

Install

npm install libphonenumber-metadata-generator --save-dev

Use

Add metadata generation script to your project's package.json. Example:

 {
  "scripts": {
    "generate-libphonenumber-metadata": "libphonenumber-metadata-generator metadata.custom.json --countries RU,DE --extended"
  }
}

And then run it like npm run generate-libphonenumber-metadata.

The arguments are:

  • The first argument is the output metadata file path.

  • --countries argument is a comma-separated list of the countries included (if --countries is omitted then all countries are included).

  • --extended argument may be passed to include all regular expressions for precise phone number validation and getting phone number type, which will enlarge the resulting metadata size approximately twice.

  • --types ... argument may be passed instead of --extended to generate metadata that only supports the selected phone number types (a comma-separated list, e.g. --types mobile,fixed_line). See the list of all possible phone number types. Other phone number types will still be parseable, but they won't be recognized as being "valid" (.isValid() will return false), and also their "type" won't be detected (.getType() will return undefined).

Versioning

Metadata generated by libphonenumber-metadata-generator has a numeric version: this is for backwards compatibility, because metadata file format could change in some future.

API

download(url: string): string

Downloads a file from a URL and returns its contents.

generate(xml: string, version: number, includedCountries: string[]?, extended: boolean?, includedPhoneNumberTypes: string[]?): object

Parses metadata XML and returns a JSON object.

compress(metadata: object): object

Compresses metadata JSON object: replaces objects with arrays.

version: number

Provides the current version of metadata format.

RELATED POST

10 Must-Know Windows Shortcuts That Will Save You Time

10 Must-Know Windows Shortcuts That Will Save You Time

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Navigating AWS Networking: Essential Hacks for Smooth Operation

Navigating AWS Networking: Essential Hacks for Smooth Operation

Achieving Stunning Visuals with Unity's Global Illumination

Achieving Stunning Visuals with Unity's Global Illumination

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code