honkit
Version:
HonKit is building beautiful books using Markdown.
55 lines (54 loc) • 1.68 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateMockBook = generateMockBook;
const mock_1 = __importDefault(require("../../fs/mock"));
const tmpdir_1 = require("../../fs/tmpdir");
const book_1 = __importDefault(require("../../models/book"));
const parseBook_1 = __importDefault(require("../../parse/parseBook"));
const generateBook_1 = require("../generateBook");
/**
* Generate a book using a generator
* And returns the path to the output dir.
*
* FOR TESTING PURPOSE ONLY
*
* @param Generator
* @param {Map<String:String|Map>} files
* @return {Promise<String>}
*/
function generateMockBook(Generator, files) {
const fs = (0, mock_1.default)(files);
let book = book_1.default.createForFS(fs);
const dir = (0, tmpdir_1.createTmpDirWithRealPath)("honkit-generate-test-");
book = book.setLogLevel("disabled");
return (0, parseBook_1.default)(book)
.then((resultBook) => {
return (0, generateBook_1.generateBook)(Generator, resultBook, {
root: dir
});
})
.then((output) => {
return {
book,
output,
dir
};
});
}
/**
* Generate a book using a generator
* And returns the path to the output dir.
*
* FOR TESTING PURPOSE ONLY
*
* @param Generator
* @param {Map<String:String|Map>} files
* @return {Promise<String>}
*/
function generateMock(Generator, files) {
return generateMockBook(Generator, files).then((ret) => ret.dir);
}
exports.default = generateMock;