mirror of
https://github.com/lunarmodules/luasocket.git
synced 2024-11-16 18:28:21 +01:00
16 lines
322 B
Lua
16 lines
322 B
Lua
|
local function chainpair(f1, f2)
|
||
|
return function(chunk)
|
||
|
local ret = f2(f1(chunk))
|
||
|
if chunk then return ret
|
||
|
else return (ret or "") .. (f2() or "") end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
function filter.chain(...)
|
||
|
local f = select(1, ...)
|
||
|
for i = 2, select('#', ...) do
|
||
|
f = chainpair(f, select(i, ...))
|
||
|
end
|
||
|
return f
|
||
|
end
|