readField method
If this lua object is a table,
unpacks _fields and returns the value.
Otherwise null is returned.
Implementation
Object? readField(String key) {
uses++;
_onRead?.call(key);
if (skipSemanitcs) return LuaObjectNoSemantics(key);
if (isRef) {
return deref().readField(key);
} else if (isTable) {
return switch (_fields?[key]) {
final LuaObject obj => obj.deref(),
null => null,
};
} else {
// Not allowed except on tables.
return null;
}
}