core-mvc
Version:
Simple but powerful MVC framework for NodeJS.
34 lines (33 loc) • 1.35 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const inversify_1 = require("inversify");
const client_1 = require("@redis/client");
const redis_1 = require("../redis");
const assert_1 = __importDefault(require("../util/assert"));
const redis = new inversify_1.AsyncContainerModule(async (bind) => {
const createRedisClient = async () => {
(0, assert_1.default)(process.env.REDIS_HOST, 'REDIS_HOST must be defined');
const client = (0, client_1.createClient)({
url: `redis://${process.env.REDIS_HOST}:${process.env.REDIS_PORT || '6379'}`,
socket: {
reconnectStrategy(retries) {
if (retries < 60) {
return 1000;
}
return new Error('No retries left');
},
},
});
client.on('error', (error) => {
throw error;
});
await client.connect();
return client;
};
bind(redis_1.RedisClientService).toConstantValue(await createRedisClient());
bind(redis_1.RedisSubscriberClientService).toConstantValue(await createRedisClient());
});
exports.default = redis;