one
Version:
One is a new React Framework that makes Vite serve both native and web.
38 lines (37 loc) • 1.24 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({});
var CurrentRouteContext = /* @__PURE__ */React.createContext(null);
if (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 === null || route === void 0 ? void 0 : route.params,
children: /* @__PURE__ */_jsx(CurrentRouteContext.Provider, {
value: node,
children: /* @__PURE__ */_jsx(RouteInfoContextProvider, {
children
})
})
});
}
export { Route, RouteParamsContext, useContextKey, useRouteNode };
//# sourceMappingURL=Route.native.js.map