UNPKG

@js-data-tools/js-helpers

Version:

A set of JavaScript / TypeScript helper functions for parsing, converting, transforming and formatting data.

32 lines (31 loc) 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.formatDuration = exports.formatCompact = exports.formatSize = exports.NUMERIC_UNITS = exports.IEC_SIZE_UNITS = exports.SI_SIZE_UNITS = void 0; const numeric_1 = require("./convert/numeric"); exports.SI_SIZE_UNITS = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"]; exports.IEC_SIZE_UNITS = ["B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB"]; exports.NUMERIC_UNITS = ["", "K", "M", "G", "T", "P"]; function formatSize(sizeInBytes, base = 1000, unitNames) { const units = unitNames || (base === 1024 ? exports.IEC_SIZE_UNITS : exports.SI_SIZE_UNITS); const [value, i] = (0, numeric_1.compactNumber)(sizeInBytes, units.length, base); return value + " " + units[i]; } exports.formatSize = formatSize; function formatCompact(value) { const [compact, i] = (0, numeric_1.compactNumber)(value, exports.NUMERIC_UNITS.length); return compact + exports.NUMERIC_UNITS[i]; } exports.formatCompact = formatCompact; function formatDuration(durationMsec) { if (durationMsec < 1000) { return durationMsec + " msec"; } const durationSec = (0, numeric_1.roundNumber)(durationMsec / 1000, durationMsec >= 60000 ? 0 : 2); if (durationSec < 120) { return durationSec + " sec"; } const minutes = Math.floor(durationSec / 60); const seconds = durationSec % 60; return minutes + " min" + (seconds ? " " + seconds + " sec" : ""); } exports.formatDuration = formatDuration;