Module:ParameterCount/doc
| This is a documentation subpage for Module:ParameterCount. It may contain usage information, categories and other content that is not part of the original module page. |
This module counts the number of parameters that are passed to it. It can be configured to count all parameters, or parameters specified by a template author. This module is only useful in templates. It should not be used on non-template pages.
The module has two functions available, all and main.
all
The all function is used to count all parameters specified to a template, regardless of whether they actually appear in the template.
Basic usage
{{#invoke:ParameterCount|all}}
Examples
If the code {{#invoke:ParameterCount|all}} was added to the {{my example template}} template, the code {{my example template|1|2|foo=bar}} would produce 3.
main
The main function is used to count parameters with specific names. There are two ways of specifying parameters: by name, and using Lua patterns.
By name
{{#invoke:ParameterCount|main|1|2|3|abc|def}}
To specify a parameter by name, simply add the parameter name as a positional parameter.
By pattern
{{#invoke:ParameterCount|main|pattern1=^param%d+$|pattern2=^abc}}
To specify parameters by Lua Ustring pattern, add the pattern to |pattern1=, |pattern2= etc.
Examples
If the code {{#invoke:ParameterCount|main|1|2|abc}} was added to the {{my example template}} template, the code {{my example template|1|2|abc=some value|other=some other value}}</code> would produce 3.
If the code {{#invoke:ParameterCount|main|pattern1=^param%d+$}} was added to the {{my example template}} template, the code {{my example template|param1=a value|param2=another value|param5=yet another value}}</code> would produce 3.
Checking for blanks
{{#invoke:ParameterCount|all|checkblank=no}}{{#invoke:ParameterCount|main|checkblank=no}}By default, the module doesn't count parameters whose values contain only whitespace, e.g. |abc= . If you wish to count all parameters, regardless of their value, use |checkblank=no. This works with both the all and main functions.
Examples
If the code {{#invoke:ParameterCount|all|checkblank=no}} was added to the {{my example template}} template, the code {{my example template|1|2|foo=bar|baz=}}</code> would produce 4.