index.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /**
  2. * The MIT License (MIT)
  3. * Copyright (c) 2017-present Dmitry Soshnikov <dmitry.soshnikov@gmail.com>
  4. */
  5. 'use strict';
  6. module.exports = {
  7. // \ud83d\ude80 -> \u{1f680}
  8. 'charSurrogatePairToSingleUnicode': require('./char-surrogate-pair-to-single-unicode-transform'),
  9. // \u0061 -> a
  10. 'charCodeToSimpleChar': require('./char-code-to-simple-char-transform'),
  11. // /Aa/i -> /aa/i
  12. 'charCaseInsensitiveLowerCaseTransform': require('./char-case-insensitive-lowercase-transform'),
  13. // [\d\d] -> [\d]
  14. 'charClassRemoveDuplicates': require('./char-class-remove-duplicates-transform'),
  15. // a{1,2}a{2,3} -> a{3,5}
  16. 'quantifiersMerge': require('./quantifiers-merge-transform'),
  17. // a{1,} -> a+, a{3,3} -> a{3}, a{1} -> a
  18. 'quantifierRangeToSymbol': require('./quantifier-range-to-symbol-transform'),
  19. // [a-a] -> [a], [a-b] -> [ab]
  20. 'charClassClassrangesToChars': require('./char-class-classranges-to-chars-transform'),
  21. // [a-de-f] -> [a-f]
  22. 'charClassClassrangesMerge': require('./char-class-classranges-merge-transform'),
  23. // [0-9] -> [\d]
  24. 'charClassToMeta': require('./char-class-to-meta-transform'),
  25. // [\d] -> \d, [^\w] -> \W
  26. 'charClassToSingleChar': require('./char-class-to-single-char-transform'),
  27. // \e -> e
  28. 'charEscapeUnescape': require('./char-escape-unescape-transform'),
  29. // (ab|ab) -> (ab)
  30. 'disjunctionRemoveDuplicates': require('./disjunction-remove-duplicates-transform'),
  31. // (a|b|c) -> [abc]
  32. 'groupSingleCharsToCharClass': require('./group-single-chars-to-char-class'),
  33. // (?:)a -> a
  34. 'removeEmptyGroup': require('./remove-empty-group-transform'),
  35. // (?:a) -> a
  36. 'ungroup': require('./ungroup-transform'),
  37. // abcabcabc -> (?:abc){3}
  38. 'combineRepeatingPatterns': require('./combine-repeating-patterns-transform')
  39. };