<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3AStorm_categories%2Fsandbox</id>
	<title>Module:Storm categories/sandbox - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3AStorm_categories%2Fsandbox"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Storm_categories/sandbox&amp;action=history"/>
	<updated>2026-04-21T22:00:13Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://stockhub.co/index.php?title=Module:Storm_categories/sandbox&amp;diff=147049&amp;oldid=prev</id>
		<title>imported&gt;Asartea at 14:26, 5 February 2022</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Storm_categories/sandbox&amp;diff=147049&amp;oldid=prev"/>
		<updated>2022-02-05T14:26:52Z</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 categoryData = require(&amp;quot;Module:Storm categories/categories/sandbox&amp;quot;)&lt;br /&gt;
local colors = require(&amp;quot;Module:Storm categories/colors/sandbox&amp;quot;).colors&lt;br /&gt;
local icons = require(&amp;quot;Module:Storm categories/icons&amp;quot;).icons&lt;br /&gt;
local cats = categoryData.cats&lt;br /&gt;
local defaultCategory = categoryData.defaultCategory&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.color(frame)&lt;br /&gt;
	return p._color(frame.args[1] or frame:getParent().args[1], false)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.name(frame)&lt;br /&gt;
	return p._name(&lt;br /&gt;
		frame.args[1] or frame:getParent().args[1],&lt;br /&gt;
		frame.args[2] or frame:getParent().args[2],&lt;br /&gt;
		false&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.sortkey(frame)&lt;br /&gt;
	return p._sortkey(frame.args[1] or frame:getParent().args[1], false)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.icon(frame)&lt;br /&gt;
	return p._icon(frame.args[1] or frame:getParent().args[1], false)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._color(colorCode, nullIfMissing)&lt;br /&gt;
	-- This looks confusing, but it&amp;#039;s actually nested ternaries (for nil checks)&lt;br /&gt;
	local color = (colorCode ~= nil and string.len(colorCode) ~= 0) and &lt;br /&gt;
		string.gsub(string.lower(colorCode), &amp;quot;[^%w]&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
		or defaultCategory&lt;br /&gt;
		&lt;br /&gt;
	return colors[color] or ((cats[color] or (&lt;br /&gt;
		nullIfMissing&lt;br /&gt;
		and { color = nil }&lt;br /&gt;
		or cats[defaultCategory]&lt;br /&gt;
	)).color)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._name(category, basin, nullIfMissing)&lt;br /&gt;
	local name_def = (cats[&lt;br /&gt;
		(category ~= nil and string.len(category) ~= 0) and &lt;br /&gt;
			string.gsub(string.lower(category), &amp;quot;[^%w]&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
			or defaultCategory&lt;br /&gt;
	] or cats[defaultCategory]).name&lt;br /&gt;
	return type(name_def) == &amp;quot;table&amp;quot; and &lt;br /&gt;
		(&lt;br /&gt;
			name_def[string.lower(basin or &amp;quot;default&amp;quot;)]&lt;br /&gt;
			or name_def[&amp;quot;default&amp;quot;]&lt;br /&gt;
			or (nullIfMissing and nil or error(&amp;quot;No default name for basin-based category name.&amp;quot;))&lt;br /&gt;
		) &lt;br /&gt;
		or name_def&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._sortkey(category, nullIfMissing)&lt;br /&gt;
	-- This looks confusing, but it&amp;#039;s actually nested ternaries (for nil checks)&lt;br /&gt;
	return (cats[&lt;br /&gt;
		(category ~= nil and string.len(category) ~= 0) and &lt;br /&gt;
			string.gsub(string.lower(category), &amp;quot;[^%w]&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
			or defaultCategory&lt;br /&gt;
	] or (nullIfMissing and { sortkey = nil } or cats[defaultCategory])).sortkey&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._icon(iconCode, nullIfMissing)&lt;br /&gt;
	-- This looks confusing, but it&amp;#039;s actually nested ternaries (for nil checks)&lt;br /&gt;
	local icon = (iconCode ~= nil and string.len(iconCode) ~= 0) and &lt;br /&gt;
		string.gsub(string.lower(iconCode), &amp;quot;[^%w]&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
		or defaultCategory&lt;br /&gt;
		&lt;br /&gt;
	return icons[icon] or (cats[icon] ~= nil and (&lt;br /&gt;
		cats[icon].icon or cats[&amp;quot;tropicalcyclone&amp;quot;].icon&lt;br /&gt;
	) or (nullIfMissing and nil or cats[defaultCategory].icon))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.demo(frame)&lt;br /&gt;
	return require(&amp;quot;Module:Storm categories/demo/sandbox&amp;quot;).demo(frame)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Asartea</name></author>
	</entry>
</feed>