one
Version:
One is a React framework for web, iOS, and Android apps.
51 lines (50 loc) • 1.86 kB
JavaScript
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all) __defProp(target, name, {
get: all[name],
enumerable: true
});
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
get: () => from[key],
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
});
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var routeExportsFromEntry_exports = {};
__export(routeExportsFromEntry_exports, {
getRouteExportsFromEntry: () => getRouteExportsFromEntry,
routeEntryKey: () => routeEntryKey
});
module.exports = __toCommonJS(routeExportsFromEntry_exports);
function routeEntryKey(routerRoot, routeFile) {
return `/${routerRoot}/${routeFile.replace(/^\.?\//, "")}`;
}
async function getRouteExportsFromEntry(entry, routerRoot, routeFile) {
const key = routeEntryKey(routerRoot, routeFile);
const spaExports = entry?.oneServerSpaRouteExports;
if (spaExports?.loader && key in spaExports.loader) {
const [loader, loaderCache, generateStaticParams, sitemap] = await Promise.all([
spaExports.loader[key](),
spaExports.loaderCache?.[key]?.(),
spaExports.generateStaticParams?.[key]?.(),
spaExports.sitemap?.[key]?.()
]);
return {
loader,
loaderCache,
generateStaticParams,
sitemap
};
}
const app = entry?.default?.options ? entry.default : entry?.default?.default;
const importRoute = app?.options?.routes?.[key];
return importRoute ? await importRoute() : null;
}