value property

Object? get value

Bumps uses by one and returns the stored _fields if a table or _value otherwise.

Implementation

Object? get value {
  uses++;
  _onRead?.call('self');

  return switch (isTable) {
    true => deref()._fields,
    false => switch (_value) {
      final LuaObject obj => obj.deref().value,
      _ => _value,
    },
  };
}
set value (Object? from)

Bumps uses by one and stores from as the new _value or _fields depending on the type of from.

Implementation

set value(Object? from) {
  uses++;
  if (from == null) {
    _value = null;
    _fields = null;
  } else if (from is LuaFieldsMap) {
    _value = null;
    _fields = from;
  } else if (from is LuaObject) {
    _value = from.deref();
    _fields = null;
  } else {
    _value = from;
    _fields = null;
  }
  _onWrite?.call('self', from);
}