commentParser.js 985 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. 'use strict';
  2. exports.__esModule = true;
  3. exports.default = commentParser;
  4. function commentParser(input) {
  5. var tokens = [];
  6. var length = input.length;
  7. var pos = 0;
  8. var next = undefined;
  9. while (pos < length) {
  10. next = input.indexOf('/*', pos);
  11. if (~next) {
  12. tokens.push({
  13. type: 'other',
  14. value: input.slice(pos, next)
  15. });
  16. pos = next;
  17. next = input.indexOf('*/', pos + 2);
  18. if (! ~next) {
  19. throw new Error('postcss-discard-comments: Unclosed */');
  20. }
  21. tokens.push({
  22. type: 'comment',
  23. value: input.slice(pos + 2, next)
  24. });
  25. pos = next + 2;
  26. } else {
  27. tokens.push({
  28. type: 'other',
  29. value: input.slice(pos)
  30. });
  31. pos = length;
  32. }
  33. }
  34. return tokens;
  35. };
  36. module.exports = exports['default'];