mirror of
https://github.com/scp-fs2open/fs2open.github.com.git
synced 2026-11-09 17:52:08 -10:00
This can be used by script code for reliably storing Lua values without having to build a custom serialization format. The C++ code can also be used by other code modules that want to serialize data. The new classes simply return a byte array with an unspecified format. At the moment this uses a plain JSON encoding but could be extended in the future to include either compression or BSON encoding if necessary. The format is future compatible by using a simple header to identify different kinds of formats.
14 lines
311 B
Lua
14 lines
311 B
Lua
|
|
local assert = require("assert")
|
|
|
|
return function(value)
|
|
local serialized = ba.serializeValue(value)
|
|
local deserialized = ba.deserializeValue(serialized)
|
|
|
|
if type(value) == "table" then
|
|
assert.tablesEqual(value, deserialized)
|
|
else
|
|
assert.equals(value, deserialized)
|
|
end
|
|
end
|