Jump to content

Module:Energy

From Creopedia

This documentation is transcluded from Module:Energy/doc.

Output a money text using Module:IconText.

Implements Template:Energy.


require( 'strict' )

local iconText = require( 'Module:IconText' )

local p = {}


--- Render the energy text
---
--- @param energyNum number
--- @return string
local function renderEnergy( energyNum )
	local lang = mw.language.getContentLanguage()

	return iconText._main( {
		icon = 'General energy icon.png',
		size = '10px',
		text = lang:formatNum( energyNum ),
		class = 't-energy cp-image-pixelated'
	} )
end

--- Wikitext entry point for the module
---
--- @param frame mw.frame
--- @return string
function p.main( frame )
	local getArgs = require( 'Module:Arguments' ).getArgs
	return p._main( getArgs( frame )[1] )
end

--- Render the energy text
---
--- @param energy string|number
--- @return string
function p._main( energy )
	local energyNum = tonumber( energy )

	if not energyNum then
		error( 'Invalid energy value: ' .. energy )
	end

	return renderEnergy( energyNum )
end

return p