aboutsummaryrefslogtreecommitdiff
path: root/src/extensions/table.lua
diff options
context:
space:
mode:
authorNathan Reiner <nathan@nathanreiner.xyz>2026-04-20 13:43:01 +0200
committerNathan Reiner <nathan@nathanreiner.xyz>2026-04-20 13:43:01 +0200
commit0686b40f979f4607b3fd8cca21c463e98f617666 (patch)
tree355e8a7bfd4b37510d05370876a9d8cedfdcd5d7 /src/extensions/table.lua
parentba561ebd063b391013b6c9c1fcc9b1838dd422e6 (diff)
implement builder and instance
Diffstat (limited to 'src/extensions/table.lua')
-rw-r--r--src/extensions/table.lua28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/extensions/table.lua b/src/extensions/table.lua
new file mode 100644
index 0000000..eb983d3
--- /dev/null
+++ b/src/extensions/table.lua
@@ -0,0 +1,28 @@
+
+function table:extend(other)
+ if type(other) == 'table' then
+ for _, value in ipairs(other) do
+ self[#self + 1] = value
+ end
+ else
+ for value in other do
+ self[#self + 1] = value
+ end
+ end
+end
+
+function table:merge(other)
+ for key, value in pairs(other) do
+ self[key] = value
+ end
+end
+
+function table.from_iter(iter)
+ local t = {}
+
+ for value in iter do
+ t[#t + 1] = value
+ end
+
+ return t
+end