import type { RequestEvent } from "@sveltejs/kit"; import type { BookmarkData } from "./valibot"; export type AuthEvent = RequestEvent & { platform: App.Platform; }; export type UserEvent = AuthEvent & { locals: App.Locals & { user: NonNullable; }; }; export type BookmarkEntity = BookmarkData & { cid: string; uri: string }; export type BookmarkLoad = (cursor?: string) => Promise<{ bookmarks: Array; next?: BookmarkLoad; }>; export const isAuthEvent = (event: RequestEvent): event is AuthEvent => { return event.platform?.env !== undefined; }; export const isUserEvent = (event: RequestEvent): event is UserEvent => { return isAuthEvent(event) && event.locals.user !== undefined; };