| 
									
										
										
										
											2015-04-29 05:38:41 +08:00
										 |  |  | /* | 
					
						
							|  |  |  | 	MIT License http://www.opensource.org/licenses/mit-license.php
 | 
					
						
							|  |  |  | 	Author Tobias Koppers @sokra | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | /*globals hotAddUpdateChunk parentHotUpdateCallback document XMLHttpRequest $require$ $hotChunkFilename$ $hotMainFilename$ */ | 
					
						
							|  |  |  | module.exports = function() { | 
					
						
							|  |  |  | 	function webpackHotUpdateCallback(chunkId, moreModules) { // eslint-disable-line no-unused-vars
 | 
					
						
							|  |  |  | 		hotAddUpdateChunk(chunkId, moreModules); | 
					
						
							| 
									
										
										
										
											2015-07-16 06:19:23 +08:00
										 |  |  | 		if(parentHotUpdateCallback) parentHotUpdateCallback(chunkId, moreModules); | 
					
						
							| 
									
										
										
										
											2015-04-29 05:38:41 +08:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	function hotDownloadUpdateChunk(chunkId) { // eslint-disable-line no-unused-vars
 | 
					
						
							|  |  |  | 		var head = document.getElementsByTagName("head")[0]; | 
					
						
							|  |  |  | 		var script = document.createElement("script"); | 
					
						
							|  |  |  | 		script.type = "text/javascript"; | 
					
						
							|  |  |  | 		script.charset = "utf-8"; | 
					
						
							|  |  |  | 		script.src = $require$.p + $hotChunkFilename$; | 
					
						
							|  |  |  | 		head.appendChild(script); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	function hotDownloadManifest(callback) { // eslint-disable-line no-unused-vars
 | 
					
						
							| 
									
										
										
										
											2015-07-16 06:19:23 +08:00
										 |  |  | 		if(typeof XMLHttpRequest === "undefined") | 
					
						
							| 
									
										
										
										
											2015-04-29 05:38:41 +08:00
										 |  |  | 			return callback(new Error("No browser support")); | 
					
						
							|  |  |  | 		try { | 
					
						
							|  |  |  | 			var request = new XMLHttpRequest(); | 
					
						
							|  |  |  | 			var requestPath = $require$.p + $hotMainFilename$; | 
					
						
							|  |  |  | 			request.open("GET", requestPath, true); | 
					
						
							|  |  |  | 			request.timeout = 10000; | 
					
						
							|  |  |  | 			request.send(null); | 
					
						
							| 
									
										
										
										
											2015-07-16 06:19:23 +08:00
										 |  |  | 		} catch(err) { | 
					
						
							| 
									
										
										
										
											2015-04-29 05:38:41 +08:00
										 |  |  | 			return callback(err); | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 		request.onreadystatechange = function() { | 
					
						
							| 
									
										
										
										
											2015-07-16 06:19:23 +08:00
										 |  |  | 			if(request.readyState !== 4) return; | 
					
						
							|  |  |  | 			if(request.status === 0) { | 
					
						
							| 
									
										
										
										
											2015-04-29 05:38:41 +08:00
										 |  |  | 				// timeout
 | 
					
						
							|  |  |  | 				callback(new Error("Manifest request to " + requestPath + " timed out.")); | 
					
						
							| 
									
										
										
										
											2015-07-16 06:19:23 +08:00
										 |  |  | 			} else if(request.status === 404) { | 
					
						
							| 
									
										
										
										
											2015-04-29 05:38:41 +08:00
										 |  |  | 				// no update available
 | 
					
						
							|  |  |  | 				callback(); | 
					
						
							| 
									
										
										
										
											2015-07-16 06:19:23 +08:00
										 |  |  | 			} else if(request.status !== 200 && request.status !== 304) { | 
					
						
							| 
									
										
										
										
											2015-04-29 05:38:41 +08:00
										 |  |  | 				// other failure
 | 
					
						
							|  |  |  | 				callback(new Error("Manifest request to " + requestPath + " failed.")); | 
					
						
							|  |  |  | 			} else { | 
					
						
							|  |  |  | 				// success
 | 
					
						
							|  |  |  | 				try { | 
					
						
							|  |  |  | 					var update = JSON.parse(request.responseText); | 
					
						
							| 
									
										
										
										
											2015-07-16 06:19:23 +08:00
										 |  |  | 				} catch(e) { | 
					
						
							| 
									
										
										
										
											2015-04-29 05:38:41 +08:00
										 |  |  | 					callback(e); | 
					
						
							|  |  |  | 					return; | 
					
						
							|  |  |  | 				} | 
					
						
							|  |  |  | 				callback(null, update); | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 		}; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | }; |