summaryrefslogtreecommitdiff
path: root/node_modules/webpack/lib/SizeFormatHelpers.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/webpack/lib/SizeFormatHelpers.js')
-rw-r--r--node_modules/webpack/lib/SizeFormatHelpers.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/node_modules/webpack/lib/SizeFormatHelpers.js b/node_modules/webpack/lib/SizeFormatHelpers.js
new file mode 100644
index 00000000..51dceeac
--- /dev/null
+++ b/node_modules/webpack/lib/SizeFormatHelpers.js
@@ -0,0 +1,27 @@
+/*
+ MIT License http://www.opensource.org/licenses/mit-license.php
+ Author Sean Larkin @thelarkinn
+*/
+
+"use strict";
+
+/**
+ * @param {number} size the size in bytes
+ * @returns {string} the formatted size
+ */
+exports.formatSize = size => {
+ if (typeof size !== "number" || Number.isNaN(size) === true) {
+ return "unknown size";
+ }
+
+ if (size <= 0) {
+ return "0 bytes";
+ }
+
+ const abbreviations = ["bytes", "KiB", "MiB", "GiB"];
+ const index = Math.floor(Math.log(size) / Math.log(1024));
+
+ return `${+(size / Math.pow(1024, index)).toPrecision(3)} ${
+ abbreviations[index]
+ }`;
+};