UNPKG

4.39 kBTypeScriptView Raw
1import {
2 Metadata,
3 PhoneNumber,
4 E164Number,
5 CountryCallingCode,
6 CountryCode,
7 CarrierCode,
8 NationalNumber,
9 Extension,
10 ParseError,
11 NumberFoundLegacy,
12 NumberFound,
13 NumberType,
14 NumberFormat
15} from '../types';
16
17// They say this re-export is required.
18// https://github.com/catamphetamine/libphonenumber-js/pull/290#issuecomment-453281180
19export {
20 Metadata,
21 PhoneNumber,
22 E164Number,
23 CountryCallingCode,
24 CountryCode,
25 CarrierCode,
26 NationalNumber,
27 Extension,
28 ParseError,
29 NumberFoundLegacy,
30 NumberFound,
31 NumberType,
32 NumberFormat
33};
34
35// `parsePhoneNumber()` named export has been renamed to `parsePhoneNumberWithError()`.
36export function parsePhoneNumber(text: string, metadata: Metadata): PhoneNumber;
37export function parsePhoneNumber(text: string, defaultCountry: CountryCode, metadata: Metadata): PhoneNumber;
38
39export function parsePhoneNumberWithError(text: string, metadata: Metadata): PhoneNumber;
40export function parsePhoneNumberWithError(text: string, defaultCountry: CountryCode, metadata: Metadata): PhoneNumber;
41
42// `parsePhoneNumberFromString()` named export is now considered legacy:
43// it has been promoted to a default export due to being too verbose.
44export function parsePhoneNumberFromString(text: string, metadata: Metadata): PhoneNumber | undefined;
45export function parsePhoneNumberFromString(text: string, defaultCountry: CountryCode, metadata: Metadata): PhoneNumber | undefined;
46
47export default parsePhoneNumberFromString;
48
49export function findNumbers(text: string, metadata: Metadata): NumberFoundLegacy[];
50export function findNumbers(text: string, options: CountryCode | { defaultCountry?: CountryCode, v2: true }, metadata: Metadata): NumberFound[];
51
52export function searchNumbers(text: string, metadata: Metadata): IterableIterator<NumberFoundLegacy>;
53export function searchNumbers(text: string, options: CountryCode | { defaultCountry?: CountryCode, v2: true }, metadata: Metadata): IterableIterator<NumberFound>;
54
55export function findPhoneNumbersInText(text: string, options: CountryCode | { defaultCountry?: CountryCode }, metadata: Metadata): NumberFound[];
56export function findPhoneNumbersInText(text: string, metadata: Metadata): NumberFound[];
57
58export function searchPhoneNumbersInText(text: string, options: CountryCode | { defaultCountry?: CountryCode }, metadata: Metadata): IterableIterator<NumberFound>;
59export function searchPhoneNumbersInText(text: string, metadata: Metadata): IterableIterator<NumberFound>;
60
61export class PhoneNumberMatcher {
62 constructor(text: string, metadata: Metadata);
63 constructor(text: string, options: { defaultCountry?: CountryCode, v2: true }, metadata: Metadata);
64 hasNext(): boolean;
65 next(): NumberFound | undefined;
66}
67
68export function isSupportedCountry(countryCode: CountryCode, metadata: Metadata): boolean;
69export function getCountries(metadata: Metadata): CountryCode[];
70export function getCountryCallingCode(countryCode: CountryCode, metadata: Metadata): CountryCallingCode;
71export function getExtPrefix(countryCode: CountryCode, metadata: Metadata): string;
72
73export function getExampleNumber(country: CountryCode, examples: { [country in CountryCode]: NationalNumber }, metadata: Metadata): PhoneNumber | undefined;
74
75export function formatIncompletePhoneNumber(number: string, metadata: Metadata): string;
76export function formatIncompletePhoneNumber(number: string, countryCode: CountryCode, metadata: Metadata): string;
77export function parseIncompletePhoneNumber(text: string): string;
78export function parsePhoneNumberCharacter(character: string): string;
79export function parseDigits(character: string): string;
80
81export class AsYouType {
82 constructor(defaultCountryCode: CountryCode | { defaultCountry?: CountryCode, defaultCallingCode?: string } | undefined, metadata: Metadata);
83 input(text: string): string;
84 reset(): void;
85 getNumber(): PhoneNumber | undefined;
86 getChars(): string;
87 getTemplate(): string;
88}
89
90// The exported `Metadata` name is already used for exporting the "raw" JSON metadata type.
91// Then, `Metadata` class has become exported, but its name is already taken, so TypeScript users seem to be unable to use the `Metadata` class.
92// If someone knows a solution then they could propose it in an issue.
93// export class Metadata {
94// ...
95// }
\No newline at end of file