"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const extend_1 = __importDefault(require("extend")); const honkit_1 = __importDefault(require("../honkit")); const encodeSummary_1 = __importDefault(require("./encodeSummary")); const encodeGlossary_1 = __importDefault(require("./encodeGlossary")); const encodeReadme_1 = __importDefault(require("./encodeReadme")); const encodeLanguages_1 = __importDefault(require("./encodeLanguages")); /** Encode a book to JSON @param {Book} @return {Object} */ function encodeBookToJson(book) { const config = book.getConfig(); const language = book.getLanguage(); const variables = config.getValue("variables", {}); return { summary: (0, encodeSummary_1.default)(book.getSummary()), glossary: (0, encodeGlossary_1.default)(book.getGlossary()), readme: (0, encodeReadme_1.default)(book.getReadme()), config: book.getConfig().getValues().toJS(), languages: book.isMultilingual() ? (0, encodeLanguages_1.default)(book.getLanguages()) : undefined, gitbook: { version: honkit_1.default.version, time: honkit_1.default.START_TIME }, honkit: { version: honkit_1.default.version, time: honkit_1.default.START_TIME }, book: (0, extend_1.default)({ language: language ? language : undefined }, variables.toJS()) }; } exports.default = encodeBookToJson;