UNPKG

vike

Version:

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

41 lines (40 loc) 1.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getErrorPageId = getErrorPageId; exports.isErrorPageId = isErrorPageId; exports.isErrorPage = isErrorPage; // TODO/v1-release: consider loading this file only for Client Routing const utils_js_1 = require("./utils.js"); function getErrorPageId(pageFilesAll, pageConfigs) { if (pageConfigs.length > 0) { const errorPageConfigs = pageConfigs.filter((p) => p.isErrorPage); if (errorPageConfigs.length === 0) return null; (0, utils_js_1.assertUsage)(errorPageConfigs.length === 1, 'Only one error page can be defined'); return errorPageConfigs[0].pageId; } // TODO/v1-release: remove const errorPageIds = (0, utils_js_1.unique)(pageFilesAll.map(({ pageId }) => pageId).filter((pageId) => isErrorPageId(pageId, false))); (0, utils_js_1.assertUsage)(errorPageIds.length <= 1, `Only one _error.page.js is allowed, but found several: ${errorPageIds.join(' ')}`); if (errorPageIds.length > 0) { const errorPageId = errorPageIds[0]; (0, utils_js_1.assert)(errorPageId); return errorPageId; } return null; } // TODO/v1-release: remove function isErrorPageId(pageId, _isV1Design) { (0, utils_js_1.assert)(!pageId.includes('\\')); return pageId.includes('/_error'); } function isErrorPage(pageId, pageConfigs) { if (pageConfigs.length > 0) { const pageConfig = pageConfigs.find((p) => p.pageId === pageId); (0, utils_js_1.assert)(pageConfig); return !!pageConfig.isErrorPage; } else { return isErrorPageId(pageId, false); } }