agencies = {
let agencies_using_nosa = new Set();
repos.forEach(repo => {
let agency_name = repo.agency.name;
if (repo.permissions && repo.permissions.licenses && repo.permissions.licenses.length > 0) {
let licenses = repo.permissions.licenses;
let found = licenses.find(license => {
let name = license.name ? license.name.toLowerCase() : null;
let url = license.URL ? license.URL.toLowerCase() : null;
if (url && search_terms.some(term => url.includes(term))) {
return true;
}
if (name && search_terms.some(term => name.includes(term))) {
return true;
}
});
if (found) {
agencies_using_nosa.add(agency_name);
}
}
})
return agencies_using_nosa;
}