vue-fluent-ui
Version:
一个winui3/fluent design风格的vue组件库
32 lines (29 loc) • 930 B
JavaScript
;// CONCATENATED MODULE: ./src/utils/install.ts
/**
* 为组件添加 install 方法,使其可以用作 Vue 插件。
* @template T 主组件的类型。
* @template E 与主组件一起安装的额外组件的记录。
* @param main 主组件。
* @param [extra] 额外组件的可选记录。
* @returns 增强了 install 方法和额外组件的主组件。
*/ // biome-ignore lint/suspicious/noExplicitAny: <explanation>
const withInstall = (main, extra)=>{
main.install = (app)=>{
for (const comp of [
main,
...Object.values(extra ?? {})
]){
app.component(comp.name, comp);
}
};
if (extra) {
for (const [key, comp] of Object.entries(extra)){
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
main[key] = comp;
}
}
return main;
};
// TEST
if (false) {}
export { withInstall };