world/book/node_modules/honkit/lib/api/encodeSummary.js
2025-05-12 05:38:44 +09:00

51 lines
1.5 KiB
JavaScript

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const encodeSummaryArticle_1 = __importDefault(require("../json/encodeSummaryArticle"));
/**
Encode summary to provide an API to plugin
@param {Output} output
@param {Config} config
@return {Object}
*/
function encodeSummary(output, summary) {
const result = {
/**
Iterate over the summary, it stops when the "iter" returns false
@param {Function} iter
*/
walk: function (iter) {
summary.getArticle((article) => {
const jsonArticle = (0, encodeSummaryArticle_1.default)(article, false);
return iter(jsonArticle);
});
},
/**
Get an article by its level
@param {string} level
@return {Object}
*/
getArticleByLevel: function (level) {
const article = summary.getByLevel(level);
return article ? (0, encodeSummaryArticle_1.default)(article) : undefined;
},
/**
Get an article by its path
@param {string} level
@return {Object}
*/
getArticleByPath: function (level) {
const article = summary.getByPath(level);
return article ? (0, encodeSummaryArticle_1.default)(article) : undefined;
}
};
return result;
}
exports.default = encodeSummary;