outerSource method

  1. @override
String outerSource([
  1. int level = 0
])
override

Reconstruct this Node's source code.

Implementation

@override String outerSource([int level = 0]) {
	// open tag
	var opener = Token(TokenType.tagOpen, 0, name: name, attributes: attributes, selfClosing: children.isEmpty);
	if (children.isEmpty) {
		// tag is self-closing
		return indent(opener.toSource(), level);
	} else {
		// close tag
		var closer = Token(TokenType.tagClose, 0, name: name);
		return [
			// <opener>
			indent(opener.toSource(), level),
			//    [...]
			innerSource(level + 1),
			// </closer>
			indent(closer.toSource(), level)
		].join("\n");
	}
}