Skip to content

Commit 4cd80a7

Browse files
authored
Merge pull request #9 from tayloraswift/availability-badges
Availability badges
2 parents 87542b7 + 082899e commit 4cd80a7

20 files changed

+401
-125
lines changed

Assets/css/Main.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/css/Main.css.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<div align="center">
22

3-
<strong><em><code>unidoc</code></em></strong><br><small><code>0.1.0</code></small>
3+
<strong><em><code>unidoc</code></em></strong><br><small><code>0.1.3</code></small>
44

55
[![ci build status](https://github.com/kelvin13/swift-unidoc/actions/workflows/build.yml/badge.svg)](https://github.com/kelvin13/swift-unidoc/actions/workflows/build.yml)
66

Sources/Availability/Domains/Availability.PlatformDomain.swift

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ import SemanticVersions
33
extension Availability
44
{
55
@frozen public
6-
enum PlatformDomain:String, CaseIterable, Hashable, Sendable
6+
enum PlatformDomain:String, CaseIterable, Equatable, Hashable, Sendable
77
{
88
case iOS
99
case macOS
1010
case macCatalyst
11+
case openBSD = "OpenBSD"
1112
case tvOS
1213
case watchOS
1314
case windows = "Windows"
14-
case openBSD = "OpenBSD"
1515

1616
case iOSApplicationExtension
1717
case macOSApplicationExtension
@@ -29,3 +29,25 @@ extension Availability.PlatformDomain:AvailabilityDomain
2929
public
3030
typealias Unavailability = Availability.EternalRange
3131
}
32+
extension Availability.PlatformDomain:CustomStringConvertible
33+
{
34+
@inlinable public
35+
var description:String
36+
{
37+
switch self
38+
{
39+
case .iOS: return "iOS"
40+
case .macOS: return "macOS"
41+
case .macCatalyst: return "Mac Catalyst"
42+
case .openBSD: return "OpenBSD"
43+
case .tvOS: return "tvOS"
44+
case .watchOS: return "watchOS"
45+
case .windows: return "Windows"
46+
case .iOSApplicationExtension: return "iOS App Extension"
47+
case .macOSApplicationExtension: return "macOS App Extension"
48+
case .macCatalystApplicationExtension: return "Mac Catalyst App Extension"
49+
case .tvOSApplicationExtension: return "tvOS App Extension"
50+
case .watchOSApplicationExtension: return "watchOS App Extension"
51+
}
52+
}
53+
}

Sources/SymbolGraphParts/Availability/Availability (ext).swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ extension Availability:JSONDecodable
4545
message: message)
4646

4747
case .platform(let domain):
48-
let deprecated:Availability.AnyRange? = try json[.isUnconditionallyDeprecated]?.decode(
48+
let deprecated:Availability.AnyRange? =
49+
try json[.isUnconditionallyDeprecated]?.decode(
4950
as: Bool.self)
5051
{
5152
$0 ? .unconditionally : nil

Sources/UnidocLinker/Groups/DynamicContext.SortLeague.swift renamed to Sources/UnidocLinker/Groups/DynamicContext.SortPriority.Phylum.swift

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1+
12
import Sources
23
import Unidoc
34

4-
extension DynamicContext
5+
extension DynamicContext.SortPriority
56
{
6-
enum SortLeague:Equatable, Comparable
7+
enum Phylum:Equatable, Comparable
78
{
89
case `var`
910
case `func`
@@ -27,7 +28,7 @@ extension DynamicContext
2728
case method(Unidoc.Decl.Objectivity)
2829
}
2930
}
30-
extension DynamicContext.SortLeague
31+
extension DynamicContext.SortPriority.Phylum
3132
{
3233
init(_ phylum:Unidoc.Decl, position:SourcePosition? = nil)
3334
{
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
extension DynamicContext
2+
{
3+
enum SortPriority:Equatable, Comparable
4+
{
5+
case available (Phylum, String, Int32)
6+
case removed (Phylum, String, Int32)
7+
}
8+
}

Sources/UnidocLinker/Groups/DynamicContext.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ extension DynamicContext
233233
extension DynamicContext
234234
{
235235
/// Get the sort-priority of a declaration.
236-
func priority(of decl:Unidoc.Scalar) -> (SortLeague, String, Int32)?
236+
func priority(of decl:Unidoc.Scalar) -> SortPriority?
237237
{
238238
self[decl.package]?.priority(of: decl)
239239
}

Sources/UnidocLinker/Snapshots/SnapshotObject.swift

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,14 +80,16 @@ extension SnapshotObject
8080
}
8181
extension SnapshotObject
8282
{
83-
func priority(of decl:Unidoc.Scalar) -> (DynamicContext.SortLeague, String, Int32)?
83+
func priority(of decl:Unidoc.Scalar) -> DynamicContext.SortPriority?
8484
{
8585
if let local:Int32 = decl - self.zone,
8686
let decl:SymbolGraph.Decl = snapshot.graph.decls[local]?.decl
8787
{
88-
let league:DynamicContext.SortLeague = .init(decl.phylum,
88+
let phylum:DynamicContext.SortPriority.Phylum = .init(decl.phylum,
8989
position: decl.location?.position)
90-
return (league, decl.path.last, local)
90+
return decl.signature.availability.isGenerallyRecommended ?
91+
.available(phylum, decl.path.last, local) :
92+
.removed(phylum, decl.path.last, local)
9193
}
9294
else
9395
{

Sources/UnidocPages/Groups/Inliner.Groups.Genericness.swift

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,11 @@ extension Inliner.Groups
22
{
33
enum Genericness:Equatable, Hashable, Comparable, Sendable
44
{
5-
case generic
6-
case concrete
5+
/// No generic constraints.
6+
case unconstrained
7+
/// At least one generic constraint, but not enough to fully concretize the extension.
8+
case constrained
9+
/// Enough generic constraints to fully concretize the extension.
10+
case concretized
711
}
812
}

0 commit comments

Comments
 (0)