"use strict"; const { builders: { hardline, literalline, concat, markAsRoot }, utils: { mapDoc } } = require("../doc"); function embed(path, print, textToDoc /*, options */) { const node = path.getValue(); if (node.type === "yaml") { return markAsRoot( concat([ "---", hardline, node.value.trim() ? replaceNewlinesWithLiterallines( textToDoc(node.value, { parser: "yaml" }) ) : "", "---", hardline ]) ); } return null; function replaceNewlinesWithLiterallines(doc) { return mapDoc(doc, currentDoc => typeof currentDoc === "string" && currentDoc.includes("\n") ? concat( currentDoc .split(/(\n)/g) .map((v, i) => (i % 2 === 0 ? v : literalline)) ) : currentDoc ); } } module.exports = embed;