redisess
Version:
Powerful redis session manager for NodeJS
111 lines (110 loc) • 2.37 kB
TypeScript
import { Backend } from './backend.js';
export declare namespace Session {
interface Options {
sessionId: string;
userId?: string;
ttl?: number;
}
}
export declare class Session {
private readonly _backend;
private readonly _sessionId;
private _userId;
private _ttl;
private _lastAccess;
private _expires;
/**
*
* @param {Backend} backend
* @param {Object} opts
* @param {string} opts.sessionId
* @param {string} [opts.userId]
* @param {number} [opts.ttl]
* @constructor
*/
constructor(backend: Backend, opts: Session.Options);
/**
* Retrieves session id value
*
* @return {string}
*/
get sessionId(): string;
/**
* Retrieves user id value
*
* @return {string}
*/
get userId(): string;
/**
* Retrieves Time-To-Live value
*
* @return {number}
*/
get ttl(): number;
/**
* Retrieves the time (unix) of last access
*
* @return {number}
*/
get lastAccess(): number;
/**
* Retrieves the time (unix) that session be expired.
*
* @return {number}
*/
get expires(): number;
/**
* Retrieves duration that session be expired.
*
* @return {number}
*/
get expiresIn(): number;
get valid(): boolean;
/**
* Retrieves idle duration in seconds
*
* @return {number}
*/
get idle(): number;
/**
* Reads session info from redis server
*
* @return {Promise}
*/
read(): Promise<void>;
/**
* Retrieves user data from session
*
* @param {string|Array<String>|Object<String,*>} key
* @return {Promise<*>}
*/
get(key: any): Promise<any>;
/**
* Stores user data to session
*
* @param {Object} values
* @return {Promise<number>}
*/
set(values: Record<string, any>): Promise<number>;
/**
* Stores user data to session
*
* @param {string} [key]
* @param {*} [value]
* @return {Promise<number>}
*/
set(key: string, value: any): Promise<number>;
/**
* Kills the session
*
* @return {Promise}
*/
kill(): Promise<void>;
/**
*
* @return {Promise}
* @private
*/
write(): Promise<void>;
private _prepareUserData;
}