refactor to use app package instead of service
refactor app to be composable
This commit is contained in:
21
internal/app/lifecycle.go
Normal file
21
internal/app/lifecycle.go
Normal file
@@ -0,0 +1,21 @@
|
||||
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]()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user