mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-08-16 15:00:26 +00:00
Merge pull request #9893 from leonyu/google-libphonenumber
Google's libphonenumber
This commit is contained in:
@@ -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();
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user