webmcp

view framework/env/execute/multi_wrapped.lua @ 402:04172238d79b

Do not require "engine" field to be set for mondelefant.connect{...}; Fixed bugs in mondelefant.connect{...} that could have crashed Lua; Shortened Lua registry key for mondelefant library
author jbe
date Wed Jan 06 02:39:50 2016 +0100 (2016-01-06)
parents 9fdfb27f8e67
children
line source
1 --[[--
2 execute.multi_wrapped(
3 wrapper_funcs, -- multiple wrapper functions (i.e. filters)
4 inner_func -- inner function (i.e. an action or view)
5 )
7 This function does the same as execute.wrapped(...), but with multiple wrapper functions, instead of just one wrapper function. It is used by execute.filtered_view{...} and execute.filtered_action{...} to wrap multiple filters around the view or action.
9 --]]--
11 function execute.multi_wrapped(wrapper_funcs, inner_func)
12 local function wrapped_execution(pos)
13 local wrapper_func = wrapper_funcs[pos]
14 if wrapper_func then
15 return execute.wrapped(
16 wrapper_func,
17 function()
18 wrapped_execution(pos+1)
19 end
20 )
21 else
22 return inner_func()
23 end
24 end
25 return wrapped_execution(1)
26 end

Impressum / About Us