UNPKG

redisess

Version:

Powerful redis session manager for NodeJS

111 lines (110 loc) 2.37 kB
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; }