mirror of
				https://github.com/GayPizzaSpecifications/darwin-apk.git
				synced 2025-11-04 07:59:38 +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