encodeStringField function

List<int> encodeStringField(
  1. List<int> buffer,
  2. int fieldNumber,
  3. String value
)

Encode a string field (wire type 2): tag + varint(utf8_len) + utf8_bytes.

Proto3 rule: does not emit anything if value is empty.

Returns buffer with the field bytes appended.

Implementation

List<int> encodeStringField(List<int> buffer, int fieldNumber, String value) {
  if (value.isEmpty) return buffer;
  encodeTag(buffer, fieldNumber, _wireTypeLEN);
  encodeString(buffer, value);
  return buffer;
}