freeleaps-ops/operators/freeleaps-gitops-initializer/internal/repo/opts.go
zhenyus 0e256f8708 chore(git): code staging
Signed-off-by: zhenyus <zhenyus@mathmast.com>
2025-02-17 14:02:49 +08:00

51 lines
810 B
Go

package repo
type Option func(*Options)
type Options struct {
URL string
Project string
Name string
Branch string
AuthorName string
AuthorEmail string
PluginConfig PluginConfig
}
func WithProject(project string) Option {
return func(o *Options) {
o.Project = project
}
}
func WithName(name string) Option {
return func(o *Options) {
o.Name = name
}
}
func WithURL(url string) Option {
return func(o *Options) {
o.URL = url
}
}
func WithBranch(branch string) Option {
return func(o *Options) {
o.Branch = branch
}
}
func WithAuthor(name, email string) Option {
return func(o *Options) {
o.AuthorName = name
o.AuthorEmail = email
}
}
func WithPluginConfig(config PluginConfig) Option {
return func(o *Options) {
o.PluginConfig = config
}
}