| 
									
										
										
										
											2014-03-02 03:07:42 +08:00
										 |  |  | /* | 
					
						
							|  |  |  | 	MIT License http://www.opensource.org/licenses/mit-license.php
 | 
					
						
							|  |  |  | 	Author Tobias Koppers @sokra | 
					
						
							|  |  |  | */ | 
					
						
							| 
									
										
										
										
											2017-01-06 22:23:29 +08:00
										 |  |  | "use strict"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const Module = require("./Module"); | 
					
						
							|  |  |  | const OriginalSource = require("webpack-sources").OriginalSource; | 
					
						
							|  |  |  | const RawSource = require("webpack-sources").RawSource; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | module.exports = class RawModule extends Module { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	constructor(source, identifier, readableIdentifier) { | 
					
						
							| 
									
										
										
										
											2017-01-11 17:51:58 +08:00
										 |  |  | 		super(); | 
					
						
							| 
									
										
										
										
											2017-01-06 22:23:29 +08:00
										 |  |  | 		this.sourceStr = source; | 
					
						
							|  |  |  | 		this.identifierStr = identifier || this.sourceStr; | 
					
						
							|  |  |  | 		this.readableIdentifierStr = readableIdentifier || this.identifierStr; | 
					
						
							|  |  |  | 		this.cacheable = true; | 
					
						
							|  |  |  | 		this.built = false; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	identifier() { | 
					
						
							|  |  |  | 		return this.identifierStr; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	size() { | 
					
						
							|  |  |  | 		return this.sourceStr.length; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	readableIdentifier(requestShortener) { | 
					
						
							|  |  |  | 		return requestShortener.shorten(this.readableIdentifierStr); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	needRebuild() { | 
					
						
							|  |  |  | 		return false; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	build(options, compilations, resolver, fs, callback) { | 
					
						
							| 
									
										
										
										
											2017-05-04 10:19:54 +08:00
										 |  |  | 		this.builtTime = Date.now(); | 
					
						
							| 
									
										
										
										
											2017-01-06 22:23:29 +08:00
										 |  |  | 		callback(); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	source() { | 
					
						
							|  |  |  | 		if(this.useSourceMap) | 
					
						
							|  |  |  | 			return new OriginalSource(this.sourceStr, this.identifier()); | 
					
						
							|  |  |  | 		else | 
					
						
							|  |  |  | 			return new RawSource(this.sourceStr); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-01-11 17:51:58 +08:00
										 |  |  | }; |