add uuid functions

This commit is contained in:
2025-11-21 10:29:40 -05:00
parent 193abbd2ce
commit 8b2ca71f6b
4 changed files with 50 additions and 0 deletions

2
go.mod
View File

@@ -1,3 +1,5 @@
module git.sunturtle.xyz/zephyr/rand module git.sunturtle.xyz/zephyr/rand
go 1.24.1 go 1.24.1
require github.com/google/uuid v1.6.0

2
go.sum Normal file
View File

@@ -0,0 +1,2 @@
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=

17
uuid.go Normal file
View File

@@ -0,0 +1,17 @@
package rand
import "github.com/google/uuid"
// UUIDv4 generates a RFC 9562 Version 4 UUID
// using only random bytes in the format:
// xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
func UUIDv4() string {
return uuid.New().String()
}
// UUIDv7 generates a RFC 9562 Version 7 UUID
// using the current time and random bytes in the format:
// xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
func UUIDv7() string {
return uuid.Must(uuid.NewV7()).String()
}

29
uuid_test.go Normal file
View File

@@ -0,0 +1,29 @@
package rand_test
import (
"testing"
"github.com/google/uuid"
"git.sunturtle.xyz/zephyr/rand"
)
func TestUUIDv4(t *testing.T) {
u, err := uuid.Parse(rand.UUIDv4())
if err != nil {
t.Error(err)
}
if u.Version() != 4 {
t.Errorf("wrong version: want 4, got %d", u.Version())
}
}
func TestUUIDv7(t *testing.T) {
u, err := uuid.Parse(rand.UUIDv7())
if err != nil {
t.Error(err)
}
if u.Version() != 7 {
t.Errorf("wrong version: want 7, got %d", u.Version())
}
}