All files / redis-smq-api/src/services index.ts

97.61% Statements 41/42
83.33% Branches 5/6
100% Functions 7/7
97.61% Lines 41/42

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 6857x 57x 57x 57x 57x   57x   57x 57x 57x 57x 57x 57x     32x         32x     57x 33x     57x 33x 19x 19x   33x     57x 15x 5x 5x   15x     57x 2x 2x 2x   2x     57x 3x 3x 3x   3x     57x 3x 3x 3x   3x    
import { MessagesService } from './messages.service';
import { QueuesService } from './queues.service';
import { ConsumerTimeSeriesService } from './consumer-time-series.service';
import { QueueTimeSeriesService } from './queue-time-series.service';
import { GlobalTimeSeriesService } from './global-time-series.service';
import { RedisClient } from 'redis-smq/dist/src/common/redis-client/redis-client';
import { PanicError } from 'redis-smq/dist/src/common/errors/panic.error';
 
let redisClient: RedisClient | null = null;
let messagesService: MessagesService | null = null;
let queuesService: QueuesService | null = null;
let consumerTimeSeriesService: ConsumerTimeSeriesService | null = null;
let queueTimeSeriesService: QueueTimeSeriesService | null = null;
let globalTimeSeriesService: GlobalTimeSeriesService | null = null;
 
function getRedisClient(): RedisClient {
  Iif (!redisClient) {
    throw new PanicError(
      `Redis client instance is required. Please initialize services first.`,
    );
  }
  return redisClient;
}
 
export function initServices(client: RedisClient) {
  redisClient = client;
}
 
export function messagesServiceInstance() {
  if (!messagesService) {
    const redisClient = getRedisClient();
    messagesService = new MessagesService(redisClient);
  }
  return messagesService;
}
 
export function queuesServiceInstance() {
  if (!queuesService) {
    const redisClient = getRedisClient();
    queuesService = new QueuesService(redisClient);
  }
  return queuesService;
}
 
export function consumerTimeSeriesServiceInstance() {
  if (!consumerTimeSeriesService) {
    const redisClient = getRedisClient();
    consumerTimeSeriesService = new ConsumerTimeSeriesService(redisClient);
  }
  return consumerTimeSeriesService;
}
 
export function queueTimeSeriesServiceInstance() {
  if (!queueTimeSeriesService) {
    const redisClient = getRedisClient();
    queueTimeSeriesService = new QueueTimeSeriesService(redisClient);
  }
  return queueTimeSeriesService;
}
 
export function globalTimeSeriesServiceInstance() {
  if (!globalTimeSeriesService) {
    const redisClient = getRedisClient();
    globalTimeSeriesService = new GlobalTimeSeriesService(redisClient);
  }
  return globalTimeSeriesService;
}