| 
									
										
										
										
											2013-01-31 01:49:25 +08:00
										 |  |  | /* | 
					
						
							|  |  |  | 	MIT License http://www.opensource.org/licenses/mit-license.php
 | 
					
						
							|  |  |  | 	Author Tobias Koppers @sokra | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | var RawSource = require("webpack-core/lib/RawSource"); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-04 20:08:47 +08:00
										 |  |  | function EvalDevToolModuleTemplateDecorator(moduleTemplate, sourceUrlComment) { | 
					
						
							| 
									
										
										
										
											2013-01-31 01:49:25 +08:00
										 |  |  | 	this.moduleTemplate = moduleTemplate; | 
					
						
							| 
									
										
										
										
											2013-07-04 20:08:47 +08:00
										 |  |  | 	this.sourceUrlComment = sourceUrlComment || "//@ sourceURL=[url]"; | 
					
						
							| 
									
										
										
										
											2013-01-31 01:49:25 +08:00
										 |  |  | } | 
					
						
							|  |  |  | module.exports = EvalDevToolModuleTemplateDecorator; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | EvalDevToolModuleTemplateDecorator.prototype.render = function(module, dependencyTemplates) { | 
					
						
							| 
									
										
										
										
											2013-07-04 20:08:47 +08:00
										 |  |  | 	var sourceUrlComment = this.sourceUrlComment; | 
					
						
							| 
									
										
										
										
											2013-01-31 01:49:25 +08:00
										 |  |  | 	var fakeModule = { | 
					
						
							|  |  |  | 		source: function(dependencyTemplates, outputOptions, requestShortener) { | 
					
						
							|  |  |  | 			var source = module.source(dependencyTemplates, outputOptions, requestShortener); | 
					
						
							|  |  |  | 			var content = source.source(); | 
					
						
							|  |  |  | 			var footer = ["\n", | 
					
						
							|  |  |  | 				"// WEBPACK FOOTER", | 
					
						
							|  |  |  | 				"// module.id = " + module.id, | 
					
						
							|  |  |  | 				"// module.readableIdentifier = " + module.readableIdentifier(requestShortener), | 
					
						
							| 
									
										
										
										
											2013-07-04 20:08:47 +08:00
										 |  |  | 				sourceUrlComment.replace(/\[url\]/g, "webpack-module:///" + encodeURI(module.readableIdentifier(requestShortener)).replace(/%2F/g, "/").replace(/%20/g, "_").replace(/%5E/g, "^").replace(/%5C/g, "\\").replace(/\?/, "%3F").replace(/^\//, "")) | 
					
						
							| 
									
										
										
										
											2013-01-31 01:49:25 +08:00
										 |  |  | 			].join("\n"); | 
					
						
							|  |  |  | 			return new RawSource("eval(" + JSON.stringify(content + footer) + ");" ); | 
					
						
							|  |  |  | 		}, | 
					
						
							|  |  |  | 		identifier: function() { return module.identifier() }, | 
					
						
							|  |  |  | 		readableIdentifier: function(rs) { return module.readableIdentifier(rs) }, | 
					
						
							|  |  |  | 		id: module.id | 
					
						
							|  |  |  | 	}; | 
					
						
							|  |  |  | 	return this.moduleTemplate.render(fakeModule, dependencyTemplates); | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | EvalDevToolModuleTemplateDecorator.prototype.updateHash = function(hash) { | 
					
						
							|  |  |  | 	hash.update("1"); | 
					
						
							|  |  |  | }; |