index.js 978 B

123456789101112131415161718192021222324252627282930
  1. /**
  2. * espower-location-detector:
  3. * AST source location detection helper for power-assert
  4. *
  5. * https://github.com/twada/espower-location-detector
  6. *
  7. * Copyright (c) 2015-2016 Takuto Wada
  8. * Licensed under the MIT license.
  9. * https://github.com/twada/espower-location-detector/blob/master/LICENSE
  10. */
  11. 'use strict';
  12. var PositionDetector = require('./lib/position-detector');
  13. var SourceAdjuster = require('./lib/source-adjuster');
  14. function EspowerLocationDetector (options) {
  15. this.positionDetector = new PositionDetector(options.sourceMap);
  16. this.sourceAdjuster = new SourceAdjuster(options.sourceRoot, options.path, options.sourceMap);
  17. }
  18. EspowerLocationDetector.prototype.locationFor = function (currentNode) {
  19. var pos = this.positionDetector.positionFor(currentNode);
  20. return {
  21. source: this.sourceAdjuster.relativize(pos.source, pos.mapped),
  22. line: pos.line,
  23. column: pos.column
  24. };
  25. };
  26. module.exports = EspowerLocationDetector;