a zip code crypto-currency system good for red ONLY

logger-tslint.js 3.0KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. var helpers_1 = require("../util/helpers");
  4. var logger_1 = require("./logger");
  5. var STOP_CHARS = [' ', '=', ',', '.', '\t', '{', '}', '(', ')', '"', '\'', '`', '?', ':', ';', '+', '-', '*', '/', '<', '>', '&', '[', ']', '|'];
  6. function runTsLintDiagnostics(context, failures) {
  7. return failures.map(function (failure) { return loadDiagnostic(context, failure); });
  8. }
  9. exports.runTsLintDiagnostics = runTsLintDiagnostics;
  10. function loadDiagnostic(context, failure) {
  11. var start = failure.getStartPosition()
  12. .toJson();
  13. var end = failure.getEndPosition()
  14. .toJson();
  15. var fileName = failure.getFileName();
  16. var sourceFile = failure.getRawLines();
  17. var d = {
  18. level: 'warn',
  19. type: 'tslint',
  20. language: 'typescript',
  21. absFileName: fileName,
  22. relFileName: logger_1.Logger.formatFileName(context.rootDir, fileName),
  23. header: logger_1.Logger.formatHeader('tslint', fileName, context.rootDir, start.line + 1, end.line + 1),
  24. code: failure.getRuleName(),
  25. messageText: failure.getFailure(),
  26. lines: []
  27. };
  28. if (sourceFile) {
  29. var srcLines = helpers_1.splitLineBreaks(sourceFile);
  30. for (var i = start.line; i <= end.line; i++) {
  31. if (srcLines[i].trim().length) {
  32. var errorLine = {
  33. lineIndex: i,
  34. lineNumber: i + 1,
  35. text: srcLines[i],
  36. html: srcLines[i],
  37. errorCharStart: (i === start.line) ? start.character : (i === end.line) ? end.character : -1,
  38. errorLength: 0,
  39. };
  40. for (var j = errorLine.errorCharStart; j < errorLine.text.length; j++) {
  41. if (STOP_CHARS.indexOf(errorLine.text.charAt(j)) > -1) {
  42. break;
  43. }
  44. errorLine.errorLength++;
  45. }
  46. if (errorLine.errorLength === 0 && errorLine.errorCharStart > 0) {
  47. errorLine.errorLength = 1;
  48. errorLine.errorCharStart--;
  49. }
  50. d.lines.push(errorLine);
  51. }
  52. }
  53. if (start.line > 0) {
  54. var beforeLine = {
  55. lineIndex: start.line - 1,
  56. lineNumber: start.line,
  57. text: srcLines[start.line - 1],
  58. html: srcLines[start.line - 1],
  59. errorCharStart: -1,
  60. errorLength: -1
  61. };
  62. d.lines.unshift(beforeLine);
  63. }
  64. if (end.line < srcLines.length) {
  65. var afterLine = {
  66. lineIndex: end.line + 1,
  67. lineNumber: end.line + 2,
  68. text: srcLines[end.line + 1],
  69. html: srcLines[end.line + 1],
  70. errorCharStart: -1,
  71. errorLength: -1
  72. };
  73. d.lines.push(afterLine);
  74. }
  75. }
  76. return d;
  77. }
  78. exports.loadDiagnostic = loadDiagnostic;