@@ -19,14 +19,15 @@ package util
1919import (
2020 "errors"
2121 "fmt"
22+ "io"
2223
2324 "github.com/GoogleContainerTools/container-diff/pkg/util"
2425 "github.com/sirupsen/logrus"
2526)
2627
2728type Result interface {
2829 OutputStruct () interface {}
29- OutputText (resultType string , format string ) error
30+ OutputText (writer io. Writer , resultType string , format string ) error
3031}
3132
3233type AnalyzeResult struct {
@@ -41,14 +42,14 @@ func (r ListAnalyzeResult) OutputStruct() interface{} {
4142 return r
4243}
4344
44- func (r ListAnalyzeResult ) OutputText (resultType string , format string ) error {
45+ func (r ListAnalyzeResult ) OutputText (writer io. Writer , resultType string , format string ) error {
4546 analysis , valid := r .Analysis .([]string )
4647 if ! valid {
4748 logrus .Error ("Unexpected structure of Analysis. Should be of type []string" )
4849 return fmt .Errorf ("Could not output %s analysis result" , r .AnalyzeType )
4950 }
5051 r .Analysis = analysis
51- return TemplateOutputFromFormat (r , "ListAnalyze" , format )
52+ return TemplateOutputFromFormat (writer , r , "ListAnalyze" , format )
5253
5354}
5455
@@ -73,7 +74,7 @@ func (r MultiVersionPackageAnalyzeResult) OutputStruct() interface{} {
7374 return output
7475}
7576
76- func (r MultiVersionPackageAnalyzeResult ) OutputText (resultType string , format string ) error {
77+ func (r MultiVersionPackageAnalyzeResult ) OutputText (writer io. Writer , resultType string , format string ) error {
7778 analysis , valid := r .Analysis .(map [string ]map [string ]PackageInfo )
7879 if ! valid {
7980 logrus .Error ("Unexpected structure of Analysis. Should be of type map[string]map[string]PackageInfo" )
@@ -91,7 +92,7 @@ func (r MultiVersionPackageAnalyzeResult) OutputText(resultType string, format s
9192 AnalyzeType : r .AnalyzeType ,
9293 Analysis : strAnalysis ,
9394 }
94- return TemplateOutputFromFormat (strResult , "MultiVersionPackageAnalyze" , format )
95+ return TemplateOutputFromFormat (writer , strResult , "MultiVersionPackageAnalyze" , format )
9596}
9697
9798type SingleVersionPackageAnalyzeResult AnalyzeResult
@@ -115,7 +116,7 @@ func (r SingleVersionPackageAnalyzeResult) OutputStruct() interface{} {
115116 return output
116117}
117118
118- func (r SingleVersionPackageAnalyzeResult ) OutputText (diffType string , format string ) error {
119+ func (r SingleVersionPackageAnalyzeResult ) OutputText (writer io. Writer , diffType string , format string ) error {
119120 analysis , valid := r .Analysis .(map [string ]PackageInfo )
120121 if ! valid {
121122 logrus .Error ("Unexpected structure of Analysis. Should be of type map[string]PackageInfo" )
@@ -133,7 +134,7 @@ func (r SingleVersionPackageAnalyzeResult) OutputText(diffType string, format st
133134 AnalyzeType : r .AnalyzeType ,
134135 Analysis : strAnalysis ,
135136 }
136- return TemplateOutputFromFormat (strResult , "SingleVersionPackageAnalyze" , format )
137+ return TemplateOutputFromFormat (writer , strResult , "SingleVersionPackageAnalyze" , format )
137138}
138139
139140type SingleVersionPackageLayerAnalyzeResult AnalyzeResult
@@ -173,7 +174,7 @@ func (r SingleVersionPackageLayerAnalyzeResult) OutputStruct() interface{} {
173174 return output
174175}
175176
176- func (r SingleVersionPackageLayerAnalyzeResult ) OutputText (diffType string , format string ) error {
177+ func (r SingleVersionPackageLayerAnalyzeResult ) OutputText (writer io. Writer , diffType string , format string ) error {
177178 analysis , valid := r .Analysis .(PackageLayerDiff )
178179 if ! valid {
179180 logrus .Error ("Unexpected structure of Analysis. Should be of type PackageLayerDiff" )
@@ -205,7 +206,7 @@ func (r SingleVersionPackageLayerAnalyzeResult) OutputText(diffType string, form
205206 AnalyzeType : r .AnalyzeType ,
206207 Analysis : analysisOutput ,
207208 }
208- return TemplateOutputFromFormat (strResult , "SingleVersionPackageLayerAnalyze" , format )
209+ return TemplateOutputFromFormat (writer , strResult , "SingleVersionPackageLayerAnalyze" , format )
209210}
210211
211212type PackageOutput struct {
@@ -263,7 +264,7 @@ func (r FileAnalyzeResult) OutputStruct() interface{} {
263264 return r
264265}
265266
266- func (r FileAnalyzeResult ) OutputText (analyzeType string , format string ) error {
267+ func (r FileAnalyzeResult ) OutputText (writer io. Writer , analyzeType string , format string ) error {
267268 analysis , valid := r .Analysis .([]util.DirectoryEntry )
268269 if ! valid {
269270 logrus .Error ("Unexpected structure of Analysis. Should be of type []DirectoryEntry" )
@@ -286,7 +287,7 @@ func (r FileAnalyzeResult) OutputText(analyzeType string, format string) error {
286287 AnalyzeType : r .AnalyzeType ,
287288 Analysis : strAnalysis ,
288289 }
289- return TemplateOutputFromFormat (strResult , "FileAnalyze" , format )
290+ return TemplateOutputFromFormat (writer , strResult , "FileAnalyze" , format )
290291}
291292
292293type FileLayerAnalyzeResult AnalyzeResult
@@ -310,7 +311,7 @@ func (r FileLayerAnalyzeResult) OutputStruct() interface{} {
310311 return r
311312}
312313
313- func (r FileLayerAnalyzeResult ) OutputText (analyzeType string , format string ) error {
314+ func (r FileLayerAnalyzeResult ) OutputText (writer io. Writer , analyzeType string , format string ) error {
314315 analysis , valid := r .Analysis .([][]util.DirectoryEntry )
315316 if ! valid {
316317 logrus .Error ("Unexpected structure of Analysis. Should be of type []DirectoryEntry" )
@@ -338,7 +339,7 @@ func (r FileLayerAnalyzeResult) OutputText(analyzeType string, format string) er
338339 AnalyzeType : r .AnalyzeType ,
339340 Analysis : strDirectoryEntries ,
340341 }
341- return TemplateOutputFromFormat (strResult , "FileLayerAnalyze" , format )
342+ return TemplateOutputFromFormat (writer , strResult , "FileLayerAnalyze" , format )
342343}
343344
344345type SizeAnalyzeResult AnalyzeResult
@@ -353,7 +354,7 @@ func (r SizeAnalyzeResult) OutputStruct() interface{} {
353354 return r
354355}
355356
356- func (r SizeAnalyzeResult ) OutputText (analyzeType string , format string ) error {
357+ func (r SizeAnalyzeResult ) OutputText (writer io. Writer , analyzeType string , format string ) error {
357358 analysis , valid := r .Analysis .([]SizeEntry )
358359 if ! valid {
359360 logrus .Error ("Unexpected structure of Analysis. Should be of type []SizeEntry" )
@@ -371,7 +372,7 @@ func (r SizeAnalyzeResult) OutputText(analyzeType string, format string) error {
371372 AnalyzeType : r .AnalyzeType ,
372373 Analysis : strAnalysis ,
373374 }
374- return TemplateOutputFromFormat (strResult , "SizeAnalyze" , format )
375+ return TemplateOutputFromFormat (writer , strResult , "SizeAnalyze" , format )
375376}
376377
377378type SizeLayerAnalyzeResult AnalyzeResult
@@ -386,7 +387,7 @@ func (r SizeLayerAnalyzeResult) OutputStruct() interface{} {
386387 return r
387388}
388389
389- func (r SizeLayerAnalyzeResult ) OutputText (analyzeType string , format string ) error {
390+ func (r SizeLayerAnalyzeResult ) OutputText (writer io. Writer , analyzeType string , format string ) error {
390391 analysis , valid := r .Analysis .([]SizeEntry )
391392 if ! valid {
392393 logrus .Error ("Unexpected structure of Analysis. Should be of type []SizeEntry" )
@@ -404,5 +405,5 @@ func (r SizeLayerAnalyzeResult) OutputText(analyzeType string, format string) er
404405 AnalyzeType : r .AnalyzeType ,
405406 Analysis : strAnalysis ,
406407 }
407- return TemplateOutputFromFormat (strResult , "SizeLayerAnalyze" , format )
408+ return TemplateOutputFromFormat (writer , strResult , "SizeLayerAnalyze" , format )
408409}
0 commit comments