numberDecoderFactory function
Creates a FixedSizeDecoder for a numeric type using ByteData operations.
The name is used in error messages.
The size is the number of bytes the decoder consumes.
The get callback reads a numeric value from a ByteData view.
The optional config controls endianness (defaults to little-endian).
Implementation
FixedSizeDecoder<int> numberDecoderFactory({
required String name,
required int size,
required int Function(ByteData data, int offset, Endian endian) get,
NumberCodecConfig? config,
}) {
final endian = config?.endian ?? Endian.little;
return FixedSizeDecoder<int>(
fixedSize: size,
read: (bytes, offset) {
final byteData = bytes.buffer.asByteData(bytes.offsetInBytes);
return (get(byteData, offset, endian), offset + size);
},
);
}