covutils
Version:
Utilities for creating, transforming, and handling Coverage Data objects.
58 lines (55 loc) • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.stringifyUnit = stringifyUnit;
var _i18n = require('./i18n.js');
/**
* Converts a unit object to a human-readable symbol or label, where symbols are preferred.
*
* @example
* var unit = {
* symbol: '°C'
* }
* var str = CovUtils.stringifyUnit(unit) // str == '°C'
*
* @example
* var unit = {
* symbol: {
* value: 'Cel',
* type: 'http://www.opengis.net/def/uom/UCUM/'
* },
* label: {
* en: 'Degree Celsius'
* }
* }
* var str = CovUtils.stringifyUnit(unit) // str == '°C'
*
* @example
* var unit = {
* label: {
* en: 'Degree Celsius',
* de: 'Grad Celsius'
* }
* }
* var str = CovUtils.stringifyUnit(unit, 'en') // str == 'Degree Celsius'
*/
function stringifyUnit(unit, language) {
if (!unit) {
return '';
}
if (unit.symbol) {
var symbol = unit.symbol.value || unit.symbol;
var scheme = unit.symbol.type;
if (scheme === 'http://www.opengis.net/def/uom/UCUM/') {
if (symbol === 'Cel') {
symbol = '°C';
} else if (symbol === '1') {
symbol = '';
}
}
return symbol;
} else {
return (0, _i18n.getLanguageString)(unit.label, language);
}
}