81 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			81 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								"use strict";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Object.defineProperty(exports, "__esModule", {
							 | 
						||
| 
								 | 
							
								  value: true
							 | 
						||
| 
								 | 
							
								});
							 | 
						||
| 
								 | 
							
								exports.default = void 0;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function _sourceMap() {
							 | 
						||
| 
								 | 
							
								  const data = _interopRequireDefault(require("source-map"));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  _sourceMap = function () {
							 | 
						||
| 
								 | 
							
								    return data;
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  return data;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class SourceMap {
							 | 
						||
| 
								 | 
							
								  constructor(opts, code) {
							 | 
						||
| 
								 | 
							
								    this._cachedMap = null;
							 | 
						||
| 
								 | 
							
								    this._code = code;
							 | 
						||
| 
								 | 
							
								    this._opts = opts;
							 | 
						||
| 
								 | 
							
								    this._rawMappings = [];
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  get() {
							 | 
						||
| 
								 | 
							
								    if (!this._cachedMap) {
							 | 
						||
| 
								 | 
							
								      const map = this._cachedMap = new (_sourceMap().default.SourceMapGenerator)({
							 | 
						||
| 
								 | 
							
								        sourceRoot: this._opts.sourceRoot
							 | 
						||
| 
								 | 
							
								      });
							 | 
						||
| 
								 | 
							
								      const code = this._code;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      if (typeof code === "string") {
							 | 
						||
| 
								 | 
							
								        map.setSourceContent(this._opts.sourceFileName, code);
							 | 
						||
| 
								 | 
							
								      } else if (typeof code === "object") {
							 | 
						||
| 
								 | 
							
								        Object.keys(code).forEach(sourceFileName => {
							 | 
						||
| 
								 | 
							
								          map.setSourceContent(sourceFileName, code[sourceFileName]);
							 | 
						||
| 
								 | 
							
								        });
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      this._rawMappings.forEach(map.addMapping, map);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    return this._cachedMap.toJSON();
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  getRawMappings() {
							 | 
						||
| 
								 | 
							
								    return this._rawMappings.slice();
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  mark(generatedLine, generatedColumn, line, column, identifierName, filename, force) {
							 | 
						||
| 
								 | 
							
								    if (this._lastGenLine !== generatedLine && line === null) return;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    if (!force && this._lastGenLine === generatedLine && this._lastSourceLine === line && this._lastSourceColumn === column) {
							 | 
						||
| 
								 | 
							
								      return;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    this._cachedMap = null;
							 | 
						||
| 
								 | 
							
								    this._lastGenLine = generatedLine;
							 | 
						||
| 
								 | 
							
								    this._lastSourceLine = line;
							 | 
						||
| 
								 | 
							
								    this._lastSourceColumn = column;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    this._rawMappings.push({
							 | 
						||
| 
								 | 
							
								      name: identifierName || undefined,
							 | 
						||
| 
								 | 
							
								      generated: {
							 | 
						||
| 
								 | 
							
								        line: generatedLine,
							 | 
						||
| 
								 | 
							
								        column: generatedColumn
							 | 
						||
| 
								 | 
							
								      },
							 | 
						||
| 
								 | 
							
								      source: line == null ? undefined : filename || this._opts.sourceFileName,
							 | 
						||
| 
								 | 
							
								      original: line == null ? undefined : {
							 | 
						||
| 
								 | 
							
								        line: line,
							 | 
						||
| 
								 | 
							
								        column: column
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								exports.default = SourceMap;
							 |