2025-05-12 05:38:44 +09:00

42 lines
1.3 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 deprecate_1 = __importDefault(require("./deprecate"));
/**
Decode changes from a JS API to a page object.
Only the content can be edited by plugin's hooks.
@param {Output} output
@param {Page} page: page instance to edit
@param {Object} result: result from API
@return {Page}
*/
function decodePage(output, page, result) {
const originalContent = page.getContent();
// No returned value
// Existing content will be used
if (!result) {
return page;
}
deprecate_1.default.disable("page.sections");
// GitBook/HonKit 3
// Use returned page.content if different from original content
if (result.content != originalContent) {
page = page.set("content", result.content);
}
// GitBook 2 compatibility
// Finally, use page.sections
else if (result.sections) {
page = page.set("content", result.sections
.map((section) => {
return section.content;
})
.join("\n"));
}
deprecate_1.default.enable("page.sections");
return page;
}
exports.default = decodePage;