Оператор карты RxJs

Я не понимаю, как решить проблему в следующем сценарии:

getPosts(): Observable<Post[]> {
    return this.http.get<Post[]>(this.postsUrl).pipe(
      tap(() => console.log('fetched posts')),
      catchError(this.handleError<Post[]>('getPosts', []))
    );
  }

.......

export const mapYearWeek = (post: Post): Post => {
  post.time = `
  ${moment(parseInt(post.time)).year()}
  -${moment(parseInt(post.time)).week()}
  `;
  return post;
};

.........

ngOnInit(): void {
    this.postService
      .getPosts()
      .pipe(
        mergeMap(res => res.map(mapYearWeek(post: Post))),  
        tap((res) => console.log(res)),
        groupBy((post: Post) => post.time),
        mergeMap((group) => group.pipe(toArray())),
        tap((res) => console.log(res))
      )
      .subscribe();
  }

Я получаю сообщение об ошибке с функцией mapYearweek:

Аргумент типа «Сообщение» не может быть назначен параметру типа «(значение: Сообщение, индекс: число, массив: Сообщение []) =› неизвестно ». Тип «Сообщение» не соответствует подписи »(значение: Сообщение, индекс: число, массив: Сообщение []): unknown'.ts (2345)


person Vinni    schedule 02.04.2021    source источник


Ответы (1)


  mergeMap(res => res.map(mapYearWeek(post: Post))),  

должно быть

  mergeMap(res => res.map(post => mapYearWeek(post))),  
person Loop    schedule 02.04.2021
comment
Я решил, на самом деле это может быть mergeMap (res = ›res.map (post =› mapYearWeek)), - person Vinni; 02.04.2021
comment
Думаю, это могло быть просто mergeMap(res => res.map(mapYearWeek)), - person Stano; 03.04.2021