github.com/advanderveer/restic@v0.8.1-0.20171209104529-42a8c19aaea6/internal/debug/hooks.go (about) 1 // +build !release 2 3 package debug 4 5 var ( 6 hooks map[string]func(interface{}) 7 ) 8 9 func init() { 10 hooks = make(map[string]func(interface{})) 11 } 12 13 func Hook(name string, f func(interface{})) { 14 hooks[name] = f 15 } 16 17 func RunHook(name string, context interface{}) { 18 f, ok := hooks[name] 19 if !ok { 20 return 21 } 22 23 f(context) 24 } 25 26 func RemoveHook(name string) { 27 delete(hooks, name) 28 }