/*
 * @Author: jixiang
 * @Date: 2021-04-07 11:06:09
 * @Description:
 * @FilePath: /vite_pc/src/components/index.ts
 * 56580223@qq.com
 */
import { kebabCase } from 'lodash';
import { createApp, App } from 'vue';
import { createFromIconfontCN } from '@ant-design/icons-vue';
import { StaticConfig } from '@/config/app';
// iconfont的使用姿势: 2x.antdv.com/components/icon-cn/#components-icon-demo-use-iconfont.cn
const IconFont: any = createFromIconfontCN({
  scriptUrl: StaticConfig.IconfontURL,
});

/**
 * @description 自动将 ./src/components/global 下的组件注册成为全局组件
 * @param {vue} app 当前应用实例
 * @returns {void} void
 */

// 导入 components 下面的 所有 .vue文件
const files: any = import.meta.globEager('/src/components/*/*.vue');
export default (app: App): void => {
  // 因为通过 import.meta.globEager 返回的列表不能迭代所以直接使用 Object.keys 拿到 key 遍历
  Object.keys(files).forEach((c: string) => {
    const component = files[c]?.default;
    // 挂载全局控件
    app.component(component.name as string, component);
  });
};
