import { isImportDeclaration, Node } from 'typescript';

export function collectNonImportNodes(rootNode: Node, lastImport: Node): Node[] {
  const nonImportNodes: Node[] = [];
  let importsEnded = false;
  const traverse = (node: Node) => {
    importsEnded = importsEnded || node === lastImport;
    if (!importsEnded) {
      if (!isImportDeclaration(node)) {
        nonImportNodes.push(node);
      }
    }
  };
  rootNode.forEachChild(traverse);

  return nonImportNodes;
}