UNPKG

@monstermann/tinybench-pretty-printer

Version:
27 lines (25 loc) 1.21 kB
const require_formatNumber = require('./formatNumber.cjs'); const require_mean = require('./mean.cjs'); //#region src/helpers/createCountFormatter.ts function createCountFormatter(locales) { return function formatCount(method, value, values) { switch (method) { case "none": return `${require_formatNumber.formatNumber(value, locales)} `; case "shortest": return formatCount(resolveMethod(value), value, values); case "highest": return formatCount(resolveMethod(Math.max(...values)), value, values); case "lowest": return formatCount(resolveMethod(Math.min(...values)), value, values); case "mean": return formatCount(resolveMethod(require_mean.mean(values)), value, values); case "thousands": return `${require_formatNumber.formatNumber(value / 1e3, locales)}K`; case "millions": return `${require_formatNumber.formatNumber(value / 1e6, locales)}M`; case "billions": return `${require_formatNumber.formatNumber(value / 1e9, locales)}B`; } }; } function resolveMethod(value) { if (value >= 1e9) return "billions"; if (value >= 1e6) return "millions"; if (value >= 1e3) return "thousands"; return "none"; } //#endregion exports.createCountFormatter = createCountFormatter;