Introduce simpler override for GObject.Value
Currently using GObject.Value
is very C-like, we could consider a more friendly JS API for when GObject.Value
is needed.
Current
const value = new GObject.Value();
value.init(GObject.TYPE_STRING);
value.set_string('Testing');
const enum_value = new GObject.Value();
enum_value.init(MyEnum);
enum_value.set_string(MyEnum.VALUE_ONE);
Idea A
const value = new GObject.Value({ string: 'Testing' });
const enum_value = new GObject.Value({ type: MyEnum, value: MyEnum.VALUE_ONE });
Idea B
const value = GObject.Value.string('Testing');
const enum_value = GObject.Value.enum(MyEnum, MyEnum.VALUE_ONE);
Idea C
const value = new GObject.Value(String, 'testing');
const enum_value = new GObject.Value(MyEnum, MyEnum.VALUE_ONE);
Idea D
// no primitive overrides
const enum_value = MyEnum.value(MyEnum.VALUE_ONE);