mirror of
				https://github.com/GayPizzaSpecifications/darwin-apk.git
				synced 2025-11-04 07:59:38 +00:00 
			
		
		
		
	Rescue graph building test into subcommand
This commit is contained in:
		@ -3,20 +3,20 @@
 | 
			
		||||
 * SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
class ApkPackageGraph {
 | 
			
		||||
  let pkgIndex: ApkIndex
 | 
			
		||||
public class ApkPackageGraph {
 | 
			
		||||
  public let pkgIndex: ApkIndex
 | 
			
		||||
 | 
			
		||||
  private var _nodes = [ApkPackageGraphNode]()
 | 
			
		||||
 | 
			
		||||
  var nodes: [ApkPackageGraphNode] { self._nodes }
 | 
			
		||||
  var shallowIsolates: [ApkPackageGraphNode] { self._nodes.filter(\.parents.isEmpty) }
 | 
			
		||||
  var deepIsolates: [ApkPackageGraphNode] { self._nodes.filter(\.children.isEmpty) }
 | 
			
		||||
  public var nodes: [ApkPackageGraphNode] { self._nodes }
 | 
			
		||||
  public var shallowIsolates: [ApkPackageGraphNode] { self._nodes.filter(\.parents.isEmpty) }
 | 
			
		||||
  public var deepIsolates: [ApkPackageGraphNode] { self._nodes.filter(\.children.isEmpty) }
 | 
			
		||||
 | 
			
		||||
  init(index: ApkIndex) {
 | 
			
		||||
  public init(index: ApkIndex) {
 | 
			
		||||
    self.pkgIndex = index
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  func buildGraphNode() {
 | 
			
		||||
  public func buildGraphNode() {
 | 
			
		||||
    var provides = [String: Int]()
 | 
			
		||||
 | 
			
		||||
    for (idx, package) in self.pkgIndex.packages.enumerated() {
 | 
			
		||||
 | 
			
		||||
@ -5,7 +5,7 @@
 | 
			
		||||
 | 
			
		||||
import Foundation
 | 
			
		||||
 | 
			
		||||
class ApkPackageGraphNode {
 | 
			
		||||
public class ApkPackageGraphNode {
 | 
			
		||||
  private weak var graph: ApkPackageGraph!
 | 
			
		||||
  let package: ApkIndexPackage
 | 
			
		||||
 | 
			
		||||
@ -21,7 +21,7 @@ class ApkPackageGraphNode {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
extension ApkPackageGraphNode: CustomStringConvertible {
 | 
			
		||||
  var description: String {
 | 
			
		||||
  public var description: String {
 | 
			
		||||
    var result = "node[\(self.package.name)]"
 | 
			
		||||
    if !self.parents.isEmpty {
 | 
			
		||||
      result += ", parents[\(self.parents.lazy.map(\.description).joined(separator: ", "))]"
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user