UNPKG

estree-to-babel

Version:
34 lines (24 loc) 771 B
import {types} from '@putout/babel'; const { directive, directiveLiteral, } = types; export default (path) => { const {node} = path; if (node.directives) return; node.directives = []; for (const statementPath of path.get('body')) { if (statementPath.type !== 'ExpressionStatement') continue; const statement = statementPath.node; if (!('directive' in statement)) continue; if (!statement.directive) continue; const literal = directiveLiteral(statement.directive); const currentDirective = directive(literal); node.directives.push(currentDirective); statementPath.remove(); } };