import {paramCase} from 'change-case';
import {defineAsyncComponent} from 'vue';

export default function (context, app, prefix) {
    for (const file in context) {
        let componentName = paramCase(`${prefix}${file.replace(/^.*\/(.*?)\.vue$/g, '$1')}`);

        app.component(componentName, typeof context[file] === 'function' ? defineAsyncComponent(context[file]) : context[file].default);
    }
}