Module:CountryData/doc
This is a documentation subpage for Module:CountryData. It may contain usage information, categories and other content that is not part of the original module page. |
This module has three functions to extract data from country data templates (which are used for most flag templates).
gettable
[සංස්කරණය]Extracts all parameters from a data template and returns them as a Lua table. This function is only usable from other Lua modules; invoke it using require('Module:CountryData').gettable(parameters)
.
The first parameter is the frame
of the invoking module; the second is the country or other entity to get the data of. The optional third parameter is a table of parameters to pass into the data template; this may, for example, include |age=
or |mw=
, which are used in the values of some sports alias parameters. E.g.,
local data = require('Module:CountryData').gettable(frame,"France",{age="20",mw="men's"})
The function returns an empty table if a data template does not exist or does not conform to the standard structure.
getalias
[සංස්කරණය]If used from wikicode, this function returns the value of a single field in a data template. The first parameter is the country or other entity whose data to return; the second is the name of the field. For example, {{#invoke:CountryData|getalias|France|flag alias}}
→ Flag of France.svg. The other parameters are |variant=
to return a variant parameter value, with fallback to the main field value if the variant does not exist, and |def=
for the fallback output if the wanted data template or field does not exist, the default for which is a literal "nil".
Note: This is likely not quicker than wikicode-only alternatives such as {{getalias}} and {{getalias2}}, because it transcludes the data template from Lua and converts it to a Lua table using the above function, picks the wanted parameter name, and returns it to wikicode, whereas other templates perform two simple non-Lua transclusions to get, in most cases, the same result. The Lua version does have the advantage that using it with a non-existing country data template returns "nil" (or the value of |def=
) rather than a redlink to the data template. See a comparison of the four at User:SiBr4/Flagg tests#Lua-based getalias.
gettemplate
[සංස්කරණය]This function concatenates the fields of a data template into a string similar to what you get when transcluding it directly. It can be compared with a direct transclusion to test if a template is being converted to Lua correctly:
{{#tag:pre|{{Country data France}}}} {{#tag:pre|{{#invoke:CountryData|gettemplate|France}}}}
gives
{{ {{{1}}} | alias = ප්රංශය | flag alias = Flag of France.svg | flag alias-ancient = Flag of France (XII-XIII).svg | flag alias-modern = Flag of France (XIV-XVI).svg | flag alias-royal = Naval Ensign of the Kingdom of France.svg | flag alias-restauration = Pavillon royal de France.svg | flag alias-free = Flag of Free France (1940-1944).svg | flag alias-vichy = VichyFlag.svg | flag alias-නාවික= Civil and Naval Ensign of France.svg | link alias-නාවික= ප්රංශ නාවික හමුදාව | link alias-පාපන්දු= ප්රංශ ජාතික පාපන්දු කණ්ඩායම | size = | name = | altlink = | altvar = | variant = }}
{{ {{{1}}} | flag alias-royal = Naval Ensign of the Kingdom of France.svg | flag alias-vichy = VichyFlag.svg | flag alias-free = Flag of Free France (1940-1944).svg | altvar = | altlink = | flag alias-modern = Flag of France (XIV-XVI).svg | link alias-පාපන්දු = ප්රංශ ජාතික පාපන්දු කණ්ඩායම | flag alias-ancient = Flag of France (XII-XIII).svg | flag alias = Flag of France.svg | flag alias-restauration = Pavillon royal de France.svg | name = | variant = | link alias-නාවික = ප්රංශ නාවික හමුදාව | flag alias-නාවික = Civil and Naval Ensign of France.svg | alias = ප්රංශය | size = }}
Note that, like with all Lua tables, the order of entries is not preserved, so the parameters are mixed up.