Module:Infobox/spellpiece

local p = {}

p.docLead = [=[ It is used to document spell pieces. ]=]

local types = { selector = [=[ Selector ]=], operator = [=[ Operator ]=], constant = [=[ Constant ]=], connector = [=[ Connector ]=], modifier = [=[ Modifier ]=], trick = [=[ Trick ]=], error_handler = [=[ Error handler ]=] }

p.format = { {       title = {arg="name", desc=[=[ Name of the spell piece. ]=]},       {        },        {        	{[=[ Mod ]=], {arg="mod", desc=[=[ The mod the spell piece belongs to. ]=]}},           {[=[ Type ]=], {arg="type", type="switch", allowedValues = types, desc=[=[ Type of the spell. ]=]}},       	{[=[ Group ]=], {arg="group", desc=[=[ The group of this piece (name of the lesson unlocking the piece). ]=]}},       	{[=[ Return type ]=], {arg="returns", desc=[=[ The type of the value returned by this piece, if any. ]=]}}       },        {        	{[=[ Complexity ]=], {arg="complexity", desc=[=[ The complexity of the spell piece. ]=]}},       	{[=[ Potency ]=], {arg="potency", desc=[=[ The potency of the spell piece. ]=]}},       	{[=[ Cost ]=], {arg="cost", desc=[=[ The cost of the spell piece. ]=]}}       }    },    {    	name = "Parameters", title = [=[ Parameters ]=], {           {{arg="param1name", desc=[=[ The name of the first parameter. ]=]},            	{arg="param1type", desc=[=[ The type of the first parameter. ]=]}},           {{arg="param2name", desc=[=[ The name of the second parameter. ]=]},            	{arg="param2type", desc=[=[ The type of the second parameter. ]=]}},           {{arg="param3name", desc=[=[ The name of the third parameter. ]=]},            	{arg="param3type", desc=[=[ The type of the third parameter. ]=]}},           {{arg="param4name", desc=[=[ The name of the fourth parameter. ]=]},            	{arg="param4type", desc=[=[ The type of the fourth parameter. ]=]}}       }    },    {        name="Technical", title = [=[ Technical details ]=], {           {[=[ Registry name ]=], {arg="registryname", desc = [=[ The spell piece's registry name. ]=]}},           {[=[ First appearance ]=], {arg="firstappearance", desc = [=[ The version string that the spell piece first appeared in. ]=]}},           {[=[ Last appearance ]=], {arg="lastappearance", desc = [=[ The version string that the spell piece last appeared in. ]=]}}       }    } }

p.examples = { { [=[

]=]}, { [=[

]=]} }

return p