CI / test (pull_request) Failing after 2m2s
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>
32 lines
521 B
Go
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,
|
|
})
|
|
}
|