<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://the-democratika.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3ARoad_data%2Fparser%2Fhooks</id>
	<title>Module:Road data/parser/hooks - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://the-democratika.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3ARoad_data%2Fparser%2Fhooks"/>
	<link rel="alternate" type="text/html" href="https://the-democratika.com/wiki/index.php?title=Module:Road_data/parser/hooks&amp;action=history"/>
	<updated>2026-04-05T00:47:34Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://the-democratika.com/wiki/index.php?title=Module:Road_data/parser/hooks&amp;diff=7002&amp;oldid=prev</id>
		<title>&gt;Fredddie: no</title>
		<link rel="alternate" type="text/html" href="https://the-democratika.com/wiki/index.php?title=Module:Road_data/parser/hooks&amp;diff=7002&amp;oldid=prev"/>
		<updated>2022-08-11T02:34:00Z</updated>

		<summary type="html">&lt;p&gt;no&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local parserModuleName = &amp;quot;Module:Road data/parser&amp;quot; -- SANDBOX REFERENCE&lt;br /&gt;
&lt;br /&gt;
function p.split(parameters, args)&lt;br /&gt;
	local route = tonumber(string.match(args.route, &amp;quot;%d+&amp;quot;)) or 0&lt;br /&gt;
	if route &amp;lt; parameters.split then&lt;br /&gt;
		return parameters.below&lt;br /&gt;
	else&lt;br /&gt;
		return parameters.above&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.splitlen(parameters, args)&lt;br /&gt;
	local route = args.route&lt;br /&gt;
	if #route &amp;lt; parameters.split then&lt;br /&gt;
		return parameters.below&lt;br /&gt;
	else&lt;br /&gt;
		return parameters.above&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.between(parameters, args)&lt;br /&gt;
	local lower = parameters.lower&lt;br /&gt;
	local upper = parameters.upper&lt;br /&gt;
	local route = tonumber(string.match(args.route, &amp;quot;%d+&amp;quot;)) or 0&lt;br /&gt;
	if route &amp;lt; lower or route &amp;gt;= upper then&lt;br /&gt;
		return parameters.no&lt;br /&gt;
	else&lt;br /&gt;
		return parameters.yes&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.mask(parameters, args)&lt;br /&gt;
	local baseParam = parameters.base&lt;br /&gt;
	local maskedParam = parameters.masked&lt;br /&gt;
	local maskModule = &amp;quot;Module:&amp;quot; .. parameters.mask&lt;br /&gt;
	local mask = mw.loadData(maskModule)&lt;br /&gt;
	args[maskedParam] = mask[args[baseParam]]&lt;br /&gt;
	return parameters.default&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.padroute(parameters, args)&lt;br /&gt;
	local route = args.route&lt;br /&gt;
	local paddedLength = parameters.paddedLength&lt;br /&gt;
	args.paddedRoute = string.format(&amp;quot;%0&amp;quot; .. tostring(paddedLength) .. &amp;quot;d&amp;quot;, route)&lt;br /&gt;
	return parameters.default&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.lowercase(parameters, args)&lt;br /&gt;
	local route = args.route&lt;br /&gt;
	args.lowercase = string.lower(route)&lt;br /&gt;
	return parameters.default&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
For the first element (pattern, action) in .actions such that&lt;br /&gt;
args[.base] begins with pattern, return action.&lt;br /&gt;
If no such element exists, return .default (nil if unspecified).&lt;br /&gt;
]]&lt;br /&gt;
function p.beginswith(parameters, args)&lt;br /&gt;
	local baseParam = parameters.base&lt;br /&gt;
	local actions = parameters.actions&lt;br /&gt;
	local arg = args[baseParam]&lt;br /&gt;
	for pattern,action in pairs(actions) do&lt;br /&gt;
		if mw.ustring.sub(arg, 1, mw.ustring.len(pattern)) == pattern then&lt;br /&gt;
			return action&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return parameters.default&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
For the first element (pattern, action) in .actions such that&lt;br /&gt;
require(Module:Road data/parser).parser(args, .entry, .path, .kind)&lt;br /&gt;
matches pattern as a regular expression, return action.&lt;br /&gt;
If no such element exists, return .default (nil if unspecified).&lt;br /&gt;
&lt;br /&gt;
.path and .kind are optional.&lt;br /&gt;
]]&lt;br /&gt;
function p.match(parameters, args)&lt;br /&gt;
	local parserModule = require(parserModuleName)&lt;br /&gt;
	local parser = parserModule.parser&lt;br /&gt;
&lt;br /&gt;
	local entry = parameters.entry&lt;br /&gt;
	local path = parameters.path&lt;br /&gt;
	local kind = parameters.kind&lt;br /&gt;
	local actions = parameters.actions&lt;br /&gt;
	local value = parser(args, entry, path, kind)&lt;br /&gt;
	for pattern,action in pairs(actions) do&lt;br /&gt;
		if mw.ustring.match(value, pattern) then&lt;br /&gt;
			return action&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return parameters.default&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.iso3166Sub(parameters, args)&lt;br /&gt;
	local country = args.country&lt;br /&gt;
	local subParam = parameters.sub&lt;br /&gt;
	local subCode = args[subParam]&lt;br /&gt;
&lt;br /&gt;
	local iso3166Module = require(&amp;quot;Module:ISO 3166&amp;quot;)&lt;br /&gt;
	args.iso3166Sub = iso3166Module.luaname{country, subCode}&lt;br /&gt;
	return parameters.default&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.pagename(parameters, args)&lt;br /&gt;
	local pagename = mw.title.getCurrentTitle().text&lt;br /&gt;
	local article = parameters.article&lt;br /&gt;
	&lt;br /&gt;
	if article == pagename then&lt;br /&gt;
		return parameters.iftrue&lt;br /&gt;
	else&lt;br /&gt;
		return parameters.default or &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>&gt;Fredddie</name></author>
	</entry>
</feed>