35 lines · 1.0 KB · Swift
RawDownload
import Foundation public struct WarpSettingsReader: Sendable {    public static let apiKeyEnvironmentKeys = [        "WARP_API_KEY",        "WARP_TOKEN",    ]     public static func apiKey(        environment: [String: String] = ProcessInfo.processInfo.environment) -> String?    {        for key in self.apiKeyEnvironmentKeys {            guard let raw = environment[key]?.trimmingCharacters(in: .whitespacesAndNewlines),                  !raw.isEmpty            else {                continue            }            let cleaned = Self.cleaned(raw)            if !cleaned.isEmpty {                return cleaned            }        }        return nil    }     private static func cleaned(_ raw: String) -> String {        var value = raw        if (value.hasPrefix("\"") && value.hasSuffix("\"")) ||            (value.hasPrefix("'") && value.hasSuffix("'"))        {            value = String(value.dropFirst().dropLast())        }        return value.trimmingCharacters(in: .whitespacesAndNewlines)    }}