JavaScript · 3083 bytes Raw Blame History
1 "use strict";
2
3 Object.defineProperty(exports, "__esModule", {
4 value: true
5 });
6 exports.default = void 0;
7 var _genMapping = require("@jridgewell/gen-mapping");
8 var _traceMapping = require("@jridgewell/trace-mapping");
9 class SourceMap {
10 constructor(opts, code) {
11 var _opts$sourceFileName;
12 this._map = void 0;
13 this._rawMappings = void 0;
14 this._sourceFileName = void 0;
15 this._lastGenLine = 0;
16 this._lastSourceLine = 0;
17 this._lastSourceColumn = 0;
18 this._inputMap = null;
19 const map = this._map = new _genMapping.GenMapping({
20 sourceRoot: opts.sourceRoot
21 });
22 this._sourceFileName = (_opts$sourceFileName = opts.sourceFileName) == null ? void 0 : _opts$sourceFileName.replace(/\\/g, "/");
23 this._rawMappings = undefined;
24 if (opts.inputSourceMap) {
25 this._inputMap = new _traceMapping.TraceMap(opts.inputSourceMap);
26 const resolvedSources = this._inputMap.resolvedSources;
27 if (resolvedSources.length) {
28 for (let i = 0; i < resolvedSources.length; i++) {
29 var _this$_inputMap$sourc;
30 (0, _genMapping.setSourceContent)(map, resolvedSources[i], (_this$_inputMap$sourc = this._inputMap.sourcesContent) == null ? void 0 : _this$_inputMap$sourc[i]);
31 }
32 }
33 }
34 if (typeof code === "string" && !opts.inputSourceMap) {
35 (0, _genMapping.setSourceContent)(map, this._sourceFileName, code);
36 } else if (typeof code === "object") {
37 for (const sourceFileName of Object.keys(code)) {
38 (0, _genMapping.setSourceContent)(map, sourceFileName.replace(/\\/g, "/"), code[sourceFileName]);
39 }
40 }
41 }
42 get() {
43 return (0, _genMapping.toEncodedMap)(this._map);
44 }
45 getDecoded() {
46 return (0, _genMapping.toDecodedMap)(this._map);
47 }
48 getRawMappings() {
49 return this._rawMappings || (this._rawMappings = (0, _genMapping.allMappings)(this._map));
50 }
51 mark(generated, line, column, identifierName, identifierNamePos, filename) {
52 var _originalMapping;
53 this._rawMappings = undefined;
54 let originalMapping;
55 if (line != null) {
56 if (this._inputMap) {
57 originalMapping = (0, _traceMapping.originalPositionFor)(this._inputMap, {
58 line,
59 column: column
60 });
61 if (!originalMapping.name && identifierNamePos) {
62 const originalIdentifierMapping = (0, _traceMapping.originalPositionFor)(this._inputMap, identifierNamePos);
63 if (originalIdentifierMapping.name) {
64 identifierName = originalIdentifierMapping.name;
65 }
66 }
67 } else {
68 originalMapping = {
69 name: null,
70 source: (filename == null ? void 0 : filename.replace(/\\/g, "/")) || this._sourceFileName,
71 line: line,
72 column: column
73 };
74 }
75 }
76 (0, _genMapping.maybeAddMapping)(this._map, {
77 name: identifierName,
78 generated,
79 source: (_originalMapping = originalMapping) == null ? void 0 : _originalMapping.source,
80 original: originalMapping
81 });
82 }
83 }
84 exports.default = SourceMap;
85
86 //# sourceMappingURL=source-map.js.map
87