saveCompiledJBeamRecursive
Definition
-- @/lua/vehicle/ve_utils.lua:118
function saveCompiledJBeamRecursive(f, data, level)
local indent = string.rep(" ", level * 2)
local nl = true
if level > 2 then
nl = false
end
if level > 3 then
indent = ""
end
--f:write(level..indent
f:write(indent)
if type(data) == "table" and type(data["partPath"]) == "string" and data["partPath"] ~= "" then
f:write("\n" .. indent .. "/*" .. string.rep("*", 50) .. "\n")
f:write(indent .. " * part " .. tostring(data["partPath"]) .. "\n")
f:write(indent .. " *" .. string.rep("*", 49) .. "*/\n")
f:write("\n" .. indent)
end
if level > 2 then
indent = ""
end
if type(data) == "table" then
if tableIsDict(data) then
f:write("{")
if nl then
f:write("\n")
end
local localColumnCount = 0
for _, _ in pairs(data) do
localColumnCount = localColumnCount + 1
end
local i = 1
for k, v in pairs(data) do
if type(v) == "table" then
--if nl then f:write("\n" end
f:write(toJSONString(k) .. " : ")
--if nl then f:write("\n" end
saveCompiledJBeamRecursive(f, v, level + 1)
else
local txt = toJSONString(k) .. " : " .. toJSONString(v)
f:write(txt)
end
if i < localColumnCount then
f:write(", ")
elseif i == localColumnCount then
if nl then
f:write("\n")
end
end
i = i + 1
end
if nl then
f:write("\n")
end
f:write("}")
if level < 2 then
f:write("\n")
end
else
local nl = true
if level > 2 then
nl = false
end
f:write("[")
if nl then
f:write("\n")
end
for i = 1, #data, 1 do
--k,v in pairs(data) do
local v = data[i]
if type(v) == "table" then
saveCompiledJBeamRecursive(f, v, level + 1)
else
local txt = toJSONString(v)
f:write(txt)
end
if i < #data then
f:write(", ")
if level == 2 then
f:write("\n")
end
end
end
f:write("]")
if level < 2 then
f:write("\n")
end
end
end
end
Callers
@/lua/vehicle/ve_utils.lua
--if nl then f:write("\n" end
saveCompiledJBeamRecursive(f, v, level + 1)
else
if type(v) == "table" then
saveCompiledJBeamRecursive(f, v, level + 1)
else
end
saveCompiledJBeamRecursive(f, data, lvl or 0)
f:close()