Skip to content

Commit

Permalink
Add Graph+Debug API (#106)
Browse files Browse the repository at this point in the history
  • Loading branch information
Kyle-Ye authored Feb 21, 2025
1 parent 40b020c commit 0938f48
Showing 1 changed file with 41 additions and 0 deletions.
41 changes: 41 additions & 0 deletions Sources/OpenGraphShims/Graph+Debug.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
//
// Graph+Debug.swift
// OpenGraphShims

// FIXME: Update name in OpenGraph
public typealias Graph = OGGraph
public typealias Subgraph = OGSubgraph

#if canImport(Darwin)

import Foundation

@_spi(Debug)
extension Graph {
public var dict: [String: Any]? {
let options = ["format": "graph/dict"] as NSDictionary
guard let description = Graph.description(nil, options: options) else {
return nil
}
guard let dictionary = description.takeUnretainedValue() as? NSDictionary else {
return nil
}
return dictionary as? [String: Any]
}

// style:
// - bold: empty input/output edge
// - dashed: indirect or has no value
// color:
// - red: is_changed
public var dot: String? {
let options = ["format": "graph/dot"] as NSDictionary
guard let description = Graph.description(self, options: options)
else {
return nil
}
return description.takeUnretainedValue() as? String
}
}

#endif

0 comments on commit 0938f48

Please sign in to comment.