Вы можете использовать tap()
, чтобы изменить контакты.Вам не нужно ничего возвращать, поток будет по-прежнему содержать pinState из this.store
.
this.store
.pipe(
filter(s => !s.loading),
tap(s => s.pins.forEach(pin => pin.calculatedVal = calcnewval()))
)
.subscribe(x => this.listItems = x.pins);
Также в исходном примере вы используете select()
, который, как я считаю, устарел в пользу map()
и также приведет к ошибке, так как фильтр использовал свойство из родительского объекта, к которому вы привязаны.