+++ /dev/null
-"use strict";
-const cssSyntax = require("./css-syntax");
-
-function stringify (document, builder) {
- if (document.source.syntax) {
- return document.source.syntax.stringify(document, builder);
- } else {
- const firstOriginalRoot = document.nodes.find(root => root.source && root.source.syntax);
- let defaultSyntax;
- document.nodes.forEach((root, i) => {
- let syntax = root.source && root.source.syntax;
- if (syntax) {
- if (root.raws.beforeStart) {
- builder(root.raws.beforeStart, root, "beforeStart");
- }
- defaultSyntax = syntax;
- } else {
- if (!i && firstOriginalRoot) {
- builder(firstOriginalRoot.raws.beforeStart, root, "beforeStart");
- firstOriginalRoot.raws.beforeStart = "";
- }
- syntax = defaultSyntax || (
- defaultSyntax = firstOriginalRoot
- ? firstOriginalRoot.source.syntax
- : cssSyntax({})
- );
- }
- if (root.source && root.source.isHTMLAttribute) {
- return syntax.stringify(root, string => {
- builder.apply(
- null,
- [
- string.replace(/[\r\n\t\s]+/g, " "),
- ].concat(
- Array.from(arguments).slice(1)
- )
- );
- });
- } else {
- syntax.stringify(root, builder);
- }
- });
- builder(document.raws.afterEnd, document, "afterEnd");
- }
-}
-
-module.exports = stringify;