writeField method
If this lua object is a table, then
it writes value to key and returns the field key.
Otherwise if the lua object is not a table, then null is returned.
Implementation
Object? writeField(String key, Object? value) {
if (skipSemanitcs) return LuaObject.noSemantics(key);
Object? result;
if (isRef) {
result = deref().writeField(key, value);
} else if (isTable) {
result = switch (_fields![key]) {
final LuaObject obj => obj.value = value,
null => _fields![key] = LuaObject.variable(key, value),
};
}
_onWrite?.call(key, value);
return result;
}