Raw.js 964 B

1234567891011121314151617181920212223242526272829303132333435
  1. module.exports = {
  2. name: 'Raw',
  3. structure: {
  4. value: String
  5. },
  6. parse: function(startToken, endTokenType1, endTokenType2, includeTokenType2, excludeWhiteSpace) {
  7. var startOffset = this.scanner.getTokenStart(startToken);
  8. var endOffset;
  9. this.scanner.skip(
  10. this.scanner.getRawLength(
  11. startToken,
  12. endTokenType1,
  13. endTokenType2,
  14. includeTokenType2
  15. )
  16. );
  17. if (excludeWhiteSpace && this.scanner.tokenStart > startOffset) {
  18. endOffset = this.scanner.getOffsetExcludeWS();
  19. } else {
  20. endOffset = this.scanner.tokenStart;
  21. }
  22. return {
  23. type: 'Raw',
  24. loc: this.getLocation(startOffset, endOffset),
  25. value: this.scanner.source.substring(startOffset, endOffset)
  26. };
  27. },
  28. generate: function(node) {
  29. this.chunk(node.value);
  30. }
  31. };