From 4e0641c91e55a2da71f42d8e701e5d3ac8fdc8ef Mon Sep 17 00:00:00 2001 From: Ross Goldberg <484615+rgoldberg@users.noreply.github.com> Date: Sat, 27 Sep 2025 04:40:52 -0400 Subject: [PATCH 1/2] Inline single-use variables. Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com> --- Sources/MAS/Commands/Lucky.swift | 3 +-- Sources/MAS/Controllers/ITunesSearchAppStoreSearcher.swift | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/Sources/MAS/Commands/Lucky.swift b/Sources/MAS/Commands/Lucky.swift index 451850681..7c55fcff3 100644 --- a/Sources/MAS/Commands/Lucky.swift +++ b/Sources/MAS/Commands/Lucky.swift @@ -38,8 +38,7 @@ extension MAS { private func run(downloader: Downloader, installedApps: [InstalledApp], searcher: AppStoreSearcher) async throws { let searchTerm = searchTermOptionGroup.searchTerm - let results = try await searcher.search(for: searchTerm) - guard let result = results.first else { + guard let result = try await searcher.search(for: searchTerm).first else { throw MASError.noSearchResultsFound(for: searchTerm) } diff --git a/Sources/MAS/Controllers/ITunesSearchAppStoreSearcher.swift b/Sources/MAS/Controllers/ITunesSearchAppStoreSearcher.swift index 5db7058e5..81636c1c7 100644 --- a/Sources/MAS/Controllers/ITunesSearchAppStoreSearcher.swift +++ b/Sources/MAS/Controllers/ITunesSearchAppStoreSearcher.swift @@ -30,8 +30,7 @@ struct ITunesSearchAppStoreSearcher: AppStoreSearcher { /// - Throws: A `MASError.unknownAppID(appID)` if `appID` is invalid. /// Some other `Error` if any other problem occurs. func lookup(appID: AppID, inRegion region: String) async throws -> SearchResult { - let results = try await getSearchResults(from: try lookupURL(forAppID: appID, inRegion: region)) - guard let result = results.first else { + guard let result = try await getSearchResults(from: try lookupURL(forAppID: appID, inRegion: region)).first else { throw MASError.unknownAppID(appID) } From 2fee00c0325eeac0dcc058bc360a781aaff0e5ba Mon Sep 17 00:00:00 2001 From: Ross Goldberg <484615+rgoldberg@users.noreply.github.com> Date: Sat, 27 Sep 2025 04:44:50 -0400 Subject: [PATCH 2/2] Improve DocC. Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com> --- Sources/MAS/Controllers/AppStoreSearcher.swift | 4 ++-- Sources/MAS/Controllers/ITunesSearchAppStoreSearcher.swift | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Sources/MAS/Controllers/AppStoreSearcher.swift b/Sources/MAS/Controllers/AppStoreSearcher.swift index 3aa6f6d8d..f0e2dc0d4 100644 --- a/Sources/MAS/Controllers/AppStoreSearcher.swift +++ b/Sources/MAS/Controllers/AppStoreSearcher.swift @@ -24,7 +24,7 @@ protocol AppStoreSearcher { /// - searchTerm: Term for which to search. /// - region: The ISO 3166-1 region alpha-2 of the storefront in which to /// search for apps. - /// - Returns: An `Array` of `SearchResult`s matching `searchTerm`. + /// - Returns: A `[SearchResult]` matching `searchTerm`. /// - Throws: An `Error` if any problem occurs. func search(for searchTerm: String, inRegion region: String) async throws -> [SearchResult] } @@ -43,7 +43,7 @@ extension AppStoreSearcher { /// Searches for apps. /// /// - Parameter searchTerm: Term for which to search. - /// - Returns: An `Array` of `SearchResult`s matching `searchTerm`. + /// - Returns: A `[SearchResult]` matching `searchTerm`. /// - Throws: An `Error` if any problem occurs. func search(for searchTerm: String) async throws -> [SearchResult] { try await search(for: searchTerm, inRegion: await region) diff --git a/Sources/MAS/Controllers/ITunesSearchAppStoreSearcher.swift b/Sources/MAS/Controllers/ITunesSearchAppStoreSearcher.swift index 81636c1c7..1df8731c7 100644 --- a/Sources/MAS/Controllers/ITunesSearchAppStoreSearcher.swift +++ b/Sources/MAS/Controllers/ITunesSearchAppStoreSearcher.swift @@ -43,7 +43,7 @@ struct ITunesSearchAppStoreSearcher: AppStoreSearcher { /// - searchTerm: Term for which to search. /// - region: The ISO 3166-1 region alpha-2 of the storefront in which to /// search for apps. - /// - Returns: An `Array` of `SearchResult`s matching `searchTerm`. + /// - Returns: A `[SearchResult]` matching `searchTerm`. /// - Throws: An `Error` if any problem occurs. func search(for searchTerm: String, inRegion region: String) async throws -> [SearchResult] { try await getSearchResults(from: try searchURL(for: searchTerm, inRegion: region))