forked from catamphetamine/libphonenumber-js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.d.ts
135 lines (111 loc) · 4.82 KB
/
index.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
// The default export is currently a legacy one.
// (containing legacy functions along with the new API).
// `/min`, `/max`, `/mobile` sub-packages are for the new API only.
import {
Metadata,
PhoneNumber,
E164Number,
CountryCallingCode,
CountryCode,
CarrierCode,
NationalNumber,
Extension,
ParseError,
NumberFound,
NumberType,
NumberFormat
} from './types';
export {
Metadata,
PhoneNumber,
E164Number,
CountryCallingCode,
CountryCode,
CarrierCode,
NationalNumber,
Extension,
ParseError,
NumberFound,
NumberFormat,
NumberType
};
type FormatExtension = (number: string, extension: string, metadata: Metadata) => string
type FormatNumberOptionsWithoutIDD = {
v2?: boolean;
formatExtension?: FormatExtension;
};
export type FormatNumberOptions = {
v2?: boolean;
fromCountry?: CountryCode;
humanReadable?: boolean;
formatExtension?: FormatExtension
};
// Legacy.
export type ParseNumberOptions = {
defaultCountry?: CountryCode;
extended?: boolean;
};
export interface ParsedNumber {
countryCallingCode?: CountryCallingCode,
country: CountryCode,
phone: NationalNumber,
ext?: Extension,
possible?: boolean,
valid?: boolean
}
export function parsePhoneNumber(text: string, defaultCountry?: CountryCode): PhoneNumber;
export function parsePhoneNumberFromString(text: string, defaultCountry?: CountryCode): PhoneNumber;
// `parse()` and `parseCustom` are deprecated.
// Use `fparseNumber()` and `parseNumberCustom()` instead.
export function parse(text: string, options?: CountryCode | ParseNumberOptions): ParsedNumber;
export function parseNumber(text: string, options?: CountryCode | ParseNumberOptions): ParsedNumber;
// `format()` and `formatCustom` are deprecated.
// Use `formatNumber()` and `formatNumberCustom()` instead.
export function format(parsedNumber: ParsedNumber, format: NumberFormat): string;
export function format(phone: NationalNumber, format: NumberFormat): string;
export function format(phone: NationalNumber, country: CountryCode, format: NumberFormat): string;
export function formatNumber(parsedNumber: ParsedNumber, format: NumberFormat, options?: FormatNumberOptions): string;
export function formatNumber(phone: NationalNumber, format: NumberFormat, options?: FormatNumberOptions): string;
export function formatNumber(phone: NationalNumber, country: CountryCode, format: NumberFormat, options?: FormatNumberOptions): string;
export function getNumberType(parsedNumber: ParsedNumber): NumberType;
export function getNumberType(phone: NationalNumber, country?: CountryCode): NumberType;
export function getExampleNumber(country: CountryCode, examples: { [country in CountryCode]: NationalNumber }): PhoneNumber | undefined;
export function isPossibleNumber(parsedNumber: ParsedNumber): boolean;
export function isPossibleNumber(phone: NationalNumber, country?: CountryCode): boolean;
export function isValidNumber(parsedNumber: ParsedNumber): boolean;
export function isValidNumber(phone: NationalNumber, country?: CountryCode): boolean;
export function isValidNumberForRegion(phone: NationalNumber, country: CountryCode): boolean;
// Deprecated.
export function findParsedNumbers(text: string, options?: CountryCode | { defaultCountry?: CountryCode }): NumberFound[];
export function searchParsedNumbers(text: string, options?: CountryCode | { defaultCountry?: CountryCode }): IterableIterator<NumberFound>;
// Deprecated.
export class ParsedNumberSearch {
constructor(text: string, options?: { defaultCountry?: CountryCode });
hasNext(): boolean;
next(): NumberFound | undefined;
}
export function findNumbers(text: string, options?: CountryCode | { defaultCountry?: CountryCode, v2?: boolean }): NumberFound[];
export function searchNumbers(text: string, options?: CountryCode | { defaultCountry?: CountryCode, v2?: boolean }): IterableIterator<NumberFound>;
export class PhoneNumberMatcher {
constructor(text: string, options?: { defaultCountry?: CountryCode, v2?: boolean });
hasNext(): boolean;
next(): NumberFound | undefined;
}
export function getCountryCallingCode(countryCode: CountryCode): CountryCallingCode;
// Deprecated.
export function getPhoneCode(countryCode: CountryCode): CountryCallingCode;
export function getExtPrefix(countryCode: CountryCode): string;
export function isSupportedCountry(countryCode: CountryCode): boolean;
export function formatIncompletePhoneNumber(number: string, countryCode?: CountryCode): 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);
input(text: string): string;
reset(): void;
country: CountryCode | undefined;
getNumber(): PhoneNumber | undefined;
getNationalNumber(): string;
getTemplate(): string | undefined;
}