mirror of
https://github.com/GayPizzaSpecifications/darwin-apk.git
synced 2025-08-03 13:31:32 +00:00
Search provides in index resolve
This commit is contained in:
@ -24,14 +24,22 @@ public extension ApkIndex {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func resolve(requirement: ApkVersionRequirement) -> ApkIndexPackage? {
|
func resolve(requirement: ApkVersionRequirement) -> ApkIndexPackage? {
|
||||||
self.packages.first {
|
self.packages.first { pkg in
|
||||||
$0.name == requirement.name && requirement.versionSpec.satisfied(by: $0.version)
|
guard pkg.name == requirement.name ||
|
||||||
|
pkg.provides.contains(where: { $0.name == requirement.name }) else {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return requirement.versionSpec.satisfied(by: pkg.version)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func resolveIndex(requirement: ApkVersionRequirement) -> Index? {
|
func resolveIndex(requirement: ApkVersionRequirement) -> Index? {
|
||||||
self.packages.firstIndex {
|
self.packages.firstIndex { pkg in
|
||||||
$0.name == requirement.name && requirement.versionSpec.satisfied(by: $0.version)
|
guard pkg.name == requirement.name ||
|
||||||
|
pkg.provides.contains(where: { $0.name == requirement.name }) else {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return requirement.versionSpec.satisfied(by: pkg.version)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user