UNPKG

ng-units

Version:

Angular component library for units of measurement.

42 lines 5.18 kB
import { Pipe } from '@angular/core'; import { defaultPrint } from './quantity'; import * as i0 from "@angular/core"; import * as i1 from "./system-of-units.service"; export class QuantityPipe { system; constructor(system) { this.system = system; } transform(value, quantity, addSymbolOrUnit, addSymbol) { if (typeof quantity === 'string') { quantity = this.system.get(quantity); } let unit; if (typeof addSymbolOrUnit === 'boolean') { addSymbol = addSymbolOrUnit; } else { unit = addSymbolOrUnit; } if (value === null || value === undefined) { if (!quantity || !addSymbol) { return ''; } if (unit) { return quantity.findUnit(unit)?.symbol; } return quantity.unit.symbol; } return quantity ? quantity.print(quantity.fromBase(value, unit), addSymbol, unit) : defaultPrint(value); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: QuantityPipe, deps: [{ token: i1.SystemOfUnits }], target: i0.ɵɵFactoryTarget.Pipe }); static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.2", ngImport: i0, type: QuantityPipe, name: "ngQuantity", pure: false }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: QuantityPipe, decorators: [{ type: Pipe, args: [{ name: 'ngQuantity', pure: false }] }], ctorParameters: function () { return [{ type: i1.SystemOfUnits }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhbnRpdHkucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXVuaXRzL3NyYy9saWIvcXVhbnRpdHkucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFZLE1BQU0sWUFBWSxDQUFDOzs7QUFRcEQsTUFBTSxPQUFPLFlBQVk7SUFFRDtJQUFwQixZQUFvQixNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO0lBQ3pDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBeUMsRUFDL0MsUUFBNEIsRUFDNUIsZUFBcUMsRUFDckMsU0FBbUI7UUFFbkIsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUU7WUFDOUIsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3hDO1FBRUQsSUFBSSxJQUEyQixDQUFDO1FBQ2hDLElBQUksT0FBTyxlQUFlLEtBQUssU0FBUyxFQUFFO1lBQ3RDLFNBQVMsR0FBRyxlQUFlLENBQUM7U0FDL0I7YUFDSTtZQUNELElBQUksR0FBRyxlQUFlLENBQUM7U0FDMUI7UUFFRCxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUN2QyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUN6QixPQUFPLEVBQUUsQ0FBQzthQUNiO1lBQ0QsSUFBSSxJQUFJLEVBQUU7Z0JBQ04sT0FBTyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sQ0FBQzthQUMxQztZQUNELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDL0I7UUFDRCxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1RyxDQUFDO3VHQWhDUSxZQUFZO3FHQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBSnhCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLFlBQVk7b0JBQ2xCLElBQUksRUFBRSxLQUFLO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBkZWZhdWx0UHJpbnQsIFF1YW50aXR5IH0gZnJvbSAnLi9xdWFudGl0eSc7XHJcbmltcG9ydCB7IFN5c3RlbU9mVW5pdHMgfSBmcm9tICcuL3N5c3RlbS1vZi11bml0cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVW5pdCB9IGZyb20gJy4vdW5pdCc7XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiAnbmdRdWFudGl0eScsXHJcbiAgICBwdXJlOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUXVhbnRpdHlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzeXN0ZW06IFN5c3RlbU9mVW5pdHMpIHtcclxuICAgIH1cclxuXHJcbiAgICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZyB8IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQsXHJcbiAgICAgICAgcXVhbnRpdHk/OiBRdWFudGl0eSB8IHN0cmluZyxcclxuICAgICAgICBhZGRTeW1ib2xPclVuaXQ/OiBib29sZWFufFVuaXR8c3RyaW5nLFxyXG4gICAgICAgIGFkZFN5bWJvbD86IGJvb2xlYW4pOiBzdHJpbmd8dW5kZWZpbmVkXHJcbiAgICB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBxdWFudGl0eSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgcXVhbnRpdHkgPSB0aGlzLnN5c3RlbS5nZXQocXVhbnRpdHkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IHVuaXQ6IHN0cmluZ3xVbml0fHVuZGVmaW5lZDtcclxuICAgICAgICBpZiAodHlwZW9mIGFkZFN5bWJvbE9yVW5pdCA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgICAgIGFkZFN5bWJvbCA9IGFkZFN5bWJvbE9yVW5pdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHVuaXQgPSBhZGRTeW1ib2xPclVuaXQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBpZiAoIXF1YW50aXR5IHx8ICFhZGRTeW1ib2wpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAnJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodW5pdCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHF1YW50aXR5LmZpbmRVbml0KHVuaXQpPy5zeW1ib2w7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHF1YW50aXR5LnVuaXQuc3ltYm9sO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcXVhbnRpdHkgPyBxdWFudGl0eS5wcmludChxdWFudGl0eS5mcm9tQmFzZSh2YWx1ZSwgdW5pdCksIGFkZFN5bWJvbCwgdW5pdCkgOiBkZWZhdWx0UHJpbnQodmFsdWUpO1xyXG4gICAgfVxyXG59XHJcblxyXG4iXX0=