quotes.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports["default"] = void 0;
  6. var schema = [{
  7. "enum": ['double', 'single'],
  8. type: 'string'
  9. }];
  10. var meta = {
  11. fixable: 'code'
  12. };
  13. var create = function create(context) {
  14. var _double = (context.options[0] || 'double') === 'double';
  15. var sourceCode = context.getSourceCode();
  16. return {
  17. StringLiteralTypeAnnotation: function StringLiteralTypeAnnotation(node) {
  18. if (_double && sourceCode.text[node.range[0]] !== '"') {
  19. // double
  20. context.report({
  21. fix: function fix(fixer) {
  22. return [fixer.replaceTextRange([node.range[0], node.range[0] + 1], '"'), fixer.replaceTextRange([node.range[1] - 1, node.range[1]], '"')];
  23. },
  24. message: 'String literals must use double quote.',
  25. node: node
  26. });
  27. } else if (!_double && sourceCode.text[node.range[0]] !== '\'') {
  28. // single
  29. context.report({
  30. fix: function fix(fixer) {
  31. return [fixer.replaceTextRange([node.range[0], node.range[0] + 1], '\''), fixer.replaceTextRange([node.range[1] - 1, node.range[1]], '\'')];
  32. },
  33. message: 'String literals must use single quote.',
  34. node: node
  35. });
  36. }
  37. }
  38. };
  39. };
  40. var _default = {
  41. create: create,
  42. meta: meta,
  43. schema: schema
  44. };
  45. exports["default"] = _default;
  46. module.exports = exports.default;