UNPKG

next-page-tester

Version:
75 lines (74 loc) 2.86 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.makeStaticPropsContext = exports.makeGetServerSidePropsContext = exports.makeGetInitialPropsContext = void 0; const react_1 = require("react"); const cookie_1 = require("cookie"); const makeHttpObjects_1 = __importDefault(require("./makeHttpObjects")); const utils_1 = require("../utils"); function makeGetInitialPropsContext({ pageObject, options: { req: reqMocker, res: resMocker, previousRoute, env }, }) { const { pagePath, params, route, query } = pageObject; const ctx = { // @NOTE AppTree is currently just a stub AppTree: react_1.Fragment, pathname: pagePath, query: { ...params, ...query }, asPath: route, }; if (env === 'server') { const { req, res } = (0, makeHttpObjects_1.default)({ pageObject, reqMocker, resMocker, refererRoute: previousRoute, }); ctx.req = req; ctx.res = res; } return ctx; } exports.makeGetInitialPropsContext = makeGetInitialPropsContext; function makeGetServerSidePropsContext({ pageObject, options, }) { const { req: reqMocker, res: resMocker, previousRoute } = options; const { params, query, resolvedUrl } = pageObject; const { req, res } = (0, makeHttpObjects_1.default)({ pageObject, reqMocker, resMocker, refererRoute: previousRoute, }); const { locale, locales, defaultLocale } = (0, utils_1.getLocales)({ pageObject }); // parsed "cookies" are only available in "getServerSideProps" data fetching method // https://github.com/vercel/next.js/pull/19724/files#diff-f1cccfe490138be7dae0d63562f6a2834af92d21130e0ff10d6de7ad30613f6bR132 if (req.headers.cookie) { req.cookies = (0, cookie_1.parse)(req.headers.cookie); } // @TODO complete ctx object // https://nextjs.org/docs/basic-features/data-fetching#getserversideprops-server-side-rendering return { params: { ...params }, query: { ...query }, resolvedUrl, req, res, locale, locales, defaultLocale, }; } exports.makeGetServerSidePropsContext = makeGetServerSidePropsContext; function makeStaticPropsContext({ pageObject, }) { const { params } = pageObject; const { locale, locales, defaultLocale } = (0, utils_1.getLocales)({ pageObject }); // @TODO complete ctx object // https://nextjs.org/docs/basic-features/data-fetching#getstaticprops-static-generation return { params: { ...params }, locale, locales, defaultLocale, }; } exports.makeStaticPropsContext = makeStaticPropsContext;