diff --git a/CHANGELOG.md b/CHANGELOG.md index 80e3768..580034e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,5 @@ # Changelog -## [0.0.3] - 2025-03-11 - -### Features - -- Added `WithSeparator` to allow for different separators between the parts of the generated filename. - ## [0.0.2] - 2025-03-11 Bugfix release diff --git a/config.go b/config.go index 5c87729..dc6af3d 100644 --- a/config.go +++ b/config.go @@ -5,14 +5,12 @@ type Config struct { prefix string suffix string extension string - separator string generator Generator } func NewConfig(options ...Option) Config { conf := Config{ extension: ".txt", - separator: "_", generator: uuidGen, } for _, opt := range options { diff --git a/config_test.go b/config_test.go index aeee9b8..bb88b53 100644 --- a/config_test.go +++ b/config_test.go @@ -18,5 +18,5 @@ func TestNewConf(t *testing.T) { func TestNewConfWithOpts(t *testing.T) { c := NewConfig(WithoutExtension(), WithPrefix("foobar")) assert.Equal(t, "", c.extension) - assert.Equal(t, "foobar", c.prefix) + assert.Equal(t, "foobar_", c.prefix) } diff --git a/generators_examples_test.go b/generators_examples_test.go deleted file mode 100644 index 67d5995..0000000 --- a/generators_examples_test.go +++ /dev/null @@ -1,20 +0,0 @@ -package nomino - -import "fmt" - -func ExampleWithGenerator_custom_generator() { - gen := func() (string, error) { - return "hello", nil - } - option := WithGenerator(gen) - - str, _ := Make(NewConfig(option)) - fmt.Println(str) - - str, _ = Make(NewConfig(option, WithoutExtension())) - fmt.Println(str) - - // Output: - // hello.txt - // hello -} diff --git a/make.go b/make.go index 3d15b4a..3de34a9 100644 --- a/make.go +++ b/make.go @@ -11,16 +11,5 @@ func Make(conf Config) (string, error) { return "", err } - if conf.prefix != "" { - conf.prefix = conf.prefix + conf.separator - } - if conf.original != "" { - conf.original = conf.separator + conf.original - } - if conf.suffix != "" { - conf.suffix = conf.separator + conf.suffix - - } - return fmt.Sprintf("%s%s%s%s%s", conf.prefix, name, conf.original, conf.suffix, conf.extension), nil } diff --git a/make_examples_test.go b/make_examples_test.go deleted file mode 100644 index 07c85ba..0000000 --- a/make_examples_test.go +++ /dev/null @@ -1,9 +0,0 @@ -package nomino - -import "fmt" - -func ExampleMake_basic() { - // Use default config - out, _ := Make(NewConfig()) - fmt.Println(out) -} diff --git a/make_test.go b/make_test.go index dffc981..1196967 100644 --- a/make_test.go +++ b/make_test.go @@ -20,7 +20,6 @@ func TestMake(t *testing.T) { {"with original", []Option{WithOriginal("file")}, "abc_file.txt"}, {"without ext", []Option{WithoutExtension()}, "abc"}, {"with ext", []Option{WithExtension("xml")}, "abc.xml"}, - {"with sep", []Option{WithOriginal("file"), WithSeparator("---")}, "abc---file.txt"}, { "with all", []Option{ @@ -28,9 +27,8 @@ func TestMake(t *testing.T) { WithOriginal("file"), WithSuffix("suff"), WithExtension("svg"), - WithSeparator("+"), }, - "pre+abc+file+suff.svg", + "pre_abc_file_suff.svg", }, } diff --git a/options.go b/options.go index b51b756..fa6c81c 100644 --- a/options.go +++ b/options.go @@ -9,21 +9,21 @@ type Option func(c *Config) // This will be included in the generated name after the generated string and before the suffix. func WithOriginal(o string) Option { return func(c *Config) { - c.original = o + c.original = "_" + o } } // WithPrefix sets a prefix for the generated name. func WithPrefix(p string) Option { return func(c *Config) { - c.prefix = p + c.prefix = p + "_" } } // WithSuffix sets a suffix for the generated name. It will be included in the base name before the suffix. func WithSuffix(s string) Option { return func(c *Config) { - c.suffix = s + c.suffix = "_" + s } } @@ -40,10 +40,3 @@ func WithExtension(ext string) Option { c.extension = "." + strings.TrimPrefix(ext, ".") } } - -// WithSeparator sets the separator for the generated filename. -func WithSeparator(sep string) Option { - return func(c *Config) { - c.separator = sep - } -} diff --git a/options_test.go b/options_test.go index 6aded3a..12a2bb5 100644 --- a/options_test.go +++ b/options_test.go @@ -10,21 +10,21 @@ func TestWithOriginal(t *testing.T) { var c Config name := "foobar" WithOriginal(name)(&c) - assert.Equal(t, name, c.original) + assert.Equal(t, "_"+name, c.original) } func TestWithPrefix(t *testing.T) { var c Config pref := "draft" WithPrefix(pref)(&c) - assert.Equal(t, pref, c.prefix) + assert.Equal(t, pref+"_", c.prefix) } func TestWithSuffix(t *testing.T) { var c Config suff := "out" WithSuffix(suff)(&c) - assert.Equal(t, suff, c.suffix) + assert.Equal(t, "_"+suff, c.suffix) } func TestWithoutExtension(t *testing.T) { @@ -39,10 +39,3 @@ func TestWithExtension(t *testing.T) { WithExtension(ext)(&c) assert.Equal(t, "."+ext, c.extension) } - -func TestWithSeparator(t *testing.T) { - var c Config - sep := "---" - WithSeparator(sep)(&c) - assert.Equal(t, sep, c.separator) -}