1 | var fs = require('fs');
|
2 | var path = require("path");
|
3 | var consoleFileLogger = require("../sl-logger.js").consoleFileLogger;
|
4 | var sourceMap = require("source-map");
|
5 | var globalErrorHandler = require('../global-error-handler');
|
6 | var fileAndFolderUtils = require('../file-and-folder-utils');
|
7 | var utils = require('../utils');
|
8 | var SlJsInfra = require("sl-js-infra").SlJsInfra;
|
9 | var SourceMapReader = SlJsInfra.SourceMapReader;
|
10 |
|
11 |
|
12 |
|
13 | function 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 |
|
41 | function 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 | }
|
53 | module.exports = ActualFile;
|