getSetEncoder<T> function

Encoder<Set<T>> getSetEncoder<T>(
  1. Encoder<T> item, {
  2. ArrayLikeCodecSize? size,
})

Returns an encoder for sets.

This encoder serializes Set<T> values by encoding each item using the provided item encoder. The number of items is stored as a prefix using a u32 codec by default.

Implementation

Encoder<Set<T>> getSetEncoder<T>(Encoder<T> item, {ArrayLikeCodecSize? size}) {
  final arrayEncoder = getArrayEncoder<T>(item, size: size);
  return transformEncoder<List<T>, Set<T>>(arrayEncoder, (set) => set.toList());
}