whitespace.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.isNewLine = isNewLine;
  6. exports.isWhitespace = isWhitespace;
  7. exports.skipWhiteSpaceToLineBreak = exports.skipWhiteSpaceInLine = exports.skipWhiteSpace = exports.lineBreakG = exports.lineBreak = void 0;
  8. const lineBreak = /\r\n?|[\n\u2028\u2029]/;
  9. exports.lineBreak = lineBreak;
  10. const lineBreakG = new RegExp(lineBreak.source, "g");
  11. exports.lineBreakG = lineBreakG;
  12. function isNewLine(code) {
  13. switch (code) {
  14. case 10:
  15. case 13:
  16. case 8232:
  17. case 8233:
  18. return true;
  19. default:
  20. return false;
  21. }
  22. }
  23. const skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;
  24. exports.skipWhiteSpace = skipWhiteSpace;
  25. const skipWhiteSpaceInLine = /(?:[^\S\n\r\u2028\u2029]|\/\/.*|\/\*.*?\*\/)*/g;
  26. exports.skipWhiteSpaceInLine = skipWhiteSpaceInLine;
  27. const skipWhiteSpaceToLineBreak = new RegExp("(?=(" + skipWhiteSpaceInLine.source + "))\\1" + /(?=[\n\r\u2028\u2029]|\/\*(?!.*?\*\/)|$)/.source, "y");
  28. exports.skipWhiteSpaceToLineBreak = skipWhiteSpaceToLineBreak;
  29. function isWhitespace(code) {
  30. switch (code) {
  31. case 0x0009:
  32. case 0x000b:
  33. case 0x000c:
  34. case 32:
  35. case 160:
  36. case 5760:
  37. case 0x2000:
  38. case 0x2001:
  39. case 0x2002:
  40. case 0x2003:
  41. case 0x2004:
  42. case 0x2005:
  43. case 0x2006:
  44. case 0x2007:
  45. case 0x2008:
  46. case 0x2009:
  47. case 0x200a:
  48. case 0x202f:
  49. case 0x205f:
  50. case 0x3000:
  51. case 0xfeff:
  52. return true;
  53. default:
  54. return false;
  55. }
  56. }
  57. //# sourceMappingURL=whitespace.js.map