-- This module powers .
local p =
-- Constantslocal lang = mw.language.getContentLanguagelocal getArgs = require('Module:Arguments').getArgs
local function getArgNums(args) -- Returns an array containing the keys of all positional arguments -- that contain data (i.e. non-whitespace values). -- (from Module:Unbulleted_list) local nums = for k, v in pairs(args) do if type(k)
k and mw.ustring.match(v, '%S') then table.insert(nums, k) end end table.sort(nums) return numsend
function p.main(frame) local args = getArgs(frame) return p._main(args)end
function p._main(args) local n, rule, format = args.n, args.rule, args.format local numbers = getArgNums(args) local low, high, lowpos, highpos = nil, nil, 0, #numbers + 1
-- If comparing times, convert them all to seconds after the epoch if format
n = tonumber(n)
for i, num in ipairs(numbers) do local interval if format
if n and ((n >= interval and not rule) or (n > interval and rule
interval then highpos = num end end end return lowpos .. '-' .. highposend
return p