Code coverage report for lib\dependencies\AMDRequireDependency.js

Statements: 87.18% (34 / 39)      Branches: 78.26% (18 / 23)      Functions: 100% (4 / 4)      Lines: 86.84% (33 / 38)      Ignored: none     

All files » lib\dependencies\ » AMDRequireDependency.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64        1   1 3433 3433 3433   1   1   1   1 127 127 127 34 4   4   30   30   93                   93 93 50   50 50 50 50   43   43 43 43 43         1 127 75    
/*
	MIT License http://www.opensource.org/licenses/mit-license.php
	Author Tobias Koppers @sokra
*/
var NullDependency = require("./NullDependency");
 
function AMDRequireDependency(block) {
	NullDependency.call(this);
	this.Class = AMDRequireDependency;
	this.block = block;
}
module.exports = AMDRequireDependency;
 
AMDRequireDependency.prototype = Object.create(NullDependency.prototype);
 
AMDRequireDependency.Template = function AMDRequireDependencyTemplate() {};
 
AMDRequireDependency.Template.prototype.apply = function(dep, source, outputOptions, requestShortener) {
	var depBlock = dep.block;
	var chunkId = depBlock.chunk && !depBlock.chunk.entry && depBlock.chunk.id;
	if(depBlock.arrayRange && !depBlock.functionRange) {
		if(typeof chunkId === "number") {
			source.replace(depBlock.outerRange[0], depBlock.arrayRange[0]-1,
				"__webpack_require__.e/* require */(" + chunkId + asComment(depBlock.chunkReason) + ", function(__webpack_require__) {");
			source.replace(depBlock.arrayRange[1], depBlock.outerRange[1]-1, ";})");
		} else {
			source.replace(depBlock.outerRange[0], depBlock.arrayRange[0]-1,
				"!/* require */(" + asComment(depBlock.chunkReason));
			source.replace(depBlock.arrayRange[1], depBlock.outerRange[1]-1, ")");
		}
	} else Iif(!depBlock.arrayRange && depBlock.functionRange) {
		if(typeof chunkId === "number") {
			source.replace(depBlock.outerRange[0], depBlock.functionRange[0]-1,
				"__webpack_require__.e/* require */(" + chunkId + asComment(depBlock.chunkReason) + ", function(__webpack_require__) {(");
			source.replace(depBlock.functionRange[1], depBlock.outerRange[1]-1, ".call(exports, __webpack_require__, exports, module));})");
		} else {
			source.replace(depBlock.outerRange[0], depBlock.functionRange[0]-1,
				"!/* require */(" + asComment(depBlock.chunkReason));
			source.replace(depBlock.functionRange[1], depBlock.outerRange[1]-1, ".call(exports, __webpack_require__, exports, module))");
		}
	} else Eif(depBlock.arrayRange && depBlock.functionRange) {
		if(typeof chunkId === "number") {
			source.replace(depBlock.outerRange[0], depBlock.arrayRange[0]-1,
				"__webpack_require__.e/* require */(" + chunkId + asComment(depBlock.chunkReason) + ", function(__webpack_require__) { ");
			source.insert(depBlock.arrayRange[0] + 0.9, "var __WEBPACK_AMD_REQUIRE_ARRAY__ = ");
			source.replace(depBlock.arrayRange[1], depBlock.functionRange[0]-1, "; (");
			source.insert(depBlock.functionRange[1], ".apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__));");
			source.replace(depBlock.functionRange[1], depBlock.outerRange[1]-1, "})");
		} else {
			source.replace(depBlock.outerRange[0], depBlock.arrayRange[0]-1,
				"!/* require */(" + asComment(depBlock.chunkReason) + "function() { ");
			source.insert(depBlock.arrayRange[0] + 0.9, "var __WEBPACK_AMD_REQUIRE_ARRAY__ = ");
			source.replace(depBlock.arrayRange[1], depBlock.functionRange[0]-1, "; (");
			source.insert(depBlock.functionRange[1], ".apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__));");
			source.replace(depBlock.functionRange[1], depBlock.outerRange[1]-1, "}())");
		}
	}
};
 
function asComment(str) {
	if(!str) return "";
	return "/* " + str + " */";
}