Module: Singular-plural

From A Wiki of Ice and Fire
Jump to: navigation, search

Documentation for this module may be created at Module:Singular-plural/doc

local getArgs = require('Module:Arguments').getArgs
local ul = require('Module:Ul').main
local listify = require('Module:Listify')

local p = {}

function p.label(frame)
  local args = getArgs(frame)
  local singular = args['singular'] or args['s']
  local plural = args['plural'] or args['p']
  local items = listify(args[1])
  if #items == 1 then
    return singular
  else
    return plural
  end
end

function p.value(frame)
  local args = getArgs(frame)
  local class = args['class']
  local items = listify(args[1])
  if #items == 0 then
    return ''
  elseif #items == 1 then
    return items[1]
  else
    local list = ul(items)
    return mw.html.create('div'):addClass(class):wikitext(list)
  end
end

return p