areShipsExpanded$: Observable<boolean>;
ships$: Observable<Ship>;
this.ships$ = this.shipsDataSource.getData().pipe(
combineLatest(this.areShipsExpanded$),
map(([ships, expanded]) => {
if(expanded) {
// do something with ships
} else {
// do something else with ships
}
return ships;
})