From 84c2435054d7b17d08ed9698882c760f80dec870 Mon Sep 17 00:00:00 2001 From: Dustin Popp Date: Fri, 26 Mar 2021 15:11:47 -0500 Subject: [PATCH] feat(bluemix/terminal): provide a field that indicates if a value is given for a prompt --- bluemix/terminal/prompt.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/bluemix/terminal/prompt.go b/bluemix/terminal/prompt.go index ab0f3cf5..95f2fb8a 100644 --- a/bluemix/terminal/prompt.go +++ b/bluemix/terminal/prompt.go @@ -43,6 +43,8 @@ type Prompt struct { Reader io.Reader Writer io.Writer + + ValueProvided bool } // NewPrompt returns a single prompt @@ -67,6 +69,8 @@ func NewChoicesPrompt(message string, choices []string, options *PromptOptions) // Resolve reads user input and resolves it to the destination value func (p *Prompt) Resolve(dest interface{}) error { + p.ValueProvided = false + if len(p.choices) > 0 { return p.resolveChoices(dest) } @@ -92,6 +96,8 @@ func (p *Prompt) resolveSingle(dest interface{}) error { err = ErrInputEmpty } } else { + p.ValueProvided = true + if p.options.ValidateFunc != nil { err = p.options.ValidateFunc(input) } @@ -235,6 +241,8 @@ func (p *Prompt) resolveChoices(dest interface{}) error { err = ErrInputEmpty } } else { + p.ValueProvided = true + selectedNum, err = strconv.Atoi(input) if err != nil { err = ErrInputNotNumber