index.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /**
  2. * The MIT License (MIT)
  3. * Copyright (c) 2017-present Dmitry Soshnikov <dmitry.soshnikov@gmail.com>
  4. */
  5. 'use strict';
  6. module.exports = new Map([
  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. // [0-9] -> [\d]
  22. ['charClassToMeta', require('./char-class-to-meta-transform')],
  23. // [\d] -> \d, [^\w] -> \W
  24. ['charClassToSingleChar', require('./char-class-to-single-char-transform')],
  25. // \e -> e
  26. ['charEscapeUnescape', require('./char-escape-unescape-transform')],
  27. // [a-de-f] -> [a-f]
  28. ['charClassClassrangesMerge', require('./char-class-classranges-merge-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')]]);