( accountRateLimits: RateLimitSnapshot | null, showRemaining: boolean, )
| 47 | } |
| 48 | |
| 49 | export function getUsageLabels( |
| 50 | accountRateLimits: RateLimitSnapshot | null, |
| 51 | showRemaining: boolean, |
| 52 | ): UsageLabels { |
| 53 | const usagePercent = accountRateLimits?.primary?.usedPercent; |
| 54 | const globalUsagePercent = accountRateLimits?.secondary?.usedPercent; |
| 55 | const sessionPercent = |
| 56 | typeof usagePercent === "number" |
| 57 | ? showRemaining |
| 58 | ? 100 - clampPercent(usagePercent) |
| 59 | : clampPercent(usagePercent) |
| 60 | : null; |
| 61 | const weeklyPercent = |
| 62 | typeof globalUsagePercent === "number" |
| 63 | ? showRemaining |
| 64 | ? 100 - clampPercent(globalUsagePercent) |
| 65 | : clampPercent(globalUsagePercent) |
| 66 | : null; |
| 67 | |
| 68 | return { |
| 69 | sessionPercent, |
| 70 | weeklyPercent, |
| 71 | sessionResetLabel: formatResetLabel(accountRateLimits?.primary?.resetsAt), |
| 72 | weeklyResetLabel: formatResetLabel(accountRateLimits?.secondary?.resetsAt), |
| 73 | creditsLabel: formatCreditsLabel(accountRateLimits), |
| 74 | showWeekly: Boolean(accountRateLimits?.secondary), |
| 75 | }; |
| 76 | } |
no test coverage detected