25 lines · 925 B · Swift
RawDownload
import Foundation extension CodexUsageResponse.SpendControlLimitSnapshot {    func codexCreditLimitSnapshot(updatedAt: Date) -> CodexCreditLimitSnapshot? {        guard let limit, limit > 0 else { return nil }        let used: Double = if let used {            used        } else if let remainingPercent {            limit * max(0, min(100, 100 - remainingPercent)) / 100        } else {            0        }        let remainingPercent = self.remainingPercent ?? max(0, min(100, 100 - (used / limit * 100)))        let resetsAt = self.resetsAt.flatMap { value -> Date? in            guard value > 0 else { return nil }            return Date(timeIntervalSince1970: TimeInterval(value))        }        return CodexCreditLimitSnapshot(            used: used,            limit: limit,            remainingPercent: remainingPercent,            resetsAt: resetsAt,            updatedAt: updatedAt)    }}