eslint.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. 'use strict';
  2. function getSourceCode(context) {
  3. return context.getSourceCode ? context.getSourceCode() : context.sourceCode;
  4. }
  5. function getAncestors(context, node) {
  6. const sourceCode = getSourceCode(context);
  7. return sourceCode.getAncestors ? sourceCode.getAncestors(node) : context.getAncestors();
  8. }
  9. function getScope(context, node) {
  10. const sourceCode = getSourceCode(context);
  11. if (sourceCode.getScope) {
  12. return sourceCode.getScope(node);
  13. }
  14. return context.getScope();
  15. }
  16. function markVariableAsUsed(name, node, context) {
  17. const sourceCode = getSourceCode(context);
  18. return sourceCode.markVariableAsUsed
  19. ? sourceCode.markVariableAsUsed(name, node)
  20. : context.markVariableAsUsed(name);
  21. }
  22. function getFirstTokens(context, node, count) {
  23. const sourceCode = getSourceCode(context);
  24. return sourceCode.getFirstTokens ? sourceCode.getFirstTokens(node, count) : context.getFirstTokens(node, count);
  25. }
  26. function getText(context) {
  27. const sourceCode = getSourceCode(context);
  28. const args = Array.prototype.slice.call(arguments, 1);
  29. return sourceCode.getText ? sourceCode.getText.apply(sourceCode, args) : context.getSource.apply(context, args);
  30. }
  31. module.exports = {
  32. getAncestors,
  33. getFirstTokens,
  34. getScope,
  35. getSourceCode,
  36. getText,
  37. markVariableAsUsed,
  38. };