getHiddenPrefixDecoder<T> function
Returns a decoder that skips hidden prefixed data before decoding the main value.
This decoder applies a list of void decoders before decoding the main value. The prefixed data is skipped during decoding without being exposed to the user.
Implementation
Decoder<T> getHiddenPrefixDecoder<T>(
Decoder<T> decoder,
List<Decoder<void>> prefixedDecoders,
) {
final allDecoders = <Decoder<Object?>>[
...prefixedDecoders.cast<Decoder<Object?>>(),
decoder as Decoder<Object?>,
];
final tupleDecoder = getTupleDecoder(allDecoders);
return transformDecoder<List<Object?>, T>(
tupleDecoder,
(tuple, bytes, offset) => tuple[tuple.length - 1] as T,
);
}