"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const json_1 = __importDefault(require("../json")); const deprecate_1 = __importDefault(require("./deprecate")); const encodeProgress_1 = __importDefault(require("./encodeProgress")); /** Encode a page in a context to a JS API */ function encodePage(output, page) { const book = output.getBook(); const summary = book.getSummary(); const fs = book.getContentFS(); const file = page.getFile(); // JS Page is based on the JSON output const result = json_1.default.encodePage(page, summary); result.type = file.getType(); result.path = file.getPath(); result.rawPath = fs.resolve(result.path); deprecate_1.default.field(output, "page.progress", result, "progress", () => { return (0, encodeProgress_1.default)(output, page); }, '"page.progress" property is deprecated'); deprecate_1.default.field(output, "page.sections", result, "sections", [ { content: result.content, type: "normal" } ], '"sections" property is deprecated, use page.content instead'); return result; } exports.default = encodePage;