diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-05-03 15:35:00 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-05-03 15:35:00 +0200 |
commit | de98e0b232509d5f40c135d540a70e415272ff85 (patch) | |
tree | a79222a5b58484ab3b80d18efcaaa7ccc4769b33 /node_modules/webpack-sources/lib/SourceMapSource.js | |
parent | e0c9d480a73fa629c1e4a47d3e721f1d2d345406 (diff) |
node_modules
Diffstat (limited to 'node_modules/webpack-sources/lib/SourceMapSource.js')
-rw-r--r-- | node_modules/webpack-sources/lib/SourceMapSource.js | 55 |
1 files changed, 55 insertions, 0 deletions
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);
+};
|