Attic is a cozy space with lofty ambitions.
attic.social
1import type { RequestEvent } from "@sveltejs/kit";
2
3export type AuthEvent = RequestEvent & {
4 platform: App.Platform;
5};
6
7export type UserEvent = AuthEvent & {
8 locals: App.Locals & {
9 user: NonNullable<App.Locals["user"]>;
10 };
11};
12
13export const isAuthEvent = (event: RequestEvent): event is AuthEvent => {
14 return event.platform?.env !== undefined;
15};
16
17export const isUserEvent = (event: RequestEvent): event is UserEvent => {
18 return isAuthEvent(event) && event.locals.user !== undefined;
19};