Each
Each copied to clipboard
Add `Disposable` concept
To workaround the memory leak issue, an another idea could be to implement the famous pattern of Disposable and Disposer
// MARK: - Disposable declaration
public protocol Disposable {
func dispose()
}
// MARK: - Disposable
extension Each: Disposable {
public func dispose() {
stop()
}
}
// MARK: - Disposer declaration
public protocol Disposer {
func add(_ disposable: Disposable)
func dispose()
}