UNPKG

@monstermann/tinybench-pretty-printer

Version:
27 lines (25 loc) 1.26 kB
const require_formatNumber = require('./formatNumber.cjs'); const require_mean = require('./mean.cjs'); //#region src/helpers/createDurationFormatter.ts function createDurationFormatter(locales) { return function formatDuration(method, value, values) { switch (method) { case "shortest": return formatDuration(resolveMethod(value), value, values); case "highest": return formatDuration(resolveMethod(Math.max(...values)), value, values); case "lowest": return formatDuration(resolveMethod(Math.min(...values)), value, values); case "mean": return formatDuration(resolveMethod(require_mean.mean(values)), value, values); case "nanoseconds": return `${require_formatNumber.formatNumber(value * 1e6, locales)}ns`; case "microseconds": return `${require_formatNumber.formatNumber(value * 1e3, locales)}µs`; case "milliseconds": return `${require_formatNumber.formatNumber(value, locales)}ms`; case "seconds": return `${require_formatNumber.formatNumber(value / 1e3, locales)}s `; } }; } function resolveMethod(ms) { if (ms / 1e3 >= 1) return "seconds"; if (ms >= 1) return "milliseconds"; if (ms * 1e3 >= 1) return "microseconds"; return "nanoseconds"; } //#endregion exports.createDurationFormatter = createDurationFormatter;