Skip to content

Commit de0f7cf

Browse files
committed
generalize module pages to better-handle non-library targets
1 parent 3bb0862 commit de0f7cf

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+417
-253
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.

Sources/PackageGraphs/Packages/PackageNode.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ struct PackageNode:Identifiable
1313
var dependencies:[any Identifiable<Symbol.Package>]
1414

1515
public
16-
var products:[SymbolGraphMetadata.Product]
16+
var products:[SymbolGraph.Product]
1717
public
1818
var modules:[SymbolGraph.Module]
1919
/// Lists of excluded sources, one per target node.
@@ -25,7 +25,7 @@ struct PackageNode:Identifiable
2525
@inlinable public
2626
init(id:Symbol.Package,
2727
dependencies:[any Identifiable<Symbol.Package>],
28-
products:[SymbolGraphMetadata.Product],
28+
products:[SymbolGraph.Product],
2929
modules:[SymbolGraph.Module],
3030
exclude:[[String]],
3131
root:Symbol.FileBase)
@@ -58,7 +58,7 @@ extension PackageNode
5858
var nodes:DigraphExplorer<ProductNode>.Nodes = .init()
5959
for package:PackageNode in dependencies
6060
{
61-
for product:SymbolGraphMetadata.Product in package.products
61+
for product:SymbolGraph.Product in package.products
6262
{
6363
try nodes.index(.init(id: .init(name: product.name, package: package.id),
6464
predecessors: product.dependencies))

Sources/PackageMetadata/Manifests/PackageNode (ext).swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ extension PackageNode
1818
init(as id:Symbol.Package,
1919
flattening manifest:borrowing SPM.Manifest,
2020
platform:borrowing SymbolGraphMetadata.Platform,
21-
filter predicate:(SymbolGraphMetadata.ProductType) throws -> Bool) throws
21+
filter predicate:(SymbolGraph.ProductType) throws -> Bool) throws
2222
{
2323
try self.init(id: id,
2424
predecessors: manifest.dependencies,

Sources/PackageMetadata/Manifests/SPM.Manifest.Product.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ extension SPM.Manifest
99
public
1010
let name:String
1111
public
12-
let type:SymbolGraphMetadata.ProductType
12+
let type:SymbolGraph.ProductType
1313
public
1414
let targets:[String]
1515

1616
@inlinable public
17-
init(name:String, type:SymbolGraphMetadata.ProductType, targets:[String])
17+
init(name:String, type:SymbolGraph.ProductType, targets:[String])
1818
{
1919
self.name = name
2020
self.type = type
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import JSON
2+
import SymbolGraphs
3+
4+
extension SymbolGraph.LibraryType:JSONDecodable, JSONEncodable
5+
{
6+
}

Sources/PackageMetadata/Manifests/SymbolGraphMetadata.ProductType (ext).swift renamed to Sources/PackageMetadata/Manifests/SymbolGraph.ProductType (ext).swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import JSON
22
import SymbolGraphs
33

4-
extension SymbolGraphMetadata.ProductType:JSONObjectDecodable
4+
extension SymbolGraph.ProductType:JSONObjectDecodable
55
{
66
public
77
enum CodingKey:String, Sendable

Sources/PackageMetadata/Manifests/SymbolGraphMetadata.LibraryType (ext).swift

Lines changed: 0 additions & 6 deletions
This file was deleted.

Sources/SwiftinitPages/UI/Localization/Phylum.Decl.Demonym.swift renamed to Sources/SwiftinitPages/Demonyms/Swiftinit.DeclDemonym.swift

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
1-
import HTML
21
import Symbols
32

4-
extension Phylum.Decl
3+
extension Swiftinit
54
{
6-
struct Demonym<Locale>
5+
struct DeclDemonym
76
{
87
let phylum:Phylum.Decl
9-
let kinks:Kinks
8+
let kinks:Phylum.Decl.Kinks
109

11-
init(phylum:Phylum.Decl, kinks:Kinks)
10+
init(phylum:Phylum.Decl, kinks:Phylum.Decl.Kinks)
1211
{
1312
self.phylum = phylum
1413
self.kinks = kinks
1514
}
1615
}
1716
}
18-
extension Phylum.Decl.Demonym<Language.EN>
17+
extension Swiftinit.DeclDemonym
1918
{
2019
var modifier:String?
2120
{
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
import SymbolGraphs
2+
3+
extension Swiftinit
4+
{
5+
struct ModuleDemonym
6+
{
7+
let language:SymbolGraph.ModuleLanguage
8+
let type:SymbolGraph.ModuleType
9+
10+
init(language:SymbolGraph.ModuleLanguage, type:SymbolGraph.ModuleType)
11+
{
12+
self.language = language
13+
self.type = type
14+
}
15+
}
16+
}
17+
extension Swiftinit.ModuleDemonym
18+
{
19+
var title:String
20+
{
21+
switch (self.language, self.type)
22+
{
23+
case (_, .binary): "Binary Module"
24+
case (_, .executable): "Executable"
25+
case (.c, .regular): "Library Module (C)"
26+
case (.cpp, .regular): "Library Module (C++)"
27+
case (_, .regular): "Library Module"
28+
case (_, .macro): "Macro Module"
29+
case (_, .plugin): "Plugin Module"
30+
case (_, .snippet): "Snippet"
31+
case (_, .system): "System Module"
32+
case (_, .test): "Test Module"
33+
}
34+
}
35+
36+
var phrase:String
37+
{
38+
switch (self.language, self.type)
39+
{
40+
case (_, .binary): "a binary module"
41+
case (_, .executable): "an executable target"
42+
case (.c, .regular): "a C module"
43+
case (.cpp, .regular): "a C++ module"
44+
case (_, .regular): "a library module"
45+
case (_, .macro): "a macro target"
46+
case (_, .plugin): "a plugin target"
47+
case (_, .snippet): "a snippet"
48+
case (_, .system): "a system module"
49+
case (_, .test): "a test module"
50+
}
51+
}
52+
}

0 commit comments

Comments
 (0)