import { getThemeVariables } from 'ant-design-vue/dist/theme';
import lessToJs from 'less-vars-to-js';
import fs from 'fs';

function getVariablesByPath(paths: string[]) {
  let modifyVars = {};
  paths.forEach((path) => {
    const paletteLess = fs.readFileSync(path, 'utf8');
    modifyVars = Object.assign(
      modifyVars,
      lessToJs(paletteLess, { stripPrefix: true, resolveVariables: false })
    );
  });
  return modifyVars;
}
export function generateModifyVars({
  dark = false,
  paths = [],
}: {
  dark: boolean;
  paths: string[];
}) {
  const modifyVars = getThemeVariables({ dark });
  return {
    ...modifyVars,
    ...getVariablesByPath(paths),
  };
}
