Module:Wikibase signature

--- Get Wikibase items signatures -- @license (CC-BY-SA-3.0) -- @copyright John Erling Blad  -- @provenance https://en.wikipedia.org/w/index.php?title=Module:Wikibase&oldid=722062922

-- @var The table holding this modules exported members local p = {}

--- get the item ID of the item linked to the current page -- @param table frame from the call -- @return string id of the item function p.id(frame) assert( mw.wikibase, "no mw.wikibase" ) frame = frame or mw.getCurrentFrame assert( frame, "no frame" ) if frame:getParent then frame = frame:getParent end entity = mw.wikibase.getEntityObject assert( entity, "no entity" ) return entity.id end

--- get the label of a given item, or of the connected page -- if no argument is provided -- @param table frame from the call -- @return string label from the item function p.label(frame) assert( mw.wikibase, "no mw.wikibase" ) frame = frame or mw.getCurrentFrame assert( frame, "no frame" ) if frame:getParent then frame = frame:getParent end if not frame.args[2] then return mw.wikibase.label( frame.args[1] ) end entity = mw.wikibase.getEntityObject( frame.args[1] ) assert( entity, "no entity" ) return entity:getLabel( frame.args[2] ) end

--- get the description of a given item, or of the connected page -- if no argument is provided -- @param table frame from the call -- @return string description from the item function p.description(frame) assert( mw.wikibase, "no mw.wikibase" ) frame = frame or mw.getCurrentFrame assert( frame, "no frame" ) if frame:getParent then frame = frame:getParent end if not frame.args[2] then return mw.wikibase.description( frame.args[1] ) end entity = mw.wikibase.getEntityObject( frame.args[1] ) assert( entity, "no entity" ) return entity:getDescription( frame.args[2] ) end

--- get the local page for a given item, or of the connected page -- if no argument is provided -- @param table frame from the call -- @return string page title from the item function p.page(frame) assert( mw.wikibase, "no mw.wikibase" ) frame = frame or mw.getCurrentFrame assert( frame, "no frame" ) if frame:getParent then frame = frame:getParent end if frame.args[1] and not frame.args[2] then return mw.wikibase.sitelink( frame.args[1] ) end

entity = mw.wikibase.getEntityObject( frame.args[1] ) assert( entity, "no entity" ) return entity:getSitelink( frame.args[2] ) end

return p