Сделать один pipe и применить для разных событий

Хочу сделать сделать один pipe и применять его для разных событий.
Как это правильно сделать?

import { fromEvent } from 'https://dev.jspm.io/rxjs@6/_esm2015';
import { map } from 'https://dev.jspm.io/rxjs@6/_esm2015/operators';

const search = document.querySelector('input#search');
const myCustomPipe = () => (obs) => obs
  .pipe(
    map(e => e.target.value),
  );

const stream$ = fromEvent(search, 'input');

stream$.subscribe(value => {
  console.log(value);
});

stream$.pipe(myCustomPipe());
<input type="text" id="search">


Ответы (1 шт):

Автор решения: Михаил Камахин

Подписываться .subscribe надо на Observable, к которому сделан .pipe

const myCustomPipe = () => (obs) => obs.pipe(
  map(e => e.target.value)
);

const stream$ = fromEvent(search, 'input');

stream$.pipe(myCustomPipe()).subscribe(v => {
  console.log(v);
});
<input type="text" id="search">

→ Ссылка