forked from TrueCloudLab/restic
29 lines
384 B
Go
29 lines
384 B
Go
//go:build debug
|
|
// +build debug
|
|
|
|
package debug
|
|
|
|
var (
|
|
hooks map[string]func(interface{})
|
|
)
|
|
|
|
func init() {
|
|
hooks = make(map[string]func(interface{}))
|
|
}
|
|
|
|
func Hook(name string, f func(interface{})) {
|
|
hooks[name] = f
|
|
}
|
|
|
|
func RunHook(name string, context interface{}) {
|
|
f, ok := hooks[name]
|
|
if !ok {
|
|
return
|
|
}
|
|
|
|
f(context)
|
|
}
|
|
|
|
func RemoveHook(name string) {
|
|
delete(hooks, name)
|
|
}
|