Files
LazyPM/internal/app/lifecycle.go
Robin Olsen aabce0b0b2 refactor to use app package instead of service
refactor app to be composable
2026-02-28 23:30:31 +01:00

22 lines
324 B
Go

package app
type Lifecycle struct {
cleanups []func()
}
func NewLifecycle() *Lifecycle {
return &Lifecycle{
cleanups: make([]func(), 0),
}
}
func (l *Lifecycle) Add(fn func()) {
l.cleanups = append(l.cleanups, fn)
}
func (l *Lifecycle) Close() {
for i := len(l.cleanups) - 1; i >= 0; i-- {
l.cleanups[i]()
}
}