fromByteArrayStream static method

Future<Hash> fromByteArrayStream(
  1. ByteStream in_
)

Dummy static serializer.

Must be overridden by the respective implementing class.

@param in The input byte stream to be used @return the object parsed from the input stream by the respective class @throws IOException if not overridden or reached unexpectedly the end of stream

Implementation

static Future<Hash> fromByteArrayStream(ByteStream in_) async {
  SerializerHelper.castTest(
      'Hash', serialVersionUID, await SerializerHelper.readLong(in_), 1);

  String? typeName = await SerializerHelper.readString(in_);
  if (typeName == null) {
    throw SerializedException('Hash type not defined.');
  }

  HashType type;
  try {
    type = HashType.values.byName(typeName);
  } on ArgumentError {
    throw SerializedException('Hash type "$typeName" does not exist.');
  }

  final bytes = await in_.popArray(type.hashLength);

  SerializerHelper.castTest(
      'Hash', serialVersionUID, await SerializerHelper.readLong(in_), 1);
  return Hash(type, bytes);
}