2020-09-08 04:44:09 +00:00
|
|
|
package funcutil
|
|
|
|
|
|
|
|
// NweCancels creates a stateful closure for adding callbacks into a list.
|
|
|
|
func NewCancels() func(...func()) []func() {
|
|
|
|
var cancels []func()
|
|
|
|
return func(appended ...func()) []func() {
|
|
|
|
cancels = append(cancels, appended...)
|
|
|
|
return cancels
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// JoinCancels joins multiple cancel callbacks into one.
|
2020-12-17 08:01:58 +00:00
|
|
|
func JoinCancels(cancellers ...func()) func() {
|
2020-09-08 04:44:09 +00:00
|
|
|
return func() {
|
|
|
|
for _, c := range cancellers {
|
|
|
|
c()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|