tethysfaceid
Version:
1 lines • 13.8 kB
JSON
{"ast":null,"code":"\"use strict\";\n\nvar _classCallCheck = require(\"/Users/dhrumil1/Documents/Tethy/online-verification/node_modules/@babel/runtime/helpers/classCallCheck\");\n\nvar _createClass = require(\"/Users/dhrumil1/Documents/Tethy/online-verification/node_modules/@babel/runtime/helpers/createClass\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _router = require(\"../next-server/lib/router/router\");\n\nvar _getAssetPathFromRoute = _interopRequireDefault(require(\"../next-server/lib/router/utils/get-asset-path-from-route\"));\n\nvar _isDynamic = require(\"../next-server/lib/router/utils/is-dynamic\");\n\nvar _parseRelativeUrl = require(\"../next-server/lib/router/utils/parse-relative-url\");\n\nvar _routeLoader = _interopRequireWildcard(require(\"./route-loader\"));\n\nfunction normalizeRoute(route) {\n if (route[0] !== '/') {\n throw new Error(\"Route name should start with a \\\"/\\\", got \\\"\".concat(route, \"\\\"\"));\n }\n\n if (route === '/') return route;\n return route.replace(/\\/$/, '');\n}\n\nvar PageLoader = /*#__PURE__*/function () {\n function PageLoader(buildId, assetPrefix) {\n _classCallCheck(this, PageLoader);\n\n this.buildId = void 0;\n this.assetPrefix = void 0;\n this.promisedSsgManifest = void 0;\n this.promisedDevPagesManifest = void 0;\n this.routeLoader = void 0;\n this.routeLoader = (0, _routeLoader[\"default\"])(assetPrefix);\n this.buildId = buildId;\n this.assetPrefix = assetPrefix;\n /** @type {Promise<Set<string>>} */\n\n this.promisedSsgManifest = new Promise(function (resolve) {\n if (window.__SSG_MANIFEST) {\n resolve(window.__SSG_MANIFEST);\n } else {\n ;\n\n window.__SSG_MANIFEST_CB = function () {\n resolve(window.__SSG_MANIFEST);\n };\n }\n });\n }\n\n _createClass(PageLoader, [{\n key: \"getPageList\",\n value: function getPageList() {\n if (false) {\n return (0, _routeLoader.getClientBuildManifest)().then(function (manifest) {\n return manifest.sortedPages;\n });\n } else {\n if (window.__DEV_PAGES_MANIFEST) {\n return window.__DEV_PAGES_MANIFEST.pages;\n } else {\n if (!this.promisedDevPagesManifest) {\n this.promisedDevPagesManifest = fetch(\"\".concat(this.assetPrefix, \"/_next/static/development/_devPagesManifest.json\")).then(function (res) {\n return res.json();\n }).then(function (manifest) {\n ;\n window.__DEV_PAGES_MANIFEST = manifest;\n return manifest.pages;\n })[\"catch\"](function (err) {\n console.log(\"Failed to fetch devPagesManifest\", err);\n });\n }\n\n return this.promisedDevPagesManifest;\n }\n }\n }\n /**\n * @param {string} href the route href (file-system path)\n * @param {string} asPath the URL as shown in browser (virtual path); used for dynamic routes\n */\n\n }, {\n key: \"getDataHref\",\n value: function getDataHref(href, asPath, ssg, locale) {\n var _this = this;\n\n var _ref = (0, _parseRelativeUrl.parseRelativeUrl)(href),\n hrefPathname = _ref.pathname,\n query = _ref.query,\n search = _ref.search;\n\n var _ref2 = (0, _parseRelativeUrl.parseRelativeUrl)(asPath),\n asPathname = _ref2.pathname;\n\n var route = normalizeRoute(hrefPathname);\n\n var getHrefForSlug = function getHrefForSlug(path) {\n var dataRoute = (0, _getAssetPathFromRoute[\"default\"])((0, _router.addLocale)(path, locale), '.json');\n return (0, _router.addBasePath)(\"/_next/data/\".concat(_this.buildId).concat(dataRoute).concat(ssg ? '' : search));\n };\n\n var isDynamic = (0, _isDynamic.isDynamicRoute)(route);\n var interpolatedRoute = isDynamic ? (0, _router.interpolateAs)(hrefPathname, asPathname, query).result : '';\n return isDynamic ? interpolatedRoute && getHrefForSlug(interpolatedRoute) : getHrefForSlug(route);\n }\n /**\n * @param {string} href the route href (file-system path)\n */\n\n }, {\n key: \"_isSsg\",\n value: function _isSsg(href) {\n var _ref3 = (0, _parseRelativeUrl.parseRelativeUrl)(href),\n hrefPathname = _ref3.pathname;\n\n var route = normalizeRoute(hrefPathname);\n return this.promisedSsgManifest.then(function (s) {\n return s.has(route);\n });\n }\n }, {\n key: \"loadPage\",\n value: function loadPage(route) {\n return this.routeLoader.loadRoute(route).then(function (res) {\n if ('component' in res) {\n return {\n page: res.component,\n mod: res.exports,\n styleSheets: res.styles.map(function (o) {\n return {\n href: o.href,\n text: o.content\n };\n })\n };\n }\n\n throw res.error;\n });\n }\n }, {\n key: \"prefetch\",\n value: function prefetch(route) {\n return this.routeLoader.prefetch(route);\n }\n }]);\n\n return PageLoader;\n}();\n\nexports[\"default\"] = PageLoader;","map":{"version":3,"sources":["../../client/page-loader.ts"],"names":["route","PageLoader","buildId","assetPrefix","promisedSsgManifest","promisedDevPagesManifest","routeLoader","constructor","resolve","window","getPageList","manifest","fetch","res","err","console","pathname","normalizeRoute","getHrefForSlug","path","dataRoute","ssg","isDynamic","interpolatedRoute","s","loadPage","page","mod","styleSheets","o","href","text","prefetch"],"mappings":"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","sourcesContent":["import { ComponentType } from 'react'\nimport type { ClientSsgManifest } from '../build'\nimport {\n addBasePath,\n addLocale,\n interpolateAs,\n} from '../next-server/lib/router/router'\nimport getAssetPathFromRoute from '../next-server/lib/router/utils/get-asset-path-from-route'\nimport { isDynamicRoute } from '../next-server/lib/router/utils/is-dynamic'\nimport { parseRelativeUrl } from '../next-server/lib/router/utils/parse-relative-url'\nimport createRouteLoader, {\n getClientBuildManifest,\n RouteLoader,\n} from './route-loader'\n\nfunction normalizeRoute(route: string) {\n if (route[0] !== '/') {\n throw new Error(`Route name should start with a \"/\", got \"${route}\"`)\n }\n\n if (route === '/') return route\n return route.replace(/\\/$/, '')\n}\n\nexport type StyleSheetTuple = { href: string; text: string }\nexport type GoodPageCache = {\n page: ComponentType\n mod: any\n styleSheets: StyleSheetTuple[]\n}\n\nexport default class PageLoader {\n private buildId: string\n private assetPrefix: string\n\n private promisedSsgManifest?: Promise<ClientSsgManifest>\n private promisedDevPagesManifest?: Promise<any>\n public routeLoader: RouteLoader\n\n constructor(buildId: string, assetPrefix: string) {\n this.routeLoader = createRouteLoader(assetPrefix)\n\n this.buildId = buildId\n this.assetPrefix = assetPrefix\n\n /** @type {Promise<Set<string>>} */\n this.promisedSsgManifest = new Promise((resolve) => {\n if ((window as any).__SSG_MANIFEST) {\n resolve((window as any).__SSG_MANIFEST)\n } else {\n ;(window as any).__SSG_MANIFEST_CB = () => {\n resolve((window as any).__SSG_MANIFEST)\n }\n }\n })\n }\n\n getPageList() {\n if (process.env.NODE_ENV === 'production') {\n return getClientBuildManifest().then((manifest) => manifest.sortedPages)\n } else {\n if ((window as any).__DEV_PAGES_MANIFEST) {\n return (window as any).__DEV_PAGES_MANIFEST.pages\n } else {\n if (!this.promisedDevPagesManifest) {\n this.promisedDevPagesManifest = fetch(\n `${this.assetPrefix}/_next/static/development/_devPagesManifest.json`\n )\n .then((res) => res.json())\n .then((manifest) => {\n ;(window as any).__DEV_PAGES_MANIFEST = manifest\n return manifest.pages\n })\n .catch((err) => {\n console.log(`Failed to fetch devPagesManifest`, err)\n })\n }\n return this.promisedDevPagesManifest\n }\n }\n }\n\n /**\n * @param {string} href the route href (file-system path)\n * @param {string} asPath the URL as shown in browser (virtual path); used for dynamic routes\n */\n getDataHref(\n href: string,\n asPath: string,\n ssg: boolean,\n locale?: string | false\n ) {\n const { pathname: hrefPathname, query, search } = parseRelativeUrl(href)\n const { pathname: asPathname } = parseRelativeUrl(asPath)\n const route = normalizeRoute(hrefPathname)\n\n const getHrefForSlug = (path: string) => {\n const dataRoute = getAssetPathFromRoute(addLocale(path, locale), '.json')\n return addBasePath(\n `/_next/data/${this.buildId}${dataRoute}${ssg ? '' : search}`\n )\n }\n\n const isDynamic: boolean = isDynamicRoute(route)\n const interpolatedRoute = isDynamic\n ? interpolateAs(hrefPathname, asPathname, query).result\n : ''\n\n return isDynamic\n ? interpolatedRoute && getHrefForSlug(interpolatedRoute)\n : getHrefForSlug(route)\n }\n\n /**\n * @param {string} href the route href (file-system path)\n */\n _isSsg(href: string): Promise<boolean> {\n const { pathname: hrefPathname } = parseRelativeUrl(href)\n const route = normalizeRoute(hrefPathname)\n return this.promisedSsgManifest!.then((s: ClientSsgManifest) =>\n s.has(route)\n )\n }\n\n loadPage(route: string): Promise<GoodPageCache> {\n return this.routeLoader.loadRoute(route).then((res) => {\n if ('component' in res) {\n return {\n page: res.component,\n mod: res.exports,\n styleSheets: res.styles.map((o) => ({\n href: o.href,\n text: o.content,\n })),\n }\n }\n throw res.error\n })\n }\n\n prefetch(route: string): Promise<void> {\n return this.routeLoader.prefetch(route)\n }\n}\n"]},"metadata":{},"sourceType":"script"}