UNPKG

@modern-js/utils

Version:

A Progressive React Framework for modern web development.

199 lines (198 loc) • 7.61 kB
/*! LICENSE: index.js.LICENSE.txt */ (()=>{ var i = { 823: function(i) { /** * filesize * * @copyright 2022 Jason Mulligan <jason.mulligan@avoidwork.com> * @license BSD-3-Clause * @version 8.0.7 */ (function(e, t) { i.exports = t(); })(0, function() { "use strict"; var i = /^(b|B)$/, e = { iec: { bits: [ "bit", "Kibit", "Mibit", "Gibit", "Tibit", "Pibit", "Eibit", "Zibit", "Yibit" ], bytes: [ "B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB" ] }, jedec: { bits: [ "bit", "Kbit", "Mbit", "Gbit", "Tbit", "Pbit", "Ebit", "Zbit", "Ybit" ], bytes: [ "B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB" ] } }, t = { iec: [ "", "kibi", "mebi", "gibi", "tebi", "pebi", "exbi", "zebi", "yobi" ], jedec: [ "", "kilo", "mega", "giga", "tera", "peta", "exa", "zetta", "yotta" ] }, r = { floor: Math.floor, ceil: Math.ceil }; function filesize(o) { var a = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; var n = [], s = 0, f, b, l, u, c, p, d, _, B, v, h, g, x, y, M, m, w, k, N, z, E; if (isNaN(o)) throw new TypeError("Invalid number"); l = true === a.bits; M = true === a.unix; g = true === a.pad; b = a.base || 10; x = void 0 !== a.round ? a.round : M ? 1 : 2; d = void 0 !== a.locale ? a.locale : ""; _ = a.localeOptions || {}; m = void 0 !== a.separator ? a.separator : ""; w = void 0 !== a.spacer ? a.spacer : M ? "" : " "; N = a.symbols || {}; k = 2 === b ? a.standard || "iec" : "jedec"; h = a.output || "string"; c = true === a.fullform; p = a.fullforms instanceof Array ? a.fullforms : []; f = void 0 !== a.exponent ? a.exponent : -1; z = r[a.roundingMethod] || Math.round; v = Number(o); B = v < 0; u = b > 2 ? 1e3 : 1024; E = false === isNaN(a.precision) ? parseInt(a.precision, 10) : 0; if (B) v = -v; if (-1 === f || isNaN(f)) { f = Math.floor(Math.log(v) / Math.log(u)); if (f < 0) f = 0; } if (f > 8) { if (E > 0) E += 8 - f; f = 8; } if ("exponent" === h) return f; if (0 === v) { n[0] = 0; y = n[1] = M ? "" : e[k][l ? "bits" : "bytes"][f]; } else { s = v / (2 === b ? Math.pow(2, 10 * f) : Math.pow(1e3, f)); if (l) { s *= 8; if (s >= u && f < 8) { s /= u; f++; } } var j = Math.pow(10, f > 0 ? x : 0); n[0] = z(s * j) / j; if (n[0] === u && f < 8 && void 0 === a.exponent) { n[0] = 1; f++; } y = n[1] = 10 === b && 1 === f ? l ? "kbit" : "kB" : e[k][l ? "bits" : "bytes"][f]; if (M) { n[1] = n[1].charAt(0); if (i.test(n[1])) { n[0] = Math.floor(n[0]); n[1] = ""; } } } if (B) n[0] = -n[0]; if (E > 0) n[0] = n[0].toPrecision(E); n[1] = N[n[1]] || n[1]; if (true === d) n[0] = n[0].toLocaleString(); else if (d.length > 0) n[0] = n[0].toLocaleString(d, _); else if (m.length > 0) n[0] = n[0].toString().replace(".", m); if (g && false === Number.isInteger(n[0]) && x > 0) { var q = m || ".", P = n[0].toString().split(q), T = P[1] || "", G = T.length, K = x - G; n[0] = "".concat(P[0]).concat(q).concat(T.padEnd(G + K, "0")); } if (c) n[1] = p[f] ? p[f] : t[k][f] + (l ? "bit" : "byte") + (1 === n[0] ? "" : "s"); return "array" === h ? n : "object" === h ? { value: n[0], symbol: n[1], exponent: f, unit: y } : n.join(w); } filesize.partial = function(i) { return function(e) { return filesize(e, i); }; }; return filesize; }); } }; var e = {}; function __nccwpck_require__(t) { var r = e[t]; if (void 0 !== r) return r.exports; var o = e[t] = { exports: {} }; var a = true; try { i[t].call(o.exports, o, o.exports, __nccwpck_require__); a = false; } finally{ if (a) delete e[t]; } return o.exports; } if (void 0 !== __nccwpck_require__) __nccwpck_require__.ab = __dirname + "/"; var t = __nccwpck_require__(823); module.exports = t; })();