add lua dv::bytes support

This commit is contained in:
MihailRis 2024-10-03 18:23:50 +03:00
parent 9e8a33c411
commit f7492ce449
2 changed files with 20 additions and 1 deletions

View File

@ -51,12 +51,23 @@ int lua::pushvalue(State* L, const dv::value& value) {
}
break;
}
case value_type::object: {
case value_type::object:
createtable(L, 0, value.size());
for (const auto& [key, elem] : value.asObject()) {
pushvalue(L, elem);
setfield(L, key);
}
break;
case value_type::bytes: {
const auto& bytes = value.asBytes();
createtable(L, 0, bytes.size());
size_t size = bytes.size();
for (size_t i = 0; i < size;) {
pushinteger(L, bytes[i]);
i++;
rawseti(L, i);
}
break;
}
}
return 1;

View File

@ -61,5 +61,13 @@ namespace util {
void resizeFast(size_t size) {
length = size;
}
const T* begin() const {
return ptr.get();
}
const T* end() const {
return ptr.get() + size;
}
};
}