Peter Steinbergerfeat: add Qoder providera6318354 months agoHistory
60 lines · 1.9 KB · Swift
RawDownload
import Foundation public struct QoderUsageSnapshot: Sendable {    public let usedCredits: Double    public let totalCredits: Double    public let remainingCredits: Double    public let usagePercentage: Double    public let unit: String?    public let resetsAt: Date?    public let updatedAt: Date     public init(        usedCredits: Double,        totalCredits: Double,        remainingCredits: Double,        usagePercentage: Double,        unit: String?,        resetsAt: Date? = nil,        updatedAt: Date = Date())    {        self.usedCredits = usedCredits        self.totalCredits = totalCredits        self.remainingCredits = remainingCredits        self.usagePercentage = usagePercentage        self.unit = unit        self.resetsAt = resetsAt        self.updatedAt = updatedAt    }     public func toUsageSnapshot() -> UsageSnapshot {        let creditSummary = "\(Self.formatCredits(self.usedCredits)) / \(Self.formatCredits(self.totalCredits)) credits"        let primary = RateWindow(            usedPercent: min(100, max(0, self.usagePercentage)),            windowMinutes: nil,            resetsAt: self.resetsAt,            resetDescription: creditSummary)         let identity = ProviderIdentitySnapshot(            providerID: .qoder,            accountEmail: nil,            accountOrganization: nil,            loginMethod: nil)         return UsageSnapshot(            primary: primary,            secondary: nil,            tertiary: nil,            providerCost: nil,            updatedAt: self.updatedAt,            identity: identity)    }     private static func formatCredits(_ value: Double) -> String {        let formatter = NumberFormatter()        formatter.numberStyle = .decimal        formatter.locale = Locale(identifier: "en_US")        formatter.maximumFractionDigits = value.rounded() == value ? 0 : 2        return formatter.string(from: NSNumber(value: value)) ?? "\(value)"    }}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t