UNPKG

wikibase-edit

Version:

Edit Wikibase from NodeJS

44 lines (36 loc) 1.02 kB
// Doc https://www.wikidata.org/w/api.php?action=help&modules=wbsetsitelink import { formatBadges } from '../entity/format.js' import { validateEntityId, validateSite, validateSiteTitle } from '../validate.js' import type { EntityWithSitelinks, SitelinkBadges } from 'wikibase-sdk' export interface SetSitelinkParams { id: EntityWithSitelinks['id'] site: string title: string badges?: SitelinkBadges | string } export function setSitelink ({ id, site, title, badges }: SetSitelinkParams) { validateEntityId(id) validateSite(site) validateSiteTitle(title) const params = { action: 'wbsetsitelink', data: { id, linksite: site, linktitle: title, }, } // Allow to pass null to delete a sitelink if (title === null) { delete params.data.linktitle } if (badges != null) { // @ts-expect-error params.data.badges = formatBadges(badges).join('|') } return params } export interface SetSitelinkResponse { success: 1 entity: EntityWithSitelinks }