signoz/pkg/valuer/valuer.go

36 lines
795 B
Go

package valuer
import (
"database/sql"
"database/sql/driver"
"encoding"
"encoding/json"
"fmt"
)
type Valuer interface {
// IsZero returns true if the value is considered empty or zero
IsZero() bool
// StringValue returns the string representation of the value
StringValue() string
// MarshalJSON returns the JSON encoding of the value.
json.Marshaler
// UnmarshalJSON returns the JSON decoding of the value.
json.Unmarshaler
// Scan into underlying struct from a database driver's value
sql.Scanner
// Convert the struct to a database driver's value
driver.Valuer
// Implement fmt.Stringer to allow the value to be printed as a string
fmt.Stringer
// Implement encoding.TextUnmarshaler to allow the value to be unmarshalled from a string
encoding.TextUnmarshaler
}