aboutsummaryrefslogtreecommitdiffstats
path: root/awall/util.lua
diff options
context:
space:
mode:
Diffstat (limited to 'awall/util.lua')
-rw-r--r--awall/util.lua50
1 files changed, 25 insertions, 25 deletions
diff --git a/awall/util.lua b/awall/util.lua
index 2d0c445..019a078 100644
--- a/awall/util.lua
+++ b/awall/util.lua
@@ -5,9 +5,9 @@ See LICENSE file for license details
]]--
-module(..., package.seeall)
+local M = {}
-function split(s, sep)
+function M.split(s, sep)
if s == '' then return {} end
local res = {}
while true do
@@ -21,85 +21,83 @@ function split(s, sep)
end
end
-function list(var)
+function M.list(var)
if not var then return {} end
if type(var) ~= 'table' then return {var} end
if not next(var) then return {} end
return var[1] and var or {var}
end
-function listpairs(var)
- return ipairs(list(var))
-end
+function M.listpairs(var) return ipairs(M.list(var)) end
-function filter(var, func)
+function M.filter(var, func)
local res = {}
for i, v in ipairs(var) do if func(v) then table.insert(res, v) end end
return res
end
-function map(var, func)
+function M.map(var, func)
local res = {}
for k, v in pairs(var) do res[k] = func(v) end
return res
end
-function maplist(var, func)
+function M.maplist(var, func)
if not var then return var end
- return map(list(var), func)
+ return M.map(M.list(var), func)
end
-function contains(tbl, value)
- for k, v in listpairs(tbl) do if v == value then return true end end
+function M.contains(tbl, value)
+ for k, v in M.listpairs(tbl) do if v == value then return true end end
return false
end
-function keys(tbl)
+function M.keys(tbl)
local res = {}
for k, v in pairs(tbl) do table.insert(res, k) end
return res
end
-function values(tbl)
+function M.values(tbl)
local res = {}
for k, v in pairs(tbl) do table.insert(res, v) end
return res
end
-function sortedkeys(tbl)
- local res = keys(tbl)
+function M.sortedkeys(tbl)
+ local res = M.keys(tbl)
table.sort(res)
return ipairs(res)
end
-function extend(tbl1, tbl2)
- for i, var in listpairs(tbl2) do table.insert(tbl1, var) end
+function M.extend(tbl1, tbl2)
+ for i, var in M.listpairs(tbl2) do table.insert(tbl1, var) end
end
-function update(tbl1, tbl2)
+function M.update(tbl1, tbl2)
if tbl2 then for k, v in pairs(tbl2) do tbl1[k] = v end end
return tbl1
end
-function copy(tbl) return update({}, tbl) end
+function M.copy(tbl) return M.update({}, tbl) end
-function compare(a, b)
+function M.compare(a, b)
local t = type(a)
if t ~= type(b) then return false end
if t ~= 'table' then return a == b end
local keys = {}
for k, v in pairs(a) do
- if not compare(v, b[k]) then return false end
+ if not M.compare(v, b[k]) then return false end
table.insert(keys, k)
end
for k, v in pairs(b) do
- if not contains(keys, k) then return false end
+ if not M.contains(keys, k) then return false end
end
return true
end
-function printtabulars(tables)
+function M.printtabulars(tables)
local colwidth = {}
for i, tbl in ipairs(tables) do
for j, row in ipairs(tbl) do
@@ -123,4 +121,6 @@ function printtabulars(tables)
end
end
-function printtabular(tbl) printtabulars({tbl}) end
+function M.printtabular(tbl) M.printtabulars({tbl}) end
+
+return M