filterFeedItemsForViewer
@raizfc/contracts / filterFeedItemsForViewer
Function: filterFeedItemsForViewer()
filterFeedItemsForViewer(
items,hiddenPostIds,activeMutedEntityKeys): readonlyReadonly<{entityCrest?:Readonly<{alt?:string;height?:number;id:string;url:string;width?:number; }>;entityId:string;entityName:string;entityRoute:string;entityType:FeedEntityType;id:string;link?:Readonly<{label?:string;url:string; }>;matchPresentation?:Readonly<{away:FeedMatchParticipantDto;awayScore?:number;home:FeedMatchParticipantDto;homeScore?:number;status:PublicMatchStatus; }>;media?:Readonly<{alt?:string;height?:number;id:string;url:string;width?:number; }>;publishedAt:string;reason:FeedReasonDto;source:FeedPostSource;sourceId?:string;targetRoute:string;text:string;title:string;type:FeedPostType; }>[]
Defined in: engagement/feed-preferences.dto.ts:76
Applies both viewer-scoped controls to an already-ordered feed page in one pass
(SPEC-DOMAIN-FEED-001 "Ocultar afeta somente o usuário", "Mute não altera follow/cheer") —
a hidden post id or a currently-active mute on the post's own entity removes the item; an
expired mute (already filtered out by activeMutes before calling this) never does.
Parameters
items
readonly Readonly<{ entityCrest?: Readonly<{ alt?: string; height?: number; id: string; url: string; width?: number; }>; entityId: string; entityName: string; entityRoute: string; entityType: FeedEntityType; id: string; link?: Readonly<{ label?: string; url: string; }>; matchPresentation?: Readonly<{ away: FeedMatchParticipantDto; awayScore?: number; home: FeedMatchParticipantDto; homeScore?: number; status: PublicMatchStatus; }>; media?: Readonly<{ alt?: string; height?: number; id: string; url: string; width?: number; }>; publishedAt: string; reason: FeedReasonDto; source: FeedPostSource; sourceId?: string; targetRoute: string; text: string; title: string; type: FeedPostType; }>[]
hiddenPostIds
ReadonlySet<string>
activeMutedEntityKeys
ReadonlySet<string>
Returns
readonly Readonly<{ entityCrest?: Readonly<{ alt?: string; height?: number; id: string; url: string; width?: number; }>; entityId: string; entityName: string; entityRoute: string; entityType: FeedEntityType; id: string; link?: Readonly<{ label?: string; url: string; }>; matchPresentation?: Readonly<{ away: FeedMatchParticipantDto; awayScore?: number; home: FeedMatchParticipantDto; homeScore?: number; status: PublicMatchStatus; }>; media?: Readonly<{ alt?: string; height?: number; id: string; url: string; width?: number; }>; publishedAt: string; reason: FeedReasonDto; source: FeedPostSource; sourceId?: string; targetRoute: string; text: string; title: string; type: FeedPostType; }>[]