aboutsummaryrefslogtreecommitdiffstats
path: root/core/actions.lua
blob: d0be5aeb5093300e1e635e665cd2fa4f7b91a1c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

local actions = {};

function register(path, t)
	local curr = actions;
	for comp in path:gmatch("([^/]+)/") do
		if curr[comp] == nil then
			curr[comp] = {};
		end
		curr = curr[comp];
		if type(curr) ~= "table" then
			return nil, "path-taken";
		end
	end
	curr[path:match("/([^/]+)$")] = t;
	return true;
end

return { actions = actions, register= register };