removeRangesFromStructure.ts 770 B

12345678910111213141516171819202122232425262728
  1. import * as estraverse from 'estraverse';
  2. import * as ESTree from 'estree';
  3. import { TStatement } from '../../src/types/node/TStatement';
  4. /**
  5. * @param {TStatement[]} structure
  6. * @returns {TStatement[]}
  7. */
  8. export function removeRangesFromStructure (structure: TStatement[]): TStatement[] {
  9. for (const statement of structure) {
  10. estraverse.replace(statement, {
  11. enter: (node: ESTree.Node): ESTree.Node => {
  12. delete (<any>node).start;
  13. delete (<any>node).end;
  14. if (node.parentNode) {
  15. delete (<any>node.parentNode).start;
  16. delete (<any>node.parentNode).end;
  17. }
  18. return node;
  19. }
  20. });
  21. }
  22. return structure;
  23. }