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 (Datetime) MarshalJSON ¶
type NullDatetime ¶
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
type NullFloat64 ¶
type NullFloat64 struct {
sql.NullFloat64
}
func (NullFloat64) MarshalJSON ¶
func (nf NullFloat64) MarshalJSON() ([]byte, error)
type NullSemester ¶
func ParseNullSemester ¶
func ParseNullSemester(value any) (NullSemester, error)
ParseNullSemester treats `""` as null
func (*NullSemester) Scan ¶
func (n *NullSemester) Scan(value any) 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 ¶
ParseSemester value should follow `YYYY(s|f)` format e.g. 2024f parses into Semester{year: 2024, period: "fall"}
func TimeToSemester ¶
func (Semester) MarshalJSON ¶
func (*Semester) UnmarshalJSON ¶
type SemesterPeriod ¶
type SemesterPeriod string
const ( Spring SemesterPeriod = "s" Fall SemesterPeriod = "f" )
func ParseSemesterPeriod ¶
func ParseSemesterPeriod(value string) (SemesterPeriod, error)
Click to show internal directories.
Click to hide internal directories.