mirror of https://github.com/milvus-io/milvus.git
38 lines
600 B
Go
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
|
|
}
|
|
}
|