nunu-layout-admin/pkg/sid/sid.go

28 lines
453 B
Go

package sid
import (
"github.com/sony/sonyflake"
)
type Sid struct {
sf *sonyflake.Sonyflake
}
func NewSid() *Sid {
sf := sonyflake.NewSonyflake(sonyflake.Settings{})
if sf == nil {
panic("sonyflake not created")
}
return &Sid{sf}
}
func (s Sid) GenString() (string, error) {
id, err := s.sf.NextID()
if err != nil {
return "", err
}
return IntToBase62(int(id)), nil
}
func (s Sid) GenUint64() (uint64, error) {
return s.sf.NextID()
}