aboutsummaryrefslogtreecommitdiff
path: root/node_modules/espower-location-detector/index.js
blob: 16f4a4115c76824a3b55d74fe31ebfec71289847 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/**
 * espower-location-detector:
 *   AST source location detection helper for power-assert
 * 
 * https://github.com/twada/espower-location-detector
 *
 * Copyright (c) 2015-2016 Takuto Wada
 * Licensed under the MIT license.
 *   https://github.com/twada/espower-location-detector/blob/master/LICENSE
 */
'use strict';

var PositionDetector = require('./lib/position-detector');
var SourceAdjuster = require('./lib/source-adjuster');

function EspowerLocationDetector (options) {
    this.positionDetector = new PositionDetector(options.sourceMap);
    this.sourceAdjuster = new SourceAdjuster(options.sourceRoot, options.path, options.sourceMap);
}

EspowerLocationDetector.prototype.locationFor = function (currentNode) {
    var pos = this.positionDetector.positionFor(currentNode);
    return {
        source: this.sourceAdjuster.relativize(pos.source, pos.mapped),
        line: pos.line,
        column: pos.column
    };
};

module.exports = EspowerLocationDetector;