@seniorsistemas/angular-components 17.10.10 → 17.10.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.
@@ -1,8 +1,10 @@
1
1
  import { LocaleService } from "../locale.service";
2
2
  import BigNumber from "bignumber.js";
3
+ import { CurrencyService } from "../../../utils/currency/currency.service";
3
4
  export declare class NumericService {
4
5
  private readonly localeService;
5
- constructor(localeService: LocaleService);
6
+ private readonly currencyService;
7
+ constructor(localeService: LocaleService, currencyService: CurrencyService);
6
8
  /**
7
9
  * Wrapper around Intl.NumberFormat that returns the localized value using the user's locale by default(platform's preferential language).
8
10
  *
@@ -20,5 +22,6 @@ export declare class NumericService {
20
22
  locale?: string;
21
23
  numberFormatOptions?: Intl.NumberFormatOptions;
22
24
  }): string;
25
+ private getCurrencyMinimumFractionDigits;
23
26
  private getType;
24
27
  }
@@ -1,11 +1,14 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { Injectable } from "@angular/core";
3
3
  import { LocaleService } from "../locale.service";
4
+ import { CurrencyService } from "../../../utils/currency/currency.service";
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "../locale.service";
7
+ import * as i2 from "../../../utils/currency/currency.service";
6
8
  let NumericService = class NumericService {
7
- constructor(localeService) {
9
+ constructor(localeService, currencyService) {
8
10
  this.localeService = localeService;
11
+ this.currencyService = currencyService;
9
12
  }
10
13
  /**
11
14
  * Wrapper around Intl.NumberFormat that returns the localized value using the user's locale by default(platform's preferential language).
@@ -21,15 +24,20 @@ let NumericService = class NumericService {
21
24
  * @return `string` The formatted value.
22
25
  */
23
26
  instant(value, options) {
24
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
27
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
25
28
  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", numberFormatOptions: Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.numberFormatOptions), { currency: ((_d = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _d === void 0 ? void 0 : _d.style) === "currency" ? ((_f = (_e = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === 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.numberFormatOptions) === null || _g === void 0 ? void 0 : _g.style) === "currency"
26
29
  ? ((_j = (_h = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _h === void 0 ? void 0 : _h.currencyDisplay) !== null && _j !== void 0 ? _j : "narrowSymbol")
27
- : undefined, minimumFractionDigits: (_o = (_l = (_k = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _k === void 0 ? void 0 : _k.minimumFractionDigits) !== null && _l !== void 0 ? _l : (_m = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _m === void 0 ? void 0 : _m.maximumFractionDigits) !== null && _o !== void 0 ? _o : 2, maximumFractionDigits: (_s = (_q = (_p = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _p === void 0 ? void 0 : _p.maximumFractionDigits) !== null && _q !== void 0 ? _q : (_r = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _r === void 0 ? void 0 : _r.minimumFractionDigits) !== null && _s !== void 0 ? _s : 2 }) });
30
+ : undefined, minimumFractionDigits: (_l = (_k = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _k === void 0 ? void 0 : _k.minimumFractionDigits) !== null && _l !== void 0 ? _l : this.getCurrencyMinimumFractionDigits((_m = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _m === void 0 ? void 0 : _m.currency) }) });
28
31
  options.numberFormatOptions["roundingMode"] = "trunc";
29
- options.numberFormatOptions["trailingZeroDisplay"] = "stripIfInteger";
30
32
  // From https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat
31
33
  return new Intl.NumberFormat(options.locale, options.numberFormatOptions).format(this.getType(value) === "number" || this.getType(value) === "string" ? value : value.toString());
32
34
  }
