PrettyPrinter constructor

PrettyPrinter({
  1. int stackTraceBeginIndex = 0,
  2. int startMethodNum = 0,
  3. int methodCount = 2,
  4. int errorMethodCount = 8,
  5. int lineLength = 120,
  6. bool colors = true,
  7. bool printEmojis = true,
  8. bool printTime = false,
  9. Map<Level, bool> excludeBox = const {},
  10. bool noBoxingByDefault = false,
})

Implementation

PrettyPrinter({
  this.stackTraceBeginIndex = 0,
  this.startMethodNum = 0,
  this.methodCount = 2,
  this.errorMethodCount = 8,
  this.lineLength = 120,
  this.colors = true,
  this.printEmojis = true,
  this.printTime = false,
  this.excludeBox = const {},
  this.noBoxingByDefault = false,
}) {
  _startTime ??= DateTime.now();

  var doubleDividerLine = StringBuffer();
  var singleDividerLine = StringBuffer();
  for (var i = 0; i < lineLength - 1; i++) {
    doubleDividerLine.write(doubleDivider);
    singleDividerLine.write(singleDivider);
  }

  _topBorder = '$topLeftCorner$doubleDividerLine';
  _middleBorder = '$middleCorner$singleDividerLine';
  _bottomBorder = '$bottomLeftCorner$doubleDividerLine';

  // Translate excludeBox map (constant if default) to includeBox map with all Level enum possibilities
  includeBox = {};
  for (var l in Level.values) {
    includeBox[l] = !noBoxingByDefault;
  }
  excludeBox.forEach((k, v) => includeBox[k] = !v);
}