serializeDirectedParams function

Uint8List serializeDirectedParams(
  1. List<DirectedParam> params
)

Serialises DirectedParam values to a DRT1 buffer: DRT1 + u32 count and repeated (u8 direction)(ParamValue wire). Prefer IOdbcService.executeQueryDirectedParams or IOdbcRepository.executeQueryParamBuffer with this buffer. Engine mapping: ParamDirection input = 0, output = 1, inOut = 2.

Implementation

Uint8List serializeDirectedParams(List<DirectedParam> params) {
  final out = BytesBuilder()
    ..add(drt1MagicBytes)
    ..add(_u32Le(params.length));
  for (final d in params) {
    out.addByte(d.direction.index);
    final pv = d.type == null
        ? toParamValue(d.value)
        : toParamValue(typedParam(d.type!, d.value));
    validateDirectedOutInOut(d.direction, pv);
    out.add(pv.serialize());
  }
  return out.toBytes();
}