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.