From 99a779e9eb0c473ee65e49438b348bf7e9a97b84 Mon Sep 17 00:00:00 2001 From: Leon Yu Date: Thu, 30 Jun 2016 05:31:31 -0400 Subject: [PATCH] google-libphonenumber --- .../google-libphonenumber-tests.ts | 36 ++++++++++++++++++ .../google-libphonenumber.d.ts | 38 +++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 google-libphonenumber/google-libphonenumber-tests.ts create mode 100644 google-libphonenumber/google-libphonenumber.d.ts diff --git a/google-libphonenumber/google-libphonenumber-tests.ts b/google-libphonenumber/google-libphonenumber-tests.ts new file mode 100644 index 0000000000..0768f0f7a9 --- /dev/null +++ b/google-libphonenumber/google-libphonenumber-tests.ts @@ -0,0 +1,36 @@ +/// + +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(); +} diff --git a/google-libphonenumber/google-libphonenumber.d.ts b/google-libphonenumber/google-libphonenumber.d.ts new file mode 100644 index 0000000000..fea36d9675 --- /dev/null +++ b/google-libphonenumber/google-libphonenumber.d.ts @@ -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 +// 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; +}