Кастомный transform-оператор для LiveData создается следующим образом:

1. Объявляется extension-функция на классе LiveData, которая принимает функциональный тип как параметр.

2. Создается MediatorLiveData.

3. На MediatorLiveData вызывается метод addSource(). В этот метод первым аргументом передается LiveData, на который вызывается transform-оператор (т.е. this).

4. Вторым аргументом реализуется логика transform-оператора, с использованием функции, переданной в качестве параметра.

На картинке пример реализации оператора filter.