Sources/XCMetricsClient/Utils/AdditionalHeaderFactory.swift (18 lines of code) (raw):

import Foundation import ArgumentParser final class AdditionalHeaderFactory { static func make(authorizationKey: String?, authorizationValue: String?, additionalHeader: [String: String]) throws -> [String: String] { switch (authorizationKey, authorizationValue) { case let (.some(key), .some(value)): var additionalHeader = additionalHeader additionalHeader[key] = value return additionalHeader case (.none, .none): return additionalHeader case (.none, .some), (.some, .none): throw ValidationError("The --authorizationKey must be used in conjunction with --authorizationValue. One cannot be used without the other.") } } }