@refinitiv-ui/i18n 5.3.0-alpha.2 → 5.3.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/constants.d.ts +2 -0
- package/lib/constants.js +2 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.js +3 -0
- package/lib/lang-attribute-observer.d.ts +33 -0
- package/lib/lang-attribute-observer.js +68 -0
- package/lib/memoiser.d.ts +58 -0
- package/lib/memoiser.js +123 -0
- package/lib/translate.d.ts +39 -0
- package/lib/translate.js +110 -0
- package/lib/types.d.ts +64 -0
- package/lib/types.js +1 -0
- package/package.json +3 -3
- package/tsconfig.tsbuildinfo +1 -0
package/lib/constants.js
ADDED
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type { TranslateOptions, TranslateMessage, TranslateParams, UnicodeExtensions, MessageFormats, MessageOptions } from './types';
|
|
2
|
+
export { LangObserverCallback, LangAttributeObserver } from './lang-attribute-observer.js';
|
|
3
|
+
export { t, clearCache, resolveLocale, clearCachedRecord } from './translate.js';
|
|
4
|
+
export { DEFAULT_LOCALE } from './constants.js';
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
declare type LangObserverCallback = () => void;
|
|
2
|
+
/**
|
|
3
|
+
* An abstract class to observe `lang` attribute changes
|
|
4
|
+
* on element and document element
|
|
5
|
+
*/
|
|
6
|
+
declare abstract class LangAttributeObserver {
|
|
7
|
+
private static documentObserver;
|
|
8
|
+
private static elements;
|
|
9
|
+
private static callbacks;
|
|
10
|
+
private static startObserving;
|
|
11
|
+
private static stopObserving;
|
|
12
|
+
private static onDocumentLang;
|
|
13
|
+
private static documentChangeCallback;
|
|
14
|
+
/**
|
|
15
|
+
* Start observing `lang` changes on element
|
|
16
|
+
* @param element An element
|
|
17
|
+
* @param callback A callback to run when `lang` has changed
|
|
18
|
+
* @returns {void}
|
|
19
|
+
*/
|
|
20
|
+
static observe(element: HTMLElement, callback: LangObserverCallback): void;
|
|
21
|
+
/**
|
|
22
|
+
* Disconnect `lang` element observer from element
|
|
23
|
+
* @param element An element
|
|
24
|
+
* @returns {void}
|
|
25
|
+
*/
|
|
26
|
+
static disconnect(element: HTMLElement): void;
|
|
27
|
+
/**
|
|
28
|
+
* Get document element lang
|
|
29
|
+
* @returns lang
|
|
30
|
+
*/
|
|
31
|
+
static get documentLang(): string;
|
|
32
|
+
}
|
|
33
|
+
export { LangObserverCallback, LangAttributeObserver };
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MutationObserver configuration
|
|
3
|
+
*/
|
|
4
|
+
const OBSERVER_CONFIG = {
|
|
5
|
+
attributes: true,
|
|
6
|
+
attributeFilter: ['lang']
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* An abstract class to observe `lang` attribute changes
|
|
10
|
+
* on element and document element
|
|
11
|
+
*/
|
|
12
|
+
class LangAttributeObserver {
|
|
13
|
+
static startObserving(element, callback) {
|
|
14
|
+
const observer = new MutationObserver(() => callback());
|
|
15
|
+
observer.observe(element, OBSERVER_CONFIG);
|
|
16
|
+
return observer;
|
|
17
|
+
}
|
|
18
|
+
static stopObserving(observer) {
|
|
19
|
+
observer.disconnect();
|
|
20
|
+
}
|
|
21
|
+
static onDocumentLang() {
|
|
22
|
+
this.callbacks.forEach(this.documentChangeCallback);
|
|
23
|
+
}
|
|
24
|
+
static documentChangeCallback(callback, element) {
|
|
25
|
+
if (!element.lang) {
|
|
26
|
+
callback();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Start observing `lang` changes on element
|
|
31
|
+
* @param element An element
|
|
32
|
+
* @param callback A callback to run when `lang` has changed
|
|
33
|
+
* @returns {void}
|
|
34
|
+
*/
|
|
35
|
+
static observe(element, callback) {
|
|
36
|
+
if (!this.documentObserver) {
|
|
37
|
+
this.documentObserver = this.startObserving(document.documentElement, this.onDocumentLang.bind(this));
|
|
38
|
+
}
|
|
39
|
+
this.callbacks.set(element, callback);
|
|
40
|
+
if (this.elements.has(element)) {
|
|
41
|
+
this.stopObserving(this.elements.get(element));
|
|
42
|
+
}
|
|
43
|
+
this.elements.set(element, this.startObserving(element, callback));
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Disconnect `lang` element observer from element
|
|
47
|
+
* @param element An element
|
|
48
|
+
* @returns {void}
|
|
49
|
+
*/
|
|
50
|
+
static disconnect(element) {
|
|
51
|
+
this.callbacks.delete(element);
|
|
52
|
+
if (!this.callbacks.size && this.documentObserver) {
|
|
53
|
+
this.stopObserving(this.documentObserver);
|
|
54
|
+
this.documentObserver = null;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get document element lang
|
|
59
|
+
* @returns lang
|
|
60
|
+
*/
|
|
61
|
+
static get documentLang() {
|
|
62
|
+
return document.documentElement.lang;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
LangAttributeObserver.documentObserver = null;
|
|
66
|
+
LangAttributeObserver.elements = new WeakMap();
|
|
67
|
+
LangAttributeObserver.callbacks = new Map();
|
|
68
|
+
export { LangAttributeObserver };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { TranslateOptions, TranslateMessage, MessageFormats, MessageOptions } from './types';
|
|
2
|
+
declare abstract class Memoiser {
|
|
3
|
+
/**
|
|
4
|
+
* There is no right answer when to delete memoised function
|
|
5
|
+
* To crete a new intl object is expensive, as well as to keep all memoised functions in memory
|
|
6
|
+
* might not be what the developer want
|
|
7
|
+
* Therefore set a timer and delete memoised function if not in use
|
|
8
|
+
*/
|
|
9
|
+
private static Timeout;
|
|
10
|
+
private static interval;
|
|
11
|
+
private static memoiseMap;
|
|
12
|
+
private static getMemoiseKey;
|
|
13
|
+
private static clearRecord;
|
|
14
|
+
private static setInterval;
|
|
15
|
+
private static intervalCallback;
|
|
16
|
+
private static clearInterval;
|
|
17
|
+
private static hasRecords;
|
|
18
|
+
/**
|
|
19
|
+
* Get IntlMessageFormat memoised function
|
|
20
|
+
* @param scope Scope
|
|
21
|
+
* @param locale Locale
|
|
22
|
+
* @param key Key
|
|
23
|
+
* @param message Message
|
|
24
|
+
* @param [formats] Override Formats
|
|
25
|
+
* @param [opts] Options
|
|
26
|
+
* @returns IntlMessageFormat
|
|
27
|
+
*/
|
|
28
|
+
private static get;
|
|
29
|
+
/**
|
|
30
|
+
* Clear all cached records
|
|
31
|
+
* @param scope Scope
|
|
32
|
+
* @param locale Local
|
|
33
|
+
* @returns {void}
|
|
34
|
+
*/
|
|
35
|
+
static clear(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Delete cached record
|
|
38
|
+
* @param scope Scope
|
|
39
|
+
* @param locale Local
|
|
40
|
+
* @returns {void}
|
|
41
|
+
*/
|
|
42
|
+
static delete(scope: string, locale: string): void;
|
|
43
|
+
/**
|
|
44
|
+
* Get a formatted localised string
|
|
45
|
+
* @param scope Scope
|
|
46
|
+
* @param locale Locale
|
|
47
|
+
* @param key Key
|
|
48
|
+
* @param message Message
|
|
49
|
+
* @param [options] Additional options to format the string
|
|
50
|
+
* @param [formats] Optional object with user defined options for format styles.
|
|
51
|
+
* @param [opts] Optional options.
|
|
52
|
+
* - formatters: Map containing memoized formatters for performance.
|
|
53
|
+
* - ignoreTag: Whether to treat HTML/XML tags as string literal instead of parsing them as tag token. When this is false we only allow simple tags without any attributes
|
|
54
|
+
* @returns formatted message
|
|
55
|
+
*/
|
|
56
|
+
static format(scope: string, locale: string, key: string, message: TranslateMessage, options?: TranslateOptions, formats?: MessageFormats, opts?: MessageOptions): string;
|
|
57
|
+
}
|
|
58
|
+
export { Memoiser };
|
package/lib/memoiser.js
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
// see https://github.com/formatjs/formatjs/tree/main/packages/intl-format-cache
|
|
2
|
+
// to understand more why memoiser is required
|
|
3
|
+
import IntlMessageFormat from 'intl-messageformat';
|
|
4
|
+
import memoizeFormatConstructor from 'intl-format-cache';
|
|
5
|
+
class Memoiser {
|
|
6
|
+
static getMemoiseKey(scope, locale) {
|
|
7
|
+
return `${scope}|${locale}`;
|
|
8
|
+
}
|
|
9
|
+
static clearRecord(memoiseKey) {
|
|
10
|
+
delete this.memoiseMap[memoiseKey];
|
|
11
|
+
}
|
|
12
|
+
static setInterval() {
|
|
13
|
+
if (this.interval === null) {
|
|
14
|
+
this.interval = window.setInterval(() => this.intervalCallback(), this.Timeout);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
static intervalCallback() {
|
|
18
|
+
const now = Date.now();
|
|
19
|
+
let memoiseKey;
|
|
20
|
+
for (memoiseKey in this.memoiseMap) {
|
|
21
|
+
const { time } = this.memoiseMap[memoiseKey];
|
|
22
|
+
if (now - time > this.Timeout) {
|
|
23
|
+
this.clearRecord(memoiseKey);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (!this.hasRecords()) {
|
|
27
|
+
this.clearInterval();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
static clearInterval() {
|
|
31
|
+
if (this.interval) {
|
|
32
|
+
clearInterval(this.interval);
|
|
33
|
+
this.interval = null;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
static hasRecords() {
|
|
37
|
+
return Object.keys(this.memoiseMap).length > 0;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Get IntlMessageFormat memoised function
|
|
41
|
+
* @param scope Scope
|
|
42
|
+
* @param locale Locale
|
|
43
|
+
* @param key Key
|
|
44
|
+
* @param message Message
|
|
45
|
+
* @param [formats] Override Formats
|
|
46
|
+
* @param [opts] Options
|
|
47
|
+
* @returns IntlMessageFormat
|
|
48
|
+
*/
|
|
49
|
+
static get(scope, locale, key, message, formats, opts) {
|
|
50
|
+
const memoiseKey = this.getMemoiseKey(scope, locale);
|
|
51
|
+
let memoised = this.memoiseMap[memoiseKey];
|
|
52
|
+
// set the formatter first
|
|
53
|
+
if (!memoised) {
|
|
54
|
+
memoised = {
|
|
55
|
+
formatter: memoizeFormatConstructor(IntlMessageFormat),
|
|
56
|
+
keys: {},
|
|
57
|
+
time: 0
|
|
58
|
+
};
|
|
59
|
+
this.memoiseMap[memoiseKey] = memoised;
|
|
60
|
+
}
|
|
61
|
+
// keys collection stores all memoised keys
|
|
62
|
+
const { keys, formatter } = memoised;
|
|
63
|
+
let format = keys[key];
|
|
64
|
+
if (!format) {
|
|
65
|
+
format = formatter(message, locale, formats, opts);
|
|
66
|
+
keys[key] = format;
|
|
67
|
+
}
|
|
68
|
+
// reset self timeout
|
|
69
|
+
memoised.time = Date.now();
|
|
70
|
+
this.setInterval();
|
|
71
|
+
return format;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Clear all cached records
|
|
75
|
+
* @param scope Scope
|
|
76
|
+
* @param locale Local
|
|
77
|
+
* @returns {void}
|
|
78
|
+
*/
|
|
79
|
+
static clear() {
|
|
80
|
+
this.memoiseMap = {};
|
|
81
|
+
this.clearInterval();
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Delete cached record
|
|
85
|
+
* @param scope Scope
|
|
86
|
+
* @param locale Local
|
|
87
|
+
* @returns {void}
|
|
88
|
+
*/
|
|
89
|
+
static delete(scope, locale) {
|
|
90
|
+
const memoiseKey = this.getMemoiseKey(scope, locale);
|
|
91
|
+
this.clearRecord(memoiseKey);
|
|
92
|
+
if (!this.hasRecords()) {
|
|
93
|
+
this.clearInterval();
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Get a formatted localised string
|
|
98
|
+
* @param scope Scope
|
|
99
|
+
* @param locale Locale
|
|
100
|
+
* @param key Key
|
|
101
|
+
* @param message Message
|
|
102
|
+
* @param [options] Additional options to format the string
|
|
103
|
+
* @param [formats] Optional object with user defined options for format styles.
|
|
104
|
+
* @param [opts] Optional options.
|
|
105
|
+
* - formatters: Map containing memoized formatters for performance.
|
|
106
|
+
* - ignoreTag: Whether to treat HTML/XML tags as string literal instead of parsing them as tag token. When this is false we only allow simple tags without any attributes
|
|
107
|
+
* @returns formatted message
|
|
108
|
+
*/
|
|
109
|
+
static format(scope, locale, key, message, options, formats, opts) {
|
|
110
|
+
const intlMessage = this.get(scope, locale, key, message, formats, opts);
|
|
111
|
+
return String(intlMessage.format(options)); /* need casting as default return is unknown */
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* There is no right answer when to delete memoised function
|
|
116
|
+
* To crete a new intl object is expensive, as well as to keep all memoised functions in memory
|
|
117
|
+
* might not be what the developer want
|
|
118
|
+
* Therefore set a timer and delete memoised function if not in use
|
|
119
|
+
*/
|
|
120
|
+
Memoiser.Timeout = 30 * 60 * 1000; // 30 minutes
|
|
121
|
+
Memoiser.interval = null; /* used to run through map to clean it */
|
|
122
|
+
Memoiser.memoiseMap = {};
|
|
123
|
+
export { Memoiser };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { TranslateOptions, TranslateParams } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Resolve translation from provided locale. For instance:
|
|
4
|
+
* if `supported=['en', 'zh-Hant', 'zh-Hans']`
|
|
5
|
+
* - en -> en
|
|
6
|
+
* - en-GB -> en
|
|
7
|
+
* - en-US -> en
|
|
8
|
+
* - ru -> ''
|
|
9
|
+
* - zh -> ''
|
|
10
|
+
* - zh-Hant -> zh-Hant
|
|
11
|
+
* - zh-Hant-HK -> zh-Hant
|
|
12
|
+
* @param scope Scope
|
|
13
|
+
* @param locale Locale to resolve
|
|
14
|
+
* @returns resolved locale
|
|
15
|
+
*/
|
|
16
|
+
declare const resolveLocale: (scope: string, locale: string) => string;
|
|
17
|
+
/**
|
|
18
|
+
* Clear all cached records
|
|
19
|
+
* @returns {void}
|
|
20
|
+
*/
|
|
21
|
+
declare const clearCache: () => void;
|
|
22
|
+
/**
|
|
23
|
+
* A helper method to clear cache for specific scope and locale
|
|
24
|
+
* @param scope Scope
|
|
25
|
+
* @param locale Locale
|
|
26
|
+
* @returns {void}
|
|
27
|
+
*/
|
|
28
|
+
declare const clearCachedRecord: (scope: string, locale: string) => void;
|
|
29
|
+
/**
|
|
30
|
+
* Get translation message from Phrasebook
|
|
31
|
+
* @param scope Scope
|
|
32
|
+
* @param locale Locale
|
|
33
|
+
* @param key Translation key
|
|
34
|
+
* @param options Translate options as key value combination
|
|
35
|
+
* @param translateParams Translate parameters
|
|
36
|
+
* @returns Promise<message>
|
|
37
|
+
*/
|
|
38
|
+
declare const t: (scope: string, locale: string, key: string, options?: TranslateOptions | undefined, translateParams?: TranslateParams | undefined) => Promise<string>;
|
|
39
|
+
export { t, resolveLocale, clearCache, clearCachedRecord };
|
package/lib/translate.js
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { Phrasebook } from '@refinitiv-ui/phrasebook';
|
|
2
|
+
import { supportedLocales } from '@formatjs/intl-utils';
|
|
3
|
+
import { DEFAULT_LOCALE } from './constants.js';
|
|
4
|
+
import { Memoiser } from './memoiser.js';
|
|
5
|
+
/**
|
|
6
|
+
* Resolve translation from provided locale. For instance:
|
|
7
|
+
* if `supported=['en', 'zh-Hant', 'zh-Hans']`
|
|
8
|
+
* - en -> en
|
|
9
|
+
* - en-GB -> en
|
|
10
|
+
* - en-US -> en
|
|
11
|
+
* - ru -> ''
|
|
12
|
+
* - zh -> ''
|
|
13
|
+
* - zh-Hant -> zh-Hant
|
|
14
|
+
* - zh-Hant-HK -> zh-Hant
|
|
15
|
+
* @param scope Scope
|
|
16
|
+
* @param locale Locale to resolve
|
|
17
|
+
* @returns resolved locale
|
|
18
|
+
*/
|
|
19
|
+
const resolveLocale = (scope, locale) => {
|
|
20
|
+
if (!locale) {
|
|
21
|
+
return '';
|
|
22
|
+
}
|
|
23
|
+
const supported = Phrasebook.supported(scope);
|
|
24
|
+
// pick the first available locale in priority.
|
|
25
|
+
return supportedLocales(supported, [locale])[0] || '';
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Clear all cached records
|
|
29
|
+
* @returns {void}
|
|
30
|
+
*/
|
|
31
|
+
const clearCache = () => {
|
|
32
|
+
Memoiser.clear();
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* A helper method to clear cache for specific scope and locale
|
|
36
|
+
* @param scope Scope
|
|
37
|
+
* @param locale Locale
|
|
38
|
+
* @returns {void}
|
|
39
|
+
*/
|
|
40
|
+
const clearCachedRecord = (scope, locale) => {
|
|
41
|
+
const resolvedLocale = resolveLocale(scope, locale);
|
|
42
|
+
if (resolvedLocale) {
|
|
43
|
+
Memoiser.delete(scope, locale);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Add unicode extensions to locale. E.g: 'en-u-hc-h24-ca-islamic'
|
|
48
|
+
* Note: if unicode extensions are passed with the locale itself, override those.
|
|
49
|
+
* @param locale Locale to add extension
|
|
50
|
+
* @param unicodeExtensions A list of extension
|
|
51
|
+
* @returns locale with unicode extensions
|
|
52
|
+
*/
|
|
53
|
+
const parseUnicodeExtensions = (locale, unicodeExtensions) => {
|
|
54
|
+
if (!unicodeExtensions) {
|
|
55
|
+
return locale;
|
|
56
|
+
}
|
|
57
|
+
const extensions = [];
|
|
58
|
+
const localeUSplit = locale.split('-u-');
|
|
59
|
+
locale = localeUSplit[0];
|
|
60
|
+
const localeExtensions = {};
|
|
61
|
+
if (localeUSplit[1]) {
|
|
62
|
+
const split = localeUSplit[1].split('-'); // name-value pairs
|
|
63
|
+
while (split.length) {
|
|
64
|
+
const name = String(split.shift());
|
|
65
|
+
const value = split.shift() || '';
|
|
66
|
+
localeExtensions[name] = value;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
unicodeExtensions = Object.assign(localeExtensions, unicodeExtensions);
|
|
70
|
+
for (const name in unicodeExtensions) {
|
|
71
|
+
extensions.push(name, unicodeExtensions[name]);
|
|
72
|
+
}
|
|
73
|
+
if (extensions.length) {
|
|
74
|
+
locale += `-u-${extensions.join('-')}`;
|
|
75
|
+
}
|
|
76
|
+
return locale;
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Get translation message from Phrasebook
|
|
80
|
+
* @param scope Scope
|
|
81
|
+
* @param locale Locale
|
|
82
|
+
* @param key Translation key
|
|
83
|
+
* @param options Translate options as key value combination
|
|
84
|
+
* @param translateParams Translate parameters
|
|
85
|
+
* @returns Promise<message>
|
|
86
|
+
*/
|
|
87
|
+
const t = (scope, locale, key, options, translateParams) => {
|
|
88
|
+
try {
|
|
89
|
+
let resolvedLocale = resolveLocale(scope, locale);
|
|
90
|
+
if (!resolvedLocale && locale !== DEFAULT_LOCALE) {
|
|
91
|
+
// requested locale is not found in scope. Fallback to default locale
|
|
92
|
+
locale = DEFAULT_LOCALE;
|
|
93
|
+
resolvedLocale = resolveLocale(scope, locale);
|
|
94
|
+
}
|
|
95
|
+
const translation = resolvedLocale ? Phrasebook.get(resolvedLocale, scope) : null;
|
|
96
|
+
if (!translation || !translation[key]) {
|
|
97
|
+
// eslint-disable-next-line no-console
|
|
98
|
+
console.warn(`elf-i18n: "${key}" is not found in scope: "${scope}", locale: "${locale}" translations`);
|
|
99
|
+
return Promise.resolve(key);
|
|
100
|
+
}
|
|
101
|
+
if (translateParams === null || translateParams === void 0 ? void 0 : translateParams.unicodeExtensions) {
|
|
102
|
+
locale = parseUnicodeExtensions(locale, translateParams === null || translateParams === void 0 ? void 0 : translateParams.unicodeExtensions);
|
|
103
|
+
}
|
|
104
|
+
return Promise.resolve(Memoiser.format(scope, locale, key, translation[key], options, translateParams === null || translateParams === void 0 ? void 0 : translateParams.formats, translateParams === null || translateParams === void 0 ? void 0 : translateParams.options));
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
return Promise.reject(error);
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
export { t, resolveLocale, clearCache, clearCachedRecord };
|
package/lib/types.d.ts
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { MessageFormatElement } from '@formatjs/icu-messageformat-parser';
|
|
2
|
+
import { Formats, Options } from 'intl-messageformat';
|
|
3
|
+
declare type TranslateOptions = {
|
|
4
|
+
[key: string]: unknown;
|
|
5
|
+
};
|
|
6
|
+
declare type TranslateMessage = string | MessageFormatElement[];
|
|
7
|
+
declare type MessageFormats = Partial<Formats>;
|
|
8
|
+
declare type MessageOptions = Options;
|
|
9
|
+
/**
|
|
10
|
+
* BCP 47 unicode extensions.
|
|
11
|
+
* Check http://unicode.org/reports/tr35/ for full list of extensions
|
|
12
|
+
*/
|
|
13
|
+
declare type UnicodeExtensions = {
|
|
14
|
+
/**
|
|
15
|
+
* Numbering system
|
|
16
|
+
* For instance: 'thai', 'roman', 'latn'
|
|
17
|
+
*/
|
|
18
|
+
nu?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Calendar
|
|
21
|
+
* For instance: 'iso8601', 'gregory', 'persian'
|
|
22
|
+
*/
|
|
23
|
+
ca?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Hour cycle
|
|
26
|
+
* For instance: 'h11', 'h12', 'h23', 'h24'
|
|
27
|
+
*/
|
|
28
|
+
hc?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Custom extensions, like:
|
|
31
|
+
* cf - currency format
|
|
32
|
+
* cu - currency type
|
|
33
|
+
* em - emoji style
|
|
34
|
+
* and many others
|
|
35
|
+
*/
|
|
36
|
+
[key: string]: string | undefined;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Translate parameters
|
|
40
|
+
*/
|
|
41
|
+
declare type TranslateParams = {
|
|
42
|
+
/**
|
|
43
|
+
* BCP 47 unicode extensions
|
|
44
|
+
*/
|
|
45
|
+
unicodeExtensions?: UnicodeExtensions;
|
|
46
|
+
/**
|
|
47
|
+
* Intl.IntlMessageFormat optional object with user defined options for format styles.
|
|
48
|
+
* e.g. to define custom date formatter, to be used with {{ date, date, calendar }}
|
|
49
|
+
* date: { calendar: { day: 'numeric', month: 'long', year: 'numeric', timeZone: 'UTC', calendar: 'gregory' } }
|
|
50
|
+
*
|
|
51
|
+
* See more: https://formatjs.io/docs/intl-messageformat
|
|
52
|
+
*/
|
|
53
|
+
formats?: MessageFormats;
|
|
54
|
+
/**
|
|
55
|
+
* Intl.IntlMessageFormat optional options.
|
|
56
|
+
* - formatters: Map containing memoized formatters for performance.
|
|
57
|
+
* - ignoreTag: Whether to treat HTML/XML tags as string literal instead of parsing them as tag token.
|
|
58
|
+
* When this is false we only allow simple tags without any attributes
|
|
59
|
+
*
|
|
60
|
+
* See more: https://formatjs.io/docs/intl-messageformat
|
|
61
|
+
*/
|
|
62
|
+
options?: MessageOptions;
|
|
63
|
+
};
|
|
64
|
+
export { TranslateOptions, TranslateParams, TranslateMessage, UnicodeExtensions, MessageFormats, MessageOptions };
|
package/lib/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@refinitiv-ui/i18n",
|
|
3
|
-
"version": "5.3.0-alpha.
|
|
3
|
+
"version": "5.3.0-alpha.3",
|
|
4
4
|
"description": "i18n support for Web Components",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"module": "./lib/index.js",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"scripts": {
|
|
14
14
|
"build": "tsc --sourceMap --declarationMap",
|
|
15
15
|
"build:watch": "npm run build -- --watch --preserveWatchOutput",
|
|
16
|
-
"build:prod": "
|
|
16
|
+
"build:prod": "tsc",
|
|
17
17
|
"lint": "eslint .",
|
|
18
18
|
"lint:fix": "eslint . --fix",
|
|
19
19
|
"test": "npm run build && karma start ../../karma.config.js --package=i18n --include-snapshots=false",
|
|
@@ -37,5 +37,5 @@
|
|
|
37
37
|
"publishConfig": {
|
|
38
38
|
"access": "public"
|
|
39
39
|
},
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "cb929517d9748c633b917fa83bbbfbdbe93863a1"
|
|
41
41
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/tslib/tslib.d.ts","./src/constants.ts","../../node_modules/@formatjs/ecma402-abstract/CanonicalizeLocaleList.d.ts","../../node_modules/@formatjs/ecma402-abstract/CanonicalizeTimeZoneName.d.ts","../../node_modules/@formatjs/ecma402-abstract/CoerceOptionsToObject.d.ts","../../node_modules/@formatjs/ecma402-abstract/GetNumberOption.d.ts","../../node_modules/@formatjs/ecma402-abstract/GetOption.d.ts","../../node_modules/@formatjs/ecma402-abstract/GetOptionsObject.d.ts","../../node_modules/@formatjs/ecma402-abstract/IsSanctionedSimpleUnitIdentifier.d.ts","../../node_modules/@formatjs/ecma402-abstract/IsValidTimeZoneName.d.ts","../../node_modules/@formatjs/ecma402-abstract/IsWellFormedCurrencyCode.d.ts","../../node_modules/@formatjs/ecma402-abstract/IsWellFormedUnitIdentifier.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/core.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/plural-rules.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/number.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/ComputeExponent.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/ComputeExponentForMagnitude.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/CurrencyDigits.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/FormatNumericToParts.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/FormatNumericToString.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/InitializeNumberFormat.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/PartitionNumberPattern.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/SetNumberFormatDigitOptions.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/SetNumberFormatUnitOptions.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/ToRawFixed.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/ToRawPrecision.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/format_to_parts.d.ts","../../node_modules/@formatjs/ecma402-abstract/PartitionPattern.d.ts","../../node_modules/@formatjs/ecma402-abstract/SupportedLocales.d.ts","../../node_modules/@formatjs/ecma402-abstract/utils.d.ts","../../node_modules/@formatjs/ecma402-abstract/data.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/relative-time.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/date-time.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/list.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/displaynames.d.ts","../../node_modules/@formatjs/ecma402-abstract/262.d.ts","../../node_modules/@formatjs/ecma402-abstract/index.d.ts","../../node_modules/@formatjs/icu-skeleton-parser/date-time.d.ts","../../node_modules/@formatjs/icu-skeleton-parser/number.d.ts","../../node_modules/@formatjs/icu-skeleton-parser/index.d.ts","../../node_modules/@formatjs/icu-messageformat-parser/types.d.ts","../../node_modules/@formatjs/icu-messageformat-parser/error.d.ts","../../node_modules/@formatjs/icu-messageformat-parser/parser.d.ts","../../node_modules/@formatjs/icu-messageformat-parser/index.d.ts","../../node_modules/intl-messageformat/src/formatters.d.ts","../../node_modules/intl-messageformat/src/core.d.ts","../../node_modules/intl-messageformat/src/error.d.ts","../../node_modules/intl-messageformat/index.d.ts","./src/types.ts","./src/lang-attribute-observer.ts","../phrasebook/lib/types.d.ts","../phrasebook/lib/translation.d.ts","../phrasebook/lib/index.d.ts","../../node_modules/@formatjs/intl-utils/src/diff.d.ts","../../node_modules/@formatjs/intl-utils/src/types.d.ts","../../node_modules/@formatjs/intl-utils/src/plural-rules-types.d.ts","../../node_modules/@formatjs/intl-utils/src/number-types.d.ts","../../node_modules/@formatjs/intl-utils/src/polyfill-utils.d.ts","../../node_modules/@formatjs/intl-utils/src/resolve-locale.d.ts","../../node_modules/@formatjs/intl-utils/src/units.d.ts","../../node_modules/@formatjs/intl-utils/src/relative-time-types.d.ts","../../node_modules/@formatjs/intl-utils/src/list-types.d.ts","../../node_modules/@formatjs/intl-utils/src/displaynames-types.d.ts","../../node_modules/@formatjs/intl-utils/src/invariant.d.ts","../../node_modules/@formatjs/intl-utils/index.d.ts","../../node_modules/intl-format-cache/index.d.ts","./src/memoiser.ts","./src/translate.ts","./src/index.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/accepts/index.d.ts","../../node_modules/@types/babel__code-frame/index.d.ts","../../node_modules/@babel/types/lib/index.d.ts","../../node_modules/@types/babel__generator/index.d.ts","../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../node_modules/@types/babel__template/index.d.ts","../../node_modules/@types/babel__traverse/index.d.ts","../../node_modules/@types/babel__core/index.d.ts","../../node_modules/@types/connect/index.d.ts","../../node_modules/@types/body-parser/index.d.ts","../../node_modules/@types/browserslist-useragent/index.d.ts","../../node_modules/@types/caniuse-api/index.d.ts","../../node_modules/@types/chai/index.d.ts","../../node_modules/@types/chai-dom/index.d.ts","../../node_modules/moment/ts3.1-typings/moment.d.ts","../../node_modules/@types/chart.js/index.d.ts","../../node_modules/@types/qs/index.d.ts","../../node_modules/@types/co-body/index.d.ts","../../node_modules/@types/command-line-args/index.d.ts","../../node_modules/@types/command-line-usage/index.d.ts","../../node_modules/@types/component-emitter/index.d.ts","../../node_modules/@types/content-disposition/index.d.ts","../../node_modules/@types/convert-source-map/index.d.ts","../../node_modules/@types/cookie/index.d.ts","../../node_modules/@types/keygrip/index.d.ts","../../node_modules/@types/range-parser/index.d.ts","../../node_modules/@types/express-serve-static-core/index.d.ts","../../node_modules/@types/mime/index.d.ts","../../node_modules/@types/serve-static/index.d.ts","../../node_modules/@types/express/index.d.ts","../../node_modules/@types/cookies/index.d.ts","../../node_modules/@types/cors/index.d.ts","../../node_modules/@types/d3-color/index.d.ts","../../node_modules/@types/d3-interpolate/index.d.ts","../../node_modules/@types/debounce/index.d.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/etag/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/http-assert/index.d.ts","../../node_modules/@types/http-errors/index.d.ts","../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../node_modules/@types/istanbul-lib-report/index.d.ts","../../node_modules/@types/istanbul-reports/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/koa-compose/index.d.ts","../../node_modules/@types/koa/index.d.ts","../../node_modules/@types/koa-compress/index.d.ts","../../node_modules/@types/koa-etag/index.d.ts","../../node_modules/@types/koa-send/index.d.ts","../../node_modules/@types/koa-static/index.d.ts","../../node_modules/@types/koa__cors/index.d.ts","../../node_modules/@types/lru-cache/index.d.ts","../../node_modules/@types/mime-types/index.d.ts","../../node_modules/@types/minimist/index.d.ts","../../node_modules/@types/mocha/index.d.ts","../../node_modules/@types/normalize-package-data/index.d.ts","../../node_modules/@types/parse-json/index.d.ts","../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts","../../node_modules/@types/parse5/index.d.ts","../../node_modules/@types/path-is-inside/index.d.ts","../../node_modules/@types/resolve/index.d.ts","../../node_modules/@types/sinon/node_modules/@sinonjs/fake-timers/types/fake-timers-src.d.ts","../../node_modules/@types/sinon/index.d.ts","../../node_modules/@types/sinon-chai/index.d.ts","../../node_modules/@types/trusted-types/lib/index.d.ts","../../node_modules/@types/trusted-types/index.d.ts","../../node_modules/@types/whatwg-url/index.d.ts","../../node_modules/@types/ws/index.d.ts"],"fileInfos":[{"version":"89f78430e422a0f06d13019d60d5a45b37ec2d28e67eb647f73b1b0d19a46b72","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940",{"version":"abba1071bfd89e55e88a054b0c851ea3e8a494c340d0f3fab19eb18f6afb0c9e","affectsGlobalScope":true},{"version":"927cb2b60048e1395b183bf74b2b80a75bdb1dbe384e1d9fac654313ea2fb136","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"4378fc8122ec9d1a685b01eb66c46f62aba6b239ca7228bb6483bcf8259ee493","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"d071129cba6a5f2700be09c86c07ad2791ab67d4e5ed1eb301d6746c62745ea4","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"12f4cfe2fe60b810c3174537bc2ddb20c1067b7768643d12cb1266fd183afb75","9b7a271fe79492e92c3f40bf99eb0144fe64b8f5ecd09616cf590ea37d241b61","13f6a3df166c16f3dcf81a87c26d9803c7fd7895e7fcc71b7c149f52ee24b639","1ee5885d5027d5193ecacf31e8ed6b6f03a3a6de2e4fb37a3280b71e65915af1","494bf82a2bd0cf241e89fdb21dd46f273e530f49f6599a985b7852f7322fc192","0edc48b402f3efa10343c59746b269ec3cab88ea08be63d73014c78d372e94ab","ba9f6d4253a5b902ddb60345aead6f691b89292f9387068bf99d9928e839a9af","eabe0e0f52a2c58966cbbed77ea6b13ff3efdab453d411c88fbf91ba4964a5ff","257369022582c2220790c87a487fda57b264e1dcb16bb9ce34172345e7f933f3","5753b9cbd5ea496f68d4459b83a5091c0dbb33a896434d2f43c5f5b9e3f4ffa8","abbf59b2100d962d82f9c842c4a20cb5db35aee74175e5c942b361138870d8eb","f408d89ab81d183abcdaaf9961ebe9ef1a892064c5790b4b87af0b7d05a43240","eb974217eac7354c2ee28c68b1fefb3aebb5839c7da0dc8b2e1670eb1bb73fc3","20f33c814aaef326c0e3f2e37f627f8e3b22d85b0859a1b47c1013f1eaa0b628","4c32e274c22c133d96fa3bd1e66af0e213c88d37372598442247e1ea2b3f3616","b446fafdc7c077bec8f3117e200fd8e8606799ef212804a58bae3b7cd3ac353c","bfd64f97f7e12d92ad6c50caddd7a5e91080ccf15e887d4574646dda09b5b8d5","4475d3f490464dd09f29d5a590392ebc9f3026a79f2f0ba247f7b3f2acc01655","09eae5649c2133876c6c07137142b2786f858ef7f2269c24c2320dc950ab1866","f2061152503791189f5fcee1e6000e1db3601a60dba32011e6ee2c3a12f23510","03e162e0e48312346141962cf4dd2aa1569a58feff88a33ac579840d24c3d165","29f7e25ee9edb7ac875d3fea892e6328a439b55b6dd994431d55315dced635ae","a1e456a92e80e7884ed0bf9c83eac71e31a7ec949eb5982d36811154bed6fb1f","3a378f155a084b9722c89ffc3d2b2ab62f50603aa80fd5d5614ade949007a891","4a254ae095bd9e42bb24b0b539fa3ad0889089f0f56c7f8b63acf2adfd4ada66","ca32554db1a6962f85143e6e9216883c0e439408541d4379eac2b80aed60cb5f","64a89eb80302eca86236ef2f40dd6b914aa42f35a7384893e7fe864b6961695f","99bb361d32c05762ab4ac1d647f750eb2e280070e30011b5feff952327d07844","19a5ca90bcba89bd8fcb7e02c379ca017dce60050e1e7671bf45f68d921870cc","84747db6b80b4e5567c21a82cbaeda7a9810307ba4023ff5ffcd90e1f7713172","214c8b4c06c4858b93230b16745a7a480cef4524b0e7745ef64755ee9b81aaf6","dea3cf3a10d7caaededded8f0a794ce9f8b17da31ccbb8ee9159d7bd2fce42ac","51dc756ec3df8a7599ef0d16268cf7cd429d5d226ceb53cf8f85657a4ade6c29","4480de0ded16219521ccf012892091e5ec44863039c965ff1664f7f4799f4126","eeaf71356de97a805f3dfb0dd93a16196da7d2480955063a79216a8fd4f1414b","c38905d6fda359cf384b9306d6b9782a1b055e6670c7894b0ffda04c81b8e59a","6beedecf272c57713b780ee23040cf45adbfedb92f893b4be80ad11fe42c1cbe","3e873837e506db540c03f5e1069427b11ed7e1a016bd29c0d83fb4c4ea9d519f","b85018c97705258ff235ae9ac44d532ab3546eb5d0354123bd781e8bea3bdc18","4386eea018b5f6eadd8dc9dc407642369bea81dcaebe64dc30285e736b102343","69818b78af77862718c44e8236defa5fd318281de3ea1a8d43f3b350439589a4","cd41024509c20e761a3bd6ce8a976f1a79ae8193e1fdba46396744136d1b6bd0","81b6d7ff019d77399bdebae52a370011cea01943fc7c2016c3dc846839206df0","407bddb7f03e070e7969eb2bc19bf931cb76ddbe2761326b8ca1f0cccb6bd35b","1135099814b6525159e76fa51f295bf05942f0d9ef84c7030f0a7ad7563531f5","5cca0d064ddbcbde07a28b74038b3f5c6b9cd41d328fd927b060da5d3c59da7b","aa29954e994b2c4566ff98b0ca2313aeffcf60924aa140053efd916a15127c6a","4e799b631914398921cd8edda132320100399522cc3c8809d7c4dad89a697c5b","b4432e5754516015885b940e22df3a7d6f029cfab9645c23a1aec10affc945ff","f1b6f13db02a0064e1c50fe2b09f219b04422786b85491c8babdb3f43dc52a68","7a0f79b526b2c8d5ef2f01abd10b2ed16274f6824cfe88e5033fdb57fb4ba7dd","d6fb032aba2e16463502e909e7022a006430ba80f04eae6a86932b66aea29364","d63cf71176fe30f0a3120a95fd0669b130b40bd560ddccfd799b089a2d4ed6b6","93f1f0dd74f1f2816c40c13c916952d7dbcdb69606d86fb28d984dd2fba2a067","0366b3fa8d01da15186ac6a09eab7a43ade5d44b9b100fc7fa9d311a25fe505c","1eaedf821c75a94b7cbbd636643312bd53694decb71be681ac3e414a140b93e3","5f16227234824bb1d4a857c53c384217185f6f373b6863fbbc50136baa56a6cc","9291d6299e19b59a45f734ae6c97fc6f642c1009b772e138b91db197ff115eef","30ec44129f22584b60afdfcd7e783b8991ad6d50895a39c5bb3a267adf8563ad","e14cb76ee0ae7632f38c738a71f540b9ec9b4f5675704688dc6059addc813b34","b4423ffe74183f243190a9f0ecd74f71a6c4ee245c622222c1b647a6703bb76e","6503ce675bb2e46edc40560059b6a63b6535a25ceb414ae096ec8ea9ffc57a06","57dfc916942b39303628af26fe856b9fa0bf59e8b6e0c3cabb286b6a3921bea7","387d0471a01ff536b633ef7acf4a2eca9c64c6041ffe7b85794933510e5f99a7","16b42aa05bfdc4738eb95aba97209316f9a1cb7cc138a7b4ea3acc6f09cfd3c7","6967c67788bab272bd6661a60a8716a5916163525f1626a5a857e5a0639d8362","73739a929041eeda79c43209e739f230252343bd8e28463d2384c61ff5860029","f7a890b4366c8cb3b22ce22437dd13a18a8f26013a0da11232a5717c166976f4","82877fa6703de854be5c55043a87bc2a94d48b042669154a1eac03c210ba76b1","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"2a801b0322994c3dd7f0ef30265d19b3dd3bae6d793596879166ed6219c3da68","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","bcc8caf03ee65fe8610d258752f255fbdddbb2e4de7b6c5628956a5a0d859ec8","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"7a5459efa09ea82088234e6533a203d528c594b01787fb90fba148885a36e8b6","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","ad41bb744149e92adb06eb953da195115620a3f2ad48e7d3ae04d10762dae197","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"5d0a9ea09d990b5788f867f1c79d4878f86f7384cb7dab38eecbf22f9efd063d","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"8207e7e6db9aa5fc7e61c8f17ba74cf9c115d26f51f91ee93f790815a7ea9dfb","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"cfe724f7c694aab65a9bdd1acb05997848c504548c9d4c71645c187a091cfa2a","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","e383ff72aabf294913f8c346f5da1445ae6ad525836d28efd52cbadc01a361a6","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7","1835259a20b9fa6b1882931375b69ae5978195f2b139b4e0db51ec8319261649","28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"0b3eba6dca8c6e534d16ef7b7d76cb546cd3cbab616c8f71daa0a151b5412b9e","6738101ae8e56cd3879ab3f99630ada7d78097fc9fd334df7e766216778ca219","b95f751a58d283cb5e32f2655361f6e2a27f0368f69edc463a3472aae21d1303","d5d7b68f5369a210c235cd65458369888f8b839192d088c964f21cab3ac954db","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","64b867c61effed7b5bc0cc06b3d8eac23b067a3fba581fc7d3c292fa593e6a45","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","3b043cf9a81854a72963fdb57d1884fc4da1cf5be69b5e0a4c5b751e58cb6d88","dd5647a9ccccb2b074dca8a02b00948ac293091ebe73fdf2e6e98f718819f669","6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","afc559c1b93df37c25aef6b3dfa2d64325b0e112e887ee18bf7e6f4ec383fc90","9eb49645576740f4fb4cca25cadbc0d7e61a218c215e8578dd899b01d5db89d4","d59cea1102bba38053ca19260e37bda2715df10d147c40db92035c0420489358",{"version":"c8747693e5872ad5ef3aa016731a06915e1c34dae987829d9aa5bd40c7a2c54b","affectsGlobalScope":true},{"version":"d95d76d79a0351572ec5b1a6cc1e5c4bce1be82eedeed7278d6f31ea1059fa69","affectsGlobalScope":true},"f97edc4d3b4dd0b32766e9633086497565c37657fb591cc84a35864db4bc2fc5","9f47decc2af980bb05b5c76464c08d23d28363ddf8d5352120f4026b083af8ac","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc","495da6628b9474e31d0636d66c54448bb8d84dbce902e8f70539ef6a525a2d7b","629766229f541d92210f30a92b6038568ec165fab14b7ee53bdf13667da37ca3","29193c018378ca9c8033eaa974c02c1f503e8fcd8a2bf406057c53f7d3fa17a8","567a315b240a060518c532d38a46803b6d35e75dc14a9be435b6dc20c816741e","e4dfe0e169e1cb3c8dd0713972e94e2141595c840ed7387623ac8b29fc6c35b8","c1ea344dc311b2c539ed1e3b4e17e9f4853dc7f348366b51f1d8a09a40fb223f","117ffeecf6c55e25b6446f449ad079029b5e7317399b0a693858faaaea5ca73e","ce013414484233b24f42c0fcfca48a60bb66ab4e13c82953662305e8f1ee4925","16d51f964ec125ad2024cf03f0af444b3bc3ec3614d9345cc54d09bab45c9a4c",{"version":"d2f7baf43dfa349d4010cbd9d64d84cdf3ec26c65fa5f44c8f74f052bedd0b49","affectsGlobalScope":true},"84e3bbd6f80983d468260fdbfeeb431cc81f7ea98d284d836e4d168e36875e86","0b85cb069d0e427ba946e5eb2d86ef65ffd19867042810516d16919f6c1a5aec","15c88bfd1b8dc7231ff828ae8df5d955bae5ebca4cf2bcb417af5821e52299ae","eb96a2321f717bccc3e49e104e299152984b927ea4546b559ae631c06565819c","6fbd58e4015b9ae31ea977d4d549eb24a1102cc798b57ec5d70868b542c06612","c168e28f723898f77b8140887b06baced58aa902327aea3746571756f7a721b5","c24944ff5879b91478b153cf16802b9c6a10cfa3b7d85855813a08431ec2d36a","68c559681a043ca6d622debcce75c4d82446fec08e06bf1066f71d6c325f224e","89ccbe04e737ce613f5f04990271cfa84901446350b8551b0555ddf19319723b","7e510fb0ca02da05976eb0dbfeb42bdb0dc64b78acbb3b5ecf77ddd57ce08cda","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","e98185f4249720ace1921d59c1ff4612fa5c633a183fc9bf28e2e7b8e3c7fd51","6168414aa12d33d0fcfac4f9870aa81ce27e136db6faf182001a5f3792e1d720","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","0359682c54e487c4cab2b53b2b4d35cc8dea4d9914bc6abcdb5701f8b8e745a4","5006668996956580886022c05108e32c742823e1b5652aff7914917233731518","0c52f5366c9146ad79b546e70162c659972a2798522806e8283f3137feab3965","d1494c6dbbe5fca590ca73ccd21d013e6617e9ea19773c9ca7c0f3214df86628","97395602cea957af0cf517d84b651a07e010192db667ba379d36bec40cdbef52","f88d8a4ba9ad0270309cf46121d3dc9fb055bea08ac3e699d2b4673b1e6a25ea","b6360d5b5a52a1d6fc6b9838135f766b638e7c7a03b227974344200be603c150","c2076e1fa255efd41a6f0b6b3b83d4340d88122073e98f9b223dcea8437ee46f","6d727c1f6a7122c04e4f7c164c5e6f460c21ada618856894cdaa6ac25e95f38c","c757372a092924f5c16eaf11a1475b80b95bb4dae49fe3242d2ad908f97d5abe","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"c4c03cf65951d980ba618ae9601d10438730803fc9c8a1f7b34af8739981e205","affectsGlobalScope":true},"6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","fc37aca06f6b8b296c42412a2e75ab53d30cd1fa8a340a3bb328a723fd678377","5f2c582b9ef260cb9559a64221b38606378c1fabe17694592cdfe5975a6d7efa","a0b27b55228349ea85cecd9479ace1009697af44b66527f30526a1539d4e78ea","8a19491eba2108d5c333c249699f40aff05ad312c04a17504573b27d91f0aede","6b40029289530423f407a22755c85b81740f9acfd88d2b53564f8c1657c26660","4b3dc3f0f8b9ead19888d9faeeb7be53881a634c84e05a334ae690794e281d5c",{"version":"0fd3b5704bf037608646df5aa053fd06819ff69302ff6ada9736c300f79df852","affectsGlobalScope":true},"2fcd2d22b1f30555e785105597cd8f57ed50300e213c4f1bbca6ae149f782c38",{"version":"bb4248c7f953233ac52332088fac897d62b82be07244e551d87c5049600b6cf7","affectsGlobalScope":true},"0f048a7e91a4c764f08be48e156c9d274a038cb454d312427214ab4d34a9a5ab","bc81aff061c53a7140270555f4b22da4ecfe8601e8027cf5aa175fbdc7927c31"],"options":{"declaration":true,"declarationMap":false,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"module":5,"noEmitHelpers":true,"outDir":"./lib","rootDir":"./src","sourceMap":false,"strict":true,"target":4},"fileIdsList":[[153,163],[153],[55,153],[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,153],[53,153],[53,54,153],[53,55,153],[81,153],[81,83,153],[81,82,153],[77,80,153],[78,79,153],[77,153],[94,95,96,97,98,99,100,101,102,103,104,153],[95,153],[95,96,153],[97,153],[128,153,160],[153,163,164,165,166,167],[153,163,165],[128,153,160,169],[153,173],[153,175],[128,153,160,177],[128,153,160,169,185,190],[128,153],[153,193],[153,160],[125,128,153,160,177,186],[153,170,177,187,189],[125,126,153,160,198],[153,202],[153,203],[153,207],[153,158,160,207],[153,197,207],[126,153,207],[153,207,210],[125,128,129,133,139,152,153,160,161,182,185,191,200,201,206],[110,153],[113,153],[114,119,153],[115,125,126,133,142,152,153],[115,116,125,133,153],[117,153],[118,119,126,134,153],[119,142,149,153],[120,122,125,133,153],[121,153],[122,123,153],[124,125,153],[125,153],[125,126,127,142,152,153],[125,126,127,142,153],[128,133,142,152,153],[125,126,128,129,133,142,149,152,153],[128,130,142,149,152,153],[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,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159],[125,131,153],[132,152,153],[122,125,133,142,153],[134,153],[135,153],[113,136,153],[137,151,153,157],[138,153],[139,153],[125,140,153],[140,141,153,155],[125,142,143,144,153],[142,144,153],[142,143,153],[145,153],[146,153],[125,147,148,153],[147,148,153],[119,133,142,149,153],[150,153],[133,151,153],[114,128,139,152,153],[119,153],[142,153,154],[153,155],[153,156],[114,119,125,127,136,142,152,153,155,157],[142,153,158],[153,219],[153,220],[128,153,160,188],[153,173,224],[153,223],[153,226],[125,128,130,133,142,149,152,153,158,160],[85,86,87,153],[84,85,153],[77,84,153],[41,153],[41,42,89,90,108,153],[41,88,89,106,153],[41,42,89,93,105,107,153],[41,84,88,153],[91,92,153],[91,153]],"referencedMap":[[165,1],[163,2],[76,2],[43,2],[44,2],[45,2],[46,2],[47,2],[48,2],[49,2],[50,2],[51,2],[52,2],[56,3],[57,3],[58,2],[59,3],[60,3],[61,3],[62,3],[63,3],[64,3],[65,3],[66,3],[67,3],[68,2],[69,2],[71,2],[77,4],[53,2],[73,2],[75,5],[74,5],[55,6],[54,7],[72,6],[70,2],[82,8],[84,9],[83,10],[81,11],[78,2],[80,12],[79,13],[105,14],[94,2],[103,15],[104,2],[102,15],[97,16],[96,15],[98,17],[101,16],[99,15],[95,2],[100,2],[161,18],[162,2],[168,19],[164,1],[166,20],[167,1],[170,21],[171,2],[172,2],[174,22],[173,2],[176,23],[178,24],[179,2],[180,2],[181,2],[169,18],[182,2],[183,2],[184,2],[191,25],[192,26],[193,2],[194,27],[195,2],[196,2],[197,28],[187,29],[190,30],[199,31],[200,2],[201,2],[202,2],[203,32],[204,33],[205,2],[185,2],[206,34],[208,35],[209,36],[210,37],[211,38],[207,39],[212,34],[213,2],[214,2],[188,2],[198,2],[215,2],[216,2],[110,40],[111,40],[113,41],[114,42],[115,43],[116,44],[117,45],[118,46],[119,47],[120,48],[121,49],[122,50],[123,50],[124,51],[125,52],[126,53],[127,54],[112,2],[159,2],[128,55],[129,56],[130,57],[160,58],[131,59],[132,60],[133,61],[134,62],[135,63],[136,64],[137,65],[138,66],[139,67],[140,68],[141,69],[142,70],[144,71],[143,72],[145,73],[146,74],[147,75],[148,76],[149,77],[150,78],[151,79],[152,80],[153,81],[154,82],[155,83],[156,84],[157,85],[158,86],[217,2],[218,2],[220,87],[219,88],[221,2],[177,2],[186,2],[222,28],[189,89],[225,90],[224,91],[223,2],[227,92],[226,2],[228,28],[229,93],[106,2],[88,94],[86,95],[87,2],[85,96],[175,2],[41,2],[8,2],[9,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[4,2],[23,2],[20,2],[21,2],[22,2],[24,2],[25,2],[26,2],[5,2],[27,2],[28,2],[29,2],[30,2],[6,2],[31,2],[32,2],[33,2],[34,2],[7,2],[39,2],[35,2],[36,2],[37,2],[38,2],[1,2],[40,2],[42,97],[109,98],[90,97],[107,99],[108,100],[89,101],[93,102],[92,103],[91,2]],"exportedModulesMap":[[165,1],[163,2],[76,2],[43,2],[44,2],[45,2],[46,2],[47,2],[48,2],[49,2],[50,2],[51,2],[52,2],[56,3],[57,3],[58,2],[59,3],[60,3],[61,3],[62,3],[63,3],[64,3],[65,3],[66,3],[67,3],[68,2],[69,2],[71,2],[77,4],[53,2],[73,2],[75,5],[74,5],[55,6],[54,7],[72,6],[70,2],[82,8],[84,9],[83,10],[81,11],[78,2],[80,12],[79,13],[105,14],[94,2],[103,15],[104,2],[102,15],[97,16],[96,15],[98,17],[101,16],[99,15],[95,2],[100,2],[161,18],[162,2],[168,19],[164,1],[166,20],[167,1],[170,21],[171,2],[172,2],[174,22],[173,2],[176,23],[178,24],[179,2],[180,2],[181,2],[169,18],[182,2],[183,2],[184,2],[191,25],[192,26],[193,2],[194,27],[195,2],[196,2],[197,28],[187,29],[190,30],[199,31],[200,2],[201,2],[202,2],[203,32],[204,33],[205,2],[185,2],[206,34],[208,35],[209,36],[210,37],[211,38],[207,39],[212,34],[213,2],[214,2],[188,2],[198,2],[215,2],[216,2],[110,40],[111,40],[113,41],[114,42],[115,43],[116,44],[117,45],[118,46],[119,47],[120,48],[121,49],[122,50],[123,50],[124,51],[125,52],[126,53],[127,54],[112,2],[159,2],[128,55],[129,56],[130,57],[160,58],[131,59],[132,60],[133,61],[134,62],[135,63],[136,64],[137,65],[138,66],[139,67],[140,68],[141,69],[142,70],[144,71],[143,72],[145,73],[146,74],[147,75],[148,76],[149,77],[150,78],[151,79],[152,80],[153,81],[154,82],[155,83],[156,84],[157,85],[158,86],[217,2],[218,2],[220,87],[219,88],[221,2],[177,2],[186,2],[222,28],[189,89],[225,90],[224,91],[223,2],[227,92],[226,2],[228,28],[229,93],[106,2],[88,94],[86,95],[87,2],[85,96],[175,2],[41,2],[8,2],[9,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[4,2],[23,2],[20,2],[21,2],[22,2],[24,2],[25,2],[26,2],[5,2],[27,2],[28,2],[29,2],[30,2],[6,2],[31,2],[32,2],[33,2],[34,2],[7,2],[39,2],[35,2],[36,2],[37,2],[38,2],[1,2],[40,2],[42,97],[109,98],[90,97],[107,99],[108,100],[89,101],[93,102],[92,103],[91,2]],"semanticDiagnosticsPerFile":[165,163,76,43,44,45,46,47,48,49,50,51,52,56,57,58,59,60,61,62,63,64,65,66,67,68,69,71,77,53,73,75,74,55,54,72,70,82,84,83,81,78,80,79,105,94,103,104,102,97,96,98,101,99,95,100,161,162,168,164,166,167,170,171,172,174,173,176,178,179,180,181,169,182,183,184,191,192,193,194,195,196,197,187,190,199,200,201,202,203,204,205,185,206,208,209,210,211,207,212,213,214,188,198,215,216,110,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,112,159,128,129,130,160,131,132,133,134,135,136,137,138,139,140,141,142,144,143,145,146,147,148,149,150,151,152,153,154,155,156,157,158,217,218,220,219,221,177,186,222,189,225,224,223,227,226,228,229,106,88,86,87,85,175,41,8,9,11,10,2,12,13,14,15,16,17,18,19,3,4,23,20,21,22,24,25,26,5,27,28,29,30,6,31,32,33,34,7,39,35,36,37,38,1,40,42,109,90,107,108,89,93,92,91]},"version":"4.5.5"}
|