byteArray static method

CustomLayout byteArray(
  1. int length, {
  2. bool resultAsHex = false,
  3. String? property,
})

Implementation

static CustomLayout byteArray(int length,
    {bool resultAsHex = false, String? property}) {
  final layout = struct([
    seq(u8(), ConstantLayout(length), property: 'values'),
  ]);
  return CustomLayout<Map<String, dynamic>, dynamic>(
    layout: layout,
    decoder: (data) {
      final bytes = (data['values'] as List).cast<int>();
      if (resultAsHex) return BytesUtils.toHexString(bytes);
      return bytes;
    },
    encoder: (values) {
      if (values is String) {
        return {'values': BytesUtils.fromHexString(values)};
      }
      return {'values': values};
    },
    property: property,
  );
}