Module:Taxonbar/candidate

local p = {}

function p.check(frame) local taxonbarExists = require('Module:Taxonbar/exists').check if taxonbarExists(frame) then return '' else local resolveEntity = require( 'Module:ResolveEntityId' ) local currentTitle = mw.title.getCurrentTitle local currentItem = nil local categories = { '' --unset if acceptable found }		--find Wikidata item if currentTitle.namespace == 0 then --mainspace local currentEntityId = mw.wikibase.getEntityIdForCurrentPage if resolveEntity._id(currentEntityId) then currentItem = mw.wikibase.getEntity(currentEntityId) else --currentEntityId == nil/unresolvable return categories[1] end else return '' end if currentItem then --currentItem should not be nil here, but check just in case --determine if is *possibly* missing, or *definitely* missing local acceptableInstanceOf_All = { --copied from Module:Taxonbar ['Q16521'] = 'taxon',                     --strict ['Q310890'] = 'monotypic taxon',          --strict ['Q2568288'] = 'ichnotaxon',              --strict ['Q23038290'] = 'fossil taxon',           --strict ['Q47487597'] = 'monotypic fossil taxon', --strict ['Q42621'] = 'hybrid',                    --lax ['Q235536'] = 'incertae sedis',           --lax ['Q713623'] = 'clade',                    --lax ['Q848328'] = 'serotype',                 --lax ['Q857968'] = 'candidatus',               --lax ['Q17487588'] = 'unavailable combination', --lax }			for _, instanceOfState in pairs ( currentItem:getBestStatements('P31') ) do --instance of				local instanceOf = instanceOfState.mainsnak.datavalue.value.id				if acceptableInstanceOf_All[instanceOf] then categories[1] = '' categories[2] = '' break end end return table.concat(categories) else return '' end end end

return p