Utils.shallowCopy as a default serializer/deserializer for Components

This commit is contained in:
Pablo Ariel Mayobre 2020-03-14 18:45:15 -03:00
parent 9ae805aa43
commit 079c1d0e18
No known key found for this signature in database
GPG key ID: 5ACD9E6858BEB0A9
2 changed files with 5 additions and 0 deletions

View file

@ -4,6 +4,7 @@
local PATH = (...):gsub('%.[^%.]+$', '')
local Components = require(PATH..".components")
local Utils = require(PATH..".utils")
local Component = {}
Component.__mt = {
@ -47,9 +48,11 @@ function Component:__populate() -- luacheck: ignore
end
function Component:serialize() -- luacheck: ignore
return Utils.shallowCopy(self, {})
end
function Component:deserialize(data) -- luacheck: ignore
Utils.shallowCopy(data, self)
end
-- Internal: Creates a new Component.

View file

@ -10,6 +10,8 @@ function Utils.shallowCopy(orig, target)
for key, value in pairs(orig) do
target[key] = value
end
return target
end
--- Requires files and puts them in a table.