package queue import "time" type Options struct { TemplateDir string DefaultKeepAlive time.Duration } type OptionFunc func(*Options) func defaultOptions() *Options { return &Options{ TemplateDir: "./templates", DefaultKeepAlive: time.Minute, } } func WithTemplateDir(templateDir string) OptionFunc { return func(o *Options) { o.TemplateDir = templateDir } } func WithDefaultKeepAlive(keepAlive time.Duration) OptionFunc { return func(o *Options) { o.DefaultKeepAlive = keepAlive } }