UNPKG

@asoftwareworld/charts

Version:

`ASW Charts` helps you with the Highcharts library comes with all the tools you need to create reliable and secure data visualizations and Built on Angular.

75 lines 12.1 kB
/** * @license * Copyright ASW (A Software World) All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file */ import { DEFAULT_CURRENCY_CODE, Inject, LOCALE_ID, Pipe } from '@angular/core'; import { formatCurrency, getCurrencySymbol } from '@angular/common'; import { invalidPipeArgumentError } from './invalid-pipe-argument-error'; import * as i0 from "@angular/core"; export class AswCurrencyPipe { constructor(locale, defaultCurrencyCode = 'USD') { this.locale = locale; this.defaultCurrencyCode = defaultCurrencyCode; } transform(value, currencyCode = this.defaultCurrencyCode, display = 'symbol', digitsInfo, locale) { if (!isValue(value)) { return null; } locale = locale || this.locale; if (typeof display === 'boolean') { display = display ? 'symbol' : 'code'; } let currency = currencyCode || this.defaultCurrencyCode; if (display !== 'code') { if (display === 'symbol' || display === 'symbol-narrow') { currency = getCurrencySymbol(currency, display === 'symbol' ? 'wide' : 'narrow', locale); } else { currency = display; } } try { const num = strToNumber(value); const formattedCurrency = formatCurrency(num, locale, currency, currencyCode, digitsInfo); console.log(formattedCurrency); return formattedCurrency; } catch (error) { throw invalidPipeArgumentError(AswCurrencyPipe, error.message); } } } AswCurrencyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: AswCurrencyPipe, deps: [{ token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Pipe }); AswCurrencyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: AswCurrencyPipe, name: "aswCurrencyPipe" }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: AswCurrencyPipe, decorators: [{ type: Pipe, args: [{ name: 'aswCurrencyPipe', }] }], ctorParameters: function () { return [{ type: undefined, decorators: [{ type: Inject, args: [LOCALE_ID] }] }, { type: undefined, decorators: [{ type: Inject, args: [DEFAULT_CURRENCY_CODE] }] }]; } }); function isValue(value) { return !(value == null || value === '' || value !== value); } /** * Transforms a string into a number (if needed). */ function strToNumber(value) { // Convert strings to numbers if (typeof value === 'string' && !isNaN(Number(value) - parseFloat(value))) { return Number(value); } if (typeof value !== 'number') { throw new Error(`${value} is not a number`); } return value; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktcGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50L2NvcmUvcGlwZS9jdXJyZW5jeS1waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUl6RSxNQUFNLE9BQU8sZUFBZTtJQUN4QixZQUMrQixNQUFjLEVBQ0Ysc0JBQThCLEtBQUs7UUFEL0MsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNGLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBZ0I7SUFBSSxDQUFDO0lBT25GLFNBQVMsQ0FDTCxLQUF5QyxFQUFFLGVBQXVCLElBQUksQ0FBQyxtQkFBbUIsRUFDMUYsVUFBa0UsUUFBUSxFQUFFLFVBQW1CLEVBQy9GLE1BQWU7UUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUM7U0FBRTtRQUVyQyxNQUFNLEdBQUcsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUM7UUFFL0IsSUFBSSxPQUFPLE9BQU8sS0FBSyxTQUFTLEVBQUU7WUFDOUIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7U0FDekM7UUFFRCxJQUFJLFFBQVEsR0FBVyxZQUFZLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQ2hFLElBQUksT0FBTyxLQUFLLE1BQU0sRUFBRTtZQUNwQixJQUFJLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxLQUFLLGVBQWUsRUFBRTtnQkFDckQsUUFBUSxHQUFHLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxPQUFPLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQzthQUM1RjtpQkFBTTtnQkFDSCxRQUFRLEdBQUcsT0FBTyxDQUFDO2FBQ3RCO1NBQ0o7UUFFRCxJQUFJO1lBQ0EsTUFBTSxHQUFHLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9CLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztZQUMxRixPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDL0IsT0FBTyxpQkFBaUIsQ0FBQztTQUM1QjtRQUFDLE9BQU8sS0FBVSxFQUFFO1lBQ2pCLE1BQU0sd0JBQXdCLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNsRTtJQUNMLENBQUM7OzRHQXZDUSxlQUFlLGtCQUVaLFNBQVMsYUFDVCxxQkFBcUI7MEdBSHhCLGVBQWU7MkZBQWYsZUFBZTtrQkFIM0IsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsaUJBQWlCO2lCQUMxQjs7MEJBR1EsTUFBTTsyQkFBQyxTQUFTOzswQkFDaEIsTUFBTTsyQkFBQyxxQkFBcUI7O0FBdUNyQyxTQUFTLE9BQU8sQ0FBQyxLQUF5QztJQUN0RCxPQUFPLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFLElBQUksS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDO0FBQy9ELENBQUM7QUFFRDs7R0FFRztBQUNILFNBQVMsV0FBVyxDQUFDLEtBQXNCO0lBQ3ZDLDZCQUE2QjtJQUM3QixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDeEUsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDeEI7SUFDRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxrQkFBa0IsQ0FBQyxDQUFDO0tBQy9DO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgQVNXIChBIFNvZnR3YXJlIFdvcmxkKSBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKlxyXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxyXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgREVGQVVMVF9DVVJSRU5DWV9DT0RFLCBJbmplY3QsIExPQ0FMRV9JRCwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmb3JtYXRDdXJyZW5jeSwgZ2V0Q3VycmVuY3lTeW1ib2wgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBpbnZhbGlkUGlwZUFyZ3VtZW50RXJyb3IgfSBmcm9tICcuL2ludmFsaWQtcGlwZS1hcmd1bWVudC1lcnJvcic7XHJcbkBQaXBlKHtcclxuICAgIG5hbWU6ICdhc3dDdXJyZW5jeVBpcGUnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXN3Q3VycmVuY3lQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBASW5qZWN0KExPQ0FMRV9JRCkgcHJpdmF0ZSBsb2NhbGU6IHN0cmluZyxcclxuICAgICAgICBASW5qZWN0KERFRkFVTFRfQ1VSUkVOQ1lfQ09ERSkgcHJpdmF0ZSBkZWZhdWx0Q3VycmVuY3lDb2RlOiBzdHJpbmcgPSAnVVNEJykgeyB9XHJcblxyXG4gICAgdHJhbnNmb3JtKFxyXG4gICAgICAgIHZhbHVlOiBudW1iZXIgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLCBjdXJyZW5jeUNvZGU/OiBzdHJpbmcsXHJcbiAgICAgICAgZGlzcGxheT86ICdjb2RlJyB8ICdzeW1ib2wnIHwgJ3N5bWJvbC1uYXJyb3cnIHwgc3RyaW5nIHwgYm9vbGVhbiwgZGlnaXRzSW5mbz86IHN0cmluZyxcclxuICAgICAgICBsb2NhbGU/OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsO1xyXG5cclxuICAgIHRyYW5zZm9ybShcclxuICAgICAgICB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgY3VycmVuY3lDb2RlOiBzdHJpbmcgPSB0aGlzLmRlZmF1bHRDdXJyZW5jeUNvZGUsXHJcbiAgICAgICAgZGlzcGxheTogJ2NvZGUnIHwgJ3N5bWJvbCcgfCAnc3ltYm9sLW5hcnJvdycgfCBzdHJpbmcgfCBib29sZWFuID0gJ3N5bWJvbCcsIGRpZ2l0c0luZm8/OiBzdHJpbmcsXHJcbiAgICAgICAgbG9jYWxlPzogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICAgICAgaWYgKCFpc1ZhbHVlKHZhbHVlKSkgeyByZXR1cm4gbnVsbDsgfVxyXG5cclxuICAgICAgICBsb2NhbGUgPSBsb2NhbGUgfHwgdGhpcy5sb2NhbGU7XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgZGlzcGxheSA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXkgPSBkaXNwbGF5ID8gJ3N5bWJvbCcgOiAnY29kZSc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgY3VycmVuY3k6IHN0cmluZyA9IGN1cnJlbmN5Q29kZSB8fCB0aGlzLmRlZmF1bHRDdXJyZW5jeUNvZGU7XHJcbiAgICAgICAgaWYgKGRpc3BsYXkgIT09ICdjb2RlJykge1xyXG4gICAgICAgICAgICBpZiAoZGlzcGxheSA9PT0gJ3N5bWJvbCcgfHwgZGlzcGxheSA9PT0gJ3N5bWJvbC1uYXJyb3cnKSB7XHJcbiAgICAgICAgICAgICAgICBjdXJyZW5jeSA9IGdldEN1cnJlbmN5U3ltYm9sKGN1cnJlbmN5LCBkaXNwbGF5ID09PSAnc3ltYm9sJyA/ICd3aWRlJyA6ICduYXJyb3cnLCBsb2NhbGUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY3VycmVuY3kgPSBkaXNwbGF5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBudW0gPSBzdHJUb051bWJlcih2YWx1ZSk7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZEN1cnJlbmN5ID0gZm9ybWF0Q3VycmVuY3kobnVtLCBsb2NhbGUsIGN1cnJlbmN5LCBjdXJyZW5jeUNvZGUsIGRpZ2l0c0luZm8pO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhmb3JtYXR0ZWRDdXJyZW5jeSk7XHJcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXR0ZWRDdXJyZW5jeTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XHJcbiAgICAgICAgICAgIHRocm93IGludmFsaWRQaXBlQXJndW1lbnRFcnJvcihBc3dDdXJyZW5jeVBpcGUsIGVycm9yLm1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZnVuY3Rpb24gaXNWYWx1ZSh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHZhbHVlIGlzIG51bWJlciB8IHN0cmluZyB7XHJcbiAgICByZXR1cm4gISh2YWx1ZSA9PSBudWxsIHx8IHZhbHVlID09PSAnJyB8fCB2YWx1ZSAhPT0gdmFsdWUpO1xyXG59XHJcblxyXG4vKipcclxuICogVHJhbnNmb3JtcyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyIChpZiBuZWVkZWQpLlxyXG4gKi9cclxuZnVuY3Rpb24gc3RyVG9OdW1iZXIodmFsdWU6IG51bWJlciB8IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICAvLyBDb252ZXJ0IHN0cmluZ3MgdG8gbnVtYmVyc1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgIWlzTmFOKE51bWJlcih2YWx1ZSkgLSBwYXJzZUZsb2F0KHZhbHVlKSkpIHtcclxuICAgICAgICByZXR1cm4gTnVtYmVyKHZhbHVlKTtcclxuICAgIH1cclxuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3ZhbHVlfSBpcyBub3QgYSBudW1iZXJgKTtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZTtcclxufVxyXG5cclxuXHJcbi8vIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBhcmdzPzogYW55KTogYW55IHtcclxuICAgIC8vICAgICByZXR1cm4gdmFsdWUuY2hhckF0KDApID09PSAnLScgP1xyXG4gICAgLy8gICAgICAgICcoJyArIHZhbHVlLnN1YnN0cmluZygxLCB2YWx1ZS5sZW5ndGgpICsgJyknIDpcclxuICAgIC8vICAgICAgICB2YWx1ZTtcclxuICAgIC8vIH1cclxuICAgIC8vIHRyYW5zZm9ybSh2YWx1ZTogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCk6IGFueSB7XHJcbiAgICAvLyAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7IHJldHVybiBudWxsOyB9XHJcbiAgICAvLyAgICAgaWYgKGlzTmFOKE51bWJlcih2YWx1ZSkpKSB7IHJldHVybiBudWxsOyB9IC8vIHdpbGwgb25seSB3b3JrIHZhbHVlIGlzIGEgbnVtYmVyXHJcbiAgICAvLyAgICAgaWYgKHZhbHVlID09PSAwKSB7IHJldHVybiBudWxsOyB9XHJcbiAgICAvLyAgICAgbGV0IGFicyA9IE1hdGguYWJzKE51bWJlcih2YWx1ZSkpO1xyXG4gICAgLy8gICAgIGNvbnN0IHJvdW5kZXIgPSBNYXRoLnBvdygxMCwgMSk7XHJcbiAgICAvLyAgICAgY29uc3QgaXNOZWdhdGl2ZSA9IE51bWJlcih2YWx1ZSkgPCAwOyAvLyB3aWxsIGFsc28gd29yayBmb3IgTmVnZXRpdmUgbnVtYmVyc1xyXG4gICAgLy8gICAgIGxldCBrZXkgPSAnJztcclxuXHJcbiAgICAvLyAgICAgY29uc3QgcG93ZXJzID0gW1xyXG4gICAgLy8gICAgICAgICB7IGtleTogJ1EnLCB2YWx1ZTogTWF0aC5wb3coMTAsIDE1KSB9LFxyXG4gICAgLy8gICAgICAgICB7IGtleTogJ1QnLCB2YWx1ZTogTWF0aC5wb3coMTAsIDEyKSB9LFxyXG4gICAgLy8gICAgICAgICB7IGtleTogJ0InLCB2YWx1ZTogTWF0aC5wb3coMTAsIDkpIH0sXHJcbiAgICAvLyAgICAgICAgIHsga2V5OiAnTScsIHZhbHVlOiBNYXRoLnBvdygxMCwgNikgfSxcclxuICAgIC8vICAgICAgICAgeyBrZXk6ICdLJywgdmFsdWU6IDEwMDAgfVxyXG4gICAgLy8gICAgIF07XHJcblxyXG4gICAgLy8gICAgIHBvd2Vycy5mb3JFYWNoKHBvd2VyID0+IHtcclxuICAgIC8vICAgICAgICAgbGV0IHJlZHVjZWQgPSBhYnMgLyBwb3dlci52YWx1ZTtcclxuICAgIC8vICAgICAgICAgcmVkdWNlZCA9IE1hdGgucm91bmQocmVkdWNlZCAqIHJvdW5kZXIpIC8gcm91bmRlcjtcclxuICAgIC8vICAgICAgICAgaWYgKHJlZHVjZWQgPj0gMSkge1xyXG4gICAgLy8gICAgICAgICAgICAgYWJzID0gcmVkdWNlZDtcclxuICAgIC8vICAgICAgICAgICAgIGtleSA9IHBvd2VyLmtleTtcclxuICAgIC8vICAgICAgICAgICAgIHJldHVybjtcclxuICAgIC8vICAgICAgICAgfVxyXG4gICAgLy8gICAgIH0pO1xyXG5cclxuICAgIC8vICAgICAvLyBmb3IgKGxldCBpID0gMDsgaSA8IHBvd2Vycy5sZW5ndGg7IGkrKykge1xyXG4gICAgLy8gICAgIC8vICAgICBsZXQgcmVkdWNlZCA9IGFicyAvIHBvd2Vyc1tpXS52YWx1ZTtcclxuICAgIC8vICAgICAvLyAgICAgcmVkdWNlZCA9IE1hdGgucm91bmQocmVkdWNlZCAqIHJvdW5kZXIpIC8gcm91bmRlcjtcclxuICAgIC8vICAgICAvLyAgICAgaWYgKHJlZHVjZWQgPj0gMSkge1xyXG4gICAgLy8gICAgIC8vICAgICAgICAgYWJzID0gcmVkdWNlZDtcclxuICAgIC8vICAgICAvLyAgICAgICAgIGtleSA9IHBvd2Vyc1tpXS5rZXk7XHJcbiAgICAvLyAgICAgLy8gICAgICAgICBicmVhaztcclxuICAgIC8vICAgICAvLyAgICAgfVxyXG4gICAgLy8gICAgIC8vIH1cclxuICAgIC8vICAgICByZXR1cm4gKGlzTmVnYXRpdmUgPyAnKCcgKyBhYnMgKyAnKScgOiBhYnMpICsga2V5O1xyXG4gICAgLy8gfVxyXG4iXX0=