rumble-charts
Version:
Truly declarative React charts components
39 lines (34 loc) • 1.3 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var isString = require('./isString.js');
var showedDeprecationWarning = false;
function normalizeNumber(number, absolute) {
if (number === void 0) { number = 0; }
if (absolute === void 0) { absolute = 0; }
if (isString.isString(number)) {
if (number.substr(-1, 1) === '%') {
number = ((parseFloat(number) || 0) / 100) * absolute;
}
else if (number === 'left' || number === 'top') {
number = 0;
}
else if (number === 'right' || number === 'bottom') {
number = absolute;
}
else if (number === 'middle' || number === 'center') {
number = absolute / 2;
}
else {
number = parseFloat(number) || 0;
}
}
if (number > 0 && number <= 1) {
if (number > 0 && !showedDeprecationWarning) {
showedDeprecationWarning = true;
console.warn("DEPRECATION WARNING. Please write \"".concat(Math.round(number * 100), "%\" instead of ").concat(number, ". In the future versions of 'rumble-charts', the latter notation will be removed."));
}
number = number * absolute;
}
return number;
}
exports.normalizeNumber = normalizeNumber;