shortuuid.go
func NewWithNamespace(name string) string {
	var u uuid.UUID

	switch {
	case name == "":
		u = uuid.New()
	case strings.HasPrefix(name, "http"):
		u = uuid.NewSHA1(uuid.NameSpaceURL, []byte(name))
	default:
		u = uuid.NewSHA1(uuid.NameSpaceDNS, []byte(name))
	}

	return DefaultEncoder.Encode(u)
}
func NewWithNamespace(name string) string {
	var u uuid.UUID

	switch {
	case name == "":
		u = uuid.New()
	case strings.HasPrefix(name, "http"):
		u = uuid.NewSHA1(uuid.NameSpaceURL, []byte(name))
	default:
		u = uuid.NewSHA1(uuid.NameSpaceDNS, []byte(name))
	}

	return DefaultEncoder.Encode(u)
}
// NewWithNamespace returns a new UUIDv5 (or v4 if name is empty), encoded with base57.