encodeAnnotation method

Uint8List encodeAnnotation(
  1. RitoAnnotationRequest request
)

Encodes a RITOANQ1 annotation request.

Implementation

Uint8List encodeAnnotation(RitoAnnotationRequest request) {
  final writer = _Writer.message(ascii.encode('RITOANQ1'), 1);
  writer.externalId(request.sessionId, 'session id');
  switch (request.query) {
    case RitoCreateAnnotationQuery(:final href, :final range):
      writer.uint8(0);
      writer.string(href, 'annotation href');
      writer.record((writer) {
        _sourcePointRecord(writer, range.start);
        _sourcePointRecord(writer, range.end);
      });
    case RitoResolveAnnotationQuery(:final targetJson):
      writer.uint8(1);
      writer.string(targetJson, 'annotation target');
  }
  return writer.finish();
}