resolve method

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

Resolves value down to a direct value, following indirect references.

Reference chains are followed up to maxDepth levels.

Implementation

dynamic resolve(dynamic value, {int maxDepth = 32}) {
  var current = value;
  for (var depth = 0; depth < maxDepth; depth++) {
    if (current is! PdfRefToken) return current;
    final obj = _getObject(current.obj);
    if (obj == null) return null;
    current = obj.value;
  }
  return current;
}