compactBytes static method

Layout compactBytes({
  1. bool resultAsHex = false,
  2. String? property,
})

Implementation

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