usersByNamespace
uses tcmts.hub.uses, which uses tcmts.server.table, which uses tcmts.server.Table, which uses #tcm/host (database)
The releases holding each namespace as a library of theirs (exactly: by hash), among shown.
import { uses } from "#codebase/tcmts/hub"; import type { HubRelease } from "#codebase/tcmts/hub"; export async function usersByNamespace( shown: HubRelease[], ): Promise<Map<string, HubRelease[]>> { const byUri = new Map(shown.map((r) => [r.uri, r])); const out = new Map<string, HubRelease[]>(); for (const { value: u } of await uses.find()) { const r = byUri.get(u.uri); if (r) out.set(u.namespace, [...(out.get(u.namespace) ?? []), r]); } return out; }