UNPKG

wikibase-cli

Version:

A command-line interface to Wikibase

26 lines (21 loc) 826 B
import getEntities from './get_entities.js' export async function getEntitiesLabels (ids, lang = 'en') { const entities = await getEntities({ ids, languages: lang, props: 'labels' }) return parseEntitiesLabels(entities, lang) } const parseEntitiesLabels = (entities, lang) => { const entitiesLabels = {} Object.values(entities).forEach(entity => { const { id, labels } = entity const label = parseLangLabel(labels, lang) || parseLangLabel(labels, 'en') entitiesLabels[id] = label }) return entitiesLabels } const parseLangLabel = (labels, lang) => labels && labels[lang] && labels[lang].value export async function getEntityLabel (id, lang) { const labels = await getEntitiesLabels([ id ], lang) const label = labels[id] if (!label) throw new Error(`label not found: ${id}`) return label }