whitespace.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.isNewLine = isNewLine;
  6. exports.isWhitespace = isWhitespace;
  7. 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. function isWhitespace(code) {
  26. switch (code) {
  27. case 0x0009:
  28. case 0x000b:
  29. case 0x000c:
  30. case 32:
  31. case 160:
  32. case 5760:
  33. case 0x2000:
  34. case 0x2001:
  35. case 0x2002:
  36. case 0x2003:
  37. case 0x2004:
  38. case 0x2005:
  39. case 0x2006:
  40. case 0x2007:
  41. case 0x2008:
  42. case 0x2009:
  43. case 0x200a:
  44. case 0x202f:
  45. case 0x205f:
  46. case 0x3000:
  47. case 0xfeff:
  48. return true;
  49. default:
  50. return false;
  51. }
  52. }