В операторе `pipe()` нужно передавать все операторы, которые вы хотите применить к потоку данных. Вы можете передать параметры в операторы с помощью аргументов функции внутри них. Вот как это может выглядеть в псевдокоде: ```typescript import { pipe, filter, map } from 'rxjs'; function discardOddDoubleEven() { return pipe( filter((v) => !(v % 2)), map((v) => v + v) ); } ``` Использование этого оператора будет выглядеть так: ```typescript this.productsService .findAll() .pipe(discardOddDoubleEven()) .subscribe((data: ProductInterface[]) => (this.products = data)); ``` Вы также можете использовать операторы `filter`, `map` и `include` непосредственно в функции `pipe()`, без создания отдельной функции для оператора: ```typescript import { pipe, filter, map } from 'rxjs'; this.productsService .findAll() .pipe( filter((product) => product.name.toLocaleLowerCase().includes('deepcool')), map((product) => ({ name: product.name, price: product.price * 2 })) ) .subscribe((data: ProductInterface[]) => (this.products = data)); ``` Обратите внимание, что операторы `filter`, `map` и `include` не являются стандартными операторами RxJS. Они могут быть определены в вашем коде или добавлены из других пакетов.