Files
steipete--codexbar/Sources/CodexBarCore/UsageChartScale.swift
T
2026-07-13 12:22:33 +08:00

17 lines
431 B
Swift

import Foundation
public struct UsageChartScale: Equatable, Sendable {
public let maximum: Double
public init(values: [Double]) {
self.maximum = values
.filter { $0.isFinite && $0 > 0 }
.max() ?? 0
}
public func fraction(for value: Double) -> Double {
guard self.maximum > 0, value.isFinite, value > 0 else { return 0 }
return min(value / self.maximum, 1)
}
}