Difference between revisions of "Module:Emoji"

From blackwiki
Jump to navigation Jump to search
blackwiki>Izno
(make defaults obvious)
m (13 revisions imported)
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
local p= {}
 
local p= {}
local emodata = mw.loadData ('Module:Emoji/data')
 
  
 
function p.emocode(frame)
 
function p.emocode(frame)
local emotbl = emodata.emotbl
+
local emotbl = mw.loadData ('Module:Emoji/data').emotbl
local emoname = frame.args[1] and mw.text.trim(frame.args[1])
+
local emoname = mw.text.trim(frame.args[1] or "") -- make sure empty and missing parameters both become the empty string
if '' == emoname then
+
if '' == emoname then emoname = 'smiley' end -- use default value of 'smiley' if parameter is empty or missing
local name_default = 'smiley'
 
emoname = name_default;
 
end
 
 
return emotbl[emoname] or emoname
 
return emotbl[emoname] or emoname
 
end
 
end
  
 
function p.emoname(frame)
 
function p.emoname(frame)
local emorevtbl = emodata.emorevtbl
+
local emorevtbl = mw.loadData('Module:Emoji/data/revtable')['emorevtbl']
local emocode = frame.args[1] and mw.text.trim(frame.args[1])
+
local emocode = mw.text.trim(frame.args[1] or "") -- make sure empty and missing parameters both become the empty string
if '' == emocode then
+
if '' == emocode then emocode = '1f603' end -- use default value of '1f603' if parameter is empty or missing
local code_default = '1f603'
 
emocode = code_default;
 
end
 
 
return emorevtbl[emocode] or emocode
 
return emorevtbl[emocode] or emocode
 
end
 
end
  
 
return p
 
return p

Latest revision as of 16:27, 26 September 2020

Module:Emoji implements two functions:

emocode 
It takes one unnamed parameter, the name of the emoji, and returns the hex code for the corresponding emoji. If no name is supplied it uses "smiley" as the default (and returns 1f603).
emoname 
It takes one unnamed parameter, the hex code of the emoji, and returns the name for the corresponding emoji. If no name is supplied it uses "1f603" as the default (and returns smiley).

It stores the mapping from name to code in Module:Emoji/data, which internally generates the reverse lookup table from code to name.

Examples

  • {{#invoke:Emoji | emocode | wink}}1f609
  • {{#invoke:Emoji | emocode | grin}}1f601
  • {{#invoke:Emoji | emocode | 8ball}}1f3b1
  • {{#invoke:Emoji | emocode }}1f603
  • {{#invoke:Emoji | emoname | 1f62b}}tired_face
  • {{#invoke:Emoji | emoname }}smiley



local p= {}

function p.emocode(frame)
	local emotbl = mw.loadData ('Module:Emoji/data').emotbl
	local emoname = mw.text.trim(frame.args[1] or "")	-- make sure empty and missing parameters both become the empty string
	if '' == emoname then emoname = 'smiley' end		-- use default value of 'smiley' if parameter is empty or missing
	return emotbl[emoname] or emoname
end

function p.emoname(frame)
	local emorevtbl = mw.loadData('Module:Emoji/data/revtable')['emorevtbl']
	local emocode = mw.text.trim(frame.args[1] or "")	-- make sure empty and missing parameters both become the empty string
	if '' == emocode then emocode = '1f603' end		-- use default value of '1f603' if parameter is empty or missing
	return emorevtbl[emocode] or emocode
end

return p