Skip to content

Commit bde4bb7

Browse files
committed
Refactor
1 parent 92c4ee9 commit bde4bb7

File tree

5 files changed

+41
-46
lines changed

5 files changed

+41
-46
lines changed

protobuf/lib/src/protobuf/field_type.dart

Lines changed: 18 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,18 @@ class FieldType {
1919
isRepeated = false,
2020
isRequired = false;
2121

22+
const FieldType.optional(this.baseType)
23+
: isGroup = false,
24+
isPacked = false,
25+
isRepeated = false,
26+
isRequired = false;
27+
28+
const FieldType.repeated(this.baseType)
29+
: isGroup = false,
30+
isPacked = false,
31+
isRepeated = true,
32+
isRequired = false;
33+
2234
const FieldType.fromBaseType(this.baseType)
2335
: isGroup = false,
2436
isPacked = false,
@@ -39,76 +51,54 @@ class FieldType {
3951
isRepeated = false,
4052
isRequired = false;
4153

42-
const FieldType.OPTIONAL_ENUM()
43-
: baseType = FieldBaseType.enum_,
44-
isGroup = false,
45-
isPacked = false,
46-
isRepeated = false,
47-
isRequired = false;
48-
4954
const FieldType.REQUIRED_STRING()
5055
: baseType = FieldBaseType.string,
5156
isGroup = false,
5257
isPacked = false,
5358
isRepeated = false,
5459
isRequired = true;
5560

61+
// TODO: Can I implement this using `FieldType.repeated()`?
5662
const FieldType.REPEATED_STRING()
5763
: baseType = FieldBaseType.string,
5864
isGroup = false,
5965
isPacked = false,
6066
isRepeated = true,
6167
isRequired = false;
6268

69+
// TODO: Can I implement this using `FieldType.repeated()`?
6370
const FieldType.REPEATED_I32()
6471
: baseType = FieldBaseType.int32,
6572
isGroup = false,
6673
isPacked = false,
6774
isRepeated = true,
6875
isRequired = false;
6976

70-
const FieldType.REPEATED_U32()
71-
: baseType = FieldBaseType.uint32,
72-
isGroup = false,
73-
isPacked = false,
74-
isRepeated = true,
75-
isRequired = false;
76-
77-
const FieldType.REPEATED_FLOAT()
78-
: baseType = FieldBaseType.float,
79-
isGroup = false,
80-
isPacked = false,
81-
isRepeated = true,
82-
isRequired = false;
83-
84-
const FieldType.REPEATED_MESSAGE()
85-
: baseType = FieldBaseType.message,
86-
isGroup = false,
87-
isPacked = false,
88-
isRepeated = true,
89-
isRequired = false;
90-
77+
// TODO: Can I implement this using `FieldType.optional()`?
9178
const FieldType.OPTIONAL_I32()
9279
: baseType = FieldBaseType.int32,
9380
isGroup = false,
9481
isPacked = false,
9582
isRepeated = false,
9683
isRequired = false;
9784

85+
// TODO: Can I implement this using `FieldType.optional()`?
9886
const FieldType.OPTIONAL_I64()
9987
: baseType = FieldBaseType.int64,
10088
isGroup = false,
10189
isPacked = false,
10290
isRepeated = false,
10391
isRequired = false;
10492

93+
// TODO: Can I implement this using `FieldType.optional()`?
10594
const FieldType.OPTIONAL_BOOL()
10695
: baseType = FieldBaseType.bool,
10796
isGroup = false,
10897
isPacked = false,
10998
isRepeated = false,
11099
isRequired = false;
111100

101+
// TODO: Can I implement this using `FieldType.optional()`?
112102
const FieldType.OPTIONAL_MESSAGE()
113103
: baseType = FieldBaseType.message,
114104
isGroup = false,

protobuf/test/codec_test.dart

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ typedef RoundtripTester<T> = void Function(T value, List<int> bytes);
1515
void main() {
1616
ByteData makeData(Uint8List bytes) => ByteData.view(bytes.buffer);
1717

18-
Uint8List Function(dynamic) convertToBytes(fieldType) => (value) {
18+
Uint8List Function(dynamic) convertToBytes(FieldType fieldType) => (value) {
1919
var writer = CodedBufferWriter()..writeField(0, fieldType, value);
2020
return writer.toBuffer().sublist(1);
2121
};
@@ -29,7 +29,7 @@ void main() {
2929
};
3030
}
3131

32-
final int32ToBytes = convertToBytes(PbFieldType.O3);
32+
final int32ToBytes = convertToBytes(FieldType.OPTIONAL_I32());
3333

3434
test('testInt32RoundTrips', () {
3535
final roundtrip = roundtripTester(
@@ -49,7 +49,7 @@ void main() {
4949
test('testSint32', () {
5050
final roundtrip = roundtripTester(
5151
fromBytes: (CodedBufferReader reader) => reader.readSint32(),
52-
toBytes: convertToBytes(PbFieldType.OS3));
52+
toBytes: convertToBytes(FieldType.optional(FieldBaseType.sint32)));
5353

5454
roundtrip(0, [0x00]);
5555
roundtrip(-1, [0x01]);
@@ -60,7 +60,7 @@ void main() {
6060
test('testSint64', () {
6161
final roundtrip = roundtripTester(
6262
fromBytes: (CodedBufferReader reader) => reader.readSint64(),
63-
toBytes: convertToBytes(PbFieldType.OS6));
63+
toBytes: convertToBytes(FieldType.optional(FieldBaseType.sint64)));
6464

6565
roundtrip(make64(0), [0x00]);
6666
roundtrip(make64(-1), [0x01]);
@@ -71,7 +71,7 @@ void main() {
7171
test('testFixed32', () {
7272
final roundtrip = roundtripTester(
7373
fromBytes: (CodedBufferReader reader) => reader.readFixed32(),
74-
toBytes: convertToBytes(PbFieldType.OF3));
74+
toBytes: convertToBytes(FieldType.optional(FieldBaseType.fixed32)));
7575

7676
roundtrip(0, [0x00, 0x00, 0x00, 0x00]);
7777
roundtrip(1, [0x01, 0x00, 0x00, 0x00]);
@@ -82,7 +82,7 @@ void main() {
8282
test('testFixed64', () {
8383
final roundtrip = roundtripTester(
8484
fromBytes: (CodedBufferReader reader) => reader.readFixed64(),
85-
toBytes: convertToBytes(PbFieldType.OF6));
85+
toBytes: convertToBytes(FieldType.optional(FieldBaseType.fixed64)));
8686

8787
roundtrip(make64(0, 0), [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]);
8888
roundtrip(make64(1, 0), [0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]);
@@ -95,7 +95,7 @@ void main() {
9595
test('testSfixed32', () {
9696
final roundtrip = roundtripTester(
9797
fromBytes: (CodedBufferReader reader) => reader.readSfixed32(),
98-
toBytes: convertToBytes(PbFieldType.OSF3));
98+
toBytes: convertToBytes(FieldType.optional(FieldBaseType.fixed32)));
9999

100100
roundtrip(0, [0x00, 0x00, 0x00, 0x00]);
101101
roundtrip(1, [0x01, 0x00, 0x00, 0x00]);
@@ -106,7 +106,7 @@ void main() {
106106
test('testSfixed64', () {
107107
final roundtrip = roundtripTester(
108108
fromBytes: (CodedBufferReader reader) => reader.readSfixed64(),
109-
toBytes: convertToBytes(PbFieldType.OSF6));
109+
toBytes: convertToBytes(FieldType.optional(FieldBaseType.sfixed64)));
110110

111111
roundtrip(make64(0), [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]);
112112
roundtrip(make64(-1), [0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]);
@@ -133,7 +133,7 @@ void main() {
133133
: equals(expected);
134134

135135
List<int> dataToBytes(ByteData byteData) => Uint8List.view(byteData.buffer);
136-
final floatToBytes = convertToBytes(PbFieldType.OF);
136+
final floatToBytes = convertToBytes(FieldType.optional(FieldBaseType.float));
137137
int floatToBits(double value) =>
138138
makeData(floatToBytes(value)).getUint32(0, Endian.little);
139139

@@ -147,7 +147,8 @@ void main() {
147147
expect(readFloat(bits), doubleEquals(value));
148148
}
149149

150-
final doubleToBytes = convertToBytes(PbFieldType.OD);
150+
final doubleToBytes =
151+
convertToBytes(FieldType.optional(FieldBaseType.double));
151152

152153
void _test64(List<int> hilo, double value) {
153154
// Encode a double to its wire format.
@@ -682,7 +683,7 @@ void main() {
682683
test('testVarint64', () {
683684
final roundtrip = roundtripTester(
684685
fromBytes: (CodedBufferReader reader) => reader.readUint64(),
685-
toBytes: convertToBytes(PbFieldType.OU6));
686+
toBytes: convertToBytes(FieldType.optional(FieldBaseType.uint64)));
686687

687688
roundtrip(make64(0), [0x00]);
688689
roundtrip(make64(3), [0x03]);

protobuf/test/list_test.dart

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,8 @@ void main() {
117117
});
118118

119119
test('PBList for unsigned int32 validates items', () {
120-
List<int> list = PbList(check: getCheckFunction(FieldType.REPEATED_U32()));
120+
List<int> list = PbList(
121+
check: getCheckFunction(FieldType.repeated(FieldBaseType.uint32)));
121122

122123
expect(() {
123124
list.add(-1);
@@ -137,8 +138,8 @@ void main() {
137138
});
138139

139140
test('PbList for float validates items', () {
140-
List<double> list =
141-
PbList(check: getCheckFunction(FieldType.REPEATED_FLOAT()));
141+
List<double> list = PbList(
142+
check: getCheckFunction(FieldType.repeated(FieldBaseType.float)));
142143

143144
expect(() {
144145
list.add(3.4028234663852886E39);

protobuf/test/mock_util.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ import 'package:protobuf/protobuf.dart'
88
show
99
BuilderInfo,
1010
CreateBuilderFunc,
11-
GeneratedMessage,
11+
FieldBaseType,
1212
FieldType,
13+
GeneratedMessage,
1314
ProtobufEnum;
1415

1516
final mockEnumValues = [ProtobufEnum(1, 'a'), ProtobufEnum(2, 'b')];
@@ -22,7 +23,7 @@ BuilderInfo mockInfo(String className, CreateBuilderFunc create) {
2223
..p<int>(4, 'int32s', FieldType.REPEATED_I32())
2324
..a(5, 'int64', FieldType.OPTIONAL_I64())
2425
// 6 is reserved for extensions in other tests.
25-
..e(7, 'enm', FieldType.OPTIONAL_ENUM(),
26+
..e(7, 'enm', FieldType.optional(FieldBaseType.enum_),
2627
defaultOrMaker: mockEnumValues.first,
2728
valueOf: (i) => mockEnumValues.firstWhereOrNull((e) => e.value == i),
2829
enumValues: mockEnumValues);

protobuf/test/readonly_message_test.dart

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ library readonly_message_test;
88
import 'package:protobuf/protobuf.dart'
99
show
1010
BuilderInfo,
11-
GeneratedMessage,
11+
FieldBaseType,
1212
FieldType,
13+
GeneratedMessage,
1314
UnknownFieldSetField,
1415
frozenMessageModificationHandler,
1516
defaultFrozenMessageModificationHandler;
@@ -31,7 +32,8 @@ class Rec extends GeneratedMessage {
3132
@override
3233
BuilderInfo info_ = BuilderInfo('rec')
3334
..a(1, 'value', FieldType.OPTIONAL_I32())
34-
..pc<Rec>(2, 'sub', FieldType.REPEATED_MESSAGE(), subBuilder: Rec.create)
35+
..pc<Rec>(2, 'sub', FieldType.repeated(FieldBaseType.message),
36+
subBuilder: Rec.create)
3537
..p<int>(10, 'ints', FieldType.REPEATED_I32());
3638

3739
int get value => $_get(0, 0);

0 commit comments

Comments
 (0)