Skip to main content

## is_excluded_by

# Function is_excluded_by

Source

    pub fn is_excluded_by(excluded: &HashSet<String>, item: &MediaItem) -> bool

Expand description

Whether `item` falls under one of `excluded`.

The set is passed in rather than read from the global so the rule itself is a pure function and can be tested without touching process state.

An item matches on its own id or on any of the links it carries back to a container: parent, album, library, series or season, and its artist entries. That covers the shapes a hidden folder actually reaches a listing in — the folder itself in a container listing, its albums (whose `parent_id` is the folder), and their tracks (whose `album_id` is the album). It is deliberately link-based rather than a full ancestry walk: the repository has no ancestor index, and walking one would cost a round trip per row.

TRACES: UR-076 | DR-209