Module:Ustring

From Omniversalis

Documentation for this module may be created at Module:Ustring/doc

p = {}

for k, v in pairs(mw.ustring) do
	p[k] = function(frame)
		local args = {}
		for _, v in ipairs(frame.args) do
			table.insert(args, tonumber(v) or string.gsub(string.gsub(string.gsub(v,"\\\\",string.char(127,4,127,2)), "\\", ""), string.char(127,4,127,2), "\\"))
		end
		if frame.args.tag then
			local tag = {name = frame.args.tag, content = mw.ustring[k](unpack(args)), args = {}}
			for x, y in pairs(frame.args) do
				if type(x)~='number' and x~='tag' and not tag[x] then tag.args[x] = y end
			end
			return frame:extensionTag(tag)
		end
		return (mw.ustring[k](unpack(args)))
	end
end

return p