RxJava: 2.x: Observable missing or incorrect images (tracking issue)
Observable.singleOrError() : There is no default value and an empty source should result in an error.
Observable.combineLatestDelayError(ObservableSource[], Function)
: missing diagram
Observable.combineLatestDelayError(Function, int, ObservableSource...)
: missing diagram
Observable.concatArrayEager
: missing diagram
Observable.error
: should include the X in the operator body indicating it as being the parameter/return value
Observable.fromFuture
: the operator name in the box
Observable.fromIterable
: the operator name in the box
Observable.fromPublisher
: missing diagram
Observable.just
: the element should be a parameter inside the box, such outside elements imply a subject type external push.
Observable.just(T, T)
+7: optionally tailor the diagram to the actual number of arguments, plus move the constant values inside the box
Observable.rangeLong
: the operator name in the box
Observable.switchOnNextDelayError
: the operator name in the box, indicator of an error getting delayed
Observable.zipArray
: indicate there is a function instead of implying the output is an array containing one element from each source.
Observable.zipIterable
: the operator name in the box
Observable.all
: example of a false result
Observable.ambWith
: the operator name in the box
Observable.blockingFirst
: missing diagram
Observable.blockingForEach
: the operator name in the box
Observable.blockingIterable
: the operator name in the box, indicate that blocking may happen for each element
Observable.blockingLast
: the operator name in the box
Observable.blockingLast(T)
: the operator name in the box, indicate default in the box, fix labels
Observable.blockingLatest
: missing diagram
Observable.blockingMostRecent
: the operator name in the box
Observable.blockingNext
: the operator name in the box
Observable.blockingSingle
: the operator name in the box
Observable.blockingSingle(T)
: the operator name in the box, indicate default in the box, fix labels
Observable.toFuture()
: the operator name in the box, indicate multi-value, empty and error behavior
Observable.blockingSubscribe
: missing diagram
Observable.cacheWithInitialCapacity
: the operator name in the box
Observable.collectInto
: the operator name in the box, indicate the shared collection
Observable.concatMapCompletable
: missing diagram
Observable.concatMapDelayError
: missing diagram
Observable.concatMapEager
: missing diagram
Observable.concatMapEagerDelayError
: missing diagram
Observable.concatMapIterable
: missing diagram
Observable.doAfterNext
: missing diagram
Observable.doFinally
: missing diagram
Observable.doOnDispose
: the operator name in the box
Observable.doOnComplete
: indicate that the events pass through and the star is execute before the onComplete to downstream
Observable.doOnError
: indicate that the events pass through and the star is execute before the onError to downstream
Observable.doOnLifecycle
: change unsubscribe to dispose
Observable.doOnNext
: indicate that the events pass through and the star is execute before the onNext to downstream
Observable.doOnTerminate
: indicate that the events pass through and the star is execute before the onError or onComplete to downstream
Observable.elementAt(long)
: example of empty source
Observable.elementAt(long, T)
: example of empty source
Observable.elementAtOrError(long)
: example of empty source
Observable.firstElement
: diagram is stretched
Observable.firstOrError
: the operator name in the box
Observable.flatMap(Function, boolean, int)
: missing diagram
Observable.flatMap(Function, boolean, int, int)
: missing diagram
Observable.flatMap(Function, Function, Callable, int)
: missing diagram
Observable.flatMap(Function, int)
: missing diagram
Observable.flatMap(Function, BiFunction, boolean, int)
: missing diagram
Observable.flatMap(Function, BiFunction, boolean, int, int)
: missing diagram
Observable.flatMap(Function, BiFunction, int)
: missing diagram
Observable.flatMapCompletable()
: missing diagram
Observable.flatMapIterable(Function)
: diagram looks stretched
Observable.forEach()
: missing diagram
Observable.forEachWhile()
: missing diagram
Observable.hide()
: missing diagram - not sure how to represent this
Observable.lastOrError()
: operator name in the box, error case example.
Observable.onErrorReturn()
: indicate that the value is the result of a function call
Observable.onErrorReturnItem()
: operator name in the box
Observable.onTerminateDetach
: missing diagram
Observable.publish(Function)
: there is no connect call, may need extensive redrawing
Observable.reduceWith()
: operator name in the box
Observable.repeat()
+ overloads: indicate fresh subscriptions happen, not caching
Observable.repeatUntil
: operator name in the box, indicate fresh subscriptions
Observable.replay()
+ overloads: remove publish
Observable.replay(Function, ...)
overloads: may need extensive redrawing
Observable.retry(long)
indicate limited retry effect
Observable.retry(Predicate)
indicate predicate effect, show it in the box
Observable.retry(long, Predicate)
indicate predicate, show them in the box
Observable.retryUntil
: operator name in the box, show BooleanSupplier
Observable.share()
: fix labels with unsubscribe
Observable.singleElement
: example with empty source
Observable.sorted
: missing diagram
Observable.startWith(T)
: have a single item as start value
Observable.startWithArray(T...)
: operator name
Observable.subscribe
+ overloads: missing diagram
Observable.switchMapSingle : inner sources should have 1 item.
Observable.switchMapDelayError
+ indicate the error case
Observable.toList(Callable)
: indicate the custom collection somehow?
Observable.toFlowable()
: missing diagram
Observable.unsubscribeOn()
: missing diagram
Observable.zipWith()
+ overloads: the diagram is in line with some text and appears pushed to the right
Observable.test()
: missing diagram, can this be represented as diagram?
About this issue Original URL State: closed Created 7 years ago Comments: 37 (34 by maintainers)
If you are on Mac and you own OmniGraffle, there is a file for all traditional diagrams: https://github.com/ReactiveX/reactivex.github.io/issues/223
I’m using Excel 2007+ on Windows to draw the newer diagrams and have a file here you can use as basis for newer diagrams. I don’t know if the open office variants could open this file or not, Google’s viewer certainly doesn’t show the drawings.
I suppose as a last resort you can draw in the open-office variants as well and post the PNGs in this issue. Uploading it requires access to the wiki git of RxJava. The target rendering is 640 pixels wide and as long as it needs to be.
The process is as follows:
Hi David, I’d love to help, what would I use to edit the diagrams?