Module:Buffer
From Zoophilia Wiki
Documentation for this module may be created at Module:Buffer/doc
return setmetatable({ __index = { _ = function(self, v) if v then table.insert(self, v) end return self end, _in = function(self, v) return setmetatable({ parent = self, _out = function(child, v2, outs) local parent = child.parent:_(child(v2)) if outs and outs > 0 then repeat child = parent parent = parent.parent outs = parent and parent:_(child()) and (outs - 1) or 0 until outs == 0 end return parent or child end, v or nil }, getmetatable(self)) end }, __call = function(t, i) return table.concat(t, i) end }, {__call = function(self, v) return setmetatable({v or nil}, self) end })