one
Version:
One is a new React Framework that makes Vite serve both native and web.
34 lines (33 loc) • 1.17 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import React, { createContext, useContext } from "react";
import { getContextKey } from "./matchers.native.js";
import { RouteInfoContextProvider } from "./RouteInfoContext.native.js";
var RouteParamsContext = /* @__PURE__ */createContext({}),
CurrentRouteContext = /* @__PURE__ */React.createContext(null);
process.env.NODE_ENV !== "production" && (CurrentRouteContext.displayName = "RouteNode");
function useRouteNode() {
return useContext(CurrentRouteContext);
}
function useContextKey() {
var node = useRouteNode();
if (node == null) throw new Error("No filename found. This is likely a bug in router.");
return getContextKey(node.contextKey);
}
function Route(param) {
var {
children,
node,
route
} = param;
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.native.js.map