UNPKG

1.73 kBJavaScriptView Raw
1var fs = require('fs');
2var path = require("path");
3var consoleFileLogger = require("../sl-logger.js").consoleFileLogger;
4var sourceMap = require("source-map");
5var globalErrorHandler = require('../global-error-handler');
6var fileAndFolderUtils = require('../file-and-folder-utils');
7var utils = require('../utils');
8var SlJsInfra = require("sl-js-infra").SlJsInfra;
9var SourceMapReader = SlJsInfra.SourceMapReader;
10
11
12// TODO: refactor to normal module
13function readSourceMaps(fullFilename, fileContent, logger) {
14 var log = logger ? logger.child({
15 methodName: "readSourceMaps"
16 }) : consoleFileLogger("readSourceMaps");
17 if (!fullFilename || !fileContent){
18 log.warn("'fullFilename' and 'fileContent' cannot be null or empty");
19 log.debug("fullFilename: '%s'", fullFilename);
20 return null;
21 };
22
23 try {
24 var reader = new SourceMapReader(fullFilename, logger);
25 var sourceMapData = reader.readSourceMapData(fileContent);
26 if (!sourceMapData) {
27 return null;
28 }
29 var consumer = new sourceMap.SourceMapConsumer(sourceMapData);
30 return consumer;
31 }catch (e) {
32 logger.warn("Failed while reading source map for '%s'", fullFilename);
33 logger.warn(e);
34 return null;
35 }
36}
37
38
39
40
41function ActualFile(relativeFileName, fullFilename) {
42 var content;
43 this.getContent = function ActualFile$getContent() {
44 if(!content) {
45 content = fs.readFileSync(fullFilename, 'utf-8');
46 }
47 return content;
48 }
49 this.readSourceMaps = function ActualFile$readSourceMaps(logger) {
50 return readSourceMaps(fullFilename, this.getContent(), logger);
51 }
52}
53module.exports = ActualFile;