UNPKG

1.23 kBJavaScriptView Raw
1"use strict";exports.__esModule=true;exports.closePing=closePing;exports.setupPing=setupPing;exports.currentPage=void 0;var _eventsource=require("./error-overlay/eventsource");/* global location */let evtSource;let currentPage;exports.currentPage=currentPage;function closePing(){if(evtSource)evtSource.close();evtSource=null;}function setupPing(assetPrefix,pathnameFn,retry){const pathname=pathnameFn();// Make sure to only create new EventSource request if page has changed
2if(pathname===currentPage&&!retry)return;exports.currentPage=currentPage=pathname;// close current EventSource connection
3closePing();evtSource=(0,_eventsource.getEventSourceWrapper)({path:`${assetPrefix}/_next/webpack-hmr?page=${currentPage}`,timeout:5000});evtSource.addMessageListener(event=>{if(event.data.indexOf('{')===-1)return;try{const payload=JSON.parse(event.data);if(payload.invalid){// Payload can be invalid even if the page does not exist.
4// So, we need to make sure it exists before reloading.
5fetch(location.href,{credentials:'same-origin'}).then(pageRes=>{if(pageRes.status===200){location.reload();}});}}catch(err){console.error('on-demand-entries failed to parse response',err);}});}
6//# sourceMappingURL=on-demand-entries-utils.js.map
\No newline at end of file