-
-
Notifications
You must be signed in to change notification settings - Fork 32
/
Copy pathindex.d.ts
71 lines (61 loc) · 1.49 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
interface CookieOptions {
maxAge?: number;
expires?: Date;
httpOnly?: boolean;
path?: string;
domain?: string;
secure?: boolean;
sameSite?: boolean | 'lax' | 'strict' | 'none';
}
interface DetectorOptions {
/**
* order and from where user language should be detected
*/
order?: Array<
'querystring' | 'cookie' | 'sessionStorage' | 'localStorage' | 'navigator' | 'htmlTag' | string
>;
/**
* keys or params to lookup language from
*/
lookupQuerystring?: string;
lookupCookie?: string;
lookupSessionStorage?: string;
lookupLocalStorage?: string;
lookupFromPathIndex?: number;
lookupFromSubdomainIndex?: number;
/**
* cache user language on
*/
caches?: string[];
/**
* languages to not persist (cookie, localStorage)
*/
excludeCacheFor?: string[];
/**
* optional expire for set cookie
* @default 10
*/
cookieMinutes?: number;
/**
* optional domain for set cookie
*/
cookieDomain?: string;
/**
* optional cookie options
*/
cookieOptions?: CookieOptions
/**
* optional htmlTag with lang attribute
* @default document.documentElement
*/
htmlTag?: HTMLElement | null;
}
interface InitOptions extends DetectorOptions {
fallbackLng?: string;
supportedLngs: Array<string>;
}
interface LanguageDetector {
cache?(lng: string, caches?: string[]): void;
detect(detectionOrders?: string | string[]): string | undefined;
}
export default function LanguageDetector(options: InitOptions): LanguageDetector