From 67be27aebe3275cf19516ec218a6c4334856800d Mon Sep 17 00:00:00 2001 From: mstar Date: Tue, 17 Jun 2025 16:48:07 +0200 Subject: [PATCH] Mini-app to showcase differences between id generators --- cmd/sample-id-gen/main.go | 41 +++++++++++++++++++++++++++++++++++++++ media/services.go | 1 + media/transcoder.go | 1 + 3 files changed, 43 insertions(+) create mode 100644 cmd/sample-id-gen/main.go create mode 100644 media/services.go create mode 100644 media/transcoder.go diff --git a/cmd/sample-id-gen/main.go b/cmd/sample-id-gen/main.go new file mode 100644 index 0000000..5d76e96 --- /dev/null +++ b/cmd/sample-id-gen/main.go @@ -0,0 +1,41 @@ +package main + +import ( + "flag" + "fmt" + + "github.com/google/uuid" + "github.com/nrednav/cuid2" + "github.com/rs/xid" +) + +var flagGenerator = flag.String( + "generator", + "xid", + "Which generator to showcase. Options: xid, cuid, uuid. Defaults to xid", +) + +func main() { + flag.Parse() + generator := "xid" + switch *flagGenerator { + case "uuid": + generator = "uuid" + case "cuid": + generator = "cuid" + } + fmt.Printf("Generator used: %s\n", generator) + var gen func() string + switch generator { + case "xid": + gen = func() string { return xid.New().String() } + case "uuid": + gen = uuid.NewString + case "cuid": + gen = cuid2.Generate + } + fmt.Println("Generating 10 ids") + for range 10 { + fmt.Println(gen()) + } +} diff --git a/media/services.go b/media/services.go new file mode 100644 index 0000000..90dec23 --- /dev/null +++ b/media/services.go @@ -0,0 +1 @@ +package media diff --git a/media/transcoder.go b/media/transcoder.go new file mode 100644 index 0000000..90dec23 --- /dev/null +++ b/media/transcoder.go @@ -0,0 +1 @@ +package media