elementMaybeAt<E, T extends CborObject<Object?>> method

E? elementMaybeAt<E, T extends CborObject<Object?>>(
  1. int index,
  2. E onValue(
    1. T e
    )
)

Implementation

E? elementMaybeAt<E, T extends CborObject>(
  int index,
  E Function(T e) onValue,
) {
  if (index > value.length - 1) {
    return null;
  }
  try {
    final CborObject cborValue = value.elementAt(index);
    if (cborValue == const CborNullValue()) {
      return null;
    }
    if (cborValue is T) {
      return onValue(cborValue);
    }
  } catch (_) {}
  throw CborSerializationException(
    "Failed to convert CBOR object at index $index to $T",
    details: {'expected': '$T', 'type': runtimeType.toString()},
  );
}