UNPKG

koa-session

Version:

Koa cookie session middleware with external store support

76 lines (75 loc) 2.08 kB
import { Session } from './session.js'; import type { SessionOptions } from './index.js'; export declare class ContextSession { ctx: any; app: any; opts: SessionOptions; store: SessionOptions['store']; session: Session | false; externalKey?: string; prevHash?: number; /** * context session constructor */ constructor(ctx: any, opts: SessionOptions); /** * internal logic of `ctx.session` * @return {Session} session object */ get(): Session | null; /** * internal logic of `ctx.session=` * @param {Object} val session object */ set(val: Record<string, unknown> | null): void; /** * init session from external store * will be called in the front of session middleware * * @public */ initFromExternal(): Promise<void>; /** * init session from cookie * @private */ initFromCookie(): void; /** * verify session(expired or custom verification) * @param {Object} sessionData session data * @param {Object} [key] session externalKey(optional) * @private */ protected valid(sessionData: Record<string, unknown>, key?: string): boolean; /** * @param {String} event event name * @param {Object} data event data * @private */ emit(event: string, data: unknown): void; /** * create a new session and attach to ctx.sess * * @param {Object} [sessionData] session data * @param {String} [externalKey] session external key */ protected create(sessionData?: Record<string, unknown>, externalKey?: string): void; /** * Commit the session changes or removal. */ commit({ save, regenerate }?: { save?: boolean | undefined; regenerate?: boolean | undefined; }): Promise<void>; _shouldSaveSession(): "" | "changed" | "rolling" | "renew"; /** * remove session * @private */ remove(): Promise<void>; /** * save session * @private */ save(changed: boolean): Promise<void>; }