37 lines
1.1 KiB
JavaScript
37 lines
1.1 KiB
JavaScript
import { DEFAULT_SEGMENT_KEY } from '../../shared/lib/segment';
|
|
export async function getLayoutOrPageModule(loaderTree) {
|
|
const { layout, page, defaultPage } = loaderTree[2];
|
|
const isLayout = typeof layout !== 'undefined';
|
|
const isPage = typeof page !== 'undefined';
|
|
const isDefaultPage = typeof defaultPage !== 'undefined' && loaderTree[0] === DEFAULT_SEGMENT_KEY;
|
|
let mod = undefined;
|
|
let modType = undefined;
|
|
let filePath = undefined;
|
|
if (isLayout) {
|
|
mod = await layout[0]();
|
|
modType = 'layout';
|
|
filePath = layout[1];
|
|
} else if (isPage) {
|
|
mod = await page[0]();
|
|
modType = 'page';
|
|
filePath = page[1];
|
|
} else if (isDefaultPage) {
|
|
mod = await defaultPage[0]();
|
|
modType = 'page';
|
|
filePath = defaultPage[1];
|
|
}
|
|
return {
|
|
mod,
|
|
modType,
|
|
filePath
|
|
};
|
|
}
|
|
export async function getComponentTypeModule(loaderTree, moduleType) {
|
|
const { [moduleType]: module } = loaderTree[2];
|
|
if (typeof module !== 'undefined') {
|
|
return await module[0]();
|
|
}
|
|
return undefined;
|
|
}
|
|
|
|
//# sourceMappingURL=app-dir-module.js.map
|