UNPKG

wikibase-edit

Version:

Edit Wikibase from NodeJS

35 lines 1.29 kB
import { newError } from '../error.js'; import { hasSpecialSnaktype } from './special_snaktype.js'; export async function createClaim(params, config, API) { const { id, property, value, qualifiers, references, rank, reconciliation } = params; const { statementsKey } = config; if (value == null) throw newError('missing value', 400, params); const claim = { rank, qualifiers, references }; if (hasSpecialSnaktype(value)) { claim.snaktype = value.snaktype; } else { claim.value = value; } let summary = params.summary || config.summary; if (!summary) { const stringifiedValue = typeof value === 'string' ? value : JSON.stringify(value); summary = `add ${property} claim: ${stringifiedValue}`; } const data = { id, [statementsKey]: { [property]: claim, }, summary, baserevid: params.baserevid || config.baserevid, reconciliation, }; // Using wbeditentity, as the endpoint is more complete const { entity, success } = await API.entity.edit(data, config); const newClaim = entity[statementsKey][property].slice(-1)[0]; // Mimick claim actions responses return { claim: newClaim, success }; } //# sourceMappingURL=create.js.map