svelte-kit-cookie-session-patch
Version:
⚒️ Encrypted 'stateless' cookie sessions for SvelteKit
21 lines (20 loc) • 736 B
TypeScript
import type { CookieSerializeOptions } from "./utils/cookie";
import type { BinaryLike } from "./utils/crypto/types";
export interface SessionOptions {
key?: string;
secret: BinaryLike | {
id: number;
secret: BinaryLike;
}[];
expires?: number;
rolling?: boolean;
cookie?: Omit<CookieSerializeOptions, "expires" | "maxAge" | "encode">;
}
export interface Session<SessionType = Record<string, any>> {
data: SessionType & {
expires?: Date;
};
refresh: (expires_in_days?: number) => boolean;
destroy: () => boolean;
}
export declare function initializeSession<SessionType = Record<string, any>>(headers: Record<string, string>, options: SessionOptions): Session<SessionType>;