@ngez/core
Version:
A collection of minimalistic, easy-to-use and fully customizable Angular components, directives and services
66 lines • 4.85 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
export class NgEzByteUtils {
/**
* @param {?} input
* @param {?} from
* @param {?=} to
* @return {?}
*/
static convert(input, from, to) {
if (!input || (!from && !to))
return input;
/** @type {?} */
const fromBytes = from && from != 'byte' ? this.toBytes(from) : 1;
/** @type {?} */
const toBytes = to && to != 'byte' ? this.toBytes(to) : 1;
return input * (fromBytes / toBytes);
}
/**
* @private
* @param {?} unit
* @return {?}
*/
static toBytes(unit) {
{
/** @type {?} */
const power = this.decimalUnits.findIndex(decimalUnit => decimalUnit == unit) + 1;
if (power)
return Math.pow(1000, power);
}
{
/** @type {?} */
const power = this.binaryUnits.findIndex(binaryUnit => binaryUnit == unit) + 1;
if (power)
return Math.pow(1024, power);
}
return 1;
}
}
NgEzByteUtils.decimalUnits = [
'kilobyte',
'megabyte',
'gigabyte',
'terabyte'
];
NgEzByteUtils.binaryUnits = [
'kibibyte',
'mebibyte',
'gibibyte',
'tebibyte'
];
if (false) {
/**
* @type {?}
* @private
*/
NgEzByteUtils.decimalUnits;
/**
* @type {?}
* @private
*/
NgEzByteUtils.binaryUnits;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnl0ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ2V6L2NvcmUvIiwic291cmNlcyI6WyJ1dGlscy9ieXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNLE9BQU8sYUFBYTs7Ozs7OztJQWN0QixNQUFNLENBQUMsT0FBTyxDQUFDLEtBQWEsRUFBRSxJQUFrQixFQUFFLEVBQWlCO1FBRS9ELElBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN2QixPQUFPLEtBQUssQ0FBQzs7Y0FFWCxTQUFTLEdBQUcsSUFBSSxJQUFJLElBQUksSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7O2NBRTNELE9BQU8sR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV6RCxPQUFPLEtBQUssR0FBRyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUN6QyxDQUFDOzs7Ozs7SUFFTyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQWtCO1FBRXJDOztrQkFDVSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNqRixJQUFHLEtBQUs7Z0JBQ0osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNwQztRQUVEOztrQkFDVSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUM5RSxJQUFHLEtBQUs7Z0JBQ0osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNwQztRQUVELE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQzs7QUF2Q2MsMEJBQVksR0FBRztJQUMxQixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0NBQUMsQ0FBQztBQUVELHlCQUFXLEdBQUc7SUFDekIsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtDQUFDLENBQUM7Ozs7OztJQVZoQiwyQkFJZ0I7Ozs7O0lBRWhCLDBCQUlnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nRXpCeXRlVW5pdCB9IGZyb20gXCIuL21vZGVsc1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIE5nRXpCeXRlVXRpbHN7XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgZGVjaW1hbFVuaXRzID0gW1xyXG4gICAgICAgICdraWxvYnl0ZScsIFxyXG4gICAgICAgICdtZWdhYnl0ZScsIFxyXG4gICAgICAgICdnaWdhYnl0ZScsIFxyXG4gICAgICAgICd0ZXJhYnl0ZSddO1xyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGJpbmFyeVVuaXRzID0gW1xyXG4gICAgICAgICdraWJpYnl0ZScsIFxyXG4gICAgICAgICdtZWJpYnl0ZScsIFxyXG4gICAgICAgICdnaWJpYnl0ZScsIFxyXG4gICAgICAgICd0ZWJpYnl0ZSddO1xyXG5cclxuICAgIHN0YXRpYyBjb252ZXJ0KGlucHV0OiBudW1iZXIsIGZyb206IE5nRXpCeXRlVW5pdCwgdG8/OiBOZ0V6Qnl0ZVVuaXQpe1xyXG5cclxuICAgICAgICBpZighaW5wdXQgfHwgKCFmcm9tICYmICF0bykpXHJcbiAgICAgICAgICAgIHJldHVybiBpbnB1dDtcclxuXHJcbiAgICAgICAgY29uc3QgZnJvbUJ5dGVzID0gZnJvbSAmJiBmcm9tICE9ICdieXRlJyA/IHRoaXMudG9CeXRlcyhmcm9tKSA6IDE7XHJcblxyXG4gICAgICAgIGNvbnN0IHRvQnl0ZXMgPSB0byAmJiB0byAhPSAnYnl0ZScgPyB0aGlzLnRvQnl0ZXModG8pIDogMTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGlucHV0ICogKGZyb21CeXRlcyAvIHRvQnl0ZXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIHRvQnl0ZXModW5pdDogTmdFekJ5dGVVbml0KXtcclxuXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBjb25zdCBwb3dlciA9IHRoaXMuZGVjaW1hbFVuaXRzLmZpbmRJbmRleChkZWNpbWFsVW5pdCA9PiBkZWNpbWFsVW5pdCA9PSB1bml0KSArIDE7XHJcbiAgICAgICAgICAgIGlmKHBvd2VyKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIE1hdGgucG93KDEwMDAsIHBvd2VyKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgY29uc3QgcG93ZXIgPSB0aGlzLmJpbmFyeVVuaXRzLmZpbmRJbmRleChiaW5hcnlVbml0ID0+IGJpbmFyeVVuaXQgPT0gdW5pdCkgKyAxO1xyXG4gICAgICAgICAgICBpZihwb3dlcilcclxuICAgICAgICAgICAgICAgIHJldHVybiBNYXRoLnBvdygxMDI0LCBwb3dlcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gMTtcclxuICAgIH1cclxufSJdfQ==