35
+ getCurrencyMinimumFractionDigits(currency) {
36
+ var _a;
37
+ if (!currency)
38
+ return null;
39
+ return (_a = this.currencyService.currencies[currency.toUpperCase()]) === null || _a === void 0 ? void 0 : _a.scale;
40
+ }
33
41
  getType(value) {
34
42
  // From https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof
35
43
  if (value === null) {
@@ -62,13 +70,14 @@ let NumericService = class NumericService {
62
70
  }
63
71
  };
64
72
  NumericService.ctorParameters = () => [
65
- { type: LocaleService }
73
+ { type: LocaleService },
74
+ { type: CurrencyService }
66
75
  ];
67
- NumericService.ɵprov = i0.ɵɵdefineInjectable({ factory: function NumericService_Factory() { return new NumericService(i0.ɵɵinject(i1.LocaleService)); }, token: NumericService, providedIn: "root" });
76
+ NumericService.ɵprov = i0.ɵɵdefineInjectable({ factory: function NumericService_Factory() { return new NumericService(i0.ɵɵinject(i1.LocaleService), i0.ɵɵinject(i2.CurrencyService)); }, token: NumericService, providedIn: "root" });
68
77
  NumericService = __decorate([
69
78
  Injectable({
70
79
  providedIn: "root",
71
80
  })
72
81
  ], NumericService);
73
82
  export { NumericService };
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvbG9jYWxlL3NlcnZpY2VzL251bWVyaWMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQU1sRCxJQUFhLGNBQWMsR0FBM0IsTUFBYSxjQUFjO0lBQ3ZCLFlBQTZCLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQUcsQ0FBQztJQUU3RDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxPQUFPLENBQ0gsS0FBa0MsRUFDbEMsT0FHQzs7UUFFRCxPQUFPLG1DQUNBLE9BQU8sS0FDVixNQUFNLGNBQUUsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE1BQU0seUNBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSwwQ0FBRSxNQUFNLG1DQUFJLE9BQU8sRUFDbkYsbUJBQW1CLGtDQUNaLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxtQkFBbUIsS0FDL0IsUUFBUSxFQUNKLE9BQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLG1CQUFtQiwwQ0FBRSxLQUFLLE1BQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxhQUFDLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxtQkFBbUIsMENBQUUsUUFBUSxtQ0FBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUN0SCxlQUFlLEVBQ1gsT0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsbUJBQW1CLDBDQUFFLEtBQUssTUFBSyxVQUFVO29CQUM5QyxDQUFDLENBQUMsYUFBQyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsbUJBQW1CLDBDQUFFLGVBQWUsbUNBQUksY0FBYyxDQUFDO29CQUNuRSxDQUFDLENBQUMsU0FBUyxFQUNuQixxQkFBcUIsb0JBQ2pCLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxtQkFBbUIsMENBQUUscUJBQXFCLHlDQUFJLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxtQkFBbUIsMENBQUUscUJBQXFCLG1DQUFJLENBQUMsRUFDbkgscUJBQXFCLG9CQUNqQixPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsbUJBQW1CLDBDQUFFLHFCQUFxQix5Q0FBSSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsbUJBQW1CLDBDQUFFLHFCQUFxQixtQ0FBSSxDQUFDLE1BRTFILENBQUM7UUFFRixPQUFPLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQ3RELE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLGdCQUFnQixDQUFDO1FBRXRFLDBHQUEwRztRQUMxRyxPQUFPLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLE1BQU0sQ0FDNUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUcsS0FBbUIsQ0FBQyxRQUFRLEVBQVUsQ0FDMUgsQ0FBQztJQUNOLENBQUM7SUFFTyxPQUFPLENBQUMsS0FBYztRQUMxQiwwRkFBMEY7UUFFMUYsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQ2hCLE9BQU8sTUFBTSxDQUFDO1NBQ2pCO1FBRUQsTUFBTSxRQUFRLEdBQUcsT0FBTyxLQUFLLENBQUM7UUFFOUIsa0JBQWtCO1FBQ2xCLElBQUksUUFBUSxLQUFLLFFBQVEsSUFBSSxRQUFRLEtBQUssVUFBVSxFQUFFO1lBQ2xELE9BQU8sUUFBUSxDQUFDO1NBQ25CO1FBRUQsK0RBQStEO1FBQy9ELDREQUE0RDtRQUM1RCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXRDLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFO1lBQ3pCLE9BQU8sR0FBRyxDQUFDO1NBQ2Q7UUFFRCx1RUFBdUU7UUFDdkUsSUFBSSxRQUFRLEtBQUssVUFBVSxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDeEYsT0FBTyxPQUFPLENBQUM7U0FDbEI7UUFFRCx5RUFBeUU7UUFDekUsbURBQW1EO1FBQ25ELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBRXpDLElBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxJQUFJLFNBQVMsS0FBSyxFQUFFLEVBQUU7WUFDbkQsT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFFRCxnRUFBZ0U7UUFDaEUscUNBQXFDO1FBQ3JDLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSixDQUFBOztZQXhGK0MsYUFBYTs7O0FBRGhELGNBQWM7SUFIMUIsVUFBVSxDQUFDO1FBQ1IsVUFBVSxFQUFFLE1BQU07S0FDckIsQ0FBQztHQUNXLGNBQWMsQ0F5RjFCO1NBekZZLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IExvY2FsZVNlcnZpY2UgfSBmcm9tIFwiLi4vbG9jYWxlLnNlcnZpY2VcIjtcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSBcImJpZ251bWJlci5qc1wiO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXG59KVxuZXhwb3J0IGNsYXNzIE51bWVyaWNTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGxvY2FsZVNlcnZpY2U6IExvY2FsZVNlcnZpY2UpIHt9XG5cbiAgICAvKipcbiAgICAgKiBXcmFwcGVyIGFyb3VuZCBJbnRsLk51bWJlckZvcm1hdCB0aGF0IHJldHVybnMgdGhlIGxvY2FsaXplZCB2YWx1ZSB1c2luZyB0aGUgdXNlcidzIGxvY2FsZSBieSBkZWZhdWx0KHBsYXRmb3JtJ3MgcHJlZmVyZW50aWFsIGxhbmd1YWdlKS5cbiAgICAgKlxuICAgICAqIFRoaXMgbWV0aG9kIHNob3VsZCBvbmx5IGJlIHVzZWQgYWZ0ZXIgdGhlIGxvY2FsZVNlcnZpY2UgaGFzIGJlZW4gaW5pdGlhbGl6ZWQgYnkgdGhlIGhvc3QgYXBwbGljYXRpb24sIGVpdGhlciBieSBhIHJlc29sdmVyIG9yIGEgbWFudWFsIGNhbGwuXG4gICAgICpcbiAgICAgKiBDYW4gYmUgb3ZlcndyaXR0ZW4gYnkgdGhlIHByb3ZpZGVkIEludGwuTnVtYmVyRm9ybWF0T3B0aW9ucy5cbiAgICAgKlxuICAgICAqIERvY3VtZW50YXRpb24gaXMgYXZhaWxhYmxlIGF0IHtAbGluayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9wdC1CUi9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9JbnRsL051bWJlckZvcm1hdCBJbnRsLk51bWJlckZvcm1hdE9wdGlvbnN9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHtudW1iZXIgfCBzdHJpbmcgfCBCaWdOdW1iZXJ9IHZhbHVlIFRoZSB2YWx1ZSB0byBiZSBmb3JtYXR0ZWQuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgTG9jYWxlIGFuZCBudW1iZXJGb3JtYXRPcHRpb25zIHRoYXQgb3ZlcndyaXRlcyB0aGUgZGVmYXVsdCBJbnRsLk51bWJlckZvcm1hdE9wdGlvbnMuXG4gICAgICogQHJldHVybiBgc3RyaW5nYCBUaGUgZm9ybWF0dGVkIHZhbHVlLlxuICAgICAqL1xuICAgIGluc3RhbnQoXG4gICAgICAgIHZhbHVlOiBudW1iZXIgfCBzdHJpbmcgfCBCaWdOdW1iZXIsXG4gICAgICAgIG9wdGlvbnM/OiB7XG4gICAgICAgICAgICBsb2NhbGU/OiBzdHJpbmc7XG4gICAgICAgICAgICBudW1iZXJGb3JtYXRPcHRpb25zPzogSW50bC5OdW1iZXJGb3JtYXRPcHRpb25zO1xuICAgICAgICB9XG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgb3B0aW9ucyA9IHtcbiAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICBsb2NhbGU6IG9wdGlvbnM/LmxvY2FsZSA/PyB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0TG9jYWxlT3B0aW9ucygpPy5sb2NhbGUgPz8gXCJwdC1CUlwiLFxuICAgICAgICAgICAgbnVtYmVyRm9ybWF0T3B0aW9uczoge1xuICAgICAgICAgICAgICAgIC4uLm9wdGlvbnM/Lm51bWJlckZvcm1hdE9wdGlvbnMsXG4gICAgICAgICAgICAgICAgY3VycmVuY3k6XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnM/Lm51bWJlckZvcm1hdE9wdGlvbnM/LnN0eWxlID09PSBcImN1cnJlbmN5XCIgPyAob3B0aW9ucz8ubnVtYmVyRm9ybWF0T3B0aW9ucz8uY3VycmVuY3kgPz8gXCJCUkxcIikgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgY3VycmVuY3lEaXNwbGF5OlxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zPy5udW1iZXJGb3JtYXRPcHRpb25zPy5zdHlsZSA9PT0gXCJjdXJyZW5jeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA/IChvcHRpb25zPy5udW1iZXJGb3JtYXRPcHRpb25zPy5jdXJyZW5jeURpc3BsYXkgPz8gXCJuYXJyb3dTeW1ib2xcIilcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czpcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucz8ubnVtYmVyRm9ybWF0T3B0aW9ucz8ubWluaW11bUZyYWN0aW9uRGlnaXRzID8/IG9wdGlvbnM/Lm51bWJlckZvcm1hdE9wdGlvbnM/Lm1heGltdW1GcmFjdGlvbkRpZ2l0cyA/PyAyLFxuICAgICAgICAgICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czpcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucz8ubnVtYmVyRm9ybWF0T3B0aW9ucz8ubWF4aW11bUZyYWN0aW9uRGlnaXRzID8/IG9wdGlvbnM/Lm51bWJlckZvcm1hdE9wdGlvbnM/Lm1pbmltdW1GcmFjdGlvbkRpZ2l0cyA/PyAyLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcblxuICAgICAgICBvcHRpb25zLm51bWJlckZvcm1hdE9wdGlvbnNbXCJyb3VuZGluZ01vZGVcIl0gPSBcInRydW5jXCI7XG4gICAgICAgIG9wdGlvbnMubnVtYmVyRm9ybWF0T3B0aW9uc1tcInRyYWlsaW5nWmVyb0Rpc3BsYXlcIl0gPSBcInN0cmlwSWZJbnRlZ2VyXCI7XG5cbiAgICAgICAgLy8gRnJvbSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9wdC1CUi9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9JbnRsL051bWJlckZvcm1hdFxuICAgICAgICByZXR1cm4gbmV3IEludGwuTnVtYmVyRm9ybWF0KG9wdGlvbnMubG9jYWxlLCBvcHRpb25zLm51bWJlckZvcm1hdE9wdGlvbnMpLmZvcm1hdChcbiAgICAgICAgICAgIHRoaXMuZ2V0VHlwZSh2YWx1ZSkgPT09IFwibnVtYmVyXCIgfHwgdGhpcy5nZXRUeXBlKHZhbHVlKSA9PT0gXCJzdHJpbmdcIiA/IHZhbHVlIDogKCh2YWx1ZSBhcyBCaWdOdW1iZXIpLnRvU3RyaW5nKCkgYXMgYW55KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VHlwZSh2YWx1ZTogdW5rbm93bik6IHN0cmluZyB7XG4gICAgICAgIC8vIEZyb20gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvT3BlcmF0b3JzL3R5cGVvZlxuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIFwibnVsbFwiO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYmFzZVR5cGUgPSB0eXBlb2YgdmFsdWU7XG5cbiAgICAgICAgLy8gUHJpbWl0aXZlIHR5cGVzXG4gICAgICAgIGlmIChiYXNlVHlwZSAhPT0gXCJvYmplY3RcIiAmJiBiYXNlVHlwZSAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICByZXR1cm4gYmFzZVR5cGU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTeW1ib2wudG9TdHJpbmdUYWcgb2Z0ZW4gc3BlY2lmaWVzIHRoZSBcImRpc3BsYXkgbmFtZVwiIG9mIHRoZVxuICAgICAgICAvLyBvYmplY3QncyBjbGFzcy4gSXQncyB1c2VkIGluIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcoKS5cbiAgICAgICAgY29uc3QgdGFnID0gdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXTtcblxuICAgICAgICBpZiAodHlwZW9mIHRhZyA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgcmV0dXJuIHRhZztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIGl0J3MgYSBmdW5jdGlvbiB3aG9zZSBzb3VyY2UgY29kZSBzdGFydHMgd2l0aCB0aGUgXCJjbGFzc1wiIGtleXdvcmRcbiAgICAgICAgaWYgKGJhc2VUeXBlID09PSBcImZ1bmN0aW9uXCIgJiYgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpLnN0YXJ0c1dpdGgoXCJjbGFzc1wiKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiY2xhc3NcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoZSBuYW1lIG9mIHRoZSBjb25zdHJ1Y3RvcjsgZm9yIGV4YW1wbGUgYEFycmF5YCwgYEdlbmVyYXRvckZ1bmN0aW9uYCxcbiAgICAgICAgLy8gYE51bWJlcmAsIGBTdHJpbmdgLCBgQm9vbGVhbmAgb3IgYE15Q3VzdG9tQ2xhc3NgXG4gICAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IHZhbHVlLmNvbnN0cnVjdG9yLm5hbWU7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBjbGFzc05hbWUgPT09IFwic3RyaW5nXCIgJiYgY2xhc3NOYW1lICE9PSBcIlwiKSB7XG4gICAgICAgICAgICByZXR1cm4gY2xhc3NOYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXQgdGhpcyBwb2ludCB0aGVyZSdzIG5vIHJvYnVzdCB3YXkgdG8gZ2V0IHRoZSB0eXBlIG9mIHZhbHVlLFxuICAgICAgICAvLyBzbyB3ZSB1c2UgdGhlIGJhc2UgaW1wbGVtZW50YXRpb24uXG4gICAgICAgIHJldHVybiBiYXNlVHlwZTtcbiAgICB9XG59XG4iXX0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvbG9jYWxlL3NlcnZpY2VzL251bWVyaWMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7O0FBSzNFLElBQWEsY0FBYyxHQUEzQixNQUFhLGNBQWM7SUFDdkIsWUFDcUIsYUFBNEIsRUFDNUIsZUFBZ0M7UUFEaEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQ2xELENBQUM7SUFFSjs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxPQUFPLENBQ0gsS0FBa0MsRUFDbEMsT0FHQzs7UUFFRCxPQUFPLG1DQUNBLE9BQU8sS0FDVixNQUFNLGNBQUUsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE1BQU0seUNBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSwwQ0FBRSxNQUFNLG1DQUFJLE9BQU8sRUFDbkYsbUJBQW1CLGtDQUNaLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxtQkFBbUIsS0FDL0IsUUFBUSxFQUNKLE9BQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLG1CQUFtQiwwQ0FBRSxLQUFLLE1BQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxhQUFDLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxtQkFBbUIsMENBQUUsUUFBUSxtQ0FBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUN0SCxlQUFlLEVBQ1gsT0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsbUJBQW1CLDBDQUFFLEtBQUssTUFBSyxVQUFVO29CQUM5QyxDQUFDLENBQUMsYUFBQyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsbUJBQW1CLDBDQUFFLGVBQWUsbUNBQUksY0FBYyxDQUFDO29CQUNuRSxDQUFDLENBQUMsU0FBUyxFQUNuQixxQkFBcUIsY0FDakIsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLG1CQUFtQiwwQ0FBRSxxQkFBcUIsbUNBQ25ELElBQUksQ0FBQyxnQ0FBZ0MsT0FBQyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsbUJBQW1CLDBDQUFFLFFBQVEsQ0FBQyxNQUV4RixDQUFDO1FBRUYsT0FBTyxDQUFDLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxHQUFHLE9BQU8sQ0FBQztRQUV0RCwwR0FBMEc7UUFDMUcsT0FBTyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxNQUFNLENBQzVFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFHLEtBQW1CLENBQUMsUUFBUSxFQUFVLENBQzFILENBQUM7SUFDTixDQUFDO0lBRU8sZ0NBQWdDLENBQUMsUUFBZ0I7O1FBQ3JELElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFM0IsYUFBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsMENBQUUsS0FBSyxDQUFDO0lBQzFFLENBQUM7SUFFTyxPQUFPLENBQUMsS0FBYztRQUMxQiwwRkFBMEY7UUFFMUYsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQ2hCLE9BQU8sTUFBTSxDQUFDO1NBQ2pCO1FBRUQsTUFBTSxRQUFRLEdBQUcsT0FBTyxLQUFLLENBQUM7UUFFOUIsa0JBQWtCO1FBQ2xCLElBQUksUUFBUSxLQUFLLFFBQVEsSUFBSSxRQUFRLEtBQUssVUFBVSxFQUFFO1lBQ2xELE9BQU8sUUFBUSxDQUFDO1NBQ25CO1FBRUQsK0RBQStEO1FBQy9ELDREQUE0RDtRQUM1RCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXRDLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFO1lBQ3pCLE9BQU8sR0FBRyxDQUFDO1NBQ2Q7UUFFRCx1RUFBdUU7UUFDdkUsSUFBSSxRQUFRLEtBQUssVUFBVSxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDeEYsT0FBTyxPQUFPLENBQUM7U0FDbEI7UUFFRCx5RUFBeUU7UUFDekUsbURBQW1EO1FBQ25ELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBRXpDLElBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxJQUFJLFNBQVMsS0FBSyxFQUFFLEVBQUU7WUFDbkQsT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFFRCxnRUFBZ0U7UUFDaEUscUNBQXFDO1FBQ3JDLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSixDQUFBOztZQTlGdUMsYUFBYTtZQUNYLGVBQWU7OztBQUg1QyxjQUFjO0lBSDFCLFVBQVUsQ0FBQztRQUNSLFVBQVUsRUFBRSxNQUFNO0tBQ3JCLENBQUM7R0FDVyxjQUFjLENBZ0cxQjtTQWhHWSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBMb2NhbGVTZXJ2aWNlIH0gZnJvbSBcIi4uL2xvY2FsZS5zZXJ2aWNlXCI7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gXCJiaWdudW1iZXIuanNcIjtcbmltcG9ydCB7IEN1cnJlbmN5U2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi91dGlscy9jdXJyZW5jeS9jdXJyZW5jeS5zZXJ2aWNlXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIixcbn0pXG5leHBvcnQgY2xhc3MgTnVtZXJpY1NlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsZVNlcnZpY2U6IExvY2FsZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY3VycmVuY3lTZXJ2aWNlOiBDdXJyZW5jeVNlcnZpY2VcbiAgICApIHt9XG5cbiAgICAvKipcbiAgICAgKiBXcmFwcGVyIGFyb3VuZCBJbnRsLk51bWJlckZvcm1hdCB0aGF0IHJldHVybnMgdGhlIGxvY2FsaXplZCB2YWx1ZSB1c2luZyB0aGUgdXNlcidzIGxvY2FsZSBieSBkZWZhdWx0KHBsYXRmb3JtJ3MgcHJlZmVyZW50aWFsIGxhbmd1YWdlKS5cbiAgICAgKlxuICAgICAqIFRoaXMgbWV0aG9kIHNob3VsZCBvbmx5IGJlIHVzZWQgYWZ0ZXIgdGhlIGxvY2FsZVNlcnZpY2UgaGFzIGJlZW4gaW5pdGlhbGl6ZWQgYnkgdGhlIGhvc3QgYXBwbGljYXRpb24sIGVpdGhlciBieSBhIHJlc29sdmVyIG9yIGEgbWFudWFsIGNhbGwuXG4gICAgICpcbiAgICAgKiBDYW4gYmUgb3ZlcndyaXR0ZW4gYnkgdGhlIHByb3ZpZGVkIEludGwuTnVtYmVyRm9ybWF0T3B0aW9ucy5cbiAgICAgKlxuICAgICAqIERvY3VtZW50YXRpb24gaXMgYXZhaWxhYmxlIGF0IHtAbGluayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9wdC1CUi9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9JbnRsL051bWJlckZvcm1hdCBJbnRsLk51bWJlckZvcm1hdE9wdGlvbnN9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHtudW1iZXIgfCBzdHJpbmcgfCBCaWdOdW1iZXJ9IHZhbHVlIFRoZSB2YWx1ZSB0byBiZSBmb3JtYXR0ZWQuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgTG9jYWxlIGFuZCBudW1iZXJGb3JtYXRPcHRpb25zIHRoYXQgb3ZlcndyaXRlcyB0aGUgZGVmYXVsdCBJbnRsLk51bWJlckZvcm1hdE9wdGlvbnMuXG4gICAgICogQHJldHVybiBgc3RyaW5nYCBUaGUgZm9ybWF0dGVkIHZhbHVlLlxuICAgICAqL1xuICAgIGluc3RhbnQoXG4gICAgICAgIHZhbHVlOiBudW1iZXIgfCBzdHJpbmcgfCBCaWdOdW1iZXIsXG4gICAgICAgIG9wdGlvbnM/OiB7XG4gICAgICAgICAgICBsb2NhbGU/OiBzdHJpbmc7XG4gICAgICAgICAgICBudW1iZXJGb3JtYXRPcHRpb25zPzogSW50bC5OdW1iZXJGb3JtYXRPcHRpb25zO1xuICAgICAgICB9XG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgb3B0aW9ucyA9IHtcbiAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICBsb2NhbGU6IG9wdGlvbnM/LmxvY2FsZSA/PyB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0TG9jYWxlT3B0aW9ucygpPy5sb2NhbGUgPz8gXCJwdC1CUlwiLFxuICAgICAgICAgICAgbnVtYmVyRm9ybWF0T3B0aW9uczoge1xuICAgICAgICAgICAgICAgIC4uLm9wdGlvbnM/Lm51bWJlckZvcm1hdE9wdGlvbnMsXG4gICAgICAgICAgICAgICAgY3VycmVuY3k6XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnM/Lm51bWJlckZvcm1hdE9wdGlvbnM/LnN0eWxlID09PSBcImN1cnJlbmN5XCIgPyAob3B0aW9ucz8ubnVtYmVyRm9ybWF0T3B0aW9ucz8uY3VycmVuY3kgPz8gXCJCUkxcIikgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgY3VycmVuY3lEaXNwbGF5OlxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zPy5udW1iZXJGb3JtYXRPcHRpb25zPy5zdHlsZSA9PT0gXCJjdXJyZW5jeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA/IChvcHRpb25zPy5udW1iZXJGb3JtYXRPcHRpb25zPy5jdXJyZW5jeURpc3BsYXkgPz8gXCJuYXJyb3dTeW1ib2xcIilcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czpcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucz8ubnVtYmVyRm9ybWF0T3B0aW9ucz8ubWluaW11bUZyYWN0aW9uRGlnaXRzID8/XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0Q3VycmVuY3lNaW5pbXVtRnJhY3Rpb25EaWdpdHMob3B0aW9ucz8ubnVtYmVyRm9ybWF0T3B0aW9ucz8uY3VycmVuY3kpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcblxuICAgICAgICBvcHRpb25zLm51bWJlckZvcm1hdE9wdGlvbnNbXCJyb3VuZGluZ01vZGVcIl0gPSBcInRydW5jXCI7XG5cbiAgICAgICAgLy8gRnJvbSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9wdC1CUi9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9JbnRsL051bWJlckZvcm1hdFxuICAgICAgICByZXR1cm4gbmV3IEludGwuTnVtYmVyRm9ybWF0KG9wdGlvbnMubG9jYWxlLCBvcHRpb25zLm51bWJlckZvcm1hdE9wdGlvbnMpLmZvcm1hdChcbiAgICAgICAgICAgIHRoaXMuZ2V0VHlwZSh2YWx1ZSkgPT09IFwibnVtYmVyXCIgfHwgdGhpcy5nZXRUeXBlKHZhbHVlKSA9PT0gXCJzdHJpbmdcIiA/IHZhbHVlIDogKCh2YWx1ZSBhcyBCaWdOdW1iZXIpLnRvU3RyaW5nKCkgYXMgYW55KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q3VycmVuY3lNaW5pbXVtRnJhY3Rpb25EaWdpdHMoY3VycmVuY3k6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIGlmICghY3VycmVuY3kpIHJldHVybiBudWxsO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbmN5U2VydmljZS5jdXJyZW5jaWVzW2N1cnJlbmN5LnRvVXBwZXJDYXNlKCldPy5zY2FsZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFR5cGUodmFsdWU6IHVua25vd24pOiBzdHJpbmcge1xuICAgICAgICAvLyBGcm9tIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL09wZXJhdG9ycy90eXBlb2ZcblxuICAgICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBcIm51bGxcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGJhc2VUeXBlID0gdHlwZW9mIHZhbHVlO1xuXG4gICAgICAgIC8vIFByaW1pdGl2ZSB0eXBlc1xuICAgICAgICBpZiAoYmFzZVR5cGUgIT09IFwib2JqZWN0XCIgJiYgYmFzZVR5cGUgIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgcmV0dXJuIGJhc2VUeXBlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3ltYm9sLnRvU3RyaW5nVGFnIG9mdGVuIHNwZWNpZmllcyB0aGUgXCJkaXNwbGF5IG5hbWVcIiBvZiB0aGVcbiAgICAgICAgLy8gb2JqZWN0J3MgY2xhc3MuIEl0J3MgdXNlZCBpbiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKCkuXG4gICAgICAgIGNvbnN0IHRhZyA9IHZhbHVlW1N5bWJvbC50b1N0cmluZ1RhZ107XG5cbiAgICAgICAgaWYgKHR5cGVvZiB0YWcgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIHJldHVybiB0YWc7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiBpdCdzIGEgZnVuY3Rpb24gd2hvc2Ugc291cmNlIGNvZGUgc3RhcnRzIHdpdGggdGhlIFwiY2xhc3NcIiBrZXl3b3JkXG4gICAgICAgIGlmIChiYXNlVHlwZSA9PT0gXCJmdW5jdGlvblwiICYmIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbHVlKS5zdGFydHNXaXRoKFwiY2xhc3NcIikpIHtcbiAgICAgICAgICAgIHJldHVybiBcImNsYXNzXCI7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGUgbmFtZSBvZiB0aGUgY29uc3RydWN0b3I7IGZvciBleGFtcGxlIGBBcnJheWAsIGBHZW5lcmF0b3JGdW5jdGlvbmAsXG4gICAgICAgIC8vIGBOdW1iZXJgLCBgU3RyaW5nYCwgYEJvb2xlYW5gIG9yIGBNeUN1c3RvbUNsYXNzYFxuICAgICAgICBjb25zdCBjbGFzc05hbWUgPSB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lO1xuXG4gICAgICAgIGlmICh0eXBlb2YgY2xhc3NOYW1lID09PSBcInN0cmluZ1wiICYmIGNsYXNzTmFtZSAhPT0gXCJcIikge1xuICAgICAgICAgICAgcmV0dXJuIGNsYXNzTmFtZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEF0IHRoaXMgcG9pbnQgdGhlcmUncyBubyByb2J1c3Qgd2F5IHRvIGdldCB0aGUgdHlwZSBvZiB2YWx1ZSxcbiAgICAgICAgLy8gc28gd2UgdXNlIHRoZSBiYXNlIGltcGxlbWVudGF0aW9uLlxuICAgICAgICByZXR1cm4gYmFzZVR5cGU7XG4gICAgfVxufVxuIl19
@@ -1,11 +1,14 @@
1
1
  import { __assign, __decorate } from "tslib";
2
2
  import { Injectable } from "@angular/core";
3
3
  import { LocaleService } from "../locale.service";
4
+ import { CurrencyService } from "../../../utils/currency/currency.service";
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "../locale.service";
7
+ import * as i2 from "../../../utils/currency/currency.service";
6
8
  var NumericService = /** @class */ (function () {
7
- function NumericService(localeService) {
9
+ function NumericService(localeService, currencyService) {
8
10
  this.localeService = localeService;
11
+ this.currencyService = currencyService;
9
12
  }
10
13
  /**
11
14
  * Wrapper around Intl.NumberFormat that returns the localized value using the user's locale by default(platform's preferential language).
@@ -21,15 +24,20 @@ var NumericService = /** @class */ (function () {
21
24
  * @return `string` The formatted value.
22
25
  */
23
26
  NumericService.prototype.instant = function (value, options) {
24
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
27
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
25
28
  options = __assign(__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", numberFormatOptions: __assign(__assign({}, options === null || options === void 0 ? void 0 : options.numberFormatOptions), { currency: ((_d = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _d === void 0 ? void 0 : _d.style) === "currency" ? ((_f = (_e = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === 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.numberFormatOptions) === null || _g === void 0 ? void 0 : _g.style) === "currency"
26
29
  ? ((_j = (_h = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _h === void 0 ? void 0 : _h.currencyDisplay) !== null && _j !== void 0 ? _j : "narrowSymbol")
27
- : undefined, minimumFractionDigits: (_o = (_l = (_k = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _k === void 0 ? void 0 : _k.minimumFractionDigits) !== null && _l !== void 0 ? _l : (_m = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _m === void 0 ? void 0 : _m.maximumFractionDigits) !== null && _o !== void 0 ? _o : 2, maximumFractionDigits: (_s = (_q = (_p = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _p === void 0 ? void 0 : _p.maximumFractionDigits) !== null && _q !== void 0 ? _q : (_r = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _r === void 0 ? void 0 : _r.minimumFractionDigits) !== null && _s !== void 0 ? _s : 2 }) });
30
+ : undefined, minimumFractionDigits: (_l = (_k = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _k === void 0 ? void 0 : _k.minimumFractionDigits) !== null && _l !== void 0 ? _l : this.getCurrencyMinimumFractionDigits((_m = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _m === void 0 ? void 0 : _m.currency) }) });
28
31
  options.numberFormatOptions["roundingMode"] = "trunc";
29
- options.numberFormatOptions["trailingZeroDisplay"] = "stripIfInteger";
30
32
  // From https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat
31
33
  return new Intl.NumberFormat(options.locale, options.numberFormatOptions).format(this.getType(value) === "number" || this.getType(value) === "string" ? value : value.toString());
32
34
  };
35
+ NumericService.prototype.getCurrencyMinimumFractionDigits = function (currency) {
36
+ var _a;
37
+ if (!currency)
38
+ return null;
39
+ return (_a = this.currencyService.currencies[currency.toUpperCase()]) === null || _a === void 0 ? void 0 : _a.scale;
40
+ };
33
41
  NumericService.prototype.getType = function (value) {
34
42
  // From https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof
35
43
  if (value === null) {
@@ -61,9 +69,10 @@ var NumericService = /** @class */ (function () {
61
69
  return baseType;
62
70
  };
63
71
  NumericService.ctorParameters = function () { return [
64
- { type: LocaleService }
72
+ { type: LocaleService },
73
+ { type: CurrencyService }
65
74
  ]; };
66
- NumericService.ɵprov = i0.ɵɵdefineInjectable({ factory: function NumericService_Factory() { return new NumericService(i0.ɵɵinject(i1.LocaleService)); }, token: NumericService, providedIn: "root" });
75
+ NumericService.ɵprov = i0.ɵɵdefineInjectable({ factory: function NumericService_Factory() { return new NumericService(i0.ɵɵinject(i1.LocaleService), i0.ɵɵinject(i2.CurrencyService)); }, token: NumericService, providedIn: "root" });
67
76
  NumericService = __decorate([
68
77
  Injectable({
69
78
  providedIn: "root",
@@ -72,4 +81,4 @@ var NumericService = /** @class */ (function () {
72
81
  return NumericService;
73
82
  }());
74
83
  export { NumericService };
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvbG9jYWxlL3NlcnZpY2VzL251bWVyaWMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQU1sRDtJQUNJLHdCQUE2QixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUFHLENBQUM7SUFFN0Q7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsZ0NBQU8sR0FBUCxVQUNJLEtBQWtDLEVBQ2xDLE9BR0M7O1FBRUQsT0FBTyx5QkFDQSxPQUFPLEtBQ1YsTUFBTSxjQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxNQUFNLHlDQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsMENBQUUsTUFBTSxtQ0FBSSxPQUFPLEVBQ25GLG1CQUFtQix3QkFDWixPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsbUJBQW1CLEtBQy9CLFFBQVEsRUFDSixPQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxtQkFBbUIsMENBQUUsS0FBSyxNQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsYUFBQyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsbUJBQW1CLDBDQUFFLFFBQVEsbUNBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFDdEgsZUFBZSxFQUNYLE9BQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLG1CQUFtQiwwQ0FBRSxLQUFLLE1BQUssVUFBVTtvQkFDOUMsQ0FBQyxDQUFDLGFBQUMsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLG1CQUFtQiwwQ0FBRSxlQUFlLG1DQUFJLGNBQWMsQ0FBQztvQkFDbkUsQ0FBQyxDQUFDLFNBQVMsRUFDbkIscUJBQXFCLG9CQUNqQixPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsbUJBQW1CLDBDQUFFLHFCQUFxQix5Q0FBSSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsbUJBQW1CLDBDQUFFLHFCQUFxQixtQ0FBSSxDQUFDLEVBQ25ILHFCQUFxQixvQkFDakIsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLG1CQUFtQiwwQ0FBRSxxQkFBcUIseUNBQUksT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLG1CQUFtQiwwQ0FBRSxxQkFBcUIsbUNBQUksQ0FBQyxNQUUxSCxDQUFDO1FBRUYsT0FBTyxDQUFDLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxHQUFHLE9BQU8sQ0FBQztRQUN0RCxPQUFPLENBQUMsbUJBQW1CLENBQUMscUJBQXFCLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQztRQUV0RSwwR0FBMEc7UUFDMUcsT0FBTyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxNQUFNLENBQzVFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFHLEtBQW1CLENBQUMsUUFBUSxFQUFVLENBQzFILENBQUM7SUFDTixDQUFDO0lBRU8sZ0NBQU8sR0FBZixVQUFnQixLQUFjO1FBQzFCLDBGQUEwRjtRQUUxRixJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDaEIsT0FBTyxNQUFNLENBQUM7U0FDakI7UUFFRCxJQUFNLFFBQVEsR0FBRyxPQUFPLEtBQUssQ0FBQztRQUU5QixrQkFBa0I7UUFDbEIsSUFBSSxRQUFRLEtBQUssUUFBUSxJQUFJLFFBQVEsS0FBSyxVQUFVLEVBQUU7WUFDbEQsT0FBTyxRQUFRLENBQUM7U0FDbkI7UUFFRCwrREFBK0Q7UUFDL0QsNERBQTREO1FBQzVELElBQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFdEMsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUU7WUFDekIsT0FBTyxHQUFHLENBQUM7U0FDZDtRQUVELHVFQUF1RTtRQUN2RSxJQUFJLFFBQVEsS0FBSyxVQUFVLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN4RixPQUFPLE9BQU8sQ0FBQztTQUNsQjtRQUVELHlFQUF5RTtRQUN6RSxtREFBbUQ7UUFDbkQsSUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFFekMsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLElBQUksU0FBUyxLQUFLLEVBQUUsRUFBRTtZQUNuRCxPQUFPLFNBQVMsQ0FBQztTQUNwQjtRQUVELGdFQUFnRTtRQUNoRSxxQ0FBcUM7UUFDckMsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQzs7Z0JBdkYyQyxhQUFhOzs7SUFEaEQsY0FBYztRQUgxQixVQUFVLENBQUM7WUFDUixVQUFVLEVBQUUsTUFBTTtTQUNyQixDQUFDO09BQ1csY0FBYyxDQXlGMUI7eUJBaEdEO0NBZ0dDLEFBekZELElBeUZDO1NBekZZLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IExvY2FsZVNlcnZpY2UgfSBmcm9tIFwiLi4vbG9jYWxlLnNlcnZpY2VcIjtcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSBcImJpZ251bWJlci5qc1wiO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXG59KVxuZXhwb3J0IGNsYXNzIE51bWVyaWNTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGxvY2FsZVNlcnZpY2U6IExvY2FsZVNlcnZpY2UpIHt9XG5cbiAgICAvKipcbiAgICAgKiBXcmFwcGVyIGFyb3VuZCBJbnRsLk51bWJlckZvcm1hdCB0aGF0IHJldHVybnMgdGhlIGxvY2FsaXplZCB2YWx1ZSB1c2luZyB0aGUgdXNlcidzIGxvY2FsZSBieSBkZWZhdWx0KHBsYXRmb3JtJ3MgcHJlZmVyZW50aWFsIGxhbmd1YWdlKS5cbiAgICAgKlxuICAgICAqIFRoaXMgbWV0aG9kIHNob3VsZCBvbmx5IGJlIHVzZWQgYWZ0ZXIgdGhlIGxvY2FsZVNlcnZpY2UgaGFzIGJlZW4gaW5pdGlhbGl6ZWQgYnkgdGhlIGhvc3QgYXBwbGljYXRpb24sIGVpdGhlciBieSBhIHJlc29sdmVyIG9yIGEgbWFudWFsIGNhbGwuXG4gICAgICpcbiAgICAgKiBDYW4gYmUgb3ZlcndyaXR0ZW4gYnkgdGhlIHByb3ZpZGVkIEludGwuTnVtYmVyRm9ybWF0T3B0aW9ucy5cbiAgICAgKlxuICAgICAqIERvY3VtZW50YXRpb24gaXMgYXZhaWxhYmxlIGF0IHtAbGluayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9wdC1CUi9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9JbnRsL051bWJlckZvcm1hdCBJbnRsLk51bWJlckZvcm1hdE9wdGlvbnN9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHtudW1iZXIgfCBzdHJpbmcgfCBCaWdOdW1iZXJ9IHZhbHVlIFRoZSB2YWx1ZSB0byBiZSBmb3JtYXR0ZWQuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgTG9jYWxlIGFuZCBudW1iZXJGb3JtYXRPcHRpb25zIHRoYXQgb3ZlcndyaXRlcyB0aGUgZGVmYXVsdCBJbnRsLk51bWJlckZvcm1hdE9wdGlvbnMuXG4gICAgICogQHJldHVybiBgc3RyaW5nYCBUaGUgZm9ybWF0dGVkIHZhbHVlLlxuICAgICAqL1xuICAgIGluc3RhbnQoXG4gICAgICAgIHZhbHVlOiBudW1iZXIgfCBzdHJpbmcgfCBCaWdOdW1iZXIsXG4gICAgICAgIG9wdGlvbnM/OiB7XG4gICAgICAgICAgICBsb2NhbGU/OiBzdHJpbmc7XG4gICAgICAgICAgICBudW1iZXJGb3JtYXRPcHRpb25zPzogSW50bC5OdW1iZXJGb3JtYXRPcHRpb25zO1xuICAgICAgICB9XG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgb3B0aW9ucyA9IHtcbiAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICBsb2NhbGU6IG9wdGlvbnM/LmxvY2FsZSA/PyB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0TG9jYWxlT3B0aW9ucygpPy5sb2NhbGUgPz8gXCJwdC1CUlwiLFxuICAgICAgICAgICAgbnVtYmVyRm9ybWF0T3B0aW9uczoge1xuICAgICAgICAgICAgICAgIC4uLm9wdGlvbnM/Lm51bWJlckZvcm1hdE9wdGlvbnMsXG4gICAgICAgICAgICAgICAgY3VycmVuY3k6XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnM/Lm51bWJlckZvcm1hdE9wdGlvbnM/LnN0eWxlID09PSBcImN1cnJlbmN5XCIgPyAob3B0aW9ucz8ubnVtYmVyRm9ybWF0T3B0aW9ucz8uY3VycmVuY3kgPz8gXCJCUkxcIikgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgY3VycmVuY3lEaXNwbGF5OlxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zPy5udW1iZXJGb3JtYXRPcHRpb25zPy5zdHlsZSA9PT0gXCJjdXJyZW5jeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA/IChvcHRpb25zPy5udW1iZXJGb3JtYXRPcHRpb25zPy5jdXJyZW5jeURpc3BsYXkgPz8gXCJuYXJyb3dTeW1ib2xcIilcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czpcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucz8ubnVtYmVyRm9ybWF0T3B0aW9ucz8ubWluaW11bUZyYWN0aW9uRGlnaXRzID8/IG9wdGlvbnM/Lm51bWJlckZvcm1hdE9wdGlvbnM/Lm1heGltdW1GcmFjdGlvbkRpZ2l0cyA/PyAyLFxuICAgICAgICAgICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czpcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucz8ubnVtYmVyRm9ybWF0T3B0aW9ucz8ubWF4aW11bUZyYWN0aW9uRGlnaXRzID8/IG9wdGlvbnM/Lm51bWJlckZvcm1hdE9wdGlvbnM/Lm1pbmltdW1GcmFjdGlvbkRpZ2l0cyA/PyAyLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcblxuICAgICAgICBvcHRpb25zLm51bWJlckZvcm1hdE9wdGlvbnNbXCJyb3VuZGluZ01vZGVcIl0gPSBcInRydW5jXCI7XG4gICAgICAgIG9wdGlvbnMubnVtYmVyRm9ybWF0T3B0aW9uc1tcInRyYWlsaW5nWmVyb0Rpc3BsYXlcIl0gPSBcInN0cmlwSWZJbnRlZ2VyXCI7XG5cbiAgICAgICAgLy8gRnJvbSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9wdC1CUi9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9JbnRsL051bWJlckZvcm1hdFxuICAgICAgICByZXR1cm4gbmV3IEludGwuTnVtYmVyRm9ybWF0KG9wdGlvbnMubG9jYWxlLCBvcHRpb25zLm51bWJlckZvcm1hdE9wdGlvbnMpLmZvcm1hdChcbiAgICAgICAgICAgIHRoaXMuZ2V0VHlwZSh2YWx1ZSkgPT09IFwibnVtYmVyXCIgfHwgdGhpcy5nZXRUeXBlKHZhbHVlKSA9PT0gXCJzdHJpbmdcIiA/IHZhbHVlIDogKCh2YWx1ZSBhcyBCaWdOdW1iZXIpLnRvU3RyaW5nKCkgYXMgYW55KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VHlwZSh2YWx1ZTogdW5rbm93bik6IHN0cmluZyB7XG4gICAgICAgIC8vIEZyb20gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvT3BlcmF0b3JzL3R5cGVvZlxuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIFwibnVsbFwiO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYmFzZVR5cGUgPSB0eXBlb2YgdmFsdWU7XG5cbiAgICAgICAgLy8gUHJpbWl0aXZlIHR5cGVzXG4gICAgICAgIGlmIChiYXNlVHlwZSAhPT0gXCJvYmplY3RcIiAmJiBiYXNlVHlwZSAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICByZXR1cm4gYmFzZVR5cGU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTeW1ib2wudG9TdHJpbmdUYWcgb2Z0ZW4gc3BlY2lmaWVzIHRoZSBcImRpc3BsYXkgbmFtZVwiIG9mIHRoZVxuICAgICAgICAvLyBvYmplY3QncyBjbGFzcy4gSXQncyB1c2VkIGluIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcoKS5cbiAgICAgICAgY29uc3QgdGFnID0gdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXTtcblxuICAgICAgICBpZiAodHlwZW9mIHRhZyA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgcmV0dXJuIHRhZztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIGl0J3MgYSBmdW5jdGlvbiB3aG9zZSBzb3VyY2UgY29kZSBzdGFydHMgd2l0aCB0aGUgXCJjbGFzc1wiIGtleXdvcmRcbiAgICAgICAgaWYgKGJhc2VUeXBlID09PSBcImZ1bmN0aW9uXCIgJiYgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpLnN0YXJ0c1dpdGgoXCJjbGFzc1wiKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiY2xhc3NcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoZSBuYW1lIG9mIHRoZSBjb25zdHJ1Y3RvcjsgZm9yIGV4YW1wbGUgYEFycmF5YCwgYEdlbmVyYXRvckZ1bmN0aW9uYCxcbiAgICAgICAgLy8gYE51bWJlcmAsIGBTdHJpbmdgLCBgQm9vbGVhbmAgb3IgYE15Q3VzdG9tQ2xhc3NgXG4gICAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IHZhbHVlLmNvbnN0cnVjdG9yLm5hbWU7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBjbGFzc05hbWUgPT09IFwic3RyaW5nXCIgJiYgY2xhc3NOYW1lICE9PSBcIlwiKSB7XG4gICAgICAgICAgICByZXR1cm4gY2xhc3NOYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXQgdGhpcyBwb2ludCB0aGVyZSdzIG5vIHJvYnVzdCB3YXkgdG8gZ2V0IHRoZSB0eXBlIG9mIHZhbHVlLFxuICAgICAgICAvLyBzbyB3ZSB1c2UgdGhlIGJhc2UgaW1wbGVtZW50YXRpb24uXG4gICAgICAgIHJldHVybiBiYXNlVHlwZTtcbiAgICB9XG59XG4iXX0=
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvbG9jYWxlL3NlcnZpY2VzL251bWVyaWMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7O0FBSzNFO0lBQ0ksd0JBQ3FCLGFBQTRCLEVBQzVCLGVBQWdDO1FBRGhDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUNsRCxDQUFDO0lBRUo7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsZ0NBQU8sR0FBUCxVQUNJLEtBQWtDLEVBQ2xDLE9BR0M7O1FBRUQsT0FBTyx5QkFDQSxPQUFPLEtBQ1YsTUFBTSxjQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxNQUFNLHlDQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsMENBQUUsTUFBTSxtQ0FBSSxPQUFPLEVBQ25GLG1CQUFtQix3QkFDWixPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsbUJBQW1CLEtBQy9CLFFBQVEsRUFDSixPQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxtQkFBbUIsMENBQUUsS0FBSyxNQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsYUFBQyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsbUJBQW1CLDBDQUFFLFFBQVEsbUNBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFDdEgsZUFBZSxFQUNYLE9BQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLG1CQUFtQiwwQ0FBRSxLQUFLLE1BQUssVUFBVTtvQkFDOUMsQ0FBQyxDQUFDLGFBQUMsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLG1CQUFtQiwwQ0FBRSxlQUFlLG1DQUFJLGNBQWMsQ0FBQztvQkFDbkUsQ0FBQyxDQUFDLFNBQVMsRUFDbkIscUJBQXFCLGNBQ2pCLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxtQkFBbUIsMENBQUUscUJBQXFCLG1DQUNuRCxJQUFJLENBQUMsZ0NBQWdDLE9BQUMsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLG1CQUFtQiwwQ0FBRSxRQUFRLENBQUMsTUFFeEYsQ0FBQztRQUVGLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsR0FBRyxPQUFPLENBQUM7UUFFdEQsMEdBQTBHO1FBQzFHLE9BQU8sSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUMsTUFBTSxDQUM1RSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBRyxLQUFtQixDQUFDLFFBQVEsRUFBVSxDQUMxSCxDQUFDO0lBQ04sQ0FBQztJQUVPLHlEQUFnQyxHQUF4QyxVQUF5QyxRQUFnQjs7UUFDckQsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPLElBQUksQ0FBQztRQUUzQixhQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQywwQ0FBRSxLQUFLLENBQUM7SUFDMUUsQ0FBQztJQUVPLGdDQUFPLEdBQWYsVUFBZ0IsS0FBYztRQUMxQiwwRkFBMEY7UUFFMUYsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQ2hCLE9BQU8sTUFBTSxDQUFDO1NBQ2pCO1FBRUQsSUFBTSxRQUFRLEdBQUcsT0FBTyxLQUFLLENBQUM7UUFFOUIsa0JBQWtCO1FBQ2xCLElBQUksUUFBUSxLQUFLLFFBQVEsSUFBSSxRQUFRLEtBQUssVUFBVSxFQUFFO1lBQ2xELE9BQU8sUUFBUSxDQUFDO1NBQ25CO1FBRUQsK0RBQStEO1FBQy9ELDREQUE0RDtRQUM1RCxJQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXRDLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFO1lBQ3pCLE9BQU8sR0FBRyxDQUFDO1NBQ2Q7UUFFRCx1RUFBdUU7UUFDdkUsSUFBSSxRQUFRLEtBQUssVUFBVSxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDeEYsT0FBTyxPQUFPLENBQUM7U0FDbEI7UUFFRCx5RUFBeUU7UUFDekUsbURBQW1EO1FBQ25ELElBQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBRXpDLElBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxJQUFJLFNBQVMsS0FBSyxFQUFFLEVBQUU7WUFDbkQsT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFFRCxnRUFBZ0U7UUFDaEUscUNBQXFDO1FBQ3JDLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7O2dCQTdGbUMsYUFBYTtnQkFDWCxlQUFlOzs7SUFINUMsY0FBYztRQUgxQixVQUFVLENBQUM7WUFDUixVQUFVLEVBQUUsTUFBTTtTQUNyQixDQUFDO09BQ1csY0FBYyxDQWdHMUI7eUJBeEdEO0NBd0dDLEFBaEdELElBZ0dDO1NBaEdZLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IExvY2FsZVNlcnZpY2UgfSBmcm9tIFwiLi4vbG9jYWxlLnNlcnZpY2VcIjtcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSBcImJpZ251bWJlci5qc1wiO1xuaW1wb3J0IHsgQ3VycmVuY3lTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3V0aWxzL2N1cnJlbmN5L2N1cnJlbmN5LnNlcnZpY2VcIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxufSlcbmV4cG9ydCBjbGFzcyBOdW1lcmljU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxlU2VydmljZTogTG9jYWxlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjdXJyZW5jeVNlcnZpY2U6IEN1cnJlbmN5U2VydmljZVxuICAgICkge31cblxuICAgIC8qKlxuICAgICAqIFdyYXBwZXIgYXJvdW5kIEludGwuTnVtYmVyRm9ybWF0IHRoYXQgcmV0dXJucyB0aGUgbG9jYWxpemVkIHZhbHVlIHVzaW5nIHRoZSB1c2VyJ3MgbG9jYWxlIGJ5IGRlZmF1bHQocGxhdGZvcm0ncyBwcmVmZXJlbnRpYWwgbGFuZ3VhZ2UpLlxuICAgICAqXG4gICAgICogVGhpcyBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgdXNlZCBhZnRlciB0aGUgbG9jYWxlU2VydmljZSBoYXMgYmVlbiBpbml0aWFsaXplZCBieSB0aGUgaG9zdCBhcHBsaWNhdGlvbiwgZWl0aGVyIGJ5IGEgcmVzb2x2ZXIgb3IgYSBtYW51YWwgY2FsbC5cbiAgICAgKlxuICAgICAqIENhbiBiZSBvdmVyd3JpdHRlbiBieSB0aGUgcHJvdmlkZWQgSW50bC5OdW1iZXJGb3JtYXRPcHRpb25zLlxuICAgICAqXG4gICAgICogRG9jdW1lbnRhdGlvbiBpcyBhdmFpbGFibGUgYXQge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL3B0LUJSL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0ludGwvTnVtYmVyRm9ybWF0IEludGwuTnVtYmVyRm9ybWF0T3B0aW9uc30uXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge251bWJlciB8IHN0cmluZyB8IEJpZ051bWJlcn0gdmFsdWUgVGhlIHZhbHVlIHRvIGJlIGZvcm1hdHRlZC5cbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBMb2NhbGUgYW5kIG51bWJlckZvcm1hdE9wdGlvbnMgdGhhdCBvdmVyd3JpdGVzIHRoZSBkZWZhdWx0IEludGwuTnVtYmVyRm9ybWF0T3B0aW9ucy5cbiAgICAgKiBAcmV0dXJuIGBzdHJpbmdgIFRoZSBmb3JtYXR0ZWQgdmFsdWUuXG4gICAgICovXG4gICAgaW5zdGFudChcbiAgICAgICAgdmFsdWU6IG51bWJlciB8IHN0cmluZyB8IEJpZ051bWJlcixcbiAgICAgICAgb3B0aW9ucz86IHtcbiAgICAgICAgICAgIGxvY2FsZT86IHN0cmluZztcbiAgICAgICAgICAgIG51bWJlckZvcm1hdE9wdGlvbnM/OiBJbnRsLk51bWJlckZvcm1hdE9wdGlvbnM7XG4gICAgICAgIH1cbiAgICApOiBzdHJpbmcge1xuICAgICAgICBvcHRpb25zID0ge1xuICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICAgIGxvY2FsZTogb3B0aW9ucz8ubG9jYWxlID8/IHRoaXMubG9jYWxlU2VydmljZS5nZXRMb2NhbGVPcHRpb25zKCk/LmxvY2FsZSA/PyBcInB0LUJSXCIsXG4gICAgICAgICAgICBudW1iZXJGb3JtYXRPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgLi4ub3B0aW9ucz8ubnVtYmVyRm9ybWF0T3B0aW9ucyxcbiAgICAgICAgICAgICAgICBjdXJyZW5jeTpcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucz8ubnVtYmVyRm9ybWF0T3B0aW9ucz8uc3R5bGUgPT09IFwiY3VycmVuY3lcIiA/IChvcHRpb25zPy5udW1iZXJGb3JtYXRPcHRpb25zPy5jdXJyZW5jeSA/PyBcIkJSTFwiKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBjdXJyZW5jeURpc3BsYXk6XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnM/Lm51bWJlckZvcm1hdE9wdGlvbnM/LnN0eWxlID09PSBcImN1cnJlbmN5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gKG9wdGlvbnM/Lm51bWJlckZvcm1hdE9wdGlvbnM/LmN1cnJlbmN5RGlzcGxheSA/PyBcIm5hcnJvd1N5bWJvbFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOlxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zPy5udW1iZXJGb3JtYXRPcHRpb25zPy5taW5pbXVtRnJhY3Rpb25EaWdpdHMgPz9cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRDdXJyZW5jeU1pbmltdW1GcmFjdGlvbkRpZ2l0cyhvcHRpb25zPy5udW1iZXJGb3JtYXRPcHRpb25zPy5jdXJyZW5jeSksXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuXG4gICAgICAgIG9wdGlvbnMubnVtYmVyRm9ybWF0T3B0aW9uc1tcInJvdW5kaW5nTW9kZVwiXSA9IFwidHJ1bmNcIjtcblxuICAgICAgICAvLyBGcm9tIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL3B0LUJSL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0ludGwvTnVtYmVyRm9ybWF0XG4gICAgICAgIHJldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQob3B0aW9ucy5sb2NhbGUsIG9wdGlvbnMubnVtYmVyRm9ybWF0T3B0aW9ucykuZm9ybWF0KFxuICAgICAgICAgICAgdGhpcy5nZXRUeXBlKHZhbHVlKSA9PT0gXCJudW1iZXJcIiB8fCB0aGlzLmdldFR5cGUodmFsdWUpID09PSBcInN0cmluZ1wiID8gdmFsdWUgOiAoKHZhbHVlIGFzIEJpZ051bWJlcikudG9TdHJpbmcoKSBhcyBhbnkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDdXJyZW5jeU1pbmltdW1GcmFjdGlvbkRpZ2l0cyhjdXJyZW5jeTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCFjdXJyZW5jeSkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVuY3lTZXJ2aWNlLmN1cnJlbmNpZXNbY3VycmVuY3kudG9VcHBlckNhc2UoKV0/LnNjYWxlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VHlwZSh2YWx1ZTogdW5rbm93bik6IHN0cmluZyB7XG4gICAgICAgIC8vIEZyb20gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvT3BlcmF0b3JzL3R5cGVvZlxuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIFwibnVsbFwiO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYmFzZVR5cGUgPSB0eXBlb2YgdmFsdWU7XG5cbiAgICAgICAgLy8gUHJpbWl0aXZlIHR5cGVzXG4gICAgICAgIGlmIChiYXNlVHlwZSAhPT0gXCJvYmplY3RcIiAmJiBiYXNlVHlwZSAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICByZXR1cm4gYmFzZVR5cGU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTeW1ib2wudG9TdHJpbmdUYWcgb2Z0ZW4gc3BlY2lmaWVzIHRoZSBcImRpc3BsYXkgbmFtZVwiIG9mIHRoZVxuICAgICAgICAvLyBvYmplY3QncyBjbGFzcy4gSXQncyB1c2VkIGluIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcoKS5cbiAgICAgICAgY29uc3QgdGFnID0gdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXTtcblxuICAgICAgICBpZiAodHlwZW9mIHRhZyA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgcmV0dXJuIHRhZztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIGl0J3MgYSBmdW5jdGlvbiB3aG9zZSBzb3VyY2UgY29kZSBzdGFydHMgd2l0aCB0aGUgXCJjbGFzc1wiIGtleXdvcmRcbiAgICAgICAgaWYgKGJhc2VUeXBlID09PSBcImZ1bmN0aW9uXCIgJiYgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpLnN0YXJ0c1dpdGgoXCJjbGFzc1wiKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiY2xhc3NcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoZSBuYW1lIG9mIHRoZSBjb25zdHJ1Y3RvcjsgZm9yIGV4YW1wbGUgYEFycmF5YCwgYEdlbmVyYXRvckZ1bmN0aW9uYCxcbiAgICAgICAgLy8gYE51bWJlcmAsIGBTdHJpbmdgLCBgQm9vbGVhbmAgb3IgYE15Q3VzdG9tQ2xhc3NgXG4gICAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IHZhbHVlLmNvbnN0cnVjdG9yLm5hbWU7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBjbGFzc05hbWUgPT09IFwic3RyaW5nXCIgJiYgY2xhc3NOYW1lICE9PSBcIlwiKSB7XG4gICAgICAgICAgICByZXR1cm4gY2xhc3NOYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXQgdGhpcyBwb2ludCB0aGVyZSdzIG5vIHJvYnVzdCB3YXkgdG8gZ2V0IHRoZSB0eXBlIG9mIHZhbHVlLFxuICAgICAgICAvLyBzbyB3ZSB1c2UgdGhlIGJhc2UgaW1wbGVtZW50YXRpb24uXG4gICAgICAgIHJldHVybiBiYXNlVHlwZTtcbiAgICB9XG59XG4iXX0=
@@ -7537,9 +7537,193 @@ LocalizedTimeImpurePipe = __decorate([
7537
7537
  })
7538
7538
  ], LocalizedTimeImpurePipe);
7539
7539
 
7540
- let NumericService = class NumericService {
7540
+ let CurrencyService = class CurrencyService {
7541
7541
  constructor(localeService) {
7542
7542
  this.localeService = localeService;
7543
+ this.currencies = {
7544
+ KHR: { precision: 12, scale: 2 },
7545
+ SSP: { precision: 12, scale: 2 },
7546
+ XCD: { precision: 12, scale: 2 },
7547
+ EGP: { precision: 12, scale: 2 },
7548
+ KWD: { precision: 12, scale: 3 },
7549
+ YER: { precision: 12, scale: 2 },
7550
+ HUF: { precision: 12, scale: 2 },
7551
+ MXN: { precision: 12, scale: 2 },
7552
+ MYR: { precision: 12, scale: 2 },
7553
+ ZWL: { precision: 12, scale: 2 },
7554
+ MUR: { precision: 12, scale: 2 },
7555
+ DKK: { precision: 12, scale: 2 },
7556
+ NOK: { precision: 12, scale: 2 },
7557
+ DJF: { precision: 12, scale: 0 },
7558
+ CRC: { precision: 12, scale: 2 },
7559
+ BND: { precision: 12, scale: 2 },
7560
+ NAD: { precision: 12, scale: 2 },
7561
+ MKD: { precision: 12, scale: 2 },
7562
+ CDF: { precision: 12, scale: 2 },
7563
+ GNF: { precision: 12, scale: 0 },
7564
+ EUR: { precision: 12, scale: 2 },
7565
+ OMR: { precision: 12, scale: 3 },
7566
+ CLP: { precision: 12, scale: 0 },
7567
+ BSD: { precision: 12, scale: 2 },
7568
+ TOP: { precision: 12, scale: 2 },
7569
+ IRR: { precision: 12, scale: 2 },
7570
+ BGN: { precision: 12, scale: 2 },
7571
+ BZD: { precision: 12, scale: 2 },
7572
+ CNY: { precision: 12, scale: 2 },
7573
+ FJD: { precision: 12, scale: 2 },
7574
+ SRD: { precision: 12, scale: 2 },
7575
+ SOS: { precision: 12, scale: 2 },
7576
+ GYD: { precision: 12, scale: 2 },
7577
+ VUV: { precision: 12, scale: 0 },
7578
+ MWK: { precision: 12, scale: 2 },
7579
+ MRU: { precision: 12, scale: 2 },
7580
+ LSL: { precision: 12, scale: 2 },
7581
+ ERN: { precision: 12, scale: 2 },
7582
+ BMD: { precision: 12, scale: 2 },
7583
+ WST: { precision: 12, scale: 2 },
7584
+ LRD: { precision: 12, scale: 2 },
7585
+ GMD: { precision: 12, scale: 2 },
7586
+ ARS: { precision: 12, scale: 2 },
7587
+ ZAR: { precision: 12, scale: 2 },
7588
+ RSD: { precision: 12, scale: 2 },
7589
+ MDL: { precision: 12, scale: 2 },
7590
+ USD: { precision: 12, scale: 2 },
7591
+ QAR: { precision: 12, scale: 2 },
7592
+ HRK: { precision: 12, scale: 2 },
7593
+ GIP: { precision: 12, scale: 2 },
7594
+ NPR: { precision: 12, scale: 2 },
7595
+ "002": { precision: 9, scale: 4 },
7596
+ PLN: { precision: 12, scale: 2 },
7597
+ MAD: { precision: 12, scale: 2 },
7598
+ BAM: { precision: 12, scale: 2 },
7599
+ BTN: { precision: 12, scale: 2 },
7600
+ BBD: { precision: 12, scale: 2 },
7601
+ SHP: { precision: 12, scale: 2 },
7602
+ LKR: { precision: 12, scale: 2 },
7603
+ KPW: { precision: 12, scale: 2 },
7604
+ LAK: { precision: 12, scale: 2 },
7605
+ SZL: { precision: 12, scale: 2 },
7606
+ PHP: { precision: 12, scale: 2 },
7607
+ RWF: { precision: 12, scale: 0 },
7608
+ ISK: { precision: 12, scale: 0 },
7609
+ XOF: { precision: 12, scale: 0 },
7610
+ AUD: { precision: 12, scale: 2 },
7611
+ NGN: { precision: 12, scale: 2 },
7612
+ KGS: { precision: 12, scale: 2 },
7613
+ KYD: { precision: 12, scale: 2 },
7614
+ PGK: { precision: 12, scale: 2 },
7615
+ DZD: { precision: 12, scale: 2 },
7616
+ XAF: { precision: 12, scale: 0 },
7617
+ PEN: { precision: 12, scale: 2 },
7618
+ JPY: { precision: 12, scale: 0 },
7619
+ SBD: { precision: 12, scale: 2 },
7620
+ UGX: { precision: 12, scale: 0 },
7621
+ AMD: { precision: 12, scale: 2 },
7622
+ AED: { precision: 12, scale: 2 },
7623
+ ALL: { precision: 12, scale: 2 },
7624
+ XPF: { precision: 12, scale: 0 },
7625
+ AFN: { precision: 12, scale: 2 },
7626
+ RON: { precision: 12, scale: 2 },
7627
+ TND: { precision: 12, scale: 3 },
7628
+ NZD: { precision: 12, scale: 2 },
7629
+ JOD: { precision: 12, scale: 3 },
7630
+ VND: { precision: 12, scale: 0 },
7631
+ ETB: { precision: 12, scale: 2 },
7632
+ PYG: { precision: 12, scale: 0 },
7633
+ JMD: { precision: 12, scale: 2 },
7634
+ KES: { precision: 12, scale: 2 },
7635
+ IDR: { precision: 12, scale: 2 },
7636
+ HKD: { precision: 12, scale: 2 },
7637
+ BDT: { precision: 12, scale: 2 },
7638
+ GBP: { precision: 12, scale: 2 },
7639
+ AOA: { precision: 12, scale: 2 },
7640
+ PKR: { precision: 12, scale: 2 },
7641
+ TRY: { precision: 12, scale: 2 },
7642
+ SLL: { precision: 12, scale: 2 },
7643
+ CVE: { precision: 12, scale: 2 },
7644
+ LYD: { precision: 12, scale: 3 },
7645
+ ILS: { precision: 12, scale: 2 },
7646
+ UZS: { precision: 12, scale: 2 },
7647
+ CHF: { precision: 12, scale: 2 },
7648
+ SVC: { precision: 12, scale: 2 },
7649
+ BRL: { precision: 12, scale: 2 },
7650
+ GHS: { precision: 12, scale: 2 },
7651
+ CUP: { precision: 12, scale: 2 },
7652
+ FKP: { precision: 12, scale: 2 },
7653
+ NIO: { precision: 12, scale: 2 },
7654
+ GEL: { precision: 12, scale: 2 },
7655
+ TTD: { precision: 12, scale: 2 },
7656
+ AAA: { precision: 1, scale: 1 },
7657
+ COP: { precision: 12, scale: 2 },
7658
+ MGA: { precision: 12, scale: 2 },
7659
+ INR: { precision: 12, scale: 2 },
7660
+ KRW: { precision: 12, scale: 0 },
7661
+ HNL: { precision: 12, scale: 2 },
7662
+ MMK: { precision: 12, scale: 2 },
7663
+ TZS: { precision: 12, scale: 2 },
7664
+ THB: { precision: 12, scale: 2 },
7665
+ TMT: { precision: 12, scale: 2 },
7666
+ SAR: { precision: 12, scale: 2 },
7667
+ UYU: { precision: 12, scale: 2 },
7668
+ BIF: { precision: 12, scale: 0 },
7669
+ MVR: { precision: 12, scale: 2 },
7670
+ RUB: { precision: 12, scale: 2 },
7671
+ GTQ: { precision: 12, scale: 2 },
7672
+ SCR: { precision: 12, scale: 2 },
7673
+ IQD: { precision: 12, scale: 3 },
7674
+ UAH: { precision: 12, scale: 2 },
7675
+ BYN: { precision: 12, scale: 2 },
7676
+ VES: { precision: 12, scale: 2 },
7677
+ BOB: { precision: 12, scale: 2 },
7678
+ SGD: { precision: 12, scale: 2 },
7679
+ ZMW: { precision: 12, scale: 2 },
7680
+ CZK: { precision: 12, scale: 2 },
7681
+ TJS: { precision: 12, scale: 2 },
7682
+ DOP: { precision: 12, scale: 2 },
7683
+ AZN: { precision: 12, scale: 2 },
7684
+ PAB: { precision: 12, scale: 2 },
7685
+ STN: { precision: 12, scale: 2 },
7686
+ SDG: { precision: 12, scale: 2 },
7687
+ BWP: { precision: 12, scale: 2 },
7688
+ BHD: { precision: 12, scale: 3 },
7689
+ CAD: { precision: 12, scale: 2 },
7690
+ MNT: { precision: 12, scale: 2 },
7691
+ MOP: { precision: 12, scale: 2 },
7692
+ HTG: { precision: 12, scale: 2 },
7693
+ KZT: { precision: 12, scale: 2 },
7694
+ LBP: { precision: 12, scale: 2 },
7695
+ SYP: { precision: 12, scale: 2 },
7696
+ TWD: { precision: 12, scale: 2 },
7697
+ MZN: { precision: 12, scale: 2 },
7698
+ ANG: { precision: 12, scale: 2 },
7699
+ SEK: { precision: 12, scale: 2 },
7700
+ KMF: { precision: 12, scale: 0 },
7701
+ AWG: { precision: 12, scale: 2 },
7702
+ };
7703
+ }
7704
+ getCurrencySymbol({ currency }) {
7705
+ var _a, _b;
7706
+ const numberFormat = new Intl.NumberFormat(this.localeService.getLocaleOptions().locale, {
7707
+ style: "currency",
7708
+ currency: currency !== null && currency !== void 0 ? currency : "BRL",
7709
+ currencyDisplay: "narrowSymbol",
7710
+ maximumFractionDigits: 5,
7711
+ });
7712
+ return (_b = (_a = numberFormat.formatToParts(1).find((x) => x.type === "currency")) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : "";
7713
+ }
7714
+ };
7715
+ CurrencyService.ctorParameters = () => [
7716
+ { type: LocaleService }
7717
+ ];
7718
+ CurrencyService.ɵprov = ɵɵdefineInjectable({ factory: function CurrencyService_Factory() { return new CurrencyService(ɵɵinject(LocaleService)); }, token: CurrencyService, providedIn: "root" });
7719
+ CurrencyService = __decorate([
7720
+ Injectable({ providedIn: "root" })
7721
+ ], CurrencyService);
7722
+
7723
+ let NumericService = class NumericService {
7724
+ constructor(localeService, currencyService) {
7725
+ this.localeService = localeService;
7726
+ this.currencyService = currencyService;
7543
7727
  }
7544
7728
  /**
7545
7729
  * Wrapper around Intl.NumberFormat that returns the localized value using the user's locale by default(platform's preferential language).
@@ -7555,15 +7739,20 @@ let NumericService = class NumericService {
7555
7739
  * @return `string` The formatted value.
7556
7740
  */
7557
7741
  instant(value, options) {
7558
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
7742
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
7559
7743
  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", numberFormatOptions: Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.numberFormatOptions), { currency: ((_d = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _d === void 0 ? void 0 : _d.style) === "currency" ? ((_f = (_e = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === 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.numberFormatOptions) === null || _g === void 0 ? void 0 : _g.style) === "currency"
7560
7744
  ? ((_j = (_h = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _h === void 0 ? void 0 : _h.currencyDisplay) !== null && _j !== void 0 ? _j : "narrowSymbol")
7561
- : undefined, minimumFractionDigits: (_o = (_l = (_k = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _k === void 0 ? void 0 : _k.minimumFractionDigits) !== null && _l !== void 0 ? _l : (_m = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _m === void 0 ? void 0 : _m.maximumFractionDigits) !== null && _o !== void 0 ? _o : 2, maximumFractionDigits: (_s = (_q = (_p = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _p === void 0 ? void 0 : _p.maximumFractionDigits) !== null && _q !== void 0 ? _q : (_r = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _r === void 0 ? void 0 : _r.minimumFractionDigits) !== null && _s !== void 0 ? _s : 2 }) });
7745
+ : undefined, minimumFractionDigits: (_l = (_k = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _k === void 0 ? void 0 : _k.minimumFractionDigits) !== null && _l !== void 0 ? _l : this.getCurrencyMinimumFractionDigits((_m = options === null || options === void 0 ? void 0 : options.numberFormatOptions) === null || _m === void 0 ? void 0 : _m.currency) }) });
7562
7746
  options.numberFormatOptions["roundingMode"] = "trunc";
7563
- options.numberFormatOptions["trailingZeroDisplay"] = "stripIfInteger";
7564
7747
  // From https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat
7565
7748
  return new Intl.NumberFormat(options.locale, options.numberFormatOptions).format(this.getType(value) === "number" || this.getType(value) === "string" ? value : value.toString());
7566
7749
  }
7750
+ getCurrencyMinimumFractionDigits(currency) {
7751
+ var _a;
7752
+ if (!currency)
7753
+ return null;
7754
+ return (_a = this.currencyService.currencies[currency.toUpperCase()]) === null || _a === void 0 ? void 0 : _a.scale;
7755
+ }
7567
7756
  getType(value) {
7568
7757
  // From https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof
7569
7758
  if (value === null) {
@@ -7596,9 +7785,10 @@ let NumericService = class NumericService {
7596
7785
  }
7597
7786
  };
7598
7787
  NumericService.ctorParameters = () => [
7599
- { type: LocaleService }
7788
+ { type: LocaleService },
7789
+ { type: CurrencyService }
7600
7790
  ];
7601
- NumericService.ɵprov = ɵɵdefineInjectable({ factory: function NumericService_Factory() { return new NumericService(ɵɵinject(LocaleService)); }, token: NumericService, providedIn: "root" });
7791
+ NumericService.ɵprov = ɵɵdefineInjectable({ factory: function NumericService_Factory() { return new NumericService(ɵɵinject(LocaleService), ɵɵinject(CurrencyService)); }, token: NumericService, providedIn: "root" });
7602
7792
  NumericService = __decorate([
7603
7793
  Injectable({
7604
7794
  providedIn: "root",
@@ -10065,189 +10255,6 @@ BignumberFieldComponent = __decorate([
10065
10255
  })
10066
10256
  ], BignumberFieldComponent);
10067
10257
 
10068
- let CurrencyService = class CurrencyService {
10069
- constructor(localeService) {
10070
- this.localeService = localeService;
10071
- this.currencies = {
10072
- KHR: { precision: 12, scale: 2 },
10073
- SSP: { precision: 12, scale: 2 },
10074
- XCD: { precision: 12, scale: 2 },
10075
- EGP: { precision: 12, scale: 2 },
10076
- KWD: { precision: 12, scale: 3 },
10077
- YER: { precision: 12, scale: 2 },
10078
- HUF: { precision: 12, scale: 2 },
10079
- MXN: { precision: 12, scale: 2 },
10080
- MYR: { precision: 12, scale: 2 },
10081
- ZWL: { precision: 12, scale: 2 },
10082
- MUR: { precision: 12, scale: 2 },
10083
- DKK: { precision: 12, scale: 2 },
10084
- NOK: { precision: 12, scale: 2 },
10085
- DJF: { precision: 12, scale: 0 },
10086
- CRC: { precision: 12, scale: 2 },
10087
- BND: { precision: 12, scale: 2 },
10088
- NAD: { precision: 12, scale: 2 },
10089
- MKD: { precision: 12, scale: 2 },
10090
- CDF: { precision: 12, scale: 2 },
10091
- GNF: { precision: 12, scale: 0 },
10092
- EUR: { precision: 12, scale: 2 },
10093
- OMR: { precision: 12, scale: 3 },
10094
- CLP: { precision: 12, scale: 0 },
10095
- BSD: { precision: 12, scale: 2 },
10096
- TOP: { precision: 12, scale: 2 },
10097
- IRR: { precision: 12, scale: 2 },
10098
- BGN: { precision: 12, scale: 2 },
10099
- BZD: { precision: 12, scale: 2 },
10100
- CNY: { precision: 12, scale: 2 },
10101
- FJD: { precision: 12, scale: 2 },
10102
- SRD: { precision: 12, scale: 2 },
10103
- SOS: { precision: 12, scale: 2 },
10104
- GYD: { precision: 12, scale: 2 },
10105
- VUV: { precision: 12, scale: 0 },
10106
- MWK: { precision: 12, scale: 2 },
10107
- MRU: { precision: 12, scale: 2 },
10108
- LSL: { precision: 12, scale: 2 },
10109
- ERN: { precision: 12, scale: 2 },
10110
- BMD: { precision: 12, scale: 2 },
10111
- WST: { precision: 12, scale: 2 },
10112
- LRD: { precision: 12, scale: 2 },
10113
- GMD: { precision: 12, scale: 2 },
10114
- ARS: { precision: 12, scale: 2 },
10115
- ZAR: { precision: 12, scale: 2 },
10116
- RSD: { precision: 12, scale: 2 },
10117
- MDL: { precision: 12, scale: 2 },
10118
- USD: { precision: 12, scale: 2 },
10119
- QAR: { precision: 12, scale: 2 },
10120
- HRK: { precision: 12, scale: 2 },
10121
- GIP: { precision: 12, scale: 2 },
10122
- NPR: { precision: 12, scale: 2 },
10123
- "002": { precision: 9, scale: 4 },
10124
- PLN: { precision: 12, scale: 2 },
10125
- MAD: { precision: 12, scale: 2 },
10126
- BAM: { precision: 12, scale: 2 },
10127
- BTN: { precision: 12, scale: 2 },
10128
- BBD: { precision: 12, scale: 2 },
10129
- SHP: { precision: 12, scale: 2 },
10130
- LKR: { precision: 12, scale: 2 },
10131
- KPW: { precision: 12, scale: 2 },
10132
- LAK: { precision: 12, scale: 2 },
10133
- SZL: { precision: 12, scale: 2 },
10134
- PHP: { precision: 12, scale: 2 },
10135
- RWF: { precision: 12, scale: 0 },
10136
- ISK: { precision: 12, scale: 0 },
10137
- XOF: { precision: 12, scale: 0 },
10138
- AUD: { precision: 12, scale: 2 },
10139
- NGN: { precision: 12, scale: 2 },
10140
- KGS: { precision: 12, scale: 2 },
10141
- KYD: { precision: 12, scale: 2 },
10142
- PGK: { precision: 12, scale: 2 },
10143
- DZD: { precision: 12, scale: 2 },
10144
- XAF: { precision: 12, scale: 0 },
10145
- PEN: { precision: 12, scale: 2 },
10146
- JPY: { precision: 12, scale: 0 },
10147
- SBD: { precision: 12, scale: 2 },
10148
- UGX: { precision: 12, scale: 0 },
10149
- AMD: { precision: 12, scale: 2 },
10150
- AED: { precision: 12, scale: 2 },
10151
- ALL: { precision: 12, scale: 2 },
10152
- XPF: { precision: 12, scale: 0 },
10153
- AFN: { precision: 12, scale: 2 },
10154
- RON: { precision: 12, scale: 2 },
10155
- TND: { precision: 12, scale: 3 },
10156
- NZD: { precision: 12, scale: 2 },
10157
- JOD: { precision: 12, scale: 3 },
10158
- VND: { precision: 12, scale: 0 },
10159
- ETB: { precision: 12, scale: 2 },
10160
- PYG: { precision: 12, scale: 0 },
10161
- JMD: { precision: 12, scale: 2 },
10162
- KES: { precision: 12, scale: 2 },
10163
- IDR: { precision: 12, scale: 2 },
10164
- HKD: { precision: 12, scale: 2 },
10165
- BDT: { precision: 12, scale: 2 },
10166
- GBP: { precision: 12, scale: 2 },
10167
- AOA: { precision: 12, scale: 2 },
10168
- PKR: { precision: 12, scale: 2 },
10169
- TRY: { precision: 12, scale: 2 },
10170
- SLL: { precision: 12, scale: 2 },
10171
- CVE: { precision: 12, scale: 2 },
10172
- LYD: { precision: 12, scale: 3 },
10173
- ILS: { precision: 12, scale: 2 },
10174
- UZS: { precision: 12, scale: 2 },
10175
- CHF: { precision: 12, scale: 2 },
10176
- SVC: { precision: 12, scale: 2 },
10177
- BRL: { precision: 12, scale: 2 },
10178
- GHS: { precision: 12, scale: 2 },
10179
- CUP: { precision: 12, scale: 2 },
10180
- FKP: { precision: 12, scale: 2 },
10181
- NIO: { precision: 12, scale: 2 },
10182
- GEL: { precision: 12, scale: 2 },
10183
- TTD: { precision: 12, scale: 2 },
10184
- AAA: { precision: 1, scale: 1 },
10185
- COP: { precision: 12, scale: 2 },
10186
- MGA: { precision: 12, scale: 2 },
10187
- INR: { precision: 12, scale: 2 },
10188
- KRW: { precision: 12, scale: 0 },
10189
- HNL: { precision: 12, scale: 2 },
10190
- MMK: { precision: 12, scale: 2 },
10191
- TZS: { precision: 12, scale: 2 },
10192
- THB: { precision: 12, scale: 2 },
10193
- TMT: { precision: 12, scale: 2 },
10194
- SAR: { precision: 12, scale: 2 },
10195
- UYU: { precision: 12, scale: 2 },
10196
- BIF: { precision: 12, scale: 0 },
10197
- MVR: { precision: 12, scale: 2 },
10198
- RUB: { precision: 12, scale: 2 },
10199
- GTQ: { precision: 12, scale: 2 },
10200
- SCR: { precision: 12, scale: 2 },
10201
- IQD: { precision: 12, scale: 3 },
10202
- UAH: { precision: 12, scale: 2 },
10203
- BYN: { precision: 12, scale: 2 },
10204
- VES: { precision: 12, scale: 2 },
10205
- BOB: { precision: 12, scale: 2 },
10206
- SGD: { precision: 12, scale: 2 },
10207
- ZMW: { precision: 12, scale: 2 },
10208
- CZK: { precision: 12, scale: 2 },
10209
- TJS: { precision: 12, scale: 2 },
10210
- DOP: { precision: 12, scale: 2 },
10211
- AZN: { precision: 12, scale: 2 },
10212
- PAB: { precision: 12, scale: 2 },
10213
- STN: { precision: 12, scale: 2 },
10214
- SDG: { precision: 12, scale: 2 },
10215
- BWP: { precision: 12, scale: 2 },
10216
- BHD: { precision: 12, scale: 3 },
10217
- CAD: { precision: 12, scale: 2 },
10218
- MNT: { precision: 12, scale: 2 },
10219
- MOP: { precision: 12, scale: 2 },
10220
- HTG: { precision: 12, scale: 2 },
10221
- KZT: { precision: 12, scale: 2 },
10222
- LBP: { precision: 12, scale: 2 },
10223
- SYP: { precision: 12, scale: 2 },
10224
- TWD: { precision: 12, scale: 2 },
10225
- MZN: { precision: 12, scale: 2 },
10226
- ANG: { precision: 12, scale: 2 },
10227
- SEK: { precision: 12, scale: 2 },
10228
- KMF: { precision: 12, scale: 0 },
10229
- AWG: { precision: 12, scale: 2 },
10230
- };
10231
- }
10232
- getCurrencySymbol({ currency }) {
10233
- var _a, _b;
10234
- const numberFormat = new Intl.NumberFormat(this.localeService.getLocaleOptions().locale, {
10235
- style: "currency",
10236
- currency: currency !== null && currency !== void 0 ? currency : "BRL",
10237
- currencyDisplay: "narrowSymbol",
10238
- maximumFractionDigits: 5,
10239
- });
10240
- return (_b = (_a = numberFormat.formatToParts(1).find((x) => x.type === "currency")) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : "";
10241
- }
10242
- };
10243
- CurrencyService.ctorParameters = () => [
10244
- { type: LocaleService }
10245
- ];
10246
- CurrencyService.ɵprov = ɵɵdefineInjectable({ factory: function CurrencyService_Factory() { return new CurrencyService(ɵɵinject(LocaleService)); }, token: CurrencyService, providedIn: "root" });
10247
- CurrencyService = __decorate([
10248
- Injectable({ providedIn: "root" })
10249
- ], CurrencyService);
10250
-
10251
10258
  /**
10252
10259
  * @deprecated Should use bignumber instead
10253
10260
  */