func ExecutionPeriod(d time.Duration) Option {
	return executionPeriod(d)
}
ExecutionPeriod is the period between successive executions.
package gosundheit
import (
	"time"
)
type HealthOption interface {
	apply(*health)
}
type healthOptionFunc func(*health)
func (fn healthOptionFunc) apply(h *health) {
	fn(h)
}
func WithCheckListeners(listener ...CheckListener) HealthOption {
	return healthOptionFunc(func(h *health) {
		h.checksListener = listener
	})
}
func WithHealthListeners(listener ...HealthListener) HealthOption {
	return healthOptionFunc(func(h *health) {
		h.healthListener = listener
	})
}
func WithDefaults() HealthOption {
	return healthOptionFunc(func(h *health) {})
}
type CheckOption interface {
	applyCheck(*checkConfig)
}
type Option interface {
	HealthOption
	CheckOption
}
type executionPeriod time.Duration
func (o executionPeriod) apply(h *health) {
	h.defaultExecutionPeriod = time.Duration(o)
}
func (o executionPeriod) applyCheck(c *checkConfig) {
	c.executionPeriod = time.Duration(o)
}