--!strict --!optimize 2 --!native local Types = require("../Types") return function(solver: Types.DataTypeInterface) return { write = function(self: Types.Writer, list: { [unknown]: unknown }) buffer.writeu16(self._data, self._cursor, #list) self._cursor += 2 for _, value in list do solver.write(self, value) end end, read = function(self: Types.Writer) local count = buffer.readu16(self._data, self._cursor) self._cursor += 2 local list = {} for index = 1, count do list[index] = solver.read(self) end return list end, length = function(list) local size = 2 for key, value in list do size += solver.length(value) end return size end, } end