Mercurial Hosting > lang
diff src/lib/Utils.luan @ 39:df72d5d5d9dc
add cache_control
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sun, 10 Aug 2025 06:25:35 +0900 |
parents | d34d709a7a8e |
children | cc20eebaa74a |
line wrap: on
line diff
--- a/src/lib/Utils.luan Sat Aug 09 09:31:28 2025 +0900 +++ b/src/lib/Utils.luan Sun Aug 10 06:25:35 2025 +0900 @@ -1,6 +1,7 @@ local Luan = require "luan:Luan.luan" local error = Luan.error local pairs = Luan.pairs or error() +local type = Luan.type or error() local Http = require "luan:http/Http.luan" @@ -19,6 +20,27 @@ return rtn end +local function deep_copy2(v,map) + if type(v) ~= "table" then + return v + end + local v2 = map[v] + if v2 ~= nil then + return v2 + end + local t = {} + map[v] = t + for key, val in pairs(v) do + t[deep_copy2(key,map)] = deep_copy2(val,map) + end + return t +end + +local function deep_copy(v) + return deep_copy2(v,{}) +end +Utils.deep_copy = deep_copy + --[[ function Utils.get_first(t) return pairs(t)()