@esfaenza/localizations 11.2.9 → 11.2.11
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/bundles/esfaenza-localizations.umd.js +622 -182
- package/bundles/esfaenza-localizations.umd.js.map +1 -1
- package/bundles/esfaenza-localizations.umd.min.js +15 -1
- package/bundles/esfaenza-localizations.umd.min.js.map +1 -1
- package/esfaenza-localizations.d.ts +2 -1
- package/esfaenza-localizations.metadata.json +1 -1
- package/esm2015/esfaenza-localizations.js +3 -2
- package/esm2015/lib/core/localization.base.js +82 -158
- package/esm2015/lib/core/localization.persistor.js +103 -0
- package/esm2015/lib/locale-persistor/LocalStorageCachePersistor.js +22 -0
- package/esm2015/lib/locale-persistor/LocalePersistor.js +8 -0
- package/esm2015/lib/localizations.module.js +12 -4
- package/esm2015/lib/localizations.service.js +54 -34
- package/esm2015/lib/models/BaseLocalizationTokens.js +14 -0
- package/esm2015/lib/models/ItemLocalization.js +18 -0
- package/esm2015/lib/models/LocaleDefinitions.js +32 -0
- package/esm2015/lib/models/LocaleObject.js +18 -0
- package/esm2015/lib/models/LocalizationMissingPolicy.js +11 -0
- package/esm2015/lib/models/LocalizationModuleConfig.js +6 -0
- package/esm2015/lib/models/SpecializedLocalization.js +16 -0
- package/esm2015/lib/tokens.js +4 -4
- package/esm2015/public-api.js +5 -2
- package/fesm2015/esfaenza-localizations.js +260 -172
- package/fesm2015/esfaenza-localizations.js.map +1 -1
- package/lib/core/localization.base.d.ts +12 -59
- package/lib/core/localization.persistor.d.ts +57 -0
- package/lib/locale-persistor/LocalStorageCachePersistor.d.ts +8 -0
- package/lib/locale-persistor/LocalePersistor.d.ts +18 -0
- package/lib/localizations.module.d.ts +1 -1
- package/lib/localizations.service.d.ts +11 -17
- package/lib/models/BaseLocalizationTokens.d.ts +12 -0
- package/lib/models/LocalizationMissingPolicy.d.ts +9 -0
- package/lib/models/LocalizationModuleConfig.d.ts +17 -0
- package/lib/tokens.d.ts +4 -3
- package/package.json +1 -1
- package/public-api.d.ts +4 -1
- package/esm2015/lib/models/classes/ItemLocalization.js +0 -18
- package/esm2015/lib/models/classes/LocaleDefinitions.js +0 -32
- package/esm2015/lib/models/classes/LocaleObject.js +0 -18
- package/esm2015/lib/models/classes/LocalizationModuleConfig.js +0 -6
- package/esm2015/lib/models/classes/SpecializedLocalization.js +0 -16
- package/esm2015/lib/models/index.js +0 -6
- package/lib/models/classes/LocalizationModuleConfig.d.ts +0 -9
- package/lib/models/index.d.ts +0 -5
- /package/lib/models/{classes/ItemLocalization.d.ts → ItemLocalization.d.ts} +0 -0
- /package/lib/models/{classes/LocaleDefinitions.d.ts → LocaleDefinitions.d.ts} +0 -0
- /package/lib/models/{classes/LocaleObject.d.ts → LocaleObject.d.ts} +0 -0
- /package/lib/models/{classes/SpecializedLocalization.d.ts → SpecializedLocalization.d.ts} +0 -0
|
@@ -1,9 +1,15 @@
|
|
|
1
|
+
// Angular
|
|
1
2
|
import { NgModule } from '@angular/core';
|
|
2
|
-
|
|
3
|
-
import { LocalizationService } from './localizations.service';
|
|
3
|
+
// Pipe
|
|
4
4
|
import { LocDatePipe } from './pipes/loc_date.pipe';
|
|
5
5
|
import { LocalizePipe } from './pipes/localize.pipe';
|
|
6
|
+
// Servizi
|
|
7
|
+
import { LocalizationService } from './localizations.service';
|
|
6
8
|
import { BaseLocalization } from './core/localization.base';
|
|
9
|
+
import { LocalePersistor } from './locale-persistor/LocalePersistor';
|
|
10
|
+
import { LocalStorageLocalePersistor } from './locale-persistor/LocalStorageCachePersistor';
|
|
11
|
+
import { LocalizationMissingPolicy } from './models/LocalizationMissingPolicy';
|
|
12
|
+
import { LOC_LOCALE, LOC_MISSING_POLICY } from './tokens';
|
|
7
13
|
export class LocalizationModule {
|
|
8
14
|
static forRoot(config) {
|
|
9
15
|
return {
|
|
@@ -11,7 +17,9 @@ export class LocalizationModule {
|
|
|
11
17
|
providers: [
|
|
12
18
|
LocalizationService,
|
|
13
19
|
BaseLocalization,
|
|
14
|
-
{ provide: LOC_LOCALE, useValue: (config === null || config === void 0 ? void 0 : config.
|
|
20
|
+
{ provide: LOC_LOCALE, useValue: (config === null || config === void 0 ? void 0 : config.defaultLocale) || 'it-IT' },
|
|
21
|
+
{ provide: LOC_MISSING_POLICY, useValue: (config === null || config === void 0 ? void 0 : config.localizationMissingPolicy) || LocalizationMissingPolicy.PrintEmpty },
|
|
22
|
+
{ provide: LocalePersistor, useClass: (config === null || config === void 0 ? void 0 : config.localePersistor) || LocalStorageLocalePersistor },
|
|
15
23
|
]
|
|
16
24
|
};
|
|
17
25
|
}
|
|
@@ -22,4 +30,4 @@ LocalizationModule.decorators = [
|
|
|
22
30
|
exports: [LocalizePipe, LocDatePipe]
|
|
23
31
|
},] }
|
|
24
32
|
];
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9sb2NhbGl6YXRpb25zL3NyYy9saWIvbG9jYWxpemF0aW9ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU87QUFDUCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJELFVBQVU7QUFDVixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFJNUYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDL0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQU0xRCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBaUM7UUFDOUMsT0FBTztZQUNMLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsU0FBUyxFQUFFO2dCQUNULG1CQUFtQjtnQkFDbkIsZ0JBQWdCO2dCQUNoQixFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLENBQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLGFBQWEsS0FBSSxPQUFPLEVBQUU7Z0JBQ25FLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxDQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSx5QkFBeUIsS0FBSSx5QkFBeUIsQ0FBQyxVQUFVLEVBQUM7Z0JBQ25ILEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsZUFBZSxLQUFJLDJCQUEyQixFQUFFO2FBQy9GO1NBQ0YsQ0FBQztJQUNKLENBQUM7OztZQWhCRixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQztnQkFDekMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQzthQUNyQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8vIFBpcGVcclxuaW1wb3J0IHsgTG9jRGF0ZVBpcGUgfSBmcm9tICcuL3BpcGVzL2xvY19kYXRlLnBpcGUnO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZVBpcGUgfSBmcm9tICcuL3BpcGVzL2xvY2FsaXplLnBpcGUnO1xyXG5cclxuLy8gU2Vydml6aVxyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9sb2NhbGl6YXRpb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXNlTG9jYWxpemF0aW9uIH0gZnJvbSAnLi9jb3JlL2xvY2FsaXphdGlvbi5iYXNlJztcclxuaW1wb3J0IHsgTG9jYWxlUGVyc2lzdG9yIH0gZnJvbSAnLi9sb2NhbGUtcGVyc2lzdG9yL0xvY2FsZVBlcnNpc3Rvcic7XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnZUxvY2FsZVBlcnNpc3RvciB9IGZyb20gJy4vbG9jYWxlLXBlcnNpc3Rvci9Mb2NhbFN0b3JhZ2VDYWNoZVBlcnNpc3Rvcic7XHJcblxyXG4vLyBNb2RlbGxpXHJcbmltcG9ydCB7IExvY2FsaXphdGlvbk1vZHVsZUNvbmZpZyB9IGZyb20gJy4vbW9kZWxzL0xvY2FsaXphdGlvbk1vZHVsZUNvbmZpZyc7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvbk1pc3NpbmdQb2xpY3kgfSBmcm9tICcuL21vZGVscy9Mb2NhbGl6YXRpb25NaXNzaW5nUG9saWN5JztcclxuaW1wb3J0IHsgTE9DX0xPQ0FMRSwgTE9DX01JU1NJTkdfUE9MSUNZIH0gZnJvbSAnLi90b2tlbnMnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtMb2NhbGl6ZVBpcGUsIExvY0RhdGVQaXBlXSxcclxuICBleHBvcnRzOiBbTG9jYWxpemVQaXBlLCBMb2NEYXRlUGlwZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIExvY2FsaXphdGlvbk1vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QoY29uZmlnPzogTG9jYWxpemF0aW9uTW9kdWxlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxMb2NhbGl6YXRpb25Nb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBMb2NhbGl6YXRpb25Nb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIExvY2FsaXphdGlvblNlcnZpY2UsXHJcbiAgICAgICAgQmFzZUxvY2FsaXphdGlvbixcclxuICAgICAgICB7IHByb3ZpZGU6IExPQ19MT0NBTEUsIHVzZVZhbHVlOiBjb25maWc/LmRlZmF1bHRMb2NhbGUgfHwgJ2l0LUlUJyB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogTE9DX01JU1NJTkdfUE9MSUNZLCB1c2VWYWx1ZTogY29uZmlnPy5sb2NhbGl6YXRpb25NaXNzaW5nUG9saWN5IHx8IExvY2FsaXphdGlvbk1pc3NpbmdQb2xpY3kuUHJpbnRFbXB0eX0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBMb2NhbGVQZXJzaXN0b3IsIHVzZUNsYXNzOiBjb25maWc/LmxvY2FsZVBlcnNpc3RvciB8fCBMb2NhbFN0b3JhZ2VMb2NhbGVQZXJzaXN0b3IgfSxcclxuICAgICAgXVxyXG4gICAgfTtcclxuICB9XHJcbn0iXX0=
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Injectable, Injector } from '@angular/core';
|
|
3
3
|
import { BaseLocalization } from './core/localization.base';
|
|
4
|
+
import { LocalizationPersistor } from './core/localization.persistor';
|
|
5
|
+
import { LocalePersistor } from './locale-persistor/LocalePersistor';
|
|
6
|
+
import { LOC_MISSING_POLICY } from './tokens';
|
|
7
|
+
import { LocalizationMissingPolicy } from './models/LocalizationMissingPolicy';
|
|
4
8
|
/**
|
|
5
9
|
* Classe di localizzazione estendibile che permette di specificare le proprie localizzazioni e comunque rendere disponibili le localizzazioni globali
|
|
6
10
|
*/
|
|
@@ -8,17 +12,23 @@ export class LocalizationService {
|
|
|
8
12
|
/**
|
|
9
13
|
* Costruttore
|
|
10
14
|
*
|
|
11
|
-
* @param {string}
|
|
15
|
+
* @param {string} Locale Locale da utilizzare nel momento che questo servizio richiede le traduzioni
|
|
12
16
|
* @param {baseLocalization} baseLocalization Classe base di localizzazione già fornita a livello di root dalla libreria stessa.
|
|
13
17
|
* È sufficiente iniettarla nell'eventuale costruttore che estende questa classe e passarla as-is
|
|
14
18
|
*/
|
|
15
|
-
constructor(
|
|
16
|
-
this.
|
|
17
|
-
this.baseLocalization = baseLocalization;
|
|
19
|
+
constructor(injector) {
|
|
20
|
+
this.injector = injector;
|
|
18
21
|
/**
|
|
19
22
|
* Cache di tutte le localizzazioni disonibili all'interno di questa classe
|
|
20
23
|
*/
|
|
21
24
|
this.TranslationCache = {};
|
|
25
|
+
this.LocalePersistor = this.injector.get(LocalePersistor);
|
|
26
|
+
this.baseLocalization = this.injector.get(BaseLocalization);
|
|
27
|
+
this.onMissing = this.injector.get(LOC_MISSING_POLICY);
|
|
28
|
+
this.Persistor = new LocalizationPersistor(this.TranslationCache);
|
|
29
|
+
this.baseLocalization.Locale.subscribe(lr => {
|
|
30
|
+
this.Locale = lr;
|
|
31
|
+
});
|
|
22
32
|
}
|
|
23
33
|
/**
|
|
24
34
|
* Imposta la localizzazione di un token all'interno della **TranslationCache**
|
|
@@ -31,7 +41,7 @@ export class LocalizationService {
|
|
|
31
41
|
* @param {string} right Array con i valori facenti riferimento all'N-esima lingua del lato destro del parametro **direction**
|
|
32
42
|
*/
|
|
33
43
|
setToken(direction, token, left, right) {
|
|
34
|
-
|
|
44
|
+
this.Persistor.setToken(direction, token, left, right);
|
|
35
45
|
}
|
|
36
46
|
/**
|
|
37
47
|
* Imposta la localizzazione di una frase all'interno della **TranslationCache**
|
|
@@ -43,7 +53,13 @@ export class LocalizationService {
|
|
|
43
53
|
* @param {string} right Array con i valori facenti riferimento all'N-esima lingua del lato destro del parametro **direction**
|
|
44
54
|
*/
|
|
45
55
|
set(direction, left, right) {
|
|
46
|
-
|
|
56
|
+
// Controlla di non reinserire la stessa localizzazione presente nel BaseLocalization
|
|
57
|
+
// i controlli per il non reinserimento della stessa localizzazione all'interno della stessa istanza è fatto lato Persistor
|
|
58
|
+
if (this.baseLocalization.Persistor.get(left, false)) {
|
|
59
|
+
console.warn(`La localizzazione per ${left} è già presente fra le localizzazioni base, ignoro l'operazione`);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
this.Persistor.set(direction, left, right);
|
|
47
63
|
}
|
|
48
64
|
/**
|
|
49
65
|
* Localizza un token
|
|
@@ -64,46 +80,50 @@ export class LocalizationService {
|
|
|
64
80
|
* @returns {string} Frase localizzata
|
|
65
81
|
*/
|
|
66
82
|
loc(text, allowtokens) {
|
|
83
|
+
if (!this.Locale)
|
|
84
|
+
throw "Il sistema di localizzazione non ha ancora caricato il Locale, assicurarsi di caricare l'APP solo al retrieve del locale'";
|
|
67
85
|
if (!text || text == "undefined")
|
|
68
86
|
return "";
|
|
69
|
-
// Questo può succedere solo se qualcuno crea questa service a manazza. In quel caso prendo la classe di default e basta
|
|
70
|
-
if (this.baseLocalization == null)
|
|
71
|
-
this.baseLocalization = new BaseLocalization();
|
|
72
87
|
// Prendo la localizzazione o dalla cache attuale o dalla cache del servizio base
|
|
73
|
-
var item =
|
|
88
|
+
var item = this.Persistor.get(text, allowtokens) || this.baseLocalization.Persistor.get(text, allowtokens);
|
|
74
89
|
if (!item) {
|
|
75
|
-
|
|
76
|
-
|
|
90
|
+
let message = `Impossibile trovare la localizzazione per '${text}'`;
|
|
91
|
+
switch (this.onMissing) {
|
|
92
|
+
case LocalizationMissingPolicy.PrintEmpty:
|
|
93
|
+
console.error(message);
|
|
94
|
+
return "";
|
|
95
|
+
case LocalizationMissingPolicy.PrintSource:
|
|
96
|
+
console.warn(message);
|
|
97
|
+
return text;
|
|
98
|
+
case LocalizationMissingPolicy.ThrowException:
|
|
99
|
+
throw message;
|
|
100
|
+
}
|
|
77
101
|
}
|
|
78
|
-
var loc =
|
|
102
|
+
var loc = this.Persistor.translationByCulture(item, this.Locale);
|
|
79
103
|
if (!loc) {
|
|
80
|
-
console.error("
|
|
104
|
+
console.error("Impossibile trovare la localizzazione per '" + text + "', culture " + this.Locale);
|
|
81
105
|
return "";
|
|
82
106
|
}
|
|
83
107
|
return loc.translation;
|
|
84
108
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
if (text == "I")
|
|
98
|
-
return this.loc("Information");
|
|
99
|
-
return "";
|
|
109
|
+
changeLocale(newLocale) {
|
|
110
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
111
|
+
let locale = yield this.LocalePersistor.recover().toPromise();
|
|
112
|
+
if (newLocale == locale) {
|
|
113
|
+
console.info("Il locale richiesto è lo stesso del locale attuale. Ignoro l'operazione");
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
yield this.LocalePersistor.persist(newLocale).toPromise();
|
|
118
|
+
location.reload();
|
|
119
|
+
}
|
|
120
|
+
});
|
|
100
121
|
}
|
|
101
122
|
}
|
|
102
123
|
LocalizationService.decorators = [
|
|
103
124
|
{ type: Injectable }
|
|
104
125
|
];
|
|
105
126
|
LocalizationService.ctorParameters = () => [
|
|
106
|
-
{ type:
|
|
107
|
-
{ type: BaseLocalization }
|
|
127
|
+
{ type: Injector }
|
|
108
128
|
];
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbG9jYWxpemF0aW9ucy9zcmMvbGliL2xvY2FsaXphdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRzVEOztHQUVHO0FBRUgsTUFBTSxPQUFPLG1CQUFtQjtJQU81Qjs7Ozs7O09BTUc7SUFDSCxZQUF3QyxPQUFlLEVBQVUsZ0JBQW1DO1FBQTVELFlBQU8sR0FBUCxPQUFPLENBQVE7UUFBVSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBWnBHOztXQUVHO1FBQ0gscUJBQWdCLEdBQXVDLEVBQUUsQ0FBQztJQVM4QyxDQUFDO0lBRXpHOzs7Ozs7Ozs7T0FTRztJQUNPLFFBQVEsQ0FBQyxTQUFpQixFQUFFLEtBQWEsRUFBRSxJQUFZLEVBQUUsS0FBZTtRQUM5RSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNPLEdBQUcsQ0FBQyxTQUFpQixFQUFFLElBQVksRUFBRSxLQUFlO1FBQzFELGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksS0FBSyxDQUFDLElBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLEdBQUcsQ0FBQyxJQUFZLEVBQUUsV0FBcUI7UUFDMUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksV0FBVztZQUM1QixPQUFPLEVBQUUsQ0FBQztRQUVkLHdIQUF3SDtRQUN4SCxJQUFHLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJO1lBQzVCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUM7UUFFbkQsaUZBQWlGO1FBQ2pGLElBQUksSUFBSSxHQUFHLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzNLLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxPQUFPLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxHQUFHLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztZQUMvRCxPQUFPLEVBQUUsQ0FBQztTQUNiO1FBRUQsSUFBSSxHQUFHLEdBQUcsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQyxrQ0FBa0MsR0FBRyxJQUFJLEdBQUcsYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN4RixPQUFPLEVBQUUsQ0FBQztTQUNiO1FBRUQsT0FBTyxHQUFHLENBQUMsV0FBVyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxXQUFXLENBQUMsSUFBWTtRQUMzQixJQUFJLElBQUksSUFBSSxHQUFHO1lBQUUsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFDLElBQUksSUFBSSxJQUFJLEdBQUc7WUFBRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUMsSUFBSSxJQUFJLElBQUksR0FBRztZQUFFLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoRCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7OztZQW5HSixVQUFVOzs7eUNBZU0sTUFBTSxTQUFDLFVBQVU7WUFyQnpCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTE9DX0xPQ0FMRSB9IGZyb20gJy4vdG9rZW5zJztcbmltcG9ydCB7IEJhc2VMb2NhbGl6YXRpb24gfSBmcm9tICcuL2NvcmUvbG9jYWxpemF0aW9uLmJhc2UnO1xuaW1wb3J0IHsgSXRlbUxvY2FsaXphdGlvbiB9IGZyb20gJy4vbW9kZWxzJztcblxuLyoqXG4gKiBDbGFzc2UgZGkgbG9jYWxpenphemlvbmUgZXN0ZW5kaWJpbGUgY2hlIHBlcm1ldHRlIGRpIHNwZWNpZmljYXJlIGxlIHByb3ByaWUgbG9jYWxpenphemlvbmkgZSBjb211bnF1ZSByZW5kZXJlIGRpc3BvbmliaWxpIGxlIGxvY2FsaXp6YXppb25pIGdsb2JhbGlcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvY2FsaXphdGlvblNlcnZpY2Uge1xuXG4gICAgLyoqXG4gICAgICogQ2FjaGUgZGkgdHV0dGUgbGUgbG9jYWxpenphemlvbmkgZGlzb25pYmlsaSBhbGwnaW50ZXJubyBkaSBxdWVzdGEgY2xhc3NlXG4gICAgICovXG4gICAgVHJhbnNsYXRpb25DYWNoZTogeyBbaWQ6IHN0cmluZ106IEl0ZW1Mb2NhbGl6YXRpb24gfSA9IHt9O1xuXG4gICAgLyoqXG4gICAgICogQ29zdHJ1dHRvcmVcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gYmFzZUxvYyBMb2NhbGUgZGEgdXRpbGl6emFyZSBuZWwgbW9tZW50byBjaGUgcXVlc3RvIHNlcnZpemlvIHJpY2hpZWRlIGxlIHRyYWR1emlvbmlcbiAgICAgKiBAcGFyYW0ge2Jhc2VMb2NhbGl6YXRpb259IGJhc2VMb2NhbGl6YXRpb24gQ2xhc3NlIGJhc2UgZGkgbG9jYWxpenphemlvbmUgZ2nDoCBmb3JuaXRhIGEgbGl2ZWxsbyBkaSByb290IGRhbGxhIGxpYnJlcmlhIHN0ZXNzYS4gXG4gICAgICogw4ggc3VmZmljaWVudGUgaW5pZXR0YXJsYSBuZWxsJ2V2ZW50dWFsZSBjb3N0cnV0dG9yZSBjaGUgZXN0ZW5kZSBxdWVzdGEgY2xhc3NlIGUgcGFzc2FybGEgYXMtaXNcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KExPQ19MT0NBTEUpIHByaXZhdGUgYmFzZUxvYzogc3RyaW5nLCBwcml2YXRlIGJhc2VMb2NhbGl6YXRpb24/OiBCYXNlTG9jYWxpemF0aW9uKSB7IH1cblxuICAgIC8qKlxuICAgICAqIEltcG9zdGEgbGEgbG9jYWxpenphemlvbmUgZGkgdW4gdG9rZW4gYWxsJ2ludGVybm8gZGVsbGEgKipUcmFuc2xhdGlvbkNhY2hlKipcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZGlyZWN0aW9uIERpcmV6aW9uZSBkZWxsYSB0cmFkdXppb25lLCByYXBwcmVzZW50YSBsYSBsaW5ndWEgYmFzZSBpbiBjdWkgYXNwZXR0YXJzaSBpbCB0ZXN0byBlIGxlIHZhcmllIGxpbmd1ZSBpbiBjdWkgdmllbmUgdHJhZG90dGEuXG4gICAgICogQWQgZXNlbXBpbywgXCJlbi0+aXRcIiBpbmRpY2EgY2hlIGlsIHBhcmFtZXRybyAqKmxlZnQqKiDDqCB2YWxpZG8gcGVyIGxlIGxvY2FsaXp6YXppb25pIGluIGluZ2xlc2UsIG1lbnRyZSBuZWxsJ2VsZW1lbnRvIDAgZGVsIHBhcmFtZXRybyAqKnJpZ2h0KiogXG4gICAgICogw6ggcHJlc2VudGUgbCd1bmljYSB0cmFkdXppb25lIGluIGl0YWxpYW5vLCBwZXIgZGVmaW5pcmUgcGnDuSB0cmFkdXppb25pIHN1bCBsYXRvIGRlc3RybyBkZWxsYSBmcmVjY2lhIGJpc29nbmEgY29uY2F0ZW5hcmxlIGNvbiBsYSB2aXJnb2xhLCBhZCBlc2VtcGlvIFwiZW4tPml0LGpwLGVjY1wiXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHRva2VuIE5vbWUgZGVsIHRva2VuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGxlZnQgVmFsb3JlIGRlbCB0b2tlbiBwZXIgbGEgbGluZ3VhIHNwZWNpZmljYXRhIG5lbCBsYXRvIGltbWVkaWF0YW1lbnRlIHNpbmlzdHJvIGFsbGEgZnJlY2NpYSBkZWwgcGFyYW1ldHJvICoqZGlyZWN0aW9uKipcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcmlnaHQgQXJyYXkgY29uIGkgdmFsb3JpIGZhY2VudGkgcmlmZXJpbWVudG8gYWxsJ04tZXNpbWEgbGluZ3VhIGRlbCBsYXRvIGRlc3RybyBkZWwgcGFyYW1ldHJvICoqZGlyZWN0aW9uKipcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgc2V0VG9rZW4oZGlyZWN0aW9uOiBzdHJpbmcsIHRva2VuOiBzdHJpbmcsIGxlZnQ6IHN0cmluZywgcmlnaHQ6IHN0cmluZ1tdKSB7XG4gICAgICAgIEJhc2VMb2NhbGl6YXRpb24uc2V0VG9rZW4odGhpcy5UcmFuc2xhdGlvbkNhY2hlLCBkaXJlY3Rpb24sIHRva2VuLCBsZWZ0LCByaWdodCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW1wb3N0YSBsYSBsb2NhbGl6emF6aW9uZSBkaSB1bmEgZnJhc2UgYWxsJ2ludGVybm8gZGVsbGEgKipUcmFuc2xhdGlvbkNhY2hlKipcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZGlyZWN0aW9uIERpcmV6aW9uZSBkZWxsYSB0cmFkdXppb25lLCByYXBwcmVzZW50YSBsYSBsaW5ndWEgYmFzZSBpbiBjdWkgYXNwZXR0YXJzaSBpbCB0ZXN0byBlIGxlIHZhcmllIGxpbmd1ZSBpbiBjdWkgdmllbmUgdHJhZG90dGEuXG4gICAgICogQWQgZXNlbXBpbywgXCJlbi0+aXRcIiBpbmRpY2EgY2hlIGlsIHBhcmFtZXRybyAqKmxlZnQqKiDDqCB2YWxpZG8gcGVyIGxlIGxvY2FsaXp6YXppb25pIGluIGluZ2xlc2UsIG1lbnRyZSBuZWxsJ2VsZW1lbnRvIDAgZGVsIHBhcmFtZXRybyAqKnJpZ2h0KiogXG4gICAgICogw6ggcHJlc2VudGUgbCd1bmljYSB0cmFkdXppb25lIGluIGl0YWxpYW5vLCBwZXIgZGVmaW5pcmUgcGnDuSB0cmFkdXppb25pIHN1bCBsYXRvIGRlc3RybyBkZWxsYSBmcmVjY2lhIGJpc29nbmEgY29uY2F0ZW5hcmxlIGNvbiBsYSB2aXJnb2xhLCBhZCBlc2VtcGlvIFwiZW4tPml0LGpwLGVjY1wiXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGxlZnQgVmFsb3JlIGRlbGxhIGZyYXNlIHBlciBsYSBsaW5ndWEgc3BlY2lmaWNhdGEgbmVsIGxhdG8gaW1tZWRpYXRhbWVudGUgc2luaXN0cm8gYWxsYSBmcmVjY2lhIGRlbCBwYXJhbWV0cm8gKipkaXJlY3Rpb24qKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSByaWdodCBBcnJheSBjb24gaSB2YWxvcmkgZmFjZW50aSByaWZlcmltZW50byBhbGwnTi1lc2ltYSBsaW5ndWEgZGVsIGxhdG8gZGVzdHJvIGRlbCBwYXJhbWV0cm8gKipkaXJlY3Rpb24qKlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBzZXQoZGlyZWN0aW9uOiBzdHJpbmcsIGxlZnQ6IHN0cmluZywgcmlnaHQ6IHN0cmluZ1tdKSB7XG4gICAgICAgIEJhc2VMb2NhbGl6YXRpb24uc2V0KHRoaXMuVHJhbnNsYXRpb25DYWNoZSwgZGlyZWN0aW9uLCBsZWZ0LCByaWdodCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9jYWxpenphIHVuIHRva2VuXG4gICAgICogXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgSWwgdG9rZW4gZGEgbG9jYWxpenphcmVcbiAgICAgKiBcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUb2tlbiBsb2NhbGl6emF0b1xuICAgICAqL1xuICAgIHB1YmxpYyB0b2tlbih0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2ModGV4dCwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9jYWxpenphIHVuYSBmcmFzZVxuICAgICAqIFxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IEZyYXNlIGRhIGxvY2FsaXp6YXJlXG4gICAgICogQHBhcmFtIHtib29sZWFufSBhbGxvd3Rva2VucyBJbmRpY2Egc2UgbGEgZnJhc2UgKip0ZXh0KiogcG90cmViYmUgZXNzZXJlIHVuIHRva2VuIG8gbm9cbiAgICAgKiBcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBGcmFzZSBsb2NhbGl6emF0YVxuICAgICAqL1xuICAgIHB1YmxpYyBsb2ModGV4dDogc3RyaW5nLCBhbGxvd3Rva2Vucz86IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXRleHQgfHwgdGV4dCA9PSBcInVuZGVmaW5lZFwiKVxuICAgICAgICAgICAgcmV0dXJuIFwiXCI7XG5cbiAgICAgICAgLy8gUXVlc3RvIHB1w7Igc3VjY2VkZXJlIHNvbG8gc2UgcXVhbGN1bm8gY3JlYSBxdWVzdGEgc2VydmljZSBhIG1hbmF6emEuIEluIHF1ZWwgY2FzbyBwcmVuZG8gbGEgY2xhc3NlIGRpIGRlZmF1bHQgZSBiYXN0YVxuICAgICAgICBpZih0aGlzLmJhc2VMb2NhbGl6YXRpb24gPT0gbnVsbClcbiAgICAgICAgICAgIHRoaXMuYmFzZUxvY2FsaXphdGlvbiA9IG5ldyBCYXNlTG9jYWxpemF0aW9uKCk7XG4gICAgICAgICAgICBcbiAgICAgICAgLy8gUHJlbmRvIGxhIGxvY2FsaXp6YXppb25lIG8gZGFsbGEgY2FjaGUgYXR0dWFsZSBvIGRhbGxhIGNhY2hlIGRlbCBzZXJ2aXppbyBiYXNlXG4gICAgICAgIHZhciBpdGVtID0gQmFzZUxvY2FsaXphdGlvbi5maW5kQnlUZXh0KHRoaXMuVHJhbnNsYXRpb25DYWNoZSwgdGV4dCwgYWxsb3d0b2tlbnMpIHx8IEJhc2VMb2NhbGl6YXRpb24uZmluZEJ5VGV4dCh0aGlzLmJhc2VMb2NhbGl6YXRpb24uQmFzZVRyYW5zbGF0aW9ucywgdGV4dCwgYWxsb3d0b2tlbnMpO1xuICAgICAgICBpZiAoIWl0ZW0pIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJDb3VsZG4ndCBmaW5kIGxvY2FsaXphdGlvbiBmb3IgJ1wiICsgdGV4dCArIFwiJ1wiKTtcbiAgICAgICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGxvYyA9IEJhc2VMb2NhbGl6YXRpb24udHJhbnNsYXRpb25CeUN1bHR1cmUoaXRlbSwgdGhpcy5iYXNlTG9jKTtcbiAgICAgICAgaWYgKCFsb2MpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJDb3VsZG4ndCBmaW5kIGxvY2FsaXphdGlvbiBmb3IgJ1wiICsgdGV4dCArIFwiJywgY3VsdHVyZSBcIiArIHRoaXMuYmFzZUxvYyk7XG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBsb2MudHJhbnNsYXRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9jYWxpenphemlvbmUgcGVyIFNldmVyaXR5IGNsYXNzaWNoZSAoRSBwZXIgZXJyb3JlLCBXIHBlciB3YXJuaW5nIGUgSSBwZXIgaW5mbylcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCBTZXZlcml0eSBkYSB0cmFkdXJyZVxuICAgICAqIFxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFNldmVyaXR5IHRyYWRvdHRhXG4gICAgICovXG4gICAgcHVibGljIGxvY1NldmVyaXR5KHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0ZXh0ID09IFwiRVwiKSByZXR1cm4gdGhpcy5sb2MoXCJFcnJvclwiKTtcbiAgICAgICAgaWYgKHRleHQgPT0gXCJXXCIpIHJldHVybiB0aGlzLmxvYyhcIldhcm5pbmdcIik7XG4gICAgICAgIGlmICh0ZXh0ID09IFwiSVwiKSByZXR1cm4gdGhpcy5sb2MoXCJJbmZvcm1hdGlvblwiKTtcbiAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxufSJdfQ==
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbG9jYWxpemF0aW9ucy9zcmMvbGliL2xvY2FsaXphdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUUvRTs7R0FFRztBQUVILE1BQU0sT0FBTyxtQkFBbUI7SUFhNUI7Ozs7OztPQU1HO0lBQ0gsWUFBb0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWxCdEM7O1dBRUc7UUFDSyxxQkFBZ0IsR0FBdUMsRUFBRSxDQUFDO1FBZ0I5RCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUV2RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFbEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FB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QU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQzFELFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNyQjtRQUNMLENBQUM7S0FBQTs7O1lBL0hKLFVBQVU7OztZQVhVLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCYXNlTG9jYWxpemF0aW9uIH0gZnJvbSAnLi9jb3JlL2xvY2FsaXphdGlvbi5iYXNlJztcclxuaW1wb3J0IHsgSXRlbUxvY2FsaXphdGlvbiB9IGZyb20gJy4vbW9kZWxzL0l0ZW1Mb2NhbGl6YXRpb24nO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25QZXJzaXN0b3IgfSBmcm9tICcuL2NvcmUvbG9jYWxpemF0aW9uLnBlcnNpc3Rvcic7XHJcbmltcG9ydCB7IExvY2FsZVBlcnNpc3RvciB9IGZyb20gJy4vbG9jYWxlLXBlcnNpc3Rvci9Mb2NhbGVQZXJzaXN0b3InO1xyXG5pbXBvcnQgeyBMT0NfTUlTU0lOR19QT0xJQ1kgfSBmcm9tICcuL3Rva2Vucyc7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvbk1pc3NpbmdQb2xpY3kgfSBmcm9tICcuL21vZGVscy9Mb2NhbGl6YXRpb25NaXNzaW5nUG9saWN5JztcclxuXHJcbi8qKlxyXG4gKiBDbGFzc2UgZGkgbG9jYWxpenphemlvbmUgZXN0ZW5kaWJpbGUgY2hlIHBlcm1ldHRlIGRpIHNwZWNpZmljYXJlIGxlIHByb3ByaWUgbG9jYWxpenphemlvbmkgZSBjb211bnF1ZSByZW5kZXJlIGRpc3BvbmliaWxpIGxlIGxvY2FsaXp6YXppb25pIGdsb2JhbGlcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIExvY2FsaXphdGlvblNlcnZpY2Uge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FjaGUgZGkgdHV0dGUgbGUgbG9jYWxpenphemlvbmkgZGlzb25pYmlsaSBhbGwnaW50ZXJubyBkaSBxdWVzdGEgY2xhc3NlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgVHJhbnNsYXRpb25DYWNoZTogeyBbaWQ6IHN0cmluZ106IEl0ZW1Mb2NhbGl6YXRpb24gfSA9IHt9O1xyXG5cclxuICAgIHB1YmxpYyBMb2NhbGU6IHN0cmluZztcclxuXHJcbiAgICBwcml2YXRlIGJhc2VMb2NhbGl6YXRpb246IEJhc2VMb2NhbGl6YXRpb247XHJcbiAgICBwcml2YXRlIG9uTWlzc2luZzogTG9jYWxpemF0aW9uTWlzc2luZ1BvbGljeVxyXG4gICAgcHJpdmF0ZSBQZXJzaXN0b3I6IExvY2FsaXphdGlvblBlcnNpc3RvcjtcclxuICAgIHByaXZhdGUgTG9jYWxlUGVyc2lzdG9yOiBMb2NhbGVQZXJzaXN0b3I7XHJcbiAgICAvKipcclxuICAgICAqIENvc3RydXR0b3JlXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBMb2NhbGUgTG9jYWxlIGRhIHV0aWxpenphcmUgbmVsIG1vbWVudG8gY2hlIHF1ZXN0byBzZXJ2aXppbyByaWNoaWVkZSBsZSB0cmFkdXppb25pXHJcbiAgICAgKiBAcGFyYW0ge2Jhc2VMb2NhbGl6YXRpb259IGJhc2VMb2NhbGl6YXRpb24gQ2xhc3NlIGJhc2UgZGkgbG9jYWxpenphemlvbmUgZ2nDoCBmb3JuaXRhIGEgbGl2ZWxsbyBkaSByb290IGRhbGxhIGxpYnJlcmlhIHN0ZXNzYS4gXHJcbiAgICAgKiDDiCBzdWZmaWNpZW50ZSBpbmlldHRhcmxhIG5lbGwnZXZlbnR1YWxlIGNvc3RydXR0b3JlIGNoZSBlc3RlbmRlIHF1ZXN0YSBjbGFzc2UgZSBwYXNzYXJsYSBhcy1pc1xyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgICAgIHRoaXMuTG9jYWxlUGVyc2lzdG9yID0gdGhpcy5pbmplY3Rvci5nZXQoTG9jYWxlUGVyc2lzdG9yKTtcclxuICAgICAgICB0aGlzLmJhc2VMb2NhbGl6YXRpb24gPSB0aGlzLmluamVjdG9yLmdldChCYXNlTG9jYWxpemF0aW9uKTtcclxuICAgICAgICB0aGlzLm9uTWlzc2luZyA9IHRoaXMuaW5qZWN0b3IuZ2V0KExPQ19NSVNTSU5HX1BPTElDWSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgdGhpcy5QZXJzaXN0b3IgPSBuZXcgTG9jYWxpemF0aW9uUGVyc2lzdG9yKHRoaXMuVHJhbnNsYXRpb25DYWNoZSk7XHJcblxyXG4gICAgICAgIHRoaXMuYmFzZUxvY2FsaXphdGlvbi5Mb2NhbGUuc3Vic2NyaWJlKGxyID0+IHtcclxuICAgICAgICAgICAgdGhpcy5Mb2NhbGUgPSBsclxyXG4gICAgICAgIH0pO1xyXG4gICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEltcG9zdGEgbGEgbG9jYWxpenphemlvbmUgZGkgdW4gdG9rZW4gYWxsJ2ludGVybm8gZGVsbGEgKipUcmFuc2xhdGlvbkNhY2hlKipcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGRpcmVjdGlvbiBEaXJlemlvbmUgZGVsbGEgdHJhZHV6aW9uZSwgcmFwcHJlc2VudGEgbGEgbGluZ3VhIGJhc2UgaW4gY3VpIGFzcGV0dGFyc2kgaWwgdGVzdG8gZSBsZSB2YXJpZSBsaW5ndWUgaW4gY3VpIHZpZW5lIHRyYWRvdHRhLlxyXG4gICAgICogQWQgZXNlbXBpbywgXCJlbi0+aXRcIiBpbmRpY2EgY2hlIGlsIHBhcmFtZXRybyAqKmxlZnQqKiDDqCB2YWxpZG8gcGVyIGxlIGxvY2FsaXp6YXppb25pIGluIGluZ2xlc2UsIG1lbnRyZSBuZWxsJ2VsZW1lbnRvIDAgZGVsIHBhcmFtZXRybyAqKnJpZ2h0KiogXHJcbiAgICAgKiDDqCBwcmVzZW50ZSBsJ3VuaWNhIHRyYWR1emlvbmUgaW4gaXRhbGlhbm8sIHBlciBkZWZpbmlyZSBwacO5IHRyYWR1emlvbmkgc3VsIGxhdG8gZGVzdHJvIGRlbGxhIGZyZWNjaWEgYmlzb2duYSBjb25jYXRlbmFybGUgY29uIGxhIHZpcmdvbGEsIGFkIGVzZW1waW8gXCJlbi0+aXQsanAsZWNjXCJcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0b2tlbiBOb21lIGRlbCB0b2tlblxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGxlZnQgVmFsb3JlIGRlbCB0b2tlbiBwZXIgbGEgbGluZ3VhIHNwZWNpZmljYXRhIG5lbCBsYXRvIGltbWVkaWF0YW1lbnRlIHNpbmlzdHJvIGFsbGEgZnJlY2NpYSBkZWwgcGFyYW1ldHJvICoqZGlyZWN0aW9uKipcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSByaWdodCBBcnJheSBjb24gaSB2YWxvcmkgZmFjZW50aSByaWZlcmltZW50byBhbGwnTi1lc2ltYSBsaW5ndWEgZGVsIGxhdG8gZGVzdHJvIGRlbCBwYXJhbWV0cm8gKipkaXJlY3Rpb24qKlxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgc2V0VG9rZW4oZGlyZWN0aW9uOiBzdHJpbmcsIHRva2VuOiBzdHJpbmcsIGxlZnQ6IHN0cmluZywgcmlnaHQ6IHN0cmluZ1tdKSB7XHJcbiAgICAgICAgdGhpcy5QZXJzaXN0b3Iuc2V0VG9rZW4oZGlyZWN0aW9uLCB0b2tlbiwgbGVmdCwgcmlnaHQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW1wb3N0YSBsYSBsb2NhbGl6emF6aW9uZSBkaSB1bmEgZnJhc2UgYWxsJ2ludGVybm8gZGVsbGEgKipUcmFuc2xhdGlvbkNhY2hlKipcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGRpcmVjdGlvbiBEaXJlemlvbmUgZGVsbGEgdHJhZHV6aW9uZSwgcmFwcHJlc2VudGEgbGEgbGluZ3VhIGJhc2UgaW4gY3VpIGFzcGV0dGFyc2kgaWwgdGVzdG8gZSBsZSB2YXJpZSBsaW5ndWUgaW4gY3VpIHZpZW5lIHRyYWRvdHRhLlxyXG4gICAgICogQWQgZXNlbXBpbywgXCJlbi0+aXRcIiBpbmRpY2EgY2hlIGlsIHBhcmFtZXRybyAqKmxlZnQqKiDDqCB2YWxpZG8gcGVyIGxlIGxvY2FsaXp6YXppb25pIGluIGluZ2xlc2UsIG1lbnRyZSBuZWxsJ2VsZW1lbnRvIDAgZGVsIHBhcmFtZXRybyAqKnJpZ2h0KiogXHJcbiAgICAgKiDDqCBwcmVzZW50ZSBsJ3VuaWNhIHRyYWR1emlvbmUgaW4gaXRhbGlhbm8sIHBlciBkZWZpbmlyZSBwacO5IHRyYWR1emlvbmkgc3VsIGxhdG8gZGVzdHJvIGRlbGxhIGZyZWNjaWEgYmlzb2duYSBjb25jYXRlbmFybGUgY29uIGxhIHZpcmdvbGEsIGFkIGVzZW1waW8gXCJlbi0+aXQsanAsZWNjXCJcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBsZWZ0IFZhbG9yZSBkZWxsYSBmcmFzZSBwZXIgbGEgbGluZ3VhIHNwZWNpZmljYXRhIG5lbCBsYXRvIGltbWVkaWF0YW1lbnRlIHNpbmlzdHJvIGFsbGEgZnJlY2NpYSBkZWwgcGFyYW1ldHJvICoqZGlyZWN0aW9uKipcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSByaWdodCBBcnJheSBjb24gaSB2YWxvcmkgZmFjZW50aSByaWZlcmltZW50byBhbGwnTi1lc2ltYSBsaW5ndWEgZGVsIGxhdG8gZGVzdHJvIGRlbCBwYXJhbWV0cm8gKipkaXJlY3Rpb24qKlxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgc2V0KGRpcmVjdGlvbjogc3RyaW5nLCBsZWZ0OiBzdHJpbmcsIHJpZ2h0OiBzdHJpbmdbXSkge1xyXG4gICAgICAgIC8vIENvbnRyb2xsYSBkaSBub24gcmVpbnNlcmlyZSBsYSBzdGVzc2EgbG9jYWxpenphemlvbmUgcHJlc2VudGUgbmVsIEJhc2VMb2NhbGl6YXRpb25cclxuICAgICAgICAvLyBpIGNvbnRyb2xsaSBwZXIgaWwgbm9uIHJlaW5zZXJpbWVudG8gZGVsbGEgc3Rlc3NhIGxvY2FsaXp6YXppb25lIGFsbCdpbnRlcm5vIGRlbGxhIHN0ZXNzYSBpc3RhbnphIMOoIGZhdHRvIGxhdG8gUGVyc2lzdG9yXHJcbiAgICAgICAgaWYgKHRoaXMuYmFzZUxvY2FsaXphdGlvbi5QZXJzaXN0b3IuZ2V0KGxlZnQsIGZhbHNlKSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYExhIGxvY2FsaXp6YXppb25lIHBlciAke2xlZnR9IMOoIGdpw6AgcHJlc2VudGUgZnJhIGxlIGxvY2FsaXp6YXppb25pIGJhc2UsIGlnbm9ybyBsJ29wZXJhemlvbmVgKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLlBlcnNpc3Rvci5zZXQoZGlyZWN0aW9uLCBsZWZ0LCByaWdodCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBMb2NhbGl6emEgdW4gdG9rZW5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgSWwgdG9rZW4gZGEgbG9jYWxpenphcmVcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge3N0cmluZ30gVG9rZW4gbG9jYWxpenphdG9cclxuICAgICAqL1xyXG4gICAgcHVibGljIHRva2VuKHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jKHRleHQsIHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTG9jYWxpenphIHVuYSBmcmFzZVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCBGcmFzZSBkYSBsb2NhbGl6emFyZVxyXG4gICAgICogQHBhcmFtIHtib29sZWFufSBhbGxvd3Rva2VucyBJbmRpY2Egc2UgbGEgZnJhc2UgKip0ZXh0KiogcG90cmViYmUgZXNzZXJlIHVuIHRva2VuIG8gbm9cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge3N0cmluZ30gRnJhc2UgbG9jYWxpenphdGFcclxuICAgICAqL1xyXG4gICAgcHVibGljIGxvYyh0ZXh0OiBzdHJpbmcsIGFsbG93dG9rZW5zPzogYm9vbGVhbik6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKCF0aGlzLkxvY2FsZSlcclxuICAgICAgICAgICAgdGhyb3cgXCJJbCBzaXN0ZW1hIGRpIGxvY2FsaXp6YXppb25lIG5vbiBoYSBhbmNvcmEgY2FyaWNhdG8gaWwgTG9jYWxlLCBhc3NpY3VyYXJzaSBkaSBjYXJpY2FyZSBsJ0FQUCBzb2xvIGFsIHJldHJpZXZlIGRlbCBsb2NhbGUnXCI7XHJcblxyXG4gICAgICAgIGlmICghdGV4dCB8fCB0ZXh0ID09IFwidW5kZWZpbmVkXCIpXHJcbiAgICAgICAgICAgIHJldHVybiBcIlwiO1xyXG5cclxuICAgICAgICAvLyBQcmVuZG8gbGEgbG9jYWxpenphemlvbmUgbyBkYWxsYSBjYWNoZSBhdHR1YWxlIG8gZGFsbGEgY2FjaGUgZGVsIHNlcnZpemlvIGJhc2VcclxuICAgICAgICB2YXIgaXRlbSA9IHRoaXMuUGVyc2lzdG9yLmdldCh0ZXh0LCBhbGxvd3Rva2VucykgfHwgdGhpcy5iYXNlTG9jYWxpemF0aW9uLlBlcnNpc3Rvci5nZXQodGV4dCwgYWxsb3d0b2tlbnMpO1xyXG4gICAgICAgIGlmICghaXRlbSkge1xyXG4gICAgICAgICAgICBsZXQgbWVzc2FnZSA9IGBJbXBvc3NpYmlsZSB0cm92YXJlIGxhIGxvY2FsaXp6YXppb25lIHBlciAnJHt0ZXh0fSdgO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMub25NaXNzaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlIExvY2FsaXphdGlvbk1pc3NpbmdQb2xpY3kuUHJpbnRFbXB0eTpcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKG1lc3NhZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBMb2NhbGl6YXRpb25NaXNzaW5nUG9saWN5LlByaW50U291cmNlOlxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihtZXNzYWdlKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGV4dDtcclxuICAgICAgICAgICAgICAgIGNhc2UgTG9jYWxpemF0aW9uTWlzc2luZ1BvbGljeS5UaHJvd0V4Y2VwdGlvbjpcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBtZXNzYWdlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB2YXIgbG9jID0gdGhpcy5QZXJzaXN0b3IudHJhbnNsYXRpb25CeUN1bHR1cmUoaXRlbSwgdGhpcy5Mb2NhbGUpO1xyXG4gICAgICAgIGlmICghbG9jKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJJbXBvc3NpYmlsZSB0cm92YXJlIGxhIGxvY2FsaXp6YXppb25lIHBlciAnXCIgKyB0ZXh0ICsgXCInLCBjdWx0dXJlIFwiICsgdGhpcy5Mb2NhbGUpO1xyXG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBsb2MudHJhbnNsYXRpb247XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGNoYW5nZUxvY2FsZShuZXdMb2NhbGU6IHN0cmluZykge1xyXG4gICAgICAgIGxldCBsb2NhbGUgPSBhd2FpdCB0aGlzLkxvY2FsZVBlcnNpc3Rvci5yZWNvdmVyKCkudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgaWYgKG5ld0xvY2FsZSA9PSBsb2NhbGUpIHtcclxuICAgICAgICAgICAgY29uc29sZS5pbmZvKFwiSWwgbG9jYWxlIHJpY2hpZXN0byDDqCBsbyBzdGVzc28gZGVsIGxvY2FsZSBhdHR1YWxlLiBJZ25vcm8gbCdvcGVyYXppb25lXCIpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLkxvY2FsZVBlcnNpc3Rvci5wZXJzaXN0KG5ld0xvY2FsZSkudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgICAgIGxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export var BaseLocalizationTokens;
|
|
2
|
+
(function (BaseLocalizationTokens) {
|
|
3
|
+
BaseLocalizationTokens["getDateMonthPosition"] = "getDateMonthPosition";
|
|
4
|
+
BaseLocalizationTokens["getDisplayDateMonthPosition"] = "getDisplayDateMonthPosition";
|
|
5
|
+
BaseLocalizationTokens["getLocale"] = "getLocale";
|
|
6
|
+
BaseLocalizationTokens["getSmallDateFormat"] = "getSmallDateFormat";
|
|
7
|
+
BaseLocalizationTokens["getDefaultDateFormat"] = "getDefaultDateFormat";
|
|
8
|
+
BaseLocalizationTokens["getSmallDateDisplayFormat"] = "getSmallDateDisplayFormat";
|
|
9
|
+
BaseLocalizationTokens["getFullDateFormat"] = "getFullDateFormat";
|
|
10
|
+
BaseLocalizationTokens["getFullDateDisplayFormat"] = "getFullDateDisplayFormat";
|
|
11
|
+
BaseLocalizationTokens["getFullDateFormatNoSeconds"] = "getFullDateFormatNoSeconds";
|
|
12
|
+
BaseLocalizationTokens["getFullDateDisplayFormatNoSeconds"] = "getFullDateDisplayFormatNoSeconds";
|
|
13
|
+
})(BaseLocalizationTokens || (BaseLocalizationTokens = {}));
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZUxvY2FsaXphdGlvblRva2Vucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xvY2FsaXphdGlvbnMvc3JjL2xpYi9tb2RlbHMvQmFzZUxvY2FsaXphdGlvblRva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLENBQU4sSUFBWSxzQkFXWDtBQVhELFdBQVksc0JBQXNCO0lBQzlCLHVFQUE2QyxDQUFBO0lBQzdDLHFGQUEyRCxDQUFBO0lBQzNELGlEQUF1QixDQUFBO0lBQ3ZCLG1FQUF5QyxDQUFBO0lBQ3pDLHVFQUE2QyxDQUFBO0lBQzdDLGlGQUF1RCxDQUFBO0lBQ3ZELGlFQUF1QyxDQUFBO0lBQ3ZDLCtFQUFxRCxDQUFBO0lBQ3JELG1GQUF5RCxDQUFBO0lBQ3pELGlHQUF1RSxDQUFBO0FBQzNFLENBQUMsRUFYVyxzQkFBc0IsS0FBdEIsc0JBQXNCLFFBV2pDIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCBlbnVtIEJhc2VMb2NhbGl6YXRpb25Ub2tlbnMge1xyXG4gICAgZ2V0RGF0ZU1vbnRoUG9zaXRpb24gPSBcImdldERhdGVNb250aFBvc2l0aW9uXCIsXHJcbiAgICBnZXREaXNwbGF5RGF0ZU1vbnRoUG9zaXRpb24gPSBcImdldERpc3BsYXlEYXRlTW9udGhQb3NpdGlvblwiLFxyXG4gICAgZ2V0TG9jYWxlID0gXCJnZXRMb2NhbGVcIixcclxuICAgIGdldFNtYWxsRGF0ZUZvcm1hdCA9IFwiZ2V0U21hbGxEYXRlRm9ybWF0XCIsXHJcbiAgICBnZXREZWZhdWx0RGF0ZUZvcm1hdCA9IFwiZ2V0RGVmYXVsdERhdGVGb3JtYXRcIixcclxuICAgIGdldFNtYWxsRGF0ZURpc3BsYXlGb3JtYXQgPSBcImdldFNtYWxsRGF0ZURpc3BsYXlGb3JtYXRcIixcclxuICAgIGdldEZ1bGxEYXRlRm9ybWF0ID0gXCJnZXRGdWxsRGF0ZUZvcm1hdFwiLFxyXG4gICAgZ2V0RnVsbERhdGVEaXNwbGF5Rm9ybWF0ID0gXCJnZXRGdWxsRGF0ZURpc3BsYXlGb3JtYXRcIixcclxuICAgIGdldEZ1bGxEYXRlRm9ybWF0Tm9TZWNvbmRzID0gXCJnZXRGdWxsRGF0ZUZvcm1hdE5vU2Vjb25kc1wiLFxyXG4gICAgZ2V0RnVsbERhdGVEaXNwbGF5Rm9ybWF0Tm9TZWNvbmRzID0gXCJnZXRGdWxsRGF0ZURpc3BsYXlGb3JtYXROb1NlY29uZHNcIlxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contenitore delle localizzazioni collegate ad un testo "base", una per ogni linguaggio supportato
|
|
3
|
+
*/
|
|
4
|
+
export class ItemLocalization {
|
|
5
|
+
/**
|
|
6
|
+
* Costruttore
|
|
7
|
+
*
|
|
8
|
+
* @param {boolean} token Indica se è un token o se è un testo
|
|
9
|
+
* @param {string} baseText Testo base che verrà richiesto quando verrà cercata la localizzazione
|
|
10
|
+
* @param {SpecializedLocalization[]} translations Lista di traduzioni in base al testo base
|
|
11
|
+
*/
|
|
12
|
+
constructor(token, baseText, translations) {
|
|
13
|
+
this.token = token;
|
|
14
|
+
this.baseText = baseText;
|
|
15
|
+
this.translations = translations;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSXRlbUxvY2FsaXphdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xvY2FsaXphdGlvbnMvc3JjL2xpYi9tb2RlbHMvSXRlbUxvY2FsaXphdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0I7Ozs7OztPQU1HO0lBQ0gsWUFBbUIsS0FBYyxFQUFTLFFBQWdCLEVBQVMsWUFBdUM7UUFBdkYsVUFBSyxHQUFMLEtBQUssQ0FBUztRQUFTLGFBQVEsR0FBUixRQUFRLENBQVE7UUFBUyxpQkFBWSxHQUFaLFlBQVksQ0FBMkI7SUFBRyxDQUFDO0NBQy9HIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3BlY2lhbGl6ZWRMb2NhbGl6YXRpb24gfSBmcm9tIFwiLi9TcGVjaWFsaXplZExvY2FsaXphdGlvblwiO1xyXG5cclxuLyoqXHJcbiAqIENvbnRlbml0b3JlIGRlbGxlIGxvY2FsaXp6YXppb25pIGNvbGxlZ2F0ZSBhZCB1biB0ZXN0byBcImJhc2VcIiwgdW5hIHBlciBvZ25pIGxpbmd1YWdnaW8gc3VwcG9ydGF0b1xyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEl0ZW1Mb2NhbGl6YXRpb24ge1xyXG5cclxuICAvKipcclxuICAgKiBDb3N0cnV0dG9yZVxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gdG9rZW4gSW5kaWNhIHNlIMOoIHVuIHRva2VuIG8gc2Ugw6ggdW4gdGVzdG9cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gYmFzZVRleHQgVGVzdG8gYmFzZSBjaGUgdmVycsOgIHJpY2hpZXN0byBxdWFuZG8gdmVycsOgIGNlcmNhdGEgbGEgbG9jYWxpenphemlvbmVcclxuICAgKiBAcGFyYW0ge1NwZWNpYWxpemVkTG9jYWxpemF0aW9uW119IHRyYW5zbGF0aW9ucyBMaXN0YSBkaSB0cmFkdXppb25pIGluIGJhc2UgYWwgdGVzdG8gYmFzZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0b2tlbjogYm9vbGVhbiwgcHVibGljIGJhc2VUZXh0OiBzdHJpbmcsIHB1YmxpYyB0cmFuc2xhdGlvbnM6IFNwZWNpYWxpemVkTG9jYWxpemF0aW9uW10peyB9XHJcbn0iXX0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { LocaleObject } from "./LocaleObject";
|
|
2
|
+
// VVVVVVVV Tag per evitare che typescript muoia con l'errore "Error encountered in metadata generated for exported symbol 'LocaleDefinitions'" (https://github.com/angular/angular/issues/18867#issuecomment-357484102),
|
|
3
|
+
// @dynamic
|
|
4
|
+
/**
|
|
5
|
+
* Definizione dei locali disponibili
|
|
6
|
+
*/
|
|
7
|
+
export class LocaleDefinitions {
|
|
8
|
+
/**
|
|
9
|
+
* Costruttore
|
|
10
|
+
*
|
|
11
|
+
* @ignore
|
|
12
|
+
*/
|
|
13
|
+
constructor() { }
|
|
14
|
+
/**
|
|
15
|
+
* In base a un alias restituisce il locale rappresentato
|
|
16
|
+
*
|
|
17
|
+
* @param {string} alias Alias in base al quale raccogliere il Locale
|
|
18
|
+
*
|
|
19
|
+
* @returns {LocaleObject} Locale richiesto dall'alias
|
|
20
|
+
*/
|
|
21
|
+
static getByAlias(alias) {
|
|
22
|
+
return this.AvailableLocales.find(t => !!t.aliases.find(a => a == alias));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Lista dei locali disponibili, definiti anche con i vari alias
|
|
27
|
+
*/
|
|
28
|
+
LocaleDefinitions.AvailableLocales = [
|
|
29
|
+
new LocaleObject('it-IT', 'Italiano', ['it', 'it-IT']),
|
|
30
|
+
new LocaleObject('en-US', 'English', ['en', 'en-US'])
|
|
31
|
+
];
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxlRGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sb2NhbGl6YXRpb25zL3NyYy9saWIvbW9kZWxzL0xvY2FsZURlZmluaXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QywwTkFBME47QUFDMU4sV0FBVztBQUVYOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUUxQjs7OztPQUlHO0lBQ0gsZ0JBQWdCLENBQUM7SUFVakI7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFhO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7O0FBakJEOztHQUVHO0FBQ1csa0NBQWdCLEdBQW1CO0lBQzdDLElBQUksWUFBWSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEQsSUFBSSxZQUFZLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztDQUN4RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYWxlT2JqZWN0IH0gZnJvbSBcIi4vTG9jYWxlT2JqZWN0XCI7XHJcblxyXG4vLyBWVlZWVlZWViAgVGFnIHBlciBldml0YXJlIGNoZSB0eXBlc2NyaXB0IG11b2lhIGNvbiBsJ2Vycm9yZSBcIkVycm9yIGVuY291bnRlcmVkIGluIG1ldGFkYXRhIGdlbmVyYXRlZCBmb3IgZXhwb3J0ZWQgc3ltYm9sICdMb2NhbGVEZWZpbml0aW9ucydcIiAoaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTg4NjcjaXNzdWVjb21tZW50LTM1NzQ4NDEwMiksXHJcbi8vIEBkeW5hbWljXHJcblxyXG4vKipcclxuICogRGVmaW5pemlvbmUgZGVpIGxvY2FsaSBkaXNwb25pYmlsaVxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIExvY2FsZURlZmluaXRpb25zIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENvc3RydXR0b3JlXHJcbiAgICAgKiBcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIExpc3RhIGRlaSBsb2NhbGkgZGlzcG9uaWJpbGksIGRlZmluaXRpIGFuY2hlIGNvbiBpIHZhcmkgYWxpYXNcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBBdmFpbGFibGVMb2NhbGVzOiBMb2NhbGVPYmplY3RbXSA9IFtcclxuICAgICAgICBuZXcgTG9jYWxlT2JqZWN0KCdpdC1JVCcsICdJdGFsaWFubycsIFsnaXQnLCAnaXQtSVQnXSksXHJcbiAgICAgICAgbmV3IExvY2FsZU9iamVjdCgnZW4tVVMnLCAnRW5nbGlzaCcsIFsnZW4nLCAnZW4tVVMnXSlcclxuICAgIF07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbiBiYXNlIGEgdW4gYWxpYXMgcmVzdGl0dWlzY2UgaWwgbG9jYWxlIHJhcHByZXNlbnRhdG9cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGFsaWFzIEFsaWFzIGluIGJhc2UgYWwgcXVhbGUgcmFjY29nbGllcmUgaWwgTG9jYWxlXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtMb2NhbGVPYmplY3R9IExvY2FsZSByaWNoaWVzdG8gZGFsbCdhbGlhc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldEJ5QWxpYXMoYWxpYXM6IHN0cmluZyk6IExvY2FsZU9iamVjdCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQXZhaWxhYmxlTG9jYWxlcy5maW5kKHQgPT4gISF0LmFsaWFzZXMuZmluZChhID0+IGEgPT0gYWxpYXMpKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Classe che rappresenta un locale (Es. 'Italiano') con i propri alias (Es. 'it' oppure 'it-IT')
|
|
3
|
+
*/
|
|
4
|
+
export class LocaleObject {
|
|
5
|
+
/**
|
|
6
|
+
* Costruttore
|
|
7
|
+
*
|
|
8
|
+
* @param {string} id Codice locale
|
|
9
|
+
* @param {string} description Descrizione locale
|
|
10
|
+
* @param {string[]} aliases Alias con cui quel locale è conosciuto
|
|
11
|
+
*/
|
|
12
|
+
constructor(id, description, aliases) {
|
|
13
|
+
this.id = id;
|
|
14
|
+
this.description = description;
|
|
15
|
+
this.aliases = aliases;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxlT2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbG9jYWxpemF0aW9ucy9zcmMvbGliL21vZGVscy9Mb2NhbGVPYmplY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7O0dBRUc7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQUVyQjs7Ozs7O09BTUc7SUFDSCxZQUFtQixFQUFVLEVBQVMsV0FBbUIsRUFBUyxPQUFpQjtRQUFoRSxPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQVMsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFBUyxZQUFPLEdBQVAsT0FBTyxDQUFVO0lBQUksQ0FBQztDQUMzRiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4vKipcclxuICogQ2xhc3NlIGNoZSByYXBwcmVzZW50YSB1biBsb2NhbGUgKEVzLiAnSXRhbGlhbm8nKSBjb24gaSBwcm9wcmkgYWxpYXMgKEVzLiAnaXQnIG9wcHVyZSAnaXQtSVQnKVxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIExvY2FsZU9iamVjdCB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb3N0cnV0dG9yZVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gaWQgQ29kaWNlIGxvY2FsZVxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGRlc2NyaXB0aW9uIERlc2NyaXppb25lIGxvY2FsZVxyXG4gICAgICogQHBhcmFtIHtzdHJpbmdbXX0gYWxpYXNlcyBBbGlhcyBjb24gY3VpIHF1ZWwgbG9jYWxlIMOoIGNvbm9zY2l1dG9cclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IocHVibGljIGlkOiBzdHJpbmcsIHB1YmxpYyBkZXNjcmlwdGlvbjogc3RyaW5nLCBwdWJsaWMgYWxpYXNlczogc3RyaW5nW10pIHsgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enum che rappresenta le policy di comportamento qualore il sistema di localizzazione non trovi la localizzazione cercata,
|
|
3
|
+
* usare **ThrowException** solo se ci si sente infallibili o si vuole debuggare in maniera approfondita l'applicazione
|
|
4
|
+
*/
|
|
5
|
+
export var LocalizationMissingPolicy;
|
|
6
|
+
(function (LocalizationMissingPolicy) {
|
|
7
|
+
LocalizationMissingPolicy[LocalizationMissingPolicy["PrintEmpty"] = 0] = "PrintEmpty";
|
|
8
|
+
LocalizationMissingPolicy[LocalizationMissingPolicy["PrintSource"] = 1] = "PrintSource";
|
|
9
|
+
LocalizationMissingPolicy[LocalizationMissingPolicy["ThrowException"] = 2] = "ThrowException";
|
|
10
|
+
})(LocalizationMissingPolicy || (LocalizationMissingPolicy = {}));
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxpemF0aW9uTWlzc2luZ1BvbGljeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xvY2FsaXphdGlvbnMvc3JjL2xpYi9tb2RlbHMvTG9jYWxpemF0aW9uTWlzc2luZ1BvbGljeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQTs7O0dBR0c7QUFDSCxNQUFNLENBQU4sSUFBWSx5QkFJWDtBQUpELFdBQVkseUJBQXlCO0lBQ25DLHFGQUFVLENBQUE7SUFDVix1RkFBVyxDQUFBO0lBQ1gsNkZBQWMsQ0FBQTtBQUNoQixDQUFDLEVBSlcseUJBQXlCLEtBQXpCLHlCQUF5QixRQUlwQyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4vKiogXHJcbiAqIEVudW0gY2hlIHJhcHByZXNlbnRhIGxlIHBvbGljeSBkaSBjb21wb3J0YW1lbnRvIHF1YWxvcmUgaWwgc2lzdGVtYSBkaSBsb2NhbGl6emF6aW9uZSBub24gdHJvdmkgbGEgbG9jYWxpenphemlvbmUgY2VyY2F0YSwgXHJcbiAqIHVzYXJlICoqVGhyb3dFeGNlcHRpb24qKiBzb2xvIHNlIGNpIHNpIHNlbnRlIGluZmFsbGliaWxpIG8gc2kgdnVvbGUgZGVidWdnYXJlIGluIG1hbmllcmEgYXBwcm9mb25kaXRhIGwnYXBwbGljYXppb25lIFxyXG4gKi9cclxuZXhwb3J0IGVudW0gTG9jYWxpemF0aW9uTWlzc2luZ1BvbGljeSB7XHJcbiAgUHJpbnRFbXB0eSxcclxuICBQcmludFNvdXJjZSxcclxuICBUaHJvd0V4Y2VwdGlvblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Classe di configurazione per il modulo di localizzazione
|
|
3
|
+
*/
|
|
4
|
+
export class LocalizationModuleConfig {
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxpemF0aW9uTW9kdWxlQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbG9jYWxpemF0aW9ucy9zcmMvbGliL21vZGVscy9Mb2NhbGl6YXRpb25Nb2R1bGVDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sd0JBQXdCO0NBYXBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IExvY2FsZVBlcnNpc3RvciB9IGZyb20gXCIuLi9sb2NhbGUtcGVyc2lzdG9yL0xvY2FsZVBlcnNpc3RvclwiO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25NaXNzaW5nUG9saWN5IH0gZnJvbSBcIi4vTG9jYWxpemF0aW9uTWlzc2luZ1BvbGljeVwiO1xyXG5cclxuLyoqXHJcbiAqIENsYXNzZSBkaSBjb25maWd1cmF6aW9uZSBwZXIgaWwgbW9kdWxvIGRpIGxvY2FsaXp6YXppb25lXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgTG9jYWxpemF0aW9uTW9kdWxlQ29uZmlnIHtcclxuXHJcbiAgLyoqIExvY2FsZSBkaSBkZWZhdWx0IHV0aWxpenphdG8gcGVyIHJpY2hpZWRlcmUgbGUgdHJhZHV6aW9uaSAqL1xyXG4gIGRlZmF1bHRMb2NhbGU6IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogQ2xhc3NlIGNoZSBzaSBkZXZlIG9jY3VwYXJlIGRlbGxvIHN0b3JlIFwiRGVmaW5pdGl2b1wiIGRlbGxlIGluZm8gc3VsIGxvY2FsZSB1dGlsaXp6YXRvLiBEaSBkZWZhdWx0IHZpZW5lIHByb3Bvc3RvIHVubyBzdG9yZSBsYXRvIGxvY2FsU3RvcmFnZSBtYSBzaSBwdcOyIGZhY2lsbWVudGUgXHJcbiAgICogZm9ybmlyZSB1bm8gc3RvcmFnZSBjaGUgcG9ydGEgbGUgaW5mb3JtYXppb25pIGxhdG8gRGF0YWJhc2UgaW4gbW9kbyBkYSBhdmVyZSBsYSBzdGVzc2EgbGluZ3VhIGZpbm8gYSBjaGUgbm9uIHZpZW5lIGNhbWJpYXRhIChFcy4gUHJlZmVyZW5jZSBzdG9yYWdlKVxyXG4gICAqL1xyXG4gIGxvY2FsZVBlcnNpc3Rvcj86IFR5cGU8TG9jYWxlUGVyc2lzdG9yPjtcclxuXHJcbiAgLyoqIFBvbGljeSBkaSBjb3NhIGZhcmUgaW4gY2FzbyBpbCBzaXN0ZW1hIG5vbiByaWVzY2EgYSB0cm92YXJlIHVuYSBkZWxsZSB0cmFkdXppb25pICovXHJcbiAgbG9jYWxpemF0aW9uTWlzc2luZ1BvbGljeT86IExvY2FsaXphdGlvbk1pc3NpbmdQb2xpY3lcclxufSJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Classe che rappresenta la localizzazione di un test base per una certa lingua
|
|
3
|
+
*/
|
|
4
|
+
export class SpecializedLocalization {
|
|
5
|
+
/**
|
|
6
|
+
* Costruttore
|
|
7
|
+
*
|
|
8
|
+
* @param {string} culture Culture della traduzione
|
|
9
|
+
* @param {string} translation Traduzione nella lingua specificata dalla **culture**
|
|
10
|
+
*/
|
|
11
|
+
constructor(culture, translation) {
|
|
12
|
+
this.culture = culture;
|
|
13
|
+
this.translation = translation;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3BlY2lhbGl6ZWRMb2NhbGl6YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sb2NhbGl6YXRpb25zL3NyYy9saWIvbW9kZWxzL1NwZWNpYWxpemVkTG9jYWxpemF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQUVsQzs7Ozs7T0FLRztJQUNILFlBQW1CLE9BQWUsRUFBUyxXQUFtQjtRQUEzQyxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQVMsZ0JBQVcsR0FBWCxXQUFXLENBQVE7SUFBSSxDQUFDO0NBQ3BFIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIENsYXNzZSBjaGUgcmFwcHJlc2VudGEgbGEgbG9jYWxpenphemlvbmUgZGkgdW4gdGVzdCBiYXNlIHBlciB1bmEgY2VydGEgbGluZ3VhXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgU3BlY2lhbGl6ZWRMb2NhbGl6YXRpb24ge1xyXG5cclxuICAvKipcclxuICAgKiBDb3N0cnV0dG9yZVxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjdWx0dXJlIEN1bHR1cmUgZGVsbGEgdHJhZHV6aW9uZVxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0cmFuc2xhdGlvbiBUcmFkdXppb25lIG5lbGxhIGxpbmd1YSBzcGVjaWZpY2F0YSBkYWxsYSAqKmN1bHR1cmUqKlxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjdWx0dXJlOiBzdHJpbmcsIHB1YmxpYyB0cmFuc2xhdGlvbjogc3RyaW5nKSB7IH1cclxufVxyXG4iXX0=
|
package/esm2015/lib/tokens.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
|
-
/**
|
|
3
|
-
* Locale da utilizzare per le traduzioni
|
|
4
|
-
*/
|
|
2
|
+
/** Locale da utilizzare per le traduzioni */
|
|
5
3
|
export const LOC_LOCALE = new InjectionToken('LOC_LOCALE');
|
|
6
|
-
|
|
4
|
+
/** Policy da utilizzare per traduzioni mancanti */
|
|
5
|
+
export const LOC_MISSING_POLICY = new InjectionToken('LOC_MISSING_POLICY');
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbG9jYWxpemF0aW9ucy9zcmMvbGliL3Rva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9DLDZDQUE2QztBQUM3QyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQTJCLElBQUksY0FBYyxDQUFTLFlBQVksQ0FBQyxDQUFDO0FBRTNGLG1EQUFtRDtBQUNuRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBOEMsSUFBSSxjQUFjLENBQTRCLG9CQUFvQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25NaXNzaW5nUG9saWN5IH0gZnJvbSBcIi4vbW9kZWxzL0xvY2FsaXphdGlvbk1pc3NpbmdQb2xpY3lcIlxyXG5cclxuLyoqIExvY2FsZSBkYSB1dGlsaXp6YXJlIHBlciBsZSB0cmFkdXppb25pICovXHJcbmV4cG9ydCBjb25zdCBMT0NfTE9DQUxFOiBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+ID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0xPQ19MT0NBTEUnKTtcclxuXHJcbi8qKiBQb2xpY3kgZGEgdXRpbGl6emFyZSBwZXIgdHJhZHV6aW9uaSBtYW5jYW50aSAqL1xyXG5leHBvcnQgY29uc3QgTE9DX01JU1NJTkdfUE9MSUNZOiBJbmplY3Rpb25Ub2tlbjxMb2NhbGl6YXRpb25NaXNzaW5nUG9saWN5PiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxMb2NhbGl6YXRpb25NaXNzaW5nUG9saWN5PignTE9DX01JU1NJTkdfUE9MSUNZJyk7Il19
|
package/esm2015/public-api.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* Public API Surface of localizations
|
|
3
3
|
*/
|
|
4
|
+
export * from './lib/core/localization.base';
|
|
4
5
|
export * from './lib/localizations.module';
|
|
5
6
|
export * from './lib/localizations.service';
|
|
6
7
|
export * from './lib/pipes/localize.pipe';
|
|
7
8
|
export * from './lib/pipes/loc_date.pipe';
|
|
8
9
|
export * from './lib/tokens';
|
|
9
|
-
export * from './lib/models/
|
|
10
|
-
|
|
10
|
+
export * from './lib/models/LocalizationModuleConfig';
|
|
11
|
+
export * from './lib/models/BaseLocalizationTokens';
|
|
12
|
+
export * from './lib/models/LocalizationMissingPolicy';
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2xvY2FsaXphdGlvbnMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsd0NBQXdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbG9jYWxpemF0aW9uc1xyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUvbG9jYWxpemF0aW9uLmJhc2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2NhbGl6YXRpb25zLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xvY2FsaXphdGlvbnMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2xvY2FsaXplLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9sb2NfZGF0ZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9rZW5zJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL0xvY2FsaXphdGlvbk1vZHVsZUNvbmZpZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9CYXNlTG9jYWxpemF0aW9uVG9rZW5zJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL0xvY2FsaXphdGlvbk1pc3NpbmdQb2xpY3knOyJdfQ==
|