¿Es posible que los argumentos de la función tap no estén anidados? como algunas de esas formas:
tap(([foo, bar, baz]) => { or: tap((foo, bar, baz) => { or: tap(({foo, bar, baz}) => { Porque uso withLatestFrom que me da una matriz y paso un objeto a Subject , así que me pregunto si es posible obtener los argumentos de manera plana.
import { of, map, Observable, Subject, tap } from 'rxjs'; import { withLatestFrom } from 'rxjs/operators'; const action = new Subject<{ foo: number; bar: number }>(); const baz$ = of(3); const op = action.pipe( withLatestFrom(baz$), tap(([{ foo, bar }, baz]) => { console.log({ foo, bar, baz }); }) ); op.subscribe(); action.next({ foo: 1, bar: 2 });Puede crear un operador personalizado para aplanar el objeto a la matriz
const transformToArray = source=>source.pipe(map((values:any)=>{ return values.map(v=>v instanceof Object?Object.values(v):v).flat() } )) const op = action.pipe( withLatestFrom(baz$), transformToArray );