blob: 2b1b98f2f0de203e0b97b23b62f8e83cead1abef (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
function pump.step(src, snk)
local chunk, src_err = src()
local ret, snk_err = snk(chunk, src_err)
if chunk and ret then return 1
else return nil, src_err or snk_err end
end
function pump.all(src, snk, step)
step = step or pump.step
while true do
local ret, err = step(src, snk)
if not ret then
if err then return nil, err
else return 1 end
end
end
end
|