mirror of
https://github.com/rudrankriyam/App-Store-Connect-CLI.git
synced 2026-04-25 15:45:48 +03:00
[PR #453] [MERGED] Replace PrintTable/PrintMarkdown type switches with output registry #537
Labels
No labels
bug
bug
documentation
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/App-Store-Connect-CLI#537
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/rudrankriyam/App-Store-Connect-CLI/pull/453
Author: @rudrankriyam
Created: 2/8/2026
Status: ✅ Merged
Merged: 2/8/2026
Merged by: @rudrankriyam
Base:
main← Head:refactor/output-registry📝 Commits (1)
b95b90drefactor: replace PrintTable/PrintMarkdown type switches with registry📊 Changes
63 files changed (+1014 additions, -6043 deletions)
View changed files
📝
internal/asc/actors_output.go(+0 -12)📝
internal/asc/analytics_output.go(+0 -108)📝
internal/asc/assets_output.go(+1 -136)📝
internal/asc/build_bundles_output.go(+11 -74)📝
internal/asc/categories_output.go(+0 -12)📝
internal/asc/devices_output.go(+0 -24)📝
internal/asc/eula_output.go(+0 -24)📝
internal/asc/finance_output.go(+0 -24)📝
internal/asc/iap_output.go(+0 -192)📝
internal/asc/nominations_output.go(+0 -24)📝
internal/asc/offer_codes_custom_output.go(+0 -42)📝
internal/asc/offer_codes_output.go(+0 -24)📝
internal/asc/output_accessibility.go(+0 -36)📝
internal/asc/output_age_rating.go(+0 -12)📝
internal/asc/output_alternative_distribution.go(+0 -100)📝
internal/asc/output_android_ios_mapping.go(+0 -24)📝
internal/asc/output_app_clips.go(+0 -204)📝
internal/asc/output_app_events.go(+0 -84)📝
internal/asc/output_app_info.go(+0 -12)📝
internal/asc/output_app_setup.go(+0 -12)...and 43 more files
📄 Description
Summary
Replace the two 942-case type switches in
PrintTable/PrintMarkdown(1900 lines of mechanical dispatch) with areflect.Typeregistry. Each response type registers itsxxxRowsfunction at init time; dispatch is a single map lookup.output_core.go: 1947 lines -> 57 linesprintXxxTable/printXxxMarkdownwrapper functions removed (dead code)registerDirectfor composite renderingArchitecture
Adding a new output type now requires:
xxxRowsfunctionregisterRows(xxxRows)callNo more editing two switches in lockstep.
Test plan
make formatpassesmake lintpasses (zero unused function warnings)make testpasses (all 7600+ tests)asc apps list --output tablerenders bordered tablesasc apps list --output markdownrenders markdownCloses #444
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.