1 | "use strict";
|
2 | var __importDefault = (this && this.__importDefault) || function (mod) {
|
3 | return (mod && mod.__esModule) ? mod : { "default": mod };
|
4 | };
|
5 | Object.defineProperty(exports, "__esModule", { value: true });
|
6 | const warning_1 = __importDefault(require("warning"));
|
7 | const getBottenderConfig_1 = __importDefault(require("./shared/getBottenderConfig"));
|
8 | function getSessionStore() {
|
9 | const { session } = getBottenderConfig_1.default();
|
10 | const sessionDriver = (session && session.driver) || 'memory';
|
11 | const storesConfig = (session && session.stores) || {};
|
12 | switch (sessionDriver) {
|
13 | case 'memory': {
|
14 | const MemorySessionStore = require('./session/MemorySessionStore')
|
15 | .default;
|
16 | return new MemorySessionStore(storesConfig.memory || {}, session && session.expiresIn);
|
17 | }
|
18 | case 'file': {
|
19 | const FileSessionStore = require('./session/FileSessionStore').default;
|
20 | return new FileSessionStore(storesConfig.file || {}, session && session.expiresIn);
|
21 | }
|
22 | case 'mongo': {
|
23 | const MongoSessionStore = require('./session/MongoSessionStore').default;
|
24 | return new MongoSessionStore(storesConfig.mongo || {}, session && session.expiresIn);
|
25 | }
|
26 | case 'redis': {
|
27 | const RedisSessionStore = require('./session/RedisSessionStore').default;
|
28 | return new RedisSessionStore(storesConfig.redis || {}, session && session.expiresIn);
|
29 | }
|
30 | default: {
|
31 | const customSessionStore = storesConfig[sessionDriver];
|
32 | if (customSessionStore) {
|
33 | return customSessionStore;
|
34 | }
|
35 | warning_1.default(false, `Received unknown driver: ${sessionDriver}, so fallback it to \`memory\` driver.`);
|
36 | const MemorySessionStore = require('./session/MemorySessionStore')
|
37 | .default;
|
38 | return new MemorySessionStore(storesConfig.memory || {}, session && session.expiresIn);
|
39 | }
|
40 | }
|
41 | }
|
42 | exports.default = getSessionStore;
|
43 |
|
\ | No newline at end of file |