@tanstack/solid-router
Version:
Modern and scalable routing for Solid applications
34 lines (33 loc) • 1.06 kB
JavaScript
import { routerContext } from "./routerContext.js";
import { SafeFragment } from "./SafeFragment.js";
import { Matches } from "./Matches.js";
import { createComponent, mergeProps } from "@solidjs/web";
import * as Solid from "solid-js";
//#region src/RouterProvider.tsx
var RouterContext = routerContext;
function RouterContextProvider({ router, children, ...rest }) {
if (Object.keys(rest).length > 0) Solid.runWithOwner(null, () => {
router.update({
...router.options,
...rest,
context: {
...router.options.context,
...rest.context
}
});
});
return createComponent(router.options.Wrap || SafeFragment, { get children() {
return createComponent(RouterContext, {
value: router,
get children() {
return children();
}
});
} });
}
function RouterProvider({ router, ...rest }) {
return createComponent(RouterContextProvider, mergeProps({ router }, rest, { children: () => createComponent(Matches, {}) }));
}
//#endregion
export { RouterContextProvider, RouterProvider };
//# sourceMappingURL=RouterProvider.js.map