spacingFixers.js.flow 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. export const stripSpacesBefore = (node, spaces) => (fixer) => (
  2. fixer.removeRange([node.range[0] - spaces, node.range[0]])
  3. );
  4. export const stripSpacesAfter = (node, spaces) => (fixer) => (
  5. fixer.removeRange([node.range[1], node.range[1] + spaces])
  6. );
  7. export const addSpaceBefore = (node) => (fixer) => fixer.insertTextBefore(node, ' ');
  8. export const addSpaceAfter = (node) => (fixer) => fixer.insertTextAfter(node, ' ');
  9. export const replaceWithSpaceBefore = (node, spaces) => (fixer) => fixer.replaceTextRange([node.range[0] - spaces, node.range[0]], ' ');
  10. export const replaceWithSpaceAfter = (node, spaces) => (fixer) => fixer.replaceTextRange([node.range[1], node.range[1] + spaces], ' ');
  11. export const stripSpaces = (direction, node, spaces) => {
  12. if (direction === 'before') {
  13. return stripSpacesBefore(node, spaces);
  14. }
  15. return stripSpacesAfter(node, spaces);
  16. };
  17. export const addSpace = (direction, node) => {
  18. if (direction === 'before') {
  19. return addSpaceBefore(node);
  20. }
  21. return addSpaceAfter(node);
  22. };
  23. export const replaceWithSpace = (direction, node, spaces) => {
  24. if (direction === 'before') {
  25. return replaceWithSpaceBefore(node, spaces);
  26. }
  27. return replaceWithSpaceAfter(node, spaces);
  28. };