Printer<T>.wrap constructor

Printer<T>.wrap(
  1. Object? object
)

Constructs a printer by wrapping object.

Implementation

factory Printer.wrap(Object? object) {
  if (object is Printer<T>) {
    return object;
  } else if (object is Map1<T, String>) {
    return Printer<T>.pluggable(object);
  } else if (object is String) {
    return Printer<T>.literal(object);
  } else if (object is Iterable) {
    return Printer<T>.sequence(
        object.map(Printer<T>.wrap).toList(growable: false));
  } else {
    throw ArgumentError.value(object, 'object', 'Invalid type');
  }
}