From 797c616447a7496994b15f334888619e971890ae Mon Sep 17 00:00:00 2001 From: Dan Jones Date: Wed, 19 Mar 2025 18:45:36 -0500 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9D=20Add=20package=20level=20example?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples_test.go | 56 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 examples_test.go diff --git a/examples_test.go b/examples_test.go new file mode 100644 index 0000000..ee5f8e0 --- /dev/null +++ b/examples_test.go @@ -0,0 +1,56 @@ +package nomino_test + +import ( + "fmt" + + "codeberg.org/danjones000/nomino" +) + +// Define a global Config. +func NominoConfig() nomino.Config { + return nomino.NewConfig( + nomino.WithSeparator("-"), + nomino.WithPrefix("upload"), + nomino.WithGenerator(nomino.UUID( + nomino.UUIDv7, + )), + ) +} + +// / HandleImgUploads generates new filenames for images with a png extension. +func HandleImgUploads(orig string) string { + newName, _ := nomino.Make( + NominoConfig(), + nomino.WithExtension("png"), + nomino.WithOriginalSlug(orig), + ) + + return newName +} + +// HandleVidUploads generates a new filename for videos. +// We ignore the original filename and use a timestamp for the generated part +// with a webm extension. +func HandleVidUploads() string { + newName, _ := nomino.Timestamp(nomino.TimestampUTC()). + MakeWithConfig(NominoConfig().AddOptions( + nomino.WithExtension("webm"), + )) + return newName +} + +// Example shows how to use nomino. +func Example() { + // Pretend we have an image upload + filename := "George" + uploadImgName := HandleImgUploads(filename) + + // Upload to storage + fmt.Println(uploadImgName) + + // New Video Upload + uploadVidName := HandleVidUploads() + + // Upload to storage + fmt.Println(uploadVidName) +}