import * as Solid from 'solid-js';
import { routerContext } from './routerContext';
import { SafeFragment } from './SafeFragment';
import { Matches } from './Matches';
const RouterContext = routerContext;
export 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,
                },
            });
        });
    }
    const OptionalWrapper = router.options.Wrap || SafeFragment;
    return (<OptionalWrapper>
      <RouterContext value={router}>{children()}</RouterContext>
    </OptionalWrapper>);
}
export function RouterProvider({ router, ...rest }) {
    return (<RouterContextProvider router={router} {...rest}>
      {() => <Matches />}
    </RouterContextProvider>);
}
//# sourceMappingURL=RouterProvider.jsx.map