one
Version:
One is a new React Framework that makes Vite serve both native and web.
30 lines (29 loc) • 1.05 kB
JavaScript
import React, { createContext, useContext } from "react";
import { getContextKey } from "./matchers";
import { RouteInfoContextProvider } from "./RouteInfoContext";
import { jsx } from "react/jsx-runtime";
const RouteParamsContext = createContext({}), CurrentRouteContext = React.createContext(null);
process.env.NODE_ENV !== "production" && (CurrentRouteContext.displayName = "RouteNode");
function useRouteNode() {
return useContext(CurrentRouteContext);
}
function useContextKey() {
const node = useRouteNode();
if (node == null)
throw new Error("No filename found. This is likely a bug in router.");
return getContextKey(node.contextKey);
}
function Route({
children,
node,
route
}) {
return /* @__PURE__ */ jsx(RouteParamsContext.Provider, { value: route?.params, children: /* @__PURE__ */ jsx(CurrentRouteContext.Provider, { value: node, children: /* @__PURE__ */ jsx(RouteInfoContextProvider, { children }) }) });
}
export {
Route,
RouteParamsContext,
useContextKey,
useRouteNode
};
//# sourceMappingURL=Route.js.map