@macrof/loader
Version:
React MicroFrontend Loader, Typescript, Webpack 5, ModuleFederation
30 lines (29 loc) • 813 B
JavaScript
import { dynamicLoadErrors } from './Errors';
import EmptySection from '../../components/emptySection';
const errHandler = (errText, err) => {
console.group([dynamicLoadErrors.component, errText, err]);
};
export const dynamicLoad = (menu) => {
const _data = {
Main: EmptySection,
SubMenu: {}
};
menu()
.then((args) => {
if (args.SubMenu) {
_data.SubMenu = args.SubMenu;
}
else {
errHandler(dynamicLoadErrors.subMenu, args);
}
return args.Menu ? Promise.resolve(args.Menu) : Promise.reject(args);
})
.then((element) => {
_data.Main = element;
})
.catch((err) => {
errHandler(dynamicLoadErrors.name, err);
_data.Main = EmptySection;
});
return _data;
};