UNPKG

next-session

Version:

Simple promise-based session for Next.js

46 lines (35 loc) 1.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.expressSession = expressSession; exports.promisifyStore = promisifyStore; var _events = require("events"); var _util = require("util"); var _memoryStore = _interopRequireDefault(require("./memory-store.cjs")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // no-op for compat function expressSession(options) {} function ExpressStore() { _events.EventEmitter.call(this); } (0, _util.inherits)(ExpressStore, _events.EventEmitter); expressSession.Store = ExpressStore; function CallbackMemoryStore() { this.store = new Map(); } (0, _util.inherits)(CallbackMemoryStore, ExpressStore); CallbackMemoryStore.prototype.get = (0, _util.callbackify)(_memoryStore.default.prototype.get); CallbackMemoryStore.prototype.set = (0, _util.callbackify)(_memoryStore.default.prototype.set); CallbackMemoryStore.prototype.destroy = (0, _util.callbackify)(_memoryStore.default.prototype.destroy); expressSession.MemoryStore = CallbackMemoryStore; function promisifyStore(connectStore) { return { get: (0, _util.promisify)(connectStore.get).bind(connectStore), set: (0, _util.promisify)(connectStore.set).bind(connectStore), destroy: (0, _util.promisify)(connectStore.destroy).bind(connectStore), ...(connectStore.touch && { touch: (0, _util.promisify)(connectStore.touch).bind(connectStore) }) }; }