Ross Goldberg
309cfec38d
Fix JSON parsing error by making formattedPrice
& price
optional for SearchResult
.
...
Use new `displayPrice` to get around optional `formattedPrice`. Doesn't handle i18n, but we can clean that up after we completely redo JSON handling.
Resolve #493
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-11-20 00:39:52 -05:00
Ross Goldberg
5209ccd16b
Improve downloading output.
...
Update linting for access control on extensions.
Resolve #307
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-30 03:48:00 -04:00
Ross Goldberg
37823cc4dd
Fix typos in DocC.
...
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-29 06:14:19 -04:00
Ross Goldberg
1b43c89bec
Single source for Unknown app ID message.
...
Resolve #533
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-29 05:41:01 -04:00
Ross Goldberg
31dfe81174
Improve lucky
& search
error message.
...
Partial #533
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-29 04:08:56 -04:00
Ross Goldberg
05674b2534
Remove duplicate error output for lucky
.
...
Partial #533
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-29 04:02:11 -04:00
Ross Goldberg
0b9c84bcb8
Improve help output for command arguments.
...
Partial #533
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-29 03:59:14 -04:00
Ross Goldberg
64ab55718a
Improve upgrade
unknown app ID/name error output.
...
Don't output a warning if nothing requires an upgrade.
Partial #533
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-29 03:38:12 -04:00
Ross Goldberg
3d264675bf
Move code to more appropriate files.
...
Partial #533
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-29 00:16:35 -04:00
Ross Goldberg
e639341d11
Refactor to allow install
& purchase
to report unknown app IDs via console instead of cryptically via a dialog.
...
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-28 20:18:49 -04:00
Ross Goldberg
9eef8b6cb8
Improve download functions.
...
Partial #533
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-28 15:09:20 -04:00
Ross Goldberg
0a05cd438f
Add & use MASError.unknownAppID(AppID)
.
...
Partial #533
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-28 14:38:06 -04:00
Ross Goldberg
14dbd26d3a
Simplify open()
extension func for URL
.
...
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-28 12:49:48 -04:00
Ross Goldberg
9ebb01805d
Replace clunky ExternalCommand
code that starts new processes with Apple library calls.
...
Resolve #620
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-28 12:19:56 -04:00
Ross Goldberg
c0fffeddf3
Open the Mac App Store without any spurious error dialogs.
...
Use PromiseKit properly.
Don't use `OpenCommand`.
Resolve #217
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-28 10:17:33 -04:00
Ross Goldberg
5bfd83f3c4
Cleanup help.
...
Resolve #616
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-28 01:00:48 -04:00
Ross Goldberg
2a496b1f98
Refactor AppStoreSearcher
code.
...
Move code from `AppStoreSearcher` to `ITunesSearchAppStoreSearcher`.
Improve DocC.
Improve Quick test names.
Resolve #607
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-27 15:07:29 -04:00
Ross Goldberg
e79e6283ac
Use ISO8601DateFormatter
.
...
Resolve #613
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-27 14:54:07 -04:00
Ross Goldberg
f83412bba1
Increase minimum macOS version to 10.13, since Swift 5.7 is already used, which requires Xcode 14+ to compile, which only supports macOS deployment targets 10.13+.
...
Use Swift 5.7.1, which is the newest version of Swift 5.7.
Resolve #578
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-27 14:01:45 -04:00
Ross Goldberg
52a0638f2b
Improve help output.
...
Make fish shell completions more consistent with the help output.
Resolve #543
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-27 12:09:43 -04:00
Ross Goldberg
fd051eac1f
Require fileSizeBytes
& price
for SearchResult
.
...
Resolve #597
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-26 02:17:08 -04:00
Ross Goldberg
1b4c97f652
Use formattedPrice
instead of price
.
...
Improve price output.
Partial #597
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-26 02:17:07 -04:00
Ross Goldberg
cc219fe644
Rename MasAppLibrary
as SoftwareMapAppLibrary
.
...
Rename `AppLibraryMock` as `MockAppLibrary`.
Partial #585
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-25 22:52:20 -04:00
Ross Goldberg
d7072fc66d
Rename *StoreSearch
as *AppStoreSearcher
.
...
Rename `MasStoreSearch` as `ITunesSearchAppStoreSearcher`.
Rename `StoreSearchMock` as `MockAppStoreSearcher`.
Rename variables/parameters of the above types as `searcher`.
Fix 'App Store.app' mention in help.
Partial #585
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-25 22:52:20 -04:00
Ross Goldberg
ab22e22ace
Rename Mas
as MAS
.
...
Partial #585
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-25 22:52:20 -04:00
Ross Goldberg
6bf5696093
Chop down multiline guard
clauses.
...
Partial #585
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-25 22:52:19 -04:00
Ross Goldberg
59a642590a
Rename some uses of *Url
as *URL
.
...
Partial #585
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-25 22:52:14 -04:00
Ross Goldberg
0b11f3737c
Rename some uses of appName
as searchTerm
.
...
Partial #585
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-25 22:51:07 -04:00
Ross Goldberg
0e49da7bf1
Rename *bundleId
as *bundleID
.
...
Partial #585
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-25 22:51:07 -04:00
Ross Goldberg
3a5593c12d
Rename *accountId
& username
as *appleID
.
...
Partial #585
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-25 22:51:07 -04:00
Ross Goldberg
98c85ac6d6
Delete apps via Scripting Bridge to Finder.
...
Resolve #313
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-25 22:39:03 -04:00
Ross Goldberg
53c64b1758
Improve errors.
...
Partial #313
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-25 22:39:03 -04:00
Ross Goldberg
06ee9608be
Improve output.
...
Improve errors.
Simplify code.
Partial #313
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-25 22:39:03 -04:00
Ross Goldberg
b0d2f23465
Add appID
parameter to MASError.notInstalled()
.
...
Partial #313
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-25 22:39:03 -04:00
Ross Goldberg
222646159d
Refactor AppLibrary.installedApp(…)
as AppLibrary.installedApps(…)
...
because multiple installed apps can have the same app ID or app name.
Partial #313
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-25 22:39:02 -04:00
Ross Goldberg
4e0a471d81
Remove unnecessary function from AppLibrary
.
...
Partial #313
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-25 22:39:01 -04:00
Ross Goldberg
4d4dd02cd3
Improve lint configurations.
...
Partial #592
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-23 06:18:34 -04:00
Ross Goldberg
2edd21803b
Improve unwrapping.
...
Cleanup code.
Partial #592
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-23 06:18:34 -04:00
Ross Goldberg
87aaba555d
Remove unnecessary variable type.
...
Partial #592
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-23 06:18:34 -04:00
Ross Goldberg
ee28af69df
Eliminate magic numbers.
...
Partial #592
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-23 06:18:34 -04:00
Ross Goldberg
fcf8ba29f6
Improve error output.
...
Partial #592
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-23 06:18:34 -04:00
Ross Goldberg
65218eff74
Comment that catch ignores error.
...
Partial #592
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-23 06:18:34 -04:00
Ross Goldberg
3a6d6724c9
Reorder elements.
...
Partial #592
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-23 06:18:33 -04:00
Ross Goldberg
2af2a42a88
Improve parameter names.
...
Partial #592
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-23 06:18:33 -04:00
Ross Goldberg
586de07389
Improve access control.
...
Partial #592
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-23 06:18:33 -04:00
Ross Goldberg
e927466dce
Use Self
.
...
Partial #592
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-23 06:18:33 -04:00
Ross Goldberg
06a347c450
Use isEmpty
/ beEmpty()
.
...
Partial #592
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-23 06:18:33 -04:00
Ross Goldberg
d7074db06f
Remove unnecessary else
blocks.
...
Partial #592
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-23 06:18:33 -04:00
Ross Goldberg
71fbe2e444
Improve spacing.
...
Partial #592
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-23 06:18:28 -04:00
Ross Goldberg
3eaffa5c3e
Improve DocC.
...
Partial #592
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-23 06:17:43 -04:00