@kitbag/router 0.24.3 → 0.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{src/components → components}/routerLink.d.ts +3 -3
- package/dist/compositions/useHasSuspenseBoundary.d.ts +4 -0
- package/dist/compositions/useIsServerRendering.d.ts +5 -0
- package/dist/compositions/useRouteValueStore.d.ts +7 -0
- package/dist/errors/contextRedirectError.d.ts +7 -0
- package/dist/errors/loaderDataAccessError.d.ts +8 -0
- package/dist/errors/loaderNameConflict.d.ts +9 -0
- package/dist/errors/navigationAbandonedError.d.ts +7 -0
- package/dist/errors/payloadValueError.d.ts +9 -0
- package/dist/errors/ssrOptionRequiredError.d.ts +7 -0
- package/dist/errors/unsupportedSchemaVendorError.d.ts +7 -0
- package/dist/errors/updateWithoutRouteError.d.ts +7 -0
- package/dist/kitbag-router.d.ts +1 -1
- package/dist/kitbag-router.js +2262 -1764
- package/dist/kitbag-router.umd.cjs +5 -4
- package/dist/{src/main.d.ts → main.d.ts} +10 -0
- package/dist/services/addLoader.d.ts +43 -0
- package/dist/services/addView.d.ts +40 -0
- package/dist/{src/services → services}/component.d.ts +2 -3
- package/dist/services/createActivityTracker.d.ts +6 -0
- package/dist/{src/services → services}/createComponentsStore.d.ts +2 -2
- package/dist/{src/services → services}/createCurrentRejection.d.ts +0 -3
- package/dist/services/createCurrentRoute.d.ts +25 -0
- package/dist/services/createDataStore.d.ts +48 -0
- package/dist/services/createNavigationIds.d.ts +6 -0
- package/dist/services/createNavigationStores.d.ts +36 -0
- package/dist/services/createRejection.d.ts +4 -0
- package/dist/{src/services → services}/createRoute.d.ts +3 -6
- package/dist/{src/services → services}/createRouteHooks.d.ts +1 -1
- package/dist/services/createRouteValueStore.d.ts +88 -0
- package/dist/services/createRouteViews.d.ts +16 -0
- package/dist/{src/services → services}/createRouterCallbackContext.d.ts +1 -1
- package/dist/{src/services → services}/createRouterRoute.d.ts +2 -2
- package/dist/services/createServerRedirect.d.ts +14 -0
- package/dist/services/getComputations.d.ts +40 -0
- package/dist/services/getGlobalRouteHooks.d.ts +4 -0
- package/dist/{src/services → services}/getRouteHooks.d.ts +2 -2
- package/dist/{src/services → services}/getRoutesForRouter.d.ts +3 -2
- package/dist/{src/services → services}/hooks.d.ts +1 -1
- package/dist/services/payload.d.ts +86 -0
- package/dist/services/standardSchema.d.ts +21 -0
- package/dist/{src/services → services}/urlParser.d.ts +5 -0
- package/dist/services/withRouteMethods.d.ts +7 -0
- package/dist/services/zod.spec.d.ts +1 -0
- package/dist/tests/hooks.spec.d.ts +1 -0
- package/dist/tests/hydration.browser.spec.d.ts +1 -0
- package/dist/tests/render.spec.d.ts +1 -0
- package/dist/tests/routeLoaders.browser.spec.d.ts +1 -0
- package/dist/tests/routeLoaders.spec.d.ts +1 -0
- package/dist/tests/routeProps.browser.spec.d.ts +1 -0
- package/dist/tests/routeProps.spec.d.ts +1 -0
- package/dist/types/addLoader.d.ts +70 -0
- package/dist/types/addView.d.ts +109 -0
- package/dist/{src/types → types}/callbackContext.d.ts +9 -0
- package/dist/{src/types → types}/createRouteOptions.d.ts +45 -24
- package/dist/{src/types → types}/hooks.d.ts +16 -17
- package/dist/{src/types → types}/paramTypes.d.ts +2 -3
- package/dist/{src/types → types}/params.d.ts +1 -1
- package/dist/{src/types → types}/prefetch.d.ts +1 -0
- package/dist/{src/types → types}/props.d.ts +12 -4
- package/dist/{src/types → types}/redirects.d.ts +11 -3
- package/dist/types/redirects.spec-d.d.ts +1 -0
- package/dist/types/register.spec.d.ts +1 -0
- package/dist/{src/types → types}/rejection.d.ts +24 -4
- package/dist/{src/types → types}/resolved.d.ts +25 -4
- package/dist/types/resolved.spec-d.d.ts +1 -0
- package/dist/types/route.d.ts +121 -0
- package/dist/types/route.spec-d.d.ts +1 -0
- package/dist/types/routeCallbackContext.d.ts +30 -0
- package/dist/types/routeLoaders.d.ts +32 -0
- package/dist/types/routeTitle.browser.spec.d.ts +1 -0
- package/dist/{src/types → types}/routeTitle.d.ts +2 -1
- package/dist/types/routeViews.d.ts +46 -0
- package/dist/types/routeWithMethods.d.ts +16 -0
- package/dist/types/routeWithParams.spec-d.d.ts +1 -0
- package/dist/{src/types → types}/router.d.ts +95 -3
- package/dist/{src/types → types}/routerPlugin.d.ts +8 -4
- package/dist/types/routerReject.d.ts +15 -0
- package/dist/{src/types → types}/routerRoute.d.ts +7 -1
- package/dist/types/routesMap.spec-ts.d.ts +1 -0
- package/dist/types/serverRenderResponse.spec-d.d.ts +1 -0
- package/dist/{src/types → types}/utilities.d.ts +1 -0
- package/dist/utilities/checkDuplicateNames.spec.d.ts +1 -0
- package/dist/utilities/checkDuplicateParams.spec.d.ts +1 -0
- package/dist/utilities/components.d.ts +18 -0
- package/dist/utilities/components.spec.d.ts +1 -0
- package/dist/utilities/guards.spec.d.ts +1 -0
- package/dist/utilities/isBrowser.browser.spec.d.ts +1 -0
- package/dist/utilities/isBrowser.spec.d.ts +1 -0
- package/dist/{src/utilities → utilities}/prefetch.d.ts +1 -1
- package/dist/utilities/prefetch.spec.d.ts +1 -0
- package/dist/utilities/props.d.ts +16 -0
- package/dist/utilities/setDocumentTitle.d.ts +1 -0
- package/dist/utilities/testHelpers.d.ts +242 -0
- package/dist/utilities/trailingSlashes.spec.d.ts +1 -0
- package/dist/utilities/urlSearchParams.spec.d.ts +1 -0
- package/package.json +17 -22
- package/dist/src/compositions/usePropStore.d.ts +0 -7
- package/dist/src/services/createCurrentRoute.d.ts +0 -13
- package/dist/src/services/createPropStore.d.ts +0 -13
- package/dist/src/services/createRejection.d.ts +0 -8
- package/dist/src/services/getGlobalRouteHooks.d.ts +0 -4
- package/dist/src/services/valibot.d.ts +0 -7
- package/dist/src/services/zod.d.ts +0 -11
- package/dist/src/types/route.d.ts +0 -80
- package/dist/src/types/routerReject.d.ts +0 -2
- package/dist/src/utilities/components.d.ts +0 -6
- package/dist/src/utilities/props.d.ts +0 -6
- package/dist/src/utilities/setDocumentTitle.d.ts +0 -2
- package/dist/src/utilities/testHelpers.d.ts +0 -3699
- /package/dist/{src/components → components}/echo.d.ts +0 -0
- /package/dist/{src/components → components}/helloWorld.d.ts +0 -0
- /package/dist/{src/components → components}/rejection.d.ts +0 -0
- /package/dist/{src/components → components}/routerLink.browser.spec.d.ts +0 -0
- /package/dist/{src/components → components}/routerView.browser.spec.d.ts +0 -0
- /package/dist/{src/components → components}/routerView.d.ts +0 -0
- /package/dist/{src/components → components}/routerView.spec.d.ts +0 -0
- /package/dist/{src/compositions → compositions}/useComponentsStore.d.ts +0 -0
- /package/dist/{src/compositions → compositions}/useEventListener.d.ts +0 -0
- /package/dist/{src/compositions/useQueryValue.browser.spec.d.ts → compositions/useHasSuspenseBoundary.browser.spec.d.ts} +0 -0
- /package/dist/{src/compositions/useQueryValue.spec-d.d.ts → compositions/useIsServerRendering.browser.spec.d.ts} +0 -0
- /package/dist/{src/compositions/useRoute.browser.spec.d.ts → compositions/useIsServerRendering.spec.d.ts} +0 -0
- /package/dist/{src/compositions → compositions}/useLink.d.ts +0 -0
- /package/dist/{src/compositions → compositions}/usePrefetching.d.ts +0 -0
- /package/dist/{src/compositions/useRoute.spec-d.d.ts → compositions/useQueryValue.browser.spec.d.ts} +0 -0
- /package/dist/{src/compositions → compositions}/useQueryValue.d.ts +0 -0
- /package/dist/{src/guards/routes.spec-d.d.ts → compositions/useQueryValue.spec-d.d.ts} +0 -0
- /package/dist/{src/compositions → compositions}/useRejection.d.ts +0 -0
- /package/dist/{src/services/arrayOf.spec.d.ts → compositions/useRoute.browser.spec.d.ts} +0 -0
- /package/dist/{src/compositions → compositions}/useRoute.d.ts +0 -0
- /package/dist/{src/services/combineHash.spec.d.ts → compositions/useRoute.spec-d.d.ts} +0 -0
- /package/dist/{src/compositions → compositions}/useRouter.d.ts +0 -0
- /package/dist/{src/compositions → compositions}/useRouterDepth.d.ts +0 -0
- /package/dist/{src/compositions → compositions}/useRouterHooks.d.ts +0 -0
- /package/dist/{src/compositions → compositions}/useVisibilityObserver.d.ts +0 -0
- /package/dist/{src/devtools → devtools}/createRouterDevtools.d.ts +0 -0
- /package/dist/{src/devtools → devtools}/filters.d.ts +0 -0
- /package/dist/{src/devtools → devtools}/getDevtoolsLabel.d.ts +0 -0
- /package/dist/{src/devtools → devtools}/types.d.ts +0 -0
- /package/dist/{src/errors → errors}/contextAbortError.d.ts +0 -0
- /package/dist/{src/errors → errors}/contextError.d.ts +0 -0
- /package/dist/{src/errors → errors}/contextPushError.d.ts +0 -0
- /package/dist/{src/errors → errors}/contextRejectionError.d.ts +0 -0
- /package/dist/{src/errors → errors}/duplicateNamesError.d.ts +0 -0
- /package/dist/{src/errors → errors}/duplicateParamsError.d.ts +0 -0
- /package/dist/{src/errors → errors}/initialRouteMissingError.d.ts +0 -0
- /package/dist/{src/errors → errors}/invalidRouteParamValueError.d.ts +0 -0
- /package/dist/{src/errors → errors}/invalidRouteRedirectError.d.ts +0 -0
- /package/dist/{src/errors → errors}/metaPropertyConflict.d.ts +0 -0
- /package/dist/{src/errors → errors}/multipleRouteRedirectsError.d.ts +0 -0
- /package/dist/{src/errors → errors}/routeNotFoundError.d.ts +0 -0
- /package/dist/{src/errors → errors}/routerNotInstalledError.d.ts +0 -0
- /package/dist/{src/errors → errors}/useRouteInvalidError.d.ts +0 -0
- /package/dist/{src/guards → guards}/routes.d.ts +0 -0
- /package/dist/{src/services/combineMeta.spec.d.ts → guards/routes.spec-d.d.ts} +0 -0
- /package/dist/{src/keys.d.ts → keys.d.ts} +0 -0
- /package/dist/{src/models → models}/hooks.d.ts +0 -0
- /package/dist/{src/services/combinePath.spec-d.d.ts → services/addLoader.spec-d.d.ts} +0 -0
- /package/dist/{src/services/combinePath.spec.d.ts → services/addLoader.spec.d.ts} +0 -0
- /package/dist/{src/services/combineQuery.spec.d.ts → services/addView.browser.spec.d.ts} +0 -0
- /package/dist/{src/services/combineState.spec.d.ts → services/addView.spec-d.d.ts} +0 -0
- /package/dist/{src/services/combineUrl.spec.d.ts → services/addView.spec.d.ts} +0 -0
- /package/dist/{src/services/component.browser.spec.d.ts → services/arktype.spec-d.d.ts} +0 -0
- /package/dist/{src/services/createExternalRoute.spec.d.ts → services/arktype.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/arrayOf.d.ts +0 -0
- /package/dist/{src/services/createIsExternal.spec.d.ts → services/arrayOf.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/combineHash.d.ts +0 -0
- /package/dist/{src/services/createResolvedRoute.spec.d.ts → services/combineHash.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/combineMeta.d.ts +0 -0
- /package/dist/{src/services/createRoute.spec-d.d.ts → services/combineMeta.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/combinePath.d.ts +0 -0
- /package/dist/{src/services/createRoute.spec.d.ts → services/combinePath.spec-d.d.ts} +0 -0
- /package/dist/{src/services/createRouteRedirects.spec.d.ts → services/combinePath.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/combineQuery.d.ts +0 -0
- /package/dist/{src/services/createRouter.browser.spec.d.ts → services/combineQuery.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/combineState.d.ts +0 -0
- /package/dist/{src/services/createRouter.spec-d.d.ts → services/combineState.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/combineUrl.d.ts +0 -0
- /package/dist/{src/services/createRouter.spec.d.ts → services/combineUrl.spec.d.ts} +0 -0
- /package/dist/{src/services/createRouterHistory.browser.spec.d.ts → services/component.browser.spec.d.ts} +0 -0
- /package/dist/{src/services/createRouterPlugin.browser.spec.d.ts → services/createActivityTracker.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/createComponentHooks.d.ts +0 -0
- /package/dist/{src/services/createRouterPlugin.spec-d.d.ts → services/createDataStore.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/createExternalRoute.d.ts +0 -0
- /package/dist/{src/services/createRouterRoute.spec.d.ts → services/createExternalRoute.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/createIsExternal.d.ts +0 -0
- /package/dist/{src/services/createUrl.spec.d.ts → services/createIsExternal.spec.d.ts} +0 -0
- /package/dist/{src/services/getInitialUrl.browser.spec.d.ts → services/createNavigationIds.spec.d.ts} +0 -0
- /package/dist/{src/services/getInitialUrl.spec.d.ts → services/createNavigationStores.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/createParam.d.ts +0 -0
- /package/dist/{src/services/getMatchesForUrl.spec.d.ts → services/createRejection.spec-d.d.ts} +0 -0
- /package/dist/{src/services/getRouteHooks.spec.d.ts → services/createRejection.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/createRejectionHooks.d.ts +0 -0
- /package/dist/{src/services → services}/createResolvedRoute.d.ts +0 -0
- /package/dist/{src/services/getRoutesForRouter.spec.d.ts → services/createResolvedRoute.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/createResolvedRouteQuery.d.ts +0 -0
- /package/dist/{src/services/history.browser.spec.d.ts → services/createRoute.spec-d.d.ts} +0 -0
- /package/dist/{src/services/hooks.browser.spec.d.ts → services/createRoute.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/createRouteId.d.ts +0 -0
- /package/dist/{src/services → services}/createRouteRedirects.d.ts +0 -0
- /package/dist/{src/services/hooks.spec.d.ts → services/createRouteRedirects.spec.d.ts} +0 -0
- /package/dist/{src/services/insertBaseRoute.spec.d.ts → services/createRouteValueStore.spec.d.ts} +0 -0
- /package/dist/{src/services/params.spec.d.ts → services/createRouter.browser.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/createRouter.d.ts +0 -0
- /package/dist/{src/services/paramsFinder.spec.d.ts → services/createRouter.spec-d.d.ts} +0 -0
- /package/dist/{src/services/queryParamFilter.spec.d.ts → services/createRouter.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/createRouterAssets.d.ts +0 -0
- /package/dist/{src/services/routeRegex.spec.d.ts → services/createRouterHistory.browser.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/createRouterHistory.d.ts +0 -0
- /package/dist/{src/services/state.spec.d.ts → services/createRouterHistory.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/createRouterHooks.d.ts +0 -0
- /package/dist/{src/services → services}/createRouterKeyStore.d.ts +0 -0
- /package/dist/{src/services/tupleOf.spec.d.ts → services/createRouterPlugin.browser.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/createRouterPlugin.d.ts +0 -0
- /package/dist/{src/services/unionOf.spec.d.ts → services/createRouterPlugin.spec-d.d.ts} +0 -0
- /package/dist/{src/services/urlParser.spec.d.ts → services/createRouterRoute.spec.d.ts} +0 -0
- /package/dist/{src/services/valibot.spec-d.d.ts → services/createServerRedirect.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/createUniqueIdSequence.d.ts +0 -0
- /package/dist/{src/services → services}/createUrl.d.ts +0 -0
- /package/dist/{src/services/valibot.spec.d.ts → services/createUrl.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/createVisibilityObserver.d.ts +0 -0
- /package/dist/{src/services → services}/createVueAppStore.d.ts +0 -0
- /package/dist/{src/services → services}/getGlobalHooksForRouter.d.ts +0 -0
- /package/dist/{src/services/withParams.spec-d.d.ts → services/getInitialUrl.browser.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/getInitialUrl.d.ts +0 -0
- /package/dist/{src/services/withParams.spec.d.ts → services/getInitialUrl.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/getMatchesForUrl.d.ts +0 -0
- /package/dist/{src/services/zod.spec-d.d.ts → services/getMatchesForUrl.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/getParamsForString.d.ts +0 -0
- /package/dist/{src/services → services}/getRejectionHooks.d.ts +0 -0
- /package/dist/{src/services/zod.spec.d.ts → services/getRouteHooks.spec.d.ts} +0 -0
- /package/dist/{src/tests/hooks.spec.d.ts → services/getRoutesForRouter.spec.d.ts} +0 -0
- /package/dist/{src/tests/routeProps.browser.spec.d.ts → services/history.browser.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/history.d.ts +0 -0
- /package/dist/{src/tests/routeProps.spec.d.ts → services/hooks.browser.spec.d.ts} +0 -0
- /package/dist/{src/types/redirects.spec-d.d.ts → services/hooks.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/insertBaseRoute.d.ts +0 -0
- /package/dist/{src/types/register.spec.d.ts → services/insertBaseRoute.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/literal.d.ts +0 -0
- /package/dist/{src/services → services}/params.d.ts +0 -0
- /package/dist/{src/types/resolved.spec-d.d.ts → services/params.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/paramsFinder.d.ts +0 -0
- /package/dist/{src/types/route.spec-d.d.ts → services/paramsFinder.spec.d.ts} +0 -0
- /package/dist/{src/types/routeTitle.browser.spec.d.ts → services/payload.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/queryParamFilter.d.ts +0 -0
- /package/dist/{src/types/routeWithParams.spec-d.d.ts → services/queryParamFilter.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/routeRegex.d.ts +0 -0
- /package/dist/{src/types/routesMap.spec-ts.d.ts → services/routeRegex.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/state.d.ts +0 -0
- /package/dist/{src/utilities/checkDuplicateNames.spec.d.ts → services/state.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/tupleOf.d.ts +0 -0
- /package/dist/{src/utilities/checkDuplicateParams.spec.d.ts → services/tupleOf.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/unionOf.d.ts +0 -0
- /package/dist/{src/utilities/components.spec.d.ts → services/unionOf.spec.d.ts} +0 -0
- /package/dist/{src/utilities/guards.spec.d.ts → services/urlParser.spec.d.ts} +0 -0
- /package/dist/{src/utilities/isBrowser.browser.spec.d.ts → services/valibot.spec-d.d.ts} +0 -0
- /package/dist/{src/utilities/isBrowser.spec.d.ts → services/valibot.spec.d.ts} +0 -0
- /package/dist/{src/services → services}/withDefault.d.ts +0 -0
- /package/dist/{src/services → services}/withParams.d.ts +0 -0
- /package/dist/{src/utilities/prefetch.spec.d.ts → services/withParams.spec-d.d.ts} +0 -0
- /package/dist/{src/utilities/trailingSlashes.spec.d.ts → services/withParams.spec.d.ts} +0 -0
- /package/dist/{src/utilities/urlSearchParams.spec.d.ts → services/zod.spec-d.d.ts} +0 -0
- /package/dist/{src/types → types}/meta.d.ts +0 -0
- /package/dist/{src/types → types}/name.d.ts +0 -0
- /package/dist/{src/types → types}/querySource.d.ts +0 -0
- /package/dist/{src/types → types}/register.d.ts +0 -0
- /package/dist/{src/types → types}/routeContext.d.ts +0 -0
- /package/dist/{src/types → types}/routeUpdate.d.ts +0 -0
- /package/dist/{src/types → types}/routeWithParams.d.ts +0 -0
- /package/dist/{src/types → types}/routerAbort.d.ts +0 -0
- /package/dist/{src/types → types}/routerLink.d.ts +0 -0
- /package/dist/{src/types → types}/routerPush.d.ts +0 -0
- /package/dist/{src/types → types}/routerReplace.d.ts +0 -0
- /package/dist/{src/types → types}/routerResolve.d.ts +0 -0
- /package/dist/{src/types → types}/routesMap.d.ts +0 -0
- /package/dist/{src/types → types}/state.d.ts +0 -0
- /package/dist/{src/types → types}/url.d.ts +0 -0
- /package/dist/{src/types → types}/urlString.d.ts +0 -0
- /package/dist/{src/types → types}/useLink.d.ts +0 -0
- /package/dist/{src/utilities → utilities}/array.d.ts +0 -0
- /package/dist/{src/utilities → utilities}/checkDuplicateNames.d.ts +0 -0
- /package/dist/{src/utilities → utilities}/checkDuplicateParams.d.ts +0 -0
- /package/dist/{src/utilities → utilities}/guards.d.ts +0 -0
- /package/dist/{src/utilities → utilities}/index.d.ts +0 -0
- /package/dist/{src/utilities → utilities}/isBrowser.d.ts +0 -0
- /package/dist/{src/utilities → utilities}/isNamedRoute.d.ts +0 -0
- /package/dist/{src/utilities → utilities}/makeOptional.d.ts +0 -0
- /package/dist/{src/utilities → utilities}/promises.d.ts +0 -0
- /package/dist/{src/utilities → utilities}/trailingSlashes.d.ts +0 -0
- /package/dist/{src/utilities → utilities}/urlSearchParams.d.ts +0 -0
|
@@ -14,6 +14,11 @@ type UrlPartsInput = {
|
|
|
14
14
|
};
|
|
15
15
|
export declare function stringifyUrl(parts: UrlPartsInput): UrlString;
|
|
16
16
|
export declare function parseUrl(value: string): UrlParts;
|
|
17
|
+
/**
|
|
18
|
+
* Ignores host, and sorts query params because the router reorders them when it separates declared
|
|
19
|
+
* params from the rest.
|
|
20
|
+
*/
|
|
21
|
+
export declare function isSameUrl(left: string, right: string): boolean;
|
|
17
22
|
export declare function updateUrl(url: string, updates: UrlPartsInput): UrlString;
|
|
18
23
|
export declare function updateUrl(url: Partial<UrlParts>, updates: UrlPartsInput): UrlParts;
|
|
19
24
|
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Route } from '../types/route';
|
|
2
|
+
/**
|
|
3
|
+
* Attaches the chainable, immutable route methods — `addView` and `addLoader`. Each call rebuilds the
|
|
4
|
+
* route's own (last) match and returns a new route with the methods re-attached, so neither mutates the
|
|
5
|
+
* route it was called on, and chaining one never drops the other.
|
|
6
|
+
*/
|
|
7
|
+
export declare function withRouteMethods<TRoute extends Route>(route: TRoute): TRoute;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { RouteWithMethods } from './routeWithMethods';
|
|
2
|
+
import { PrefetchConfig } from './prefetch';
|
|
3
|
+
import { TransformerOptions } from '../services/payload';
|
|
4
|
+
import { ResolvedRoute } from './resolved';
|
|
5
|
+
import { CreatedRouteOptions, Route } from './route';
|
|
6
|
+
import { RouteCallbackContext } from './routeCallbackContext';
|
|
7
|
+
import { RouteLoader, RouteLoaders } from './routeLoaders';
|
|
8
|
+
import { Url } from './url';
|
|
9
|
+
import { Identity, LastInArray } from './utilities';
|
|
10
|
+
/**
|
|
11
|
+
* The getter for a loader added via `addLoader`. Receives the same two arguments as an `addView` props
|
|
12
|
+
* getter, except that its route carries no data: a route's data includes what the loader itself is
|
|
13
|
+
* computing, so reading it could only wait on itself. A parent's data is reached through the context.
|
|
14
|
+
*
|
|
15
|
+
* Unlike a props getter it can return anything, since nothing binds what it returns to a component.
|
|
16
|
+
*/
|
|
17
|
+
export type LoaderGetter<TRoute extends Route = Route> = (route: ResolvedRoute<TRoute>, context: RouteCallbackContext<TRoute>) => unknown;
|
|
18
|
+
/**
|
|
19
|
+
* The options for a loader added via `addLoader`.
|
|
20
|
+
*
|
|
21
|
+
* @template TName - The loader's name, inferred from the `name` option.
|
|
22
|
+
*/
|
|
23
|
+
export type AddLoaderOptions<TName extends string | undefined = string, TValue = unknown> = TransformerOptions<TValue> & {
|
|
24
|
+
/**
|
|
25
|
+
* The name of the loader, which is the key its data is exposed under on the route. Defaults to the
|
|
26
|
+
* unnamed loader, whose data is exposed as the route's data directly.
|
|
27
|
+
*/
|
|
28
|
+
name?: TName;
|
|
29
|
+
/**
|
|
30
|
+
* Determines whether this loader is run when a router-link is rendered for this route. Overrides route
|
|
31
|
+
* level prefetch, and is itself overridden by link level prefetch.
|
|
32
|
+
*/
|
|
33
|
+
prefetch?: PrefetchConfig;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* The loaders of the route itself, from the last `matches` entry.
|
|
37
|
+
*/
|
|
38
|
+
type CurrentMatchLoaders<TMatches extends CreatedRouteOptions[]> = LastInArray<TMatches> extends {
|
|
39
|
+
loaders: infer TLoaders extends RouteLoaders;
|
|
40
|
+
} ? TLoaders : RouteLoaders;
|
|
41
|
+
/**
|
|
42
|
+
* Computes the new loaders after adding a loader, replacing any loader the route already stored under
|
|
43
|
+
* the same name.
|
|
44
|
+
*/
|
|
45
|
+
type AddLoaderLoaders<TCurrent extends RouteLoaders, TName extends string | undefined, TData> = Identity<Omit<TCurrent, LoaderName<TName>> & Record<LoaderName<TName>, RouteLoader<TData>>> extends infer TNext extends RouteLoaders ? TNext : TCurrent;
|
|
46
|
+
type LoaderName<TName extends string | undefined> = TName extends string ? TName : 'default';
|
|
47
|
+
/**
|
|
48
|
+
* Replaces the loaders on the last match, preserving all ancestors.
|
|
49
|
+
*/
|
|
50
|
+
type ReplaceLastMatchLoaders<TMatches extends CreatedRouteOptions[], TNewLoaders extends RouteLoaders> = TMatches extends [...infer THead extends CreatedRouteOptions[], infer TLast extends CreatedRouteOptions] ? Identity<Omit<TLast, 'loaders'> & {
|
|
51
|
+
loaders: TNewLoaders;
|
|
52
|
+
}> extends infer TNext extends CreatedRouteOptions ? [...THead, TNext] : TMatches : TMatches;
|
|
53
|
+
/**
|
|
54
|
+
* The full return type of an `addLoader` call: the same url with the last match's loaders replaced.
|
|
55
|
+
*/
|
|
56
|
+
type AddLoaderReturn<TUrl extends Url, TMatches extends CreatedRouteOptions[], TNewLoaders extends RouteLoaders> = ReplaceLastMatchLoaders<TMatches, TNewLoaders> extends infer TNext extends CreatedRouteOptions[] ? RouteWithMethods<TUrl, TNext> : never;
|
|
57
|
+
/**
|
|
58
|
+
* Adds a loader to a route. Chainable to register multiple loaders, each exposed under its own name on
|
|
59
|
+
* the resolved route's `data`.
|
|
60
|
+
*/
|
|
61
|
+
export type RouteAddLoader<TUrl extends Url = Url, TMatches extends CreatedRouteOptions[] = CreatedRouteOptions[]> = {
|
|
62
|
+
/**
|
|
63
|
+
* Adds a loader for this route. Loaders never block rendering, so their data is always a promise.
|
|
64
|
+
*
|
|
65
|
+
* @param load - The loader callback. Receives the resolved route and a context object.
|
|
66
|
+
* @param options - The loader's `name` and `prefetch` config.
|
|
67
|
+
*/
|
|
68
|
+
addLoader: <const TName extends string | undefined = undefined, const TGetter extends LoaderGetter<Route<TUrl, TMatches>> = LoaderGetter<Route<TUrl, TMatches>>>(load: TGetter, options?: AddLoaderOptions<TName, Awaited<ReturnType<TGetter>>>) => AddLoaderReturn<TUrl, TMatches, AddLoaderLoaders<CurrentMatchLoaders<TMatches>, TName, ReturnType<TGetter>>>;
|
|
69
|
+
};
|
|
70
|
+
export {};
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { Component } from 'vue';
|
|
2
|
+
import { ComponentProps } from '../services/component';
|
|
3
|
+
import { ComponentPropsAreOptional, PropsGetter } from './createRouteOptions';
|
|
4
|
+
import { ResolvedRoute, WithData } from './resolved';
|
|
5
|
+
import { CreatedRouteOptions, Route } from './route';
|
|
6
|
+
import { RouteCallbackContext } from './routeCallbackContext';
|
|
7
|
+
import { RouteWithMethods } from './routeWithMethods';
|
|
8
|
+
import { PrefetchConfig } from './prefetch';
|
|
9
|
+
import { TransformerOptions } from '../services/payload';
|
|
10
|
+
import { RouteView, RouteViews } from './routeViews';
|
|
11
|
+
import { Url } from './url';
|
|
12
|
+
import { AnyFunction, Identity, LastInArray, MaybePromise } from './utilities';
|
|
13
|
+
/**
|
|
14
|
+
* The props getter for a view added via `addView`. Receives the same two arguments as the
|
|
15
|
+
* `createRoute` props callback: the resolved route and a context object.
|
|
16
|
+
*/
|
|
17
|
+
export type AddViewPropsGetter<TRoute extends Route, TComponent extends Component> = (route: ResolvedRoute<TRoute> & WithData<TRoute>, context: AddViewPropsCallbackContext<TRoute>) => MaybePromise<ComponentProps<TComponent>>;
|
|
18
|
+
/**
|
|
19
|
+
* Context provided to an `addView` props getter. The same context a loader is given, since both are
|
|
20
|
+
* callbacks attached to a route.
|
|
21
|
+
*/
|
|
22
|
+
export type AddViewPropsCallbackContext<TRoute extends Route> = RouteCallbackContext<TRoute>;
|
|
23
|
+
/**
|
|
24
|
+
* When the getter is omitted the default type param resolves to the wide getter type, which then
|
|
25
|
+
* "extends" itself and collapses to undefined. When a getter is provided its return type is kept — the
|
|
26
|
+
* view only needs what the props resolve to, not the signature it took to get there.
|
|
27
|
+
*/
|
|
28
|
+
type NewViewProps<TRoute extends Route, TComponent extends Component, TGetter extends AnyFunction> = AddViewPropsGetter<TRoute, TComponent> extends TGetter ? undefined : ReturnType<TGetter>;
|
|
29
|
+
/**
|
|
30
|
+
* The options for a view added via `addView`.
|
|
31
|
+
*
|
|
32
|
+
* @template TName - The view's name, inferred from the `name` option.
|
|
33
|
+
* @template TGetter - The view's props getter, inferred from the `props` option.
|
|
34
|
+
*/
|
|
35
|
+
export type AddViewOptions<TName extends string | undefined = string, TGetter = PropsGetter> = TransformerOptions<PayloadValueOf<TGetter>> & {
|
|
36
|
+
/**
|
|
37
|
+
* The name of the view, rendered by `<router-view name="..." />`. Defaults to the unnamed view.
|
|
38
|
+
*/
|
|
39
|
+
name?: TName;
|
|
40
|
+
/**
|
|
41
|
+
* A props getter for the view. Receives the resolved route and a context object.
|
|
42
|
+
*/
|
|
43
|
+
props?: TGetter;
|
|
44
|
+
/**
|
|
45
|
+
* Determines what assets are prefetched for this view when a router-link is rendered for this route.
|
|
46
|
+
* Overrides route level prefetch, and is itself overridden by link level prefetch.
|
|
47
|
+
*/
|
|
48
|
+
prefetch?: PrefetchConfig;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* What a getter resolves to, which is what its payload options carry.
|
|
52
|
+
*/
|
|
53
|
+
type PayloadValueOf<TGetter> = TGetter extends (...args: any[]) => any ? Awaited<ReturnType<TGetter>> : unknown;
|
|
54
|
+
/**
|
|
55
|
+
* {@link AddViewOptions} with `props` promoted to required. Only reached for components that have
|
|
56
|
+
* required props — everything else uses {@link AddViewOptions}, where `props` stays optional, so a view
|
|
57
|
+
* can always be given a name and a prefetch config without a getter.
|
|
58
|
+
*
|
|
59
|
+
* Spelled out rather than intersected with {@link AddViewOptions} so that the literal `name` still
|
|
60
|
+
* infers through the conditional args tuple.
|
|
61
|
+
*/
|
|
62
|
+
type AddViewOptionsWithRequiredProps<TName extends string | undefined, TGetter> = TransformerOptions<PayloadValueOf<TGetter>> & {
|
|
63
|
+
name?: TName;
|
|
64
|
+
props: TGetter;
|
|
65
|
+
prefetch?: PrefetchConfig;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* The options argument for `addView`, required only when the component has required props. `TName` and
|
|
69
|
+
* `TGetter` are inferred from the object's properties rather than from the object as a whole: inferring
|
|
70
|
+
* the whole object as a `const` type param through this conditional tuple widens the literal name.
|
|
71
|
+
*/
|
|
72
|
+
type AddViewArgs<TComponent extends Component, TName extends string | undefined, TGetter> = ComponentPropsAreOptional<TComponent> extends true ? [options?: AddViewOptions<TName, TGetter>] : [options: AddViewOptionsWithRequiredProps<TName, TGetter>];
|
|
73
|
+
/**
|
|
74
|
+
* The views of the route itself, from the last `matches` entry.
|
|
75
|
+
*/
|
|
76
|
+
type CurrentMatchViews<TMatches extends CreatedRouteOptions[]> = LastInArray<TMatches> extends {
|
|
77
|
+
views: infer TViews extends RouteViews;
|
|
78
|
+
} ? TViews : RouteViews;
|
|
79
|
+
/**
|
|
80
|
+
* Computes the new views after adding a view, replacing any view already stored under the same name.
|
|
81
|
+
*/
|
|
82
|
+
export type AddViewProps<TCurrent extends RouteViews, TName extends string | undefined, TNewProps> = Identity<Omit<TCurrent, ViewName<TName>> & Record<ViewName<TName>, [TNewProps] extends [undefined] ? RouteView : RouteView<TNewProps>>> extends infer TNext extends RouteViews ? TNext : TCurrent;
|
|
83
|
+
type ViewName<TName extends string | undefined> = TName extends string ? TName : 'default';
|
|
84
|
+
/**
|
|
85
|
+
* Replaces the views on the last match, preserving all ancestors.
|
|
86
|
+
*/
|
|
87
|
+
type ReplaceLastMatchViews<TMatches extends CreatedRouteOptions[], TNewViews extends RouteViews> = TMatches extends [...infer THead extends CreatedRouteOptions[], infer TLast extends CreatedRouteOptions] ? Identity<Omit<TLast, 'views'> & {
|
|
88
|
+
views: TNewViews;
|
|
89
|
+
}> extends infer TNext extends CreatedRouteOptions ? [...THead, TNext] : TMatches : TMatches;
|
|
90
|
+
/**
|
|
91
|
+
* The full return type of an `addView` call: the same url with the last match's views replaced.
|
|
92
|
+
*/
|
|
93
|
+
type AddViewReturn<TUrl extends Url, TMatches extends CreatedRouteOptions[], TNewProps extends RouteViews> = ReplaceLastMatchViews<TMatches, TNewProps> extends infer TNext extends CreatedRouteOptions[] ? RouteWithMethods<TUrl, TNext> : never;
|
|
94
|
+
/**
|
|
95
|
+
* Adds a view (component + optional props getter) to a route. Chainable to register multiple views,
|
|
96
|
+
* including named views for named `<router-view />`s.
|
|
97
|
+
*/
|
|
98
|
+
export type RouteAddView<TUrl extends Url = Url, TMatches extends CreatedRouteOptions[] = CreatedRouteOptions[]> = {
|
|
99
|
+
/**
|
|
100
|
+
* Adds a view for this route.
|
|
101
|
+
*
|
|
102
|
+
* @param component - The component to render. Rendered by `<router-view name="..." />` when the
|
|
103
|
+
* options carry a name, and by the default `<router-view />` otherwise.
|
|
104
|
+
* @param options - The view's `name`, `props` getter, and `prefetch` config. Required when the
|
|
105
|
+
* component has required props, optional otherwise.
|
|
106
|
+
*/
|
|
107
|
+
addView: <TComponent extends Component, const TName extends string | undefined = undefined, const TGetter extends AddViewPropsGetter<Route<TUrl, TMatches>, TComponent> = AddViewPropsGetter<Route<TUrl, TMatches>, TComponent>>(component: TComponent, ...options: AddViewArgs<TComponent, TName, TGetter>) => AddViewReturn<TUrl, TMatches, AddViewProps<CurrentMatchViews<TMatches>, TName, NewViewProps<Route<TUrl, TMatches>, TComponent, TGetter>>>;
|
|
108
|
+
};
|
|
109
|
+
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { RedirectStatus } from './router';
|
|
1
2
|
import { RouterPush } from './routerPush';
|
|
2
3
|
export type CallbackContextSuccess = {
|
|
3
4
|
status: 'SUCCESS';
|
|
@@ -6,6 +7,14 @@ export type CallbackContextPush = {
|
|
|
6
7
|
status: 'PUSH';
|
|
7
8
|
to: Parameters<RouterPush>;
|
|
8
9
|
};
|
|
10
|
+
export type CallbackContextRedirect = {
|
|
11
|
+
status: 'REDIRECT';
|
|
12
|
+
to: Parameters<RouterPush>;
|
|
13
|
+
/**
|
|
14
|
+
* The status the redirect declared, or undefined to use the router's `redirectStatus`.
|
|
15
|
+
*/
|
|
16
|
+
redirectStatus: RedirectStatus | undefined;
|
|
17
|
+
};
|
|
9
18
|
export type CallbackContextReject = {
|
|
10
19
|
status: 'REJECT';
|
|
11
20
|
type: string;
|
|
@@ -1,22 +1,20 @@
|
|
|
1
1
|
import { Component } from 'vue';
|
|
2
|
-
import { CombineMeta } from '../services/combineMeta';
|
|
3
|
-
import { CombineState } from '../services/combineState';
|
|
4
2
|
import { Param } from './paramTypes';
|
|
5
3
|
import { PrefetchConfig } from './prefetch';
|
|
6
4
|
import { RouteMeta } from './register';
|
|
7
5
|
import { Route } from './route';
|
|
8
|
-
import { ResolvedRoute } from './resolved';
|
|
6
|
+
import { ResolvedRoute, WithData } from './resolved';
|
|
9
7
|
import { ComponentProps } from '../services/component';
|
|
10
8
|
import { PropsCallbackContext } from './props';
|
|
11
|
-
import { Identity, MaybePromise } from './utilities';
|
|
9
|
+
import { AnyFunction, Identity, MaybePromise } from './utilities';
|
|
12
10
|
import { ToMeta } from './meta';
|
|
13
|
-
import { ToState } from './state';
|
|
14
11
|
import { ToName } from './name';
|
|
15
12
|
import { UrlPart, UrlQueryPart } from '../services/withParams';
|
|
16
|
-
import { RouteContext
|
|
13
|
+
import { RouteContext } from './routeContext';
|
|
17
14
|
import { RouterViewProps } from '../components/routerView';
|
|
18
15
|
import { ToUrl } from './url';
|
|
19
16
|
import { CombineUrl } from '../services/combineUrl';
|
|
17
|
+
import { RouteView } from './routeViews';
|
|
20
18
|
export type WithHost<THost extends string | UrlPart = string | UrlPart> = {
|
|
21
19
|
/**
|
|
22
20
|
* Host part of URL.
|
|
@@ -44,15 +42,9 @@ type WithoutComponents = {
|
|
|
44
42
|
export declare function isWithComponent<T extends Record<string, unknown>>(options: T): options is T & {
|
|
45
43
|
component: Component;
|
|
46
44
|
};
|
|
47
|
-
export declare function isWithComponentProps<T extends Record<string, unknown>>(options: T): options is T & {
|
|
48
|
-
props: PropsGetter;
|
|
49
|
-
};
|
|
50
45
|
export declare function isWithComponents<T extends Record<string, unknown>>(options: T): options is T & {
|
|
51
46
|
components: Record<string, Component>;
|
|
52
47
|
};
|
|
53
|
-
export declare function isWithComponentPropsRecord<T extends Record<string, unknown>>(options: T): options is T & {
|
|
54
|
-
props: RoutePropsRecord;
|
|
55
|
-
};
|
|
56
48
|
export type CreateRouteOptions<TName extends string | undefined = string | undefined, TMeta extends RouteMeta = RouteMeta> = {
|
|
57
49
|
/**
|
|
58
50
|
* Name for route, used to create route keys and in navigation.
|
|
@@ -90,10 +82,13 @@ export type CreateRouteOptions<TName extends string | undefined = string | undef
|
|
|
90
82
|
* An optional component to render when this route is matched.
|
|
91
83
|
*
|
|
92
84
|
* @default RouterView
|
|
85
|
+
* @deprecated Use the chainable `addView` method on the route instead: `createRoute({ ... }).addView(component, { props })`.
|
|
93
86
|
*/
|
|
94
87
|
component?: Component;
|
|
95
88
|
/**
|
|
96
89
|
* An object of named components to render using named views
|
|
90
|
+
*
|
|
91
|
+
* @deprecated Use the chainable `addView` method on the route instead: `createRoute({ ... }).addView(component, { name, props })`.
|
|
97
92
|
*/
|
|
98
93
|
components?: Record<string, Component>;
|
|
99
94
|
/**
|
|
@@ -105,32 +100,58 @@ export type CreateRouteOptions<TName extends string | undefined = string | undef
|
|
|
105
100
|
*/
|
|
106
101
|
hoist?: boolean;
|
|
107
102
|
};
|
|
108
|
-
export type PropsGetter<TOptions extends CreateRouteOptions = CreateRouteOptions, TComponent extends Component = Component> = (route: ResolvedRoute<ToRoute<TOptions>>, context: PropsCallbackContext<ToRoute<TOptions>, TOptions>) => MaybePromise<ComponentProps<TComponent>>;
|
|
109
|
-
export type RouterViewPropsGetter<TOptions extends CreateRouteOptions = CreateRouteOptions> = (route: ResolvedRoute<ToRoute<TOptions>>, context: PropsCallbackContext<ToRoute<TOptions>, TOptions>) => MaybePromise<RouterViewProps & Record<string, unknown>>;
|
|
110
|
-
type ComponentPropsAreOptional<TComponent extends Component> = Partial<ComponentProps<TComponent>> extends ComponentProps<TComponent> ? true : false;
|
|
103
|
+
export type PropsGetter<TOptions extends CreateRouteOptions = CreateRouteOptions, TComponent extends Component = Component> = (route: ResolvedRoute<ToRoute<TOptions>> & WithData<ToRoute<TOptions>>, context: PropsCallbackContext<ToRoute<TOptions>, TOptions>) => MaybePromise<ComponentProps<TComponent>>;
|
|
104
|
+
export type RouterViewPropsGetter<TOptions extends CreateRouteOptions = CreateRouteOptions> = (route: ResolvedRoute<ToRoute<TOptions>> & WithData<ToRoute<TOptions>>, context: PropsCallbackContext<ToRoute<TOptions>, TOptions>) => MaybePromise<RouterViewProps & Record<string, unknown>>;
|
|
105
|
+
export type ComponentPropsAreOptional<TComponent extends Component> = Partial<ComponentProps<TComponent>> extends ComponentProps<TComponent> ? true : false;
|
|
111
106
|
type RoutePropsRecord<TOptions extends CreateRouteOptions = CreateRouteOptions, TComponents extends Record<string, Component> = Record<string, Component>> = {
|
|
112
107
|
[K in keyof TComponents as ComponentPropsAreOptional<TComponents[K]> extends true ? K : never]?: PropsGetter<TOptions, TComponents[K]>;
|
|
113
108
|
} & {
|
|
114
109
|
[K in keyof TComponents as ComponentPropsAreOptional<TComponents[K]> extends false ? K : never]: PropsGetter<TOptions, TComponents[K]>;
|
|
115
110
|
};
|
|
116
111
|
export type CreateRouteProps<TOptions extends CreateRouteOptions = CreateRouteOptions> = TOptions['component'] extends Component ? PropsGetter<TOptions, TOptions['component']> : TOptions['components'] extends Record<string, Component> ? RoutePropsRecord<TOptions, TOptions['components']> : RouterViewPropsGetter<TOptions>;
|
|
117
|
-
type ToMatch<TOptions extends CreateRouteOptions, TProps> = Omit<TOptions, '
|
|
112
|
+
type ToMatch<TOptions extends CreateRouteOptions, TProps = undefined> = Omit<TOptions, 'meta' | 'name' | 'component' | 'components' | 'parent'> & {
|
|
118
113
|
id: string;
|
|
119
114
|
name: ToName<TOptions['name']>;
|
|
120
|
-
props: TProps;
|
|
121
115
|
/**
|
|
122
116
|
* Represents additional metadata associated with a route. Always present, defaults to empty object.
|
|
123
117
|
*/
|
|
124
118
|
meta: ToMeta<TOptions['meta']>;
|
|
119
|
+
/**
|
|
120
|
+
* The views this route renders, keyed by view name.
|
|
121
|
+
*/
|
|
122
|
+
views: PropsToViews<TProps>;
|
|
123
|
+
/**
|
|
124
|
+
* The loaders this route runs, keyed by loader name. Always empty here — loaders are only added via
|
|
125
|
+
* the route's `addLoader`.
|
|
126
|
+
*/
|
|
127
|
+
loaders: {};
|
|
125
128
|
};
|
|
126
|
-
|
|
129
|
+
/**
|
|
130
|
+
* The matches for a route, from greatest ancestor to the route itself. Each carries its own views, so
|
|
131
|
+
* there is no second tuple to keep aligned with this one.
|
|
132
|
+
*/
|
|
133
|
+
type ToMatches<TOptions extends CreateRouteOptions, TProps = undefined> = TOptions extends {
|
|
127
134
|
parent: infer TParent extends Route;
|
|
128
|
-
} ? [...TParent['matches'], ToMatch<TOptions, TProps>] : [ToMatch<
|
|
129
|
-
|
|
135
|
+
} ? [...TParent['matches'], ToMatch<TOptions, TProps>] : [ToMatch<TOptions, TProps>];
|
|
136
|
+
/**
|
|
137
|
+
* Builds a views record from the props argument, which is either a single getter for the unnamed view or
|
|
138
|
+
* a record of getters keyed by view name.
|
|
139
|
+
*/
|
|
140
|
+
type PropsToViews<TProps> = [TProps] extends [AnyFunction] ? {
|
|
141
|
+
default: RouteView<ReturnType<TProps>>;
|
|
142
|
+
} : [TProps] extends [Record<string, AnyFunction>] ? {
|
|
143
|
+
[K in keyof TProps]: RouteView<ReturnType<TProps[K]>>;
|
|
144
|
+
} : {};
|
|
145
|
+
/**
|
|
146
|
+
* The url a route resolves to, combined with its parent's unless the route is hoisted.
|
|
147
|
+
*/
|
|
148
|
+
export type ToRouteUrl<TOptions extends CreateRouteOptions> = TOptions extends {
|
|
130
149
|
parent: infer TParent extends Route;
|
|
131
|
-
} ?
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
150
|
+
} ? TOptions['hoist'] extends true ? ToUrl<TOptions & WithoutComponents> : CombineUrl<TParent, ToUrl<TOptions & WithoutComponents>> : ToUrl<Identity<TOptions & WithoutComponents>>;
|
|
151
|
+
/**
|
|
152
|
+
* The matches for a route, with the props argument resolved to the views of its own match.
|
|
153
|
+
*/
|
|
154
|
+
export type ToRouteMatches<TOptions extends CreateRouteOptions, TProps> = ToMatches<TOptions, CreateRouteProps<TOptions> extends TProps ? undefined : TProps>;
|
|
155
|
+
export type ToRoute<TOptions extends CreateRouteOptions, TProps extends CreateRouteProps<TOptions> | undefined = undefined> = CreateRouteOptions extends TOptions ? Route : Route<ToRouteUrl<TOptions>, ToRouteMatches<TOptions, TProps>>;
|
|
135
156
|
export declare function combineRoutes(parent: Route, child: Route): Route;
|
|
136
157
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Hooks } from '../models/hooks';
|
|
2
|
-
import {
|
|
2
|
+
import { RouterResolvedRouteUnion, ResolvedRouteUnion } from './resolved';
|
|
3
3
|
import { MaybePromise } from './utilities';
|
|
4
4
|
import { Route, Routes } from './route';
|
|
5
5
|
import { RouterReject } from './routerReject';
|
|
@@ -8,7 +8,7 @@ import { RouterReplace } from './routerReplace';
|
|
|
8
8
|
import { Rejection, Rejections } from './rejection';
|
|
9
9
|
import { RouteContext, RouteContextToRejection, RouteContextToRoute } from './routeContext';
|
|
10
10
|
import { RouterAbort } from './routerAbort';
|
|
11
|
-
import { CallbackContextAbort, CallbackContextPush, CallbackContextReject, CallbackContextSuccess } from './callbackContext';
|
|
11
|
+
import { CallbackContextAbort, CallbackContextPush, CallbackContextRedirect, CallbackContextReject, CallbackContextSuccess } from './callbackContext';
|
|
12
12
|
import { RouteUpdate } from './routeUpdate';
|
|
13
13
|
export declare function getHooks(value: Record<string, unknown> | undefined | null): Hooks[];
|
|
14
14
|
export declare function combineHooks(parent: Route, child: Route): Hooks[];
|
|
@@ -107,10 +107,10 @@ export type BeforeUpdateHookContext<TRoutes extends Routes = Routes, TRejections
|
|
|
107
107
|
};
|
|
108
108
|
export type BeforeUpdateHook<TRoutes extends Routes = Routes, TRejections extends Rejections = Rejections, TRouteTo extends Route = TRoutes[number], TRouteFrom extends Route = TRoutes[number]> = (to: ResolvedRouteUnion<TRouteTo>, context: BeforeUpdateHookContext<TRoutes, TRejections, TRouteTo, TRouteFrom>) => MaybePromise<void>;
|
|
109
109
|
export type AddBeforeUpdateHook<TRoutes extends Routes = Routes, TRejections extends Rejections = Rejections, TRouteTo extends Route = TRoutes[number], TRouteFrom extends Route = TRoutes[number]> = (hook: BeforeUpdateHook<TRoutes, TRejections, TRouteTo, TRouteFrom>) => HookRemove;
|
|
110
|
-
export type BeforeLeaveHookContext<TRoutes extends Routes = Routes, TRejections extends Rejections = Rejections, TRouteTo extends Route = TRoutes[number], TRouteFrom extends Route = TRoutes[number]> = BeforeHookContext<TRouteTo, TRoutes, TRejections> & {
|
|
110
|
+
export type BeforeLeaveHookContext<TRoutes extends Routes = Routes, TRejections extends Rejections = Rejections, TRouteTo extends Route = TRoutes[number], TRouteFrom extends Route = TRoutes[number]> = Omit<BeforeHookContext<TRouteTo, TRoutes, TRejections>, 'update'> & {
|
|
111
111
|
from: ResolvedRouteUnion<TRouteFrom>;
|
|
112
112
|
};
|
|
113
|
-
export type BeforeLeaveHook<TRoutes extends Routes = Routes, TRejections extends Rejections = Rejections, TRouteTo extends Route = TRoutes[number], TRouteFrom extends Route = TRoutes[number]> = (to: ResolvedRouteUnion<TRouteTo
|
|
113
|
+
export type BeforeLeaveHook<TRoutes extends Routes = Routes, TRejections extends Rejections = Rejections, TRouteTo extends Route = TRoutes[number], TRouteFrom extends Route = TRoutes[number]> = (to: ResolvedRouteUnion<TRouteTo> | null, context: BeforeLeaveHookContext<TRoutes, TRejections, TRouteTo, TRouteFrom>) => MaybePromise<void>;
|
|
114
114
|
export type AddBeforeLeaveHook<TRoutes extends Routes = Routes, TRejections extends Rejections = Rejections, TRouteTo extends Route = TRoutes[number], TRouteFrom extends Route = TRoutes[number]> = (hook: BeforeLeaveHook<TRoutes, TRejections, TRouteTo, TRouteFrom>) => HookRemove;
|
|
115
115
|
export type AfterEnterHookContext<TRoutes extends Routes = Routes, TRejections extends Rejections = Rejections, TRouteTo extends Route = TRoutes[number], TRouteFrom extends Route = TRoutes[number]> = AfterHookContext<TRouteTo, TRoutes, TRejections> & {
|
|
116
116
|
from: ResolvedRouteUnion<TRouteFrom> | null;
|
|
@@ -122,19 +122,19 @@ export type AfterUpdateHookContext<TRoutes extends Routes = Routes, TRejections
|
|
|
122
122
|
};
|
|
123
123
|
export type AfterUpdateHook<TRoutes extends Routes = Routes, TRejections extends Rejections = Rejections, TRouteTo extends Route = TRoutes[number], TRouteFrom extends Route = TRoutes[number]> = (to: ResolvedRouteUnion<TRouteTo>, context: AfterUpdateHookContext<TRoutes, TRejections, TRouteTo, TRouteFrom>) => MaybePromise<void>;
|
|
124
124
|
export type AddAfterUpdateHook<TRoutes extends Routes = Routes, TRejections extends Rejections = Rejections, TRouteTo extends Route = TRoutes[number], TRouteFrom extends Route = TRoutes[number]> = (hook: AfterUpdateHook<TRoutes, TRejections, TRouteTo, TRouteFrom>) => HookRemove;
|
|
125
|
-
export type AfterLeaveHookContext<TRoutes extends Routes = Routes, TRejections extends Rejections = Rejections, TRouteTo extends Route = TRoutes[number], TRouteFrom extends Route = TRoutes[number]> = AfterHookContext<TRouteTo, TRoutes, TRejections> & {
|
|
125
|
+
export type AfterLeaveHookContext<TRoutes extends Routes = Routes, TRejections extends Rejections = Rejections, TRouteTo extends Route = TRoutes[number], TRouteFrom extends Route = TRoutes[number]> = Omit<AfterHookContext<TRouteTo, TRoutes, TRejections>, 'update'> & {
|
|
126
126
|
from: ResolvedRouteUnion<TRouteFrom>;
|
|
127
127
|
};
|
|
128
|
-
export type AfterLeaveHook<TRoutes extends Routes = Routes, TRejections extends Rejections = Rejections, TRouteTo extends Route = TRoutes[number], TRouteFrom extends Route = TRoutes[number]> = (to: ResolvedRouteUnion<TRouteTo
|
|
128
|
+
export type AfterLeaveHook<TRoutes extends Routes = Routes, TRejections extends Rejections = Rejections, TRouteTo extends Route = TRoutes[number], TRouteFrom extends Route = TRoutes[number]> = (to: ResolvedRouteUnion<TRouteTo> | null, context: AfterLeaveHookContext<TRoutes, TRejections, TRouteTo, TRouteFrom>) => MaybePromise<void>;
|
|
129
129
|
export type AddAfterLeaveHook<TRoutes extends Routes = Routes, TRejections extends Rejections = Rejections, TRouteTo extends Route = TRoutes[number], TRouteFrom extends Route = TRoutes[number]> = (hook: AfterLeaveHook<TRoutes, TRejections, TRouteTo, TRouteFrom>) => HookRemove;
|
|
130
|
-
export type BeforeHookResponse = CallbackContextSuccess | CallbackContextPush | CallbackContextReject | CallbackContextAbort;
|
|
130
|
+
export type BeforeHookResponse = CallbackContextSuccess | CallbackContextPush | CallbackContextRedirect | CallbackContextReject | CallbackContextAbort;
|
|
131
131
|
export type AfterHookResponse = CallbackContextSuccess | CallbackContextPush | CallbackContextReject;
|
|
132
132
|
export type BeforeHookRunner = <TRoutes extends Routes>(context: {
|
|
133
|
-
to: RouterResolvedRouteUnion<TRoutes
|
|
133
|
+
to: RouterResolvedRouteUnion<TRoutes> | null;
|
|
134
134
|
from: RouterResolvedRouteUnion<TRoutes> | null;
|
|
135
135
|
}) => Promise<BeforeHookResponse>;
|
|
136
136
|
export type AfterHookRunner = <TRoutes extends Routes>(context: {
|
|
137
|
-
to: RouterResolvedRouteUnion<TRoutes
|
|
137
|
+
to: RouterResolvedRouteUnion<TRoutes> | null;
|
|
138
138
|
from: RouterResolvedRouteUnion<TRoutes> | null;
|
|
139
139
|
}) => Promise<AfterHookResponse>;
|
|
140
140
|
export type RejectionHookContext<TRoutes extends Routes = Routes, TRouteTo extends Route = TRoutes[number], TRouteFrom extends Route = TRoutes[number]> = {
|
|
@@ -147,21 +147,20 @@ export type RejectionHookRunner<TRejection extends Rejection = Rejection, TRoute
|
|
|
147
147
|
to: RouterResolvedRouteUnion<TRoutes> | null;
|
|
148
148
|
from: RouterResolvedRouteUnion<TRoutes> | null;
|
|
149
149
|
}) => void;
|
|
150
|
-
export type ErrorHookContext<
|
|
151
|
-
to: RouterResolvedRouteUnion<TRoutes
|
|
150
|
+
export type ErrorHookContext<TRoutes extends Routes = Routes, TRejections extends Rejections = Rejections> = {
|
|
151
|
+
to: RouterResolvedRouteUnion<TRoutes> | null;
|
|
152
152
|
from: RouterResolvedRouteUnion<TRoutes> | null;
|
|
153
|
-
source: 'props' | 'hook' | 'component';
|
|
153
|
+
source: 'props' | 'loader' | 'hook' | 'component';
|
|
154
154
|
reject: RouterReject<TRejections>;
|
|
155
155
|
push: RouterPush<TRoutes>;
|
|
156
156
|
replace: RouterReplace<TRoutes>;
|
|
157
|
-
update: RouteUpdate<ResolvedRoute<TRoute>>;
|
|
158
157
|
};
|
|
159
|
-
export type ErrorHook<
|
|
160
|
-
export type AddErrorHook<
|
|
158
|
+
export type ErrorHook<TRoutes extends Routes = Routes, TRejections extends Rejections = Rejections> = (error: unknown, context: ErrorHookContext<TRoutes, TRejections>) => void;
|
|
159
|
+
export type AddErrorHook<TRoutes extends Routes = Routes, TRejections extends Rejections = Rejections> = (hook: ErrorHook<TRoutes, TRejections>) => HookRemove;
|
|
161
160
|
export type ErrorHookRunnerContext<TRoutes extends Routes = Routes> = {
|
|
162
|
-
to: RouterResolvedRouteUnion<TRoutes
|
|
161
|
+
to: RouterResolvedRouteUnion<TRoutes> | null;
|
|
163
162
|
from: RouterResolvedRouteUnion<TRoutes> | null;
|
|
164
|
-
source: 'props' | 'hook';
|
|
163
|
+
source: 'props' | 'loader' | 'hook';
|
|
165
164
|
};
|
|
166
165
|
export type ErrorHookRunner = (error: unknown, context: ErrorHookRunnerContext) => void;
|
|
167
166
|
export {};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { ValibotSchemaLike } from '../services/
|
|
2
|
-
import { ZodSchemaLike } from '../services/zod';
|
|
1
|
+
import { ArkTypeSchemaLike, ValibotSchemaLike, ZodSchemaLike } from '../services/standardSchema';
|
|
3
2
|
export type ParamExtras = {
|
|
4
3
|
invalid: (message?: string) => never;
|
|
5
4
|
};
|
|
@@ -11,4 +10,4 @@ export type ParamGetSet<T = any> = {
|
|
|
11
10
|
defaultValue?: T;
|
|
12
11
|
};
|
|
13
12
|
export type LiteralParam = string | number | boolean;
|
|
14
|
-
export type Param = ParamGetter | ParamGetSet | RegExp | BooleanConstructor | NumberConstructor | StringConstructor | DateConstructor | JSON | ZodSchemaLike | ValibotSchemaLike | LiteralParam;
|
|
13
|
+
export type Param = ParamGetter | ParamGetSet | RegExp | BooleanConstructor | NumberConstructor | StringConstructor | DateConstructor | JSON | ZodSchemaLike | ValibotSchemaLike | ArkTypeSchemaLike | LiteralParam;
|
|
@@ -33,7 +33,7 @@ export type ExtractParamName<TParam extends PropertyKey> = TParam extends string
|
|
|
33
33
|
* @template TParam - The parameter type.
|
|
34
34
|
* @returns The extracted type, or 'string' as a fallback.
|
|
35
35
|
*/
|
|
36
|
-
export type ExtractParamType<TParam extends Param> = Param extends TParam ? unknown : TParam extends ParamGetSet<infer Type> ? Type : TParam extends DateConstructor ? Date : TParam extends JSON ? unknown : TParam extends
|
|
36
|
+
export type ExtractParamType<TParam extends Param> = Param extends TParam ? unknown : TParam extends ParamGetSet<infer Type> ? Type : TParam extends DateConstructor ? Date : TParam extends JSON ? unknown : TParam extends StandardSchemaV1 ? StandardSchemaV1.InferOutput<TParam> : TParam extends ParamGetter ? ReturnType<TParam> : TParam extends LiteralParam ? TParam : string;
|
|
37
37
|
export type ParamIsOptional<TParam extends string> = TParam extends `?${string}` ? true : false;
|
|
38
38
|
export type ParamIsGreedy<TParam extends string> = TParam extends `${string}*` ? true : false;
|
|
39
39
|
export type ParamIsOptionalOrHasDefault<TParamName extends string, TParam extends Param | undefined> = ParamIsOptional<TParamName> extends true ? true : TParam extends Required<ParamGetSet> ? true : false;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CreateRouteOptions
|
|
1
|
+
import { CreateRouteOptions } from './createRouteOptions';
|
|
2
2
|
import { Route } from './route';
|
|
3
3
|
import { RouterReject } from './routerReject';
|
|
4
4
|
import { RouterPush } from './routerPush';
|
|
@@ -6,6 +6,9 @@ import { RouterReplace } from './routerReplace';
|
|
|
6
6
|
import { ExtractRouteContextRejections, ExtractRouteContextRoutes } from './routeContext';
|
|
7
7
|
import { ResolvedRoute } from './resolved';
|
|
8
8
|
import { RouteUpdate } from './routeUpdate';
|
|
9
|
+
import { LoadersDataReturnType } from './routeLoaders';
|
|
10
|
+
import { ViewsPropsReturnType } from './routeViews';
|
|
11
|
+
import { LastInArray } from './utilities';
|
|
9
12
|
/**
|
|
10
13
|
* Context provided to props callback functions
|
|
11
14
|
*/
|
|
@@ -19,11 +22,16 @@ export type PropsCallbackContext<TRoute extends Route = Route, TOptions extends
|
|
|
19
22
|
export type PropsCallbackParent<TParent extends Route | undefined = Route | undefined> = Route | undefined extends TParent ? undefined | {
|
|
20
23
|
name: string;
|
|
21
24
|
props: unknown;
|
|
25
|
+
data: unknown;
|
|
22
26
|
} : TParent extends Route ? {
|
|
23
27
|
name: TParent['name'];
|
|
24
28
|
props: GetParentPropsReturnType<TParent>;
|
|
29
|
+
data: GetParentDataReturnType<TParent>;
|
|
25
30
|
} : undefined;
|
|
26
|
-
type GetParentPropsReturnType<TParent extends Route | undefined = Route | undefined> = TParent extends Route ?
|
|
27
|
-
|
|
28
|
-
} : undefined : undefined;
|
|
31
|
+
type GetParentPropsReturnType<TParent extends Route | undefined = Route | undefined> = TParent extends Route ? LastInArray<TParent['matches']> extends {
|
|
32
|
+
views: infer TViews;
|
|
33
|
+
} ? ViewsPropsReturnType<TViews> : undefined : undefined;
|
|
34
|
+
type GetParentDataReturnType<TParent extends Route | undefined = Route | undefined> = TParent extends Route ? LastInArray<TParent['matches']> extends {
|
|
35
|
+
loaders: infer TLoaders;
|
|
36
|
+
} ? LoadersDataReturnType<TLoaders> : undefined : undefined;
|
|
29
37
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ResolvedRouteUnion } from './resolved';
|
|
2
2
|
import { Route, Routes } from './route';
|
|
3
|
+
import { RedirectStatus } from './router';
|
|
3
4
|
import { RouterReplace } from './routerReplace';
|
|
4
5
|
import { UrlParamsReading, UrlParamsWriting } from './url';
|
|
5
6
|
import { AllPropertiesAreOptional, MaybePromise } from './utilities';
|
|
@@ -18,12 +19,19 @@ type RedirectHookContext<TRoutes extends Routes> = {
|
|
|
18
19
|
};
|
|
19
20
|
export type RedirectHook<TRoutes extends Routes = Routes, TRouteTo extends Route = TRoutes[number]> = (to: ResolvedRouteUnion<TRouteTo>, context: RedirectHookContext<TRoutes>) => MaybePromise<void>;
|
|
20
21
|
export type RouteRedirectCallback<TRouteTo extends Route = Route, TRouteFrom extends Route = Route> = (params: UrlParamsReading<TRouteFrom>) => UrlParamsWriting<TRouteTo>;
|
|
22
|
+
export type RouteRedirectOptions = {
|
|
23
|
+
/**
|
|
24
|
+
* The http status a server responds with for this redirect when server rendering. Defaults to the
|
|
25
|
+
* router's `redirectStatus`.
|
|
26
|
+
*/
|
|
27
|
+
status?: RedirectStatus;
|
|
28
|
+
};
|
|
21
29
|
/**
|
|
22
30
|
* This type is purposely wide to prevent type errors in RouteRedirectFrom where the TRouteTo generic cannot be inferred.
|
|
23
31
|
*/
|
|
24
|
-
export type RouteRedirect = (to: Route, callback?: (params: any) => any) => void;
|
|
25
|
-
export type RedirectToArgs<TRouteTo extends Route = Route, TRouteFrom extends Route = Route> = AllPropertiesAreOptional<UrlParamsWriting<TRouteTo>> extends true ? [to: TRouteTo, params?: RouteRedirectCallback<TRouteTo, TRouteFrom
|
|
32
|
+
export type RouteRedirect = (to: Route, callback?: (params: any) => any, options?: RouteRedirectOptions) => void;
|
|
33
|
+
export type RedirectToArgs<TRouteTo extends Route = Route, TRouteFrom extends Route = Route> = AllPropertiesAreOptional<UrlParamsWriting<TRouteTo>> extends true ? [to: TRouteTo, params?: RouteRedirectCallback<TRouteTo, TRouteFrom>, options?: RouteRedirectOptions] : [to: TRouteTo, params: RouteRedirectCallback<TRouteTo, TRouteFrom>, options?: RouteRedirectOptions];
|
|
26
34
|
export type RouteRedirectTo<TRouteFrom extends Route = Route> = <TRouteTo extends Route>(...args: RedirectToArgs<TRouteTo, TRouteFrom>) => void;
|
|
27
|
-
export type RedirectFromArgs<TRouteTo extends Route = Route, TRouteFrom extends Route = Route> = AllPropertiesAreOptional<UrlParamsWriting<TRouteTo>> extends true ? [from: TRouteFrom, params?: RouteRedirectCallback<TRouteTo, TRouteFrom
|
|
35
|
+
export type RedirectFromArgs<TRouteTo extends Route = Route, TRouteFrom extends Route = Route> = AllPropertiesAreOptional<UrlParamsWriting<TRouteTo>> extends true ? [from: TRouteFrom, params?: RouteRedirectCallback<TRouteTo, TRouteFrom>, options?: RouteRedirectOptions] : [from: TRouteFrom, params: RouteRedirectCallback<TRouteTo, TRouteFrom>, options?: RouteRedirectOptions];
|
|
28
36
|
export type RouteRedirectFrom<TRouteTo extends Route = Route> = <TRouteFrom extends Route>(...args: RedirectFromArgs<TRouteTo, TRouteFrom>) => void;
|
|
29
37
|
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import { Ref } from 'vue';
|
|
1
|
+
import { Component, Ref } from 'vue';
|
|
2
2
|
import { Route } from './route';
|
|
3
3
|
import { Router } from './router';
|
|
4
4
|
import { RouterReject } from './routerReject';
|
|
5
5
|
import { Hooks } from '../models/hooks';
|
|
6
|
-
|
|
7
|
-
export
|
|
6
|
+
import { GetTitleCallback } from './routeTitle';
|
|
7
|
+
export declare const BUILT_IN_REJECTIONS: {
|
|
8
|
+
readonly NotFound: 404;
|
|
9
|
+
};
|
|
10
|
+
export type BuiltInRejectionType = keyof typeof BUILT_IN_REJECTIONS;
|
|
11
|
+
export declare const NOT_FOUND_REJECTION_TYPE = "NotFound";
|
|
8
12
|
export type RouterRejection<T extends Rejection = Rejection> = Ref<T | null>;
|
|
9
13
|
export type RouterRejections<TRouter extends Router> = TRouter['reject'] extends RouterReject<infer TRejections extends Rejection[]> ? TRejections[number] : never;
|
|
10
14
|
export declare const IS_REJECTION_SYMBOL: unique symbol;
|
|
@@ -18,11 +22,27 @@ export type RejectionInternal = {
|
|
|
18
22
|
* Represents an immutable array of Rejection instances.
|
|
19
23
|
*/
|
|
20
24
|
export type Rejections = readonly Rejection[];
|
|
21
|
-
export type
|
|
25
|
+
export type RejectionOptions<TType extends string = string> = {
|
|
22
26
|
/**
|
|
23
27
|
* The type of rejection.
|
|
24
28
|
*/
|
|
25
29
|
type: TType;
|
|
30
|
+
/**
|
|
31
|
+
* The component rendered while this rejection is in effect.
|
|
32
|
+
*/
|
|
33
|
+
component?: Component;
|
|
34
|
+
/**
|
|
35
|
+
* The http status a server should respond with while this rejection is in effect. 404 for something
|
|
36
|
+
* missing, 401 or 403 for something gated, 503 for something temporary. Defaults to the router's
|
|
37
|
+
* `rejectStatus`.
|
|
38
|
+
*/
|
|
39
|
+
status?: number;
|
|
40
|
+
};
|
|
41
|
+
export type Rejection<TType extends string = string> = Pick<RejectionOptions<TType>, 'type' | 'status'> & {
|
|
42
|
+
/**
|
|
43
|
+
* Returns the title of the rejection from its `setTitle` callback.
|
|
44
|
+
*/
|
|
45
|
+
getTitle: GetTitleCallback;
|
|
26
46
|
};
|
|
27
47
|
export type RejectionType<TRejections extends Rejections | undefined> = unknown extends TRejections ? never : Rejections extends TRejections ? string : undefined extends TRejections ? string : TRejections extends Rejections ? TRejections[number]['type'] : never;
|
|
28
48
|
export type ExtractRejections<T> = T extends {
|