1234567891011121314151617181920212223242526272829303132333435363738394041 |
- var ast = require("./ast");
- exports.freshElement = ast.freshElement;
- exports.nonFreshElement = ast.nonFreshElement;
- exports.elementWithTag = ast.elementWithTag;
- exports.text = ast.text;
- exports.forceWrite = ast.forceWrite;
- exports.simplify = require("./simplify");
- function write(writer, nodes) {
- nodes.forEach(function(node) {
- writeNode(writer, node);
- });
- }
- function writeNode(writer, node) {
- toStrings[node.type](writer, node);
- }
- var toStrings = {
- element: generateElementString,
- text: generateTextString,
- forceWrite: function() { }
- };
- function generateElementString(writer, node) {
- if (ast.isVoidElement(node)) {
- writer.selfClosing(node.tag.tagName, node.tag.attributes);
- } else {
- writer.open(node.tag.tagName, node.tag.attributes);
- write(writer, node.children);
- writer.close(node.tag.tagName);
- }
- }
- function generateTextString(writer, node) {
- writer.text(node.value);
- }
- exports.write = write;
|