Module: Singular-plural: Difference between revisions

From A Wiki of Ice and Fire
Jump to: navigation, search
Abjiklam (talk | contribs)
Created page with "local getArgs = require('Module:Arguments').getArgs local ul = require('Module:Ul').main local listify = require('Module:Listify') local p = {} function p.label(frame) loc..."
 
Abjiklam (talk | contribs)
No edit summary
 
Line 9: Line 9:
   local singular = args['singular'] or args['s']
   local singular = args['singular'] or args['s']
   local plural = args['plural'] or args['p']
   local plural = args['plural'] or args['p']
   local items = listify(args)
   local items = listify(args[1])
   if #items == 1 then
   if #items == 1 then
     return singular
     return singular
Line 20: Line 20:
   local args = getArgs(frame)
   local args = getArgs(frame)
   local class = args['class']
   local class = args['class']
   local items = listify(args)
   local items = listify(args[1])
   if #items == 0 then
   if #items == 0 then
     return ''
     return ''

Latest revision as of 13:41, 13 December 2022

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