package entutils import ( "database/sql/driver" "github.com/oklog/ulid/v2" ) // ULID implements a valuer (and Scanner) that can serialize string ULIDs into postgres // instead of the binary representation, as postgres interprets those as UTF-8 strings type ULID struct { ulid.ULID } func (v ULID) Value() (driver.Value, error) { return v.ULID.String(), nil } func (v *ULID) ULIDPointer() *ulid.ULID { if v == nil { return nil } return &v.ULID } func Ptr(u *ulid.ULID) *ULID { if u == nil { return nil } return &ULID{ ULID: *u, } } func Wrap(u ulid.ULID) ULID { return ULID{ ULID: u, } }