UNPKG

libphonenumber-js

Version:

A simpler (and smaller) rewrite of Google Android's libphonenumber library in javascript

228 lines (197 loc) 8.19 kB
import { MetadataJson, Examples, E164Number, CountryCallingCode, CountryCode, CarrierCode, NationalNumber, Extension, ParseError, NumberFoundLegacy, NumberType, NumberFormat, NumberingPlan, FormatNumberOptions, FormatNumberOptionsWithoutIDD, ValidatePhoneNumberLengthResult } from './types.d.js'; export { MetadataJson, Examples, E164Number, CountryCallingCode, CountryCode, CarrierCode, NationalNumber, Extension, ParseError, // `FormatNumberOptions` export is deprecated. // It's still here just due to legacy compatibility. // https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/174#note_2380633424 FormatNumberOptions, NumberFoundLegacy, NumberFormat, NumberType, NumberingPlan, ValidatePhoneNumberLengthResult }; export class PhoneNumber { constructor(number: E164Number); countryCallingCode: CountryCallingCode; country?: CountryCode; nationalNumber: NationalNumber; number: E164Number; carrierCode?: CarrierCode; ext?: Extension; setExt(ext: Extension): void; getPossibleCountries(): CountryCode[]; isPossible(): boolean; isValid(): boolean; getType(): NumberType; format(format: NumberFormat, options?: FormatNumberOptions): string; formatNational(options?: FormatNumberOptionsWithoutIDD): string; formatInternational(options?: FormatNumberOptionsWithoutIDD): string; getURI(options?: FormatNumberOptionsWithoutIDD): string; isNonGeographic(): boolean; isEqual(phoneNumber: PhoneNumber): boolean; } export interface NumberFound { number: PhoneNumber; startsAt: number; endsAt: number; } // `parsePhoneNumberFromString()` named export is now considered legacy: // it has been promoted to a default export due to being too verbose. export function parsePhoneNumberFromString(text: string, defaultCountry?: CountryCode | { defaultCountry?: CountryCode, defaultCallingCode?: string, extract?: boolean }): PhoneNumber | undefined; export default parsePhoneNumberFromString; export function parsePhoneNumberWithError(text: string, defaultCountry?: CountryCode | { defaultCountry?: CountryCode, defaultCallingCode?: string, extract?: boolean }): PhoneNumber; export function getExampleNumber(country: CountryCode, examples: Examples): PhoneNumber | undefined; export function isValidPhoneNumber(text: string, defaultCountry?: CountryCode | { defaultCountry?: CountryCode, defaultCallingCode?: string }): boolean; export function isPossiblePhoneNumber(text: string, defaultCountry?: CountryCode | { defaultCountry?: CountryCode, defaultCallingCode?: string }): boolean; export function validatePhoneNumberLength(text: string, defaultCountry?: CountryCode | { defaultCountry?: CountryCode, defaultCallingCode?: string }): ValidatePhoneNumberLengthResult | undefined; export function findPhoneNumbersInText(text: string, options?: CountryCode | { defaultCountry?: CountryCode, defaultCallingCode?: string, extended?: boolean }): NumberFound[]; export function searchPhoneNumbersInText(text: string, options?: CountryCode | { defaultCountry?: CountryCode, defaultCallingCode?: string, extended?: boolean }): IterableIterator<NumberFound>; export class PhoneNumberMatcher { constructor(text: string, options?: { defaultCountry?: CountryCode, v2: true }); hasNext(): boolean; next(): NumberFound | undefined; } export function getCountries(): CountryCode[]; export function getCountryCallingCode(countryCode: CountryCode): CountryCallingCode; export function getExtPrefix(countryCode: CountryCode): string; export function isSupportedCountry(countryCode: string): countryCode is CountryCode; export function formatIncompletePhoneNumber(number: string, countryCode?: CountryCode): string; export function formatIncompletePhoneNumber(number: string, defaultCountryCode?: CountryCode | { defaultCountry?: CountryCode, defaultCallingCode?: string }): string; export function parseIncompletePhoneNumber(text: string): string; export function parsePhoneNumberCharacter(character: string): string; export function parseDigits(character: string): string; export class AsYouType { constructor(defaultCountryCode?: CountryCode | { defaultCountry?: CountryCode, defaultCallingCode?: string }); input(text: string): string; reset(): void; country: CountryCode | undefined; getNumber(): PhoneNumber | undefined; getNumberValue(): E164Number | undefined; getNationalNumber(): string; getChars(): string; getTemplate(): string; getCallingCode(): string | undefined; getCountry(): CountryCode | undefined; isInternational(): boolean; isPossible(): boolean; isValid(): boolean; } export class Metadata { constructor(); selectNumberingPlan(country: CountryCode): void; numberingPlan?: NumberingPlan; } /** * @deprecated `parsePhoneNumber()` named export has been renamed to `parsePhoneNumberWithError()` */ export function parsePhoneNumber(text: string, defaultCountry?: CountryCode | { defaultCountry?: CountryCode, defaultCallingCode?: string, extract?: boolean }): PhoneNumber; /** * @deprecated */ export interface ParsedNumber { countryCallingCode?: CountryCallingCode; country: CountryCode; phone: NationalNumber; ext?: Extension; possible?: boolean; valid?: boolean; } /** * @deprecated */ export type ParseNumberOptions = { defaultCountry?: CountryCode; extended?: boolean; }; /** * @deprecated */ export function parse(text: string, options?: CountryCode | ParseNumberOptions): ParsedNumber; /** * @deprecated */ export function parseNumber(text: string, options?: CountryCode | ParseNumberOptions): ParsedNumber | {}; /** * @deprecated */ export function format(parsedNumber: ParsedNumber, format: NumberFormat): string; export function format(phone: string, format: NumberFormat): string; export function format(phone: string, country: CountryCode, format: NumberFormat): string; /** * @deprecated */ export function formatNumber(parsedNumber: ParsedNumber, format: NumberFormat, options?: FormatNumberOptions): string; export function formatNumber(phone: string, format: NumberFormat, options?: FormatNumberOptions): string; export function formatNumber(phone: string, country: CountryCode, format: NumberFormat, options?: FormatNumberOptions): string; /** * @deprecated */ export function getNumberType(parsedNumber: ParsedNumber): NumberType; export function getNumberType(phone: string, country?: CountryCode): NumberType; /** * @deprecated */ export function isPossibleNumber(parsedNumber: ParsedNumber): boolean; export function isPossibleNumber(phone: string, country?: CountryCode): boolean; /** * @deprecated */ export function isValidNumber(parsedNumber: ParsedNumber): boolean; export function isValidNumber(phone: string, country?: CountryCode): boolean; /** * @deprecated */ export function isValidNumberForRegion(phone: string, country: CountryCode): boolean; /** * @deprecated */ export function findParsedNumbers(text: string, options?: CountryCode | { defaultCountry?: CountryCode }): NumberFoundLegacy[]; export function searchParsedNumbers(text: string, options?: CountryCode | { defaultCountry?: CountryCode }): IterableIterator<NumberFoundLegacy>; /** * @deprecated */ export class ParsedNumberSearch { constructor(text: string, options?: { defaultCountry?: CountryCode }); hasNext(): boolean; next(): NumberFoundLegacy | undefined; } /** * @deprecated */ export function findNumbers(text: string, options?: CountryCode): NumberFoundLegacy[]; export function searchNumbers(text: string, options?: CountryCode): IterableIterator<NumberFoundLegacy>; /** * @deprecated */ export function findNumbers(text: string, options?: { defaultCountry?: CountryCode, v2: true }): NumberFound[]; export function searchNumbers(text: string, options?: { defaultCountry?: CountryCode, v2: true }): IterableIterator<NumberFound>; /** * @deprecated */ export function getPhoneCode(countryCode: CountryCode): CountryCallingCode;