TextTreeConfiguration constructor Null safety

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;