addCodecSizePrefix<TFrom, TTo> function

Codec<TFrom, TTo> addCodecSizePrefix<TFrom, TTo>(
  1. Codec<TFrom, TTo> codec,
  2. Codec<num, num> prefix
)

Stores the byte size of codec as an encoded number prefix.

When encoding, the size of the encoded data is stored before the data. When decoding, the size is read first to know how many bytes to read.

Implementation

Codec<TFrom, TTo> addCodecSizePrefix<TFrom, TTo>(
  Codec<TFrom, TTo> codec,
  Codec<num, num> prefix,
) {
  return combineCodec(
    addEncoderSizePrefix(encoderFromCodec(codec), encoderFromCodec(prefix)),
    addDecoderSizePrefix(decoderFromCodec(codec), decoderFromCodec(prefix)),
  );
}