“Module:HooksHandler”的版本间差异
跳到导航
跳到搜索
(创建页面,内容为“local module = {} function module.init() local hooks = {} local hookTrigger = function (name, ...) if not hooks[name] then return ... end local args = {...} for _, func in ipairs(hooks[name]) do if type(func) == 'function' then local retn = {func(unpack(args))} if #retn > 0 then for idx, val in ipairs(retn) do args[idx] = val end end end end return unpack(args) end return function (list) for name, func in pair…”) |
(没有差异)
|
2022年7月20日 (三) 23:18的最新版本
此模块的文档可以在Module:HooksHandler/doc创建
local module = {} function module.init() local hooks = {} local hookTrigger = function (name, ...) if not hooks[name] then return ... end local args = {...} for _, func in ipairs(hooks[name]) do if type(func) == 'function' then local retn = {func(unpack(args))} if #retn > 0 then for idx, val in ipairs(retn) do args[idx] = val end end end end return unpack(args) end return function (list) for name, func in pairs(list) do if type(func) == 'function' then hooks[name] = hooks[name] or {} table.insert(hooks[name], func) end end return hookTrigger end end return module