Skip to main content

$app/types

This module contains generated types for the routes in your app.

Available since 2.26

import type { type RouteId = string

A union of all the route IDs in your app — the union of PageRouteId and EndpointRouteId. Used for page.route.id and event.route.id.

RouteId
, type PageRouteId = string

A union of the route IDs in your app that have a +page.

A route ID can be in both PageRouteId and EndpointRouteId, if its directory contains both a +page and a +server.

PageRouteId
, type EndpointRouteId = string

A union of the route IDs in your app that have a +server.

A route ID can be in both PageRouteId and EndpointRouteId, if its directory contains both a +page and a +server.

EndpointRouteId
, type RouteParams<T extends RouteId> = T extends string ? Record<string, string> : Record<string, never>

A utility for getting the parameters associated with a given route.

RouteParams
,
type LayoutParams<T extends LayoutParamsId> = {
    [x: string]: string;
}

A utility for getting the parameters associated with a given layout, which is similar to RouteParams but also includes optional parameters for any child route.

LayoutParams
} from '$app/types';

AssetPath

A union of all the filenames of assets contained in your static directory, relative to the base path.

type AssetPath = 'favicon.png' | 'robots.txt' | (string & {});

RouteId

A union of all the route IDs in your app — the union of PageRouteId and EndpointRouteId. Used for page.route.id and event.route.id.

type RouteId = '/' | '/my-route' | '/my-other-route/[param]' | '/my-endpoint';

PageRouteId

A union of the route IDs in your app that have a +page.

A route ID can be in both PageRouteId and EndpointRouteId, if its directory contains both a +page and a +server. In the example below, /my-route has both.

type PageRouteId = '/' | '/my-route' | '/my-other-route/[param]';

EndpointRouteId

A union of the route IDs in your app that have a +server.

A route ID can be in both PageRouteId and EndpointRouteId, if its directory contains both a +page and a +server. In the example below, /my-route has both.

type EndpointRouteId = '/my-route' | '/my-endpoint';

Path

A union of all valid paths in your app, relative to the base path.

type Path = '' | 'my-route' | `my-other-route/${string}` & {};

ResolvedPathname

Similar to Path, but prefixed with a base path. Used for page.url.pathname.

type ResolvedPathname = `${'' | `/${string}`}/` | `${'' | `/${string}`}/my-route` | `${'' | `/${string}`}/my-other-route/${string}` | {};

RouteParams

A utility for getting the parameters associated with a given route.

type type BlogParams = RouteParams<"/blog/[slug]">BlogParams = RouteParams<'/blog/[slug]'>; // { slug: string }
type RouteParams<T extends RouteId> = { /* generated */ } | Record<string, never>;

LayoutParams

A utility for getting the parameters associated with a given layout, which is similar to RouteParams but also includes optional parameters for any child route. It accepts the route ID of any directory containing a layout, including layout-only directories that are not part of RouteId.

type LayoutParams<T extends '/' | '/my-layout' | '/my-other-layout'> = { /* generated */ };

Edit this page on GitHub llms.txt