Module:Addcommas: Difference between revisions

Sur (talk | contribs)
m invocation support added
Undo revision 13730 by Sur (talk) helper functions should not be invoked directly. update access point
 
Line 10: Line 10:
--
--
function p._add(arg, sep)
function p._add(arg, sep)
-- If called internally (direct Lua call), args will be passed directly.
    -- If called from wikitext, `arg` will be the `frame` object, and we get args from `frame.args`.
    -- Handle the case where it's called via #invoke (i.e., from wikitext)
    if type(arg) == "table" and arg.args then
        local frame = arg
        arg = frame.args[1]
        sep = frame.args[2]
    end
   
libraryUtil.checkTypeMulti('Module:Addcommas._add', 1, arg, {'number', 'string'})
libraryUtil.checkTypeMulti('Module:Addcommas._add', 1, arg, {'number', 'string'})
libraryUtil.checkType('"Module:Addcommas"._add', 2, sep, "string", true);
libraryUtil.checkType('"Module:Addcommas"._add', 2, sep, "string", true);
Line 57: Line 47:
function p._strip(str)
function p._strip(str)
libraryUtil.checkType('Module:Addcommas._strip', 1, str, 'string')
libraryUtil.checkType('Module:Addcommas._strip', 1, str, 'string')
    return str:gsub(',', '')
return str:gsub(',', '')
end
end


--[=[
 
function p.commas(frame)
function p.commas(frame)
local args = require("Module:Arguments").getArgs(frame);
--local args = require("Module:Arguments").getArgs(frame); -- Module:Arguments does not yet exist
    return p._add(args[1], args.sep);
local str = frame.args[1]
local delimiter = frame.args.sep
return p._add(str, delimiter);
end
end
--]=]
return p
return p