add null support
diff --git a/pkgs/record_use/lib/src/data_classes/extensions.dart b/pkgs/record_use/lib/src/data_classes/extensions.dart index 0e9d33f..1264a8c 100644 --- a/pkgs/record_use/lib/src/data_classes/extensions.dart +++ b/pkgs/record_use/lib/src/data_classes/extensions.dart
@@ -133,13 +133,15 @@ extension FieldValueExt on pb_shared.FieldValue { Object toObject() => switch (whichValue()) { - pb_shared.FieldValue_Value.map => - map.value.map((key, value) => MapEntry(key, value.toObject())), - pb_shared.FieldValue_Value.list => list.value.map((e) => e.toObject()), + pb_shared.FieldValue_Value.mapValue => + mapValue.value.map((key, value) => MapEntry(key, value.toObject())), + pb_shared.FieldValue_Value.listValue => + listValue.value.map((e) => e.toObject()), pb_shared.FieldValue_Value.intValue => intValue, pb_shared.FieldValue_Value.doubleValue => doubleValue, pb_shared.FieldValue_Value.boolValue => boolValue, pb_shared.FieldValue_Value.stringValue => stringValue, + pb_shared.FieldValue_Value.nullValue => nullValue, pb_shared.FieldValue_Value.notSet => throw UnimplementedError(), }; }
diff --git a/pkgs/record_use/lib/src/proto/usages_shared.pb.dart b/pkgs/record_use/lib/src/proto/usages_shared.pb.dart index f535a36..5961c53 100644 --- a/pkgs/record_use/lib/src/proto/usages_shared.pb.dart +++ b/pkgs/record_use/lib/src/proto/usages_shared.pb.dart
@@ -451,30 +451,32 @@ } enum FieldValue_Value { - map, - list, + mapValue, + listValue, intValue, doubleValue, boolValue, stringValue, + nullValue, notSet } class FieldValue extends $pb.GeneratedMessage { factory FieldValue({ - StringMapValue? map, - ListValue? list, + StringMapValue? mapValue, + ListValue? listValue, $core.int? intValue, $core.double? doubleValue, $core.bool? boolValue, $core.String? stringValue, + $core.bool? nullValue, }) { final $result = create(); - if (map != null) { - $result.map = map; + if (mapValue != null) { + $result.mapValue = mapValue; } - if (list != null) { - $result.list = list; + if (listValue != null) { + $result.listValue = listValue; } if (intValue != null) { $result.intValue = intValue; @@ -488,6 +490,9 @@ if (stringValue != null) { $result.stringValue = stringValue; } + if (nullValue != null) { + $result.nullValue = nullValue; + } return $result; } FieldValue._() : super(); @@ -499,28 +504,30 @@ create()..mergeFromJson(i, r); static const $core.Map<$core.int, FieldValue_Value> _FieldValue_ValueByTag = { - 1: FieldValue_Value.map, - 2: FieldValue_Value.list, + 1: FieldValue_Value.mapValue, + 2: FieldValue_Value.listValue, 3: FieldValue_Value.intValue, 4: FieldValue_Value.doubleValue, 5: FieldValue_Value.boolValue, 6: FieldValue_Value.stringValue, + 7: FieldValue_Value.nullValue, 0: FieldValue_Value.notSet }; static final $pb.BuilderInfo _i = $pb.BuilderInfo( _omitMessageNames ? '' : 'FieldValue', package: const $pb.PackageName(_omitMessageNames ? '' : 'usages_shared'), createEmptyInstance: create) - ..oo(0, [1, 2, 3, 4, 5, 6]) - ..aOM<StringMapValue>(1, _omitFieldNames ? '' : 'map', + ..oo(0, [1, 2, 3, 4, 5, 6, 7]) + ..aOM<StringMapValue>(1, _omitFieldNames ? '' : 'mapValue', subBuilder: StringMapValue.create) - ..aOM<ListValue>(2, _omitFieldNames ? '' : 'list', + ..aOM<ListValue>(2, _omitFieldNames ? '' : 'listValue', subBuilder: ListValue.create) ..a<$core.int>(3, _omitFieldNames ? '' : 'intValue', $pb.PbFieldType.O3) ..a<$core.double>( 4, _omitFieldNames ? '' : 'doubleValue', $pb.PbFieldType.OD) ..aOB(5, _omitFieldNames ? '' : 'boolValue') ..aOS(6, _omitFieldNames ? '' : 'stringValue') + ..aOB(7, _omitFieldNames ? '' : 'nullValue') ..hasRequiredFields = false; @$core.Deprecated('Using this can add significant overhead to your binary. ' @@ -548,32 +555,32 @@ void clearValue() => clearField($_whichOneof(0)); @$pb.TagNumber(1) - StringMapValue get map => $_getN(0); + StringMapValue get mapValue => $_getN(0); @$pb.TagNumber(1) - set map(StringMapValue v) { + set mapValue(StringMapValue v) { setField(1, v); } @$pb.TagNumber(1) - $core.bool hasMap() => $_has(0); + $core.bool hasMapValue() => $_has(0); @$pb.TagNumber(1) - void clearMap() => clearField(1); + void clearMapValue() => clearField(1); @$pb.TagNumber(1) - StringMapValue ensureMap() => $_ensure(0); + StringMapValue ensureMapValue() => $_ensure(0); @$pb.TagNumber(2) - ListValue get list => $_getN(1); + ListValue get listValue => $_getN(1); @$pb.TagNumber(2) - set list(ListValue v) { + set listValue(ListValue v) { setField(2, v); } @$pb.TagNumber(2) - $core.bool hasList() => $_has(1); + $core.bool hasListValue() => $_has(1); @$pb.TagNumber(2) - void clearList() => clearField(2); + void clearListValue() => clearField(2); @$pb.TagNumber(2) - ListValue ensureList() => $_ensure(1); + ListValue ensureListValue() => $_ensure(1); @$pb.TagNumber(3) $core.int get intValue => $_getIZ(2); @@ -622,6 +629,18 @@ $core.bool hasStringValue() => $_has(5); @$pb.TagNumber(6) void clearStringValue() => clearField(6); + + @$pb.TagNumber(7) + $core.bool get nullValue => $_getBF(6); + @$pb.TagNumber(7) + set nullValue($core.bool v) { + $_setBool(6, v); + } + + @$pb.TagNumber(7) + $core.bool hasNullValue() => $_has(6); + @$pb.TagNumber(7) + void clearNullValue() => clearField(7); } class ListValue extends $pb.GeneratedMessage {
diff --git a/pkgs/record_use/lib/src/proto/usages_shared.pbjson.dart b/pkgs/record_use/lib/src/proto/usages_shared.pbjson.dart index e9691b3..83601c8 100644 --- a/pkgs/record_use/lib/src/proto/usages_shared.pbjson.dart +++ b/pkgs/record_use/lib/src/proto/usages_shared.pbjson.dart
@@ -195,27 +195,28 @@ '1': 'FieldValue', '2': [ { - '1': 'map', + '1': 'map_value', '3': 1, '4': 1, '5': 11, '6': '.usages_shared.StringMapValue', '9': 0, - '10': 'map' + '10': 'mapValue' }, { - '1': 'list', + '1': 'list_value', '3': 2, '4': 1, '5': 11, '6': '.usages_shared.ListValue', '9': 0, - '10': 'list' + '10': 'listValue' }, {'1': 'int_value', '3': 3, '4': 1, '5': 5, '9': 0, '10': 'intValue'}, {'1': 'double_value', '3': 4, '4': 1, '5': 1, '9': 0, '10': 'doubleValue'}, {'1': 'bool_value', '3': 5, '4': 1, '5': 8, '9': 0, '10': 'boolValue'}, {'1': 'string_value', '3': 6, '4': 1, '5': 9, '9': 0, '10': 'stringValue'}, + {'1': 'null_value', '3': 7, '4': 1, '5': 8, '9': 0, '10': 'nullValue'}, ], '8': [ {'1': 'value'}, @@ -224,11 +225,12 @@ /// Descriptor for `FieldValue`. Decode as a `google.protobuf.DescriptorProto`. final $typed_data.Uint8List fieldValueDescriptor = $convert.base64Decode( - 'CgpGaWVsZFZhbHVlEjEKA21hcBgBIAEoCzIdLnVzYWdlc19zaGFyZWQuU3RyaW5nTWFwVmFsdW' - 'VIAFIDbWFwEi4KBGxpc3QYAiABKAsyGC51c2FnZXNfc2hhcmVkLkxpc3RWYWx1ZUgAUgRsaXN0' - 'Eh0KCWludF92YWx1ZRgDIAEoBUgAUghpbnRWYWx1ZRIjCgxkb3VibGVfdmFsdWUYBCABKAFIAF' - 'ILZG91YmxlVmFsdWUSHwoKYm9vbF92YWx1ZRgFIAEoCEgAUglib29sVmFsdWUSIwoMc3RyaW5n' - 'X3ZhbHVlGAYgASgJSABSC3N0cmluZ1ZhbHVlQgcKBXZhbHVl'); + 'CgpGaWVsZFZhbHVlEjwKCW1hcF92YWx1ZRgBIAEoCzIdLnVzYWdlc19zaGFyZWQuU3RyaW5nTW' + 'FwVmFsdWVIAFIIbWFwVmFsdWUSOQoKbGlzdF92YWx1ZRgCIAEoCzIYLnVzYWdlc19zaGFyZWQu' + 'TGlzdFZhbHVlSABSCWxpc3RWYWx1ZRIdCglpbnRfdmFsdWUYAyABKAVIAFIIaW50VmFsdWUSIw' + 'oMZG91YmxlX3ZhbHVlGAQgASgBSABSC2RvdWJsZVZhbHVlEh8KCmJvb2xfdmFsdWUYBSABKAhI' + 'AFIJYm9vbFZhbHVlEiMKDHN0cmluZ192YWx1ZRgGIAEoCUgAUgtzdHJpbmdWYWx1ZRIfCgpudW' + 'xsX3ZhbHVlGAcgASgISABSCW51bGxWYWx1ZUIHCgV2YWx1ZQ=='); @$core.Deprecated('Use listValueDescriptor instead') const ListValue$json = {
diff --git a/pkgs/record_use/lib/src/proto/usages_shared.proto b/pkgs/record_use/lib/src/proto/usages_shared.proto index d0430ae..e3284c1 100644 --- a/pkgs/record_use/lib/src/proto/usages_shared.proto +++ b/pkgs/record_use/lib/src/proto/usages_shared.proto
@@ -37,12 +37,13 @@ message FieldValue { oneof value { - StringMapValue map = 1; - ListValue list = 2; + StringMapValue map_value = 1; + ListValue list_value = 2; int32 int_value = 3; double double_value = 4; bool bool_value = 5; string string_value = 6; + bool null_value = 7; } }
diff --git a/pkgs/record_use/test/testdata/data.dart b/pkgs/record_use/test/testdata/data.dart index e3886de..7d77299 100644 --- a/pkgs/record_use/test/testdata/data.dart +++ b/pkgs/record_use/test/testdata/data.dart
@@ -94,7 +94,7 @@ 0: FieldValue(stringValue: 'lib_SHA1'), 2: FieldValue(intValue: 0), 4: FieldValue( - map: StringMapValue( + mapValue: StringMapValue( value: { 'key': FieldValue(intValue: 99), }, @@ -104,7 +104,7 @@ named: { 'leroy': FieldValue(stringValue: 'jenkins'), 'albert': FieldValue( - list: ListValue( + listValue: ListValue( value: [ FieldValue(stringValue: 'camus'), FieldValue(stringValue: 'einstein'),