UNPKG

connect-redis

Version:

Redis session store for Connect

55 lines (49 loc) 1.97 kB
import { SessionData } from 'express-session'; import { Store } from 'express-session'; declare interface NormalizedRedisClient { get(key: string): Promise<string | null>; set(key: string, value: string, ttl?: number): Promise<string | null>; expire(key: string, ttl: number): Promise<number | boolean>; scanIterator(match: string, count: number): AsyncIterable<string>; del(key: string[]): Promise<number>; mget(key: string[]): Promise<(string | null)[]>; } export declare class RedisStore extends Store { client: NormalizedRedisClient; prefix: string; scanCount: number; serializer: Serializer; ttl: number | { (sess: SessionData): number; }; disableTTL: boolean; disableTouch: boolean; constructor(opts: RedisStoreOptions); private normalizeClient; get(sid: string, cb?: (_err?: unknown, _data?: any) => void): Promise<void>; set(sid: string, sess: SessionData, cb?: (_err?: unknown, _data?: any) => void): Promise<void>; touch(sid: string, sess: SessionData, cb?: (_err?: unknown, _data?: any) => void): Promise<void>; destroy(sid: string, cb?: (_err?: unknown, _data?: any) => void): Promise<void>; clear(cb?: (_err?: unknown, _data?: any) => void): Promise<void>; length(cb?: (_err?: unknown, _data?: any) => void): Promise<void>; ids(cb?: (_err?: unknown, _data?: any) => void): Promise<void>; all(cb?: (_err?: unknown, _data?: any) => void): Promise<void>; private _getTTL; private _getAllKeys; } declare interface RedisStoreOptions { client: any; prefix?: string; scanCount?: number; serializer?: Serializer; ttl?: number | { (sess: SessionData): number; }; disableTTL?: boolean; disableTouch?: boolean; } declare interface Serializer { parse(s: string): SessionData | Promise<SessionData>; stringify(s: SessionData): string; } export { }