Skip to main content

@sveltejs/kit/params

import { function defineParams<T extends Record<string, ParamDefinition>>(definitions: T): DefinedParams<T>

Define parameter matchers for your app.

defineParams
} from '@sveltejs/kit/params';

defineParams

Define parameter matchers for your app.

function defineParams<
	T extends Record<string, ParamDefinition>
>(definitions: T): DefinedParams<T>;

DefinedParams

The return type of defineParams.

type DefinedParams<
	T extends Record<string, ParamDefinition>
> = {
	readonly [K in keyof T]: ParamEntry<T[K]>;
};

MatcherParam

Extracts the param type from a matcher.

type MatcherParam<M extends StandardSchemaV1<any, any>> =
	M extends StandardSchemaV1<any, infer Inner>
		? Inner extends ParamValue
			? Inner
			: Inner extends StandardSchemaV1<any, any>
				? StandardSchemaV1.InferOutput<Inner> extends ParamValue
					? StandardSchemaV1.InferOutput<Inner>
					: never
				: never
		: never;

ParamDefinition

A param matcher definition passed to defineParams.

type ParamDefinition =
	| ((param: string) => ParamValue | undefined)
	| StandardSchemaV1<string, ParamValue>;

ParamMatcher

The shape of a param matcher. See matching for more info.

type ParamMatcher<Output = any> = StandardSchemaV1<
	string,
	Output
>;

ParamValue

A value that can be parsed from a URL param and losslessly encoded with String(...).

type ParamValue = string | number | boolean | bigint;

Edit this page on GitHub llms.txt