From c02269cc1f183e01b263678faa60b6d4e45fd56b Mon Sep 17 00:00:00 2001 From: Heiko Rothe Date: Tue, 20 Oct 2020 20:16:12 +0200 Subject: [PATCH] fix(cluster): improve null safety Closes #308 --- src/cluster/cluster.service.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/cluster/cluster.service.ts b/src/cluster/cluster.service.ts index 0160b9f..c8d62f8 100644 --- a/src/cluster/cluster.service.ts +++ b/src/cluster/cluster.service.ts @@ -24,7 +24,8 @@ try { } @Injectable() -export class ClusterService extends Democracy +export class ClusterService + extends Democracy implements OnModuleInit, OnApplicationBootstrap, OnApplicationShutdown { private readonly configService: ConfigService; private readonly config: ClusterConfig; @@ -119,7 +120,7 @@ export class ClusterService extends Democracy */ quorumReached(): boolean { const activeNodes = Object.values(this.nodes()).filter( - (node) => node.state !== 'removed' + (node) => node?.state !== 'removed' ); return !this.config.quorum || activeNodes.length >= this.config.quorum; } @@ -162,7 +163,7 @@ export class ClusterService extends Democracy if (!data.chunk && data.state === 'leader') { const leaders = Object.entries(this._nodes).filter( - (node) => node[1].state === 'leader' + (node) => node[1]?.state === 'leader' ); if (leaders.length > 1) {