github.com/lukasheimann/cloudfoundrycli@v7.1.0+incompatible/command/translatableerror/tip_decorator_error.go (about)

     1  package translatableerror
     2  
     3  type TipDecoratorError struct {
     4  	Tip       string
     5  	TipKeys   map[string]interface{}
     6  	BaseError error
     7  }
     8  
     9  func (e TipDecoratorError) Error() string {
    10  	return "{{.BaseError}}\n\nTIP: {{.Tip}}"
    11  }
    12  
    13  func (e TipDecoratorError) Translate(translate func(string, ...interface{}) string) string {
    14  	baseError := e.BaseError.Error()
    15  	if translatableBaseError, ok := e.BaseError.(TranslatableError); ok {
    16  		baseError = translatableBaseError.Translate(translate)
    17  	}
    18  
    19  	tip := translate(e.Tip, e.TipKeys)
    20  
    21  	return translate(e.Error(), map[string]interface{}{
    22  		"BaseError": baseError,
    23  		"Tip":       tip,
    24  	})
    25  }