pack method

  1. @override
void pack(
  1. IsoComponent<Object> component,
  2. IsoBuffer buffer
)
override

Implementation

@override
void pack(IsoComponent<Object> component, IsoBuffer buffer) {
  final V? data = component.value as V?;
  if (data == null) throw StateError("field has no value ($_description)");
  if (valueLength(data) > _length) throw ArgumentError("Field length ${valueLength(data)} too long. Max: $_length");
  final IsoPadder<V>? currentPadder = padder;
  final V paddedData = currentPadder == null ? data : currentPadder.pad(data, _length);
  prefixer?.encodeLength(valueLength(paddedData), buffer);
  interpreter!.interpret(paddedData, buffer);
}