UNPKG

vike

Version:

The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.

35 lines (34 loc) 1.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.preparePageContextForUserConsumption = preparePageContextForUserConsumption; const utils_js_1 = require("./utils.js"); const addIs404ToPageProps_js_1 = require("./addIs404ToPageProps.js"); function preparePageContextForUserConsumption(pageContext) { (0, utils_js_1.assert)(pageContext.pageId); (0, utils_js_1.assert)('config' in pageContext); (0, utils_js_1.assert)('configEntries' in pageContext); (0, addIs404ToPageProps_js_1.addIs404ToPageProps)(pageContext); // TODO/next-major-release: remove if (!('_pageId' in pageContext)) { Object.defineProperty(pageContext, '_pageId', { get() { (0, utils_js_1.assertWarning)(false, 'pageContext._pageId has been renamed to pageContext.pageId', { showStackTrace: true, onlyOnce: true }); return pageContext.pageId; }, enumerable: false }); } // For a more readable `console.log(pageContext)` output sortPageContext(pageContext); } // Sort `pageContext` keys alphabetically, in order to make reading the `console.log(pageContext)` output easier function sortPageContext(pageContext) { let descriptors = Object.getOwnPropertyDescriptors(pageContext); for (const key of Object.keys(pageContext)) delete pageContext[key]; descriptors = Object.fromEntries(Object.entries(descriptors).sort(([key1], [key2]) => (0, utils_js_1.compareString)(key1, key2))); Object.defineProperties(pageContext, descriptors); }