Skip to content

Commit 4d4533a

Browse files
authored
Merge pull request #6338 from thaJeztah/cleanup_formatters
cli/command: inline vars and use struct literals in formatting functions
2 parents 2966159 + f72ec26 commit 4d4533a

File tree

11 files changed

+187
-164
lines changed

11 files changed

+187
-164
lines changed

cli/command/checkpoint/formatter.go

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,30 +20,28 @@ func newFormat(source string) formatter.Format {
2020

2121
// formatWrite writes formatted checkpoints using the Context
2222
func formatWrite(fmtCtx formatter.Context, checkpoints []checkpoint.Summary) error {
23-
render := func(format func(subContext formatter.SubContext) error) error {
23+
cpContext := &checkpointContext{
24+
HeaderContext: formatter.HeaderContext{
25+
Header: formatter.SubHeaderContext{
26+
"Name": checkpointNameHeader,
27+
},
28+
},
29+
}
30+
return fmtCtx.Write(cpContext, func(format func(subContext formatter.SubContext) error) error {
2431
for _, cp := range checkpoints {
2532
if err := format(&checkpointContext{c: cp}); err != nil {
2633
return err
2734
}
2835
}
2936
return nil
30-
}
31-
return fmtCtx.Write(newCheckpointContext(), render)
37+
})
3238
}
3339

3440
type checkpointContext struct {
3541
formatter.HeaderContext
3642
c checkpoint.Summary
3743
}
3844

39-
func newCheckpointContext() *checkpointContext {
40-
cpCtx := checkpointContext{}
41-
cpCtx.Header = formatter.SubHeaderContext{
42-
"Name": checkpointNameHeader,
43-
}
44-
return &cpCtx
45-
}
46-
4745
func (c *checkpointContext) MarshalJSON() ([]byte, error) {
4846
return formatter.MarshalJSON(c)
4947
}

cli/command/config/formatter.go

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -45,29 +45,26 @@ func newFormat(source string, quiet bool) formatter.Format {
4545

4646
// formatWrite writes the context
4747
func formatWrite(fmtCtx formatter.Context, configs []swarm.Config) error {
48-
render := func(format func(subContext formatter.SubContext) error) error {
48+
cCtx := &configContext{
49+
HeaderContext: formatter.HeaderContext{
50+
Header: formatter.SubHeaderContext{
51+
"ID": configIDHeader,
52+
"Name": formatter.NameHeader,
53+
"CreatedAt": configCreatedHeader,
54+
"UpdatedAt": configUpdatedHeader,
55+
"Labels": formatter.LabelsHeader,
56+
},
57+
},
58+
}
59+
return fmtCtx.Write(cCtx, func(format func(subContext formatter.SubContext) error) error {
4960
for _, config := range configs {
5061
configCtx := &configContext{c: config}
5162
if err := format(configCtx); err != nil {
5263
return err
5364
}
5465
}
5566
return nil
56-
}
57-
return fmtCtx.Write(newConfigContext(), render)
58-
}
59-
60-
func newConfigContext() *configContext {
61-
cCtx := &configContext{}
62-
63-
cCtx.Header = formatter.SubHeaderContext{
64-
"ID": configIDHeader,
65-
"Name": formatter.NameHeader,
66-
"CreatedAt": configCreatedHeader,
67-
"UpdatedAt": configUpdatedHeader,
68-
"Labels": formatter.LabelsHeader,
69-
}
70-
return cCtx
67+
})
7168
}
7269

7370
type configContext struct {
@@ -119,7 +116,7 @@ func inspectFormatWrite(fmtCtx formatter.Context, refs []string, getRef inspect.
119116
if fmtCtx.Format != configInspectPrettyTemplate {
120117
return inspect.Inspect(fmtCtx.Output, refs, string(fmtCtx.Format), getRef)
121118
}
122-
render := func(format func(subContext formatter.SubContext) error) error {
119+
return fmtCtx.Write(&configInspectContext{}, func(format func(subContext formatter.SubContext) error) error {
123120
for _, ref := range refs {
124121
configI, _, err := getRef(ref)
125122
if err != nil {
@@ -134,8 +131,7 @@ func inspectFormatWrite(fmtCtx formatter.Context, refs []string, getRef inspect.
134131
}
135132
}
136133
return nil
137-
}
138-
return fmtCtx.Write(&configInspectContext{}, render)
134+
})
139135
}
140136

141137
type configInspectContext struct {

cli/command/image/formatter_history.go

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -37,25 +37,30 @@ func newHistoryFormat(source string, quiet bool, human bool) formatter.Format {
3737

3838
// historyWrite writes the context
3939
func historyWrite(fmtCtx formatter.Context, human bool, histories []image.HistoryResponseItem) error {
40-
render := func(format func(subContext formatter.SubContext) error) error {
40+
historyCtx := &historyContext{
41+
HeaderContext: formatter.HeaderContext{
42+
Header: formatter.SubHeaderContext{
43+
"ID": historyIDHeader,
44+
"CreatedSince": formatter.CreatedSinceHeader,
45+
"CreatedAt": formatter.CreatedAtHeader,
46+
"CreatedBy": createdByHeader,
47+
"Size": formatter.SizeHeader,
48+
"Comment": commentHeader,
49+
},
50+
},
51+
}
52+
return fmtCtx.Write(historyCtx, func(format func(subContext formatter.SubContext) error) error {
4153
for _, history := range histories {
42-
historyCtx := &historyContext{trunc: fmtCtx.Trunc, h: history, human: human}
43-
if err := format(historyCtx); err != nil {
54+
if err := format(&historyContext{
55+
trunc: fmtCtx.Trunc,
56+
h: history,
57+
human: human,
58+
}); err != nil {
4459
return err
4560
}
4661
}
4762
return nil
48-
}
49-
historyCtx := &historyContext{}
50-
historyCtx.Header = formatter.SubHeaderContext{
51-
"ID": historyIDHeader,
52-
"CreatedSince": formatter.CreatedSinceHeader,
53-
"CreatedAt": formatter.CreatedAtHeader,
54-
"CreatedBy": createdByHeader,
55-
"Size": formatter.SizeHeader,
56-
"Comment": commentHeader,
57-
}
58-
return fmtCtx.Write(historyCtx, render)
63+
})
5964
}
6065

6166
type historyContext struct {

cli/command/network/formatter.go

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -36,28 +36,32 @@ func newFormat(source string, quiet bool) formatter.Format {
3636

3737
// formatWrite writes the context.
3838
func formatWrite(fmtCtx formatter.Context, networks []network.Summary) error {
39-
render := func(format func(subContext formatter.SubContext) error) error {
39+
networkCtx := networkContext{
40+
HeaderContext: formatter.HeaderContext{
41+
Header: formatter.SubHeaderContext{
42+
"ID": networkIDHeader,
43+
"Name": formatter.NameHeader,
44+
"Driver": formatter.DriverHeader,
45+
"Scope": formatter.ScopeHeader,
46+
"IPv4": ipv4Header,
47+
"IPv6": ipv6Header,
48+
"Internal": internalHeader,
49+
"Labels": formatter.LabelsHeader,
50+
"CreatedAt": formatter.CreatedAtHeader,
51+
},
52+
},
53+
}
54+
return fmtCtx.Write(&networkCtx, func(format func(subContext formatter.SubContext) error) error {
4055
for _, nw := range networks {
41-
networkCtx := &networkContext{trunc: fmtCtx.Trunc, n: nw}
42-
if err := format(networkCtx); err != nil {
56+
if err := format(&networkContext{
57+
trunc: fmtCtx.Trunc,
58+
n: nw,
59+
}); err != nil {
4360
return err
4461
}
4562
}
4663
return nil
47-
}
48-
networkCtx := networkContext{}
49-
networkCtx.Header = formatter.SubHeaderContext{
50-
"ID": networkIDHeader,
51-
"Name": formatter.NameHeader,
52-
"Driver": formatter.DriverHeader,
53-
"Scope": formatter.ScopeHeader,
54-
"IPv4": ipv4Header,
55-
"IPv6": ipv6Header,
56-
"Internal": internalHeader,
57-
"Labels": formatter.LabelsHeader,
58-
"CreatedAt": formatter.CreatedAtHeader,
59-
}
60-
return fmtCtx.Write(&networkCtx, render)
64+
})
6165
}
6266

6367
type networkContext struct {

cli/command/node/formatter.go

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -100,27 +100,31 @@ func newFormat(source string, quiet bool) formatter.Format {
100100

101101
// formatWrite writes the context.
102102
func formatWrite(fmtCtx formatter.Context, nodes []swarm.Node, info system.Info) error {
103-
render := func(format func(subContext formatter.SubContext) error) error {
103+
nodeCtx := &nodeContext{
104+
HeaderContext: formatter.HeaderContext{
105+
Header: formatter.SubHeaderContext{
106+
"ID": nodeIDHeader,
107+
"Self": selfHeader,
108+
"Hostname": hostnameHeader,
109+
"Status": formatter.StatusHeader,
110+
"Availability": availabilityHeader,
111+
"ManagerStatus": managerStatusHeader,
112+
"EngineVersion": engineVersionHeader,
113+
"TLSStatus": tlsStatusHeader,
114+
},
115+
},
116+
}
117+
return fmtCtx.Write(nodeCtx, func(format func(subContext formatter.SubContext) error) error {
104118
for _, node := range nodes {
105-
nodeCtx := &nodeContext{n: node, info: info}
106-
if err := format(nodeCtx); err != nil {
119+
if err := format(&nodeContext{
120+
n: node,
121+
info: info,
122+
}); err != nil {
107123
return err
108124
}
109125
}
110126
return nil
111-
}
112-
nodeCtx := nodeContext{}
113-
nodeCtx.Header = formatter.SubHeaderContext{
114-
"ID": nodeIDHeader,
115-
"Self": selfHeader,
116-
"Hostname": hostnameHeader,
117-
"Status": formatter.StatusHeader,
118-
"Availability": availabilityHeader,
119-
"ManagerStatus": managerStatusHeader,
120-
"EngineVersion": engineVersionHeader,
121-
"TLSStatus": tlsStatusHeader,
122-
}
123-
return fmtCtx.Write(&nodeCtx, render)
127+
})
124128
}
125129

126130
type nodeContext struct {
@@ -184,7 +188,7 @@ func inspectFormatWrite(fmtCtx formatter.Context, refs []string, getRef inspect.
184188
if fmtCtx.Format != nodeInspectPrettyTemplate {
185189
return inspect.Inspect(fmtCtx.Output, refs, string(fmtCtx.Format), getRef)
186190
}
187-
render := func(format func(subContext formatter.SubContext) error) error {
191+
return fmtCtx.Write(&nodeInspectContext{}, func(format func(subContext formatter.SubContext) error) error {
188192
for _, ref := range refs {
189193
nodeI, _, err := getRef(ref)
190194
if err != nil {
@@ -199,8 +203,7 @@ func inspectFormatWrite(fmtCtx formatter.Context, refs []string, getRef inspect.
199203
}
200204
}
201205
return nil
202-
}
203-
return fmtCtx.Write(&nodeInspectContext{}, render)
206+
})
204207
}
205208

206209
type nodeInspectContext struct {

cli/command/plugin/formatter.go

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -39,24 +39,28 @@ func newFormat(source string, quiet bool) formatter.Format {
3939

4040
// formatWrite writes the context
4141
func formatWrite(fmtCtx formatter.Context, plugins []*plugin.Plugin) error {
42-
render := func(format func(subContext formatter.SubContext) error) error {
42+
pluginCtx := &pluginContext{
43+
HeaderContext: formatter.HeaderContext{
44+
Header: formatter.SubHeaderContext{
45+
"ID": pluginIDHeader,
46+
"Name": formatter.NameHeader,
47+
"Description": formatter.DescriptionHeader,
48+
"Enabled": enabledHeader,
49+
"PluginReference": formatter.ImageHeader,
50+
},
51+
},
52+
}
53+
return fmtCtx.Write(pluginCtx, func(format func(subContext formatter.SubContext) error) error {
4354
for _, p := range plugins {
44-
pluginCtx := &pluginContext{trunc: fmtCtx.Trunc, p: *p}
45-
if err := format(pluginCtx); err != nil {
55+
if err := format(&pluginContext{
56+
trunc: fmtCtx.Trunc,
57+
p: *p,
58+
}); err != nil {
4659
return err
4760
}
4861
}
4962
return nil
50-
}
51-
pluginCtx := pluginContext{}
52-
pluginCtx.Header = formatter.SubHeaderContext{
53-
"ID": pluginIDHeader,
54-
"Name": formatter.NameHeader,
55-
"Description": formatter.DescriptionHeader,
56-
"Enabled": enabledHeader,
57-
"PluginReference": formatter.ImageHeader,
58-
}
59-
return fmtCtx.Write(&pluginCtx, render)
63+
})
6064
}
6165

6266
type pluginContext struct {

cli/command/registry/formatter_search.go

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,23 +27,27 @@ func newFormat(source string) formatter.Format {
2727

2828
// formatWrite writes the context.
2929
func formatWrite(fmtCtx formatter.Context, results []registrytypes.SearchResult) error {
30-
render := func(format func(subContext formatter.SubContext) error) error {
30+
searchCtx := &searchContext{
31+
HeaderContext: formatter.HeaderContext{
32+
Header: formatter.SubHeaderContext{
33+
"Name": formatter.NameHeader,
34+
"Description": formatter.DescriptionHeader,
35+
"StarCount": starsHeader,
36+
"IsOfficial": officialHeader,
37+
},
38+
},
39+
}
40+
return fmtCtx.Write(searchCtx, func(format func(subContext formatter.SubContext) error) error {
3141
for _, result := range results {
32-
searchCtx := &searchContext{trunc: fmtCtx.Trunc, s: result}
33-
if err := format(searchCtx); err != nil {
42+
if err := format(&searchContext{
43+
trunc: fmtCtx.Trunc,
44+
s: result,
45+
}); err != nil {
3446
return err
3547
}
3648
}
3749
return nil
38-
}
39-
searchCtx := searchContext{}
40-
searchCtx.Header = formatter.SubHeaderContext{
41-
"Name": formatter.NameHeader,
42-
"Description": formatter.DescriptionHeader,
43-
"StarCount": starsHeader,
44-
"IsOfficial": officialHeader,
45-
}
46-
return fmtCtx.Write(&searchCtx, render)
50+
})
4751
}
4852

4953
type searchContext struct {

0 commit comments

Comments
 (0)