From c6690cc1e7676003f9c66cbba986a13e096d9f9f Mon Sep 17 00:00:00 2001 From: Adin Schmahmann Date: Tue, 26 Jan 2021 13:33:34 -0500 Subject: [PATCH] feat: DelimitedStringsOption now panics if an empty delimiter is passed in --- option.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/option.go b/option.go index 3247e57..3b69c3c 100644 --- a/option.go +++ b/option.go @@ -199,7 +199,10 @@ func StringOption(names ...string) Option { // StringsOption is a command option that can handle a slice of strings func StringsOption(names ...string) Option { - return DelimitedStringsOption("", names...) + return &stringsOption{ + Option: NewOption(Strings, names...), + delimiter: "", + } } // DelimitedStringsOption like StringsOption is a command option that can handle a slice of strings. @@ -207,8 +210,11 @@ func StringsOption(names ...string) Option { // For example, instead of passing `command --option=val1 --option=val2` you can pass `command --option=val1,val2` or // even `command --option=val1,val2 --option=val3,val4`. // -// A delimiter of "" means that no delimiter is used +// A delimiter of "" is invalid func DelimitedStringsOption(delimiter string, names ...string) Option { + if delimiter == "" { + panic("cannot create a DelimitedStringsOption with no delimiter") + } return &stringsOption{ Option: NewOption(Strings, names...), delimiter: delimiter, -- GitLab