connect-redis
Version:
Redis session store for Connect
55 lines (49 loc) • 1.97 kB
text/typescript
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 { }