18 lines
		
	
	
		
			426 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			426 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const acorn = require('acorn');
 | |
| const { commentToData } = require('./comment-to-data');
 | |
| 
 | |
| const parser = acorn.Parser;
 | |
| 
 | |
| function extractComments(js) {
 | |
|   let comments = [];
 | |
|   const file = { data: {} };
 | |
|   parser.parse(js, { onComment: comments, ecmaVersion: 2020 });
 | |
| 
 | |
|   comments
 | |
|     .map(({ value }) => value.trim())
 | |
|     .forEach(comment => commentToData(file, comment));
 | |
|   return file.data;
 | |
| }
 | |
| 
 | |
| module.exports = extractComments;
 |