TextTreeConfiguration constructor

TextTreeConfiguration(
  1. {@required String prefixLineOne,
  2. @required String prefixOtherLines,
  3. @required String prefixLastChildLineOne,
  4. @required String prefixOtherLinesRootNode,
  5. @required String linkCharacter,
  6. @required String propertyPrefixIfChildren,
  7. @required String propertyPrefixNoChildren,
  8. String lineBreak: '\n',
  9. bool lineBreakProperties: true,
  10. String afterName: ':',
  11. String afterDescriptionIfBody: '',
  12. String afterDescription: '',
  13. String beforeProperties: '',
  14. String afterProperties: '',
  15. String mandatoryAfterProperties: '',
  16. String propertySeparator: '',
  17. String bodyIndent: '',
  18. String footer: '',
  19. bool showChildren: true,
  20. bool addBlankLineIfNoChildren: true,
  21. bool isNameOnOwnLine: false,
  22. bool isBlankLineBetweenPropertiesAndChildren: true,
  23. String beforeName: '',
  24. String suffixLineOne: '',
  25. String mandatoryFooter: ''}
)

Create a configuration object describing how to render a tree as text.

All of the arguments must not be null.

Implementation

TextTreeConfiguration({
  @required this.prefixLineOne,
  @required this.prefixOtherLines,
  @required this.prefixLastChildLineOne,
  @required this.prefixOtherLinesRootNode,
  @required this.linkCharacter,
  @required this.propertyPrefixIfChildren,
  @required this.propertyPrefixNoChildren,
  this.lineBreak = '\n',
  this.lineBreakProperties = true,
  this.afterName = ':',
  this.afterDescriptionIfBody = '',
  this.afterDescription = '',
  this.beforeProperties = '',
  this.afterProperties = '',
  this.mandatoryAfterProperties = '',
  this.propertySeparator = '',
  this.bodyIndent = '',
  this.footer = '',
  this.showChildren = true,
  this.addBlankLineIfNoChildren = true,
  this.isNameOnOwnLine = false,
  this.isBlankLineBetweenPropertiesAndChildren = true,
  this.beforeName = '',
  this.suffixLineOne = '',
  this.mandatoryFooter = '',
}) : assert(prefixLineOne != null),
     assert(prefixOtherLines != null),
     assert(prefixLastChildLineOne != null),
     assert(prefixOtherLinesRootNode != null),
     assert(linkCharacter != null),
     assert(propertyPrefixIfChildren != null),
     assert(propertyPrefixNoChildren != null),
     assert(lineBreak != null),
     assert(lineBreakProperties != null),
     assert(afterName != null),
     assert(afterDescriptionIfBody != null),
     assert(afterDescription != null),
     assert(beforeProperties != null),
     assert(afterProperties != null),
     assert(propertySeparator != null),
     assert(bodyIndent != null),
     assert(footer != null),
     assert(showChildren != null),
     assert(addBlankLineIfNoChildren != null),
     assert(isNameOnOwnLine != null),
     assert(isBlankLineBetweenPropertiesAndChildren != null),
     childLinkSpace = ' ' * linkCharacter.length;