@@ -29,6 +29,7 @@ pod 'STDevRxExt'
2929* [ Filter Extensions] ( #filter-extensions )
3030* [ Map Extensions] ( #map-extensions )
3131* [ Cast Extensions] ( #cast_extensions )
32+ * [ Other Extensions] ( #other_extensions )
3233* _ more coming soon_
3334
3435### Filter Extensions
9293true
9394```
9495
95- #### Map Extensions
96+ ### Map Extensions
9697
9798You can map every element in sequence with provided value.
9899
@@ -148,7 +149,7 @@ William
148149Jack
149150```
150151
151- #### Cast Extensions
152+ ### Cast Extensions
152153
153154You can do downcast elements in sequence using ` cast(to:) ` .
154155
@@ -194,6 +195,42 @@ In case of downcast exception it will return `Observable.error(RxCastError.castF
194195
195196Allow extension functions can be used on ` Driver ` as well, except ` forceCast(to:) ` .
196197
198+ ### Other Extensions
199+
200+ Sometimes we need to update some subject or observer on each ` next ` event of ` Observable ` or ` Driver ` . For example:
201+
202+ ``` swift
203+ request
204+ .do (onNext : { [weak self ] _ in
205+ self ? .inProgress .onNext (true )
206+ })
207+ .flatMap {
208+ service.doRequest ($0 )
209+ }
210+ .do (onNext : { [weak self ] _ in
211+ self ? .inProgress .onNext (false )
212+ })
213+ .subscribe (onNext : { response in
214+ dump (response)
215+ })
216+ .disposed (by : disposeBag)
217+ ```
218+
219+ You can use ` update(_:with:) ` method for shorting code like this:
220+
221+ ``` swift
222+ request
223+ .update (inProgress, with : true )
224+ .flatMap {
225+ service.doRequest ($0 )
226+ }
227+ .update (inProgress, with : false )
228+ .subscribe (onNext : { response in
229+ dump (response)
230+ })
231+ .disposed (by : disposeBag)
232+ ```
233+
197234## Author
198235
199236Tigran Hambardzumyan, tigran@stdevmail.com
0 commit comments