- public /model-plaza page (standalone + admin-embedded) listing groups with discounted effective prices alongside LiteLLM official reference - faceted platform/group/rate filters: cross-dimension options gray out instead of disappearing, platform-tinted chips via accent color-mix - paid-price columns highlighted with per-platform tint band - OptionalJWT middleware so anonymous and signed-in users share one route - admin settings: enable switch, require-auth switch, markdown description
25 lines
1.1 KiB
TypeScript
25 lines
1.1 KiB
TypeScript
/**
|
|
* formatScaled formats a per-token (or per-request) USD price scaled by `scale`.
|
|
*
|
|
* formatScaled(0.000003, 1_000_000) → "$3" // per 1M tokens
|
|
* formatScaled(0.5, 1) → "$0.5" // per request
|
|
* formatScaled(null, 1_000_000) → "-"
|
|
* formatScaled(0.000003, 1_000_000, 2) → "$3.00" // pad to ≥2 decimals
|
|
* formatScaled(1.25e-8, 1_000_000, 2) → "$0.0125" // longer decimals kept as-is
|
|
*
|
|
* Uses toPrecision(10) then strips trailing zeros to avoid IEEE 754 display noise.
|
|
* `minFractionDigits` pads the result back up to a minimum number of decimals.
|
|
*/
|
|
export function formatScaled(value: number | null, scale: number, minFractionDigits = 0): string {
|
|
if (value == null) return '-'
|
|
let s = (value * scale).toPrecision(10).replace(/\.?0+$/, '')
|
|
if (minFractionDigits > 0 && !s.includes('e')) {
|
|
const dot = s.indexOf('.')
|
|
const digits = dot === -1 ? 0 : s.length - dot - 1
|
|
if (digits < minFractionDigits) {
|
|
s = (dot === -1 ? `${s}.` : s) + '0'.repeat(minFractionDigits - digits)
|
|
}
|
|
}
|
|
return `$${s}`
|
|
}
|