Home > Software design >  Use condition with map
Use condition with map

Time:11-12

canBeTransferred$ = this.userService
.getCurrentUser()
.pipe(map((user) => user.data.id === this.ticket.userId || user.data.isCsm || user.data.owner));

I have a observable like above and I want to add another condition

this.ticket.status !== 'Archived'

I am trying like

canBeTransferred$ = this.userService
.getCurrentUser()
.pipe(map((user) => user.data.id === this.ticket.userId || user.data.isCsm || user.data.owner) && this.ticket.status !== 'Archived');

but the compiler is throwing error. How to add it?

CodePudding user response:

Seems that you put on the wrong place the new condition, it should be like:

canBeTransferred$ = this.userService
.getCurrentUser()
.pipe(map((user) => user.data.id === (this.ticket.userId || user.data.isCsm || 
user.data.owner) && this.ticket.status !== 'Archived'));

Just enclose in parentesis all the existing conditions and add another one next to the closing parentesis.

user.data.id === (this.ticket.userId || user.data.isCsm || 
user.data.owner) && this.ticket.status !== 'Archived'
  • Related