decode method
Implementation
@override
decode(Input input) {
final magicNumber = U32Codec.codec.decode(input);
if (magicNumber != META_RESERVED) {
throw Exception('Invalid magic number: got $magicNumber expected $META_RESERVED');
}
final version = U8Codec.codec.decode(input);
return switch (version) {
15 => RuntimeMetadataPrefixed(
magicNumber: magicNumber,
metadata: RuntimeMetadataV15.codec.decode(input),
),
14 => RuntimeMetadataPrefixed(
magicNumber: magicNumber,
metadata: RuntimeMetadataV14.codec.decode(input),
),
_ => throw Exception('Unsupported metadata version: $version'),
};
}