<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://secrets.warcraftwatch.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3AAPI_info%2Fmain%2Fapi</id>
	<title>Module:API info/main/api - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://secrets.warcraftwatch.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3AAPI_info%2Fmain%2Fapi"/>
	<link rel="alternate" type="text/html" href="https://secrets.warcraftwatch.com/w/index.php?title=Module:API_info/main/api&amp;action=history"/>
	<updated>2026-06-21T04:12:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://secrets.warcraftwatch.com/w/index.php?title=Module:API_info/main/api&amp;diff=7128&amp;oldid=prev</id>
		<title>imported&gt;Surafbrov at 13:41, 21 July 2025</title>
		<link rel="alternate" type="text/html" href="https://secrets.warcraftwatch.com/w/index.php?title=Module:API_info/main/api&amp;diff=7128&amp;oldid=prev"/>
		<updated>2025-07-21T13:41:12Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local modules = {&lt;br /&gt;
	flavor = require(&amp;quot;Module:API_info/flavor&amp;quot;),&lt;br /&gt;
	elink = require(&amp;quot;Module:API_info/elink&amp;quot;),&lt;br /&gt;
	patch = require(&amp;quot;Module:API_info/patch&amp;quot;),&lt;br /&gt;
	group = require(&amp;quot;Module:API_info/group&amp;quot;),&lt;br /&gt;
	properties = require(&amp;quot;Module:API_info/properties&amp;quot;),&lt;br /&gt;
	flavorbox = require(&amp;quot;Module:API_info/flavor_ambox&amp;quot;),&lt;br /&gt;
	infobox = require(&amp;quot;Module:API_info/util/infobox&amp;quot;),&lt;br /&gt;
}&lt;br /&gt;
local m = {}&lt;br /&gt;
&lt;br /&gt;
local comparison = {&lt;br /&gt;
	a = &amp;quot;Global_functions/Classic&amp;quot;,&lt;br /&gt;
	e = &amp;quot;Events/Classic&amp;quot;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local PTR_VERSION = &amp;quot;11.2.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
local function GetDefaultInfobox(args, name)&lt;br /&gt;
	local flavors = modules.flavor:GetFlavors(args.t, name)&lt;br /&gt;
	local added, removed = modules.patch:GetPatches(args.t, name)&lt;br /&gt;
	if flavors or #added &amp;gt; 0 then -- check if we have data on this since {{wowapi}} doesnt guarantee its an API&lt;br /&gt;
		local t = {}&lt;br /&gt;
		if modules.properties.data[name] then&lt;br /&gt;
			table.insert(t, &amp;quot;! Properties&amp;quot;)&lt;br /&gt;
			for _, v in pairs(modules.properties.data[name]) do&lt;br /&gt;
				table.insert(t, string.format(&amp;#039;| &amp;lt;div style=&amp;quot;font-family:monospace&amp;quot; class=&amp;quot;text-blizz&amp;quot;&amp;gt;%s&amp;lt;/div&amp;gt;&amp;#039;, v))&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		local flavors = modules.flavor:GetFlavors(args.t, name)&lt;br /&gt;
		if flavors then&lt;br /&gt;
			table.insert(t, string.format(&amp;quot;! Game Types&amp;quot;, comparison[args.t]))&lt;br /&gt;
			table.insert(t, flavors)&lt;br /&gt;
		end&lt;br /&gt;
		local elinks = modules.elink:GetElinks(args.t, name)&lt;br /&gt;
		if #elinks &amp;gt; 0 then&lt;br /&gt;
			table.insert(t, &amp;quot;! Links&amp;quot;)&lt;br /&gt;
			table.insert(t, elinks)&lt;br /&gt;
		end&lt;br /&gt;
		table.insert(t, &amp;quot;! Patch&amp;quot;)&lt;br /&gt;
		table.insert(t, &amp;quot;| Added in &amp;quot;..added)&lt;br /&gt;
		if #removed &amp;gt; 0 then&lt;br /&gt;
			-- fuck, need to rework classic&lt;br /&gt;
			table.insert(t, &amp;quot;| Removed in &amp;quot;..removed)&lt;br /&gt;
		end&lt;br /&gt;
		return t&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function GetInfobox(f, name)&lt;br /&gt;
	local infobox&lt;br /&gt;
	local isGroupInfobox&lt;br /&gt;
	if modules.group:GetData(name) then&lt;br /&gt;
		infobox = modules.group:main(f.args, name)&lt;br /&gt;
		isGroupInfobox = true&lt;br /&gt;
	else&lt;br /&gt;
		local defaultInfobox = GetDefaultInfobox(f.args, name)&lt;br /&gt;
		if defaultInfobox then&lt;br /&gt;
			infobox = modules.infobox:main(defaultInfobox)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return infobox, isGroupInfobox&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local ptrAmbox = {&lt;br /&gt;
	title = &amp;quot;Ambox&amp;quot;,&lt;br /&gt;
	args = {&lt;br /&gt;
		border = &amp;quot;green&amp;quot;,&lt;br /&gt;
		image = &amp;quot;[[File:PTR_client.png|32px|link=]]&amp;quot;,&lt;br /&gt;
		style = &amp;quot;width: auto; margin-left: 0.8em;&amp;quot;,&lt;br /&gt;
		type = string.format(&amp;quot;&amp;#039;&amp;#039;&amp;#039;This API only exists on the %s &amp;#039;&amp;#039;[[Public Test Realm]]&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;quot;, PTR_VERSION),&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local function GetPtrAmbox(f, name)&lt;br /&gt;
	local isPtr = modules.patch:IsPTR(f.args.t, name, PTR_VERSION)&lt;br /&gt;
	if isPtr then&lt;br /&gt;
		return f:expandTemplate(ptrAmbox)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function GetStyle(text, isGroup)&lt;br /&gt;
    if isGroup then&lt;br /&gt;
        return string.format(&amp;#039;&amp;lt;div&amp;gt;%s&amp;lt;/div&amp;gt;&amp;#039;, text)&lt;br /&gt;
    else&lt;br /&gt;
        return string.format(&amp;#039;&amp;lt;div&amp;gt;%s&amp;lt;/div&amp;gt;&amp;#039;, text)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function m.main(f)&lt;br /&gt;
	local PAGENAME = f.args[1]&lt;br /&gt;
	local name = PAGENAME:gsub(&amp;quot;API &amp;quot;, &amp;quot;&amp;quot;):gsub(&amp;quot; &amp;quot;, &amp;quot;_&amp;quot;)&lt;br /&gt;
	local text = &amp;quot;&amp;quot;&lt;br /&gt;
	local infobox, isGroup = GetInfobox(f, name)&lt;br /&gt;
	local flavorbox = modules.flavorbox:GetAmbox(f, name)&lt;br /&gt;
	local ptrBox = GetPtrAmbox(f, name)&lt;br /&gt;
	if infobox then&lt;br /&gt;
		text = text..infobox&lt;br /&gt;
	end&lt;br /&gt;
	if flavorbox then&lt;br /&gt;
		text = text..flavorbox&lt;br /&gt;
	end&lt;br /&gt;
	if ptrBox then&lt;br /&gt;
		text = text..ptrBox&lt;br /&gt;
	end&lt;br /&gt;
	text = GetStyle(text, isGroup)&lt;br /&gt;
	return text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return m&lt;/div&gt;</summary>
		<author><name>imported&gt;Surafbrov</name></author>
	</entry>
</feed>