webmcp
view framework/env/execute/multi_wrapped.lua @ 343:34bf5f7abe0d
Code cleanup in extos.c: use 1.0e9 instead of 0.000000001 to avoid floating-point inaccuracies, added "const" qualifiers to avoid two compiler warnings
| author | jbe | 
|---|---|
| date | Thu Mar 26 01:56:10 2015 +0100 (2015-03-26) | 
| 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
