1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-06-13 03:10:44 +00:00
v2fly/common/functions/functions.go
2018-05-11 16:36:20 +02:00

24 lines
546 B
Go

package functions
import "v2ray.com/core/common"
// Task is a function that may return an error.
type Task func() error
// CloseOnSuccess returns a Task to run a follow task if pre-condition passes, otherwise the error in pre-condition is returned.
func CloseOnSuccess(pre func() error, followup Task) Task {
return func() error {
if err := pre(); err != nil {
return err
}
return followup()
}
}
// Close returns a Task to close the object.
func Close(obj interface{}) Task {
return func() error {
return common.Close(obj)
}
}