mirror of
https://github.com/TangentFoxy/lume.git
synced 2024-11-19 07:04:24 +00:00
Added lume.pick() and tests
This commit is contained in:
parent
e0d55c8446
commit
044141fefa
10
lume.lua
10
lume.lua
@ -422,6 +422,16 @@ function lume.invert(t)
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function lume.pick(t, ...)
|
||||||
|
local rtn = {}
|
||||||
|
for i = 1, select("#", ...) do
|
||||||
|
local k = select(i, ...)
|
||||||
|
rtn[k] = t[k]
|
||||||
|
end
|
||||||
|
return rtn
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
function lume.keys(t)
|
function lume.keys(t)
|
||||||
local rtn = {}
|
local rtn = {}
|
||||||
local iter = getiter(t)
|
local iter = getiter(t)
|
||||||
|
@ -373,6 +373,15 @@ tests["lume.invert"] = function()
|
|||||||
testeq( lume.invert(lume.invert{a = 1, b = 2}), {a = 1, b = 2} )
|
testeq( lume.invert(lume.invert{a = 1, b = 2}), {a = 1, b = 2} )
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- lume.pick
|
||||||
|
tests["lume.pick"] = function()
|
||||||
|
local t = { cat = 10, dog = 20, fox = 30, owl = 40 }
|
||||||
|
testeq( lume.pick(t, "cat", "dog"), { cat = 10, dog = 20 } )
|
||||||
|
testeq( lume.pick(t, "fox", "owl"), { fox = 30, owl = 40 } )
|
||||||
|
testeq( lume.pick(t, "owl"), { owl = 40 } )
|
||||||
|
testeq( lume.pick(t), {} )
|
||||||
|
end
|
||||||
|
|
||||||
-- lume.keys
|
-- lume.keys
|
||||||
tests["lume.keys"] = function()
|
tests["lume.keys"] = function()
|
||||||
testeq( lume.keys({}), {} )
|
testeq( lume.keys({}), {} )
|
||||||
|
Loading…
Reference in New Issue
Block a user