1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = void 0;
- var _async_to_generator = require("@swc/helpers/lib/_async_to_generator.js").default;
- var _interop_require_default = require("@swc/helpers/lib/_interop_require_default.js").default;
- var _router = _interop_require_default(require("next/router"));
- var _websocket = require("./error-overlay/websocket");
- var _default = _async_to_generator(function*(page) {
- if (page) {
- // in AMP the router isn't initialized on the client and
- // client-transitions don't occur so ping initial page
- setInterval(()=>{
- (0, _websocket).sendMessage(JSON.stringify({
- event: 'ping',
- page
- }));
- }, 2500);
- } else {
- _router.default.ready(()=>{
- setInterval(()=>{
- // when notFound: true is returned we should use the notFoundPage
- // as the Router.pathname will point to the 404 page but we want
- // to ping the source page that returned notFound: true instead
- const notFoundSrcPage = self.__NEXT_DATA__.notFoundSrcPage;
- const pathname = (_router.default.pathname === '/404' || _router.default.pathname === '/_error') && notFoundSrcPage ? notFoundSrcPage : _router.default.pathname;
- (0, _websocket).sendMessage(JSON.stringify({
- event: 'ping',
- page: pathname
- }));
- }, 2500);
- });
- }
- (0, _websocket).addMessageListener((event)=>{
- if (event.data.indexOf('{') === -1) return;
- try {
- const payload = JSON.parse(event.data);
- // don't attempt fetching the page if we're already showing
- // the dev overlay as this can cause the error to be triggered
- // repeatedly
- if (payload.event === 'pong' && payload.invalid && !self.__NEXT_DATA__.err) {
- // Payload can be invalid even if the page does exist.
- // So, we check if it can be created.
- fetch(location.href, {
- credentials: 'same-origin'
- }).then((pageRes)=>{
- if (pageRes.status === 200) {
- // Page exists now, reload
- location.reload();
- } else {
- // Page doesn't exist
- if (self.__NEXT_DATA__.page === _router.default.pathname && _router.default.pathname !== '/_error') {
- // We are still on the page,
- // reload to show 404 error page
- location.reload();
- }
- }
- });
- }
- } catch (err) {
- console.error('on-demand-entries failed to parse response', err);
- }
- });
- });
- exports.default = _default;
- if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
- Object.defineProperty(exports.default, '__esModule', { value: true });
- Object.assign(exports.default, exports);
- module.exports = exports.default;
- }
- //# sourceMappingURL=on-demand-entries-client.js.map
|