UNPKG

@hapiness/redis

Version:
43 lines 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const core_1 = require("@hapiness/core"); const Observable_1 = require("rxjs/Observable"); const managers_1 = require("./managers"); const debug = require('debug')('hapiness:redis'); class RedisExt { static setConfig(config) { return { token: RedisExt, config }; } /** * Initilization of the extension * Create the manager instance * * @param {CoreModule} module * @param {RedisConfig} config * * @returns Observable */ onExtensionLoad(module, config) { debug('load redis extension', config); return Observable_1.Observable .of(new managers_1.RedisClientManager(config)) .switchMap(redisClient => redisClient.createClient().map(() => redisClient)) .map(redisClient => ({ instance: this, token: RedisExt, value: redisClient })); } onShutdown(module, redisClient) { debug('SIGTERM received, shutdown redis'); return { priority: core_1.ExtensionShutdownPriority.NORMAL, resolver: redisClient.clientObs.quit() }; } } exports.RedisExt = RedisExt; //# sourceMappingURL=redis.extension.js.map