Skip to content

Commit 45ea41f

Browse files
committed
Move scopeAndName to property of PackageIdentity
1 parent 73aa9bf commit 45ea41f

File tree

2 files changed

+14
-16
lines changed

2 files changed

+14
-16
lines changed

Sources/PackageModel/PackageIdentity.swift

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,17 @@ public struct PackageIdentity: Hashable, CustomStringConvertible {
5757
public static func plain(_ value: String) -> PackageIdentity {
5858
PackageIdentity(value)
5959
}
60+
61+
// TODO: formalize package registry identifier
62+
public var scopeAndName: (String, String)? {
63+
let components = description.split(separator: ".", maxSplits: 1, omittingEmptySubsequences: true)
64+
guard let scope = components.first,
65+
let name = components.last,
66+
components.count == 2
67+
else { return nil }
68+
69+
return (String(scope), String(name))
70+
}
6071
}
6172

6273
extension PackageIdentity: Comparable {

Sources/PackageRegistry/RegistryManager.swift

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public final class RegistryManager {
6161
on queue: DispatchQueue,
6262
completion: @escaping (Result<[Version], Error>) -> Void
6363
) {
64-
guard case let (scope, name)? = package.scopeAndName else {
64+
guard case let (scope, name)? = package.identity.scopeAndName else {
6565
return completion(.failure(RegistryError.invalidPackage(package)))
6666
}
6767

@@ -109,7 +109,7 @@ public final class RegistryManager {
109109
on queue: DispatchQueue,
110110
completion: @escaping (Result<Manifest, Error>) -> Void
111111
) {
112-
guard case let (scope, name)? = package.scopeAndName else {
112+
guard case let (scope, name)? = package.identity.scopeAndName else {
113113
return completion(.failure(RegistryError.invalidPackage(package)))
114114
}
115115

@@ -187,7 +187,7 @@ public final class RegistryManager {
187187
on queue: DispatchQueue,
188188
completion: @escaping (Result<Void, Error>) -> Void
189189
) {
190-
guard case let (scope, name)? = package.scopeAndName else {
190+
guard case let (scope, name)? = package.identity.scopeAndName else {
191191
return completion(.failure(RegistryError.invalidPackage(package)))
192192
}
193193

@@ -271,16 +271,3 @@ private extension AbsolutePath {
271271
return AbsolutePath(self, RelativePath("..")).appending(component: "\(basename).\(`extension`)")
272272
}
273273
}
274-
275-
// FIXME: Implement in PackageIdentity
276-
private extension PackageReference {
277-
var scopeAndName: (String, String)? {
278-
let components = identity.description.split(separator: ".", maxSplits: 1, omittingEmptySubsequences: true)
279-
guard let scope = components.first,
280-
let name = components.last,
281-
components.count == 2
282-
else { return nil }
283-
284-
return (String(scope), String(name))
285-
}
286-
}

0 commit comments

Comments
 (0)