package nomino import "fmt" func ExampleWithGenerator_custom_generator() { gen := func(*Config) (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 } func ExampleIncremental() { conf := NewConfig(WithPrefix("foo"), WithGenerator(Incremental())) str, _ := Make(conf) fmt.Println(str) str, _ = Make(conf) fmt.Println(str) str, _ = Make(conf) fmt.Println(str) // Output: // foo_0.txt // foo_1.txt // foo_2.txt } func ExampleIncrementalWithStart() { conf := NewConfig(WithPrefix("foo"), WithGenerator(IncrementalWithStart(42))) str, _ := Make(conf) fmt.Println(str) str, _ = Make(conf) fmt.Println(str) str, _ = Make(conf) fmt.Println(str) // Output: // foo_42.txt // foo_43.txt // foo_44.txt } func ExampleIncrementalWithStep() { conf := NewConfig(WithPrefix("foo"), WithGenerator(IncrementalWithStep(2))) str, _ := Make(conf) fmt.Println(str) str, _ = Make(conf) fmt.Println(str) str, _ = Make(conf) fmt.Println(str) // Output: // foo_0.txt // foo_2.txt // foo_4.txt } func ExampleIncrementalWithStartAndStep() { conf := NewConfig(WithPrefix("foo"), WithGenerator(IncrementalWithStartAndStep(42, 2))) str, _ := Make(conf) fmt.Println(str) str, _ = Make(conf) fmt.Println(str) str, _ = Make(conf) fmt.Println(str) // Output: // foo_42.txt // foo_44.txt // foo_46.txt } func ExampleIncrementalFormat() { conf := NewConfig( WithPrefix("foo"), WithGenerator(IncrementalFormat("%03d")), ) str, _ := Make(conf) fmt.Println(str) str, _ = Make(conf) fmt.Println(str) str, _ = Make(conf) fmt.Println(str) // Output: // foo_000.txt // foo_001.txt // foo_002.txt } func ExampleIncrementalFormatWithStart() { conf := NewConfig( WithPrefix("foo"), WithGenerator(IncrementalFormatWithStart(9, "%02d")), ) str, _ := Make(conf) fmt.Println(str) str, _ = Make(conf) fmt.Println(str) // Output: // foo_09.txt // foo_10.txt } func ExampleIncrementalFormatWithStep() { conf := NewConfig( WithPrefix("foo"), WithGenerator(IncrementalFormatWithStep(10, "%02d")), ) str, _ := Make(conf) fmt.Println(str) str, _ = Make(conf) fmt.Println(str) // Output: // foo_00.txt // foo_10.txt } func ExampleSlug() { conf := NewConfig(WithGenerator(Slug()), WithOriginal("My name is Jimmy")) str, _ := Make(conf) fmt.Println(str) // Output: my-name-is-jimmy.txt } func ExampleSlugWithLang() { conf := NewConfig(WithGenerator(SlugWithLang("de")), WithOriginal("Diese & Dass")) str, _ := Make(conf) fmt.Println(str) // Output: diese-und-dass.txt }