program

package
v0.0.0-...-11520cc Latest Latest
Warning

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

Go to latest
Published: Jun 23, 2025 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrEmptyZoneName     = errors.New("empty execution log zone name")
	ErrInvalidExecutedAt = errors.New("invalid execution log executed at")
)
View Source
var (
	ErrEmptyPrograms       = errors.New("empty programs")
	ErrEmptyExecutionZones = errors.New("empty execution zones")
	ErrInvalidTemperature  = errors.New("invalid temperature")
)
View Source
var ErrInvalidExecutionHour = errors.New("invalid execution hour")
View Source
var ErrInvalidWeekDay = errors.New("invalid week day")
View Source
var ErrZeroProgramSeconds = errors.New("program seconds can not be zero")

Functions

This section is empty.

Types

type Execution

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

func NewExecution

func NewExecution(seconds Seconds, zones []string) (Execution, error)

func (*Execution) Hydrate

func (e *Execution) Hydrate(seconds Seconds, zones []string)

func (Execution) Seconds

func (e Execution) Seconds() Seconds

func (Execution) Zones

func (e Execution) Zones() []string

type ExecutionLog

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

func NewExecutionLog

func NewExecutionLog(seconds Seconds, zoneName string, executedAt vo.Time) (ExecutionLog, error)

func (ExecutionLog) ExecutedAt

func (e ExecutionLog) ExecutedAt() vo.Time

func (*ExecutionLog) Hydrate

func (e *ExecutionLog) Hydrate(seconds Seconds, zoneName string, executedAt vo.Time)

func (ExecutionLog) Seconds

func (e ExecutionLog) Seconds() Seconds

func (ExecutionLog) ZoneName

func (e ExecutionLog) ZoneName() string

type Hour

type Hour vo.Time

func ParseHour

func ParseHour(s string) (Hour, error)

func (Hour) String

func (h Hour) String() string

type Program

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

func New

func New(hour Hour, executions []Execution) (*Program, error)

func (*Program) Executions

func (p *Program) Executions() []Execution

func (*Program) Hour

func (p *Program) Hour() Hour

func (*Program) Hydrate

func (p *Program) Hydrate(hour Hour, executions []Execution)

type Seconds

type Seconds time.Duration

func ParseSeconds

func ParseSeconds(i int) (Seconds, error)

func (Seconds) Int

func (s Seconds) Int() int

type Temperature

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

func NewTemperature

func NewTemperature(temperature float32, programs []Program) (*Temperature, error)

func (*Temperature) Hydrate

func (t *Temperature) Hydrate(temperature float32, programs []Program)

func (*Temperature) Programs

func (t *Temperature) Programs() []Program

func (*Temperature) Temperature

func (t *Temperature) Temperature() float32

func (*Temperature) Update

func (t *Temperature) Update(programs []Program)

type WeekDay

type WeekDay time.Weekday

func ParseWeekDay

func ParseWeekDay(s string) (WeekDay, error)

func (WeekDay) String

func (d WeekDay) String() string

type Weekly

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

func NewWeekly

func NewWeekly(weekDay WeekDay, programs []Program) (Weekly, error)

func (*Weekly) Hydrate

func (w *Weekly) Hydrate(weekDay WeekDay, programs []Program)

func (*Weekly) Programs

func (w *Weekly) Programs() []Program

func (*Weekly) WeekDay

func (w *Weekly) WeekDay() WeekDay

Jump to

Keyboard shortcuts

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