types

package
v0.0.0-...-71b2a2c Latest Latest
Warning

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

Go to latest
Published: Jan 1, 2025 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var InvalidNullDatetime = NullDatetime{
	Datetime: Datetime{},
	Valid:    false,
}
View Source
var InvalidNullSemester = NullSemester{
	Semester: Semester{},
	Valid:    false,
}
View Source
var InvalidNullString = NullString{
	NullString: sql.NullString{
		String: "",
		Valid:  false,
	},
}

Functions

This section is empty.

Types

type Datetime

type Datetime struct {
	// contains filtered or unexported fields
}

Datetime a thin wrapper around `time.Time` because sqlite3 doesn't support timestamp types

func NewDatetime

func NewDatetime(t time.Time) Datetime

func (Datetime) MarshalJSON

func (dt Datetime) MarshalJSON() ([]byte, error)

func (*Datetime) Scan

func (dt *Datetime) Scan(value any) error

func (*Datetime) Time

func (dt *Datetime) Time() time.Time

func (Datetime) Value

func (dt Datetime) Value() (driver.Value, error)

type NullDatetime

type NullDatetime struct {
	Datetime Datetime
	Valid    bool
}

func ParseNullDateTime

func ParseNullDateTime(value any) (NullDatetime, error)

ParseNullDateTime treats `int64(0)` as null

func (NullDatetime) MarshalJSON

func (n NullDatetime) MarshalJSON() ([]byte, error)

func (*NullDatetime) Scan

func (n *NullDatetime) Scan(value any) error

func (NullDatetime) Value

func (n NullDatetime) Value() (driver.Value, error)

type NullFloat64

type NullFloat64 struct {
	sql.NullFloat64
}

func (NullFloat64) MarshalJSON

func (nf NullFloat64) MarshalJSON() ([]byte, error)

type NullSemester

type NullSemester struct {
	Semester Semester
	Valid    bool
}

func ParseNullSemester

func ParseNullSemester(value any) (NullSemester, error)

ParseNullSemester treats `""` as null

func (*NullSemester) Scan

func (n *NullSemester) Scan(value any) error

func (NullSemester) Value

func (n NullSemester) Value() (driver.Value, error)

type NullString

type NullString struct {
	sql.NullString
}

func ParseNullString

func ParseNullString(value any) (NullString, error)

ParseNullString treats `""` as null

func (NullString) MarshalJSON

func (nf NullString) MarshalJSON() ([]byte, error)

type Semester

type Semester struct {
	// contains filtered or unexported fields
}

func ParseSemester

func ParseSemester(value string) (Semester, error)

ParseSemester value should follow `YYYY(s|f)` format e.g. 2024f parses into Semester{year: 2024, period: "fall"}

func TimeToSemester

func TimeToSemester(t time.Time) Semester

func (Semester) MarshalJSON

func (sem Semester) MarshalJSON() ([]byte, error)

func (*Semester) Scan

func (sem *Semester) Scan(value any) error

func (Semester) String

func (sem Semester) String() string

func (*Semester) UnmarshalJSON

func (sem *Semester) UnmarshalJSON(b []byte) error

func (Semester) Value

func (sem Semester) Value() (driver.Value, error)

type SemesterPeriod

type SemesterPeriod string
const (
	Spring SemesterPeriod = "s"
	Fall   SemesterPeriod = "f"
)

func ParseSemesterPeriod

func ParseSemesterPeriod(value string) (SemesterPeriod, error)

Jump to

Keyboard shortcuts

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