Files
SnowLuma/.pnpm-store/v11/files/8e/fda8e020fa388e76f36bbb9d47db06b35363e6972ee49d3abe8ca1b17d3d5c6b0c822c8c4374bbbf1060127a8e6efc8db2176ee9b9eeb2cdd6b0628671bfaa
TanTan 2a69b23b47
Dev Build / cleanup (push) Waiting to run
Dev Build / typecheck (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:27:07 +08:00

43 lines
1.2 KiB
Plaintext

import type { SSROption } from './router'
import type { AnySerializationAdapter } from './ssr/serializer/transformer'
export interface RouterConfigOptions<
in out TSerializationAdapters,
in out TDefaultSsr,
> {
serializationAdapters?: TSerializationAdapters
defaultSsr?: TDefaultSsr
}
export interface RouterConfig<
in out TSerializationAdapters,
in out TDefaultSsr,
> {
'~types': RouterConfigTypes<TSerializationAdapters, TDefaultSsr>
serializationAdapters: TSerializationAdapters
defaultSsr: TDefaultSsr | undefined
}
export interface RouterConfigTypes<
in out TSerializationAdapters,
in out TDefaultSsr,
> {
serializationAdapters: TSerializationAdapters
defaultSsr: TDefaultSsr
}
export const createRouterConfig = <
const TSerializationAdapters extends ReadonlyArray<AnySerializationAdapter> =
[],
TDefaultSsr extends SSROption = SSROption,
>(
options: RouterConfigOptions<TSerializationAdapters, TDefaultSsr>,
): RouterConfig<TSerializationAdapters, TDefaultSsr> => {
return {
serializationAdapters: options.serializationAdapters,
defaultSsr: options.defaultSsr,
} as RouterConfig<TSerializationAdapters, TDefaultSsr>
}
export type AnyRouterConfig = RouterConfig<any, any>