types

package
v0.0.0-...-f0e227c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 5, 2024 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CantDecodeHex

func CantDecodeHex(err error, s string) error

CantDecodeHex wraps the given error with the given string that cannot be hex-decoded.

func CantParseFloat64

func CantParseFloat64(err error, s string) error

CantParseFloat64 wraps the given error with the specified string that cannot be parsed into float64.

func CantParseInt64

func CantParseInt64(err error, s string) error

CantParseInt64 wraps the given error with the specified string that cannot be parsed into int64.

func CantParseUint64

func CantParseUint64(err error, s string) error

CantParseUint64 wraps the given error with the specified string that cannot be parsed into uint64.

func CantUnmarshalYAML

func CantUnmarshalYAML(err error, v interface{}) error

CantUnmarshalYAML wraps the given error with the designated value, which cannot be unmarshalled into.

func Checksum

func Checksum(data any) []byte

Checksum returns the SHA-1 checksum of the data.

func MarshalJSON

func MarshalJSON(v interface{}) ([]byte, error)

MarshalJSON calls json.Marshal and wraps any resulting errors.

func Name

func Name(t any) string

Name returns the declared name of type t.

func UnmarshalJSON

func UnmarshalJSON(data []byte, v interface{}) error

UnmarshalJSON calls json.Unmarshal and wraps any resulting errors.

func Zero

func Zero[T any]() T

Zero returns the zero value for type T.

Types

type Binary

type Binary []byte

Binary nullable byte string. Hex as JSON.

func (Binary) MarshalJSON

func (binary Binary) MarshalJSON() ([]byte, error)

MarshalJSON implements a custom marshal function to encode the Binary as a hex string. MarshalJSON implements the json.Marshaler interface. Supports JSON null.

func (Binary) MarshalText

func (binary Binary) MarshalText() ([]byte, error)

MarshalText implements a custom marhsal function to encode the Binary as hex. MarshalText implements the encoding.TextMarshaler interface.

func (*Binary) Scan

func (binary *Binary) Scan(src interface{}) error

Scan implements the sql.Scanner interface. Supports SQL NULL.

func (Binary) String

func (binary Binary) String() string

String returns the hex string representation form of the Binary.

func (*Binary) UnmarshalJSON

func (binary *Binary) UnmarshalJSON(data []byte) error

UnmarshalJSON implements a custom unmarshal function to decode a JSON hex string into a Binary. UnmarshalJSON implements the json.Unmarshaler interface. Supports JSON null.

func (*Binary) UnmarshalText

func (binary *Binary) UnmarshalText(text []byte) error

UnmarshalText implements a custom unmarshal function to decode hex into a Binary. UnmarshalText implements the encoding.TextUnmarshaler interface.

func (Binary) Valid

func (binary Binary) Valid() bool

Valid returns whether the Binary is valid.

func (Binary) Value

func (binary Binary) Value() (driver.Value, error)

Value implements the driver.Valuer interface. Supports SQL NULL.

type Bool

type Bool struct {
	Bool  bool
	Valid bool // Valid is true if Bool is not NULL
}

Bool represents a bool for ENUM ('y', 'n'), which can be NULL.

func (Bool) MarshalJSON

func (b Bool) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface.

func (*Bool) Scan

func (b *Bool) Scan(src interface{}) error

Scan implements the sql.Scanner interface. Supports SQL NULL.

func (*Bool) UnmarshalJSON

func (b *Bool) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface.

func (*Bool) UnmarshalText

func (b *Bool) UnmarshalText(text []byte) error

UnmarshalText implements the encoding.TextUnmarshaler interface.

func (Bool) Value

func (b Bool) Value() (driver.Value, error)

Value implements the driver.Valuer interface. Supports SQL NULL.

type Float

type Float struct {
	sql.NullFloat64
}

Float adds JSON support to sql.NullFloat64.

func (Float) MarshalJSON

func (f Float) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface. Supports JSON null.

func (*Float) UnmarshalJSON

func (f *Float) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface. Supports JSON null.

func (*Float) UnmarshalText

func (f *Float) UnmarshalText(text []byte) error

UnmarshalText implements the encoding.TextUnmarshaler interface.

type Int

type Int struct {
	sql.NullInt64
}

Int adds JSON support to sql.NullInt64.

func (Int) MarshalJSON

func (i Int) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface. Supports JSON null.

func (*Int) UnmarshalJSON

func (i *Int) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface. Supports JSON null.

func (*Int) UnmarshalText

func (i *Int) UnmarshalText(text []byte) error

UnmarshalText implements the encoding.TextUnmarshaler interface.

type String

type String struct {
	sql.NullString
}

String adds JSON support to sql.NullString.

func (String) MarshalJSON

func (s String) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface. Supports JSON null.

func (*String) UnmarshalJSON

func (s *String) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface. Supports JSON null.

func (*String) UnmarshalText

func (s *String) UnmarshalText(text []byte) error

UnmarshalText implements the encoding.TextUnmarshaler interface.

func (String) Value

func (s String) Value() (driver.Value, error)

Value implements the driver.Valuer interface. Supports SQL NULL.

type UUID

type UUID struct {
	uuid.UUID
}

UUID is like uuid.UUID, but marshals itself binarily (not like xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) in SQL context.

func (UUID) Value

func (uuid UUID) Value() (driver.Value, error)

Value implements driver.Valuer.

type UnixMilli

type UnixMilli time.Time

UnixMilli is a nullable millisecond UNIX timestamp in databases and JSON.

func (UnixMilli) MarshalJSON

func (t UnixMilli) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface. Marshals to milliseconds. Supports JSON null.

func (UnixMilli) MarshalText

func (t UnixMilli) MarshalText() ([]byte, error)

MarshalText implements the encoding.TextMarshaler interface.

func (*UnixMilli) Scan

func (t *UnixMilli) Scan(src interface{}) error

Scan implements the sql.Scanner interface. Scans from milliseconds. Supports SQL NULL.

func (UnixMilli) Time

func (t UnixMilli) Time() time.Time

Time returns the time.Time conversion of UnixMilli.

func (*UnixMilli) UnmarshalJSON

func (t *UnixMilli) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface. Unmarshals from milliseconds. Supports JSON null.

func (*UnixMilli) UnmarshalText

func (t *UnixMilli) UnmarshalText(text []byte) error

UnmarshalText implements the encoding.TextUnmarshaler interface.

func (UnixMilli) Value

func (t UnixMilli) Value() (driver.Value, error)

Value implements the driver.Valuer interface. Returns milliseconds. Supports SQL NULL.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL