resolveToString method

String? resolveToString(
  1. Object? o, {
  2. String indent = '-- ',
  3. Set<Object>? processedObjects,
})

Implementation

String? resolveToString(Object? o,
    {String indent = '-- ', Set<Object>? processedObjects}) {
  if (o == null) {
    return null;
  }

  if (o is Iterable) {
    var l = RecursiveToString.recursiveIterableToString(processedObjects, o,
        (objs, e) => resolveToString(e, processedObjects: objs));

    var s = l.join('\n$indent');
    return '$indent$s';
  } else if (o is RecursiveToString) {
    return o.toString(processedObjects: processedObjects);
  } else if (o is Function()) {
    return RecursiveToString.recursiveToString(processedObjects, o,
        () => resolveToString(o(), processedObjects: processedObjects));
  } else {
    return o.toString();
  }
}