Files
ExploreDNS/internal/traverse/hooks.go
T
Gary Hansenandmultica-agent 5a54834c5f
CI / test (pull_request) Failing after 2m2s
feat: implement output formatting and display (HAN-383)
Add text and JSON formatters with real-time progress via traverser hooks,
summary statistics, and CLI integration for --show-* and --json flags.

Co-authored-by: multica-agent <github@multica.ai>
2026-06-08 02:21:13 +10:00

32 lines
521 B
Go

package traverse
type EventStage int
const (
EventStart EventStage = iota
EventComplete
)
type TraversalEvent struct {
Stage EventStage
Result TraversalResult
IsResolve bool
}
type EventHandler func(TraversalEvent)
type TraverserHooks struct {
OnEvent EventHandler
}
func (h *TraverserHooks) emit(stage EventStage, result TraversalResult, isResolve bool) {
if h == nil || h.OnEvent == nil {
return
}
h.OnEvent(TraversalEvent{
Stage: stage,
Result: result,
IsResolve: isResolve,
})
}