Files
darwin-apk/Sources/apk/Index/ApkIndexDependency.swift

23 lines
579 B
Swift

// SPDX-License-Identifier: Apache-2.0
import Foundation
struct ApkIndexDependency: ApkIndexRequirementRef {
let name: String
let versionSpec: ApkVersionSpecification
init(extract: String) throws(ApkRequirement.ParseError) {
(self.name, self.versionSpec) = try ApkRequirement.extract(blob: extract)
}
}
extension ApkIndexDependency: CustomStringConvertible {
var description: String {
switch self.versionSpec {
case .any: self.name
case .conflict: "!\(self.name)"
case .constraint(let op, let version): "\(self.name)\(op)\(version)"
}
}
}