123456789101112131415161718192021222324252627282930 |
- package semver
- import (
- "database/sql/driver"
- "fmt"
- )
- // Scan implements the database/sql.Scanner interface.
- func (v *Version) Scan(src interface{}) (err error) {
- var str string
- switch src := src.(type) {
- case string:
- str = src
- case []byte:
- str = string(src)
- default:
- return fmt.Errorf("Version.Scan: cannot convert %T to string.", src)
- }
- if t, err := Parse(str); err == nil {
- *v = t
- }
- return
- }
- // Value implements the database/sql/driver.Valuer interface.
- func (v Version) Value() (driver.Value, error) {
- return v.String(), nil
- }
|