"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const parse_1 = __importDefault(require("../parse")); const output_1 = __importDefault(require("../output")); const timing_1 = __importDefault(require("../utils/timing")); const options_1 = __importDefault(require("./options")); const getBook_1 = __importDefault(require("./getBook")); const getOutputFolder_1 = __importDefault(require("./getOutputFolder")); const page_cache_1 = require("../output/page-cache"); exports.default = { name: "build [book] [output]", description: "build a book", options: [options_1.default.log, options_1.default.format, options_1.default.timing, options_1.default.reload], exec: function (args, kwargs) { const book = (0, getBook_1.default)(args, kwargs); const outputFolder = (0, getOutputFolder_1.default)(args); const Generator = output_1.default.getGenerator(kwargs.format); if (kwargs.reload) { book.getLogger().info.ok(`Clear cache`); (0, page_cache_1.clearCache)(); } return parse_1.default.parseBook(book) .then((resultBook) => { return output_1.default.generate(Generator, resultBook, { root: outputFolder }); }) .fin(() => { if (kwargs.timing) timing_1.default.dump(book.getLogger()); }); } };