honkit
Version:
HonKit is building beautiful books using Markdown.
55 lines (54 loc) • 1.66 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 tmp_1 = __importDefault(require("tmp"));
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 = tmp_1.default.dirSync();
book = book.setLogLevel("disabled");
return (0, parseBook_1.default)(book)
.then((resultBook) => {
return (0, generateBook_1.generateBook)(Generator, resultBook, {
root: dir.name
});
})
.then((output) => {
return {
book,
output,
dir: dir.name
};
});
}
/**
* 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;