one
Version:
One is a new React Framework that makes Vite serve both native and web.
30 lines (29 loc) • 1.07 kB
JavaScript
import { getPathnameFromFilePath } from "../utils/getPathnameFromFilePath.native.js";
import { findRouteNodeFromState } from "./findRouteNode.native.js";
function getRouteArtifactPaths(href, linking, rootNode) {
var fallback = {
loader: href,
preload: href
};
if (!(linking === null || linking === void 0 ? void 0 : linking.getStateFromPath) || !rootNode) return fallback;
var state = linking.getStateFromPath(href, linking.config);
var route = findRouteNodeFromState(state, rootNode);
if (!route) return fallback;
var pattern = getPathnameFromFilePath(route.contextKey.replace(/^\.\//, "/"));
if (route.type === "spa") {
var hasExplicitSpaMode = route.contextKey.split("/").some(function (segment) {
return /\+spa(?:\.|$)/.test(segment);
});
var path = hasExplicitSpaMode ? pattern : href;
return {
loader: path,
preload: path
};
}
return {
loader: href,
preload: route.type === "ssg" ? href : pattern
};
}
export { getRouteArtifactPaths };
//# sourceMappingURL=getRouteArtifactPath.native.js.map