<?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%3AWDL%2Fsandbox</id>
	<title>Module:WDL/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%3AWDL%2Fsandbox"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:WDL/sandbox&amp;action=history"/>
	<updated>2026-04-22T11:30:40Z</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:WDL/sandbox&amp;diff=147592&amp;oldid=prev</id>
		<title>imported&gt;WOSlinker: require(&#039;strict&#039;)</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:WDL/sandbox&amp;diff=147592&amp;oldid=prev"/>
		<updated>2022-10-21T09:58:08Z</updated>

		<summary type="html">&lt;p&gt;require(&amp;#039;strict&amp;#039;)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;require(&amp;#039;strict&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
local roundAndPad = require(&amp;#039;Module:Math&amp;#039;)._precision_format&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local function total(won, drawn, lost)&lt;br /&gt;
	if not won and not drawn and not lost then&lt;br /&gt;
		return &amp;#039;&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		return (won or 0) + (drawn or 0) + (lost or 0)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function displayWinPercent(frame, winPercent, decimals)&lt;br /&gt;
	local retval = &amp;#039;&amp;#039;&lt;br /&gt;
	if winPercent &amp;lt; 10 then&lt;br /&gt;
		retval = &amp;#039;&amp;lt;span style=&amp;quot;visibility:hidden;color:transparent;&amp;quot;&amp;gt;00&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
	elseif winPercent &amp;lt; 100 then&lt;br /&gt;
		retval = &amp;#039;&amp;lt;span style=&amp;quot;visibility:hidden;color:transparent;&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return retval .. frame:expandTemplate{title = &amp;#039;Number table sorting&amp;#039;, args = { roundAndPad(winPercent, decimals or 2) }}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function pct(frame, played, won, drawn, lost, decimals, winpctdraw)&lt;br /&gt;
	if played == &amp;#039;-&amp;#039; or played == &amp;#039;—&amp;#039; then&lt;br /&gt;
		return &amp;#039;—&amp;#039;&lt;br /&gt;
	elseif not played then&lt;br /&gt;
		if not won and not drawn and not lost then&lt;br /&gt;
			return &amp;#039;&amp;#039;&lt;br /&gt;
		elseif (won or 0) + (drawn or 0) + (lost or 0) &amp;lt;= 0 then&lt;br /&gt;
			return &amp;#039;&amp;lt;span style=&amp;quot;display:none&amp;quot;&amp;gt;!&amp;lt;/span&amp;gt;—&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		played = (won or 0) + (drawn or 0) + (lost or 0)&lt;br /&gt;
	elseif tonumber(played) &amp;lt;= 0 then&lt;br /&gt;
		return &amp;#039;&amp;lt;span style=&amp;quot;display:none&amp;quot;&amp;gt;!&amp;lt;/span&amp;gt;—&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local wins = (won or 0)&lt;br /&gt;
	local draws = tonumber(drawn) or 0&lt;br /&gt;
	local games = played&lt;br /&gt;
	if draws &amp;gt; 0 then&lt;br /&gt;
		if winpctdraw == &amp;#039;ignore&amp;#039;then&lt;br /&gt;
			-- treat ignored draws like the game was never played&lt;br /&gt;
			games = games - draws&lt;br /&gt;
		elseif winpctdraw == &amp;#039;loss&amp;#039; then&lt;br /&gt;
			-- don&amp;#039;t have to do anything - this was the previous behavior&lt;br /&gt;
		else  -- default to &amp;#039;half&amp;#039;&lt;br /&gt;
			wins = wins + (draws / 2)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return displayWinPercent(frame, 100 * wins / games, decimals)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame, otherargs)&lt;br /&gt;
	local args = otherargs or getArgs(frame)&lt;br /&gt;
	local tableprefix = string.format(&amp;#039;| style=&amp;quot;%stext-align:%s&amp;quot; |&amp;#039;, args.total and &amp;#039;font-weight:bold;background:#efefef;&amp;#039; or &amp;#039;&amp;#039;, args.align or &amp;#039;center&amp;#039;)&lt;br /&gt;
	local played = total(args[2], args[3], args[4])&lt;br /&gt;
	local retval = tableprefix .. frame:expandTemplate{title = &amp;#039;Number table sorting&amp;#039;, args = { played }} .. &amp;#039;\n&amp;#039;&lt;br /&gt;
	retval = retval .. tableprefix .. frame:expandTemplate{title = &amp;#039;Number table sorting&amp;#039;, args = { args[2] }} .. &amp;#039;\n&amp;#039;&lt;br /&gt;
	retval = retval .. tableprefix .. frame:expandTemplate{title = &amp;#039;Number table sorting&amp;#039;, args = { args[3] }} .. &amp;#039;\n&amp;#039;&lt;br /&gt;
	retval = retval .. tableprefix .. frame:expandTemplate{title = &amp;#039;Number table sorting&amp;#039;, args = { args[4] }} .. &amp;#039;\n&amp;#039;&lt;br /&gt;
	if args[&amp;#039;for&amp;#039;] then&lt;br /&gt;
		retval = retval .. tableprefix .. frame:expandTemplate{title = &amp;#039;Number table sorting&amp;#039;, args = { args[&amp;#039;for&amp;#039;] }} .. &amp;#039;\n&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if args.against then&lt;br /&gt;
		retval = retval .. tableprefix .. frame:expandTemplate{title = &amp;#039;Number table sorting&amp;#039;, args = { args.against }} .. &amp;#039;\n&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if args.diff == &amp;#039;yes&amp;#039; then&lt;br /&gt;
		if tonumber(args[&amp;#039;for&amp;#039;]) and tonumber(args.against) then&lt;br /&gt;
			retval = retval .. tableprefix .. string.format(&amp;#039;%s%d\n&amp;#039;, tonumber(args[&amp;#039;for&amp;#039;]) &amp;lt; tonumber(args.against) and &amp;#039;−&amp;#039; or &amp;#039;+&amp;#039;, math.abs(args[&amp;#039;for&amp;#039;] - args.against))&lt;br /&gt;
		else&lt;br /&gt;
			retval = retval .. tableprefix .. &amp;#039;&amp;lt;span style=&amp;quot;display:none&amp;quot;&amp;gt;!&amp;lt;/span&amp;gt;—\n&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if args.winpctdraw then&lt;br /&gt;
		retval = retval .. tableprefix .. frame:expandTemplate{title = &amp;#039;Number table sorting&amp;#039;, args = { args.winpctdraw }} .. &amp;#039;\n&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return retval .. tableprefix .. pct(frame, played, args[2], args[3], args[4], args.decimals, args.winpctdraw)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;WOSlinker</name></author>
	</entry>
</feed>