diff2html/src/file-list-renderer.ts

34 lines
952 B
TypeScript
Raw Normal View History

2019-10-12 21:45:49 +00:00
import * as renderUtils from "./render-utils";
import HoganJsUtils from "./hoganjs-utils";
2019-10-21 22:37:42 +00:00
import { DiffFile } from "./types";
2019-10-12 21:45:49 +00:00
const baseTemplatesPath = "file-summary";
const iconsBaseTemplatesPath = "icon";
2019-10-21 22:37:42 +00:00
export function render(diffFiles: DiffFile[], hoganUtils: HoganJsUtils): string {
2019-10-12 21:45:49 +00:00
const files = diffFiles
.map(file =>
hoganUtils.render(
baseTemplatesPath,
"line",
{
fileHtmlId: renderUtils.getHtmlId(file),
oldName: file.oldName,
newName: file.newName,
fileName: renderUtils.filenameDiff(file),
deletedLines: "-" + file.deletedLines,
addedLines: "+" + file.addedLines
},
{
fileIcon: hoganUtils.template(iconsBaseTemplatesPath, renderUtils.getFileIcon(file))
}
)
)
.join("\n");
return hoganUtils.render(baseTemplatesPath, "wrapper", {
filesNumber: diffFiles.length,
files: files
});
}