Skip to content

Commit

Permalink
Fix bugs in distinctUntilChanged, take, withOldValue
Browse files Browse the repository at this point in the history
  • Loading branch information
psharanda committed Dec 1, 2019
1 parent ec2ccb3 commit 698a341
Showing 1 changed file with 5 additions and 9 deletions.
14 changes: 5 additions & 9 deletions Sources/Observable+Common.swift
Original file line number Diff line number Diff line change
Expand Up @@ -49,15 +49,10 @@ extension ObserveValueProtocol {
var lastValue: ValueType?

return self.subscribe { result in
if let lastValue = lastValue, !isEqual(lastValue, result) {
if (lastValue.map { !isEqual($0, result) }) ?? true {
lastValue = result
observer(result)
} else {
if lastValue == nil {
observer(result)
}
}

lastValue = result
}
}
}
Expand All @@ -69,8 +64,9 @@ extension ObserveValueProtocol {
return Observable { observer in
var prevValue: ValueType?
return self.subscribe { result in
observer((result, prevValue))
let oldPrevValue = prevValue
prevValue = result
observer((result, oldPrevValue))
}
}
}
Expand Down Expand Up @@ -109,8 +105,8 @@ extension ObserveValueProtocol {
var disposable: Disposable?
disposable = self.subscribe { result in
if counter < first {
observer(result)
counter += 1
observer(result)
} else {
disposable?.dispose()
disposable = nil
Expand Down

0 comments on commit 698a341

Please sign in to comment.