1 | "use strict";
|
2 |
|
3 | exports.__esModule = true;
|
4 |
|
5 |
|
6 | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj["default"] = obj; return newObj; } }
|
7 |
|
8 |
|
9 |
|
10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
11 |
|
12 |
|
13 |
|
14 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
15 |
|
16 | var _sourceMap = require("source-map");
|
17 |
|
18 | var _sourceMap2 = _interopRequireDefault(_sourceMap);
|
19 |
|
20 | var _types = require("../types");
|
21 |
|
22 | var t = _interopRequireWildcard(_types);
|
23 |
|
24 |
|
25 |
|
26 |
|
27 |
|
28 | var SourceMap = (function () {
|
29 | function SourceMap(position, opts, code) {
|
30 | _classCallCheck(this, SourceMap);
|
31 |
|
32 | this.position = position;
|
33 | this.opts = opts;
|
34 |
|
35 | if (opts.sourceMaps) {
|
36 | this.map = new _sourceMap2["default"].SourceMapGenerator({
|
37 | file: opts.sourceMapTarget,
|
38 | sourceRoot: opts.sourceRoot
|
39 | });
|
40 |
|
41 | this.map.setSourceContent(opts.sourceFileName, code);
|
42 | } else {
|
43 | this.map = null;
|
44 | }
|
45 | }
|
46 |
|
47 | |
48 |
|
49 |
|
50 |
|
51 | SourceMap.prototype.get = function get() {
|
52 | var map = this.map;
|
53 | if (map) {
|
54 | return map.toJSON();
|
55 | } else {
|
56 | return map;
|
57 | }
|
58 | };
|
59 |
|
60 | |
61 |
|
62 |
|
63 |
|
64 | SourceMap.prototype.mark = function mark(node, type) {
|
65 | var loc = node.loc;
|
66 | if (!loc) return;
|
67 |
|
68 | var map = this.map;
|
69 | if (!map) return;
|
70 |
|
71 | if (t.isProgram(node) || t.isFile(node)) return;
|
72 |
|
73 | var position = this.position;
|
74 |
|
75 | var generated = {
|
76 | line: position.line,
|
77 | column: position.column
|
78 | };
|
79 |
|
80 | var original = loc[type];
|
81 |
|
82 | map.addMapping({
|
83 | source: this.opts.sourceFileName,
|
84 | generated: generated,
|
85 | original: original
|
86 | });
|
87 | };
|
88 |
|
89 | return SourceMap;
|
90 | })();
|
91 |
|
92 | exports["default"] = SourceMap;
|
93 | module.exports = exports["default"]; |
\ | No newline at end of file |