UNPKG

angular-material-datatransfer-lib

Version:

A HTML5 datatransfer UI for handling upload and download of multiple simultaneous files.

124 lines 11.6 kB
/** * @fileoverview added by tsickle * Generated from: lib/utils/decimal-byte-unit.util.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import { EnumExtension } from '../extensions/enum.extension'; import { DecimalByteUnit } from '../enums/decimal-byte-unit.enum'; export class DecimalByteUnitUtil { constructor() { this.C_KB = Math.pow(10, 3); this.C_MB = Math.pow(10, 6); this.C_GB = Math.pow(10, 9); this.C_TB = Math.pow(10, 12); this.C_PB = Math.pow(10, 15); this.MAX = Number.MAX_VALUE; this.byteUnits = EnumExtension.getNames(DecimalByteUnit); } /** * @private * @param {?} number * @param {?} multiplier * @return {?} */ multiply(number, multiplier) { /** @type {?} */ const limit = this.MAX / multiplier; if (number > limit) { return Number.MAX_VALUE; } if (number < -limit) { return Number.MIN_VALUE; } return number * multiplier; } /** * @param {?} number * @param {?} fromUnit * @param {?} toUnit * @return {?} */ convert(number, fromUnit, toUnit) { /** @type {?} */ const bytes = this.toBytes(number, fromUnit); switch (toUnit) { case DecimalByteUnit.Byte: return bytes; case DecimalByteUnit.KB: return bytes / this.C_KB; case DecimalByteUnit.MB: return bytes / this.C_MB; case DecimalByteUnit.GB: return bytes / this.C_GB; case DecimalByteUnit.TB: return bytes / this.C_TB; case DecimalByteUnit.PB: return bytes / this.C_PB; } return number; } /** * @param {?} number * @param {?} fromUnit * @return {?} */ toBytes(number, fromUnit) { switch (fromUnit) { case DecimalByteUnit.Byte: return number; case DecimalByteUnit.KB: return this.multiply(number, this.C_KB); case DecimalByteUnit.MB: return this.multiply(number, this.C_MB); case DecimalByteUnit.GB: return this.multiply(number, this.C_GB); case DecimalByteUnit.TB: return this.multiply(number, this.C_TB); case DecimalByteUnit.PB: return this.multiply(number, this.C_PB); } return number; } /** * @param {?} number * @param {?} fromUnit * @return {?} */ format(number, fromUnit) { /** @type {?} */ let result; result = [DecimalByteUnit.Byte, this.toBytes(number, fromUnit)]; for (const currentUnit of this.byteUnits) { if (Math.abs(result[1]) < 1000) { result[0] = DecimalByteUnit[currentUnit]; break; } else { result[1] /= 1000; } } result[1] = Number(result[1].toFixed(2)); return result; } } DecimalByteUnitUtil.decorators = [ { type: Injectable } ]; if (false) { /** @type {?} */ DecimalByteUnitUtil.prototype.C_KB; /** @type {?} */ DecimalByteUnitUtil.prototype.C_MB; /** @type {?} */ DecimalByteUnitUtil.prototype.C_GB; /** @type {?} */ DecimalByteUnitUtil.prototype.C_TB; /** @type {?} */ DecimalByteUnitUtil.prototype.C_PB; /** @type {?} */ DecimalByteUnitUtil.prototype.MAX; /** @type {?} */ DecimalByteUnitUtil.prototype.byteUnits; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaW1hbC1ieXRlLXVuaXQudXRpbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItbWF0ZXJpYWwtZGF0YXRyYW5zZmVyLWxpYi8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9kZWNpbWFsLWJ5dGUtdW5pdC51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR2xFLE1BQU0sT0FBTyxtQkFBbUI7SUFEaEM7UUFFSSxTQUFJLEdBQVcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDL0IsU0FBSSxHQUFXLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9CLFNBQUksR0FBVyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvQixTQUFJLEdBQVcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEMsU0FBSSxHQUFXLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWhDLFFBQUcsR0FBVyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBRS9CLGNBQVMsR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBa0V4RCxDQUFDOzs7Ozs7O0lBaEVXLFFBQVEsQ0FBQyxNQUFjLEVBQUUsVUFBa0I7O2NBQ3pDLEtBQUssR0FBVyxJQUFJLENBQUMsR0FBRyxHQUFHLFVBQVU7UUFFM0MsSUFBSSxNQUFNLEdBQUcsS0FBSyxFQUFFO1lBQ2hCLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQztTQUMzQjtRQUNELElBQUksTUFB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O0lBQy9CLG1DQUErQjs7SUFDL0IsbUNBQStCOztJQUMvQixtQ0FBZ0M7O0lBQ2hDLG1DQUFnQzs7SUFFaEMsa0NBQStCOztJQUUvQix3Q0FBb0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEVudW1FeHRlbnNpb24gfSBmcm9tICcuLi9leHRlbnNpb25zL2VudW0uZXh0ZW5zaW9uJztcclxuaW1wb3J0IHsgRGVjaW1hbEJ5dGVVbml0IH0gZnJvbSAnLi4vZW51bXMvZGVjaW1hbC1ieXRlLXVuaXQuZW51bSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBEZWNpbWFsQnl0ZVVuaXRVdGlsIHtcclxuICAgIENfS0I6IG51bWJlciA9IE1hdGgucG93KDEwLCAzKTtcclxuICAgIENfTUI6IG51bWJlciA9IE1hdGgucG93KDEwLCA2KTtcclxuICAgIENfR0I6IG51bWJlciA9IE1hdGgucG93KDEwLCA5KTtcclxuICAgIENfVEI6IG51bWJlciA9IE1hdGgucG93KDEwLCAxMik7XHJcbiAgICBDX1BCOiBudW1iZXIgPSBNYXRoLnBvdygxMCwgMTUpO1xyXG5cclxuICAgIE1BWDogbnVtYmVyID0gTnVtYmVyLk1BWF9WQUxVRTtcclxuXHJcbiAgICBieXRlVW5pdHMgPSBFbnVtRXh0ZW5zaW9uLmdldE5hbWVzKERlY2ltYWxCeXRlVW5pdCk7XHJcblxyXG4gICAgcHJpdmF0ZSBtdWx0aXBseShudW1iZXI6IG51bWJlciwgbXVsdGlwbGllcjogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgICAgICBjb25zdCBsaW1pdDogbnVtYmVyID0gdGhpcy5NQVggLyBtdWx0aXBsaWVyO1xyXG5cclxuICAgICAgICBpZiAobnVtYmVyID4gbGltaXQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIE51bWJlci5NQVhfVkFMVUU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChudW1iZXIgPCAtbGltaXQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIE51bWJlci5NSU5fVkFMVUU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbnVtYmVyICogbXVsdGlwbGllcjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY29udmVydChudW1iZXI6IG51bWJlciwgZnJvbVVuaXQ6IERlY2ltYWxCeXRlVW5pdCwgdG9Vbml0OiBEZWNpbWFsQnl0ZVVuaXQpOiBudW1iZXIge1xyXG4gICAgICAgIGNvbnN0IGJ5dGVzOiBudW1iZXIgPSB0aGlzLnRvQnl0ZXMobnVtYmVyLCBmcm9tVW5pdCk7XHJcbiAgICAgICAgc3dpdGNoICh0b1VuaXQpIHtcclxuICAgICAgICAgICAgY2FzZSBEZWNpbWFsQnl0ZVVuaXQuQnl0ZTpcclxuICAgICAgICAgICAgICAgIHJldHVybiBieXRlcztcclxuICAgICAgICAgICAgY2FzZSBEZWNpbWFsQnl0ZVVuaXQuS0I6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYnl0ZXMgLyB0aGlzLkNfS0I7XHJcbiAgICAgICAgICAgIGNhc2UgRGVjaW1hbEJ5dGVVbml0Lk1COlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGJ5dGVzIC8gdGhpcy5DX01CO1xyXG4gICAgICAgICAgICBjYXNlIERlY2ltYWxCeXRlVW5pdC5HQjpcclxuICAgICAgICAgICAgICAgIHJldHVybiBieXRlcyAvIHRoaXMuQ19HQjtcclxuICAgICAgICAgICAgY2FzZSBEZWNpbWFsQnl0ZVVuaXQuVEI6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYnl0ZXMgLyB0aGlzLkNfVEI7XHJcbiAgICAgICAgICAgIGNhc2UgRGVjaW1hbEJ5dGVVbml0LlBCOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGJ5dGVzIC8gdGhpcy5DX1BCO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVtYmVyO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB0b0J5dGVzKG51bWJlcjogbnVtYmVyLCBmcm9tVW5pdDogRGVjaW1hbEJ5dGVVbml0KTogbnVtYmVyIHtcclxuICAgICAgICBzd2l0Y2ggKGZyb21Vbml0KSB7XHJcbiAgICAgICAgICAgIGNhc2UgRGVjaW1hbEJ5dGVVbml0LkJ5dGU6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVtYmVyO1xyXG4gICAgICAgICAgICBjYXNlIERlY2ltYWxCeXRlVW5pdC5LQjpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm11bHRpcGx5KG51bWJlciwgdGhpcy5DX0tCKTtcclxuICAgICAgICAgICAgY2FzZSBEZWNpbWFsQnl0ZVVuaXQuTUI6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5tdWx0aXBseShudW1iZXIsIHRoaXMuQ19NQik7XHJcbiAgICAgICAgICAgIGNhc2UgRGVjaW1hbEJ5dGVVbml0LkdCOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubXVsdGlwbHkobnVtYmVyLCB0aGlzLkNfR0IpO1xyXG4gICAgICAgICAgICBjYXNlIERlY2ltYWxCeXRlVW5pdC5UQjpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm11bHRpcGx5KG51bWJlciwgdGhpcy5DX1RCKTtcclxuICAgICAgICAgICAgY2FzZSBEZWNpbWFsQnl0ZVVuaXQuUEI6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5tdWx0aXBseShudW1iZXIsIHRoaXMuQ19QQik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudW1iZXI7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGZvcm1hdChudW1iZXI6IG51bWJlciwgZnJvbVVuaXQ6IERlY2ltYWxCeXRlVW5pdCk6IFtEZWNpbWFsQnl0ZVVuaXQsIG51bWJlcl0ge1xyXG4gICAgICAgIGxldCByZXN1bHQ6IFtEZWNpbWFsQnl0ZVVuaXQsIG51bWJlcl07XHJcbiAgICAgICAgcmVzdWx0ID0gW0RlY2ltYWxCeXRlVW5pdC5CeXRlLCB0aGlzLnRvQnl0ZXMobnVtYmVyLCBmcm9tVW5pdCldO1xyXG4gICAgICAgIGZvciAoY29uc3QgY3VycmVudFVuaXQgb2YgdGhpcy5ieXRlVW5pdHMpIHtcclxuICAgICAgICAgICAgaWYgKE1hdGguYWJzKHJlc3VsdFsxXSkgPCAxMDAwKSB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHRbMF0gPSBEZWNpbWFsQnl0ZVVuaXRbY3VycmVudFVuaXRdO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHRbMV0gLz0gMTAwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXN1bHRbMV0gPSBOdW1iZXIocmVzdWx0WzFdLnRvRml4ZWQoMikpO1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcbn1cclxuIl19