Merge pull request #9893 from leonyu/google-libphonenumber

Google's libphonenumber
This commit is contained in:
Ryan Cavanaugh
2016-06-30 11:26:18 -07:00
committed by GitHub
2 changed files with 74 additions and 0 deletions
@@ -0,0 +1,36 @@
/// <reference path="google-libphonenumber.d.ts" />
import libphonenumber = require('google-libphonenumber');
import {PhoneNumberFormat, PhoneNumberUtil, AsYouTypeFormatter} from 'google-libphonenumber';
() => {
// Require `PhoneNumberFormat`.
var PNF = libphonenumber.PhoneNumberFormat;
// Get an instance of `PhoneNumberUtil`.
var phoneUtil = libphonenumber.PhoneNumberUtil.getInstance();
// Parse number with country code.
var phoneNumber = phoneUtil.parse('202-456-1414', 'US');
// Print number in the international format.
console.log(phoneUtil.format(phoneNumber, PNF.INTERNATIONAL));
// => +1 202-456-1414
}
() => {
// Require `AsYouTypeFormatter`.
var AsYouTypeFormatter = libphonenumber.AsYouTypeFormatter;
var formatter = new AsYouTypeFormatter('US');
console.log(formatter.inputDigit('6')); // => 6
console.log(formatter.inputDigit('5')); // => 65
console.log(formatter.inputDigit('0')); // => 650
console.log(formatter.inputDigit('2')); // => 650-2
console.log(formatter.inputDigit('5')); // => 650-25
console.log(formatter.inputDigit('3')); // => 650-253
console.log(formatter.inputDigit('2')); // => 650-2532
console.log(formatter.inputDigit('2')); // => (650) 253-22
formatter.clear();
}
+38
View File
@@ -0,0 +1,38 @@
// Type definitions for libphonenumber v7.4.3
// Project: https://github.com/googlei18n/libphonenumber
// Project: https://github.com/seegno/google-libphonenumber
// Definitions by: Leon Yu <https://github.com/leonyu>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
declare namespace libphonenumber {
export enum PhoneNumberFormat {
E164,
INTERNATIONAL,
NATIONAL,
RFC3966
}
interface PhoneNumber {
}
export class PhoneNumberUtil {
static getInstance(): PhoneNumberUtil
parse(number: string, region: string): PhoneNumber;
isValidNumber(phoneNumber: PhoneNumber): boolean;
isValidNumberForRegion(phoneNumber: PhoneNumber): boolean;
getRegionCodeForNumber(phoneNumber: PhoneNumber): string;
isNANPACountry(regionCode: string): boolean;
format(phoneNumber: PhoneNumber, format: PhoneNumberFormat): string;
}
export class AsYouTypeFormatter {
constructor(region: string);
inputDigit(digit: string): string;
clear(): void;
}
}
declare module 'google-libphonenumber' {
export = libphonenumber;
}