usersByNamespace
uses tcmts.registry.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/registry"; import type { RegistryRelease } from "#codebase/tcmts/registry"; export async function usersByNamespace( shown: RegistryRelease[], ): Promise<Map<string, RegistryRelease[]>> { const byUri = new Map(shown.map((r) => [r.uri, r])); const out = new Map<string, RegistryRelease[]>(); 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; }