18 lines
411 B
Kotlin
18 lines
411 B
Kotlin
package com.lagradost.cloudstream3.utils
|
|
|
|
class Event<T> {
|
|
private val observers = mutableSetOf<(T) -> Unit>()
|
|
|
|
operator fun plusAssign(observer: (T) -> Unit) {
|
|
observers.add(observer)
|
|
}
|
|
|
|
operator fun minusAssign(observer: (T) -> Unit) {
|
|
observers.remove(observer)
|
|
}
|
|
|
|
operator fun invoke(value: T) {
|
|
for (observer in observers)
|
|
observer(value)
|
|
}
|
|
} |