Module:Sanctions/AlertHelper

local p = {} local getArgs = require('Module:Arguments').getArgs local checkIfValidTopic = require('Module:Sanctions').checkIfValidTopic

local function tableContains(needle, haystack) for _, v in pairs(haystack) do		if v == needle then return true end end return false end

local function syntaxHelp return topic not specified. Available options:  end

function p.build(frame, args) local topic = args[1] or args['topic'] local args = { topic, args[2], sig = args['sig'] }

if not topic then return frame:preprocess(syntaxHelp) end

if checkIfValidTopic(topic) then return frame:expandTemplate { title = 'Gs/alert', args = args }	else -- return to ds template, let it error if not recognised return frame:expandTemplate { title = 'Contentious topics/alert', args = args }	end end

function p.main(frame) local args = getArgs(frame, {		wrappers = {			'Template:Alert',			'Template:Alert/sandbox'		}	}) return p.build(frame, args) end

return p