//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)