getListingsByGroupIds(groupIds: readonly number[],activeOnly?: boolean,): Promise<Map<number, ListingWithCount[]>>
Members of SEVERAL groups at once, keyed by group id — the batched form of the
single-group loaders for a multi-group surface. A page with many group leaves
would otherwise run one member query per group; this loads the join once and
the member listings once, then assembles each group's list in memory. Every
requested group id maps to an entry (empty when it has no matching member).
activeOnly keeps just active members (the site-page nav's liveness gate); the
default includes inactive members (the validators' group-compatibility read
for a listing that joins many groups, kept batched to stay under the N+1
guard).