src/signed-cookie-types.tsTypeScript
@@ -0,0 +1,20 @@
1+
export interface CookieKeys {2+
current: string;3+
previous?: string;4+
}5+
6+
export interface CookieCodec {7+
encodeJson(value: Readonly<Record<string, unknown>>): string;8+
decodeJson(encoded: string): Readonly<Record<string, unknown>>;9+
decodeMac(encoded: string): Uint8Array;10+
}11+
12+
export interface CookieMac {13+
sign(encodedPayload: string, key: string): string;14+
timingSafeEqual(left: Uint8Array, right: Uint8Array): boolean;15+
}16+
17+
export interface VerifiedCookie {18+
payload: Readonly<Record<string, unknown>>;19+
refresh: boolean;20+
}