import fs from 'fs-extra';
import path from 'path';
import rehypeParse from 'rehype-parse';
import { unified } from 'unified';
import { VFile } from 'vfile';

export const ICONS_PATH = path.resolve(process.cwd(), 'scripts/assets');

export function getSVGNode(iconPath, space = 'svg') {
  const svgStr = fs.readFileSync(iconPath);
  const processor = unified().use(rehypeParse, { fragment: true, space });
  const file = new VFile();
  file.value = svgStr.toString();
  const hastNode = processor.runSync(processor.parse(file), file);
  return hastNode.children || [];
}

export function getVNode(str = '', space = 'html') {
  const processor = unified().use(rehypeParse, { fragment: true, space });
  const file = new VFile();
  file.value = str.toString();
  const hastNode = processor.runSync(processor.parse(file), file);
  return hastNode.children || [];
}