UNPKG

8.17 kBTypeScriptView Raw
1// `/custom` export is deprecated.
2// Use `/core` sub-package instead.
3
4import {
5 Metadata,
6 PhoneNumber,
7 E164Number,
8 CountryCallingCode,
9 CountryCode,
10 CarrierCode,
11 NationalNumber,
12 Extension,
13 ParseError,
14 NumberFoundLegacy,
15 NumberFound,
16 NumberType,
17 NumberFormat
18} from './types';
19
20import {
21 ParsedNumber,
22 FormatNumberOptions,
23 ParseNumberOptions
24} from './index';
25
26export {
27 Metadata,
28 PhoneNumber,
29 E164Number,
30 CountryCallingCode,
31 CountryCode,
32 CarrierCode,
33 NationalNumber,
34 Extension,
35 FormatNumberOptions,
36 ParsedNumber,
37 ParseNumberOptions,
38 ParseError,
39 NumberFoundLegacy,
40 NumberFound,
41 NumberFormat,
42 NumberType
43};
44
45// `parsePhoneNumber()` named export has been renamed to `parsePhoneNumberWithError()`.
46export function parsePhoneNumber(text: string, metadata: Metadata): PhoneNumber;
47export function parsePhoneNumber(text: string, defaultCountry: CountryCode, metadata: Metadata): PhoneNumber;
48
49export function parsePhoneNumberWithError(text: string, metadata: Metadata): PhoneNumber;
50export function parsePhoneNumberWithError(text: string, defaultCountry: CountryCode, metadata: Metadata): PhoneNumber;
51
52// `parsePhoneNumberFromString()` named export is now considered legacy:
53// it has been promoted to a default export due to being too verbose.
54export function parsePhoneNumberFromString(text: string, metadata: Metadata): PhoneNumber;
55export function parsePhoneNumberFromString(text: string, defaultCountry: CountryCode | { defaultCountry?: CountryCode, defaultCallingCode?: string }, metadata: Metadata): PhoneNumber;
56
57export default parsePhoneNumberFromString;
58
59export function parse(text: string, metadata: Metadata): ParsedNumber;
60export function parse(text: string, options: CountryCode | ParseNumberOptions, metadata: Metadata): ParsedNumber;
61
62export function parseNumber(text: string, metadata: Metadata): ParsedNumber | {};
63export function parseNumber(text: string, options: CountryCode | ParseNumberOptions, metadata: Metadata): ParsedNumber | {};
64
65// `format()` and `formatCustom` are deprecated.
66// Use `formatNumber()` and `formatNumberCustom()` instead.
67export function format(parsedNumber: ParsedNumber, format: NumberFormat, metadata: Metadata): string;
68export function format(phone: NationalNumber, format: NumberFormat, metadata: Metadata): string;
69export function format(phone: NationalNumber, country: CountryCode, format: NumberFormat, metadata: Metadata): string;
70
71export function formatNumber(parsedNumber: ParsedNumber, format: NumberFormat, metadata: Metadata): string;
72export function formatNumber(parsedNumber: ParsedNumber, format: NumberFormat, options: FormatNumberOptions, metadata: Metadata): string;
73
74export function formatNumber(phone: NationalNumber, format: NumberFormat, metadata: Metadata): string;
75export function formatNumber(phone: NationalNumber, format: NumberFormat, options: FormatNumberOptions, metadata: Metadata): string;
76
77export function formatNumber(phone: NationalNumber, country: CountryCode, format: NumberFormat, metadata: Metadata): string;
78export function formatNumber(phone: NationalNumber, country: CountryCode, format: NumberFormat, options: FormatNumberOptions, metadata: Metadata): string;
79
80export function getNumberType(parsedNumber: ParsedNumber, metadata: Metadata): NumberType;
81export function getNumberType(phone: NationalNumber, metadata: Metadata): NumberType;
82export function getNumberType(phone: NationalNumber, country: CountryCode, metadata: Metadata): NumberType;
83
84export function getExampleNumber(country: CountryCode, examples: { [country in CountryCode]: NationalNumber }, metadata: Metadata): PhoneNumber | undefined;
85
86export function isPossibleNumber(parsedNumber: ParsedNumber, metadata: Metadata): boolean;
87export function isPossibleNumber(phone: NationalNumber, metadata: Metadata): boolean;
88export function isPossibleNumber(phone: NationalNumber, country: CountryCode, metadata: Metadata): boolean;
89
90export function isValidNumber(parsedNumber: ParsedNumber, metadata: Metadata): boolean;
91export function isValidNumber(phone: NationalNumber, metadata: Metadata): boolean;
92export function isValidNumber(phone: NationalNumber, country: CountryCode, metadata: Metadata): boolean;
93
94export function isValidNumberForRegion(phone: NationalNumber, country: CountryCode, metadata: Metadata): boolean;
95
96// Deprecated.
97export function findParsedNumbers(text: string, metadata: Metadata): NumberFoundLegacy[];
98export function findParsedNumbers(text: string, options: CountryCode | { defaultCountry?: CountryCode }, metadata: Metadata): NumberFoundLegacy[];
99
100// Deprecated.
101export function searchParsedNumbers(text: string, metadata: Metadata): IterableIterator<NumberFoundLegacy>;
102export function searchParsedNumbers(text: string, options: CountryCode | { defaultCountry?: CountryCode }, metadata: Metadata): IterableIterator<NumberFoundLegacy>;
103
104// Deprecated.
105export class ParsedNumberSearch {
106 constructor(text: string, metadata: Metadata);
107 constructor(text: string, options: { defaultCountry?: CountryCode }, metadata: Metadata);
108 hasNext(): boolean;
109 next(): NumberFoundLegacy | undefined;
110}
111
112export function findNumbers(text: string, metadata: Metadata): NumberFoundLegacy[];
113export function findNumbers(text: string, options: CountryCode | { defaultCountry?: CountryCode, v2: true }, metadata: Metadata): NumberFound[];
114
115export function searchNumbers(text: string, metadata: Metadata): IterableIterator<NumberFoundLegacy>;
116export function searchNumbers(text: string, options: CountryCode | { defaultCountry?: CountryCode, v2: true }, metadata: Metadata): IterableIterator<NumberFound>;
117
118export function findPhoneNumbersInText(text: string, metadata: Metadata): NumberFound[];
119export function findPhoneNumbersInText(text: string, options: CountryCode | { defaultCountry?: CountryCode, defaultCallingCode?: string }, metadata: Metadata): NumberFound[];
120
121export function searchPhoneNumbersInText(text: string, metadata: Metadata): IterableIterator<NumberFound>;
122export function searchPhoneNumbersInText(text: string, options: CountryCode | { defaultCountry?: CountryCode, defaultCallingCode?: string }, metadata: Metadata): IterableIterator<NumberFound>;
123
124export class PhoneNumberMatcher {
125 constructor(text: string, metadata: Metadata);
126 constructor(text: string, options: { defaultCountry?: CountryCode, v2: true }, metadata: Metadata);
127 hasNext(): boolean;
128 next(): NumberFound | undefined;
129}
130
131export function getCountries(metadata: Metadata): CountryCode[];
132export function getCountryCallingCode(countryCode: CountryCode, metadata: Metadata): CountryCallingCode;
133// Deprecated
134export function getPhoneCode(countryCode: CountryCode, metadata: Metadata): CountryCallingCode;
135export function getExtPrefix(countryCode: CountryCode, metadata: Metadata): string;
136export function isSupportedCountry(countryCode: CountryCode, metadata: Metadata): boolean;
137
138export function formatIncompletePhoneNumber(number: string, metadata: Metadata): string;
139export function formatIncompletePhoneNumber(number: string, countryCode: CountryCode, metadata: Metadata): string;
140export function parseIncompletePhoneNumber(text: string): string;
141export function parsePhoneNumberCharacter(character: string): string;
142export function parseDigits(character: string): string;
143
144export class AsYouType {
145 constructor(defaultCountryCode: CountryCode | { defaultCountry?: CountryCode, defaultCallingCode?: string } | undefined, metadata: Metadata);
146 input(text: string): string;
147 reset(): void;
148 country: CountryCode | undefined;
149 getNumber(): PhoneNumber | undefined;
150 getNationalNumber(): string;
151 getChars(): string;
152 getTemplate(): string;
153}
154
155// The exported `Metadata` name is already used for exporting the "raw" JSON metadata type.
156// Then, `Metadata` class has become exported, but its name is already taken, so TypeScript users seem to be unable to use the `Metadata` class.
157// If someone knows a solution then they could propose it in an issue.
158// export class Metadata {
159// ...
160// }
\No newline at end of file