Module:Link: Difference between revisions

691 bytes removed ,  17 April 2020
no edit summary
No edit summary
No edit summary
Line 2: Line 2:


function str.producer( frame )
function str.producer( frame )
local new_args = str._getParameters( frame.args, { 'source' } )
local new_args = str.args[1]
local content = new_args['source'] or ''
local content = new_args['source'] or ''
if content == '' then
if content == '' then
Line 13: Line 13:


return content
return content
end
--[[
Helper function that populates the argument list given that user may need to use a mix of
named and unnamed parameters.  This is relevant because named parameters are not
identical to unnamed parameters due to string trimming, and when dealing with strings
we sometimes want to either preserve or remove that whitespace depending on the application.
]]
function str._getParameters( frame_args, arg_list )
local new_args = {}
local index = 1
local value
for _, arg in ipairs( arg_list ) do
value = frame_args[arg]
if value == nil then
value = frame_args[index]
index = index + 1
end
new_args[arg] = value
end
return new_args
end
end


return str
return str