From de98e0b232509d5f40c135d540a70e415272ff85 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Wed, 3 May 2017 15:35:00 +0200 Subject: node_modules --- .../webpack-sources/lib/SourceMapSource.js | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 node_modules/webpack-sources/lib/SourceMapSource.js (limited to 'node_modules/webpack-sources/lib/SourceMapSource.js') diff --git a/node_modules/webpack-sources/lib/SourceMapSource.js b/node_modules/webpack-sources/lib/SourceMapSource.js new file mode 100644 index 000000000..3a7e75a47 --- /dev/null +++ b/node_modules/webpack-sources/lib/SourceMapSource.js @@ -0,0 +1,55 @@ +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ +var SourceNode = require("source-map").SourceNode; +var SourceMapConsumer = require("source-map").SourceMapConsumer; +var SourceMapGenerator = require("source-map").SourceMapGenerator; +var SourceListMap = require("source-list-map").SourceListMap; +var fromStringWithSourceMap = require("source-list-map").fromStringWithSourceMap; +var Source = require("./Source"); + +function SourceMapSource(value, name, sourceMap, originalSource, innerSourceMap) { + Source.call(this); + this._value = value; + this._name = name; + this._sourceMap = sourceMap; + this._originalSource = originalSource; + this._innerSourceMap = innerSourceMap; +} +module.exports = SourceMapSource; + +SourceMapSource.prototype = Object.create(Source.prototype); +SourceMapSource.prototype.constructor = SourceMapSource; + +SourceMapSource.prototype.source = function() { + return this._value; +}; + +require("./SourceAndMapMixin")(SourceMapSource.prototype); + +SourceMapSource.prototype.node = function(options) { + var innerSourceMap = this._innerSourceMap; + var sourceMap = this._sourceMap; + if(innerSourceMap) { + sourceMap = SourceMapGenerator.fromSourceMap(new SourceMapConsumer(sourceMap)); + if(this._originalSource) + sourceMap.setSourceContent(this._name, this._originalSource); + innerSourceMap = new SourceMapConsumer(innerSourceMap); + sourceMap.applySourceMap(innerSourceMap, this._name); + sourceMap = sourceMap.toJSON(); + } + return SourceNode.fromStringWithSourceMap(this._value, new SourceMapConsumer(sourceMap)); +}; + +SourceMapSource.prototype.listMap = function(options) { + if(options.module === false) + return new SourceListMap(this._value, this._name, this._value); + return fromStringWithSourceMap(this._value, typeof this._sourceMap === "string" ? JSON.parse(this._sourceMap) : this._sourceMap); +}; + +SourceMapSource.prototype.updateHash = function(hash) { + hash.update(this._value); + if(this._originalSource) + hash.update(this._originalSource); +}; -- cgit v1.2.3