X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=util%2Fserialization.lua;h=206f5fbbf59bda7766172dfb8cc6e3dceaf5c0a3;hb=00ad349fba0c2e095fd24eb8a531221d18b01a3d;hp=06e4505442dfc4934be8dd9fe20d42e122fddca6;hpb=eef946a630913dcf09a23233b8a7a253c2cf3b64;p=prosody.git diff --git a/util/serialization.lua b/util/serialization.lua index 06e45054..206f5fbb 100644 --- a/util/serialization.lua +++ b/util/serialization.lua @@ -11,18 +11,16 @@ local type = type; local tostring = tostring; local t_insert = table.insert; local t_concat = table.concat; -local error = error; local pairs = pairs; local next = next; -local loadstring = loadstring; local pcall = pcall; local debug_traceback = debug.traceback; local log = require "util.logger".init("serialization"); local envload = require"util.envload".envload; -module "serialization" +local _ENV = nil; local indent = function(i) return string_rep("\t", i); @@ -73,16 +71,16 @@ local function _simplesave(o, ind, t, func) end end -function append(t, o) +local function append(t, o) _simplesave(o, 1, t, t.write or t_insert); return t; end -function serialize(o) +local function serialize(o) return t_concat(append({}, o)); end -function deserialize(str) +local function deserialize(str) if type(str) ~= "string" then return nil; end str = "return "..str; local f, err = envload(str, "@data", {}); @@ -92,4 +90,8 @@ function deserialize(str) return ret; end -return _M; +return { + append = append; + serialize = serialize; + deserialize = deserialize; +};