@@ -23,12 +23,11 @@ extension MAS {
23
23
abstract: " Open app page in 'App Store.app' "
24
24
)
25
25
26
- @Flag ( name : . customLong ( " bundle " ) , help : ArgumentHelp ( " Process all app IDs as bundle IDs " ) )
27
- var forceBundleID = false
26
+ @OptionGroup
27
+ var forceBundleIDOptionGroup : ForceBundleIDOptionGroup
28
28
@Argument ( help: ArgumentHelp ( " App ID " , valueName: " app-id " ) )
29
29
var appIDString : String ?
30
30
31
- /// Runs the command.
32
31
func run( ) async throws {
33
32
try await run ( searcher: ITunesSearchAppStoreSearcher ( ) )
34
33
}
@@ -45,7 +44,7 @@ extension MAS {
45
44
}
46
45
47
46
try await openInMacAppStore (
48
- pageForAppID: AppID ( from: appIDString, forceBundleID: forceBundleID) ,
47
+ pageForAppID: AppID ( from: appIDString, forceBundleID: forceBundleIDOptionGroup . forceBundleID) ,
49
48
searcher: searcher
50
49
)
51
50
}
@@ -64,14 +63,12 @@ private func openMacAppStore() async throws {
64
63
}
65
64
66
65
private func openInMacAppStore( pageForAppID appID: AppID , searcher: AppStoreSearcher ) async throws {
67
- let result = try await searcher. lookup ( appID: appID)
68
-
69
- guard var urlComponents = URLComponents ( string: result. trackViewUrl) else {
70
- throw MASError . urlParsing ( result. trackViewUrl)
66
+ let urlString = try await searcher. lookup ( appID: appID) . trackViewUrl
67
+ guard var urlComponents = URLComponents ( string: urlString) else {
68
+ throw MASError . urlParsing ( urlString)
71
69
}
72
70
73
71
urlComponents. scheme = masScheme
74
-
75
72
guard let url = urlComponents. url else {
76
73
throw MASError . urlParsing ( String ( describing: urlComponents) )
77
74
}
0 commit comments