mirror of
https://github.com/GayPizzaSpecifications/darwin-apk.git
synced 2025-08-04 05:51:31 +00:00
Add requirement-based resolution to index
This commit is contained in:
@ -7,6 +7,7 @@ import Foundation
|
||||
|
||||
public struct ApkIndex: Sendable {
|
||||
public let packages: [ApkIndexPackage]
|
||||
public typealias Index = Array<ApkIndexPackage>.Index
|
||||
}
|
||||
|
||||
public extension ApkIndex {
|
||||
@ -21,6 +22,18 @@ public extension ApkIndex {
|
||||
$0.name == name
|
||||
}
|
||||
}
|
||||
|
||||
func resolve(requirement: ApkVersionRequirement) -> ApkIndexPackage? {
|
||||
self.packages.first {
|
||||
$0.name == requirement.name && requirement.versionSpec.satisfied(by: $0.version)
|
||||
}
|
||||
}
|
||||
|
||||
func resolveIndex(requirement: ApkVersionRequirement) -> Index? {
|
||||
self.packages.firstIndex {
|
||||
$0.name == requirement.name && requirement.versionSpec.satisfied(by: $0.version)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public extension ApkIndex {
|
||||
|
Reference in New Issue
Block a user