You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
545 B
20 lines
545 B
"use strict"; |
|
|
|
function stringify (document) { |
|
let stringify; |
|
if (document instanceof require("./document")) { |
|
stringify = docStringify; |
|
} else { |
|
stringify = document.source.syntax.stringify; |
|
} |
|
return stringify.apply(this, arguments); |
|
} |
|
|
|
function docStringify (document, builder) { |
|
document.nodes.forEach((root, i) => { |
|
builder(root.raws.beforeStart, root, "beforeStart"); |
|
root.source.syntax && root.source.syntax.stringify(root, builder); |
|
}); |
|
builder(document.raws.afterEnd, document, "afterEnd"); |
|
} |
|
module.exports = stringify;
|
|
|