In RxJava, there are ways to implement your own custom operators using the compose() and lift() methods, which exist on both Observable and Flowable. Most of the time, you will likely want to compose existing RxJava operators to create a new operator. But on occasion, you may find yourself needing an operator that must be built from scratch. The latter is a lot more work, but we will cover how to do both of these tasks in this chapter.
By the end of this chapter, you will be able to create a custom operator either from scratch or by combining the existing ones. Do not feel discouraged if the content of this section seems difficult. Go through it and study all the examples. Creating custom operators is much easier than you may think.
However, before creating your own operator, check a few of the most popular libraries and see whether one of them...