@@ -54,8 +54,16 @@ end end return new end + +fn.append = function(r1, r2) + local new = fn.copy(r1) + for i=1,#r2 do + new[#new + 1] = r2[i] + end + return new +end fn.merge = function(base,override) local new = fn.copy(base) for k,v in pairs(override) do @@ -65,9 +73,9 @@ end fn.deepmerge = function(base,override,func) local new = {} - local keys = fn.merge(fn.keys(base),fn.keys(override)) + local keys = fn.append(fn.keys(base),fn.keys(override)) for _,k in pairs(keys) do if type(base[k]) == 'table' and type(override[k]) == 'table' then new[k] = fn.deepmerge(base[k], override[k], func) @@ -78,16 +86,8 @@ else new[k] = base[k] end end - return new -end - -fn.append = function(r1, r2) - local new = fn.copy(r1) - for i=1,#r2 do - new[#new + 1] = r2[i] - end return new end fn.has = function(tbl,value,eqfn)