fix #82 Nest 8 bug.

上级 0715fe68
import { DynamicModule, OnModuleDestroy } from '@nestjs/common';
import { ModuleRef } from '@nestjs/core';
import { RedisModuleAsyncOptions, RedisModuleOptions } from './redis.interface';
import { RedisClient } from './redis-client.provider';
export declare class RedisCoreModule implements OnModuleDestroy {
private readonly options;
private readonly moduleRef;
constructor(options: RedisModuleOptions | RedisModuleOptions[], moduleRef: ModuleRef);
private readonly redisClient;
constructor(options: RedisModuleOptions | RedisModuleOptions[], redisClient: RedisClient);
static register(options: RedisModuleOptions | RedisModuleOptions[]): DynamicModule;
static forRootAsync(options: RedisModuleAsyncOptions): DynamicModule;
onModuleDestroy(): void;
......
......@@ -15,14 +15,13 @@ var RedisCoreModule_1;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RedisCoreModule = void 0;
const common_1 = require("@nestjs/common");
const core_1 = require("@nestjs/core");
const redis_client_provider_1 = require("./redis-client.provider");
const redis_constants_1 = require("./redis.constants");
const redis_service_1 = require("./redis.service");
let RedisCoreModule = RedisCoreModule_1 = class RedisCoreModule {
constructor(options, moduleRef) {
constructor(options, redisClient) {
this.options = options;
this.moduleRef = moduleRef;
this.redisClient = redisClient;
}
static register(options) {
return {
......@@ -43,15 +42,14 @@ let RedisCoreModule = RedisCoreModule_1 = class RedisCoreModule {
};
}
onModuleDestroy() {
const closeConnection = ({ clients, defaultKey }) => options => {
const closeConnection = ({ clients, defaultKey }) => (options) => {
const name = options.name || defaultKey;
const client = clients.get(name);
if (client && !options.keepAlive) {
client.disconnect();
}
};
const redisClient = this.moduleRef.get(redis_constants_1.REDIS_CLIENT);
const closeClientConnection = closeConnection(redisClient);
const closeClientConnection = closeConnection(this.redisClient);
if (Array.isArray(this.options)) {
this.options.forEach(closeClientConnection);
}
......@@ -67,6 +65,7 @@ RedisCoreModule = RedisCoreModule_1 = __decorate([
exports: [redis_service_1.RedisService],
}),
__param(0, common_1.Inject(redis_constants_1.REDIS_MODULE_OPTIONS)),
__metadata("design:paramtypes", [Object, core_1.ModuleRef])
__param(1, common_1.Inject(redis_constants_1.REDIS_CLIENT)),
__metadata("design:paramtypes", [Object, Object])
], RedisCoreModule);
exports.RedisCoreModule = RedisCoreModule;
......@@ -5,7 +5,6 @@ import {
Inject,
OnModuleDestroy,
} from '@nestjs/common';
import { ModuleRef } from '@nestjs/core';
import { RedisModuleAsyncOptions, RedisModuleOptions } from './redis.interface';
import {
createAsyncClientOptions,
......@@ -25,7 +24,8 @@ export class RedisCoreModule implements OnModuleDestroy {
constructor(
@Inject(REDIS_MODULE_OPTIONS)
private readonly options: RedisModuleOptions | RedisModuleOptions[],
private readonly moduleRef: ModuleRef,
@Inject(REDIS_CLIENT)
private readonly redisClient: RedisClient,
) {}
static register(
......@@ -51,7 +51,7 @@ export class RedisCoreModule implements OnModuleDestroy {
}
onModuleDestroy() {
const closeConnection = ({ clients, defaultKey }) => options => {
const closeConnection = ({ clients, defaultKey }) => (options) => {
const name = options.name || defaultKey;
const client = clients.get(name);
......@@ -60,8 +60,7 @@ export class RedisCoreModule implements OnModuleDestroy {
}
};
const redisClient = this.moduleRef.get<RedisClient>(REDIS_CLIENT);
const closeClientConnection = closeConnection(redisClient);
const closeClientConnection = closeConnection(this.redisClient);
if (Array.isArray(this.options)) {
this.options.forEach(closeClientConnection);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论