this repo has no description
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

Adding Hooks event library

+42
+42
hooks.lua
··· 1 + Hooks = class(function(self) 2 + self.events = {} 3 + end) 4 + 5 + function Hooks:on(event, callback) 6 + if not self.events[event] then 7 + self.events[event] = {} 8 + end 9 + 10 + table.insert(self.events[event], callback) 11 + end 12 + 13 + function Hooks:once(event, callback) 14 + local wrapper 15 + wrapper = function(...) 16 + callback(...) 17 + self:off(event, wrapper) 18 + end 19 + 20 + self:on(event, wrapper) 21 + end 22 + 23 + function Hooks:off(event, callback) 24 + local list = self.events[event] 25 + if not list then return end 26 + for i, cb in ipairs(list) do 27 + if cb == callback then 28 + table.remove(list, i) 29 + return 30 + end 31 + end 32 + end 33 + 34 + function Hooks:emit(event, ...) 35 + local list = self.events[event] 36 + if not list then return end 37 + for _, cb in ipairs(list) do 38 + cb(...) 39 + end 40 + end 41 + 42 + return Hooks