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 | 57x 57x 57x 99x 99x 33x 33x 33x | import { errors, RedisClient } from 'redis-smq-common'; import { ICompatibleLogger } from 'redis-smq-common/dist/types'; import { TConfig } from '../types'; export type TRegistryItems = { redis: RedisClient; logger: ICompatibleLogger; config: TConfig; }; export type TRegistry = { register<T extends keyof TRegistryItems>( key: T, value: TRegistryItems[T], ): void; getItem<T extends keyof TRegistryItems>(key: T): TRegistryItems[T]; reset(): void; }; let registryMap: Record<string, any> = {}; export const registry: TRegistry = { register<T extends keyof TRegistryItems>( key: T, value: TRegistryItems[T], ): void { Iif (registryMap[key]) { throw new errors.PanicError( `An item with key [${key}] is already registered`, ); } registryMap[key] = value; }, getItem<T extends keyof TRegistryItems>(key: T): TRegistryItems[T] { Iif (!registryMap[key]) { throw new errors.PanicError(`Item with key [${key}] is not registered`); } return registryMap[key]; }, reset(): void { registryMap = {}; }, }; |