@seniorsistemas/angular-components 17.6.4 → 17.7.0
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/seniorsistemas-angular-components.umd.js +186 -84
- package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
- package/components/locale/locale.service.d.ts +5 -0
- package/components/locale/options/index.d.ts +1 -0
- package/components/locale/pipes/numeric.pipe.d.ts +13 -0
- package/components/locale/services/numeric.service.d.ts +24 -0
- package/esm2015/components/locale/locale.module.js +8 -4
- package/esm2015/components/locale/locale.service.js +9 -2
- package/esm2015/components/locale/options/index.js +1 -1
- package/esm2015/components/locale/pipes/numeric.pipe.js +28 -0
- package/esm2015/components/locale/services/numeric.service.js +70 -0
- package/esm2015/seniorsistemas-angular-components.js +83 -81
- package/esm5/components/locale/locale.module.js +8 -4
- package/esm5/components/locale/locale.service.js +10 -3
- package/esm5/components/locale/options/index.js +1 -1
- package/esm5/components/locale/pipes/numeric.pipe.js +32 -0
- package/esm5/components/locale/services/numeric.service.js +71 -0
- package/esm5/seniorsistemas-angular-components.js +83 -81
- package/fesm2015/seniorsistemas-angular-components.js +101 -6
- package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
- package/fesm5/seniorsistemas-angular-components.js +107 -7
- package/fesm5/seniorsistemas-angular-components.js.map +1 -1
- package/package.json +1 -1
- package/seniorsistemas-angular-components.d.ts +82 -80
- package/seniorsistemas-angular-components.metadata.json +1 -1
|
@@ -12,6 +12,11 @@ export declare class LocaleService {
|
|
|
12
12
|
constructor(http: HttpClient, cookieService: CookieService);
|
|
13
13
|
get(): Observable<LocaleOptions>;
|
|
14
14
|
getLocale(): Observable<string>;
|
|
15
|
+
/**
|
|
16
|
+
* Returns an object with the locale options based on the user's locale(platform locale).
|
|
17
|
+
* @return The locale options object.
|
|
18
|
+
*/
|
|
19
|
+
getLocaleOptions(): LocaleOptions;
|
|
15
20
|
private getUserData;
|
|
16
21
|
private getLocaleConfig;
|
|
17
22
|
getGroupingSeparator(): string;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PipeTransform } from "@angular/core";
|
|
2
|
+
import BigNumber from "bignumber.js";
|
|
3
|
+
import { LocaleService } from "../locale.service";
|
|
4
|
+
import { NumericService } from "../services/numeric.service";
|
|
5
|
+
export declare class NumericPipe implements PipeTransform {
|
|
6
|
+
private readonly numericService;
|
|
7
|
+
private readonly localeService;
|
|
8
|
+
constructor(numericService: NumericService, localeService: LocaleService);
|
|
9
|
+
transform(value: number | string | BigNumber, options?: {
|
|
10
|
+
locale?: string;
|
|
11
|
+
options?: Intl.NumberFormatOptions;
|
|
12
|
+
}): import("rxjs").Observable<string>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { LocaleService } from "../locale.service";
|
|
2
|
+
import BigNumber from "bignumber.js";
|
|
3
|
+
export declare class NumericService {
|
|
4
|
+
private readonly localeService;
|
|
5
|
+
constructor(localeService: LocaleService);
|
|
6
|
+
/**
|
|
7
|
+
* Wrapper around Intl.NumberFormat that returns the localized value using the user's locale by default(platform's preferential language).
|
|
8
|
+
*
|
|
9
|
+
* This method should only be used after the localeService has been initialized by the host application, either by a resolver or a manual call.
|
|
10
|
+
*
|
|
11
|
+
* Can be overwritten by the provided Intl.NumberFormatOptions.
|
|
12
|
+
*
|
|
13
|
+
* Documentation is available at {@link https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat Intl.NumberFormatOptions}.
|
|
14
|
+
*
|
|
15
|
+
* @param {number | string | BigNumber} value The value to be formatted.
|
|
16
|
+
* @param {Intl.NumberFormatOptions} options Options that overwrites the default Intl.NumberFormatOptions.
|
|
17
|
+
* @return `string` The formatted value.
|
|
18
|
+
*/
|
|
19
|
+
instant(value: number | string | BigNumber, options?: {
|
|
20
|
+
locale?: string;
|
|
21
|
+
options?: Intl.NumberFormatOptions;
|
|
22
|
+
}): string;
|
|
23
|
+
private getType;
|
|
24
|
+
}
|
|
@@ -12,6 +12,7 @@ import { LocalizedDatePipe } from "./pipes/localized-date.pipe";
|
|
|
12
12
|
import { LocalizedNumberPipe } from "./pipes/localized-number.pipe";
|
|
13
13
|
import { LocalizedTimeImpurePipe } from "./pipes/localized-time-impure.pipe";
|
|
14
14
|
import { LocalizedTimePipe } from "./pipes/localized-time.pipe";
|
|
15
|
+
import { NumericPipe } from "./pipes/numeric.pipe";
|
|
15
16
|
let LocaleModule = LocaleModule_1 = class LocaleModule {
|
|
16
17
|
static forRoot() {
|
|
17
18
|
return {
|
|
@@ -26,7 +27,8 @@ let LocaleModule = LocaleModule_1 = class LocaleModule {
|
|
|
26
27
|
LocalizedDateImpurePipe,
|
|
27
28
|
LocalizedTimeImpurePipe,
|
|
28
29
|
LocalizedBignumberPipe,
|
|
29
|
-
LocalizedBignumberImpurePipe
|
|
30
|
+
LocalizedBignumberImpurePipe,
|
|
31
|
+
NumericPipe
|
|
30
32
|
],
|
|
31
33
|
};
|
|
32
34
|
}
|
|
@@ -48,7 +50,8 @@ LocaleModule = LocaleModule_1 = __decorate([
|
|
|
48
50
|
LocalizedDateImpurePipe,
|
|
49
51
|
LocalizedTimeImpurePipe,
|
|
50
52
|
LocalizedBignumberPipe,
|
|
51
|
-
LocalizedBignumberImpurePipe
|
|
53
|
+
LocalizedBignumberImpurePipe,
|
|
54
|
+
NumericPipe
|
|
52
55
|
],
|
|
53
56
|
declarations: [
|
|
54
57
|
LocalizedCurrencyPipe,
|
|
@@ -59,9 +62,10 @@ LocaleModule = LocaleModule_1 = __decorate([
|
|
|
59
62
|
LocalizedDateImpurePipe,
|
|
60
63
|
LocalizedTimeImpurePipe,
|
|
61
64
|
LocalizedBignumberPipe,
|
|
62
|
-
LocalizedBignumberImpurePipe
|
|
65
|
+
LocalizedBignumberImpurePipe,
|
|
66
|
+
NumericPipe
|
|
63
67
|
],
|
|
64
68
|
})
|
|
65
69
|
], LocaleModule);
|
|
66
70
|
export { LocaleModule };
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2xvY2FsZS9sb2NhbGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQTZCbkQsSUFBYSxZQUFZLG9CQUF6QixNQUFhLFlBQVk7SUFDZCxNQUFNLENBQUMsT0FBTztRQUNqQixPQUFPO1lBQ0gsUUFBUSxFQUFFLGNBQVk7WUFDdEIsU0FBUyxFQUFFO2dCQUNQLGFBQWE7Z0JBQ2IscUJBQXFCO2dCQUNyQixpQkFBaUI7Z0JBQ2pCLGlCQUFpQjtnQkFDakIsbUJBQW1CO2dCQUNuQiwyQkFBMkI7Z0JBQzNCLHVCQUF1QjtnQkFDdkIsdUJBQXVCO2dCQUN2QixzQkFBc0I7Z0JBQ3RCLDRCQUE0QjtnQkFDNUIsV0FBVzthQUNkO1NBQ0osQ0FBQztJQUNOLENBQUM7SUFFTSxNQUFNLENBQUMsUUFBUTtRQUNsQixPQUFPO1lBQ0gsUUFBUSxFQUFFLGNBQVk7U0FDekIsQ0FBQztJQUNOLENBQUM7Q0FDSixDQUFBO0FBekJZLFlBQVk7SUEzQnhCLFFBQVEsQ0FBQztRQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztRQUN2QixPQUFPLEVBQUU7WUFDTCxxQkFBcUI7WUFDckIsaUJBQWlCO1lBQ2pCLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsMkJBQTJCO1lBQzNCLHVCQUF1QjtZQUN2Qix1QkFBdUI7WUFDdkIsc0JBQXNCO1lBQ3RCLDRCQUE0QjtZQUM1QixXQUFXO1NBQ2Q7UUFDRCxZQUFZLEVBQUU7WUFDVixxQkFBcUI7WUFDckIsaUJBQWlCO1lBQ2pCLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsMkJBQTJCO1lBQzNCLHVCQUF1QjtZQUN2Qix1QkFBdUI7WUFDdkIsc0JBQXNCO1lBQ3RCLDRCQUE0QjtZQUM1QixXQUFXO1NBQ2Q7S0FDSixDQUFDO0dBQ1csWUFBWSxDQXlCeEI7U0F6QlksWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tcGlsZXIvc3JjL2NvcmVcIjtcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IExvY2FsZVNlcnZpY2UgfSBmcm9tIFwiLi9sb2NhbGUuc2VydmljZVwiO1xuaW1wb3J0IHsgTG9jYWxpemVkQmlnbnVtYmVySW1wdXJlUGlwZSB9IGZyb20gXCIuL3BpcGVzL2xvY2FsaXplZC1iaWdudW1iZXItaW1wdXJlLnBpcGVcIjtcbmltcG9ydCB7IExvY2FsaXplZEJpZ251bWJlclBpcGUgfSBmcm9tIFwiLi9waXBlcy9sb2NhbGl6ZWQtYmlnbnVtYmVyLnBpcGVcIjtcbmltcG9ydCB7IExvY2FsaXplZEN1cnJlbmN5SW1wdXJlUGlwZSB9IGZyb20gXCIuL3BpcGVzL2xvY2FsaXplZC1jdXJyZW5jeS1pbXB1cmUucGlwZVwiO1xuaW1wb3J0IHsgTG9jYWxpemVkQ3VycmVuY3lQaXBlIH0gZnJvbSBcIi4vcGlwZXMvbG9jYWxpemVkLWN1cnJlbmN5LnBpcGVcIjtcbmltcG9ydCB7IExvY2FsaXplZERhdGVJbXB1cmVQaXBlIH0gZnJvbSBcIi4vcGlwZXMvbG9jYWxpemVkLWRhdGUtaW1wdXJlLnBpcGVcIjtcbmltcG9ydCB7IExvY2FsaXplZERhdGVQaXBlIH0gZnJvbSBcIi4vcGlwZXMvbG9jYWxpemVkLWRhdGUucGlwZVwiO1xuaW1wb3J0IHsgTG9jYWxpemVkTnVtYmVyUGlwZSB9IGZyb20gXCIuL3BpcGVzL2xvY2FsaXplZC1udW1iZXIucGlwZVwiO1xuaW1wb3J0IHsgTG9jYWxpemVkVGltZUltcHVyZVBpcGUgfSBmcm9tIFwiLi9waXBlcy9sb2NhbGl6ZWQtdGltZS1pbXB1cmUucGlwZVwiO1xuaW1wb3J0IHsgTG9jYWxpemVkVGltZVBpcGUgfSBmcm9tIFwiLi9waXBlcy9sb2NhbGl6ZWQtdGltZS5waXBlXCI7XG5pbXBvcnQgeyBOdW1lcmljUGlwZSB9IGZyb20gXCIuL3BpcGVzL251bWVyaWMucGlwZVwiO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgTG9jYWxpemVkQ3VycmVuY3lQaXBlLFxuICAgICAgICBMb2NhbGl6ZWREYXRlUGlwZSxcbiAgICAgICAgTG9jYWxpemVkVGltZVBpcGUsXG4gICAgICAgIExvY2FsaXplZE51bWJlclBpcGUsXG4gICAgICAgIExvY2FsaXplZEN1cnJlbmN5SW1wdXJlUGlwZSxcbiAgICAgICAgTG9jYWxpemVkRGF0ZUltcHVyZVBpcGUsXG4gICAgICAgIExvY2FsaXplZFRpbWVJbXB1cmVQaXBlLFxuICAgICAgICBMb2NhbGl6ZWRCaWdudW1iZXJQaXBlLFxuICAgICAgICBMb2NhbGl6ZWRCaWdudW1iZXJJbXB1cmVQaXBlLFxuICAgICAgICBOdW1lcmljUGlwZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIExvY2FsaXplZEN1cnJlbmN5UGlwZSxcbiAgICAgICAgTG9jYWxpemVkRGF0ZVBpcGUsXG4gICAgICAgIExvY2FsaXplZFRpbWVQaXBlLFxuICAgICAgICBMb2NhbGl6ZWROdW1iZXJQaXBlLFxuICAgICAgICBMb2NhbGl6ZWRDdXJyZW5jeUltcHVyZVBpcGUsXG4gICAgICAgIExvY2FsaXplZERhdGVJbXB1cmVQaXBlLFxuICAgICAgICBMb2NhbGl6ZWRUaW1lSW1wdXJlUGlwZSxcbiAgICAgICAgTG9jYWxpemVkQmlnbnVtYmVyUGlwZSxcbiAgICAgICAgTG9jYWxpemVkQmlnbnVtYmVySW1wdXJlUGlwZSxcbiAgICAgICAgTnVtZXJpY1BpcGVcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBMb2NhbGVNb2R1bGUge1xuICAgIHB1YmxpYyBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBMb2NhbGVNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICBMb2NhbGVTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIExvY2FsaXplZEN1cnJlbmN5UGlwZSxcbiAgICAgICAgICAgICAgICBMb2NhbGl6ZWREYXRlUGlwZSxcbiAgICAgICAgICAgICAgICBMb2NhbGl6ZWRUaW1lUGlwZSxcbiAgICAgICAgICAgICAgICBMb2NhbGl6ZWROdW1iZXJQaXBlLFxuICAgICAgICAgICAgICAgIExvY2FsaXplZEN1cnJlbmN5SW1wdXJlUGlwZSxcbiAgICAgICAgICAgICAgICBMb2NhbGl6ZWREYXRlSW1wdXJlUGlwZSxcbiAgICAgICAgICAgICAgICBMb2NhbGl6ZWRUaW1lSW1wdXJlUGlwZSxcbiAgICAgICAgICAgICAgICBMb2NhbGl6ZWRCaWdudW1iZXJQaXBlLFxuICAgICAgICAgICAgICAgIExvY2FsaXplZEJpZ251bWJlckltcHVyZVBpcGUsXG4gICAgICAgICAgICAgICAgTnVtZXJpY1BpcGVcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBmb3JDaGlsZCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBMb2NhbGVNb2R1bGUsXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
|
|
@@ -18,7 +18,7 @@ let LocaleService = class LocaleService {
|
|
|
18
18
|
get() {
|
|
19
19
|
return this.localeOptions
|
|
20
20
|
? of(this.localeOptions)
|
|
21
|
-
: this.getLocaleConfig().pipe(tap((localeOptions) => (this.localeOptions = localeOptions)));
|
|
21
|
+
: this.getLocaleConfig().pipe(tap((localeOptions) => (this.localeOptions = Object.assign(Object.assign({}, localeOptions), { locale: this.locale }))));
|
|
22
22
|
}
|
|
23
23
|
getLocale() {
|
|
24
24
|
return this.locale
|
|
@@ -28,6 +28,13 @@ let LocaleService = class LocaleService {
|
|
|
28
28
|
return this.locale;
|
|
29
29
|
}));
|
|
30
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Returns an object with the locale options based on the user's locale(platform locale).
|
|
33
|
+
* @return The locale options object.
|
|
34
|
+
*/
|
|
35
|
+
getLocaleOptions() {
|
|
36
|
+
return this.localeOptions;
|
|
37
|
+
}
|
|
31
38
|
getUserData() {
|
|
32
39
|
try {
|
|
33
40
|
return of(JSON.parse(this.cookieService.get("com.senior.token")));
|
|
@@ -78,4 +85,4 @@ LocaleService = __decorate([
|
|
|
78
85
|
Injectable()
|
|
79
86
|
], LocaleService);
|
|
80
87
|
export { LocaleService };
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9sb2NhbGUvbG9jYWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RCxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFrQixhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbkQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUMseUVBQXlFO0FBR2pHLElBQWEsYUFBYSxHQUExQixNQUFhLGFBQWE7SUFNdEIsWUFDWSxJQUFnQixFQUNoQixhQUE0QjtRQUQ1QixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBTGhDLHlCQUFvQixHQUFHLDJDQUEyQyxDQUFDO1FBQ25FLHlCQUFvQixHQUFHLE9BQU8sQ0FBQztJQUtwQyxDQUFDO0lBRUosR0FBRztRQUNDLE9BQU8sSUFBSSxDQUFDLGFBQWE7WUFDckIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUN2QixHQUFHLENBQUMsQ0FBQyxhQUE0QixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLG1DQUFRLGFBQWEsS0FBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRSxDQUFDLENBQUMsQ0FDMUcsQ0FBQztJQUNaLENBQUM7SUFFRCxTQUFTO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTTtZQUNkLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNqQixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDekIsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQVcsUUFBUSxDQUFDLE1BQU0sSUFBWSxRQUFRLENBQUMsWUFBWSxJQUFJLE9BQU8sQ0FBQztnQkFDbEYsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDWixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsZ0JBQWdCO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFTyxXQUFXO1FBQ2YsSUFBSTtZQUNBLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDckU7UUFBQyxPQUFPLEVBQUUsRUFBRTtZQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsMkRBQTJELENBQUMsQ0FBQztZQUMxRSxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUM3QjtJQUNMLENBQUM7SUFFTyxlQUFlO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FDeEIsU0FBUyxDQUFDLENBQUMsTUFBYyxFQUFFLEVBQUU7WUFDekIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUV0QixPQUFPLElBQUksQ0FBQyxJQUFJO2lCQUNYLEdBQUcsQ0FBaUIsR0FBRyxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLG9CQUFvQixJQUFJLE1BQU0sT0FBTyxDQUFDO2lCQUMvRixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDcEIsT0FBTyxDQUFDLElBQUksQ0FBQyxxREFBcUQsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN6RSxPQUFPLEVBQUUsQ0FBQyxJQUFJLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFRCxvQkFBb0I7O1FBQ2hCLE1BQU0sWUFBWSxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3BELEtBQUssRUFBRSxTQUFTO1lBQ2hCLHFCQUFxQixFQUFFLENBQUM7WUFDeEIscUJBQXFCLEVBQUUsQ0FBQztTQUMzQixDQUFDLENBQUM7UUFFSCx5R0FBeUc7UUFDekcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFBRSxPQUFPLEdBQUcsQ0FBQztRQUUzQyxhQUFPLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQywwQ0FBRSxLQUFLLENBQUM7SUFDekYsQ0FBQztJQUVELG1CQUFtQjs7UUFDZixNQUFNLFlBQVksR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNwRCxLQUFLLEVBQUUsU0FBUztZQUNoQixxQkFBcUIsRUFBRSxDQUFDO1lBQ3hCLHFCQUFxQixFQUFFLENBQUM7U0FDM0IsQ0FBQyxDQUFDO1FBRUgsYUFBTyxZQUFZLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsMENBQUUsS0FBSyxDQUFDO0lBQzFGLENBQUM7Q0FDSixDQUFBOztZQTlFcUIsVUFBVTtZQUNELGFBQWE7O0FBUi9CLGFBQWE7SUFEekIsVUFBVSxFQUFFO0dBQ0EsYUFBYSxDQXFGekI7U0FyRlksYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgdXNlciB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvc2VuaW9yLXBsYXRmb3JtLWRhdGFcIjtcbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSBcIm1vbWVudFwiO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgSUxvY2FsZU9wdGlvbnMsIExvY2FsZU9wdGlvbnMgfSBmcm9tIFwiLi9vcHRpb25zL2luZGV4XCI7XG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSBcIm5neC1jb29raWUtc2VydmljZVwiO1xuXG5jb25zdCBtb21lbnQgPSBtb21lbnRfOyAvLyBASEFDSyBOZWNlc3NhcnkgYmVjYXVzZSBvZiBodHRwczovL2dpdGh1Yi5jb20vcm9sbHVwL3JvbGx1cC9pc3N1ZXMvNjcwXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMb2NhbGVTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGxvY2FsZTogc3RyaW5nO1xuICAgIHByaXZhdGUgbG9jYWxlT3B0aW9uczogTG9jYWxlT3B0aW9ucztcbiAgICBwcml2YXRlIGxvY2FsZU9wdGlvbnNBZGRyZXNzID0gXCJodHRwczovL2Nkbi5zZW5pb3IuY29tLmJyL3ByaW1lbmcvbG9jYWxlc1wiO1xuICAgIHByaXZhdGUgbG9jYWxlT3B0aW9uc1ZlcnNpb24gPSBcIjMuMC4wXCI7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBwcml2YXRlIGNvb2tpZVNlcnZpY2U6IENvb2tpZVNlcnZpY2VcbiAgICApIHt9XG5cbiAgICBnZXQoKTogT2JzZXJ2YWJsZTxMb2NhbGVPcHRpb25zPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvY2FsZU9wdGlvbnNcbiAgICAgICAgICAgID8gb2YodGhpcy5sb2NhbGVPcHRpb25zKVxuICAgICAgICAgICAgOiB0aGlzLmdldExvY2FsZUNvbmZpZygpLnBpcGUoXG4gICAgICAgICAgICAgICAgICB0YXAoKGxvY2FsZU9wdGlvbnM6IExvY2FsZU9wdGlvbnMpID0+ICh0aGlzLmxvY2FsZU9wdGlvbnMgPSB7IC4uLmxvY2FsZU9wdGlvbnMsIGxvY2FsZTogdGhpcy5sb2NhbGUgfSkpXG4gICAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0TG9jYWxlKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvY2FsZVxuICAgICAgICAgICAgPyBvZih0aGlzLmxvY2FsZSlcbiAgICAgICAgICAgIDogZnJvbSh0aGlzLmdldFVzZXJEYXRhKCkpLnBpcGUoXG4gICAgICAgICAgICAgICAgICBtYXAoKHVzZXJEYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvY2FsZSA9IDxzdHJpbmc+dXNlckRhdGEubG9jYWxlIHx8IDxzdHJpbmc+dXNlckRhdGEudGVuYW50TG9jYWxlIHx8IFwicHQtQlJcIjtcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2NhbGU7XG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYW4gb2JqZWN0IHdpdGggdGhlIGxvY2FsZSBvcHRpb25zIGJhc2VkIG9uIHRoZSB1c2VyJ3MgbG9jYWxlKHBsYXRmb3JtIGxvY2FsZSkuXG4gICAgICogQHJldHVybiBUaGUgbG9jYWxlIG9wdGlvbnMgb2JqZWN0LlxuICAgICAqL1xuICAgIGdldExvY2FsZU9wdGlvbnMoKTogTG9jYWxlT3B0aW9ucyB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvY2FsZU9wdGlvbnM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRVc2VyRGF0YSgpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBvZihKU09OLnBhcnNlKHRoaXMuY29va2llU2VydmljZS5nZXQoXCJjb20uc2VuaW9yLnRva2VuXCIpKSk7XG4gICAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJVbmFibGUgdG8gb2J0YWluIHVzZXIgbG9jYWxlIGZyb20gY29va2llLCBjYWxsaW5nIGdldFVzZXJcIik7XG4gICAgICAgICAgICByZXR1cm4gdXNlci5nZXRVc2VyRGF0YSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRMb2NhbGVDb25maWcoKTogT2JzZXJ2YWJsZTxMb2NhbGVPcHRpb25zPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldExvY2FsZSgpLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKGxvY2FsZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgbW9tZW50LmxvY2FsZShsb2NhbGUpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgICAgICAgICAuZ2V0PElMb2NhbGVPcHRpb25zPihgJHt0aGlzLmxvY2FsZU9wdGlvbnNBZGRyZXNzfS8ke3RoaXMubG9jYWxlT3B0aW9uc1ZlcnNpb259LyR7bG9jYWxlfS5qc29uYClcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUobWFwKChyZXNwb25zZSkgPT4gbmV3IExvY2FsZU9wdGlvbnMocmVzcG9uc2UpKSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBFcnJvciBnZXR0aW5nIGxvY2FsZSBjb25maWd1cmF0aW9uLiBVc2luZyBmYWxsYmFjay5gLCBlcnIpO1xuICAgICAgICAgICAgICAgIHJldHVybiBvZihuZXcgTG9jYWxlT3B0aW9ucygpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0R3JvdXBpbmdTZXBhcmF0b3IoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgbnVtYmVyRm9ybWF0ID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KHRoaXMubG9jYWxlLCB7XG4gICAgICAgICAgICBzdHlsZTogXCJkZWNpbWFsXCIsXG4gICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDUsXG4gICAgICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IDUsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFRoZSBkZWZhdWx0IGdyb3VwaW5nU2VwYXJhdG9yIGZvciAnZnInIGlzIHRoZSBjaGFyYWN0ZXIgY29kZSA4MjM5LiBXZSBuZWVkIGl0IHRvIGJlIHRoZSByZWd1bGFyIHNwYWNlLlxuICAgICAgICBpZiAodGhpcy5sb2NhbGUuaW5jbHVkZXMoXCJmclwiKSkgcmV0dXJuIFwiIFwiO1xuXG4gICAgICAgIHJldHVybiBudW1iZXJGb3JtYXQuZm9ybWF0VG9QYXJ0cygxMDAwKS5maW5kKChwYXJ0KSA9PiBwYXJ0LnR5cGUgPT09IFwiZ3JvdXBcIik/LnZhbHVlO1xuICAgIH1cblxuICAgIGdldERlY2ltYWxTZXBhcmF0b3IoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgbnVtYmVyRm9ybWF0ID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KHRoaXMubG9jYWxlLCB7XG4gICAgICAgICAgICBzdHlsZTogXCJkZWNpbWFsXCIsXG4gICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDUsXG4gICAgICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IDUsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBudW1iZXJGb3JtYXQuZm9ybWF0VG9QYXJ0cygxLjIpLmZpbmQoKHBhcnQpID0+IHBhcnQudHlwZSA9PT0gXCJkZWNpbWFsXCIpPy52YWx1ZTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -21,4 +21,4 @@ export const DEFAULT_NUMBER_LOCALE_OPTIONS = new NumberLocaleOptions();
|
|
|
21
21
|
export const DEFAULT_LOCALE_OPTIONS = new LocaleOptions();
|
|
22
22
|
export * from "./calendar";
|
|
23
23
|
export * from "./number";
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9sb2NhbGUvb3B0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBTy9DLE1BQU0sT0FBTyxhQUFhO0lBS3RCLFlBQVksU0FBeUIsRUFBRTtRQUh2QyxhQUFRLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBQ3ZDLFdBQU0sR0FBRyxJQUFJLG1CQUFtQixFQUFFLENBQUM7UUFHL0IsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvRSxDQUFDO0NBQ0o7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLElBQUkscUJBQXFCLEVBQUUsQ0FBQztBQUUzRTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLElBQUksbUJBQW1CLEVBQUUsQ0FBQztBQUV2RTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7QUFFMUQsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYWxlbmRhckxvY2FsZU9wdGlvbnMgfSBmcm9tIFwiLi9jYWxlbmRhclwiO1xuaW1wb3J0IHsgTnVtYmVyTG9jYWxlT3B0aW9ucyB9IGZyb20gXCIuL251bWJlclwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIElMb2NhbGVPcHRpb25zIHtcbiAgICBjYWxlbmRhcj86IENhbGVuZGFyTG9jYWxlT3B0aW9ucztcbiAgICBudW1iZXI/OiBOdW1iZXJMb2NhbGVPcHRpb25zO1xufVxuXG5leHBvcnQgY2xhc3MgTG9jYWxlT3B0aW9ucyBpbXBsZW1lbnRzIElMb2NhbGVPcHRpb25zIHtcbiAgICBsb2NhbGU6IHN0cmluZztcbiAgICBjYWxlbmRhciA9IG5ldyBDYWxlbmRhckxvY2FsZU9wdGlvbnMoKTtcbiAgICBudW1iZXIgPSBuZXcgTnVtYmVyTG9jYWxlT3B0aW9ucygpO1xuXG4gICAgY29uc3RydWN0b3IoY29uZmlnOiBJTG9jYWxlT3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIE9iamVjdC5rZXlzKGNvbmZpZykuZm9yRWFjaChrZXkgPT4gKHRoaXNba2V5XSA9IGNvbmZpZ1trZXldIHx8IHRoaXNba2V5XSkpO1xuICAgIH1cbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9DQUxFTkRBUl9MT0NBTEVfT1BUSU9OUyA9IG5ldyBDYWxlbmRhckxvY2FsZU9wdGlvbnMoKTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9OVU1CRVJfTE9DQUxFX09QVElPTlMgPSBuZXcgTnVtYmVyTG9jYWxlT3B0aW9ucygpO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0xPQ0FMRV9PUFRJT05TID0gbmV3IExvY2FsZU9wdGlvbnMoKTtcblxuZXhwb3J0ICogZnJvbSBcIi4vY2FsZW5kYXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL251bWJlclwiO1xuIl19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Pipe } from "@angular/core";
|
|
3
|
+
import { of } from "rxjs";
|
|
4
|
+
import { map } from "rxjs/operators";
|
|
5
|
+
import { LocaleService } from "../locale.service";
|
|
6
|
+
import { NumericService } from "../services/numeric.service";
|
|
7
|
+
let NumericPipe = class NumericPipe {
|
|
8
|
+
constructor(numericService, localeService) {
|
|
9
|
+
this.numericService = numericService;
|
|
10
|
+
this.localeService = localeService;
|
|
11
|
+
}
|
|
12
|
+
transform(value, options) {
|
|
13
|
+
return (options === null || options === void 0 ? void 0 : options.locale) ? of(this.numericService.instant(value, options))
|
|
14
|
+
: this.localeService.getLocale().pipe(map((locale) => this.numericService.instant(value, {
|
|
15
|
+
locale,
|
|
16
|
+
options: options === null || options === void 0 ? void 0 : options.options,
|
|
17
|
+
})));
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
NumericPipe.ctorParameters = () => [
|
|
21
|
+
{ type: NumericService },
|
|
22
|
+
{ type: LocaleService }
|
|
23
|
+
];
|
|
24
|
+
NumericPipe = __decorate([
|
|
25
|
+
Pipe({ name: "numeric" })
|
|
26
|
+
], NumericPipe);
|
|
27
|
+
export { NumericPipe };
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvbG9jYWxlL3BpcGVzL251bWVyaWMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFcEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUc3RCxJQUFhLFdBQVcsR0FBeEIsTUFBYSxXQUFXO0lBQ3BCLFlBQ3FCLGNBQThCLEVBQzlCLGFBQTRCO1FBRDVCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUM5QyxDQUFDO0lBRUosU0FBUyxDQUNMLEtBQWtDLEVBQ2xDLE9BR0M7UUFFRCxPQUFPLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE1BQU0sRUFDbEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDakQsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUMvQixHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNYLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRTtnQkFDL0IsTUFBTTtnQkFDTixPQUFPLEVBQUUsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE9BQU87YUFDNUIsQ0FBQyxDQUNMLENBQ0osQ0FBQztJQUNaLENBQUM7Q0FDSixDQUFBOztZQXRCd0MsY0FBYztZQUNmLGFBQWE7O0FBSHhDLFdBQVc7SUFEdkIsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO0dBQ2IsV0FBVyxDQXdCdkI7U0F4QlksV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tIFwiYmlnbnVtYmVyLmpzXCI7XG5pbXBvcnQgeyBvZiB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBtYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IExvY2FsZVNlcnZpY2UgfSBmcm9tIFwiLi4vbG9jYWxlLnNlcnZpY2VcIjtcbmltcG9ydCB7IE51bWVyaWNTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL251bWVyaWMuc2VydmljZVwiO1xuXG5AUGlwZSh7IG5hbWU6IFwibnVtZXJpY1wiIH0pXG5leHBvcnQgY2xhc3MgTnVtZXJpY1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBudW1lcmljU2VydmljZTogTnVtZXJpY1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxlU2VydmljZTogTG9jYWxlU2VydmljZVxuICAgICkge31cblxuICAgIHRyYW5zZm9ybShcbiAgICAgICAgdmFsdWU6IG51bWJlciB8IHN0cmluZyB8IEJpZ051bWJlcixcbiAgICAgICAgb3B0aW9ucz86IHtcbiAgICAgICAgICAgIGxvY2FsZT86IHN0cmluZztcbiAgICAgICAgICAgIG9wdGlvbnM/OiBJbnRsLk51bWJlckZvcm1hdE9wdGlvbnM7XG4gICAgICAgIH1cbiAgICApIHtcbiAgICAgICAgcmV0dXJuIG9wdGlvbnM/LmxvY2FsZVxuICAgICAgICAgICAgPyBvZih0aGlzLm51bWVyaWNTZXJ2aWNlLmluc3RhbnQodmFsdWUsIG9wdGlvbnMpKVxuICAgICAgICAgICAgOiB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0TG9jYWxlKCkucGlwZShcbiAgICAgICAgICAgICAgICAgIG1hcCgobG9jYWxlKSA9PlxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMubnVtZXJpY1NlcnZpY2UuaW5zdGFudCh2YWx1ZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IG9wdGlvbnM/Lm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Injectable } from "@angular/core";
|
|
3
|
+
import { LocaleService } from "../locale.service";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../locale.service";
|
|
6
|
+
let NumericService = class NumericService {
|
|
7
|
+
constructor(localeService) {
|
|
8
|
+
this.localeService = localeService;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Wrapper around Intl.NumberFormat that returns the localized value using the user's locale by default(platform's preferential language).
|
|
12
|
+
*
|
|
13
|
+
* This method should only be used after the localeService has been initialized by the host application, either by a resolver or a manual call.
|
|
14
|
+
*
|
|
15
|
+
* Can be overwritten by the provided Intl.NumberFormatOptions.
|
|
16
|
+
*
|
|
17
|
+
* Documentation is available at {@link https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat Intl.NumberFormatOptions}.
|
|
18
|
+
*
|
|
19
|
+
* @param {number | string | BigNumber} value The value to be formatted.
|
|
20
|
+
* @param {Intl.NumberFormatOptions} options Options that overwrites the default Intl.NumberFormatOptions.
|
|
21
|
+
* @return `string` The formatted value.
|
|
22
|
+
*/
|
|
23
|
+
instant(value, options) {
|
|
24
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
25
|
+
options = Object.assign(Object.assign({}, options), { locale: (_c = (_a = options === null || options === void 0 ? void 0 : options.locale) !== null && _a !== void 0 ? _a : (_b = this.localeService.getLocaleOptions()) === null || _b === void 0 ? void 0 : _b.locale) !== null && _c !== void 0 ? _c : "pt-BR", options: Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.options), { currency: ((_d = options === null || options === void 0 ? void 0 : options.options) === null || _d === void 0 ? void 0 : _d.style) === "currency" ? (_f = (_e = options === null || options === void 0 ? void 0 : options.options) === null || _e === void 0 ? void 0 : _e.currency) !== null && _f !== void 0 ? _f : "BRL" : undefined, currencyDisplay: ((_g = options === null || options === void 0 ? void 0 : options.options) === null || _g === void 0 ? void 0 : _g.style) === "currency" ? (_j = (_h = options === null || options === void 0 ? void 0 : options.options) === null || _h === void 0 ? void 0 : _h.currencyDisplay) !== null && _j !== void 0 ? _j : "narrowSymbol" : undefined, minimumFractionDigits: (_l = (_k = options === null || options === void 0 ? void 0 : options.options) === null || _k === void 0 ? void 0 : _k.minimumFractionDigits) !== null && _l !== void 0 ? _l : 0 }) });
|
|
26
|
+
// From https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat
|
|
27
|
+
return new Intl.NumberFormat(options.locale, options.options).format(this.getType(value) === "number" || this.getType(value) === "string" ? value : value.toString());
|
|
28
|
+
}
|
|
29
|
+
getType(value) {
|
|
30
|
+
// From https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof
|
|
31
|
+
if (value === null) {
|
|
32
|
+
return "null";
|
|
33
|
+
}
|
|
34
|
+
const baseType = typeof value;
|
|
35
|
+
// Primitive types
|
|
36
|
+
if (baseType !== "object" && baseType !== "function") {
|
|
37
|
+
return baseType;
|
|
38
|
+
}
|
|
39
|
+
// Symbol.toStringTag often specifies the "display name" of the
|
|
40
|
+
// object's class. It's used in Object.prototype.toString().
|
|
41
|
+
const tag = value[Symbol.toStringTag];
|
|
42
|
+
if (typeof tag === "string") {
|
|
43
|
+
return tag;
|
|
44
|
+
}
|
|
45
|
+
// If it's a function whose source code starts with the "class" keyword
|
|
46
|
+
if (baseType === "function" && Function.prototype.toString.call(value).startsWith("class")) {
|
|
47
|
+
return "class";
|
|
48
|
+
}
|
|
49
|
+
// The name of the constructor; for example `Array`, `GeneratorFunction`,
|
|
50
|
+
// `Number`, `String`, `Boolean` or `MyCustomClass`
|
|
51
|
+
const className = value.constructor.name;
|
|
52
|
+
if (typeof className === "string" && className !== "") {
|
|
53
|
+
return className;
|
|
54
|
+
}
|
|
55
|
+
// At this point there's no robust way to get the type of value,
|
|
56
|
+
// so we use the base implementation.
|
|
57
|
+
return baseType;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
NumericService.ctorParameters = () => [
|
|
61
|
+
{ type: LocaleService }
|
|
62
|
+
];
|
|
63
|
+
NumericService.ɵprov = i0.ɵɵdefineInjectable({ factory: function NumericService_Factory() { return new NumericService(i0.ɵɵinject(i1.LocaleService)); }, token: NumericService, providedIn: "root" });
|
|
64
|
+
NumericService = __decorate([
|
|
65
|
+
Injectable({
|
|
66
|
+
providedIn: "root",
|
|
67
|
+
})
|
|
68
|
+
], NumericService);
|
|
69
|
+
export { NumericService };
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvbG9jYWxlL3NlcnZpY2VzL251bWVyaWMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQU1sRCxJQUFhLGNBQWMsR0FBM0IsTUFBYSxjQUFjO0lBQ3ZCLFlBQTZCLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQUcsQ0FBQztJQUU3RDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxPQUFPLENBQ0gsS0FBa0MsRUFDbEMsT0FHQzs7UUFFRCxPQUFPLG1DQUNBLE9BQU8sS0FDVixNQUFNLGNBQUUsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE1BQU0seUNBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSwwQ0FBRSxNQUFNLG1DQUFJLE9BQU8sRUFDbkYsT0FBTyxrQ0FDQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsT0FBTyxLQUNuQixRQUFRLEVBQUUsT0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsT0FBTywwQ0FBRSxLQUFLLE1BQUssVUFBVSxDQUFDLENBQUMsYUFBQyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsT0FBTywwQ0FBRSxRQUFRLG1DQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUNsRyxlQUFlLEVBQUUsT0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsT0FBTywwQ0FBRSxLQUFLLE1BQUssVUFBVSxDQUFDLENBQUMsYUFBQyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsT0FBTywwQ0FBRSxlQUFlLG1DQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUN6SCxxQkFBcUIsY0FBRSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsT0FBTywwQ0FBRSxxQkFBcUIsbUNBQUksQ0FBQyxNQUUxRSxDQUFDO1FBRUYsMEdBQTBHO1FBQzFHLE9BQU8sSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FDaEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUcsS0FBbUIsQ0FBQyxRQUFRLEVBQVUsQ0FDMUgsQ0FBQztJQUNOLENBQUM7SUFFTyxPQUFPLENBQUMsS0FBYztRQUMxQiwwRkFBMEY7UUFFMUYsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQ2hCLE9BQU8sTUFBTSxDQUFDO1NBQ2pCO1FBRUQsTUFBTSxRQUFRLEdBQUcsT0FBTyxLQUFLLENBQUM7UUFFOUIsa0JBQWtCO1FBQ2xCLElBQUksUUFBUSxLQUFLLFFBQVEsSUFBSSxRQUFRLEtBQUssVUFBVSxFQUFFO1lBQ2xELE9BQU8sUUFBUSxDQUFDO1NBQ25CO1FBRUQsK0RBQStEO1FBQy9ELDREQUE0RDtRQUM1RCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXRDLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFO1lBQ3pCLE9BQU8sR0FBRyxDQUFDO1NBQ2Q7UUFFRCx1RUFBdUU7UUFDdkUsSUFBSSxRQUFRLEtBQUssVUFBVSxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDeEYsT0FBTyxPQUFPLENBQUM7U0FDbEI7UUFFRCx5RUFBeUU7UUFDekUsbURBQW1EO1FBQ25ELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBRXpDLElBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxJQUFJLFNBQVMsS0FBSyxFQUFFLEVBQUU7WUFDbkQsT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFFRCxnRUFBZ0U7UUFDaEUscUNBQXFDO1FBQ3JDLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSixDQUFBOztZQTlFK0MsYUFBYTs7O0FBRGhELGNBQWM7SUFIMUIsVUFBVSxDQUFDO1FBQ1IsVUFBVSxFQUFFLE1BQU07S0FDckIsQ0FBQztHQUNXLGNBQWMsQ0ErRTFCO1NBL0VZLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IExvY2FsZVNlcnZpY2UgfSBmcm9tIFwiLi4vbG9jYWxlLnNlcnZpY2VcIjtcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSBcImJpZ251bWJlci5qc1wiO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXG59KVxuZXhwb3J0IGNsYXNzIE51bWVyaWNTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGxvY2FsZVNlcnZpY2U6IExvY2FsZVNlcnZpY2UpIHt9XG5cbiAgICAvKipcbiAgICAgKiBXcmFwcGVyIGFyb3VuZCBJbnRsLk51bWJlckZvcm1hdCB0aGF0IHJldHVybnMgdGhlIGxvY2FsaXplZCB2YWx1ZSB1c2luZyB0aGUgdXNlcidzIGxvY2FsZSBieSBkZWZhdWx0KHBsYXRmb3JtJ3MgcHJlZmVyZW50aWFsIGxhbmd1YWdlKS5cbiAgICAgKlxuICAgICAqIFRoaXMgbWV0aG9kIHNob3VsZCBvbmx5IGJlIHVzZWQgYWZ0ZXIgdGhlIGxvY2FsZVNlcnZpY2UgaGFzIGJlZW4gaW5pdGlhbGl6ZWQgYnkgdGhlIGhvc3QgYXBwbGljYXRpb24sIGVpdGhlciBieSBhIHJlc29sdmVyIG9yIGEgbWFudWFsIGNhbGwuXG4gICAgICpcbiAgICAgKiBDYW4gYmUgb3ZlcndyaXR0ZW4gYnkgdGhlIHByb3ZpZGVkIEludGwuTnVtYmVyRm9ybWF0T3B0aW9ucy5cbiAgICAgKlxuICAgICAqIERvY3VtZW50YXRpb24gaXMgYXZhaWxhYmxlIGF0IHtAbGluayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9wdC1CUi9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9JbnRsL051bWJlckZvcm1hdCBJbnRsLk51bWJlckZvcm1hdE9wdGlvbnN9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHtudW1iZXIgfCBzdHJpbmcgfCBCaWdOdW1iZXJ9IHZhbHVlIFRoZSB2YWx1ZSB0byBiZSBmb3JtYXR0ZWQuXG4gICAgICogQHBhcmFtIHtJbnRsLk51bWJlckZvcm1hdE9wdGlvbnN9IG9wdGlvbnMgT3B0aW9ucyB0aGF0IG92ZXJ3cml0ZXMgdGhlIGRlZmF1bHQgSW50bC5OdW1iZXJGb3JtYXRPcHRpb25zLlxuICAgICAqIEByZXR1cm4gYHN0cmluZ2AgVGhlIGZvcm1hdHRlZCB2YWx1ZS5cbiAgICAgKi9cbiAgICBpbnN0YW50KFxuICAgICAgICB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nIHwgQmlnTnVtYmVyLFxuICAgICAgICBvcHRpb25zPzoge1xuICAgICAgICAgICAgbG9jYWxlPzogc3RyaW5nO1xuICAgICAgICAgICAgb3B0aW9ucz86IEludGwuTnVtYmVyRm9ybWF0T3B0aW9ucztcbiAgICAgICAgfVxuICAgICk6IHN0cmluZyB7XG4gICAgICAgIG9wdGlvbnMgPSB7XG4gICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgbG9jYWxlOiBvcHRpb25zPy5sb2NhbGUgPz8gdGhpcy5sb2NhbGVTZXJ2aWNlLmdldExvY2FsZU9wdGlvbnMoKT8ubG9jYWxlID8/IFwicHQtQlJcIixcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAuLi5vcHRpb25zPy5vcHRpb25zLFxuICAgICAgICAgICAgICAgIGN1cnJlbmN5OiBvcHRpb25zPy5vcHRpb25zPy5zdHlsZSA9PT0gXCJjdXJyZW5jeVwiID8gb3B0aW9ucz8ub3B0aW9ucz8uY3VycmVuY3kgPz8gXCJCUkxcIiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBjdXJyZW5jeURpc3BsYXk6IG9wdGlvbnM/Lm9wdGlvbnM/LnN0eWxlID09PSBcImN1cnJlbmN5XCIgPyBvcHRpb25zPy5vcHRpb25zPy5jdXJyZW5jeURpc3BsYXkgPz8gXCJuYXJyb3dTeW1ib2xcIiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IG9wdGlvbnM/Lm9wdGlvbnM/Lm1pbmltdW1GcmFjdGlvbkRpZ2l0cyA/PyAwLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcblxuICAgICAgICAvLyBGcm9tIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL3B0LUJSL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0ludGwvTnVtYmVyRm9ybWF0XG4gICAgICAgIHJldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQob3B0aW9ucy5sb2NhbGUsIG9wdGlvbnMub3B0aW9ucykuZm9ybWF0KFxuICAgICAgICAgICAgdGhpcy5nZXRUeXBlKHZhbHVlKSA9PT0gXCJudW1iZXJcIiB8fCB0aGlzLmdldFR5cGUodmFsdWUpID09PSBcInN0cmluZ1wiID8gdmFsdWUgOiAoKHZhbHVlIGFzIEJpZ051bWJlcikudG9TdHJpbmcoKSBhcyBhbnkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUeXBlKHZhbHVlOiB1bmtub3duKTogc3RyaW5nIHtcbiAgICAgICAgLy8gRnJvbSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9PcGVyYXRvcnMvdHlwZW9mXG5cbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJudWxsXCI7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBiYXNlVHlwZSA9IHR5cGVvZiB2YWx1ZTtcblxuICAgICAgICAvLyBQcmltaXRpdmUgdHlwZXNcbiAgICAgICAgaWYgKGJhc2VUeXBlICE9PSBcIm9iamVjdFwiICYmIGJhc2VUeXBlICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBiYXNlVHlwZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFN5bWJvbC50b1N0cmluZ1RhZyBvZnRlbiBzcGVjaWZpZXMgdGhlIFwiZGlzcGxheSBuYW1lXCIgb2YgdGhlXG4gICAgICAgIC8vIG9iamVjdCdzIGNsYXNzLiBJdCdzIHVzZWQgaW4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZygpLlxuICAgICAgICBjb25zdCB0YWcgPSB2YWx1ZVtTeW1ib2wudG9TdHJpbmdUYWddO1xuXG4gICAgICAgIGlmICh0eXBlb2YgdGFnID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICByZXR1cm4gdGFnO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSWYgaXQncyBhIGZ1bmN0aW9uIHdob3NlIHNvdXJjZSBjb2RlIHN0YXJ0cyB3aXRoIHRoZSBcImNsYXNzXCIga2V5d29yZFxuICAgICAgICBpZiAoYmFzZVR5cGUgPT09IFwiZnVuY3Rpb25cIiAmJiBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWx1ZSkuc3RhcnRzV2l0aChcImNsYXNzXCIpKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJjbGFzc1wiO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhlIG5hbWUgb2YgdGhlIGNvbnN0cnVjdG9yOyBmb3IgZXhhbXBsZSBgQXJyYXlgLCBgR2VuZXJhdG9yRnVuY3Rpb25gLFxuICAgICAgICAvLyBgTnVtYmVyYCwgYFN0cmluZ2AsIGBCb29sZWFuYCBvciBgTXlDdXN0b21DbGFzc2BcbiAgICAgICAgY29uc3QgY2xhc3NOYW1lID0gdmFsdWUuY29uc3RydWN0b3IubmFtZTtcblxuICAgICAgICBpZiAodHlwZW9mIGNsYXNzTmFtZSA9PT0gXCJzdHJpbmdcIiAmJiBjbGFzc05hbWUgIT09IFwiXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBjbGFzc05hbWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBdCB0aGlzIHBvaW50IHRoZXJlJ3Mgbm8gcm9idXN0IHdheSB0byBnZXQgdGhlIHR5cGUgb2YgdmFsdWUsXG4gICAgICAgIC8vIHNvIHdlIHVzZSB0aGUgYmFzZSBpbXBsZW1lbnRhdGlvbi5cbiAgICAgICAgcmV0dXJuIGJhc2VUeXBlO1xuICAgIH1cbn1cbiJdfQ==
|