Files
freeCodeCamp/curriculum/test/utils/extract-js-comments.js
Oliver Eyton-Williams 8538141600 fix: grammar
Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
2021-10-27 21:29:05 +05:30

24 lines
566 B
JavaScript

const acorn = require('acorn');
const { commentToData } = require('./comment-to-data');
const parser = acorn.Parser;
function extractComments(js) {
let comments = [];
const file = { data: {} };
try {
parser.parse(js, { onComment: comments, ecmaVersion: 2020 });
} catch {
throw Error(`extract-js-comments could not parse the code below, this challenge has invalid syntax:
${js}
`);
}
comments
.map(({ value }) => value.trim())
.forEach(comment => commentToData(file, comment));
return file.data;
}
module.exports = extractComments;