@fedify/fedify
Version:
An ActivityPub server framework
41 lines • 1.36 kB
TypeScript
/**
* Fedify with SvelteKit
* =====================
*
* This module provides a [SvelteKit] hook to integrate with the Fedify.
*
* [SvelteKit]: https://kit.svelte.dev/
*
* @module
* @since 1.3.0
*/
import type { Federation } from "../federation/federation.js";
type RequestEvent = {
request: Request;
};
type HookParams = {
event: RequestEvent;
resolve: (event: RequestEvent) => Promise<Response>;
};
/**
* Create a SvelteKit hook handler to integrate with the {@link Federation}
* object.
*
* @example hooks.server.ts
* ``` typescript
* import { federation } from "./federation"; // Import the `Federation` object
*
* export const handle = fedifyHook(federation, () => undefined);
* ```
*
* @typeParam TContextData A type of the context data for the {@link Federation}
* object.
* @param federation A {@link Federation} object to integrate with SvelteKit.
* @param createContextData A function to create a context data for the
* {@link Federation} object.
* @returns A SvelteKit hook handler.
* @since 1.3.0
*/
export declare function fedifyHook<TContextData>(federation: Federation<TContextData>, createContextData: (event: RequestEvent) => TContextData | Promise<TContextData>): (params: HookParams) => Promise<Response>;
export {};
//# sourceMappingURL=sveltekit.d.ts.map