Module:Template input utils: Difference between revisions

Ganaram inukshuk (talk | contribs)
m un-refactor numbered_args_to_table so key_fmt is before keep_originals, as thats expected to be changed more than keep_originals; this also broke the sidebar
Ganaram inukshuk (talk | contribs)
mNo edit summary
 
(3 intermediate revisions by the same user not shown)
Line 3: Line 3:


-- TODO: move tip functions here? See [[Module:Template input parse]]
-- TODO: move tip functions here? See [[Module:Template input parse]]
-- TODO:
-- Add param name normalization: params close enough to snake_case are normal-
-- ized to snake_case


-- Library module for common operations with handling template input.
-- Library module for common operations with handling template input.
-- - Numbered <anything> to table extract args and places them into a table.
-- - Numbered <anything> to table extract args and places them into a table.
-- Normalize params to snake case (may change to a different form later);
-- anything close enough to snake case is converted to snake case:
-- TRAIN_CASE, KEBEB-CASE, no dashes (OK!)
-- PascalCase, camelCase (will not convert properly)
-- Function work-in-progress
function p.normalize_params(args)
-- Local function for normalizing strings
-- Spaces and dashes turn into underscores
-- and all capital letters become lowercase
local function normalize(input_string)
local cleaned_string = string.gsub(string.lower(input_string), "[%-%s]", "_")
end
end


-- Extracts numbered args (from frame.args) and stores them into one table.
-- Extracts numbered args (from frame.args) and stores them into one table.