resolve method

PdfDataType? resolve(
  1. PdfDataType? value, {
  2. int maxDepth = 32,
})

Follows the indirect references of value down to a direct value.

Returns null when the reference does not resolve. Chains are followed for up to maxDepth levels; past that limit, the last value seen is returned as is — the same contract as PdfDocumentParser.resolve.

Implementation

PdfDataType? resolve(PdfDataType? value, {int maxDepth = 32}) {
  var current = value;
  for (var depth = 0; depth < maxDepth; depth++) {
    if (current is! PdfIndirect) return current;
    final object = lookup(current);
    if (object == null) return null;
    current = object.params;
  }
  return current;
}