UNPKG

@ngez/core

Version:

A collection of minimalistic, easy-to-use and fully customizable Angular components, directives and services

66 lines 4.85 kB
/** * @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==