UNPKG

2.11 kBJavaScriptView Raw
1/*
2 MIT License http://www.opensource.org/licenses/mit-license.php
3 Author Tobias Koppers @sokra
4*/
5/*globals hotAddUpdateChunk parentHotUpdateCallback document XMLHttpRequest $require$ $hotChunkFilename$ $hotMainFilename$ $crossOriginLoading$ */
6module.exports = function() {
7 // eslint-disable-next-line no-unused-vars
8 function webpackHotUpdateCallback(chunkId, moreModules) {
9 hotAddUpdateChunk(chunkId, moreModules);
10 if (parentHotUpdateCallback) parentHotUpdateCallback(chunkId, moreModules);
11 } //$semicolon
12
13 // eslint-disable-next-line no-unused-vars
14 function hotDownloadUpdateChunk(chunkId) {
15 var head = document.getElementsByTagName("head")[0];
16 var script = document.createElement("script");
17 script.charset = "utf-8";
18 script.src = $require$.p + $hotChunkFilename$;
19 if ($crossOriginLoading$) script.crossOrigin = $crossOriginLoading$;
20 head.appendChild(script);
21 }
22
23 // eslint-disable-next-line no-unused-vars
24 function hotDownloadManifest(requestTimeout) {
25 requestTimeout = requestTimeout || 10000;
26 return new Promise(function(resolve, reject) {
27 if (typeof XMLHttpRequest === "undefined") {
28 return reject(new Error("No browser support"));
29 }
30 try {
31 var request = new XMLHttpRequest();
32 var requestPath = $require$.p + $hotMainFilename$;
33 request.open("GET", requestPath, true);
34 request.timeout = requestTimeout;
35 request.send(null);
36 } catch (err) {
37 return reject(err);
38 }
39 request.onreadystatechange = function() {
40 if (request.readyState !== 4) return;
41 if (request.status === 0) {
42 // timeout
43 reject(
44 new Error("Manifest request to " + requestPath + " timed out.")
45 );
46 } else if (request.status === 404) {
47 // no update available
48 resolve();
49 } else if (request.status !== 200 && request.status !== 304) {
50 // other failure
51 reject(new Error("Manifest request to " + requestPath + " failed."));
52 } else {
53 // success
54 try {
55 var update = JSON.parse(request.responseText);
56 } catch (e) {
57 reject(e);
58 return;
59 }
60 resolve(update);
61 }
62 };
63 });
64 }
65};