milvus/cmd/tools/migration/console/exit_config.go
Jiquan Long b0a12116c8
Fix meta migration tool (#19814)
Signed-off-by: longjiquan <jiquan.long@zilliz.com>

Signed-off-by: longjiquan <jiquan.long@zilliz.com>
2022-10-17 15:07:25 +08:00

38 lines
600 B
Go

package console
type exitConfig struct {
abnormal bool
code ErrorCode
msg string
}
func defaultExitConfig() exitConfig {
return exitConfig{abnormal: false, code: 0, msg: ""}
}
type ExitOption func(c *exitConfig)
func (c *exitConfig) apply(opts ...ExitOption) {
for _, opt := range opts {
opt(c)
}
}
func WithExitCode(code ErrorCode) ExitOption {
return func(c *exitConfig) {
c.code = code
}
}
func WithAbnormalExit() ExitOption {
return func(c *exitConfig) {
c.abnormal = true
}
}
func WithMsg(msg string) ExitOption {
return func(c *exitConfig) {
c.msg = msg
}
}