Вход Регистрация
Файл: error-kitty/lib/error-kitty/stacks/index.js
Строк: 44
<?php
module
.exports = stacks;

var 
Stack = require("./stack");
var 
chalk = require("chalk");
var 
_s    = require("underscore.string");

Error.prepareStackTrace = prepareStackTrace;
Error.stackTraceLimit   = Infinity;

function 
prepareStackTrace(err, frames) {
  try {
    var 
stack = new Stack(err, frames);
    return 
stack.toString();
  } catch (
e) {
    
console.error(e.stack);
    return 
err.stack;
  }
}

function 
stacks(lines, lineNumber, colNumber) {
  if (!
lineNumber) return "";

  
colNumber = Math.max(colNumber, 0);

  
lines = lines.split("n");
  var 
start = Math.max(lineNumber - 3, 0);
  var 
end   = Math.min(lines.length, lineNumber + 3);
  var 
width = (end + "").length;

  return 
"n" + lines.slice(start, end).map(function (line, i) {
    var 
curr = i + start + 1;

    var 
gutter = curr === lineNumber ? "> " : "  ";
    
gutter += _s.rpad(curr + "", width) + "| ";
    var 
str = gutter + line + chalk.reset();

    if (
colNumber && curr === lineNumber) {
      
str += "n";
      
str += _s.repeat(" ", gutter.length - 2);
      
str += "|" + _s.repeat(" ", colNumber) + "^";
    }

    return 
str;
  }).
join("n");
}
?>
Онлайн: 2
Реклама