gitstack

grindlemire/go-tui code browser

419 B Go 15 lines 2026-03-01 · e7061ab raw
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package tui

// collectComponentWatchers walks the element tree and collects watchers
// from all components that implement WatcherProvider.
func collectComponentWatchers(rootComp Component, root *Element) []Watcher {
	var watchers []Watcher

	walkComponents(rootComp, root, func(comp Component) {
		if wp, ok := comp.(WatcherProvider); ok {
			watchers = append(watchers, wp.Watchers()...)
		}
	})

	return watchers
}