UNPKG

1.73 kBJavaScriptView Raw
1var _path = require("path");
2var _function = require("dr-js/library/node/file/function");
3var _generateInfo = require("./generateInfo");
4exports.getMarkdownHeaderLink = (text => `[${text}](#${text.trim().toLowerCase().replace(/[^\w\- ]+/g, "").replace(/\s/g, "-").replace(/-+$/, "")})`);
5const escapeMarkdownLink = name => name.replace(/_/g, "\\_");
6exports.escapeMarkdownLink = escapeMarkdownLink;
7const renderMarkdownFileLink = path => `📄 [${escapeMarkdownLink(path)}](${path})`;
8exports.renderMarkdownFileLink = renderMarkdownFileLink;
9exports.renderMarkdownDirectoryLink = (path => `📁 [${escapeMarkdownLink(path).replace(/\/*$/, "/")}](${path})`);
10exports.renderMarkdownExportPath = (({exportInfoMap, rootPath}) => Object.entries(exportInfoMap).reduce((textList, [path, value]) => {
11 value[_generateInfo.EXPORT_LIST_KEY] && textList.push(`+ ${renderMarkdownFileLink(`${(0, _function.toPosixPath)((0, _path.relative)(rootPath, path))}.js`)}`, ` - ${value[_generateInfo.EXPORT_LIST_KEY].map(text => `\`${text}\``).join(", ")}`);
12 return textList;
13}, []));
14const renderMarkdownExportTree = ({exportInfo, routeList}) => Object.entries(exportInfo).reduce((textList, [key, value]) => {
15 if (key === _generateInfo.HOIST_LIST_KEY) ; else if (key === _generateInfo.EXPORT_LIST_KEY || key === _generateInfo.EXPORT_HOIST_LIST_KEY) textList.push(`- ${value.map(text => `\`${text}\``).join(", ")}`); else {
16 const childTextList = renderMarkdownExportTree({
17 exportInfo: value,
18 routeList: [ ...routeList, key ]
19 });
20 childTextList.length && textList.push(`- **${key}**`, ...childTextList.map(text => ` ${text}`));
21 }
22 return textList;
23}, []);
24exports.renderMarkdownExportTree = renderMarkdownExportTree;
\No newline at end of file