import { routerContext } from './routerContext';
import { SafeFragment } from './SafeFragment';
import { Matches } from './Matches';
export function RouterContextProvider({ router, children, ...rest }) {
    // Allow the router to update options on the router instance
    router.update({
        ...router.options,
        ...rest,
        context: {
            ...router.options.context,
            ...rest.context,
        },
    });
    const OptionalWrapper = router.options.Wrap || SafeFragment;
    return (<OptionalWrapper>
      <routerContext.Provider value={router}>
        {children()}
      </routerContext.Provider>
    </OptionalWrapper>);
}
export function RouterProvider({ router, ...rest }) {
    return (<RouterContextProvider router={router} {...rest}>
      {() => <Matches />}
    </RouterContextProvider>);
}
//# sourceMappingURL=RouterProvider.jsx.map